Modbus RTU通讯协议在流浆箱控制系统中的应用
1 引言
现场总线技术是当今自动化领域发展的热点之一,是实现工业控制网络化的重要技术。许多自动化公司都开发了多种现场总线技术标准,例如Profibus,LonWorks,Modbus等,Profibus,LonWorks总线功能强,可靠性高,但同时价格也比较昂贵,比较适用于大中型控制系统。而基于RS485接口的Modbus通讯协议较适用于小型控制系统或单机控制系统,为实现低成本,高性能的主从式计算机网络监控提供了可能。
Modbus协议是MODICON公司开发的开放式现场总线通信协议,它符合OSI标准协议集中数据链路层规定的高级数据链路控制协议,但做了简化处理。由于其功能比较完善而且使用简单,数据易于处理,协议开放,因而在各种智能设备中被广泛采用。
2 应用背景
在纸张抄造的过程中,成纸的均匀度取决于纤维在流浆箱中的分散程度和流浆箱唇板开口的均匀度。在车速超过250米/分的纸机上,必须配备气垫式流浆箱,其主要控制参数是总压、浆位和浆速/网速比。控制总压的目的是为了使从流浆箱流送到网上的纸浆流量和流速均匀稳定,控制浆位的目的是为了获得适当的纸浆流域,以减少横流和浓度的变化。产生和保持可控的喘流以限制纤维的絮聚。由于流浆箱控制系统为强耦合系统,在总压调节时会影响浆位,而在浆位调节时又会影响总压,若处理不当会引起振荡,或持续性的波动,会严重影响抄纸质量,故需要解耦控制。
流浆箱控制系统结构如图1所示,其中控制器选用ABB AC31 50系列PLC,由于解耦控制算法在上位机中实现,而且对流浆箱控制系统调节的快速性有一定要求,这样就需要高性能,低成本的通讯总线来完成上位机与PLC的快速数据交换。
ABB AC31 50系列PLC具有两个串行通讯端口COM1和COM2。COM1具有Modbus、ASCII和Programming三种模式,通常诊断和下载程序用COM1;COM2具有CS31和Modbus两种模式,现场上位机与PLC通讯时使用COM2的Modbus模式,其最高通讯速度可达187.5K,实际使用时采用了57.6K的通讯速度。
3 Modbus通讯协议介绍
作为现代自控系统中常用的协议之一,Modbus采用主从应答方式,即只有一个设备作为主机能主动发送询问信息,其它设备都是作为从机响应主机的命令或将所需的信息返回至主机。该协议支持在串行总线上有一个主机和247个从机,每个从机具有唯一的地址。读取或写入信息除要求从机地址外,还需要数据寄存器的地址。Modbus协议可使用两种模式进行通讯:ASCII和RTU,这两种模式在报文结构、功能命令上是相同的,仅帧信息的表示方法不同而已。它们的区别是:采用RTU模式通讯时,信息是以8位二进制方式传输的,而采用ASCII时,信息是以字符为基本单位传输的,每个字符都用ASCII码表示。ASCII的优点是通用性好,读取容易。但在相同传输速率下,RTU 模式比ASCII模式传输效率提高一倍。本文将介绍RTU模式通讯的实现方法。
Modbus帧格式由地址、功能码、数据段、校验码组成,数据段内容根据主-从或从-主关系可包括寄存器起始地址、寄存器数、数据位,格式如下:
每一帧数据以至少3.5个字符的间隔时间(T1-T2-T3-T4)标志开始和结束,整个信息帧必须以连续的信息流进行传输,从而保证CRC校验的正确。其中:
地址为8位,从机的有效地址范围是0-247,其中0是广播地址。
功能码为8位,有效编码为1-255。
数据段可由多组数据组成,主要包括从机要完成功能码功能所需的附加信息。
CRC为此帧数据的循环冗余校验码,用于保证整帧数据传输的正确性。
4 上位机与PLC通讯的具体实现
作为Modbus主机的上位机通过Modbus通信协议可以访问从机ABB AC31 50系列PLC里所有类型的输入、输出、内部及常量数据。但是为使上位机更高效地读取PLC中的数据,需要将要读取的数据合理安排,这里我们将上位机需要访问的所有输入、输出、内部字或位数据经转换都在PLC中以一定顺序按地址连续地存放在内部字存储区中,以便上位机每次只用一条读请求命令读取此块内部字存储区,即可获取所需的全部PLC数据。这样可以显著的提高通讯效率,同时简化上位机程序。我们将读请求命令存在 QueryData数组中,如下:
Dim QueryData(1 to 8)As Byte
QueryData(1) = (H1) ‘PLC地址为1
QueryData(2) = (H3) ‘功能码为3,读取n个数据
QueryData(3) = (H2E) ‘数据地址为2E60
QueryData(4) = (H60)
QueryData(5) = (H0) ‘数据个数为81个
QueryData(6) = (H51)
QueryData(7) = (H8D) ‘校验码
QueryData(8) = (H0)
将QueryData数组通过MSComm控件发
- 基于DSP和触摸屏的串行通信系统研究(07-05)
- Modbus通信协议在分布式控制系统中的应用(12-21)
- 基于MODBUS无线总线测控系统(12-20)
- 基于CANopen总线与PLC的液压试验平台控制系统设计(12-20)
- 监控技术在公寓智能配电系统中的应用(12-20)
- 基于Modbus协议的智能压力传感器研发(12-20)