服务咨询电话
021-6608-0280

MODBUS编程说明

发表时间:2017-08-12 10:34作者:MUXI


关于慕兮部分产品使用MODBUS通信协议的说明


【设定的硬件连接特性】
采用RS422或RS485连接方式


【设置 】
装置通常作为从站(RTU)工作,需要设置一个大于等于 1 的站号
波特率: 9600/19200(可选)
1 bit start + 7/8 bit data +1/ 2 bit stop


【 支持的modbus协议部分】
功能 03 :读取保持寄存器 读取1个或2个保持寄存器中当前二进制值
功能 06 :写入保持寄存器 把具体二进值写入1个保持寄存器
功能 16  :写入保持寄存器 把具体二进值装入1个或2个保持寄存器
(其它部分不被支持)


【主站发来的数据报文格式】
Modbus的数据要求是高位在前,低位在后


- 读 0x03/读1个或2个字
Name        Length(byte)     Value
--------------------------------------------
Addr              1                   x
Func              1                  03
ParNo_H          1           x
ParNo_L           1           x
ParCount_H     1                  x      =0
ParCount_L      1             x      =1/2
CRC16_L           1             x
CRC16_H          1             x
--------------------------------------------
Total: 8 byte


- 写 0x06/写1个字
Name        Length(byte)     Value

--------------------------------------------
Addr                   1                   x

Func            1               06
ParNo_H        1                x
ParNo_L         1                  x
ParValue_H      1                x  
ParValue_L       1                x  
CRC16_L         1           x
CRC16_H        1           x
--------------------------------------------
Total: 8 byte


- 写 0x10/写1个或2个字的数据
Name        Length(byte)     Value

--------------------------------------------
Addr                    1                   x

Func             1                 10
ParNo_H           1                   x
ParNo_L            1                   x
ParCount_H      1                   x     =0
ParCount_L       1                n     n=1/2
ByteCount         1                2*n      
ParValue1_H     1                   x
ParValue1_L      1                   x
...
CRC16_L          1           x
CRC16_H         1           x
--------------------------------------------
Total: 9+2*n byte


【从站发出的数据报文格式 】

- 读 0x03/返回2个或4个字节的数据

Name       Length(byte)    Value
--------------------------------------------
Addr           1               x
Func         1              03
ByteCount       1               n    n=2/4
ParValue1_H   1                x  
ParValue1_L    1                x  
...
CRC16_L        1           x
CRC16_H       1           x
--------------------------------------------
Total: 5 byte+2*n

- 写 0x06 (返回的数据同送来的数据完全一样)

Name        Length(byte)   Value
--------------------------------------------
Addr           1               x
Func           1            06
ParNo_H       1            x
ParNo_L           1            x
ParValue_H     1            x  
ParValue_L      1            x  
CRC16_L          1        x  
CRC16_H       1       x
-------------------------------------------
Total: 8 byte


- 写 0x10 (返回的参数同送来的参数完全一样,但不包含数据,重新计算校验码)

Name      Length(byte)    Value
--------------------------------------------
Addr              1                x
Func            1              10
ParNo_H             1               x
ParNo_L              1               x
ParCount_H        1               x     =0
ParCount_L      1               n     n=1/2
CRC16_L      1          x
CRC16_H       1           x
--------------------------------------------
Total: 8 byte


分享到:
联系我们
公司地址:上海市普陀区绥德路175弄4号楼西南二楼 邮政编码:200331 客服邮箱:284568997@qq.com
服务热线
021-6608-0280
邹先生18930407797
吴女士13917245941
周先生13801773366
在线客服
QQ:284568997
服务时间:8:00-17:00