Modbus目录
1.Modbus通信协议简介
基于RS485总线的通信协议。其物理层为 RS232/ RS422/ RS485的接口标准。
modbus通信协议是主从异步半双工通信协议。采用主从式的通信结构,可使一个主站对多个从站双向通信。主站可单独和从站通信,也可广播式和所有从站通信。
modbus某些特性是固定的:信息帧结构,帧顺序,通讯错误,异常情况处理,执行的功能码。
modbus某些特性是可选的:传输介质,波特率,字符奇偶校验,停止位个数,参数字址定义。
Modbus协议通信格式
地址码范围:01~1F (00为广播方式)
数据区格式:(前)地址,(后)内容
功能码及其含义
功能码 | 名称 | 功能 |
---|---|---|
H01 | 读线圈寄存器 | 读取线圈寄存器的状态 |
H02 | 读离散输入寄存器 | 读取离散输入寄存器的状态 |
H03 | 读保持存储器 | 读取一个或多个输出寄存器值 |
H04 | 读输入寄存器 | 读取一个或多个输入寄存器值 |
H05 | 写单个线圈寄存器 | 强制一个输出开关量状态 |
H06 | 写单个保持寄存器 | 把字写入一个输出寄存器 |
H0F | 写单个保持寄存器 | 强制一组连续输出开关量状态 |
H10 | 写多个保持寄存器 | 写入一组连续输出寄存器值 |
常用功能码H03
读取一个或连续多个寄存器值
常用功能码H06
写入一个值到寄存器中
常用功能码H10
写入多个值到连续寄存器中
Modbus通信模式
Modbus通信协议提供了ASCII和RTU(远程终端单元)两种通信模式。
ASCII模式:允许字符间的时间间隔长达1s,不会出现错误。
RTU模式:相同波特率下传输的字符密度高于ASCII模式,每个信息必须连续传输。
2.ASCII通信模式
ASCII通信模式格式约定
起始位:1位
数据长度:7位,低位先送
校验位:1位(有校验),0位(无校验)
停止位:1位(有校验),2位(无校验)
波特率:可选
起始码 | 地址码 | 功能码 | 数据区 | 校验码 | 停止码 |
---|---|---|---|---|---|
: |