项目要求实时记录第三方流量计的数据,手里有个226,通过标准指令库和流量计通讯,经销商给出的地址如下:压力:0001-0002 long 两位小数点,累计流量:0011-0014 unsigned long long 三位小数点,瞬时流量:0023-0024 unsigned long 三位小数点(因地址表的图片大于1MB无法上传),我想问用指令库时Addr管脚应该写多少?count管脚又该写多少?比如累计流量,三位小数点是啥意思?请指教!
问题补充:
问题补充:经销商给出的地址表中最后有这么一句话:在使用MODSCN32测试时需要在上述列表的基础上加1测试,例如0001-0002显示压力,但是在用MODSCN32测试时需要需要把输入0002-0003显示压力。这个加1是否就是偏移量啊?
最佳答案
1、分别读时:
压力:0001-0002 long 两位小数点
Addr管脚 :40001 count管脚:2
累计流量:0011-0014unsigned long long 三位小数点
Addr管脚 :40011 count管脚:4
瞬时流量:0023-0024 unsigned long 三位小数点
Addr管脚 :40023 count管脚:2
另外,你先用 MODSCAN32 去确认仪表保持寄存器的读。测试时还可以测试到仪表地址有没有上偏移或者下偏移现象,如果有上面给出的Addr管脚也要作相应的偏移。测试通了,再写PLC的通讯程序,按这种分段读是要轮循的。MODSCAN32可以在网上去找。
2、如果仪表这0001到0024都允许读,而且只有一块仪表,可以一次性读来,不有轮循做也可以。同样要注意寄存器地址有没有偏移现象。
3、S7-200 Modbus RTU 通信 内有轮循实例(S7-200的可以参考)
http://www.ad.siemens.com.cn/service/article/S7-200/S7-200modbus/Default.aspx
补充:
是下偏移,ADDR 脚也要做相应的调整。
提问者对于答案的评价:
谢谢!我去试试
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc366701.html