基于OPC协议的EMS系统数据采集设计与实现

2014-06-04 09:41杨鹏黄文江李川阳
新疆钢铁 2014年1期
关键词:编程语言通讯管理系统

杨鹏,黄文江,李川阳

(宝钢集团八钢公司冶金信息分公司)

基于OPC协议的EMS系统数据采集设计与实现

杨鹏,黄文江,李川阳

(宝钢集团八钢公司冶金信息分公司)

联系人:杨鹏,男,27岁,本科,软件程师,乌鲁木齐(830022)宝钢集团八钢公司冶金信息分公司

E-mail:yangpeng@bygt.com.cn

文章结合能源数据采集系统以西门子工业控制网络SIMATICNET和S7PLC为例,介绍了OPC数据采集系统的结构和具体实现方法,使用OPC接口与现场PLC进行通讯数据采集,应用C#编程语言进行采集数据并通过网络保存到能源管理系统数据库,为能源管理系统提供数据基础,为企业提供统计数据依据。

OPC协议;数据采集;能源管理系统;SIMATICNET

1 前言

能源管理系统(EMS)是要采集PLC的能源介质计量数据,传输到上层管理数据库中,利用OPC开放协议,按照应用程序(客户程序)的要求提供数据采集服务的OPC服务器。

使用OPC服务器所必需的OPC接口,从PLC中采集介质消耗数据,为能源管理系统提供数据基础,为企业提供决策数据依据。

2 OPC协议介绍

