一种基于Wonderware的机电监测平台开发

2018-11-05 07:48赵楠李尚君
电子技术与软件工程 2018年18期
关键词:组态软件

赵楠 李尚君

摘要;目前,舰船各系统通过大量信息化监测设备监测全船状态,机电监测平台需要完成对船舶动力、燃油移注、电力等系统实时状态的监测,这对组态软件的实时性和可靠性提出了要求。本文介绍了一种基于Wonderware的机电监测平台,采用UDP协议获取各系统状态信息。该系统在满足通信实时性要求的同时,采取了校验和法、标志位法等措施,保证了通信可靠性的要求。为进一步实现全船信息化提供了平台及数据支撑。

【关键词】组态软件 Wonderware 机电监控平台

1 引言

船舶是一个由船体、动力系统、电力系统等多个系统构成的复杂系统,在船舶信息化的背景下,各系统信息化程度逐步提高。分布式的监测不利于信息的及时传输和共享,降低了指挥及决策效率。因此,希望开发出一种具有同时收集船舶机电各系统实时状态、多点信息同步投放、历史状态可追溯等能力的机电监测平台。

张建平等基于LabView编程软件开发了一套大型船舶燃油输送监控系统,满足了系统的采集、监测、控制与报警等功能。罗昌俊等基于“现场层.监控层.调度层”三层架构,利用KEPServer和Wonderware软件,建立了一个分布式动力系统运行监测平台,实现了多源异构的采集与处理。姜赛达等针对船舶电站得网络监控系统,结合新型嵌入式Web技术,设计和优化了船舶电站运行参数网络监控系统。魏胜杰等开发了一种分布式作战系统数据采集模型,较好地解决了作战系统网络的数据采集分析问题。徐池等分别从系统架构、组成和功能三个方面出发,设计研究了一种舰船通信装备效能监控评测系统。

2 系统结构

机电监测平台网络拓扑图如图1所示。

机电监测平台以监控层服务器机柜为硬件环境,以Windows Server 2003操作系统和Wonderware 2012系统平台为基础平台。机电监测平台基于Wonderware 2012系统平台进行开发。现场层的各系统向机电监测平台发布数据,机电监测平台通过实时和历史数据库实现重要信息的存储,并对现场层提供的监控数据进行处理、分析和存储,实现综合信息的查询和报警,同时实现日志管理、系统维护等功能;发布层是机电监测平台为系统用户提供的服务,它通过c/s模式和B/S模式向系统用户发布平台各系统的实时监控信息,此外,它通過NTP协议向平台各系统的网络节点提供时统信息。

Wonderware是世界工业自动化软件行业中局领先地位的供应商。目前,WonderwareInTouch 2012几乎支持所有知名的硬件厂商,例如:ABB、GE;同时支持的软件协议包括OPC、Modbus、Profibus、CAN Bus等。Wonderware 2012系统平台基于Windows操作系统,支持Windows Server 2003、Windows7、Windows Server 2008等,同时具备HMI/SCADA的丰富功能,例如数据采集和记录、数据分析、设备控制、实时状态和历史趋势、图形界面、报警系统等。

3 初始化网络环境及网络配置

机电监测平台利用基于UDP协议的信息采集模块完成对平台各系统发布信息的获取。UDP协议省略了TCP协议中繁琐的握手及重传机制,从而降低了该资源的消耗,提升了处理速度,系统可以达到很高的数据传输速率。使用网络协议测试仪对机电监测平台网络中UDP报文的传输速率进行检测,当端口发送流量不大于70%的情况下,端到端最大网络延时≤2ms,端到端延时抖动≤ Ims。因此,UDP协议满足本机电监测平台对于高速传输和实时性的要求。

信息采集模块首先会初始化系统环境及网络配置,然后获取各个上网系统发出的UDP报文信息。初始化网络配置时,以网络配置文件为输入,通过解析网络配置文件,获取服务器名称、IP、端口号为接收各个系统发出的UDP做准备,程序执行流程如图2所示。需要注意的是UDP不同于TCP,不存在请求连接和受理过程,因此无法区分服务器端和客户端,只是将提供服务的主机称为服务器端。

4 基于UDP协议的可靠数据传输的实现

标准UDP报文格式如图3所示。

作为服务器端的系统会根据接口协议,在报文的指定字段写入各数据值,收到报文后,客户端按照接口协议对报文内容进行解读,即可还原出服务器端传出的数据。

以燃油监控系统为例,其接口协议如表1所示。

其中,序列号用于记录发送报文的序列连续性,与发方地址和收方地址的组合表示报文的序列连续特征,为0-255循环加1。确认标志表示该报文是否需要返回确认报文(O表示需要,1表示不需要)。重发次数取值0-3,数字依次表示重发次数。发送时间表示发送该报文时的时刻,表示为YYYY-MM-DDHH:MM:SS对应年.月.日.时.分.秒。

