登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:西门子1500怎样读取连续的不同数据类型的MODBUS地址
点击:1405 回复: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
工控新闻
《中控技术社会减排贡献量化方法学1.0》正式发布
2024年汉诺威工博会聚焦工业可持续发展
西门子推出首款面向工程设计的生成式人工智能产品
MARGO计划:以全新开放标准,提升工业自动化的边缘互操作性
黄仁勋最新对话:人形机器人将成为主流,售价会跟廉价汽车差不多
汇川技术发布2023年年报&2024年一季度报
西门子王海滨:以科技创新为内核的新质生产力驱动中国工业迈向新阶段 ——写在第77届汉诺威工业博览会之际
2024汉诺威工业展:施耐德电气以软件、自动化和电气化铸就工业影响力
更多新闻资讯