OPC(OLE for Process Control,用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会。OPC基金会现有会员已超过220家,遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。

OPC协议是为解决应用软件与各种设备驱动程序之间的通信而提出的,它把硬件厂商和应用软件开发商分离开来,大大提高了双方的工作效率。OPC减少了系统集成过程中的重复工作,代表了今后过程控制系统通信标准的发展方向。

基于微软的 OLE(现在的 Active X)、COM(部件对象模型)和DCOM(分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。

COM是ComponentObjectModel的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。

OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、C#等编程语言开发 OPC服务器的客户应用。而自定义接口是专门为C#等高级编程语言而制定的标准接口。OPC现已成为工业界系统互联的缺省方案,为工业监控编程带来了便利。

蕹菜移栽后30 min和1 d、2 d、3 d、4 d、5 d、7 d、9 d、11 d、13 d、17 d、21 d、24 d、30 d、34 d、41 d、50 d、59 d、75 d、89 d、112 d和138 d取土壤表层溶液,测定溶液电导率及氧化还原电位。按文献[10]的方法测定秸秆腐解率、土壤有机碳、全氮、全磷、全钾速效磷、速效钾含量和土壤蔗糖酶、脲酶、酸性磷酸酶活性,以及蕹菜植株的全氮、全磷和全钾含量。

3 数据采集EMS系统架构

能源管理系统(Energy ManagementSystem,简称EMS)是钢铁企业信息化系统的一个重要组成部分,对能源数据进行采集、加工、分析,处理以实现对能源设备、能源实绩、能源计划、能源预测等方面发挥着重要的作用。能源供给状态数据、能源供给整点数据、能源供给累加数据,每种数据都有不同的应用范围。而能源供给状态数据是所有数据的基础,其它两种数据是通过仪器、仪表、手工录入或计算程序得到,是其它应用系统需要的关键数据和基础。

在钢铁企业信息化系统的架构中,把能源管理作为MES的一个基本应用构件,并作为大型企业自动化和信息化的重要组成部分,如图1所示。

钢铁企业能源介质种类主要包括:高炉煤气(BFG)、焦炉煤气(COG)、转炉煤气(LDG)、天然气(NG)、氧气(O2)、氮气(N2)、氩气(Ar)、压缩空气(Air)、蒸汽、氢气(H2)、采暖热网、生活水、工业净环水、工业浊环水、浓盐水、除盐水、软化水、电力等。

能源介质信息包括:压力、流量、温度、煤气热值、供水品质(水质)、阀门开闭、调节阀开度、开关信号、动力设备运行状态、主生产线设备的运行状态等。

环保信息包括:环保设备的运行情况、外排水中主要污染物的浓度、流量、主要废气排放点的外排放废气中烟(粉)尘、SO2、NO、CO2等污染因子的浓度和流量、污染物排放总量等介质指标。

典型能源系统架构包括能源管理中心、通讯网络、远程数据采集单元等三级物理结构,如图2所示。基于基础自动化向信息化建设发展的原则,EMS系统为核心构建能源管理系统,结合网络通讯、数据库产品和技术建立一套先进的,符合钢铁企业管理应用功能的能源管理系统。

图2 EMS系统体系结构

4 能源数据采集系统设计和实现

OPC数据存储和接口规范,OLE自动化标准接口,及采用OLE自动化技术进行调用,其技术为上节所述的OLE自动化技术。OLE自动化标准接口定义了以下三层接口,依次呈包含关系。

OPCServer:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPCGroup类对象。

OPC Group:存储由若干OPC Item组成的Group信息,并用于返回OPC Item类对象。

OPC Item:存储具体Item的定义、数据值、状态值等信息。许多OPC服务器,包括OPC.SimaticNet,是在COM平台开发的,从而对于基于.NET框架下的C#语言,作为客户端程序语言访问OPCServer,需要解决两个平台间无缝迁移的问题。OPC基金会对会员提供了OpcRcw动态链接库,OPCNETCOM包装器和OPCNETAPI,将OPC复杂的规范封状成简单易用的C#类,可以比较容易地实现数据访问。

以八钢南疆公司能源管理系统为例,按照基础设计的实施情况,数据采集层采用西门子PLC。因此设计开放数据采集通讯。以OPC.SimaticNet为实例,逐步通过C#语言编写客户端程序,访问OPC.SimaticNet,对PLC数据进行读取的全过程。

南疆能源EMS系统的主要特点是OPC服务对数据进行读取操作。OPC读数有三种方式:同步、异步、订阅。

同步通讯时,OPC客户程序向OPC服务器进行请求时,OPC客户程序必须等到OPC服务器对应的响应全部完成以后才能返回,在此期间OPC客户程序一直处于等待状态,若进行读操作,那么必须等待OPC服务器响应后才返回。因此在同步通讯时,如果有大量数据进行操作或者有很多OPC客户程序对OPC服务器进行读操作,必然造成OPC客户程序的阻塞现象。因此同步通讯适用于OPC客户程序较少,数据量较小时的场合。

同步通信流程如图3所示。

图3 同步通信流程

异步通讯时,OPC客户程序对服务器进行请求时,OPC客户程序请求后立刻返回,不用等待OPC服务器的响应,可以进行其它操作。OPC服务器完成响应后再通知OPC客户程序,如进行读操作,OPC客户程序通知OPC服务器后离开返回,不等待OPC服务器的读完成,而OPC服务器完成读后,会自动的通知OPC客户程序,把读结果传送给OPC客户程序。因此相对于同步通讯,异步通讯的效率更高。异步通信流程如图4所示。

订阅方式时,OPC客户程序对服务器进行请求时,OPC客户程序操作后立刻返回,不用等待OPC服务器的操作,可以进行其它操作,OPC服务器的Group组在组内有数据发生改变时,自动根据更新周期刷新相应的客户端数据,如图5所示。

客户端只向OPC服务发送一次请求,之后不再对服务器请求。

图5 订阅方式图

结合南疆EMS系统特点采用了对于清零等开关量采用了订阅方式,当开关量变化时候通知我们更新EMS系统累计量,对于计量数据采用异步读的,读取PLC的数据。

图6 数据采集体系架构

参照西门子提供OPC.SimaticNET的帮助文档,使用C#编程语言进行通讯开发,将采集到的数据以xml文档保存本地,然后再通过JOB方式将这些采集数据以TCP/IP协议的Socket通讯发送的服务器端保存的数据服务器。异步、迅速、完整的将数据上传。具体架构如图6所示。

5 结束语

在进行系统设计中,结合南疆钢铁EMS系统特点,对于清零等开关量采用了订阅方式,当开关量变化时通知更新EMS系统累计量,对于计量数据采用异步,读取PLC的数据。读取采集量应保证数出一源,读取底层的数据累积量,不应该用瞬时量再单独累积,这样由于读取时间频率问题,长时间会存在较大偏差。系统对PLC的OPC类型和标签通过配置文件方式读取,方便以后的扩展。虽然设计中主要采用的是西门子的硬件,后期如果有其他厂商的PLC设备硬件,只需对OPC读取模块更改配置文件即可,方便功能扩展。

Design and Implementation of Data Acquisition in EMS by OPC Protocol

YANG Peng, HUANG Wen-jiang,LI Chuan-yang
(Metallurgical Information Company, Bayi Iron&Steel Co., Baosteel Group)

In this paper, combined with the energy data collecting system with Siemens industrial control network of SIMATICNET and S7PLC, as an example to introduce the structure of OPC data acquisition system and the concrete realization method, using the OPC interface and PLC communication data acquisition, using C# programming language acquisition data and save the energy management system database through the network, provide the data basis for the energy management system statistical data, provide the basis for the enterprise.

OPC; data acquisition; energy management system; SIMATICNET

TP274

A

1672—4224(2014)01—0014—04

猜你喜欢
编程语言通讯管理系统
《茶叶通讯》编辑委员会
《茶叶通讯》简介
基于大数据分析的智慧高速运营管理系统
基于大数据分析的智慧高速运营管理系统
基于James的院内邮件管理系统的实现
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
在线评审管理系统的建设与实践
基于计算机应用软件开发的Java编程语言研究
计算机应用软件开发中编程语言的选取
国内首个AR通讯应用浮出水面