搜索
bottom↓
回复: 8

有关modbus读不连续的寄存器数据怎么办?

[复制链接]

出0入0汤圆

发表于 2011-1-24 09:44:04 | 显示全部楼层 |阅读模式
设备定义了1000,1600,1700的寄存器号,如果我读起始的寄存器号为1000,个数为3;那么这时候设备要怎么响应啊?是正确读出1000,1600,1700寄存器的值;还是报错?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-1-24 10:59:53 | 显示全部楼层
如果你用工控软件这样操作是读不上你要的数据的,报不报错就看你下位机的响应,要是没有做相应的响应,工控软件就告诉你连接错误或无设备无响应(个人理解)

出0入0汤圆

 楼主| 发表于 2011-1-24 11:28:28 | 显示全部楼层
也就是说必须读寄存器必须是连续的了,否则就没有意义了吧。我看了modbus协议里面好像有讲到可以包括不连续的寄存器.

(原文件名:不连续的寄存器.JPG)

出0入0汤圆

发表于 2011-1-24 11:41:09 | 显示全部楼层
这个我还真没弄过,那样看你上位机用的是什么软件了,看此软件是否支持。

出0入0汤圆

发表于 2011-1-24 12:11:54 | 显示全部楼层
不会报错,只能分3次读了

出0入0汤圆

发表于 2011-1-24 18:53:43 | 显示全部楼层
要看对方协议怎么来编写的。可以让报异议,也可以不报异议。

出0入0汤圆

发表于 2011-1-24 19:11:00 | 显示全部楼层
协议的意思应该是:
如果读1000 开始的三个地址比如 1000,1002,1004,如果使用读多寄存器功能,假设上位机设置读5个连续地址,
那么1000,1001,1002,1003,1004 这5个会连续读上来,只取你需要的即可。

出0入0汤圆

发表于 2014-2-10 18:45:22 | 显示全部楼层
Modbus协议只支持连续地址读取,编程的时候,如果一次通讯较长连续地址的时间大于分段读取的时间,那就分段读取,也就是说读取数据的长度是个变量,你事先设置的,取决于波特率和从机反应总时间,系统要通讯的不连续地址间隔大于这个长度,就分几次读,

出0入0汤圆

发表于 2014-2-10 18:47:16 | 显示全部楼层
西门子的PPI MPI是支持一个通讯数据帧,读取若干任意不连续地址的,协议支持不连续读写
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 17:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表