基于嵌入式STM32的Modbus RTU协议实现(2)
时间:2026-01-15
时间:2026-01-15
·34·仪表技术2014年第11期
式的主要优点是在相同波特率下其传输的字符的密度
每个信息必须连续传输。它的消息高于ASCII模式,帧格式如表1所示。
表1
起始位T1-T2-T3-T4
RTU消息帧格式
数据n个8Bit
CRC校验16Bit
结束符T1-T2-T3-T4
设备地址功能代码8Bit
8Bit
地址域:本设计中用到的Modbus功能码如表2所
示,信息地址包括8位(RTU),有效的从机设备地址范围0~247(10进制),各从机设备的寻址范围为1~247。主机把从机地址放入信息帧的地址区,并向从机
图1
系统硬件设计
接口能实现将数字量的控制信号转换成模拟量输出,
达到控制设备的目的。采集的数据可以在LCD液晶便于现场参数的调试和修改,同时也可以将屏上显示,
485、测量的数据通过RS-以太网传输至监控中心工作
站。JTAG接口用于在线仿真和软件调试。22.1
Modbus协议Modbus协议概述
把自己的地址放入响应信息的地寻址。从机响应时,
让主机识别已作出响应的从机地址。址区,
功能码:当主机向从机发送信息时,功能代码向从机说明应执行的动作。如读一组离散式线圈或输入信读一组寄存器的数据,读从机的号的ON/OFF状态,
诊断状态,写线圈(或寄存器)等。部分功能代码代表的操作如表2所示。
表2
功能码010203040506
名称读线圈读离散量输入读保持寄存器读输入寄存器写单个线圈写单个寄存器
Modbus功能代码
功能
读线圈的当前状态读取离散量输入的当前状态读取保持寄存器的内容读输入寄存器的内容将线圈的输出写为ON或OFF将二进制数写到一个保持寄存器
1979年Modbus协议由Modicon公司(现在是施
具有划时代、里程碑式的耐德电气的一个品牌)发明,
意义,从此掀起了工业控制网络技术的序幕。Modbus
是全球第一个真正用于工业现场的总线协议,近年来在控制器和测量仪表上也得到了大量地使用,目前已成为我国工业自动化领域的一种国际标准。Modbus
232、RS-422、RS-485通信接口和协议支持传统的RS-以太网接口。
Modbus通信协议采用主-从(Master-Slave)模型,
是一种应用层报文协议,可以在不同类型的总线或网而不管它们是经过何种网络进行通信的,在同络链接,
一通信网络上每个设备都有唯一的设备地址,并且只可以有多个从设备。主设备可单独能有一个主设备,
和从设备通信,也能以广播方式和所有从设备通信。如果是单独通信,从设备返回一应答消息作为回应,如则不作任何回应。果是以广播方式进行查询的,2.2
Modbus协议的数据帧
Modbus协议有两种传输模式:RTU模式和ASCII模式。ASCII模式中数据用ASCII码表示,通过冒号(ASCII码3AH)、0AH)字符回车换行(ASCII码0DH,采用LRC数据校验;RTU表示数据帧的开始和结束,
模式中数据用非压缩BCD码表示,通过时间标记来实
采用CRC数据校验。控现数据帧开始和结束的判定,
制器以RTU模式在Modbus总线上进行通信时,信息
该模中的每8位字节分成2个4位16进制的字符,
数据域:数据域和功能码密切相关,根据功能码的
不同而不同。
CRC校验:ModbusRTU采用循环冗余检验CRC方法计算错误校验码,按照CRC算法,使用标准的16位生成多项式对任意长度的信息字段校验出一个16位的校验码。2.3
ModbusRTU通信结构模型
本文用底层数据采集系统为依托建立检测平台采
利用ModbusRTU协议实现集标准的电压电流信号,
数据采集系统与计算机之间的通信。系统组网结构如数据采集系统为从站,主图2所示。以PC机为主站,
从站根据各自的编号向主站向从站发出取数据命令,
站返回各项采集的数据,主站将接收的数据处理后存入数据库。3
ModbusRTU协议的实现
ModbusRTU协议采用Master/Slave通信模型。在μC/OS-II操作系统环境下,实现ModbusRTU中PC端主站和MiniARM端从站之间的通信。