深入理解OPC技術
2020-10-29新聞
OPC技術為工業自動化數據交換提供了一種解決方案,它是由硬件供應商、軟件開發者、終端用戶共同制定的一整套規范。隨著我們國家智能制造的推廣和深入,設備互聯為大勢所趨。OPC技術作為一種設備互聯技術,有著廣泛的應用前景。今天這篇文章,我們和大家聊聊OPC技術的前世今生。
1、OPC技術產生的背景
在OPC技術產生之前,自動化現場的設備互聯沒有統一的標準。
不同的硬件和軟件廠商都制定了一套自己的標準。
由于標準不統一,就造成了軟件與硬件之間、設備與設備之間的通信程序代碼不能重復利用,必須為不同的設備開發不同的通信程序;
例如下面這張圖:
PC軟件包、PLC程序及DCS程序要訪問三種不同設備,必須分別為每一種設備編寫一套程序代碼。
通信標準的不統一,使得軟件/硬件供應商花費了大量的時間和金錢來開發和維護基于各種不同通信協議的代碼,造成成本的大幅上升。大家迫切希望有一個統一的通信標準,提供一種即插即用的軟件接口,能夠實現不同設備之間、軟件和硬件之間的互通互聯。
OPC技術就是基于這樣的背景而誕生的。
OPC技術的發展經歷了經典OPC和OPC UA兩個階段。
2、經典OPC(OPC Classic )
經典OPC是OPC技術的早期階段,名稱中的“OPC”是英文“OLE for Process Control”的縮寫,中文翻譯為“過程控制的OLE”。
這里的“OLE”,是英文“Object Linking and Embedding”的縮寫,中文翻譯為“對象連接與嵌入”。OLE技術是基于微軟公司的COM/DCOM技術,因此經典OPC本質上也是基于COM/DCOM的過程控制技術。
經典OPC提供了一整套過程控制中數據交換的軟件標準和接口,包括:
OPC數據訪問接口(OPC Data Access ,OPC DA);
OPC報警與事件接口(OPC Alarms & Events ,OPC AE);
OPC歷史數據訪問接口(OPC Historical Data Access ,OPC HDA);
OPC數據訪問接口定義了數據交換的規范,包括:過程值、更新時間、數據品質等信息;
OPC報警與事件接口定義了報警、事件消息、變量的狀態及如何管理;
OPC歷史數據訪問接口定義了訪問及分析歷史數據的方法;
根據在過程控制中扮演角色的不同,經典OPC軟件可以分為OPC服務器(Server)軟件和OPC客戶端(Client)軟件兩大類。
OPC服務器軟件是整個系統的核心,它一方面與現場設備、PLC進行通信,將各種不同的現場總線、通信協議轉換成統一的OPC協議;另一方面它與OPC客戶端軟件通過標準OPC協議進行通信,為OPC客戶端提供數據或者將OPC客戶端的指令發送給PLC與現場設備;
OPC客戶端軟件只需要通過標準OPC協議與OPC服務器進行通信,就能將指令與數據發送給PLC或者現場設備;
下面這張圖是經典OPC軟件工作的示意圖:
可以看出,OPC服務器軟件在整個系統中處于中介地位,它一方面聯系現場設備與PLC,另一方面與OPC客戶端軟件保持聯系。
這樣做的好處在于:設備廠商只需要提供一個自己設備的OPC服務器軟件,其它任何設備或軟件只需要編寫一個OPC客戶端軟件就能其通信;由于OPC的接口都是統一的,這大大減少了編程開發的工作量,日后的維護效率也成倍提高。
經典OPC在過程控制中有著出色的表現。但是隨著技術的發展及一些外部因素的變化,導致經典OPC已經不能完全滿足人們的需求。
主要表現在如下幾個方面:
經典OPC依賴微軟的COM/DCOM技術。但是隨著IT技術的發展,微軟已經弱化了這種技術,而轉向了跨平臺的SOA (Service-Oriented Architecture)技術;
OPC供應商希望提供一種數據模型將OPC DA、OPC AE、OPC HDA統一起來;
為了增強競爭能力,OPC供應商希望將OPC技術應用到非Windows平臺;
終端用戶希望能在設備硬件的固件程序中直接訪問OPC服務器軟件;
一些合作組織希望提供高效的、安全的、用于高水平數據傳輸的數據結構;
在這種情況下,OPC技術的推廣和管理組織——OPC基金會(OPC Foundation)在2008年推出了新的OPC技術:OPC UA(OPC Unified Architecture),中文翻譯為“OPC統一架構”。
3、OPC UA
OPC統一架構具有功能對等性、平臺獨立性、安全性、可擴展性及綜合信息建模等特性。
3.1、功能對等性
OPC UA實現了經典OPC的所有功能,并增加或增強了如下一些功能:
3.1.1、發現:可以在本地PC和/或網絡上查找可用的OPC服務器;
3.1.2、地址空間:所有數據都是分層表示的(例如文件和文件夾),允許OPC客戶端發現、利用簡單和復雜的數據結構;
3.1.3、按需:基于訪問權限讀取和寫入數據/信息;
3.1.4、訂閱:監視數據/信息,并且當值變化超出客戶端的設定時報告異常;
3.1.5:事件:基于客戶端的設定通知重要信息;
3.1.6、方法:客戶端可以基于在服務器上定義的方法來執行程序等;
OPC UA產品和OPC Classic產品之間的集成可以通過COM/Proxy Wrappers輕松實現
3.2、平臺獨立性
OPC統一架構(OPC UA)是跨平臺的,不依賴于硬件或者軟件操作系統;可以運行在PC、PLC、云服務器、微控制器等不同的硬件下,支持Windows、Linux、Apple OS、Android等操作系統;
3.3、安全性
OPC UA支持會話加密、信息簽名等安全技術,每個UA的客戶端和服務器都要通過OpenSSL證書標識,具有用戶身份驗證,審計跟蹤等安全功能。
3.4、可擴展性
OPC UA的多層架構提供了一個“面向未來”的框架。諸如新的傳輸協議、安全算法、編碼標準或應用服務等創新技術和方法可以并入OPC UA,同時保持現有產品的兼容性;
3.5、綜合信息建模
OPC UA信息建模框架可以將數據轉換為信息。通過完全的面向對象技術,即使非常復雜多層次結構也可以被建模和擴展。
由于OPC UA技術的發展,OPC已經變成“開發平臺通信(Open Platform Communications)”的縮寫。