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

Matrikon OPC UA Tunneller軟件的安裝步驟
OPC UA技術(shù)助力信息化工廠建設(shè)
OPC UA SDK for Java通過OPC基金會認(rèn)證
MES數(shù)據(jù)采集網(wǎng)關(guān)通過OPC UA網(wǎng)關(guān)實現(xiàn)工業(yè)現(xiàn)場設(shè)備對接OPC UA服務(wù)器
超全的OPC UA技術(shù)解析
OPC UA FX是什么?優(yōu)勢及未來趨勢全解析

Prosys OPC UA Edge 介紹

【技術(shù)分享】 OPC UA安全策略證書簡述
BACnet轉(zhuǎn)OPC UA網(wǎng)關(guān)實現(xiàn)智能插座與InTouch系統(tǒng)對接

opc ua設(shè)備數(shù)據(jù) 轉(zhuǎn) opc ua項目案例

評論