信捷XC系列用Modbus RTU读变频器频率,RS485接好后通信超时,站号波特率都对,怎么查?
信捷XC2-24T-E通过本体RS485口(A/B)接台达VFD-M变频器,用Modbus RTU读频率(变频器站号1,9600,8,N,1)。
程序用MODRW指令,S1=1(站号),S2=03(读保持寄存器),S3=2103H(频率地址),S4=1(读1个字),S5=D100。
上电后D100一直是0,通信超时标志M8122也不动作。
已确认A接A、B接B,终端电阻120Ω也加了,变频器参数P00=1、P88=1、P89=1已设。
请问XC这边还要设什么?
✓ 最佳回答
XC2本体485通信需先做通信参数初始化,否则用默认参数会超时。
按以下步骤:1)上电第一个扫描周期用M8002触发通信设置:MOV H81 D8120(H81=9600,8,N,1,若用8,E,1则H89,具体查手册D8120位定义),同时MOV K100 D8129(通信超时100ms)。D8120必须在通信前设置且只设一次。
2)MODRW指令的S3频率地址要确认:台达VFD-M的Modbus频率地址是2103H(对应Pr.03?
实际频率读出为2102H,设定频率2101H,请对照台达手册),地址错会返回异常码。
3)检查M8122/M8123:M8122是发送完成,M8123是接收完成,用MODRW时软件自动处理,但若你用RS指令手写就要自己置位。
4)接线确认:XC的485是A/B两线,台达也是A/B,若通信不上可对调A/B试(不同厂家A/B定义相反很常见)。
5)用电脑串口助手先单独测变频器,能读通再接PLC,排除变频器侧问题。
6)D8120设置后需断电重启或置M8002重新初始化才生效。