求助 200smart modbus通讯 数据读取异常问题

通讯应该成功了,40001 ,40002,。。。几个地址都试了,读取的数据不是0,就是1318926965,啥情况 ,换个了别的从站也是这样。。。

钻石用户推荐最佳答案

1、建议在不确定时用 MODSCAN32 连接从站,测试正确的数据格式。也许是显示格式的问题。
2、从描述来看,读到从站的数应该是一个浮点数,而不是一个双整数。将读上来的数用浮点数格式显示,看看是不是正确的结果。
另外可能此从站处理保持寄存器中浮点数的存储格式与西门子的浮点数存储格式不同。西门子的PLC遵循“高字节低地址、低字节高地址”的规约。
Modbus RTU的保持寄存器以“字”为单位,1个浮点型数据则由2个“字”构成。从站I软件在处理时可能会将保持寄存器的两个“字”互换位置,造成不能识别以西门子格式表示的浮点数。此时则可在S7-200 SMART CPU中编程将存入保持寄存器区的浮点数的高“字”和低“字”互换。交换时要借助一个字的中间变量。

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc291795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 上午12:54
下一篇 2020年10月31日 上午12:54

相关推荐