摘要:伴隨著(zhù)預測性維護和大數據分析的需求在自動(dòng)化領(lǐng)域的日益增加,設備級過(guò)程數據的重要性也越來(lái)越突出。赫優(yōu)訊推出的設備級物聯(lián)網(wǎng)嵌入式研發(fā)產(chǎn)品netIC IOT,是基于netX 52多協(xié)議芯片研發(fā)的一款智能DIL-32封裝通訊IC,集成通用對象接口,通過(guò)OPC UA和MQTT實(shí)現IoT通訊,并在同一根物理線(xiàn)纜上與實(shí)時(shí)以太網(wǎng)通訊并行地傳輸數據。netIC IOT采用netPROXY技術(shù),基于對象的抽象層,面向應用程序開(kāi)發(fā),并通過(guò)netX Studio工程工具進(jìn)行參數配置。
關(guān)鍵字:netIC IOT,OPC UA,MQTT,netPROXY 技術(shù),netX Studio
Researchand Application of HilschernetIC IOT Device-LevelIoT Products
Lingyue Xia1,Wupeng Deng2, Hongqing Yang3
(Hilscher Gesellschaft für Systemautomation mbH (Shanghai). Shanghai 200010)
Abstract:With the increasing demand for predictive maintenance and big data analytics in the field of automation, the importance of device-level process data is becoming more prominent.Hilscher has launched device-level IoT embedded R&D product netIC IOT, is an intelligent DIL-32 communication IC based on the netX 52 multi-protocol chip. It integrates a common object interface and implements IoT communication through OPC UA and MQTT. Data is transmitted in parallel with real-time Ethernet communication on the same physical cable. netIC IOT adopts netPROXY technology, object-based abstraction layer, and application-oriented development, and is configured by netX Studio Engineering Tool.
Keywords: netIC IOT, OPC UA, MQTT, netPROXY technology, netX Studio
1 引言
近年來(lái),隨著(zhù)工業(yè)4.0、萬(wàn)物互聯(lián)時(shí)代的來(lái)臨,越來(lái)越多的設備制造商和工業(yè)設備終端用戶(hù)都紛紛進(jìn)行“互聯(lián)網(wǎng)+制造業(yè)”的大轉型。通過(guò)充分利用信息通訊技術(shù)和網(wǎng)絡(luò )空間虛擬系統——信息物理系統(CPS)相結合的手段,將制造業(yè)向智能化轉型。其中,實(shí)現工業(yè)自動(dòng)化物聯(lián)網(wǎng)通訊是必不可少的一個(gè)環(huán)節,而設備是工業(yè)物聯(lián)網(wǎng)互聯(lián)互通的基礎元素,所以設備上云將成為其最具先導性的一個(gè)突破點(diǎn)[1]。
工業(yè)設備上云更多的是依賴(lài)無(wú)形的“數據驅動(dòng)”要素,進(jìn)行大數據處理,以及數據之間的關(guān)聯(lián)性分析。然而,設備上云不僅僅是采集和存儲設備的過(guò)程數據,以實(shí)現預測性維護。從數據全面性來(lái)說(shuō),更重要的是,能夠充分匯聚設備的狀態(tài)數據、生產(chǎn)中的工藝過(guò)程數據、質(zhì)量檢驗數據,實(shí)現整個(gè)生產(chǎn)過(guò)程中運營(yíng)數據的整體貫通和連接。將關(guān)鍵過(guò)程數據與企業(yè)管理流程相結合,利用數據洞察企業(yè)管理問(wèn)題,在一定程度上降低生產(chǎn)成本和能耗,并提高效率和質(zhì)量,提升企業(yè)經(jīng)營(yíng)的精細化管理[2]。
在技術(shù)層面上,需要建立一個(gè)從現場(chǎng)設備到管理層一致的面向對象的數據模型,并且設備上云迫切需要解決工業(yè)協(xié)議多、接口難統一這一實(shí)際問(wèn)題。德國赫優(yōu)訊針對這一難題,推出設備級物聯(lián)網(wǎng)產(chǎn)品netIC IOT,一款用于現場(chǎng)設備的智能多協(xié)議模塊,通過(guò)OPC UA和MQTT實(shí)現IoT通訊,并與實(shí)施以太網(wǎng)通訊并行,采用獨立于協(xié)議的對象接口進(jìn)行應用程序的開(kāi)發(fā),定制化的設備描述文件和源代碼,可無(wú)縫集成到用戶(hù)的應用中。netIC IOT的整體應用系統如下圖所示:
圖1 開(kāi)發(fā)實(shí)例系統
2 物聯(lián)網(wǎng)通訊協(xié)議
2.1 OPC UA
OPC UA是一套集信息模型定義、服務(wù)與通訊標準為一體的標準化技術(shù)框架,其中OPC是用于過(guò)程控制的 OLE(OLE for Process Control)技術(shù),是由OPC基金會(huì )組織管理、用于工業(yè)通訊的標準。OPC UA作為一種面向服務(wù)的通信協(xié)議,目的是使工業(yè)化通訊有據可循, 可以理解為一個(gè)UA服務(wù)端和UA客戶(hù)端的實(shí)時(shí)數據庫框架。UA服務(wù)端負責數據管理與邏輯運算,并通過(guò)OPC UA通訊協(xié)議對UA客戶(hù)端程序提供相應的數據與服務(wù)[3]。
UA服務(wù)端既可以是可編程邏輯控制器 (PLC)、I/O控制器或傳感器等設備上二次開(kāi)發(fā)的應用程序,也可以是MES、SCADA等物聯(lián)網(wǎng)應用平臺。UA客戶(hù)端是UA服務(wù)端進(jìn)行通訊的系統或設備,可以是ERP系統、大數據平臺、物聯(lián)網(wǎng)系統,也可以是任意物聯(lián)網(wǎng)設備[4]。OPC UA整體架構如下圖所示:
圖2 OPC UA整體架構
為打通異構信息系統集成的信息渠道,實(shí)現數據的互聯(lián)互通和無(wú)縫傳遞,OPC UA技術(shù)需具備獨立于平臺、可伸縮性、高度可利用性、可植入因特網(wǎng)服務(wù)等特點(diǎn),不但可實(shí)現獨立于各大設備制造商,還獨立于各個(gè)主流操作系統,并支持多種編程語(yǔ)言實(shí)現軟件應用開(kāi)發(fā)。
OPC UA作為物聯(lián)網(wǎng)通訊協(xié)議有以下幾大優(yōu)勢[5]:
(1)不僅實(shí)現原始數據采集,還采用基于語(yǔ)義和面向服務(wù)的統一架構和模式;
(2)支持跨平臺應用,可擴展且設計數據傳輸安全(TLS);
(3)支持設備之間的互操作性;
(4)可輕松集成到現有IT 網(wǎng)絡(luò )中;
(5)配置和維護更加方便。
2.2 MQTT
MQTT協(xié)議(MessageQueuingTelemetryTransport),即遙信消息隊列傳輸,是一種輕量級基于代理的發(fā)布/訂閱消息的傳輸協(xié)議,其設計思想是開(kāi)放、簡(jiǎn)單、輕量、易于實(shí)現,適合在寬帶、計算和處理能力受限的環(huán)境下工作。MQTT協(xié)議采用客戶(hù)端-服務(wù)器的基本結構,基于主題訂閱/消息發(fā)布進(jìn)行消息傳輸,使通信的參與者在空間、時(shí)間和控制流上完全解耦,在輕松實(shí)現拓撲結構擴展的同時(shí),保留了實(shí)時(shí)的特性以及服務(wù)質(zhì)量的可配置性[6]。所以,MQTT是適合物聯(lián)網(wǎng)場(chǎng)景的通訊協(xié)議,其協(xié)議架構如下圖所示:
圖3 MQTT協(xié)議架構
MQTT協(xié)議作為物聯(lián)網(wǎng)通訊有以下特點(diǎn)[7]:
(1)傳輸消耗少,最短的消息只有兩個(gè)字節,可實(shí)現最大程度的降低網(wǎng)絡(luò )負載;
(2)協(xié)議簡(jiǎn)單、開(kāi)放、易于實(shí)現,MQTT協(xié)議采用訂閱/發(fā)布的消息模式,提供從1到n的消息轉發(fā),降低通信雙方的耦合度;
(3)為不同的場(chǎng)景提供三個(gè)級別的消息傳輸服務(wù)質(zhì)量;
(4)MQTT的遺囑機制使得客戶(hù)端在發(fā)生異常連接中斷時(shí),相關(guān)終端可以接收到本客戶(hù)端的遺囑消息。
2.3 netIC IOT 集成物聯(lián)網(wǎng)通訊
工業(yè)4.0與IoT一個(gè)關(guān)鍵的需求是通過(guò)IoT通訊從現場(chǎng)設備傳輸信息至云端,netIC IOT就是如此定位的,過(guò)程數據及服務(wù)數據已經(jīng)預定義在抽象對象中,因此能夠轉換成通訊模塊中的信息。除了實(shí)時(shí)以太網(wǎng)協(xié)議棧,支持IoT通訊的netIC IOT還集成了OPC UA服務(wù)器以及MQTT客戶(hù)端。OPC UA或MQTT連接將建立在同一根線(xiàn)纜上與實(shí)時(shí)以太網(wǎng)通訊并行的TCP/IP 通道,不會(huì )影響PLC運行。
在工廠(chǎng)自動(dòng)化中,將現場(chǎng)設備連接至云端提升了安全機制的重要性。除了IT架構的標準安全,系統設計人員必須考慮用于現場(chǎng)設備及控制的信息安全概念。
netIC IOT在技術(shù)上更進(jìn)了一步,設備制造商可以通過(guò)SPI 連接TPM(Trusted Platform Module)信息安全芯片,從而能夠增強netIC額外的安全機制,如“安全啟動(dòng)”。
圖4 netIC IOT的工作機制
3 netIC IOT系統設計
netIC IOT基于netPROXY框架面向應用程序開(kāi)發(fā),采用netXStudio開(kāi)發(fā)工具進(jìn)行配置。netPROXY為設備開(kāi)發(fā)提供了一整套基于對象的框架,具有統一的、獨立于協(xié)議的主機接口。netXStudio配置工具采用自上而下的設計原則,有利于開(kāi)發(fā)人員在開(kāi)發(fā)界面管理程序。
3.1 netPROXY框架
每種網(wǎng)絡(luò )系統都提供特定的服務(wù),這些服務(wù)需要用戶(hù)移植進(jìn)他的應用中。這需要對每種系統的功能都具有很深的了解,并且在應用軟件中對于每種新的網(wǎng)絡(luò )需要花費額外的精力。這就是netPROXY技術(shù)旨在解決的問(wèn)題。
netPROXY的基本思想是在應用和通訊間建立一個(gè)面向設備的對象接口與服務(wù)接口。這一抽象層能夠隱藏不同協(xié)議API的復雜性,使用一些簡(jiǎn)單的服務(wù)即可實(shí)現周期與非周期數據交換。用戶(hù)只需在他的應用中移植這個(gè)通用對象接口,netPROXY根據相應的網(wǎng)絡(luò )服務(wù)自動(dòng)記錄對象,因此能夠開(kāi)發(fā)完全獨立于任何網(wǎng)絡(luò )特定需求的應用,最終實(shí)現一個(gè)真正的多協(xié)議設備。
netPROXY提供了一個(gè)對象模型作為服務(wù)或數據的通用抽象層,為產(chǎn)品開(kāi)發(fā)提供了一個(gè)基于對象的框架,有助于顯著(zhù)降低處理多個(gè)協(xié)議棧項目的開(kāi)發(fā)成本??梢詫etPROXY視為用戶(hù)應用程序和協(xié)議堆棧之間的中間層,圖4 顯示了有沒(méi)有采用netPROXY技術(shù)的差別,右側可看出netPROXY如何在具有透明對象模型的協(xié)議棧之上建立應用程序抽象層。
圖5 netPROXY工作機制
netPROXY技術(shù)旨在實(shí)現在不同協(xié)議棧上層用戶(hù)應用程序開(kāi)發(fā)過(guò)程中的協(xié)同作用,通過(guò)這種方式,netX自動(dòng)化平臺的主要優(yōu)勢體現在不僅可以在硬件方面使用netX處理器,還可以在不同通訊系統中再次使用應用軟件。
3.2 netX Studio 工程工具
net Studio Basic/Engineering Tool是一款基于Eclipse的設備開(kāi)發(fā)工具,可實(shí)現以下功能:定義對象及映射關(guān)系、配置設備、生成設備描述文件、裝載設備文件及Firmware等。
netX Studio工具根據“模塊化設計原理”運行,經(jīng)過(guò)一次創(chuàng )建的模塊可以重復使用,一次創(chuàng )建的對象定義以及整個(gè)對象庫可以在不同類(lèi)型的應用程序中應用,對象的定義對整個(gè)產(chǎn)品系列都有效。如果以自己的用戶(hù)對象形式定義設備的屬性,則可以根據預設的產(chǎn)品設計和組合,將對象庫中的對象或預定義的標準對象以任何變量的形式組合在不同的應用程序中,規劃一套自己的產(chǎn)品系列。一次定義的對象,可以反復使用在新產(chǎn)品中。例如,在為溫度傳感器創(chuàng )建值、狀態(tài)和操作模式作為元素的對象,可用于具有不同功能范圍的設備。
圖6 netX Studio配置界面
3.3 netIC IOT 設計原理
netIC IOT通信模塊集成到主機系統中需要相應的硬件組件和軟件API接口,采用netXStudio進(jìn)行開(kāi)發(fā)。在開(kāi)發(fā)netIC IOT模塊時(shí),需要進(jìn)行的操作主要分為硬件設計和軟件設計,如下圖所示:
圖7 netICIOT開(kāi)發(fā)原理
3.3.1 硬件設計
netIC IOT模塊的硬件接口靈活,提供了不同的功能,通過(guò)netXStudio工程工具就能輕松實(shí)現,主要步驟如下:
(1)創(chuàng )建對象庫的定義
以手動(dòng)創(chuàng )建對象為例,點(diǎn)擊Object Model→User→input data,右鍵input data→ New Object,如下圖所示:
圖8 創(chuàng )建一個(gè)新的對象
需對所創(chuàng )建的對象進(jìn)行命名,本文對其命名為Sensor-simple,對其進(jìn)行設置。一般情況下,對于新創(chuàng )建的對象,需要設置其基本屬性和設備的元素。在Properties配置中,需定義對象的Identifier、Name、Description、Version、Type name、Labels,客戶(hù)可根據自己的具體應用對其進(jìn)行設置。
設置對象的Elements,點(diǎn)擊右側的Add按鈕添加一個(gè)新的元素,如下圖所示:
圖9 添加對象元素
對于A(yíng)ttributes來(lái)說(shuō)正是體現了netPROXY的工作機制,面向對象的原理,獨立于協(xié)議棧,可通過(guò)多種方式(Peripherals、Application、Network)實(shí)現通訊設置,如下圖所示:
圖10 通訊屬性設置原理
圖11 Attributes選擇
(2)通訊設置
在netXStudio配置工具中,選擇通信系統(協(xié)議)創(chuàng )建的每個(gè)應用程序的變量,需要單獨地執行通信設置。除了通過(guò)實(shí)時(shí)以太網(wǎng)進(jìn)行網(wǎng)絡(luò )通訊外,還可以執行物聯(lián)網(wǎng)通訊設置,通過(guò)WebServer,OPC UA或MQTT配置對對象數據的訪(fǎng)問(wèn)。
對于已添加的通訊設置,每個(gè)應用程序變量都會(huì )顯示在“Connections”編輯器中,根據已添加的對象,將設備的屬性在通訊模型中顯示出來(lái),包括相應的數據類(lèi)型,根據通訊路徑,設定該數據被映射到輸入輸出數據。因此,在應用程序變量的I/O數據映射視圖中,顯示該應用程序變量的循環(huán)通訊設置,以及其功能范圍和相應的設備屬性。
圖12 通訊設置
在配置EthernNet/IP和PROFINET通訊過(guò)程中,也可以實(shí)現將對象數據映射到非周期網(wǎng)絡(luò )通訊。在EtherNet/IP中通過(guò)Explicit Messaging配置,在PROFINET中通過(guò)Acyclic Data Exchange來(lái)配置。
(3)產(chǎn)品和供應商信息設置;
netX Studio配置工具可以配置產(chǎn)品的詳細信息,包含以下信息:
① 產(chǎn)品信息:名稱(chēng)、ID、類(lèi)型、訂單ID、配置文件ID、配置文件類(lèi)型;
② 產(chǎn)品版本信息:產(chǎn)品修訂、硬件名稱(chēng)和版本、軟件名稱(chēng)和版本、引導加載程序名稱(chēng)和版本。
(4)Web頁(yè)面設置和用戶(hù)管理;
在netXStudio中,WebBuilder充當WebServer頁(yè)面的一種內容管理系統,可將自定義的網(wǎng)頁(yè)和圖形(例如產(chǎn)品名稱(chēng)和圖片)分配給不同的產(chǎn)品和設備。在構建過(guò)程之后,可以將定制的Web內容與在netX Studio中創(chuàng )建/管理的其他數據一起下載到各個(gè)目標設備(例如,固件,配置數據,設備和制造商ID等),整個(gè)流程如下圖所示:
圖13 Web Builder應用過(guò)程
(5)netIC IOT硬件引腳配置
netIC IOT的設計優(yōu)勢之一就是使用戶(hù)可根據其需要修改DIL-32管腳定義。除了部分用于供電及通訊的預定義管腳,所有其他管腳幾乎都能夠自由配置,比如,可以在UART、I2C、SPI、GPIO、LED、CAN 以及SSIO 間選擇。通過(guò)netX Studio配置工具對netIC IOT硬件進(jìn)行設置,包含操作模式和引腳分配、接口配置和將對象映射到相應的接口,如下圖所示:
圖14 硬件引腳配置界面
進(jìn)行完以上所有配置,可完成netIC IOT模塊的整個(gè)對象模型的創(chuàng )建、特定的設備描述文件(EDS)和集成的源代碼(.h),將配置文件裝載到硬件中,同時(shí)包含對協(xié)議棧的下載。在通訊設置中可同時(shí)設置幾個(gè)通訊,下載協(xié)議棧時(shí)根據實(shí)際通訊網(wǎng)絡(luò )下載不同的協(xié)議棧。
3.3.2 軟件設計
netIC IOT模塊提供的主機接口是netPROXY,用戶(hù)應用程序通過(guò)netPROXY來(lái)訪(fǎng)問(wèn)模塊。如下圖所示,可采用ST公司的STM32系列的MCU 作為主MCU,其Host 應用程序通過(guò)netPROXY接口進(jìn)行數據的訪(fǎng)問(wèn),可有效節約開(kāi)發(fā)時(shí)間。netPROXY Host API用于通過(guò)HIF DPM訪(fǎng)問(wèn)netIC IOT,需通過(guò)cifX API訪(fǎng)問(wèn)DPM,如下圖所示:
圖15 netIC IOT 與主機接口連接模式
netPROXY的優(yōu)勢在于為使用簡(jiǎn)單對象模型以通用方式描述設備應用程序數據提供了一種可能性,這可以?xún)H通過(guò)一次設計覆蓋特定設備應用程序功能,達到重新使用以將這些數據轉換為不同的網(wǎng)絡(luò )協(xié)議的目的。netPROXY使用對象模型不僅可以管理和訪(fǎng)問(wèn)數據,還可以在netPROXY對象網(wǎng)絡(luò )服務(wù)之間執行自動(dòng)轉換。
4 netIC IOT實(shí)例PROFINET Slave+OPC UA應用
通過(guò)netIC IOT的開(kāi)發(fā)板,連接STM32,進(jìn)行PROFINET Slave+OPC UA的測試。NIOT-I-ICEB-RE開(kāi)發(fā)板通過(guò)USB接口連接到計算機,通過(guò)netX Studio工具對其進(jìn)行配置,然后將配置文件及協(xié)議棧下載到硬件中。完成配置之后,連接至STM32開(kāi)發(fā)板,對其進(jìn)行應用程序的調試。將以太網(wǎng)口連接到主站cifX 50-RE,并通過(guò)外設SSIO接口連接NIOT-I-ICEB-SSIO擴展板。在SYCON.net中創(chuàng )建工程,進(jìn)行PROFINET通訊調試。然后采用Softing的OPC UA Client進(jìn)行OPC UA通訊測試。硬件連接圖如下圖所示:
圖16 硬件連接圖
通過(guò)OPC UA Client可以抓取到netIC IOT在PROFINET網(wǎng)絡(luò )中與主站進(jìn)行數據交換的周期數據,若將數據上傳至云服務(wù)器或通過(guò)云服務(wù)器的OPC UA Client獲取數據,在進(jìn)一步對數據進(jìn)行分析或預測性維護。通過(guò)OPC UA Client觀(guān)測數據變化如下圖所示:
圖17 OPCUAClient監測圖
由此可見(jiàn),通過(guò)netIC IOT設備級物聯(lián)網(wǎng)通訊模塊進(jìn)行產(chǎn)品研發(fā),可節省投入成本,并輕松實(shí)現設備上云。
5 結束語(yǔ)
netIC IOT通訊模塊在同一硬件上支持現主流的實(shí)時(shí)以太網(wǎng)從站協(xié)議,用戶(hù)可在netXStudio工程工具生成用于其設備的并獨立于協(xié)議的對象模型,而且在應用軟件中只需要移植一次。根據不同的現場(chǎng)網(wǎng)絡(luò )應用,只需在netXStudio中配置并下載不同的協(xié)議棧即可。對于應用來(lái)說(shuō)無(wú)需對不同的通訊網(wǎng)絡(luò )作相應的設計,僅一次軟硬件設計就可以實(shí)現真正意義上的多協(xié)議設備研發(fā)。
參考文獻
[1]企業(yè)上云走向深入,設備上云現燎原之勢.http://www.sohu.com/a/301491238_99988082.
[2]企業(yè)上云走向深入_設備上云仍需爬坡過(guò)坎.電子信息產(chǎn)業(yè)網(wǎng).行業(yè)動(dòng)態(tài).
[3]任偉.工業(yè)物聯(lián)網(wǎng)關(guān)鍵技術(shù)OPC_UA分析[M].2017-08-11.
[4]Hilscher. netIOT Interface (netIC IOT&netX, netRAPID,comX)_Rev5.3_Product Presentation.
[5] 姚春雷. OPCUA-工業(yè)4.0 的先行者[ J ] . 中國儀器儀表,2017,03:36-37.
[6]張亞慧.物聯(lián)網(wǎng)環(huán)境下輕量級發(fā)布/訂閱系統的設計與實(shí)現[D].北京郵電大學(xué),2014
[7]S Lee,H Kim,D Hong.Correlation analysis of MQTT loss and delay according to QoS level[J].ACM,2013,10:23-37.