[1] OPC UA基礎知識簡介


在瞭解OPC UA 的之前,我們首先了解一些它的前身OPC 協議。這樣更有利於瞭解OPC UA 的本質和由來。

OPC

什麼是OPC?

OPC全稱是OLE(Object Linking and Embedding) for Process Control。

爲了便於自動化行業不同廠家的設備和應用程序能相互交換數據,定義了一個統一的接口函數,就是OPC協議規範。有了OPC就可以使用統一的方式去訪問不同設備廠商的產品數據。
簡單來說: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。OPC是基於WINDOWS COM/DOM接口技術來規定的。

爲什麼需要OPC?

1.工業領域有大量的硬件,硬件與應用軟件耦合較大,底層變動對應用影響較大。
2.硬件設備廠商較多,不同設備之間的通訊及互操作困難。

工業控制領域用到大量的現場設備,在OPC出現以前,軟件開發商需要開發大量的驅動程序來連接這些設備。即使硬件供應商在硬件上做了一些小小改動,應用程序也可能需要重寫。同時,由於不同設備甚至同一設備不同單元的驅動程序也有可能不同,軟件開發商很難同時對這些設備進行訪問以優化操作。

爲了消除硬件平臺和自動化軟件之間互操作性的障礙,建立了OPC軟件互操作性標準,開發OPC的最終目標是在工業控制領域建立一套數據傳輸規範。

OPCUA簡介

什麼是OPC UA?

UA全稱是unified architecture(統一架構)。
爲了應對標準化和跨平臺的趨勢,爲了更好的推廣OPC,OPC基金會近些年在之前OPC成功應用的基礎上推出了一個新的OPC標準-OPC UA。OPC UA接口協議包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一個地址空間就能訪問之前所有的對象,而且不受WINDOWS平臺限制,因爲它是從傳輸層以上來定義的,導致了靈活性和安全性比之前的OPC都提升了。

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標準提供的更多的可支持的硬件或軟件平臺。硬件平臺諸如傳統的PC機、基於雲的服務器、PLC、ARM等其他微處理器;而軟件平臺可支持微軟的Windows、蘋果公司的OSX、安卓,以及其他的基於Linux的分佈式操作系統。
三、安全性方面,最大的變化是OPC UA可以通過任何單一端口(經管理員開放後)進行通信,這使得OPC通信不再會由於防火牆受到大量的限制。

核心的區別是因爲OPC和OPC UA協議使用的TCP層不一樣,如下:
OPC是基於DOM/COM上,應用層最頂層;OPC UA是基於TCP IP scoket 傳輸層
在這裏插入圖片描述在這裏插入圖片描述

OPC UA規範標準

爲了使 OPC UA 規範具有普遍的適應性,OPC 基金會使用了抽象的概念和術語形成 UA 規範,其中核心規範有 6 部分,訪問類型規範由 6 部分組成。UA 服務器和客戶端開發除了依賴於 UA 十三個規範的需求性指導以外,還需要合適的技術作爲開發 UA服務器和客戶端功能模塊的基礎。因此,具體的開發過程,需要分析相關規範,並結合具體的實踐環境,確定合適的技術手段。
在這裏插入圖片描述
Part1到Part13全部文檔下載鏈接:下載鏈接

OPC UA基礎

OPC UA 規範實質上是個抽象的分層架構,層與層之間是緊密聯繫,OPC UA 由下圖的不同層次構成,它的基礎組件是傳輸機制和信息建模,從圖中能清楚得到,規範中第6
、7、8、9、11 部分是描述了數據機制,而規範中第 3、4、5 部分是說明信息建模。
OPC UA 在傳輸機制方面超越了傳統的 OPC規範,它爲企業內部網通信定義了二進制TCP,同時爲防火牆友好的互聯網通信定義了映射,接受如Web服務,XML、HTTP
等的互聯網標準的通信。OPC UA 對傳統 OPC 規範的最大創新是信息建模。
在這裏插入圖片描述
OPC UA 規範劃分爲不同層次,目的是爲了把核心設計從底層運算處理和傳輸網絡中分離開來,這能使在不改變底層設計的情況下,運用最新技術,這些底層設計主要定
義了傳輸的通信協議,對數據的解編碼,和各種數據類型定義等信息。在這些核心服務與數據類型框架下,未來人們能根據實踐需要添加更多功能。這樣,能使 OPC UA 更具有生命力。

OPC UA 軟件層

OPC UA使用類似經典OPC的客戶端/服務器概念。一個希望對其他應用暴露自己的信息的應用程序被稱爲UA服務器。而一個想要使用其他應用程序的信息的應用程序被稱爲UA客戶端。但是,期望與經典OPC相比,更多的應用是在一個應用程序中包含UA服務器和UA客戶端。其中一個原因是,越來越多的UA服務器將被直接集成在設備中,同時實現一個UA客戶端使設備到設備的通信變得可行。另一個原因是, OPC UA用作配置接口, UA客戶端同時也是一個可以通過OPC UA進行配置的UA服務器。
在這裏插入圖片描述
一個典型的OPC UA的應用是由上圖所示的三個軟件層次組成的。整個完整的軟件棧可以使用C/C ++、.NET或Java實現。OPC UA不限定只使用這些編程語言和開發平臺,但目前只有這些環境下的OPC基金會的UA棧的實現可以交付使用。一個OPC UA應用程序是一個要公開或使用OPC UA數據的系統。它包含該應用程指定的功能,以及通過使用OPC UA棧和OPC UA 的軟件來發工具包(SDK), 從該功能到OPC UA的映射。

在網絡環境中基於 SDK 構建 UA 應用程序之間的交互。下圖中能看出,SDK 總是在協議棧之上,UA 服務器和 UA 客戶端都在 SDK 之上開發的。
在這裏插入圖片描述
各種開源OPC UA實現工具代碼,SDK,開源代碼等:鏈接

OPC UA 學習內容

如果想要了解學習OPC UA,可以根據自身需求,參照下表,學習對應的內容。
在這裏插入圖片描述
參考:《OPC 統一架構》、OPC UA信息模型及其應用—江城、

水平有限,如有不對之處,還請指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章