在了解OPC UA 協議之前,我們先了解一些它的前身OPC 協議,這樣更有利于了解OPC UA 的本質和由來。
OPC工業控制領域用到大量的現場設備,在OPC出現以前,軟件開發商需要開發大量的驅動程序來連接這些設備。即使硬件供應商在硬件上做了一些小小改動,應用程序也可能需要重寫。同時,由于不同設備甚至同一設備不同單元的驅動程序也有可能不同,軟件開發商很難同時對這些設備進行訪問以優化操作。為了消除硬件平台和自動化軟件之間互操作性的障礙,建立了OPC軟件互操作性标準,開發OPC的最終目标是在工業控制領域建立一套數據傳輸規範。
OPC全稱是OLE(Object Linking and Embedding) for Process Control。為了便于自動化行業不同廠家的設備和應用程序能相互交換數據,定義了一個統一的接口函數,就是OPC協議規範。OPC是基于WINDOWS COM/DOM的技術,可以使用統一的方式去訪問不同設備廠商的産品數據。簡單來說OPC就是為了用于設備和軟件之間交換數據。
OPC基金會前前後後規定了不同的接口定義,如下:
• OPC DA (Data Access, exchange of real-time values,數據訪問),定義了數據交換,包括值、時間和質量信息
• OPC A&E (Alarms & Events, exchange of alarms and events,警報和事件),定義了報警和事件類型消息信息的交換,以及變量狀态和狀态管理。
• OPC HDA (Historical Data Access, exchange of historical values,曆史數據訪問),定義了可應用于曆史數據、時間數據的查詢和分析的方法。
• OPC XML DA (XML-based exchange of real-time values)
OPC UAUA全稱是unified architecture(統一架構)。為了應對标準化和跨平台的趨勢,為了更好地推廣OPC,OPC基金會近些年在之前OPC成功應用的基礎上推出了一個新的OPC标準-OPC UA。OPC UA接口協議包含了之前的 A&E, DA,OPC XML DA or HDA,隻使用一個地址空間就能訪問之前所有的對象,而且不受WINDOWS平台限制,因為它是從傳輸層以上來定義的,導緻了靈活性和安全性比之前的OPC都提升了。
OPC UA實質上是一種抽象的框架,是一個多層架構,其中的每一層完全是從其相鄰層抽象而來。這些層定義了線路上的各種通信協議,以及能否安全地編碼/解碼包含有數據、數據類型定義等内容的訊息。利用這一核心服務和數據類型框架,人們可以在其基礎上(繼承)輕松添加更多功能。
OPC UA将成為一個轉換工具。其它協議/标準(如BACnet)可以非常輕松地轉換為OPC UA内的一個子集。
OPC UA多層方法實現了最初設計UA規範時的目标:
OPC UA 使用了對象(objects)作為過程系統表示數據和活動的基礎。對象包含了變量,事件和方法,它們通過引用(reference)來互相連接。
OPC UA 信息模型是節點的網絡(Network of Node,),或者稱為結構化圖(graph),由節點(Node)和引用(References)組成,這種結構圖稱之為OPC UA 的地址空間。這種圖形結構可以描述各種各樣的結構化信息(對象)。
地址空間要點:
2、節點模型
節點模型要點:
節點模型通用屬性
包含引用的節點為源節點,被引用的節點稱目标節點。引用的目标節點可以與源節點在同一個地址空間,也可以在另一個OPC服務器的地址空間,甚至是目标節點可以不存在。
3、引用模型類型定義節點
類型定義節點是服務器提供用于對象和變量的類型定義。
标準的節點類标準的節點類有如下幾種:
在OPC UA中,最重要的節點類别是對象,變量和方法。
1. 節點類别為對象
節點類别為對象的節點用于(構成)地址空間結構。
2. 節點類别為變量
節點類别為變量的節點代表一個值。
3. 節點類别為方法
節點類别為方法的節點,代表服務器中一個由客戶端調用并返回結果的方法。
OPC UA的模型采用XML 文件描述,然後通過一個編譯工具可以将XML 編譯成C 語言的程序。
OPC UA的優勢:一、功能方面,OPC UA不僅支持傳統OPC的所有功能,更支持更多新的功能:
1. 網絡發現:自動查詢本PC機中與當前網絡中可用的OPC Server。
2. 地址空間優化:所有的數據都可以分級結構定義,使得OPC Client不僅能夠讀取并利用簡單數據,也能訪問複雜的結構體。
3. 互訪認證:所有的讀寫數據/消息行為,都必須有訪問許可。
4. 數據訂閱:針對OPCClient不同的配置與标準,提供數據/消息的監控,以及數值變化時的變化報告。
5. 方案(Methods)功能:OPC UA中定義了通過在OPCServer中定義方案(Methods),來讓OPC client執行特定的程序。
二、平台支持方面,由于不再基于COM/DCOM技術,OPC UA标準提供了更多的可支持的硬件或軟件平台。
三、安全性方面,最大的變化是OPC UA可以通過任何單一端口(經管理員開放後)進行通信,這使得OPC通信不再會由于防火牆受到大量的限制。
OPC UA在通過防火牆時通過提供一套控制方案來解決安全問題:
核心的區别是因為OPC和OPC UA協議使用的TCP層不一樣,OPC是基于DOM/COM上,應用層最頂層;OPC UA是基于TCP IP scoket 傳輸層
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!