2017年9月,OPC UA正式成為國家推薦性標準。而對于OPC UA是什么,和OPC有什么區別,為什么要使用OPC UA,很多人卻感到疑惑。以下這篇文章,將幫助大家解答疑惑。
什么是OPC
為了便于自動化行業不同廠家的設備和應用程序能相互交換數據,定義了一個統一的接口函數,就是OPC協議規范。有了OPC就可以使用統一的方式去訪問不同設備廠商的產品數據。
經典OPC規范基于微軟Windows系統提供的COM/DCOM技術,用于軟件之間數據交換的規范。OPC規范定義了幾種不同的,用于訪問過程數據、報警信息以及歷史數據的版本規范:
• OPC實時數據訪問規范:OPC DA (Data Access, exchange of real-time values)定義了包括數據值,更新時間與數據品質信息的相關標準。
• OPC報警事件訪問規范:OPC A&E (Alarms & Events, exchange of alarms and events) 定義了報警與時間類型的消息類信息,以及狀態變化管理等相關標準。
• OPC歷史數據訪問規范:OPC HDA (Historical Data Access, exchange of historical values) 定義了查詢、分析歷史數據和含有時標的數據的方法。
• OPC基于XML Web服務的數據訪問規范:OPC XML DA (XML-based exchange of real-time values)規范定義了常用標記的命名空間,及目標命名空間。
以上所有的接口定義都統稱為OPC。
什么是OPC UA
為了應對標準化和跨平臺的趨勢,為了更好的推廣OPC,OPC基金會近些年在之前OPC成功應用的基礎上推出了一個新的OPC標準-OPC UA。
OPC UA接口協議包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一個地址空間就能訪問之前所有的對象,而且不受WINDOWS平臺限制,靈活性和安全性比之前的OPC都得到了提升。
OPC UA規范不再是基于COM/DCOM技術,因此OPC UA不僅能在Windows平臺上實現,更可以在Linux,以及其他的嵌入式平臺中實現。
區別
OPC和OPC UA協議使用的TCP層不一樣:
OPC是基于DOM/COM上,應用層最頂層;
OPC UA是基于TCP IP scoket 傳輸層。
OPC雖然通過配置COM/DOM來提供數據加密和簽名功能,配置防火墻,用戶權限來讓數據訪問變得更加安全,但是會增加額外的工作量,尤其是對非IT的工程師來說;
對于OPC UA,數據加密和簽名,防火墻等都是默認的功能。比如基于DOM的OPC使用的動態端口分配,端口不固定,讓防火墻難以確定,而OPC UA的端口都是唯一的,比如SINUMERIK 840D是PORT 4840,SIMATIC S7是PORT 4845。DOM/COM也可以生成不同級別的事件日志,但日志內容不夠詳細,只會提供“誰連接上服務器”這種,而對于OPC UA來說都是默認的功能,生成的日志內容更全面。
為什么使用OPC UA
01
功能方面,OPC UA不僅支持傳統OPC的所有功能,更支持更多新的功能,例如地址空間優化、互訪認證等。
02
平臺支持方面,由于不再基于COM/DCOM技術,OPC UA標準提供的更多的可支持的硬件或軟件平臺。
03
安全性方面,最大的變化是OPC UA可以通過任何單一端口(經管理員開放后)進行通信,這使得OPC通信不再會由于防火墻受到大量的限制。