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