不同于TCP的面向连接、可靠的流协议,UDP是一种不具备可靠性的面向无连接的数据报协议。因此,在使用UDP协议进行通信时,需要通过应用层弥补其可靠性较低的缺陷。为了保证信息的可靠传输,采用以下两种方法保证接收端接收到正确的数据:

(1)校验和验证法;

(2)标志位法等。

4.1 校验和的计算

为了数据接收端验证UDP首部及报文内容的正确性,UDP协议将UDP报文首部的最后两字节定义为校验和。

校验和由服务器端根据UDP首部及报文内容计算获得:首先,服务器端会将校验和字段的每一位初始化为“O”,并在报文的末端填充字节“0”直至报文位数N为16的倍数;然后,按照每16位为一个划分,将报文数据划分为N/16个二进制数,将所有N/16个二进制数进行累加,将累加结果的进位加到低16位上直至结果长度为16位;最后,将计算结果取反存入校验和字段。

数据接收端在校验数据正确性时:根据完整的报文内容执行校验和计算算法,如果获得的16位结果中每一位的值都为“O”,则说明UDP首部及报文内容完整可靠;否则,认为数据错误,丢弃收到的数据。

本UDP协议采用确认和超时重发机制保证报文的可靠性传输,当报文的确认标志为l时,报文发出后需要接收端返回确认报文,若30ms后发送端未收到确认报文,则将重发次数置1并重发,若第1次重发等待60ms后发送端未接收到确认报文,则将重发次数置2并重发,若第2次重发等待60ms后发送端未接收到确认报文.则将重发次数置3并重发,如果第三次重发后仍然未收到确认报文,则放弃该报文。

不同于TCP协议中服务器端与客户端保持连接,UDP的socket不会保持连接状态,因此每次传输数据时都要添加目的地址信息,下面两个函数在UDP通信中用于填写地址并完成数据交换:

4.2.1 发送函数:

#include

ssize_t sendto(inr sock, void *buff, sizet nbytes, int flags, struct sockaddr *to, socklen_taddrlen);

程序中各变量的含义如下:

(1)“ssize t”表示传输的字节数,若传输失败则返回.1。

(2)“sock”表示接收端socket文件描述符。

(3)“buff”表示保存待传输数据的缓冲地址值。

(4)“nbytes”表示待传输的数据长度,以字节为单位。

(5)“flags”为可选参数,默认为O。

(6)“to”表示目标地址信息socketaddr结构体变量的地址值。

(7)“addrlen”表示传递给参数to的地址挤乳沟提变量长度。

4.2.2 接受函数

#include

ssize_t recvfrom(int sock, void *buff, size_tnbyres, int flags, struct sockaddr *from, socklen_t*addrlen);

程序中各变量的含义如下:

(1)“ssize t”表示接收的字节数,若接收失败则返回.1。

(2)“sock”表示發送端socket文件描述符。

(3)“buff”表示保存待传输数据的缓冲地址值。

(4)“nbyres”表示待传输的数据长度,以字节为单位。

(5)“flags”为可选参数,默认为O。

(6)“from”表示发送端地址信息socketaddr结构体变量的地址值。

(7)“addrlen”表示参数from的结构体变量长度的变量地址值。

4.3 UDP报文收发流程

UDP报文收发流程如下:

(1)利用函数sendto向服务器端发送接受请求;

(2)利用函数recvfrom在组播中获取UDP报文;

(3)计算校验和,判断信息正确性,若校验失败则舍弃报文;若校验通过,则获取报文信息,并读取标志位,若确认标志值为O,则结束;若确认标志值为l,则执行步骤4;

(4)使用sendto函数向服务器端回传确认报文,告知其已经收到报文。

5 数据处理

数据处理模块主要包括模型建立、数据计算、数据存储、模型部署、数据查询5个部分,如下图所示:

5.1 模型建立

模型建立包括系统模型和设备模型。系统模型根据系统内部信息建立系统内部各综合显示信息组成的逻辑模型;设备模型根据设备参数建立该设备运行状态模型。

5.2 数据计算

数据计算包括逻辑计算、数值计算和报警设置。逻辑计算模块进行综合信息逻辑关系计算,实现其内部信息的逻辑控制;数值计算模块对采集到数据进行数值计算得出最后显示结果;报警设备模块设置模拟量高限报警、低限报警、高高限报警和低低限报警。

在Wonderware中可以通过设置报警组的方式完成报警显示,向组中添加变量时可以对变量进行报警设置,设定其报警阈值范围,当变量超出设定阈值范围后就会被识别为报警信息。报警信息可以通过设置显示数据闪烁或者通过AlarmViewer控件显示两种方式在人机交互界面提示操作人员。使用AlarmViewer控件访问报警组信息时,需要设置数据源路径,本地读取报警信息时只需要设置数据库及报警组,例如:\Galaxy!报警组名;远程读取报警信息时则需要设置数据库所在计算机名、数据库及报警组,例如:、\\计算机名\Galaxy!报警组名。

