登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:西门子1500怎样读取连续的不同数据类型的MODBUS地址

点击:1405 回复:7

前一阵要读取一个流量表的数据,通讯方式是MODBUS RTU,地址是40001开始的20个字节,里面的数据类型有整型,实型,双整型,我想一次性把这些数据都读上来该怎么做?在博图的DB块里分别试定义了字节型、整型、双整型、实型这些数据类型,但每次读上来的数都会至少有一个出错,例如数据块定义成整型,读上实型数据就和表上显示的不准...最后用的笨办法是用了三次MODBUS_MASTER指令,对应三个不同数据类型的DB块,才把仪表的数读上来,但这种办法太麻烦了,不知有没一次性读上来的方法?
19-08-17 23:21
本来就是要这样操作的。
19-08-18 08:14
你哪里设置不对吧,我用1200读取流量计的不同数据用过,可以的啊
19-08-18 08:36
通讯方式是MODBUS RTU,地址是40001开始的20个字节,里面的数据类型有整型,实型,双整型
你应该将这20个字节的地址先按字的方式连续读上来。然后再转换成整型,实型,双整型
19-08-18 10:59

引用 965528555 在 2019/8/18 10:59:14 发言【内容省略】

试过好多种数据类型,但都不行。用的是CONV转换指令,例如以字的方式读到DB区后,我用CONV指令把DB区指定地址转到MD区,转换后的值会和实际差很远。
19-08-18 11:57
Modbus基本数据类型就单字和位,读取4区数据的时候都是先按单字连续读过来,然后你再结合具体寄存器含义进行处理
19-08-18 12:14
通讯肯定没问题,要不就是楼主转换的不对,要不就是数据还有系数比之类的。
楼主转换时,看看是不是和设备数据中的高低字节是反的呢?
19-08-18 12:43
可惜是二个月前发生的事了,有些细节记不清楚了,反正对应数据类型按单个读是没有问题的,就是连续读上来,数据类型不对数据就差很远。
19-08-19 10:31

工控新闻

更多新闻资讯