楊鵬,黃文江,李川陽(yáng)
(寶鋼集團(tuán)八鋼公司冶金信息分公司)
基于OPC協(xié)議的EMS系統(tǒng)數(shù)據(jù)采集設(shè)計(jì)與實(shí)現(xiàn)
楊鵬,黃文江,李川陽(yáng)
(寶鋼集團(tuán)八鋼公司冶金信息分公司)
聯(lián)系人:楊鵬,男,27歲,本科,軟件程師,烏魯木齊(830022)寶鋼集團(tuán)八鋼公司冶金信息分公司
E-mail:yangpeng@bygt.com.cn
文章結(jié)合能源數(shù)據(jù)采集系統(tǒng)以西門子工業(yè)控制網(wǎng)絡(luò)SIMATICNET和S7PLC為例,介紹了OPC數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)和具體實(shí)現(xiàn)方法,使用OPC接口與現(xiàn)場(chǎng)PLC進(jìn)行通訊數(shù)據(jù)采集,應(yīng)用C#編程語(yǔ)言進(jìn)行采集數(shù)據(jù)并通過網(wǎng)絡(luò)保存到能源管理系統(tǒng)數(shù)據(jù)庫(kù),為能源管理系統(tǒng)提供數(shù)據(jù)基礎(chǔ),為企業(yè)提供統(tǒng)計(jì)數(shù)據(jù)依據(jù)。
OPC協(xié)議;數(shù)據(jù)采集;能源管理系統(tǒng);SIMATICNET
能源管理系統(tǒng)(EMS)是要采集PLC的能源介質(zhì)計(jì)量數(shù)據(jù),傳輸?shù)缴蠈庸芾頂?shù)據(jù)庫(kù)中,利用OPC開放協(xié)議,按照應(yīng)用程序(客戶程序)的要求提供數(shù)據(jù)采集服務(wù)的OPC服務(wù)器。
使用OPC服務(wù)器所必需的OPC接口,從PLC中采集介質(zhì)消耗數(shù)據(jù),為能源管理系統(tǒng)提供數(shù)據(jù)基礎(chǔ),為企業(yè)提供決策數(shù)據(jù)依據(jù)。
OPC(OLE for Process Control,用于過程控制的OLE)是一個(gè)工業(yè)標(biāo)準(zhǔn),管理這個(gè)標(biāo)準(zhǔn)國(guó)際組織是OPC基金會(huì)。OPC基金會(huì)現(xiàn)有會(huì)員已超過220家,遍布全球,包括世界上所有主要的自動(dòng)化控制系統(tǒng)、儀器儀表及過程控制系統(tǒng)的公司。
OPC協(xié)議是為解決應(yīng)用軟件與各種設(shè)備驅(qū)動(dòng)程序之間的通信而提出的,它把硬件廠商和應(yīng)用軟件開發(fā)商分離開來(lái),大大提高了雙方的工作效率。OPC減少了系統(tǒng)集成過程中的重復(fù)工作,代表了今后過程控制系統(tǒng)通信標(biāo)準(zhǔn)的發(fā)展方向。
基于微軟的 OLE(現(xiàn)在的 Active X)、COM(部件對(duì)象模型)和DCOM(分布式部件對(duì)象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動(dòng)化系統(tǒng)。它的出現(xiàn)為基于Windows的應(yīng)用程序和現(xiàn)場(chǎng)過程控制應(yīng)用建立了橋梁。在過去,為了存取現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)信息,每一個(gè)應(yīng)用軟件開發(fā)商都需要編寫專用的接口函數(shù)。由于現(xiàn)場(chǎng)設(shè)備的種類繁多,且產(chǎn)品的不斷升級(jí),往往給用戶和軟件開發(fā)商帶來(lái)了巨大的工作負(fù)擔(dān)。通常這樣也不能滿足工作的實(shí)際需要,系統(tǒng)集成商和開發(fā)商急切需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設(shè)備驅(qū)動(dòng)程序。在這種情況下,OPC標(biāo)準(zhǔn)應(yīng)運(yùn)而生。OPC標(biāo)準(zhǔn)以微軟公司的OLE技術(shù)為基礎(chǔ),它的制定是通過提供一套標(biāo)準(zhǔn)的OLE/COM接口完成的,在OPC技術(shù)中使用的是OLE 2技術(shù),OLE標(biāo)準(zhǔn)允許多臺(tái)微機(jī)之間交換文檔、圖形等對(duì)象。
COM是ComponentObjectModel的縮寫,是所有OLE機(jī)制的基礎(chǔ)。COM是一種為了實(shí)現(xiàn)與編程語(yǔ)言無(wú)關(guān)的對(duì)象而制定的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)將Windows下的對(duì)象定義為獨(dú)立單元,可不受程序限制地訪問這些單元。這種標(biāo)準(zhǔn)可以使兩個(gè)應(yīng)用程序通過對(duì)象化接口通訊,而不需要知道對(duì)方是如何創(chuàng)建的。通過DCOM技術(shù)和OPC標(biāo)準(zhǔn),完全可以創(chuàng)建一個(gè)開放的、可互操作的控制系統(tǒng)軟件。OPC采用客戶/服務(wù)器模式,把開發(fā)訪問接口的任務(wù)放在硬件生產(chǎn)廠家或第三方廠家,以O(shè)PC服務(wù)器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統(tǒng)的集成,提高了系統(tǒng)的開放性和可互操作性。
OPC服務(wù)器通常支持兩種類型的訪問接口,它們分別為不同的編程語(yǔ)言環(huán)境提供訪問機(jī)制。這兩種接口是:自動(dòng)化接口(Automation interface);自定義接口(Custom interface)。自動(dòng)化接口通常是為基于腳本編程語(yǔ)言而定義的標(biāo)準(zhǔn)接口,可以使用VisualBasic、Delphi、C#等編程語(yǔ)言開發(fā) OPC服務(wù)器的客戶應(yīng)用。而自定義接口是專門為C#等高級(jí)編程語(yǔ)言而制定的標(biāo)準(zhǔn)接口。OPC現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的缺省方案,為工業(yè)監(jiān)控編程帶來(lái)了便利。
蕹菜移栽后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取土壤表層溶液,測(cè)定溶液電導(dǎo)率及氧化還原電位。按文獻(xiàn)[10]的方法測(cè)定秸稈腐解率、土壤有機(jī)碳、全氮、全磷、全鉀速效磷、速效鉀含量和土壤蔗糖酶、脲酶、酸性磷酸酶活性,以及蕹菜植株的全氮、全磷和全鉀含量。
能源管理系統(tǒng)(Energy ManagementSystem,簡(jiǎn)稱EMS)是鋼鐵企業(yè)信息化系統(tǒng)的一個(gè)重要組成部分,對(duì)能源數(shù)據(jù)進(jìn)行采集、加工、分析,處理以實(shí)現(xiàn)對(duì)能源設(shè)備、能源實(shí)績(jī)、能源計(jì)劃、能源預(yù)測(cè)等方面發(fā)揮著重要的作用。能源供給狀態(tài)數(shù)據(jù)、能源供給整點(diǎn)數(shù)據(jù)、能源供給累加數(shù)據(jù),每種數(shù)據(jù)都有不同的應(yīng)用范圍。而能源供給狀態(tài)數(shù)據(jù)是所有數(shù)據(jù)的基礎(chǔ),其它兩種數(shù)據(jù)是通過儀器、儀表、手工錄入或計(jì)算程序得到,是其它應(yīng)用系統(tǒng)需要的關(guān)鍵數(shù)據(jù)和基礎(chǔ)。
在鋼鐵企業(yè)信息化系統(tǒng)的架構(gòu)中,把能源管理作為MES的一個(gè)基本應(yīng)用構(gòu)件,并作為大型企業(yè)自動(dòng)化和信息化的重要組成部分,如圖1所示。
鋼鐵企業(yè)能源介質(zhì)種類主要包括:高爐煤氣(BFG)、焦?fàn)t煤氣(COG)、轉(zhuǎn)爐煤氣(LDG)、天然氣(NG)、氧氣(O2)、氮?dú)猓∟2)、氬氣(Ar)、壓縮空氣(Air)、蒸汽、氫氣(H2)、采暖熱網(wǎng)、生活水、工業(yè)凈環(huán)水、工業(yè)濁環(huán)水、濃鹽水、除鹽水、軟化水、電力等。
能源介質(zhì)信息包括:壓力、流量、溫度、煤氣熱值、供水品質(zhì)(水質(zhì))、閥門開閉、調(diào)節(jié)閥開度、開關(guān)信號(hào)、動(dòng)力設(shè)備運(yùn)行狀態(tài)、主生產(chǎn)線設(shè)備的運(yùn)行狀態(tài)等。
環(huán)保信息包括:環(huán)保設(shè)備的運(yùn)行情況、外排水中主要污染物的濃度、流量、主要廢氣排放點(diǎn)的外排放廢氣中煙(粉)塵、SO2、NO、CO2等污染因子的濃度和流量、污染物排放總量等介質(zhì)指標(biāo)。
典型能源系統(tǒng)架構(gòu)包括能源管理中心、通訊網(wǎng)絡(luò)、遠(yuǎn)程數(shù)據(jù)采集單元等三級(jí)物理結(jié)構(gòu),如圖2所示?;诨A(chǔ)自動(dòng)化向信息化建設(shè)發(fā)展的原則,EMS系統(tǒng)為核心構(gòu)建能源管理系統(tǒng),結(jié)合網(wǎng)絡(luò)通訊、數(shù)據(jù)庫(kù)產(chǎn)品和技術(shù)建立一套先進(jìn)的,符合鋼鐵企業(yè)管理應(yīng)用功能的能源管理系統(tǒng)。
圖2 EMS系統(tǒng)體系結(jié)構(gòu)
OPC數(shù)據(jù)存儲(chǔ)和接口規(guī)范,OLE自動(dòng)化標(biāo)準(zhǔn)接口,及采用OLE自動(dòng)化技術(shù)進(jìn)行調(diào)用,其技術(shù)為上節(jié)所述的OLE自動(dòng)化技術(shù)。OLE自動(dòng)化標(biāo)準(zhǔn)接口定義了以下三層接口,依次呈包含關(guān)系。
OPCServer:OPC啟動(dòng)服務(wù)器,獲得其他對(duì)象和服務(wù)的起始類,并用于返回OPCGroup類對(duì)象。
OPC Group:存儲(chǔ)由若干OPC Item組成的Group信息,并用于返回OPC Item類對(duì)象。
OPC Item:存儲(chǔ)具體Item的定義、數(shù)據(jù)值、狀態(tài)值等信息。許多OPC服務(wù)器,包括OPC.SimaticNet,是在COM平臺(tái)開發(fā)的,從而對(duì)于基于.NET框架下的C#語(yǔ)言,作為客戶端程序語(yǔ)言訪問OPCServer,需要解決兩個(gè)平臺(tái)間無(wú)縫遷移的問題。OPC基金會(huì)對(duì)會(huì)員提供了OpcRcw動(dòng)態(tài)鏈接庫(kù),OPCNETCOM包裝器和OPCNETAPI,將OPC復(fù)雜的規(guī)范封狀成簡(jiǎn)單易用的C#類,可以比較容易地實(shí)現(xiàn)數(shù)據(jù)訪問。
以八鋼南疆公司能源管理系統(tǒng)為例,按照基礎(chǔ)設(shè)計(jì)的實(shí)施情況,數(shù)據(jù)采集層采用西門子PLC。因此設(shè)計(jì)開放數(shù)據(jù)采集通訊。以O(shè)PC.SimaticNet為實(shí)例,逐步通過C#語(yǔ)言編寫客戶端程序,訪問OPC.SimaticNet,對(duì)PLC數(shù)據(jù)進(jìn)行讀取的全過程。
南疆能源EMS系統(tǒng)的主要特點(diǎn)是OPC服務(wù)對(duì)數(shù)據(jù)進(jìn)行讀取操作。OPC讀數(shù)有三種方式:同步、異步、訂閱。
同步通訊時(shí),OPC客戶程序向OPC服務(wù)器進(jìn)行請(qǐng)求時(shí),OPC客戶程序必須等到OPC服務(wù)器對(duì)應(yīng)的響應(yīng)全部完成以后才能返回,在此期間OPC客戶程序一直處于等待狀態(tài),若進(jìn)行讀操作,那么必須等待OPC服務(wù)器響應(yīng)后才返回。因此在同步通訊時(shí),如果有大量數(shù)據(jù)進(jìn)行操作或者有很多OPC客戶程序?qū)PC服務(wù)器進(jìn)行讀操作,必然造成OPC客戶程序的阻塞現(xiàn)象。因此同步通訊適用于OPC客戶程序較少,數(shù)據(jù)量較小時(shí)的場(chǎng)合。
同步通信流程如圖3所示。
圖3 同步通信流程
異步通訊時(shí),OPC客戶程序?qū)Ψ?wù)器進(jìn)行請(qǐng)求時(shí),OPC客戶程序請(qǐng)求后立刻返回,不用等待OPC服務(wù)器的響應(yīng),可以進(jìn)行其它操作。OPC服務(wù)器完成響應(yīng)后再通知OPC客戶程序,如進(jìn)行讀操作,OPC客戶程序通知OPC服務(wù)器后離開返回,不等待OPC服務(wù)器的讀完成,而OPC服務(wù)器完成讀后,會(huì)自動(dòng)的通知OPC客戶程序,把讀結(jié)果傳送給OPC客戶程序。因此相對(duì)于同步通訊,異步通訊的效率更高。異步通信流程如圖4所示。
訂閱方式時(shí),OPC客戶程序?qū)Ψ?wù)器進(jìn)行請(qǐng)求時(shí),OPC客戶程序操作后立刻返回,不用等待OPC服務(wù)器的操作,可以進(jìn)行其它操作,OPC服務(wù)器的Group組在組內(nèi)有數(shù)據(jù)發(fā)生改變時(shí),自動(dòng)根據(jù)更新周期刷新相應(yīng)的客戶端數(shù)據(jù),如圖5所示。
客戶端只向OPC服務(wù)發(fā)送一次請(qǐng)求,之后不再對(duì)服務(wù)器請(qǐng)求。
圖5 訂閱方式圖
結(jié)合南疆EMS系統(tǒng)特點(diǎn)采用了對(duì)于清零等開關(guān)量采用了訂閱方式,當(dāng)開關(guān)量變化時(shí)候通知我們更新EMS系統(tǒng)累計(jì)量,對(duì)于計(jì)量數(shù)據(jù)采用異步讀的,讀取PLC的數(shù)據(jù)。
圖6 數(shù)據(jù)采集體系架構(gòu)
參照西門子提供OPC.SimaticNET的幫助文檔,使用C#編程語(yǔ)言進(jìn)行通訊開發(fā),將采集到的數(shù)據(jù)以xml文檔保存本地,然后再通過JOB方式將這些采集數(shù)據(jù)以TCP/IP協(xié)議的Socket通訊發(fā)送的服務(wù)器端保存的數(shù)據(jù)服務(wù)器。異步、迅速、完整的將數(shù)據(jù)上傳。具體架構(gòu)如圖6所示。
在進(jìn)行系統(tǒng)設(shè)計(jì)中,結(jié)合南疆鋼鐵EMS系統(tǒng)特點(diǎn),對(duì)于清零等開關(guān)量采用了訂閱方式,當(dāng)開關(guān)量變化時(shí)通知更新EMS系統(tǒng)累計(jì)量,對(duì)于計(jì)量數(shù)據(jù)采用異步,讀取PLC的數(shù)據(jù)。讀取采集量應(yīng)保證數(shù)出一源,讀取底層的數(shù)據(jù)累積量,不應(yīng)該用瞬時(shí)量再單獨(dú)累積,這樣由于讀取時(shí)間頻率問題,長(zhǎng)時(shí)間會(huì)存在較大偏差。系統(tǒng)對(duì)PLC的OPC類型和標(biāo)簽通過配置文件方式讀取,方便以后的擴(kuò)展。雖然設(shè)計(jì)中主要采用的是西門子的硬件,后期如果有其他廠商的PLC設(shè)備硬件,只需對(duì)OPC讀取模塊更改配置文件即可,方便功能擴(kuò)展。
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