当前位置: 主页 > PLC控制

Wincc 7.0 关于 ModbusTCP的问题

wincc下,MODBUSTcpCPU类型下有三种,各是什么意思?另外。我设置如下:
CPU:Premium,
服务器:192.168.0.18。
端口502,
远程从站地址1其它默认。
建立数据变量为NewTag_1,数据为浮点数32位,地址区域为保持寄存器,%MW设置为1。
我转串口后,再用串口检测出来后数据如下:01031A810001D33A。但是用ModScan检测出来的数据倒是正常且有回复数据。请问一下,哪里设置错了。其它的CPU类型设置后第一两次正常但随后不正常数据。谢谢

问题补充:
奇怪就在这里。我分明是浮点数,发出的应该是00001地址才对,且数据长度为0002才对。但是Wincc里是没有奇偶校验的啊。

最佳答案

先说楼主串口检测到的报文01031A810001D33A,01代表Modbus从站地址为1,03代表读取保持寄存器,1A81代表保持寄存器地址为6785,对应PremiumPLC地址为%MW6784(PremiumPLC遵从IEC0地址编码),0001代表读取的数据长度;D33A代表CRC校验码。
现在就可以看到和楼主读写有差别的地方:
1/楼主的实际读写地址为%MW1,而发出的报文为%MW6784;
2/实际读取的是浮点数,而发出的报文只读取了1个保持寄存器即1个字,因此,楼主要确认上述数据是否设置正确,另外注意串口的奇偶校验是否正确;

提问者对于答案的评价:
其实不论什么设置都输出一样的指令。我怀疑是那个Wincc安装的问题造成的。

  • 关注微信

猜你喜欢

微信公众号