三个问题,第一,Modbus地址是5位还是6位?第二,3区和4区哪个用来读模拟量输入?

3区是读输入寄存器,4区是连续读数据寄存器的值。第三,Modbus地址怎么对应?要真正明白的人士给予回答,万分感谢!必给高分!

一、Modbus地址其实指的是各类寄存器的设备编号,为5位十进制数,各区的编号从1到9999,即:
● 00001 ~ 09999 :离散量输出继电器编号
● 10001 ~ 19999 :离散量输入继电器编号
● 30001 ~ 39999 :模拟量输入寄存器编号
● 40001 ~ 49999 :保持型输出寄存器编号
二、3区是读模拟量输入寄存器,4区是用于写数据到输出寄存器。
三、Modbus地址虽然是5位十进制数,但由于功能码的定向作用,如功能码01/05/15就只能操作0X区,不会操作其他区,所以编程时只需要后4位数,而且要把它换成16进制地址(地址从0开始),即:
通讯帧里的设备地址=(4位十进制设备编号-1)转换成16进制
如用功能码02读取1区中编号为10012的输入继电器的状态,通讯帧里的设备地址就要转换成:
0012-1=(0011)十进制 =(000B)十六进制
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-15
1.MODBUS地址是5位还是6位取决于设备。以标准地址访问4X保持寄存器,地址范围只能是40001-49999;若支持扩展地址,则访问4X保持寄存器的地址范围可以是400001-465535;
2.用3X输入寄存器还是4X保持寄存器来访问设备的模拟量输入通道的值,也是取决于设备;有一些设备并不支持完整的MODBUS从站协议,所以对3X输入寄存器的访问请求可能不会正常响应,但访问4X保持寄存器则是有效的;也有一些设备既可以通过3X输入寄存器,也可以通过4X保持寄存器,来访问设备的输入通道;
第2个回答  2012-12-15
Modbus是一种单主站的主/从通信模式。Modbus网络上只能有一个主站存在,主站在 Modbus网络上没有地址,从站的地址范围为 0 -
247,其中 0 为广播地址,从站的实际地址范围为 1 - 247。 Modbus通信标准协议可以通过各种传输方式传播,如
RS232C、RS485、光纤、无线电等。
Modbus具有两种串行传输模式,ASCII 和 RTU。它们定义了数据如何打包、解码的不同方式。支持 Modbus 协议的设备一般都支持 RTU 格式。通信双方必须同时支持上述模式中的一种。
相似回答