搜索
bottom↓
回复: 7

modbus只读数据只能放输入输入寄存器?保持寄存器可以只读?

[复制链接]

出0入0汤圆

发表于 2018-4-12 09:22:14 | 显示全部楼层 |阅读模式
以往做的modbus从机数据都是只读,没有做06,16写命令,所以一直用的03码,
但是这次因为要做可读写的,但是我以前的数据因为用的03码而放在了保持寄存器里,
这次加上06,16码,发现这样的话,这些只读的参数也可以被修改,
我看了一些其他厂家的协议,发现好多都是用的03码,但是后面标注了只读,和读写,
这样的话,实际使用中,虽然你的协议标注了某些地址是只读的,但是如果程序里不加限制的话,
使用的人如果不小心发错了指令,且不是容易把本来只读的参数也修改了?
这就让我不解了,标准的modbus的协议里能区别保持寄存器是只读还是读写么?
我的理解就是如果只读的参数,应该放输入寄存器,而保持寄存器只放读写的,
看了好多厂家的协议,基本都是放在保持寄存器里只读和读写混用的,求大婶们指点解惑。

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2018-4-12 10:21:38 | 显示全部楼层
只读用04码,用03码的话程序里加以限制也没问题,很多第三方的主机只有03、06、16码,如果用04码的话那些主机就用不成了,用03码加限制就可以适用于所有主机

出0入0汤圆

 楼主| 发表于 2018-4-12 10:26:33 | 显示全部楼层
modbus 发表于 2018-4-12 10:21
只读用04码,用03码的话程序里加以限制也没问题,很多第三方的主机只有03、06、16码,如果用04码的话那些主 ...

包括国外的产品,协议也是混合使用的,但是我看国外的是一段读写,一段只读,
这个在程序里限制,搞起来有点麻烦,那么多地址,只读和读写的还是混在一起的。。
客户的协议定死了,地址不能动。。有的基本是一个读写,后面跟个只读。。
有啥经典的处理方法?

出0入0汤圆

发表于 2018-4-12 11:57:42 | 显示全部楼层
motoedy 发表于 2018-4-12 10:26
包括国外的产品,协议也是混合使用的,但是我看国外的是一段读写,一段只读,
这个在程序里限制,搞起来 ...

这种只读和读写区混在一块的情况如果不加限制,即使只读用04码,别人用03码地址错了照样会修改只读区的,必须要程序里限制

出0入0汤圆

发表于 2018-4-12 21:22:51 | 显示全部楼层
写过MODBUS程序的人告诉你,程序里必须限制,我写的专门有一个数组标志,每次写命令过来,都判断可不可以写。

出0入0汤圆

 楼主| 发表于 2018-4-13 07:47:50 | 显示全部楼层
mii 发表于 2018-4-12 21:22
写过MODBUS程序的人告诉你,程序里必须限制,我写的专门有一个数组标志,每次写命令过来,都判断可不可以写 ...

感谢,我也在想列个标志数组,每次有写命令时比对标志。。

出0入50汤圆

发表于 2018-4-13 08:43:44 | 显示全部楼层
我做的从机,习惯了把寄存器最后分到三个区块,只读,可读写,只写,把可读写的放在中间,这样可以读取的和可以写入的寄存器,在地址上是连续的,如果上位机有足够处理能力,可以一次性读取或者一次性写入,当然实际这样的客户应用不会存在,但是用modbus poll测试时,一次性读取所有寄存器在PC端观测,还是尤其实际使用价值的。方便别人的同时,也方便自己。

出0入0汤圆

 楼主| 发表于 2018-4-13 11:23:06 | 显示全部楼层
ilikemcu 发表于 2018-4-13 08:43
我做的从机,习惯了把寄存器最后分到三个区块,只读,可读写,只写,把可读写的放在中间,这样可以读取的和 ...

如果自己定协议肯定是这样处理最好了,但是客户定协议就各种崩溃。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 12:46

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

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