文/郑红霞1 王天禄2
工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。本文主要介绍了Modbus 通讯协议及在宣钢的部分应用。
摘 要
控制器能设置为两种传输模式(ASCII 或RTU)中的任何一种在标准的Modbus 网络通信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus 网络上的所有设备都必须选择相同的传输模式和串口参数。
2.1 ASCII模式
当控制器设为在Modbus 网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit 字节都作为两个ASCII 字符发送。这种方式的主要优点是字符发送的时间间隔可达到1 秒而不产生错误。
2.2 RTU模式
当控制器设为在Modbus 网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit 字节包含两个4Bit 的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII 方式传送更多的数据。
3 Modbus消息帧
两种传输模式中(ASCII 或RTU),传输设备以将Modbus消息转为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备),判知何时信息已完成。由于RTU 模式的可以传输更多的信息,现在已被广泛应用。
3.1 RTU帧
使用RTU 模式,消息发送至少要以3.5 个字符时间的停顿间隔开始。在网络波特率下多样的字符时间,这是最容易实现的。
3.2 地址域
消息帧的地址域包含8Bit。可能的从设备地址是0...247 ( 十进制)。单个设备的地址范围是1...247。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。
3.3 如何处理功能域
消息帧中的功能代码域包含了8Bit。可能的代码范围是十进制的1...255。Modbus 功能代码分类:公用功能码、用户自定义功能码、预留功能码。其中公用功能码经Modbus 组织团体验证,保证每一代码的唯一性,基本上可以满足大部分用户需要。公用功能码的主要代码定义见下表:
3.4 数据域
数据域是由两个十六进制数集合构成的,范围00...FF。从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的所为。这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。
3.5 错误检测域
当选用RTU 模式作字符帧,错误检测域包含一16Bits 值( 用两个8 位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC 域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。
3.6 字符的连续传输
当消息在标准的Modbus 系列网络传输时,每个字符或字节以如下方式发送(从左到右):最低有效位... 最高有效位3.7 错误检测方法
标准的Modbus 串行网络采用两种错误检测方法。奇偶校验对每个字符都可用,帧检测(LRC 或CRC)应用于整个消息。用户可以配置控制器是奇或偶校验,或无校验。这将决定了每个字符中的奇偶校验位是如何设置的。
4 Modbus在宣钢的应用
宣钢球团的生球计量秤及熟球计量秤的仪表采用Modbus 协议与主机(AC800F)通讯,实现了产量的计量,现将通讯格式及数据转换过程说明如下:3 号竖炉的计量仪表(XR2001) 采用RTU 传输模式,1 个启始位,无校验位,2 个停止位,通过485 物理接口与主机相连,联接速率为19200bps。采用Modbus 通讯统计球团矿,数据采集设备和计算机设备,不必投入很大的实施费用,不仅可以对这两台仪表进行远程实时监测,而且充分用计算机的特点,可以对球团矿生产数据进行存盘,方便以后调用、查阅;可以多点显示,在工长室及布料操作室都可直接显示这两台秤的数据,布料工根据这些数据对整个竖炉生产进行最优化控制。系统投运以来运行稳定可靠。
5 结束语
由于Modbus 串行通讯技术有着实现简便、系统集成费用低以及通讯距离远(RS485/422)等特点,所以,在各个行业的应用也都很广泛。伴随着多种通讯方式可以融合并存的发展趋势,Modbus 串行通讯技术仍会保持广泛的应用前景。
作者单位
1. 河北钢铁集团宣钢公司 河北省张家口市075100