寫在前面
大家好,我是小智,智能制造之家號(hào)主~
前面我們分享了西門子、施耐德、三菱、羅克韋爾等工業(yè)巨頭的主要工控協(xié)議及其端口:
西門子、施耐德、三菱、RA:全球主要工控協(xié)議及端口解析
也原創(chuàng)了很多工業(yè)協(xié)議、工業(yè)通訊相關(guān)的干活文章:
技術(shù)解讀PROFINET、Ethernet/IP等7種主流工業(yè)以太網(wǎng)
最全整理工業(yè)通訊上的領(lǐng)域各種總線+協(xié)議+規(guī)范+接口—數(shù)據(jù)采集與控制
最詳細(xì)的工業(yè)網(wǎng)絡(luò)通訊技術(shù)與協(xié)議總結(jié)解讀(現(xiàn)場(chǎng)總線、工業(yè)以太網(wǎng)、工業(yè)無線)
RS232,RS485,RJ45以及Modbus協(xié)議超全解析
工控協(xié)議之ModbusTCP報(bào)文功能碼詳解及模擬器下載分享
入門工業(yè)通訊之EtherNet/IP協(xié)議分析
還分享了各種SCADA與數(shù)據(jù)采集解決方案:
重磅PPT | 詳解工業(yè)數(shù)據(jù)采集與應(yīng)用!
XX數(shù)字化工廠MES/SCADA系統(tǒng)規(guī)劃與實(shí)施方案
XX集團(tuán)工廠集成改造MES+SCADA數(shù)字化項(xiàng)目實(shí)施方案
數(shù)字化車間的自動(dòng)化設(shè)備聯(lián)網(wǎng)與數(shù)據(jù)采集實(shí)踐
今天我們分享超全的OPC UA技術(shù)解析~
所以我們將通過接下來三期文章,重點(diǎn)通過OPCUA技術(shù)的進(jìn)化史、OPCUA的軟件架構(gòu)和合適的OPCUA開發(fā)工具三個(gè)維度介紹OPCUA的現(xiàn)狀。旨在能夠?yàn)橄M褂肙PCUA的朋友提供從入門到進(jìn)階的知識(shí)渠道。
OPCUA技術(shù)的前身
OPCUA技術(shù)的前身是1996年發(fā)布的Classic OPC。最成功的Classic OPC標(biāo)準(zhǔn)是OPC數(shù)據(jù)訪問(OPC Data Access),它被設(shè)計(jì)成通信驅(qū)動(dòng)的接口。此接口允許在自動(dòng)化設(shè)備上以標(biāo)準(zhǔn)化的形式讀取和寫入數(shù)據(jù)。主要使用對(duì)象是HMI和SCADA系統(tǒng),以獲取不同供應(yīng)商設(shè)備統(tǒng)一的軟件接口和數(shù)據(jù)。
隨著Classic OPC的成功應(yīng)用, 即成為自動(dòng)化金字塔結(jié)構(gòu)中不同層級(jí)之間的標(biāo)準(zhǔn)接口。但由于OPC對(duì)COM的依賴性以及使用DCOM的限制,不能將OPC用于遠(yuǎn)程訪問,最終導(dǎo)致無法得到更廣泛的使用。
因此,OPC UA(OPCUnified Architecture)誕生的目標(biāo),就是希望設(shè)計(jì)一種能夠取代現(xiàn)有基于COM的特性同時(shí)不損失任何功能和性能的新規(guī)范。此外,它還要滿足能夠覆蓋所有獨(dú)立系統(tǒng)平臺(tái)的需求,也包含描述復(fù)雜系統(tǒng)的豐富的可擴(kuò)展接口和建模能力。覆蓋范圍可從嵌入式系統(tǒng)到SCADA和MES甚至DCS和ERP系統(tǒng),讓OPC技術(shù)的使用范圍擴(kuò)展到更多應(yīng)用領(lǐng)域。
基于對(duì)新一代OPC的更多功能需求,由來自40多家組織的代表組成最初的工作組。在該工作組中,OPC基金會(huì)定義了如何描述和傳輸數(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)的上層為信息模型定義了對(duì)應(yīng)的服務(wù)功能。DA定義了對(duì)指定過程數(shù)據(jù)的操作,例如模擬或數(shù)字量的建模以及如何發(fā)布。Alarm& Conditions(AC)定義了報(bào)警管理和狀態(tài)監(jiān)控功能的高級(jí)模型。Historical Access(HA)定義了訪問歷史數(shù)據(jù)和歷史事件的機(jī)制。Programs(Prog)定義了啟動(dòng)、操作和監(jiān)視程序執(zhí)行的機(jī)制。
其他組織能夠基于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)場(chǎng)設(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)場(chǎng)級(jí)控制器,到HMI/SCADA系統(tǒng)以及MES和ERP系統(tǒng),甚至現(xiàn)在一些云服務(wù)商在提供工業(yè)云通訊的解決方案時(shí)也支持OPC UA。2015年,憑借具備信息模型建模和通訊加密的能力,OPC UA正式作為工業(yè)4.0參考架構(gòu)模型里唯一推薦的通訊層規(guī)范。
OPC UA的發(fā)布解決了Classic OPC對(duì)于Windows COM/DCOM依賴的局限性以及其他功能上的限制。同時(shí)增強(qiáng)了通訊的安全機(jī)制、加強(qiáng)了數(shù)據(jù)建模等能力。所以,我們可以說Classic OPC被設(shè)計(jì)成設(shè)備驅(qū)動(dòng)接口,而OPC UA被設(shè)計(jì)成系統(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)用程序由三個(gè)軟件層組成,如下圖所示。完整的軟件協(xié)議??梢杂肅/C++、.NET或JAVA等實(shí)現(xiàn),OPC UA沒有限制使用這些編程語言和開發(fā)平臺(tái)。
OPC UA軟件層
OPC UA應(yīng)用程序是要通過OPC UA發(fā)布或消費(fèi)數(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實(shí)現(xiàn)通用OPC UA功能,這些功能要作為應(yīng)用層一部分的,并實(shí)現(xiàn)信息模型和服務(wù)。
UA Part 6中的UA通訊協(xié)議棧層定義
OPC UA協(xié)議棧(OPC UA Stack)實(shí)現(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)部分又劃分成三個(gè)層次,并且每層有不同的規(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,以提供對(duì)應(yīng)開發(fā)語言的UA客戶端和UA服務(wù)器應(yīng)用程序API。對(duì)于設(shè)備供應(yīng)商來說,OPC UA協(xié)議棧(OPC UA Stack)和OPC UA SDK這些組件只是工作開始的第一步,更重要的工作是根據(jù)具體需求提供模型抽象。
OPCUASDK
OPC UA SDK是對(duì)UA協(xié)議棧功能的結(jié)構(gòu)化封裝,實(shí)現(xiàn)了所有UA應(yīng)用程序所需的UA通用功能、安全的處理方法,并提供常用功能的示例程序。Unified Automation基于OPC Unified Architecture技術(shù)規(guī)范,提供一系列跨平臺(tái)的軟件開發(fā)框架,以適應(yīng)從嵌入式設(shè)備制造商到企業(yè)應(yīng)用程序開發(fā)人員的應(yīng)用程序垂直信息集成。Unified Automation提供的OPC UA SDK包括Ansi C、C++、.NET和Java開發(fā)語言。設(shè)計(jì)的平臺(tái)從小的嵌入式系統(tǒng)到桌面PC機(jī)上到系統(tǒng)服務(wù)器。支持的操作系統(tǒng)包括Windows、Linux、VxWorks、WinCE、OnTime RTOS-32、InTime、FreeRTOS等。
下圖展示了SDK的主要模塊以及與OPC UA應(yīng)用程序的集成。
在OPC UA Server/Client SDK模塊中實(shí)現(xiàn)了所有UA服務(wù)器/客戶端通用的UA功能。供應(yīng)商在使用SDK的過程中不需要了解或者更改這些模塊的內(nèi)部功能。SDK的用戶只需要知道模塊提供的接口和輔助功能的用法?;A(chǔ)模塊用于實(shí)現(xiàn)OPC UA客戶端和服務(wù)器應(yīng)用程序所需的基本功能。這些基本功能包含使用操作系統(tǒng)功能的封裝,以及用于UA類型(如字符串,擴(kuò)展對(duì)象或其他常用UA結(jié)構(gòu))的封裝。
核心模塊用于管理OPC UA的地址空間,并實(shí)現(xiàn)UA的基本功能,例如管理連接和OPC 基金會(huì)定義的地址空間部分。
Pub/Sub模塊實(shí)現(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模塊中實(shí)現(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ù)可以作為獨(dú)立應(yīng)用程序運(yùn)行,也可以是現(xiàn)有應(yīng)用程序的一部分。其SDK使用廠商幾乎囊括了國外所有大型自動(dòng)化企業(yè),例如ABB、Siemens、Bosch、Trumpf、Kuka、Yokogawa、Honeywell等知名廠商。SDK的穩(wěn)定性和接口易用性在多個(gè)行業(yè)的知名廠商產(chǎn)品中得到了具體驗(yàn)證。
審核編輯 :李倩
-
OPC
+關(guān)注
關(guān)注
7文章
347瀏覽量
46225 -
智能制造
+關(guān)注
關(guān)注
48文章
5572瀏覽量
76383
原文標(biāo)題:超全的OPC UA技術(shù)解析
文章出處:【微信號(hào):智能制造之家,微信公眾號(hào):智能制造之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論