OPC技術介紹與OPC開發技術
OPC全稱是OLE for Process Control,它的出現為基于Windows的應用程序和現場過程控制應用建立了橋梁。在過去,為了存取現場設備的數據信息,每一個應用軟件開發商都需要編寫專用的接口函數。由于現場設備的種類繁多,且產品的不斷升級,往往給用戶和軟件開發商帶來了巨大的工作負擔。通常這樣也不能滿足工作的實際需要,系統集成商和開發商急切需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設備驅動程序。在這種情況下,OPC標準應運而生。OPC標準以微軟公司的OLE技術為基礎,它的制定是通過提供一套標準的OLE/COM接口完成的,在OPC技術中使用的是OLE 2技術,OLE標準允許多臺微機之間交換文檔、圖形等對象。
COM是COMPONENT OBJECT MODEL的縮寫,是所有OLE機制的基礎。COM是一種為了實現與編程語言無關的對象而制定的標準,該標準將WINDOWS下的對象定義為獨立單元,可不受程序限制地訪問這些單元。這種標準可以使兩個應用程序通過對象化接口通訊,而不需要知道對方是如何創建的。例如,用戶可以使用C++語言創建一個WINDOWS對象,它支持一個接口,通過該接口,用戶可以訪問該對象提供的各種功能,用戶可以使用VISUAL BASIC,C,PASCAL,SMALLTALK或其它語言編寫對象訪問程序。在WINDOWS NT4.0操作系統下,COM規范擴展到可訪問本機以外的其它對象,一個應用程序所使用的對象可分布在網絡上,COM的這個擴展被稱為DCOM(DISTRIBUTED COM)。 
通過DCOM技術和OPC標準,完全可以創建一個開放的、可互操作的控制系統軟件。OPC采用客戶/服務器模式,把開發訪問接口的任務放在硬件生產廠家或第三方廠家,以OPC服務器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統的集成,提高了系統的開放性和可互操作性。
OPC服務器通常支持兩種類型的訪問接口,它們分別為不同的編程語言環境提供訪問機制。這兩種接口是:自動化接口(Automation interface);自定義接口(Custom interface)。自動化接口通常是為基于腳本編程語言而定義的標準接口,可以使用VisualBasic、Delphi、PowerBuilder等編程語言開發OPC服務器的客戶應用。而自定義接口是專門為C++等高級編程語言而制定的標準接口。OPC現已成為工業界系統互聯的缺省方案,為工業監控編程帶來了便利,用戶不用為通訊協議的難題而苦惱。任何一家自動化軟件解決方案的提供者,如果它不能全方位地支持OPC,則必將被歷史所淘汰。
OPC規范簡介
由OPC Task Force制定的OPC(OLE for Process Control)規范于1996年8月正式誕生了,隨著1997年2月Microsoft公司推出Windows95支持的DCOM技術,1997年9月新成立的OPC Foundation對OPC規范進行修改,增加了數據訪問等一些標準,OPC規范得到了進一步的完善。
“OPC 基于Microsoft公司的 Distributed interNet Application (DNA) 構架和 Component Object Model (COM) 技術的,根據易于擴展性而設計的。OPC規范定義了一個工業標準接口,這個標準使得COM技術適用于過程控制和制造自動化等應用領域。”OPC 基礎委員會主席Dave Rehbein是這樣描述的
OPC是以OLE/COM機制作為應用程序的通訊標準。OLE/COM是一種客戶/服務器模式,具有語言無關性、代碼重用性、易于集成性等優點。OPC規范了接口函數,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而保證軟件對客戶的透明性,使得用戶完全從低層的開發中脫離出來。
應用程序與OPC服務器之間必須有OPC接口,OPC規范提供了兩套標準接口:Custom標準接口,OLE自動化標準接口。通常在系統設計中采用OLE自動化標準接口。
OLE自動化標準接口,及采用OLE自動化技術進行調用,其技術為上節所述的OLE自動化技術。OLE自動化標準接口定義了以下三層接口,依次呈包含關系。
OPC Server:OPC啟動服務器,獲得其他對象和服務的起始類,并用于返回OPC Group類對象;
OPC Group:存儲由若干OPC Item組成的Group信息,并用于返回OPC Item類對象。
OPC Item:存儲具體Item 的定義、數據值、狀態值等信息。
由于OPC規范基于OLE/COM技術,同時OLE/COM的擴展遠程OLE自動化與DCOM技術支持TCP/IP等多種網絡協議,因此可以將OPC客戶、服務器在物理上分開,分布于網絡不同節點上。
OPC規范可以應用在許多應用程序中,如它們可以應用于從SCADA 或者DCS系統的物理設備中獲取原始數據的最低層,它們同樣可以應用于從SCADA 或者DCS系統中獲取數據到應用程序中。實際上,OPC設計的目的就是從網絡上某節點獲取數據。圖4.2.2OPC的客戶/服務器關系圖同樣描述了OPC在SCADA系統的應用。
采用OPC規范設計系統的好處
在進行新型微機遠動系統的研制中,各個計算機以及各個模塊的數據交換應該按照OPC規范進行。這樣做有以下好處:
·OPC規范以OLE/DCOM為技術基礎,而OLE/DCOM支持TCP/IP等網絡協議,因此可以將各個子系統從物理上分開,分布于網絡的不同節點上。
·OPC按照面向對象的原則,將一個應用程序(OPC服務器)作為一個對象封裝起來,只將接口方法暴露在外面,客戶以統一的方式去調用這個方法,從而保證軟件對客戶的透明性,使得用戶完全從低層的開發中脫離出來。
·OPC實現了遠程調用,使得應用程序的分布與系統硬件的分布無關,便于系統硬件配置以及,使得系統的應用范圍更廣。
采用OPC規范,便于系統的組態化,將系統復雜性大大簡化,可以大大縮短軟件開發周期,提高軟件運行的可靠性和穩定性,便于系統的升級與維護。
·OPC規范了接口函數,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而實現系統的開放性,易于實現與其它系統的接口。(end)