工業互聯網:2 設備端(3)

2.3    工業網關
2.3.1    基本功能
所謂網關,主要負責兩個異質網絡的連接,這在工業物聯網場景中尤其常見,因爲傳感網絡經常採用的是和通用的網絡層(長輸網)完全不同的電氣信號和協議。工業網關的基本功能組成如圖2-1。
 


圖2-1 工業網關功能組成

2.3.1.1    感知層信號接口
主要承擔對接傳感網內各設備的信號的任務。該模塊包括對接不同電氣信號的硬件接口,也包括對應的數據採集和指令發送的軟件。爲了應對感知層的複雜性,工業網關的生產企業一般會根據其目標應用領域的不同,配備感知層信號接口的一個硬件接口和協議組合。

2.3.1.2    網絡層信號接口
 主要承擔對接網絡層的信號的任務。相對感知層信號接口而言,網絡層信號接口一般相對簡單得多,因爲通常整個系統中只需要一種標準的長輸網絡及其協議,所以對應的硬件接口和數據收發軟件都相對單一。不過這並不是說只能支持一種,在實際應用中,工業網關的生產企業爲了產品的通用性往往設計成可以支持多種長輸網絡的形式。具體的形式,可以是多種接口同時配備的方式,也可以是將產品設計成插卡可配置的形式,讓用戶選擇不同的配置在出廠的時候配置好。

2.3.1.3    數據處理
設備端的數據處理主要解決的是數據失配問題。也就是說,服務端需要的數據的範圍、頻率、完整性等方面的差異。數據處理的目的是整理輸入接口進入的數據,轉化成適合輸出的數據形式並推送到輸出接口。這裏的輸入方和輸出方即可以由設備端扮演,也可以由服務端扮演,因此數據的流動是雙向的,而且因數據的類型不同也有所區別。

2.3.1.4    就地數據庫
處理後的數據在某些場景下還需要存儲在網關本地的數據庫內,以便複雜的數據處理流程或者其他的就地業務邏輯處理而使用。因爲工業網關一般屬於嵌入式計算設備,所以此類數據庫一般也採用嵌入式數據庫。嵌入式數據庫功能較爲簡單,一般有內存緩衝以提高存取速度。

2.3.1.5    就地業務邏輯
主要是處理與網關所關聯的那部分傳感網所連接的設備、傳感器和執行器有關的局部系統的業務邏輯。不同網關的就地業務邏輯模塊的豐富和複雜程度差異較大,如果一個工業網關中沒有這部分功能模塊,則經常被稱爲數據透傳式的網關,或者稱爲協議轉換器、通訊管理機。對就地業務邏輯的詳細描述,可參見“邊緣計算”。

2.3.1.6    其他功能
除了以上主要模塊,一個網關還往往配置其功能的用戶操作界面,可以採用按鍵、命令行(通過telnet或串口)或者圖形界面的模式(如內置有WEB Server甚至帶有面板)。如果網關具有就地業務邏輯,可能還需要向其加載本地業務邏輯所需要的腳本文件、配置文件的工具。

另一類及其重要的模塊就是安全模塊。與一般的網絡設備一樣,安全是必不可少的設計考量。除了要抵禦來自外部的網絡攻擊,還要考慮設備接入服務端時的身份認證問題,也就是說,只有合法的設備才能連接服務端。這就要求每個設備端成員(工業網關或智能設備)必須有唯一的識別標誌和授權標誌才能進入工業物聯網,否則能有可能會被冒名的外部惡意設備接入,從而干擾整個系統的正常運行。同樣地,設備也只能接入合法的服務端,否則會被惡意冒用身份的服務端干擾設備的正常工作。
工業網關作爲遠程設備,其自維護性也很重要。一般要求其應利用自身連接服務端的優勢,能夠從服務端自動下載自身的軟件更新包並完成更新,一些設定和配置工作也應該可以通過遠程登錄來完成,從而降低派駐人員現場維護的成本,並提高對用戶需求的響應速度。

2.3.2    技術實現


圖2-2 網關基本架構

工業網關一般採取嵌入式架構來實現。系統根據設計所支持的電氣接口種類配置有需要的接口硬件。處理器可能採取專用的SoC,比如基於ARM、MIPS等架構的,也可能是通用的PC架構的低端Intel X86 CPU。同時還要配備必要數量的內存和存儲設備,以便支持計算和保存數據和配置參數。操作系統常見爲各種嵌入式操作系統,其中Linux目前較爲流行。作爲通信管理設備,自然需要配備必要種類的通信協議解析模塊。通信協議解析根據協議和操作系統的特點,可能是用戶態的進程,也可能是操作系統內核態的進程。然後是作爲整個網關核心的數據處理模塊。數據處理模塊主要由軟件和主處理器實現,但是不排除在某些場景下爲了加速而採用GPU等協處理器。業務邏輯和嵌入式數據庫屬於可選部分,另外配有必要的用戶界面和其他應用。安全機制在各個層面都應該有適當的體現。

在軟件部分的編程語言上,對於這種計算能力較低但有一定實時性要求的嵌入式設備,C/C++通常是首選,但是這並沒有擋住開發者們在網關中使用shell、java、Python等高級語言的熱情。因爲在用戶配置界面等低頻操作中,使用這些高級語言的開發效率較高,而這些低頻操作中即便性能較差也並不會造成日常運行的性能問題。在現場傳感層因爲用戶的業務流程的不穩定性而不得不跟着改變的場景中,網關也不得不隨之改變配置甚至需要一定的現場二次開發,這種高級語言提供的快速開發能力可能就更加必要了。

 

上一篇:工業物聯網:2 設備端(2)

下一篇:工業物聯網:2 設備端(4)

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