基于Modbus协议的 i FIX SCADA系统通信研究
2010-02-28廖述剑
张 蕾,廖述剑
以信息化、自动化手段改造我国传统的煤炭工业,实现管理信息化,以此带动工业化,是提高煤矿安全性的主要途径。在矿井现有机械设备控制系统中,以综采工作面为例,绝大部分是独立的控制节点,彼此之间难以协调工作和管理。为此,本文研究了一种基于 RS485接口Modbus协议的 iFIX SCADA的通信系统。采用Modbus协议和 RS485串口通信,结合 iFIX SCADA的上位机监控系统,完成对综采工作面各独立节点的协调与管理,从而实现矿井综采面的自动化与信息化。
Modbus协议是应用于电子控制器的一种通用语言,由MODICON公司于 1979年首先开发,目前已发展成为一种在工业领域被广泛应用的标准网络通信协议。支持传统的 RS-232RS-422RS-485和以太网设备,能将不同厂商生产的控制设备互联成工业监控网络[1]。iFIX是美国 Intellution公司开发的大型工控组态软件,是当今世界工业控制领域最为流行的上位机监控软件之一,iFIX SCADA系统可实现生产操作的过程可视化、数据采集和数据监控等功能[2-3]。本文给出了整个通信系统的结构,介绍了RS485 Modbus的通信流程,结合实际介绍 iFIX SCADA的系统配置。
1 系统结构
本文的研究目的是将不同厂商生产的控制设备通过Modbus协议和 RS485串行接口互联,并通过通信总线与上位机 iFIX SCADA系统通信。同时各控制设备可接收来自上位监控机的控制信息,以调整和改变自身的控制状态,从而使整个系统连接成为工业监控网络,以实现生产操作的自动化和信息化。整个系统的结构见图 1,3个控制器,通过 Modbus协议和RS485接口与交换机相连,再与上位监控机进行通信。
图 1 通信系统的结构框图
2 Modbus协议
2.1 RS485 Modbus的通信模式
Modbus协议是应用于电子控制器上的一种通用语言,最初是 MOD ICON公司在 1979年为自己的PLC产品通信开发的,通过此协议控制器之间、控制器与其他设备之间可以串行通信。常见的Modbus通信规约有两种:一种是Modbus ASCII,一种是Modbus RTU。一般来说,通信数量少且主要是文本通信的采用前者;当通信数量大且是二进制数值时,多采用Modbus RTU规约[4-6],本文即采用此规约。采用RTU方式的Modbus协议的帧格式示意图见图 2。
图 2 RTU方式的Modbus协议帧格式示意图
按照 Modbus协议的通用工业规范,采用标准Modbus中的 RTU模式时,采用字节数据传输和 CRC校验。数据通信采用Master/Slave方式,每种命令对应一个应答帧,Master端发出数据请求信息,Slave端接收到正确信息后,发送数据到 Master端以响应请求,Master端也可以直接发消息修改 Slave端的数据。当在网络上通信时,上位监控机需要对应的下位机节点设备地址[6-7]。
在Modbus通信接口中,采用 Maxim公司的MAX485接口芯片,能将 TTL电平转化为 RS485电平,即选择 RS485的通信接口。RS485是一种异步半双工的通信总线,其中主机处于主导和支配地位,通信过程中定时发出监控命令,等待从机的应答。从机处于侦听状态,不能主动往总线发送数据,在接收到主机发送的帧信息后,首先判断地址码是否为本机地址,如果此帧信息的地址码和本机地址相同,则处理命令码和数据。从机接收到主机的监控命令后,先进行校验,如果校验正确则执行接收的监控命令,并根据命令回送相应的应答帧。RS485的通信模式中,任何时刻都只能有一个从机处于发送状态,但主机发送时所有从机都必须处于接收状态[6-7]。
2.2 程序设计
在进行Modbus数据通信的协议设计时,主要工作包括:1)各节点根据实际要求设置Modbus的通信模式;2)各节点处理接收Modbus控制器接收报文;3)各节点回送的报文。
在本系统中,选择 iFIX SCADA系统作为Master,各节点的控制器作为 Slave,采用接收和发送中断方式完成通信过程,具体的接收和发送流程示意图见图 3。
当某节点控制器接收到上位监控机的请求帧后,利用图 3接收流程中的接收中断进行请求帧的接收响应。接收完成后,禁止接收中断开启发送中断。节点控制器对上位监控机发送的命令进行处理,并使用CRC校验进行数据校验,若出错,则返回错误帧并进入继续等待状态;若 CRC校验无误,则节点控制器按照上位监控机请求帧的命令,采集自身信息,形成响应帧中的数据串,并使用 CRC校验获取校验值,从而组成一个完整的响应帧,返回到上位监控机。
3 应用研究
本系统中的下位控制节点共有 3个,都采用Modbus协议但具体的参数设置各异,3个节点控制器与防爆交换机相连。上位监控机通过通信总线与防爆交换机相连,具体结构如图 1所示。在上位监控机与现场网络硬件连接完成后,必须正确配置 iFIX的 I/O驱动才能实现主机和现场控制层的信息交换。首先指定 Modbus协议类型为 RTU,上位监控机为ModbusMaster节点。然后根据 3个节点控制器的实际情况进行串行口端口号、波特率、数据位、响应超时等设置,具体配置见表 1。
表 1 IFIX上位监控机 I/O配置表
为实现上位监控机的实时监控功能,在 I/O驱动配置完以后需在 iFIX SCADA中建立模拟现场的画面,建立ODBC数据库。为实现数据采集、历史查询、报警显示等功能,还需建立 SQL数据库、编写 iFIX SCADA的后台VBA程序。
经现场调试,本文研究的基于 RS485串行接口Modbus协议的 iFIX SCADA通信系统,可以很好地实现工作面各独立节点的协调与管理,通信状态稳定。现场上位监控机运行主界面见图 4。
4 结 论
图 4 现场上位监控机运行主界面
本文结合目前矿井机械设备控制系统中,绝大部分独立控制节点之间难以协调工作和管理的现状,研究了一种基于 RS485串行接口Modbus协议的 iFIX SCADA通信系统。该系统采用Modbus协议中 RTU规约,结合 RS485串行接口,并选用 iFIX SCADA作为上位监控机,将原本独立的控制器节点构成互联网络。其中 iFIX SCADA作为 Modbus的 Master主节点,各控制器作为 Slave从节点,通过互联网络能在井上模拟生产现场,并能实现实时监控功能,具有很好的实际应用前景。