基于WebSphere MQ传输OPC数据的研究与实现
2019-03-04马福华张志峰王玉光苏克健
马福华 张志峰 王玉光 苏克健
摘要:首先结合企业实际生产过程概述了WebSphere MQ、OPC数据传输原理,然后阐述了工控网、管理网运用WebSphereMQ传输OPC数据的实现过程,最后对其传输性能进行试验,通过测试分析得出以下结论:WebSphere MQ传输的最大OPC数据消息是50M;消息大小、传输用时是正比例线性关系;单通道时,触发监控器个数不影响传输用时;双通道比单通道传输用时节约较多,几乎是其两倍,但3通道、4通道相对于双通道传输用时节约较少。
关键词:WebSphere MQ;OPC数据;工控网;管理网;数据传输安全
中图分类号:TP3 文献标识码:A
文章编号:1009- 3044(2019)34-0241-03
随着高新技术迅速发展及制造业全球化竞争日益加剧,企业普遍开展了智能化工厂建设,制造执行系统(MES)、数据采集与监控系统(SCADA)等系统相继上线运行。针对工控网、管理网数据共享系统的安全问题,很多企业以交换机和防火墙相结合实现网络隔离。其中,消息中间件WebSphere MQ作为能够屏蔽底层异构操作系统和网络协议的技术就成了数据在工控网、管理网之间进行传递的重要途径[7,7,8]。
宋哗等在J2EE平台上进行WebSphere MQ中间件应用系统的设计以达到保证内外网之间数据的一致性和安全性的目的[2]。于岩通过多实例队列管理器组、共享存储等搭建高可用消息传输队列[3]。马越、罗汉文借助WebSphere MQ,设计并实现了典型前、后台系统日常数据交互[4]。高玉军,赵朋朋等利用工业控制OPC技术、工业以太网等实现不同类别PLC在同一平台、同一网络下的数据集中监视控制[5]。朱善国构建OPC网络,再运用OPC技术实现企业各套联合装置之间的信息互联[6]。
以上文献详细描述了WebSphere MQ、OPC等在传输数据过程中的作用,但对WebSphere MQ传输OPC数据的实现过程鲜少涉及。笔者以某生产企业为例,描述了WebSphere MQ传输OPC数据的实现过程,同时对其传输性能进行了研究。
1 WebSphere MQ、OPC通讯原理
1.1 WebSphere MQ通讯原理
队列管理器之间传递的是消息,消息可以是一个请求、一个应答、一个报告、一份报文等,在本文中,传输的消息是OPC数据形成的XML文件。每个队列管理器都有本地队列、远程队列、传输队列、死信队列等多个队列,队列通俗地讲,就是一个安全存储消息的地方,而每种队列都有各自不同的作用。队列管理器之间的通信路径叫通道,是一种单向的点对点的通信连接。通道两端的配置必须匹配,且名字相同,否则无法连通。如果需要双向交流,则需要建立一对通道。
1.2 0PC通讯原理
企业某车间生产状况及设备状况信息,由控制设备采集终端完成。由于当今世界上主要的自动化控制系统仪器仪表及过程控制系统的公司在硬件开发时均提供OPC服务器接口,所以用户不需要考虑各项硬件设备的差异,通过硬件厂商提供的OPC服务器接口直接取得生产状况及硬件设备状态信息,同时存储于数据库。OPC技术由OPC服务器和OPC客户端两部分组成,OPC服务器通过与现场设备相对应的驱动服务来读取硬件数据信息,通过标准的OPC接口传送给OPC客户端。OPC客户端只需接收OPC服务器传送来的数据,无须知道现场硬件设备的驱动细节。
2 WebSphere MQ传J OPC数据的实现
从图1可以看出,工业控制网底层PLC数据通过OPC服务存储在数据库,然后根据管理需求形成底层XML文件,最后通过消息中间件WebSphere MQ传递给制造执行系统(MES);同样管理网技术标准等数据,根据工控需求转换为XML文件,然后通过消息中间件WebSphere MQ传递给工控网,最后通过OPC服务写进底层PLC。
WebSphere MQ支持多种编程语言,同时也支持多种流行的开发工具,笔者采用IBM WebSphere MQ6.0、Visual Studio2017平台中的C#进行接口开发。
3 WebSphere MQ传输OPC数据性能研究
本文中OPC数据以XML文件形式传输到消息中间件Web-Sphere MQ,WebSphere MQ应用的运行性能受到机器计算能力、吞吐能力、内存等硬件设施的制约,同时受到网络环境的影响。由于影响WebSphere MQ传输OPC数据性能的条件较多,所以笔者在试验中,都是假定其他条件不变,对某一个条件变化时考虑其对性能的影响。
3.1 WebSphere MQ消息大小传输限制
WebSphere MQ中队列、通道、队列管理器的消息最大长度设定值为100M(一般显示为104857600字节),队列、通道、队列管理器三者之一的设定值都将影响消息大小的传输。笔者此次验证条件是队列、通道、队列管理器的消息最大长度设定值同时为4M、10M、IOOM。
从表l可以看出,WebSphere MQ传输的最大消息是其最大长度设定值的一半,又因其最大长度设定值为100M,所以Web-Sphere MQ传输的最大消息长度是50M。
3.2 WebSphere MQ消息大小与传输用时关系
工控网、管理网为千兆接口,网络环境不会成为其瓶颈;为了统一时间,工控网、管理网服务器设置了时钟同步器。在上述条件下研究WebSphere MQ传输OPC数据消息大小、传输用时的关系,从图2可以看出WebSphere MQ传输消息大小、传输用时是成正比例的线性关系。消息越大,用时越长;消息越小,用时越短。同时,传输50M左右文件,用时40s左右。
3.3 WebSphere MQ触发监控器数量與传输用时关系
WebSphere MQ在传输OPC数据时需使用触发监控器,触发监控器用于监控消息触发初始化队列并启动消息处理程序,其中,一个队列管理器可以有多个触发监控器,为此笔者对触发监控器数量进行验证。通过多次试验,企业传输OPC数据时形成的XML文件最小长度为8KB,因此选取1000个8KB大小OPC数据XML文件,以验证触发监控器数量对传输用时的影响。
从表2可以看出,传输用时相对于是一个稳定的值,即触发监控器数量不影响传输用时。从试验过程可以看出,当打开多个触发监控器时,触发监控器按顺序读写,然后再次轮巡,触发监控器的吞吐量是平均分配。
3.4 WebSphere MQ通道数量与传输用时关系
文中传输通道是单向通道,WebSphere MQ在传输数据时,可以设置多条通道。以下是选取1000个8KB大小OPC数据XML文件进行传输试验。
为了方便比较通道数目对数据传输用时的影响,本文中双通道中发送方定义两个远程队列,两个传输队列;接收方定义两个本地队列,两个GET进程,打开两个触发监控器,依次类推,3通道、4通道。
从表3可以看出,双通道比单通道用时节约较多,几乎是其两倍,但3通道、4通道相对于双通道用时节约较少。
4 结束语
WebSphere MQ中间件的应用实现了工业网、管理网数据互联互通,并保证了数据传输的一致性和安全性。文章以图表形式描述了WebSphere MQ、OPC传输原理,以及工控网、管理网通过WebSphere MQ传输OPC数据的过程实现。同时,对WebSphere MQ传输OPC数据消息大小限制以及消息大小、触发监控器数量、通道数量与传输用时关系等性能进行了试验,所得结论对于其他使用者具有一定的指导意义。
参考文献:
[1]许逵,黄辉先,基于工业现场数据的制造执行系统应用研究[J].计算机测量与控制,2018,26(10):132-136.
[2]宋晔,张元.基于Websphere MQ的内外网数据安全传输的研究[J].计算机工程与应用,2011,47(8S):110-112.
[3]于岩.基于Websphere MQ搭建高可用消息传输队列[J].电脑知识与技术,2015,11(19):76-77.
[4]马越,罗汉文.WebSphere MQ在零售业系统数据传输中的应用[J].上海师范大学学报:自然科学版,2017,46(1):1-9.
[5]高玉军,赵朋朋,基于OPC技术的不同类别PLC之间的数据通讯[J].工业控制计算机,2018,31(10):59-60.
[6]朱善国.OPC技术在DCS系统之间互联的应用[J].化工自动化及仪表,2018,46(3):235-239.
[7] Yoonho Park*,Richard King, Senthil Nathan. Evaluation of ahigh-volume, low-latency market data processing system im-plemented with IBM middleware[J].Software:Practice and Expe-rience,2012,42(1):37-56.
[8] MAHMOUD M S,SABIH M, ELSHAFEl M,et al'Using OPCTechnology to Support the Study of Advanced Process Control[J].ISA Transactions,2015.55:155.
【通聯编辑:代影】
收稿日期:2019-08-06
作者简介:马福华(1985-),女,山东成武人,高级工程师,研究方向为企业信息系统建设与运维;张志峰,工程师;王玉光,高级工程师:苏克健,高级工程师。