问题描述:
ATV630、ATV650、ATV660、ATV680、ATV6A0、ATV6B0、ATV930、ATV950、ATV960、ATV980、ATV9A0、ATV9B0变频器与M241走Modbus/TCP通信,为什么无法用WRITE_READ_VAR直接寻址?所属产品线:
ATV御程系列变频器解决方法:
使用WRITE_READ_VAR功能块时,需要通过ADDM功能块把地址字符串转换成ADDRESS 结构,这样WRITE_READ_VAR功能块才能识别正确的地址。例程如下:
注意:Modbus/TCP通信时,地址字符串AD1里为'3{192.168.1.2}',3为以太网端口号,192.168.1.2为变频器IP地址,此时默认的UnitID是255,代表功能块使用的是IO scanner,WRITE_READ_VAR的起始地址(FirstWriteObj和FirstReadObj管脚)从0开始,映射变频器IO scanner表内的32个字,所以不能直接寻址8501这样的寄存器地址。
如果需要直接寻址8501这样的寄存器地址,需要将地址字符串AD1改为:'3{192.168.1.2}1',最后加的1代表变频器Modbus串行通信的从站地址,变频器里要设置为对应的值,重新送电使其生效。这样UnitID就变成1了,此时就可以在WRITE_READ_VAR的起始地址就可以填8501这样的地址了。
以上内容同样适用于御程系列ATV600 ATV900的其它子系列变频器。
是否有帮助?