登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:西门子PLC的MODBUS通信

点击:1839 回复:25

读1号地址的设备,读34113这个地址,读到的数据放在VW250里面,modbus协议中3XXXX的数据是啥类型来着我忘了,不过仪表的地址一般都在4XXXX的保持寄存器里,而且数据是整数类型
18-03-15 16:10
读取的地址是对的,我是按照仪表的通信手册算出的地址,可以看看智能仪表的手册。
18-03-15 20:56

引用 hongdi13 在 2018/3/13 21:05:13 发言【内容省略】

终于把你的文档下载下来了!或许是我网络问题吧!
如果这个流量计或许03和04功能码都支持的话!寄存器编号你填写34113、44113或者404113都可以,支持03功能码的话就填44113或者404113;支持04功能码的话就填34113!
最后修改:2018/3/16 21:58:29
18-03-16 21:45

引用 勇子RjtogCHS 在 2018/3/15 8:48:22 发言【内容省略】

寄存器计数Count是2没错!流量计说明书写的很清楚,瞬时流量占用2个寄存器,它是单精度浮点数!
18-03-16 21:46

引用 121111115 在 2018/3/15 16:10:19 发言【内容省略】

这个瞬时流量是浮点数,所以寄存器计数Count是2,所以读出的数据会保存在VW250、VW252组成的VD250里(当然也有可能需要高低字互换!)!另外,现在仪表、PLC等做底层Modbus协议的时候,有一些是不区分01和02功能码、不区分03和04功能码!如果楼主填写的34113可以读出数据来就证明此流量计同时支持03和04功能码!当然,如果34113这个读不出正确的数据则需要改成44113或者404113!数据类型不见得都是整数的!有些仪表是将浮点数放大后变为整数的,有些则直接占用两个寄存器为实际浮点数!
最后修改:2018/3/16 21:57:15
18-03-16 21:50

引用 hongdi13 在 2018/3/15 20:56:54 发言【内容省略】

刚认真看了下手册,这个流量计只支持04功能码,那么地址为34113
附件 untitled1.jpg
最后修改:2018/3/16 21:57:05
18-03-16 21:53

引用 hongdi13 在 2018/3/13 21:06:32 发言【内容省略】

可以用串口调试助手测试一下,假设流量计站号为1的情况下,发如下两条命令都试试:
01 03 10 10 00 02 C1 0E
01 04 10 10 00 02 74 CE
看看流量计有没有返回?!
前提是流量计通信参数和串口调试助手一致、且通信接线OK
18-03-16 22:03

引用 PLC-hmi 在 2018/3/15 5:25:51 发言【内容省略】

流量计如果支持04功能码的话,那么地址就应该是34113:
Modbus中01功能码是对寄存器编号为000001开始的寄存器进行读操作
Modbus中02功能码是对寄存器编号为100001开始的寄存器进行读操作
Modbus中03功能码是对寄存器编号为400001开始的寄存器进行读操作
Modbus中04功能码是对寄存器编号为300001开始的寄存器进行读操作
18-03-16 22:06
还是有点纠结34113,这个感觉对么?表情
18-03-17 07:19
忘了一点西门子PLCmodbus通讯地址有偏移,把你算完的地址+1试试,浮点数的话把count改4
18-03-18 18:09

上一页 下一页

工控新闻

更多新闻资讯