寫在前面
大家好,我是小智,智能制造之家號主~
前面我們分享了西門子、施耐德、三菱、羅克韋爾等工業(yè)巨頭的主要工控協(xié)議及其端口:
西門子、施耐德、三菱、RA:全球主要工控協(xié)議及端口解析
也原創(chuàng)了很多工業(yè)協(xié)議、工業(yè)通訊相關的干活文章:
技術解讀PROFINET、Ethernet/IP等7種主流工業(yè)以太網
最全整理工業(yè)通訊上的領域各種總線+協(xié)議+規(guī)范+接口—數據采集與控制
最詳細的工業(yè)網絡通訊技術與協(xié)議總結解讀(現場總線、工業(yè)以太網、工業(yè)無線)
RS232,RS485,RJ45以及Modbus協(xié)議超全解析
工控協(xié)議之ModbusTCP報文功能碼詳解及模擬器下載分享
入門工業(yè)通訊之EtherNet/IP協(xié)議分析
還分享了各種SCADA與數據采集解決方案:
重磅PPT | 詳解工業(yè)數據采集與應用!
XX數字化工廠MES/SCADA系統(tǒng)規(guī)劃與實施方案
XX集團工廠集成改造MES+SCADA數字化項目實施方案
數字化車間的自動化設備聯(lián)網與數據采集實踐
今天我們分享超全的OPC UA技術解析~
所以我們將通過接下來三期文章,重點通過OPCUA技術的進化史、OPCUA的軟件架構和合適的OPCUA開發(fā)工具三個維度介紹OPCUA的現狀。旨在能夠為希望使用OPCUA的朋友提供從入門到進階的知識渠道。
OPCUA技術的前身
OPCUA技術的前身是1996年發(fā)布的Classic OPC。最成功的Classic OPC標準是OPC數據訪問(OPC Data Access),它被設計成通信驅動的接口。此接口允許在自動化設備上以標準化的形式讀取和寫入數據。主要使用對象是HMI和SCADA系統(tǒng),以獲取不同供應商設備統(tǒng)一的軟件接口和數據。
隨著Classic OPC的成功應用, 即成為自動化金字塔結構中不同層級之間的標準接口。但由于OPC對COM的依賴性以及使用DCOM的限制,不能將OPC用于遠程訪問,最終導致無法得到更廣泛的使用。
因此,OPC UA(OPCUnified Architecture)誕生的目標,就是希望設計一種能夠取代現有基于COM的特性同時不損失任何功能和性能的新規(guī)范。此外,它還要滿足能夠覆蓋所有獨立系統(tǒng)平臺的需求,也包含描述復雜系統(tǒng)的豐富的可擴展接口和建模能力。覆蓋范圍可從嵌入式系統(tǒng)到SCADA和MES甚至DCS和ERP系統(tǒng),讓OPC技術的使用范圍擴展到更多應用領域。
基于對新一代OPC的更多功能需求,由來自40多家組織的代表組成最初的工作組。在該工作組中,OPC基金會定義了如何描述和傳輸數據,而協(xié)作的其他組織根據其特定信息模型定義各自需要的描述和傳輸數據內容。為了達到最初定義的目標,OPC UA按照不同層次定義不同功能。
OPC UA層次結構
為了涵蓋Classic OPC中已使用的所有成功的服務,在OPC UA基礎服務(OPC UA Base Services)的上層為信息模型定義了對應的服務功能。DA定義了對指定過程數據的操作,例如模擬或數字量的建模以及如何發(fā)布。Alarm& Conditions(AC)定義了報警管理和狀態(tài)監(jiān)控功能的高級模型。Historical Access(HA)定義了訪問歷史數據和歷史事件的機制。Programs(Prog)定義了啟動、操作和監(jiān)視程序執(zhí)行的機制。
其他組織能夠基于OPC UA信息模型層(Specifications of InformationModels of other Organisations)建立專屬模型,并通過OPC UA發(fā)布他們規(guī)范化信息。例如,已經在OPC UA進行FDI標準和PLCOpen。FDI包括電子設備描述語言(EDDL)和現場設備工具(FDT),它用于描述、配置和監(jiān)視設備。PLCopen是一種用于PLC的編程語言標準。除了其他組織進行的規(guī)范集成,設備制造商信息模型也可以通過使用UA基礎功能、OPC模型或其他基于OPC UA的信息模型定義。
OPC UA技術在OPC技術的基礎上做了大幅的改進,不僅適用于傳統(tǒng)的過程控制的數據監(jiān)控類應用,其應用范圍擴展到從嵌入式的傳感器到現場級控制器,到HMI/SCADA系統(tǒng)以及MES和ERP系統(tǒng),甚至現在一些云服務商在提供工業(yè)云通訊的解決方案時也支持OPC UA。2015年,憑借具備信息模型建模和通訊加密的能力,OPC UA正式作為工業(yè)4.0參考架構模型里唯一推薦的通訊層規(guī)范。
OPC UA的發(fā)布解決了Classic OPC對于Windows COM/DCOM依賴的局限性以及其他功能上的限制。同時增強了通訊的安全機制、加強了數據建模等能力。所以,我們可以說Classic OPC被設計成設備驅動接口,而OPC UA被設計成系統(tǒng)接口。它不僅是一種通訊協(xié)議,更是一種系統(tǒng)描述方法。
OPC UA使用類似于傳統(tǒng)OPC的客戶端---服務器概念。向其他應用程序發(fā)布信息的應用程序稱為UA服務器,從其他應用程序獲取信息的應用程序稱為UA客戶端。
典型的OPC UA服務器/客戶端應用程序由三個軟件層組成,如下圖所示。完整的軟件協(xié)議棧可以用C/C++、.NET或JAVA等實現,OPC UA沒有限制使用這些編程語言和開發(fā)平臺。
OPC UA軟件層
OPC UA應用程序是要通過OPC UA發(fā)布或消費數據的系統(tǒng)。OPC UA應用程序包含應用程序所需的特定功能,并通過使用OPC UA協(xié)議棧(OPC UA Stack)+OPC UA軟件開發(fā)工具包(OPC UA Client/Server SDK),將應用程序的功能映射到OPC UA的信息模型和服務中。OPC UA客戶端或服務器SDK實現通用OPC UA功能,這些功能要作為應用層一部分的,并實現信息模型和服務。
UA Part 6中的UA通訊協(xié)議棧層定義
OPC UA協(xié)議棧(OPC UA Stack)實現UA第6部分(OPC UA Part6)中定義的多種OPC UA傳輸映射。UA協(xié)議棧用于跨進程或網絡調用UA服務。在OPC UA協(xié)議棧(OPC UA Stack)部分又劃分成三個層次,并且每層有不同的規(guī)范,如下圖:
消息編碼層(MessageSerialization)以二進制格式和XML格式定義服務參數的序列化。消息安全層(MessageSecurity)指定如何通過使用Web Service安全標準或UA二進制版本來保護消息。消息傳輸層(MessageTransport)定義了使用的網絡協(xié)議,例如UA TCP或HTTP和用于Web服務的SOAP。
OPC UA協(xié)議棧(OPC UA Stack)通過封裝為OPC UA SDK,以提供對應開發(fā)語言的UA客戶端和UA服務器應用程序API。對于設備供應商來說,OPC UA協(xié)議棧(OPC UA Stack)和OPC UA SDK這些組件只是工作開始的第一步,更重要的工作是根據具體需求提供模型抽象。
OPCUASDK
OPC UA SDK是對UA協(xié)議棧功能的結構化封裝,實現了所有UA應用程序所需的UA通用功能、安全的處理方法,并提供常用功能的示例程序。Unified Automation基于OPC Unified Architecture技術規(guī)范,提供一系列跨平臺的軟件開發(fā)框架,以適應從嵌入式設備制造商到企業(yè)應用程序開發(fā)人員的應用程序垂直信息集成。Unified Automation提供的OPC UA SDK包括Ansi C、C++、.NET和Java開發(fā)語言。設計的平臺從小的嵌入式系統(tǒng)到桌面PC機上到系統(tǒng)服務器。支持的操作系統(tǒng)包括Windows、Linux、VxWorks、WinCE、OnTime RTOS-32、InTime、FreeRTOS等。
下圖展示了SDK的主要模塊以及與OPC UA應用程序的集成。
在OPC UA Server/Client SDK模塊中實現了所有UA服務器/客戶端通用的UA功能。供應商在使用SDK的過程中不需要了解或者更改這些模塊的內部功能。SDK的用戶只需要知道模塊提供的接口和輔助功能的用法。基礎模塊用于實現OPC UA客戶端和服務器應用程序所需的基本功能。這些基本功能包含使用操作系統(tǒng)功能的封裝,以及用于UA類型(如字符串,擴展對象或其他常用UA結構)的封裝。
核心模塊用于管理OPC UA的地址空間,并實現UA的基本功能,例如管理連接和OPC 基金會定義的地址空間部分。
Pub/Sub模塊實現了OPC UA Pub/Sub通信所需的功能。它可以充當OPC UA發(fā)布者或OPC UA訂閱者。更多關于Pub/Sub功能,以及Unified Automation的Pub/Sub SDK的信息,我們今后專門進行討論。
用戶產品的UA功能在OPC UA的SystemIntegration模塊中實現。OPC UA SDK定義了應用所需的ServerConfig、NodeManager和IOManager接口以及MethodManager、EventManager和HistoryManager等可選接口,方便開發(fā)者將應用插入到核心模塊。
使用OPC UA SDK是開發(fā)OPC UA應用程序最便捷的方法。Unified Automation公司的SDK提供OPC UA Standard一致性標準的所有支持功能,并且OPC UA SDK服務可以作為獨立應用程序運行,也可以是現有應用程序的一部分。其SDK使用廠商幾乎囊括了國外所有大型自動化企業(yè),例如ABB、Siemens、Bosch、Trumpf、Kuka、Yokogawa、Honeywell等知名廠商。SDK的穩(wěn)定性和接口易用性在多個行業(yè)的知名廠商產品中得到了具體驗證。
審核編輯 :李倩
-
OPC
+關注
關注
7文章
357瀏覽量
47010 -
智能制造
+關注
關注
48文章
5816瀏覽量
77443
原文標題:超全的OPC UA技術解析
文章出處:【微信號:智能制造之家,微信公眾號:智能制造之家】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
鋇錸技術的BL102 OPC UA網關的OPC UA配置方式
多協(xié)議轉換網關支持OPC UA及SNMP協(xié)議
Matrikon OPC UA Tunneller軟件的安裝步驟
OPC UA技術助力信息化工廠建設
OPC UA SDK for Java通過OPC基金會認證
MES數據采集網關通過OPC UA網關實現工業(yè)現場設備對接OPC UA服務器
OPC UA FX是什么?優(yōu)勢及未來趨勢全解析

Prosys OPC UA Edge 介紹

【技術分享】 OPC UA安全策略證書簡述
BACnet轉OPC UA網關實現智能插座與InTouch系統(tǒng)對接

opc ua設備數據 轉 opc ua項目案例

評論