基于代理技术的SCADA系统研究设计
2015-03-15南楠
南 楠
(三门峡职业技术学院,河南 三门峡 472000)
随着现代计算机技术的发展,工业自动化程度的提高,SCADA(监控和数据采集)系统的重要性日益凸显。其作为工业过程自动化控制的重要组成部分,一旦出现故障,将造成巨大的企业经济损失甚至导致人身安全。
果汁厂的进货、挑选清洗、制浆、杀菌、蒸发、过滤、灌装等工艺都已实现自动控制。本文提出了一种基于MAS和OPC技术的集成方法,并以某果汁厂的SCADA系统为例分析工作过程,体现系统的良好交互性。
一、SCADA系统概述
SCADA系统是一门综合了计算机、通信、网络与自动化控制的技术,根据其应用领域的不同所实现的系统功能也各不相同,但系统最基本的功能有两个:服务器端、客户机端。服务器端主要实现的功能有:数据采集与处理、控制运算、消息预警、数据同步等;客户机端功能主要有:用户图形界面、安全管理、行政决策、安全管理等。
目前常应用于电力、燃气、轨道等行业,对生产过程和无人现场进行监控,实时反馈采集数据,使管理者及时作出决策。SCADA系统是企业进行安全生产、正常运行、合理资源调度、科学管理和设备优化最基础的技术手段。
二、基于代理的SCADA系统
本文提出的方法是基于MAS和OPC协议实现过程集成,这种集成能完成两个目标。其一,可将过程数据从处理域传送到信息域,管理者根据传输数据作出相应决策;其二,可实现依据OPC协议提供的支持使控制设备具有互操作性。OPC技术是微软公司基于OLE COM/DCOM技术开发的一套标准规范,用于过程控制和制造业的应用实现互操作的接口方法。目前全世界有成百上千个OPC数据存取服务器和客户端。
图1显示了SCADA系统中使用OPC协议的基本结构。OPC服务器连接到PLC负责直接控制过程,OPC服务器作为PLC的驱动程序。OPC服务器与PLC之间的通信是依靠供应商提供的特定生产控制系统。另一方面,OPC服务器与SCADA应用程序之间的通信采用COM/DCOM技术,可以与大多数供应商提供的控制系统配合使用。
图1基本的OPC协议体系结构
大多数MAS平台是以Java程序语言为基础实现的,因此建立一个通过网桥或适配器链接Java代理与OPC服务器是必需的。在Java中选择jeasyopc类来连接Java MAS代理和OPC服务器,jeasyopc的使用使java OPC的实现更加容易。抽象出来的结构图如图2所示。
图2 MAS与OPC集成
图2显示了基于代理的系统层次结构图。图中表明该系统包含四个层,自下而上分别是物理过程层、控制层、OPC通信层和代理层。每层之间通过相应接口通信,例如,物理过程层和控制层之间是图形接口,通过计算机进行模/数转换;控制层和OPC通信层是通过自定义接口为供应商提供驱动程序;OPC通信层和代理层之间是Java-OPC接口,实现系统交互性。
图3系统层次结构
三、果汁厂SCADA系统设计
把上述理论应用到某果汁的生产过程控制中,实现本地和远程的访问服务。以果汁厂三个区域为基础实现系统设计,三个区包含制浆车间、包装车间、废渣处理车间。每个控制过程由西门子S7-300PLC控制,西门子S7-300PLC在果汁厂中用来实现蒸发的自动控制。三个区连接到本地局域网中,再包括操作员的控制系统。此外,每个控制过程包含多个过程变量,应连续监测,例如制浆车间中的机器运行速度、液压数值、温度等,随时与操作员交互信息,及时调整下步运行模式。实验工程结构图如图4所示,所有主机通过一个局域网连接到互联网中,实现从外部实时访问系统运行数据。
图4试验工程结构图
系统采用Java语言,使用Jade开发框架,实现FIPA(the foundation for intelligentphysicalagents)定义。利用JADE框架可以迅速地实现多个代理开发,多个代理类型可以相同,可以不同。同时FIPA对异构环境有良好的支持性,多个代理可以在局域网或外网的一台或多台主机上,代理个数的增减也易于实现。
案例实验中,工作过程如下:
(1)每个PLC控制过程分配给一个OPC代理,进而注册其服务到Jade代理,代表在Jade平台的黄页服务。在本案例中,有三个OPC代理,每一个对应一个PLC控制系统。
(2)起初远程操作员代理并不知道OPC代理与PLC系统的对应关系,因此在开始运行时需要通过Jade代理自动搜索与之匹配的OPC代理。
(3)在确定OPC代理后,经营者代理发送一个ACL消息请求到OPC代理,通过OPC代理返回的实时数据分配给相应的PLC系统。
(4)每个车间代理可以同时访问多个OPC代理,即每个远程代理可以用来管理和监控多个控制过程。
(5)远程操作代理不断从位于主机上的OPC代理接受改变的实时数据界面,一旦数据提示异常,将采取警报服务,如图5中Var2的实际值较参考值高,将会发出提醒消息。远程代理实现了提供实时监控、报警服务、趋势服务,对管理者在无法到达现场的情况下及时作出决策提供有力支持。
四、测试
在SCADA系统中应用代理服务,解决了由于网络延迟和安全配置引起的问题,使通过外网访问OPC服务器变得简单易行。在本例中,OPC代理根据经营者的请求,连续不断地发送实时数据给每个车间的PLC系统,同时再次接受数据,调整后生成新的结果反馈给经营者,以便经营者作出决策。在此过程中,OPC代理和远程代理的数量可以根据需要在局域网或外网的任何地方随时添加,增加系统灵活性。
本例中采用Jade平台为主要开发平台,在其上运行SCADA系统,可在局域网或外网的任何一台主机上运行代理服务。使用Eclipse类设定参数,过程为运行——运行配置——新配置——新参数。调试时,Jade平台提供了一个内置跟踪工具,使用该工具可生成一个初级的UML序列图,可以实现通过Jade的异步消息交换过程。运行时OPC代理与远程代理保持同步数据传输,运行界面如图6所示。
图5 SCADA系统中OPC代理服务界面
图 6OPC代理与Jade代理运行界面
图中显示了,制浆车间和废渣处理两个车间的OPC代理与三个远程代理运行时的界面数据,双方实时传递消息,通过互联网同步数据,根据变化远程操作员作出决定,能更好地控制现场生产,及时发现问题隐患。同时双方代理的位置、个数灵活多变,随时可以增加或减少代理数量,而整个SCADA系统的运行不受影响。
SCADA系统是一个高度分散的、开放的、动态的,而且需要高度灵活性和交互性的系统。基于MAS和OPC技术的SCADA系统的提出,解决了现如今系统的动态和高分布问题。基于MAS的方法很好地解决了传统系统缺乏灵活性缺陷,以及OPC技术的采用,使系统可以与任何类型的控制系统相互通信。根据研究分析,预测到将来的SCADA系统必定是规模大、结构复杂且高度分布模式,代理技术的应用对工业自动化控制的扩展性将起到决定作用。
[1]王世卿,黎楚兵.基于Multi-Agent的供应链系统模型及其仿真[J].计算机工程与设计,2010,31( 5).
[2]余勇,林为民.工业控制SCADA系统的信息安全防护体系研究[J].信息网络安全,2012( 5):74-77.
[3]陈曦,周峰等.我国SCADA系统发展现状、挑战与建议[J].工业技术创新,2015( 2).
[4]李鸿培,忽朝俭,王晓鹏.2014工业控制系统的安全研究与实践[J].计算机安全,2014( 5):36-62.
[5]崔嵩.OPC技术与分布式实时数据库在SCADA系统中的开发与应用[D].山东大学,2014.
[6]刘亮,陆地.基于SCADA系统的数字化油田的设计[J].自动化与仪表,2015( 8).