5.3 数据存储

数据存储模块通过Historian数据库对重要数据进行存储。

历史数据存储有以下几个过程:

(1)通过发出接受请求接受集实时数据;

(2)实时数据通过内部IDAS服务存入实时数据库;

(3)在实时数据库中的实时数据被存入SQL Server 2008中作为历史书以备查询;

(4)通过OLE DB可以直接访问实时数据库中的数据,实现在显示界面中对实时数据的实时显示。

5.4 模型部署

将建立的模型分别部署在两台服务器上,两台服务利用灾备技术实现互为热备份。

5.5 查询管理

查询各组件的工作状态和采集到数据的值。

人机界面截图如图4所示,截图界面中显示数据经过接口对接试验验证与数据源保持一致,并能够保证与数据源同步更新。

6 Wonderware界面投射功能

Wonderware提供了多点信息同步投放能力,这种功能可以通过C/S模式和B/S模式两种方式实现。

在Wonderware 2012系统平台的基础上,综合信息发布软件通过读取实时数据库中存储的数据,实时获取平台各系统的运行状态,并通过C/S发布到驾驶室等舱室的综合信息屏主机上,主机端需要部署Inrouch Viewer其结构如图5所示。

机电监测平台通过UDP协议向各系统发出收报请求;通过数据采集模块解析出报文内容后,将数据存入实时数据库及历史数据库;C/S客户端通过访问实时数据库,获取各测点值并显示到人机交互界面上。

用户也可以通过其他住舱主机借助Web访问机电监测平台通过B/S发布的信息。

综合信息在其他舱室通过Web浏览器进行访问,服务器端需要部署WAS服务器。综合信息B/S发布是基于Wonderware系统平台提供的Archestra Web Explorter将C/S发布结果进行后续处理,将Intouch View监控画面转化为XML文件格式并发布到Web服务器。其结构如图6所示。

7 结语

针对船舶机电监测系统提出的可靠、快速等需求,本文提出了一种基于Wonderware开发的机电监测平台,该平台采用了UDP通信协议完成了数据的采集工作,在保证了信息采集快速性的同时,借助校验和法和标志位法克服了UDP协议传输可靠性不高的问题,完成了信息的集中采集。借助Wonderware信息投放功能完成了多点信息同步投放功能,同时历史数据库功能满足了历史状态可追溯的要求。

参考文献

[1]张建平,庹艾莉,辛字,大型船舶燃油输送监控系统设计[J].中国舰船研究,2014,9 (02):111-116.

[2]罗昌俊,马永一,王安勇等.风洞试验高压气源监测计量系统研究与实现[J].测控技术,2017 (08): 47-50.

[3]姜赛达,赵康,基于嵌入式Web的舰船电站运行参数网络监控系统研究[J].舰船科学技术,2017 (12):102-104.

[4]魏胜杰,谢伟,秦克等.一种分布式作战系统数据采集模型[J].中国舰船研究,2011,06 (02):61-64.

[5]徐池,肖博凯,韩东.舰船通信装备效能监控评测系统设计研究[J].舰船电子工程,2017, 37 (12): 98-101.

[6]籍慧文.B\S和c\s的架构分析[J],电子技术与软件工程,2017 (05): 202.[

7]王文嘉,崔宏磊.舰用网络授时技术设计分析[J].舰船电子工程,2011,31 (11):15- 18.

[8] Wonderware官方网站[EB/OL].http://www.wonderware.com.

[9]王森,基于多总线冗余机制的船舶功率管理系统的研究[D].东南大学,2 01 7.

[lO]Chang-Jing U,Yong D U,Zhang W J,et al.Oilfield of Remote MonitoringSystem Based on the WonderwareSys tem[J].Measurement & ControlTechnology, 2012, 31 (08): 98-99.

[11]耿恒水,馮玉田,郑伟波.UDP数据传输技术在空间科学实验的应用[J].电子测量技术,2017 (09):197-200.

[12]何润岸.基于UDP进行大规模数据传输的可靠传输系统的设计与实现[D].山东大学,2015.

[13]Li S Q,Wang C A,Zhu W G,et al.Ensureteleoperation data transmissionreliability based on UDP[J].Automation&Instrumentation;, 2013.

[14]刘仕华.Wonderware Historian数据库的基本操作[J].信息与电脑(理论版),2015 (10):47-52.

猜你喜欢
组态软件
在楼宇控制系统中组态软件的应用
基于电气消防控制系统的动态教学模式研究
基于面向对象的组态软件实时数据库的设计
PLC与组态软件在空压机气源测控系统中的应用
基于WebAccess的PLC远程控制系统设计