s7200通过MODBUS库与仪表通讯,程序与另一个仪表测试过,通讯正常。第二个仪表(型号不同)通讯就一直报警102,仪表地址是浮点数,请问这是怎么回事
问题补充:
这是图和程序
图片说明:
最佳答案
102错误指,从站不支持数据地址: “地址”(Addr) 加上“计数”(Count) 的请求地址范围超出从站允许的地址范围。
第二个仪表通讯部分程序有问题。
浮点数有两种存储方式,一是用两个word,在modbus里就需要用到两个寄存器号。通讯时同时操作连续的两个寄存器,然后合并为一个双字及得到浮点数了。二是浮点数用一个word存储,系统默认有几个小数点,这个通讯时先按一个寄存器来通讯,然后乘一个系数修正小数点。
提问者对于答案的评价:
还是没解决,应该是仪表设置有问题,同样的程序另一块仪表就能通讯正常,还是感谢你的解答
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc370362.html