登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:西门子1500怎样读取连续的不同数据类型的MODBUS地址
点击:1665 回复:7
楼主
编辑
引用
管理
truezhang
前一阵要读取一个流量表的数据,通讯方式是MODBUS RTU,地址是40001开始的20个字节,里面的数据类型有整型,实型,双整型,我想一次性把这些数据都读上来该怎么做?在博图的DB块里分别试定义了字节型、整型、双整型、实型这些数据类型,但每次读上来的数都会至少有一个出错,例如数据块定义成整型,读上实型数据就和表上显示的不准...最后用的笨办法是用了三次MODBUS_MASTER指令,对应三个不同数据类型的DB块,才把仪表的数读上来,但这种办法太麻烦了,不知有没一次性读上来的方法?
19-08-17 23:21
1楼
编辑
引用
管理
大蜜蜂
本来就是要这样操作的。
19-08-18 08:14
2楼
编辑
引用
管理
zhujilucj
你哪里设置不对吧,我用1200读取流量计的不同数据用过,可以的啊
19-08-18 08:36
3楼
编辑
引用
管理
965528555
通讯方式是MODBUS RTU,地址是40001开始的20个字节,里面的数据类型有整型,实型,双整型
你应该将这20个字节的地址先按字的方式连续读上来。然后再转换成整型,实型,双整型
19-08-18 10:59
4楼
编辑
引用
管理
truezhang
引用
965528555
在 2019/8/18 10:59:14 发言
【内容省略】
试过好多种数据类型,但都不行。用的是CONV转换指令,例如以字的方式读到DB区后,我用CONV指令把DB区指定地址转到MD区,转换后的值会和实际差很远。
19-08-18 11:57
5楼
编辑
引用
管理
guanyumou
Modbus基本数据类型就单字和位,读取4区数据的时候都是先按单字连续读过来,然后你再结合具体寄存器含义进行处理
19-08-18 12:14
6楼
编辑
引用
管理
osp321
通讯肯定没问题,要不就是楼主转换的不对,要不就是数据还有系数比之类的。
楼主转换时,看看是不是和设备数据中的高低字节是反的呢?
19-08-18 12:43
7楼
编辑
引用
管理
truezhang
可惜是二个月前发生的事了,有些细节记不清楚了,反正对应数据类型按单个读是没有问题的,就是连续读上来,数据类型不对数据就差很远。
19-08-19 10:31
工控新闻
施耐德电气:以AI赋能自动化生产向自主化运营转型
卡奥斯与Gartner联合发布首份基于灯塔工厂最佳实践的工业大模型白皮书
瑞萨电子推出64位RZ/G3E MPU, 专为需要AI加速和边缘计算的高性能HMI系统设计
意法半导体计划以 9.5 亿美元收购恩智浦 MEMS 微机电传感器业务
稚晖君在WAIC主论坛发布“灵渠OS”开源计划
霍尼韦尔公布2025年第二季度业绩 更新全年指导范围
埃斯顿自动化携手华晟经世,共创智能制造服务新生态
引领制造业智能化转型!宝信软件重磅发布“AI+制造”宝联登工业智算云平台
更多新闻资讯