開放平台通訊

開放平台通訊Open Platform Communications)簡稱OPC,舊稱「用於過程控制OLE」,是用於工業自動化的一種通訊標準。裝置製造商(特別是PLC)如果遵從這一標準,則即時資料可提供給OPC Server,上位機的軟體(稱為OPC Client)直接訪問OPC Server就可以取得到裝置資料,從而對不同的裝置的差異透明化。

1996年首次發布後,由OPC基金會英語OPC Foundation維護這一標準。[1] 2011年名字從「用於過程控制的OLE」改為「開放平台通訊」,[2]以反映OPC已經從過程控制領域推廣到智慧型建築離散製造英語discrete manufacturing等。OPC也超出了傳統的OLE技術,採用了.NET FrameworkXML、OPC基金會的二進制編碼TCP格式。

起源與使用

開放平台通訊(OPC)規範是以微軟所開發,針對Microsoft Windows作業系統下的物件連結與嵌入(DDE)、組件物件模型(COM)及Distributed COM(DCOM)技術為基礎。規格定義了過程控制及工廠自動化需要的物件介面方法,目的是為了達到互操作性。最常見的OPC規範是讀寫實時資料用的OPC資料存取英語OPC Data Access(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 Historical Data Access(OPC HDA)的規範。OPC DA存取的是實時的資料,OPC HDA允許存取及檢索已存檔的歷史資料。

OPC基金會還維護OPC Alarms and Events的規範,定義警告及事件型式的訊息資訊,類似變數狀態及狀態管理的訊息[3]

設計

開放平台通訊的設計目的是提供Windows-based軟體應用程式以及程式控制硬體共同的橋梁。規範中定義從車間樓層裝置存取現場裝置的一致性方法。不論資料的來源及型態如何,方法都是不變的。某一硬體裝置的OPC伺服器提供OPC Client存取資料的方式,和其他裝置的OPC伺服器提供的方式都是一樣的。目的是為了減少硬體設計者、軟體合作廠商、SCADAHMI廠商花在處理這類問題,建立相關介面上的心力。只要硬體製造商針對其硬體裝置開發了OPC伺服器,他們的工作就已經完成,任何裝置都可以存取其資訊,只要SCADA製造商開發了OPC client,就可以存取OPC相同的硬體。

OPC伺服器提供方法給許多不同的軟體套件(前提是這些軟體要是OPC client),讓程式控制裝置(例如PLCDCS英語distributed control system)來存取資料。傳統上,若軟體需要從一個裝置存取資料,需要撰寫客製的介面(驅動程式)。OPC的目的就是定義共同的介面,只要開發一次,任何SCADA、人機介面或是電腦軟體都可以用此介面存取資料。

OPC規格沒有限制伺服器提供哪些資料給程式控制裝置。OPC伺服器可以傳送MCU的內部溫度,也可以傳送某一地區目前的溫度。

只要某個裝置已經有了OPC伺服器,其他可以作為OPC client的軟體就可以存取此一裝置。OPC伺服器使用微軟的OLE技術(也稱為元件物件模型,COM)來和client通訊。COM技術提供在軟體應用程式以及程式硬體之間即時的資料交換。

OPC規範中有一些已經出版發行,其他一部份只開放給OPC協會的成員,沒有一家公司擁有OPC規範,任何一家公司就算不是OPC協會的成員,也可以開發OPC伺服器,非成員不一定要使用到最新的規範。任何人都可以整合OPC產品,系統整合商也不需要屬於任何組織。每家需要OPC產品的公司可以自行決定其產品是否要經過認證,其系統整合商是否有需要接受必要的訓練。

未來

OPC UA(OPC Unified Architecture)已經有對應的規範,並且其早期Adopters版本已經部署並且進行測試。OPC UA可以用JavaMicrosoft .NETC語言實現,避免了早期OPC版本需要用Microsoft Windows為基礎的系統才能實現的問題。UA結合了現有OPC介面的功能,又加入了像XMLWeb Services等技術,來支援高階的製造執行系統(MES)及企業資源計劃(ERP)等應用。

OPC組織和MTConnect英語MTConnect組織在2010年9月16日宣佈會彼此合作,讓兩個標準之間有一致性及互操作性[4]

實現

  • LIGHTOPC:免費開源的OPC Server
  • MODBUSTOOPC:免費開源,把MODBUS通訊協定轉為OPC

參見

參考文獻

  1. ^ What is OPC?頁面存檔備份,存於網際網路檔案館opcfoundation.org頁面存檔備份,存於網際網路檔案館
  2. ^ 存档副本. [2017-10-19]. (原始內容存檔於2017-07-04). 
  3. ^ OPC A&E specification. [2017-10-19]. (原始內容存檔於2022-06-05). 
  4. ^ OPC Foundation and MTConnect Institute Announce a Memorandum of Understanding. OPC Foundation. 2010-10-21 [2010-10-26]. (原始內容存檔於2011-06-16). 

外部連結