1 引言
隨著計算機網絡技術、控制技術、通信技術的發展,工業控制信息系統集成踏上了工業控制歷史的舞臺(信息集成即將控制系統和企業的上層管理系統結合到一起)。但是,隨著現代工業的發展,工業現場可以采用的工業控制設備種類越來越豐富,包括分布式控制系統(DCS)、可編程邏輯控制器(PLC)、工業控制計算機、智能調節器等。如何實現工業控制計算機環境中的各個技術子系統之間信息的溝通和傳遞成為信息系統集成亟待解決的首要問題,這就需要一種能夠有效進行數據訪問和管理的開放標準,OPC正是在這樣的背景下產生與發展起來。
2 OPC技術簡介
OPC是為了解決應用軟件和各種設備驅動程序的通訊而產生的一項工業技術規范和標準,它是Object Linking and Embedding(OLE)for Process Control的縮寫,是微軟公司的對象鏈接和嵌入技術在過程控制方面的應用。它采用客戶/服務器體系,基于Microsoft的OLE/COM和DCOM(Distributed Component Object Model)技術,為硬件廠商和軟件開發者提供了一套適合過程控制應用,支持過程數據訪問、報警、事件與歷史數據訪問等功能的接口、便于不同供應商的軟硬件實現“即插即用”的連接與系統集成。如圖1所示。
2.1 OPC對象與接口
OPC規范中為OPC服務器規定了兩套接口(如圖2所示):定制接口和自動化接口。定制接口是OPC服務器必須提供的,而自動化接口是可選的。定制接口只支持用C/C++編寫的客戶應用,自動化接口則支持更上層的應用,如VB、VBA等應用程序。
按照功能的不同,OPC基金會發布的OPC規范說明的每套接口分為3類接口:
(1) OPC數據訪問接口(OPC Data Access Interface,OPC DA):OPC DA中主要包括3類對象,分別是OPC Server,OPC Group,OPC Item。
(2) OPC報警和事件接口(OPC Alarm & Event Access Interface,OPC AE):OPC AE主要負責讓服務器在特定事件和報警條件發生時及時通知客戶,主要的對象有:OPC EventServer,OPC EventSubscripti和OPC EventAreaBrowser對象。
(3) OPC歷史數據訪問接口(OPC Historical Data AccessInterface,OPC HAD):歷史數據服務器可以向需要歷史數據的客戶提供有關的歷史信息源。
OPC標準規定了基本OPC對象有三個:OPC Server、OPC Group和OPC Item。其中OPC Server和OPC Group接口圖如
3、圖4所示。
圖3 OPC服務器對象
圖4 OPC組對象
2.2 OPC采集數據的方式
OPC客戶獲得的數據來自于OPC服務器緩存區,也可以來自于現場設備;從設備讀取數據速度比緩存區慢一些,一般只在故障診斷或極特殊的情況下才會從設備讀取數據。同步讀取、數據更新時,數據可以來自OPC服務器緩存區或現場設備;數據訂閱、異步讀取數據直接從現場設備讀取。
OPC客戶采集數據的方式有如下幾種。
(1) 同步讀寫數據 OPC服務器按照OPC應用程序的要求,把得到的數據結果作為參數返回給OPC應用程序,在得到結果之前OPC應用程序一直處于等待狀態。
(2) 異步讀寫數據 OPC應用程序向OPC服務器發出請求后,可以不等待返回的結果處理其它事務。當OPC服務器完成數據訪問時,觸發OPC應用程序的異步訪問完成事件,將數據訪問結果傳送給OPC應用程序。讀寫過程如圖5所示。
圖5 異步數據訪問處理
(3) 數據訂閱 這種方式OPC服務器處于主動狀態,服務器按一定的更新周期更新OPC服務器的數據緩沖器的數據,如果數據與前次相比變化幅度大于允許變化幅度(也稱為死區,DeadBand),則自動通過一個回調(IadivsSink::OndataChange或IOPCDataCallback::OnDataChange)向客戶發送數據。讀寫過程如圖6所示。
圖6 訂閱方式數據采集
(4) 數據更新 OPC客戶強制OPC服務器讀取一個有效組所有活動的Item,并通過一個回調向客戶發送數據。數據更新機能只對有效組才可用。
3 OPC技術在某鋼廠改造工程中的應用
在傳統的鋼廠監控系統中,要監測的設備種類很多,而且現場總線的應用也不一樣,進行工程改造的目的就是為了將這些分散的子系統有效地集成起來,同時,擴大生產規模,增加一些控制設備。圖7為基于OPC的過程控制系統結構圖。
圖7 基于OPC的過程控制系統結構
傳統的過程控制系統是一對一的系統,任何一種HMI等上位監控軟件或其它應用軟件在使用某種硬件設備時都需要開發專用的驅動程序。新增應用軟件或者硬件設備帶來的只會是驅動程序種類的迅速增長。基于OPC技術的過程控制系統則可以完美地解決傳統方式中的上述問題。任何一種設備只需要提供一種驅動就可以供任何軟件系統使用,輕松實現系統的擴展。從圖7中可以看出,OPC解決了現場總線系統中異構網段之間數據交換的問題,還可作為訪問專有數據庫的中間件。OPC便于集成不同的數據,為控制系統向管理系統升級提供了方便。而且,OPC使控制軟件能夠與硬件分別設計、生產和發展,并有利于獨立的第三方軟件供應商產生與發展,從而形成新的社會分工,有更多的競爭機制,為社會提供更多更好的產品。
4 結語
采用基于COM/DCOM技術的OPC規范,能提高計算機控制軟件系統的開放性能,各應用程序之間通過標準的OPC接口進行訪問控制。OPC技術改變了原有的控制系統模式,給國內系統生產廠商提出了一個發展的機遇和挑戰,符合OPC規范的軟、硬件也已被廣泛應用,給工業自動化領域帶來了勃勃生機。