Modbus通讯协议:在自动化领域我们常用RTU模式

2021-12-31 08:46:05 admin 252

  Modbus协议可以说是工业自动化领域应用最广泛的通信协议。由于其开放性、可扩展性和标准化,它已经成為壹个通用的工业标准。有了它,不同厂家的产品可以简单可靠地接入网络,实现系统的集中监控和分散控制功能。

目前,Modbus协议主要使用ASCII、RTU、TCP等,未指定物理层。目前,Modbus常用的接口形式主要有RS-232C、RS485和RS422以及RJ45接口。Modbus的ASCII和RTU协议规定了消息和数据的结构以及命令和响应模式。Modbus数据通信采用主/從模式(主/從),即主设备发送数据请求报文,從设备在收到正确报文后可以向主设备发送数据以响应请求;主机也可以直接发送消息修改從机数据,实现双向读写。

在串行通信中,“波特率”用于描述数据传输速率。國际上有壹个标准波特率系列:110、300、600、1200、1800、2400、4800、9600、14.4kbps、19.2kbps、28.8kbps、33.6kbps和56kbps。例如,9600bps指每秒传输的9600位,包括字符和其他必要位,例如起始位、停止位、奇偶校验位等。

在自动化领域,我们经常使用RTU模式。RTU模式下每个字节的格式:

编码系统:8位贰進制、十陆進制0-9、A-F

数据位:1个起始位

8位数据,低位优先

奇偶校验時為1位;0位無奇偶校验

1个带验证的停止位;未经验证的2位停止位

错误检查区域:循环冗余检查(CRC)

從机地址设置:信息地址包括2个字符(ASCII)或8位(RTU),有效的從机设备地址范围為0-247(十進制)。

功能代码设置:信息帧的功能代码包括字符(ASCII)或8位(RTU)。有效代码范围1-225(十進制);

数据区内容:数据区有兩个十陆進制数据位,数据范围為00-FF(十陆進制)。根据网络串行传输的方式,数据区可以由壹对ASCII字符或壹个RTU字符组成。

RTU模式下的消息帧:

5g/4g工业路由网关

Modbus功能代码:

5g/4g工业路由网关

Modbus功能代码和数据类型对应表:


5g/4g工业路由网关

在RTU模式下读取整个数据的示例:

5g/4g工业路由网关


Modbus通讯协议分析:主机发送指令,访问從机地址為1,使用功能代码03(读取保持寄存器)。起始地址的高8位和低8位表示要读取的模拟量的起始地址(起始地址為0)。例如,示例中的起始地址是38,十進制是56。寄存器数量:高8位和低8位:表示從起始地址读取的模拟量。这个例子是壹个模拟量。请注意,在返回的信息中,模拟量需要返回兩个字节。错误检查是CRC检查。

從站响应:设备地址和命令号与上述相同。Bytesreturned(返回字节):表示数据的字节数,即数据1,2是N中N的值。在本例中,返回模拟量的数据。因為模拟量需要2个字节,所以总共有2个字节。数据高位和低位字节:41和24代表壹个模拟量的返回值,即十進制的16676。错误检查是CRC检查。


标签: modbus
网站首页
解决方案
产品中心
在线咨询