Modbus协议为什么地址偏移是1,而数据的值却超过了1个字节所存储的大小?以及Modbus Slave工具使用时为什么没有0x06和其他一些功能码的选择项

1、为什么Modbus协议的地址偏移是1,或者说为什么当前位置的数据大于了一个字节所能够保存的最大值,实际读取时,发现数据是正确的。

为什么
原因 :Modbus协议中,0x40000地址代表的是寄存器的地址,而不是实际数据的保存的地址。数据是保存在寄存器中的,而寄存器占有两个字节空间。或者换种说法,0x40000地址是索引,通过这个索引可以找到寄存器的位置,并从寄存器中获取数据。如下图
2

Modbus Slave工具没有没有0x06和一些其他的功能码可以选择

可以选择的功能码如下图:
为什么
如何选择其他功能码:如下图
1

2
希望有对需要的人有帮助。

连接设置时的停止位怎么选择

停止位选择1位,还是2位,怎么选?根据什么选?
3
我忘记是在哪里看到的了,停止位根据有无校验选择。
如果有校验位(不管什么校验),那么停止位选择2位
如果无校验位,那么停止选择1位

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值