定義解釋
OPC全稱是Object Linking and Embedding(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,則必將被歷史所淘汰。
1、在控制領域中,系統往往由分散的各子系統構成;並且各子系統往往採用不同廠家的設備和方案。用戶需要,將這些子系統集成,並架構統一的實時監控系統。
2、這樣的實時監控系統需要解決分散子系統間的數據共享,各子系統需要統一協調相應控制指令。
3、再考慮到實時監控系統往往需要升級和調整。
4、就需要各子系統具備統一的開放接口。
5、OPC(OLE for Process Control) 規範正是這一思維的產物。
6、OPC 基於Microsoft公司的 Distributed interNet Application (DNA) 構架和 Component Object Model (COM) 技術的,根據易於擴展性而設計的。OPC規範定義了一個工業標準接口。
7、OPC是以OLE/COM機製作為應用程式的通訊標準。OLE/COM是一種客戶/伺服器模式,具有語言無關性、代碼重用性、易於集成性等優點。OPC規範了接口函式,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而保證軟體對客戶的透明性,使得用戶完全從低層的開發中脫離出來。
8、OPC定義了一個開放的接口,在這個接口上,基於PC的軟體組件能交換數據。它是基於Windows的OLE——對象連結和嵌入、COM——部件對象模型(Component Object Model)和DCOM——分散式COM(Distributed COM)技術。因而,OPC為自動化層的典型現場設備連線工業應用程式和辦公室程式提供了一個理想的方法。
套用領域
1、工控解決方案用戶
2、樓控解決方案用戶
3、工控解決方案廠商
4、樓控解決方案廠商
5、工控解決方案集成商
6、樓控解決方案集成商
7、所有自動化領域
OPC是為了連線數據源(OPC伺服器)和數據的使用者(OPC應用程式)之間的軟體接口標準。數據源可以是PLC,DCS,條形碼讀取器等控制設備。隨控制系統構成的不同,作為數據源的OPC伺服器既可以是和OPC應用程式在同一台計算機上運行的本地OPC伺服器,也可以是在另外的計算機上運行的遠程OPC伺服器。
OPC接口既適用於通過網路把最下層的控制設備的原始數據提供給作為數據的使用者(OPC應用程式)的HMI(硬體監督接口)/SCADA(監督控制與數據採集),批處理等自動化程式,以至更上層的歷史資料庫等應用程式,也適用於應用程式和物理設備的直接連線。所以OPC接口是適用於很多系統的具有高厚度柔軟性的接口標準。
解決問題
OPC誕生以前,硬體的驅動器和與其連線的應用程式之間的接口並沒有統一的標準。例如,在FA(FactoryAutomation)——工廠自動化領域,連線PLC(Programmable Logic Controller)等控制設備和SCADA/HMI軟體,需要不同的FA網路系統構成。根據某調查結果,在控制系統軟體開發的所需費用中,各種各樣機器的應用程式設計占費用的7成,而開發機器設備間的連線接口則占了3成。此外,在PA(Process Automation)——過程自動化領域,當希望把分散式控制系統(DCS——Distributed Control System)中所有的過程數據傳送到生產管理系統時,必須按照各個供應廠商的各個機種開發特定的接口,例如,利用C語言DLL(動態鏈路資料庫)連線DDE(動態數據交換)伺服器或者利用FTP(檔案傳送協定)的文本等設計應用程式。如由4種控制設備和與其連線的監視、趨勢圖以及表報3種應用程式所構成的系統時,必須花費大量時間去開發分別對應設備A,B,C,D的監視,趨勢圖以及表報應用程式的接口軟體總計要用12種驅動器。同時由於系統中共存各種各樣的驅動器,也使維護運轉環境的穩定性和信賴性更加困難。
而OPC是為了不同供應廠商的設備和應用程式之間的軟體接口標準化,使其間的數據交換更加簡單化的目的而提出的。作為結果,從而可以向用戶提供不依靠於特定開發語言和開發環境的可以自由組合使用的過程控制軟體組件產品。
利用OPC的系統,是由按照應用程式(客戶程式)的要求提供數據採集服務的OPC伺服器,使用OPC伺服器所必需的OPC接口,以及接受服務的OPC應用程式所構成。OPC伺服器是按照各個供應廠商的硬體所開發的,使之可以吸收各個供應廠商硬體和系統的差異,從而實現不依存於硬體的系統構成。同時利用一種叫做Variant的數據類型,可以不依存於硬體中固有數據類型,按照應用程式的要求提供數據格式。
利用OPC使接口標準化可以不依存於各設備的內部結構及它的供應廠商來選用監視,趨勢圖以及表報應用程式。
為什麼開發自主OPC Server和OPC Gateway?
1、國外原廠商的高價格
2、國外原廠商面對項目的不靈活性
3、國內項目中子系統的多樣性難以提供DRIVER
4、自主OPC伺服器追求的是穩定、實時、迅速。
5、眾多子系統的不規範性
6、總包項目在投標前後可能出現的不一致性
7、價格昂貴的原廠平台伺服器軟體
8、總包商集成是否投入大量的人力開發
9、平台和子系統的兼容性
10、建立了OPC平台和子系統的互通
11、解決廠商和集成商在項目集成的煩惱
12、解決廠商和集成商分散資源進行二次開發
13、解決項目中子系統廠商的困擾
14、為上下位的數據通訊提供透明的通道