谷克宏 黃岷 何江銀 張振宇
[摘 要] 針對化工企業(yè)MES系統(tǒng)中的PHD實(shí)時數(shù)據(jù)庫部分,介紹了多種PHD實(shí)時數(shù)據(jù)庫的數(shù)據(jù)采集方式及PHD Server數(shù)據(jù)的訪問應(yīng)用方式。同時,結(jié)合在化工企業(yè)甘肅銀光聚銀化工有限公司的具體應(yīng)用,對實(shí)施過程中的關(guān)鍵技術(shù)做了詳細(xì)論述。
[關(guān)鍵詞] 實(shí)時數(shù)據(jù)庫;PHD;接口;DCS;數(shù)據(jù)采集
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2014 . 17. 024
[中圖分類號] TP315;TP392 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1673 - 0194(2014)17- 0039- 03
1 實(shí)時數(shù)據(jù)采集
1.1 PHD數(shù)據(jù)庫簡介
PHD系統(tǒng)是一個生產(chǎn)信息集成平臺,為流程工業(yè)提供了一個用于生產(chǎn)管理的統(tǒng)一的信息化數(shù)據(jù)庫。它將生產(chǎn)過程數(shù)據(jù)、物料移動數(shù)據(jù)、設(shè)備狀態(tài)、產(chǎn)品質(zhì)量指標(biāo)等各種數(shù)據(jù)采集、存儲并加工成新的信息資源,提供給管理、銷售、技術(shù)、操作等各層次人員,從而解決了企業(yè)各個部門信息不一致的問題,幫助他們及時做出決策。
1.2 數(shù)據(jù)采集設(shè)備
數(shù)據(jù)采集是實(shí)時數(shù)據(jù)庫運(yùn)行的基礎(chǔ),PHD實(shí)時數(shù)據(jù)庫可提供毫秒級采集頻率,并能夠保證采集數(shù)據(jù)的可靠性以及實(shí)時數(shù)據(jù)的一致性和完整性。同時,提供的數(shù)據(jù)采集接口能夠方便地進(jìn)行數(shù)據(jù)定義和配置。PHD具有一套可以與大部分型號的DCS進(jìn)行連接的產(chǎn)品化RDI(實(shí)時數(shù)據(jù)接口),可以實(shí)現(xiàn)與霍尼韋爾、橫河、 ABB、西門子、FOXBORO、FISHER、和利時等多家廠商DCS和OPC(OLE for Process Control)服務(wù)器的連接。
在MES的實(shí)施過程中,大部分DCS和PLC等控制系統(tǒng)配備有各廠家的OPC Server,或者第三方的OPC。所以PHD數(shù)據(jù)采集的主要方式就是通過RDI與OPC通信,實(shí)現(xiàn)實(shí)時數(shù)據(jù)的平穩(wěn)采集。同時PHD也能對非連續(xù)數(shù)據(jù)進(jìn)行采集,如手動位號等,從而為MES上層模塊提供有效的數(shù)據(jù)支持。
1.3 PHD數(shù)據(jù)采集方式
RDI是PHD系統(tǒng)采集實(shí)時數(shù)據(jù)的通道,也是PHD與PHD之間交換數(shù)據(jù)的通道。在連接PHD與PHD時,RDI提供了兩種用途的接口。
1.3.1 Shadow接口
遠(yuǎn)程RDI可以將遠(yuǎn)程PHD與主PHD連接起來,遠(yuǎn)程PHD是一個完整的PHD系統(tǒng),主PHD作為遠(yuǎn)程PHD的影子,它們共享同樣的標(biāo)簽定義。遠(yuǎn)程PHD 從實(shí)時系統(tǒng)中采集數(shù)據(jù),把數(shù)據(jù)存放在自己的實(shí)時數(shù)據(jù)庫中;主PHD定時接收遠(yuǎn)程PHD的數(shù)據(jù),并且把數(shù)據(jù)存放在自己的數(shù)據(jù)庫中,就像是影子,因此主PHD 又稱Shadow PHD。主PHD與遠(yuǎn)程PHD主要是通過后臺的RDI接口配置文件,實(shí)現(xiàn)互相通信。
1.3.2 Buffer接口
遠(yuǎn)程PHD系統(tǒng)作為數(shù)據(jù)緩沖,Buffer接口負(fù)責(zé)和Shadow接口之間通信。主PHD服務(wù)器連接遠(yuǎn)程PHD服務(wù)器,它們使用相同的關(guān)系數(shù)據(jù)庫,因此它們共享相同的標(biāo)簽,遠(yuǎn)程PHD服務(wù)器從實(shí)時系統(tǒng)中收集信息并存儲在自己的PHD數(shù)據(jù)庫中,主PHD服務(wù)器定期獲取這些信息并提供給用戶。如果由于某種原因主 PHD服務(wù)器和遠(yuǎn)程PHD服務(wù)器通信中斷,所有收集的實(shí)時數(shù)據(jù)將會被保存,當(dāng)通信恢復(fù)時,主PHD服務(wù)器會自動從斷點(diǎn)開始恢復(fù)。
在MES系統(tǒng)實(shí)施中,PHD的實(shí)施采用了這種PHD—PHD的傳輸模式:首先在機(jī)房安裝配置Shadow PHD服務(wù)器,然后在裝置現(xiàn)場安裝配置Buffer PHD,兩臺PHD采用相同的安裝配置,Shadow RDI與Buffer RDI通過配置文件建立關(guān)聯(lián),Buffer PHD通過Buffer RDI實(shí)現(xiàn)與OPC服務(wù)器的通信,將數(shù)據(jù)位號模板導(dǎo)入到PHD后,模板中的位號的數(shù)據(jù)即被采集并保存到Buffer PHD中,Shadow PHD通過Shadow RDI取得Buffer PHD中的數(shù)據(jù),完成了數(shù)據(jù)PHD—PHD模式的傳送,也完成了PHD的實(shí)施流程。主PHD從遠(yuǎn)程PHD采集并保存數(shù)據(jù),為MES其他模塊提供數(shù)據(jù)支持。
采用多PHD服務(wù)器的配置主要能夠帶來兩個優(yōu)點(diǎn):首先從功能上將PHD服務(wù)器分離,遠(yuǎn)程PHD服務(wù)器負(fù)責(zé)實(shí)時數(shù)據(jù)的采集,而主PHD服務(wù)器負(fù)責(zé)將采集到的信息供用戶使用;其次在安全上,將實(shí)時數(shù)據(jù)系統(tǒng)環(huán)境和最終用戶環(huán)境做了分離,最終用戶使用實(shí)時數(shù)據(jù)并不需要直接連接到DCS系統(tǒng)中,方便操作的同時也大大增加了安全性。為了保證數(shù)據(jù)的連續(xù)性和穩(wěn)定性,防止由于意外故障引起的數(shù)據(jù)丟失,PHD—PHD的連接可以采用雙Buffer PHD連接Shadow PHD,這種情況下,有兩個Buffer PHD同時收集數(shù)據(jù),一個處于激活狀態(tài),一個處于備份狀態(tài),如果激活狀態(tài)的PHD發(fā)生故障,備份狀態(tài)的PHD就會立即替代,進(jìn)入激活狀態(tài)。聚銀公司PHD-PHD的連接,采用單Buffer PHD連接Shadow PHD。
1.4 OPC接口技術(shù)
在實(shí)時數(shù)據(jù)采集過程中,管理網(wǎng)需要從控制網(wǎng)上實(shí)時地獲取工藝生產(chǎn)過程數(shù)據(jù)以滿足不同的管理需求。但由于控制網(wǎng)上的DCS、PLC和其他智能儀器儀表通常來自不同的廠商,相互之間的通信非常復(fù)雜。OPC作為硬件和軟件之間的一個中間件,解決了上述問題,它為工業(yè)數(shù)據(jù)通信提供了一種標(biāo)準(zhǔn)。OPC是 Microsoft公司的對象鏈接和嵌入OLE/COM技術(shù)在過程控制方面的應(yīng)用,為工業(yè)控制領(lǐng)域提供了標(biāo)準(zhǔn)的數(shù)據(jù)訪問機(jī)制。
在MES實(shí)施中,PHD實(shí)現(xiàn)了與聚銀公司多套DCS的OPC服務(wù)器的連接,如:橫河、DeltaV、浙大中控等,通過Buffer PHD 和對DCOM(分布式組件對象模型)進(jìn)行配置,實(shí)現(xiàn)與OPC服務(wù)器的連接。
1.4.1 橫河公司DCS系統(tǒng)數(shù)據(jù)采集方案
橫河公司的DCS系統(tǒng)是Centum系列,DCS系統(tǒng)通過安全VPN 協(xié)議運(yùn)行。對于CS3000/CS1000/CS系統(tǒng),每套裝置增加一臺ExaOPC-NTPF100服務(wù)器,安裝以太網(wǎng)網(wǎng)卡及與控制總線VNet通訊的VF701卡,并安裝ExaOPC-NTPF100軟件包。ExaOPC-NTPF100通過VF701卡直接與CS 3000/CS1000/CS控制總線VNet連接,由控制總線直接從控制器讀取過程數(shù)據(jù)以及進(jìn)行報警事件通訊。
1.4.2 艾默生公司DCS系統(tǒng)數(shù)據(jù)采集方案
艾默生公司的DCS系統(tǒng)采用的是DeltaV控制系統(tǒng),需要配置一臺DeltaV系統(tǒng)應(yīng)用站,建立一個硬件平臺,OPC Server就安裝在應(yīng)用站內(nèi),通過以太網(wǎng)卡,OPC通訊,用戶可以方便地將數(shù)據(jù)取到Buffer PHD服務(wù)器中,完成數(shù)據(jù)信息的采集工作。
1.4.3 浙大中控公司DCS系統(tǒng)數(shù)據(jù)采集方案
在DCS系統(tǒng)建立獨(dú)立的OPC Server采集并傳輸過程數(shù)據(jù),OPC Server安裝浙大中控專為MES/ERP系統(tǒng)接口開發(fā)的OPC Server(V3.4)軟件包,提供豐富的接口功能與強(qiáng)大的軟件通訊處理能力。同時,獨(dú)立的OPC Server網(wǎng)關(guān)型結(jié)構(gòu)確保了MES與DCS系統(tǒng)的網(wǎng)絡(luò)隔離,保證生產(chǎn)系統(tǒng)的穩(wěn)定運(yùn)行。每套系統(tǒng)在硬件方面增加一臺操作站作為OPC Server,安裝3個以太網(wǎng)卡,并安裝系統(tǒng)軟件包OPC Server軟件。OPC Server通過雙以太網(wǎng)卡直接讀取控制系統(tǒng)過程數(shù)據(jù)以及進(jìn)行報警事件通訊。OPC Server的另一塊以太網(wǎng)卡向MES系統(tǒng)傳送過程數(shù)據(jù)。浙大中控DCS系統(tǒng)增加OPC Server實(shí)施起來比較容易,基于中控系統(tǒng)的開放性和集成性設(shè)計(jì),可以在不用系統(tǒng)停機(jī)的情況下任意加裝OPC Server軟件,使該站作為OPC服務(wù)器,同時向上層網(wǎng)絡(luò)發(fā)送數(shù)據(jù)。
2 數(shù)據(jù)的訪問應(yīng)用
目前從PHD Server訪問數(shù)據(jù)的主要方法有4種,用戶可以有多種開發(fā)語言選擇,可以開發(fā)基于C/S、B/S的程序。
2.1 PHD API(應(yīng)用程序編程接口)
PHD API函數(shù)庫是用于開發(fā)用戶應(yīng)用程序的接口,是所有客戶化開發(fā)的基礎(chǔ)。API函數(shù)有豐富的功能,如存取歷史數(shù)據(jù)、執(zhí)行計(jì)算、將數(shù)據(jù)輸入DCS以及對PHD 的歷史數(shù)據(jù)進(jìn)行編輯等。它支持C,C++,VB等多種高級語言編程讀取實(shí)時數(shù)據(jù),使用者需熟悉編程語言和PHD的API函數(shù)庫,所以日后用戶的維護(hù)有一定的難度。
2.2 OPC Server
在裝置、工廠和公司各級都可安裝數(shù)據(jù)庫的OPC Server,用戶或第三方應(yīng)用都可以使用OPC的標(biāo)準(zhǔn)方法讀取數(shù)據(jù)庫的實(shí)時數(shù)據(jù),使用起來比較方便快捷。但這種方式的缺點(diǎn)是必須對PHD Server的DCOM進(jìn)行配置,并對相應(yīng)的用戶開放相關(guān)權(quán)限,對系統(tǒng)的保密性和安全性有一定的影響。
2.3 ODBC和SOL(結(jié)構(gòu)化查詢語言)讀取
ODBC和SQL讀取,PHD提供通過關(guān)系數(shù)據(jù)庫的接口對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行讀寫,即通過SQL或ODBC應(yīng)用程序進(jìn)行數(shù)據(jù)的裝入或轉(zhuǎn)出。在數(shù)據(jù)庫中把這種功能稱為關(guān)系數(shù)據(jù)庫和PHD的接口。有了這種機(jī)制,對于那些不懂得如何用API函數(shù)編程而掌握SQL知識的用戶,可直接用SQL語句對PHD進(jìn)行數(shù)據(jù)的添加和刪除。OLE DB Provider方式是從Honeywell PHD 202版本才開始提供的,它提供了以類似關(guān)系數(shù)據(jù)庫方式訪問PHD Server的方法。該方法訪問PHD簡單可靠,功能強(qiáng)大。但是 OLE DB Provider方法不提供PHD歷史數(shù)據(jù)直接編輯,所以要修改PHD歷史數(shù)據(jù),應(yīng)先刪除該條記錄,然后插入新數(shù)據(jù),把時間戳改成前面的值。 OLE DB Provider只提供簡單的SQL語句,并不支持比較復(fù)雜的SQL語句。
2.4 PHD Automation OLE(對象連接與嵌入)Server和ActiveX控件可視化控件方式
PHD Automation OLE Server和ActiveX控件,在PHD的客戶端提供了一個稱為Visual-PHD的模塊,該模塊將支持微軟的DCOM技術(shù)。Visual-PHD由兩部分組成:一個OLE自動服務(wù)器和一組ActiveX對象。該方法實(shí)現(xiàn)起來比較麻煩,配置比較繁瑣,一般較少使用。
在聚銀公司的MES項(xiàng)目實(shí)施中,就是通過API函數(shù)的方式從PHD中提取實(shí)時數(shù)據(jù),用于生產(chǎn)管理各種統(tǒng)計(jì)報表、實(shí)時報表以及單元生產(chǎn)成本的展示。例如創(chuàng)建以下函數(shù):
CREATE FUNCTION [dbo].[PHD_GetLastValue](@tags [nvarchar](4000), @endTime [datetime])
RETURNS TABLE (
[TagName] [nvarchar](50) NULL,
[TimeStamp] [datetime] NULL,
[Value] [float] NULL,
[Confidence] [int] NULL,
[HostName] [nvarchar](50) NULL,
[Units] [nvarchar](50) NULL,
[FormatedTime] [datetime] NULL
) WITH EXECUTE AS CALLER
AS EXTERNAL NAME [PHDAccess].[PHDAccessProxy].[GetLastValue]
此函數(shù)包含兩個參數(shù)@tags和@endTime并返回一張?zhí)摂M表數(shù)據(jù)。
@tags參數(shù)用來傳入需要提取的點(diǎn)位位號,@endTime參數(shù)傳入提取時間,內(nèi)部通過調(diào)用霍尼韋爾封裝好的PHDAccess程序集來提取PHD實(shí)時數(shù)據(jù),返回的虛擬表包括位號、采集時間、數(shù)值、可信度、主機(jī)名、單位和提取時間字段。
查詢多個點(diǎn)位的數(shù)據(jù):
首先,將需要查詢的點(diǎn)位位號添加在一張參數(shù)表中。然后定義一個varchar型的字符串變量,長度設(shè)為max,并將參數(shù)表中的位號PTag字段拼接成一個用“,”號隔開的字符串賦給變量:
declare @tagString varchar(max)
set @tagString='PTag'
select @tagString=@tagString+','+(rtrim(PTag)) from DataProperty
定義時間變量,并設(shè)置為當(dāng)前時間:
Declare @Time datetime
Set @Time=getdate()
最后,把字符串變量和時間變量傳給上面創(chuàng)建好的函數(shù)即可:
select * from dbo.PHD_GetLastValue(@tagString,@Time)
3 結(jié)束語
通過采用PHD實(shí)時數(shù)據(jù)庫系統(tǒng),可以搭建企業(yè)控制層與管理層之間的橋梁,將它們有機(jī)地結(jié)合起來,將分散的信息資源集成起來,實(shí)現(xiàn)生產(chǎn)控制系統(tǒng)的數(shù)據(jù)自動采集、存儲和監(jiān)視。聚銀公司PHD實(shí)時數(shù)據(jù)庫的搭建實(shí)施采用層次式結(jié)構(gòu)、多數(shù)據(jù)通道、OPC通訊、單Buffer連接PHD的接口設(shè)計(jì)方案,完成了7套裝置、3種DCS品牌、5種型號DCS的生產(chǎn)數(shù)據(jù)集成,并通過關(guān)系數(shù)據(jù)庫集成了質(zhì)量數(shù)據(jù)、裝桶數(shù)據(jù)等相關(guān)信息系統(tǒng)業(yè)務(wù)數(shù)據(jù),建立了統(tǒng)一的企業(yè)數(shù)據(jù)平臺,達(dá)到最優(yōu)化的數(shù)據(jù)采集和統(tǒng)一接口維護(hù)目標(biāo)。
主要參考文獻(xiàn)
[1]崔振偉,王華. PHD實(shí)時數(shù)據(jù)庫在MES中的應(yīng)用[J]. 石油規(guī)劃設(shè)計(jì),2009,20(4):34-37.
[2]Honeywell Inc. PHD OPC Server User Guide[Z].USA: Honeywell International Inc,2004.