- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
MODBUS通信协议
目 录
TOC \o 1-4 \h \z \u 2345 1. 主从模式Modbus 协议 3
10234 1.1 主从网络 3
22088 1.2 编码系统 3
28430 1.3 从机(称重控制器)设置 3
11741 1.4 主机设置 4
14713 1.5Modbus ASCII通信格式 5
21560 1.5.1读寄存器命令0x03 5
18994 例1.5.1.1 通过0x03命令读总重和净重数据 6
22736 1.5.2写单个寄存器命令0x06 7
20933 例1.5.2.1 通过0x06命令写22号目标值寄存器 7
21800 1.5.3写多个寄存器命令0x10 8
10793 例1.5.3.1 通过0x10命令写校准重量 9
20438 1.6 Modbus RTU通信格式 10
27184 1.6.1读寄存器命令0x03 10
19631 例1.6.1.1 通过0x03命令读毛重、净重数据 11
21883 1.6.2写单个寄存器命令0x06 12
7016 例1.6.2.1 通过0x06命令写目标值 12
5408 1.6.3写多个寄存器命令0x10 13
16428 例1.6.3.1 通过0x10命令写校准重量 14
18013 附录1. LRC的生成 15
28151 附录2. CRC的生成 16
1. 主从模式Modbus 协议
1.1 主从网络
RS232:N=1;RS485:N≤31;Ethernet;CANBUS
RS232:N=1;RS485:N≤31;Ethernet;CANBUS
。。。
2号从机
N号从机
主机IPC/PLC
控制器
控制器
1号从机
控制器
1.2 编码系统
ASCII码
十六进制ASCII码字符0–9(0x30-0x39),A–F(0x41-0x46)。
每个8位字节均作为两个ASCII码字符发送。
RTU
采用十六进制发送。
字节格式
1个起始位。
8个数据位(最低位先发送)。
1位用于奇偶校验(偶校验/奇校验/无校验)。
1个结束位。
误差校验域
ASCII码采用纵向冗余校验(LRC)。参见附录1。
RTU码采用循环冗余校验(CRC)。参见附录2。
波特率
1200/2400/4800/9600/19200bps。
1.3 从机(称重控制器)设置
将“从机地址”设置为00-99。
将“通信模式”设置为“主从式”。
将“波特率”设置为“1200/2400/4800/9600/19200bps”。
将“奇偶校验”设置为“偶校验/奇校验/无校验”。
1.4 主机设置
主机软件中的从机地址与从机控制器地址一致。
“编码系统”参数与从机(称重控制器)一致。
1.5Modbus ASCII通信格式
1.5.1读寄存器命令0x03
查询格式:
域名 ASCII码[Hi-Lo]
起始 1个字符[0x3A]
从机地址 2个字符
命令 2个字符[0x30 33]
起始寄存器地址 4个字符[=起始寄存器号减1]
寄存器数量 4个字符
LRC校验 2个字符
结束 2个字符[0x0D 0A]
响应格式:
域名 ASCII码[Hi-Lo]
起始 1个字符[0x3A]
从机地址 2个字符
命令 2个字符[0x30 33]
字节计数 2个字符
起始寄存器数据 2个字符
…
终止寄存器数据 2个字符
LRC校验 2个字符
结束 2个字符[0x0D 0A]
例1.5.1.1 通过0x03命令读总重和净重数据
从01号从机控制器的0001-0004号寄存器中读取数据(寄存器数量:4;字节计数:8)。
参见附录3。
数据名 类型 寄存器号 数值[十进制] [十六进制] [ASCII码]
总重 Long 0001–0002g 01 29 68 B9 30 31 32 39 36 38 42 39
净重 Long 0003–0004g 01 29 68 B9 30 31 32 39 36 38 42 39
查询:
域名 ASCII码[Hi-Lo]
起始 3A
从机地址 30 31
命令 30 33
起始寄存器地址 30 30 30 30 [起始寄存器号0001减1=0x00 00]
寄存器数量 30 30 30 34
LRC校验 - -
结束 0D 0A
响应:
域名 ASCII码[Hi-Lo]
起始 3A
从机地址 30
原创力文档


文档评论(0)