開放平台通信

開放平台通信

開放平台通信(Open Platform Communications)簡稱OPC,舊稱“用於過程式控制制的OLE”,是用於工業自動化的一種通信標準。設備製造商(特別是PLC)如果遵從這一標準,則實時數據可提供給OPC Server,上位機的軟體(稱為OPC Client)直接訪問OPC Server就可以獲取到設備數據,從而對不同的設備的差異透明化。

1996年首次發布后,由OPC基金會維護這一標準。 2011年名字從“用於過程式控制制的OLE”改為“開放平台通信”,以反映OPC已經從過程式控制制領域推廣到智能建築、離散製造等。OPC也超出了傳統的OLE技術,採用了.NET Framework、XML、OPC基金會的二進位編碼TCP格式。

起源與使用


開放平台通信(OPC)規範是以微軟所開發,針對Microsoft Windows操作系統下的對象鏈接與嵌入(DDE)、組件對象模型(COM)及Distributed COM(DCOM)技術為基礎。規格定定義了過程式控制制及工廠自動化需要的對象、介面及方法,目的是為了達到互操作性。最常見的OPC規範是讀寫實時數據用的OPC數據訪問(OPC DA)。許多製造商提到OPC時,所指的其實就是OPC Data Access。OPC DA在初版發行起,已有三個主要的版本,所有版本都向後兼容。第一版OPC DA的客戶端仍可以訪問第三版OPC DA的伺服器,各版本會增加機能,但原有的機能仍然要支持。不過若客戶端允許數據寫入,就不支持舊版的伺服器,例如DA 3 相同的客戶端不一定支持DA 1.0的伺服器。
除了OPC DA規範外,OPC基金會也維護OPC Historical Data Access(OPC HDA)的規範。OPC DA訪問的是實時的數據,OPC HDA允許訪問及檢索已存檔的歷史數據。
OPC基金會還維護OPC Alarms and Events的規範,定義警告及事件型式的消息信息,類似變數狀態及狀態管理的消息。

設計編輯


開放平台通信的設計目的是提供Windows-based軟體應用程序以及程序控制硬體共同的橋樑。規範中定義從車間樓層設備訪問現場設備的一致性方法。不論數據的來源及類型如何,方法都是不變的。某一硬體設備的OPC伺服器提供OPC Client訪問數據的方式,和其他設備的OPC伺服器提供的方式都是一樣的。目的是為了減少硬體設計者、軟體合作廠商、SCADA及HMI廠商花在處理這類問題,創建相關介面上的心力。只要硬體製造商針對其硬體設備開發了OPC伺服器,他們的工作就已經完成,任何設備都可以訪問其信息,只要SCADA製造商開發了OPC client,就可以訪問OPC相同的硬體。
OPC伺服器提供方法給許多不同的軟體包(前提是這些軟體要是OPC client),讓程序控制設備(例如PLC、DCS)來訪問數據。傳統上,若軟體需要從一個設備訪問數據,需要撰寫定製的界面(驅動程序)。OPC的目的就是定義共同的介面,只要開發一次,任何SCADA、人機界面或是電腦軟體都可以用此介面訪問數據。
OPC規格沒有限制伺服器提供哪些數據給程序控制設備。OPC伺服器可以發送MCU的內部溫度,也可以發送某一地區目前的溫度。
只要某個設備已經有了OPC伺服器,其他可以作為OPC client的軟體就可以訪問此一設備。OPC伺服器使用微軟的OLE技術(也稱為組件對象模型,COM)來和client通信。COM技術提供在軟體應用程序以及程序硬體之間即時的數據交換。
OPC規範中有一些已經出版發行,其他一部分只開放給OPC協會的成員,沒有一家公司擁有OPC規範,任何一家公司就算不是OPC協會的成員,也可以開發OPC伺服器,非成員不一定要使用到最新的規範。任何人都可以集成OPC產品,系統集成商也不需要屬於任何組織。每家需要OPC產品的公司可以自行決定其產品是否要經過認證,其系統集成商是否有需要接受必要的訓練。

未來編輯


主條目:OPC UA
OPC UA(OPC Unified Architecture)已經有對應的規範,並且其早期Adopters版本已經部署並且進行測試。OPC UA可以用Java、Microsoft .NET、C語言實現,避免了早期OPC版本需要用Microsoft Windows為基礎的系統才能實現的問題。UA結合了現有OPC介面的功能,又加入了像XML及Web Services等技術,來支持高階的製造執行系統(MES)及企業資源計劃(MES)等應用。
OPC組織和MTConnect組織在2010年9月16日宣布會彼此合作,讓兩個標準之間有一致性及互操作性。

實現編輯


• LIGHTOPC:免費開源的OPC Server
• MODBUSTOOPC:免費開源,把MODBUS通信協議轉為OP