欒 燕,張娟娟,張 健,胡 博
(1.國家工業信息安全發展研究中心,北京 100040;2.中科軟科技股份有限公司,北京 100000)
隨著工業互聯網以燎原之勢發展,企業上云的內容向縱深發展,從系統上云逐步過渡到設備上云。截至2017年我國工業設備聯網率僅為10%,目前工業通訊協議標準不統一、互不兼容[1],此外還存在大量不開放協議的“啞設備”,導致設備數據采集難、傳輸難、應用難。工業網關作為設備上云的關口,具備數據采集、數據存儲、協議轉換、數據轉發、邊緣計算等功能,同時要保證運行的可靠性和高效性,是工業物聯網的重要設備[2,3]。
工業網關設備的連接以及硬件選型,面臨網關種類繁雜、應用場景不同、通信協議不兼容、連接方式多元化、管理與控制復雜、連通性及兼容性波動等問題。工業網關本身的接入能力和指標,尚未有統一的標準和完整的評價體系,本平臺旨在通過搭建面向工業智能網關的測試平臺,推動網關產品走向規范化、標準化。
工業智能網關測試平臺采用分層架構進行開發和設計,將綜合測試軟件、測試控制軟件實現系統平臺內部的分開部署,各模塊間通過共享測試案例庫、通信協議以及RestFull API接口進行信息交互,以實現系統功能。

圖1 工業智能網關自動化測試平臺架構
本測試平臺主要面向PLC和傳感器的網關產品,根據采集接口的不同,本文將被測網關分為協議網關和采集網關。其中協議網關是指提供串口/網口采集智能設備數據,支持通過總線通信協議的方式獲取數據,能夠把各種不同的采集協議轉換成標準的網絡協議發送到監控中心的裝置或系統。采集網關是指提供IO接口采集啞設備數據,支持通過信號轉換方式獲取數據,把各種不同的IO數據進行統一封裝,打包成標準的網絡協議發送到監控中心的裝置或系統。
工業智能網關測試平臺設計框架如圖1所示。該平臺共包括三大組成部分:測試硬件環境、測試控制平臺、綜合測試平臺。
測試硬件環境由主流PLC,IO管理器,PLC編程工作站,網關配置工作站,臺架和配電等組成。其中:主流PLC作為測試平臺的硬件環境,支撐網關數據測試,接收網關指令;IO管理器用于模擬設備數據源向被測網關和測試控制平臺傳遞設備源數據;PLC編程工作站用于編寫測試用例數據并下載到陪測PLC;網關配置工作站用于配置網關的基本參數、采集服務、轉發服務、邊緣計算服務等。
測試控制平臺用于接收綜合測試平臺的測試用例,并通知IO管理器執行測試用例;同時接收IO管理器的原始數據,向網關綜合測試平臺發送原始數據。
網關綜合測試平臺是工業智能網關測試平臺的核心組件,是整個測試平臺的前臺,用于配置測試項、陪測PLC型號、測試用例等。網關綜合測試平臺根據配置向測試控制平臺發送測試用例,并接收測試控制平臺發送來的原始數據;同時向被測網關發送請求,并接收工業網關轉發的采集數據;對比原始數據和采集數據,判斷測試結果。
本文的工業智能網關測試平臺采用了自動化測試技術,相比于手工測試測試方式,自動化測試通過編寫一個通用的自動化軟件來測試智能網關的功能、性能等指標。一方面提高測試的可重復性和有效性,另一方面可以更好模擬智能網關應用在現場時的工作場景。
1)采用數據驅動的測試框架。初始階段對所有IO管理器和陪測的PLC進行測試用例數據的編程,IO管理器和每一個PLC都有各自的編程文件,將測試數據存儲在編程文件中,大大提高了測試用例的維護性和重復性。
2)采用測試腳本的測試框架。定義了一套自動化測試的流程:測試準備→啟動測試→執行測試用例→獲取原始數據和采集數據→對比原始數據和采集數據→給出測試結果。具體的測試用例和測試流程分屬不同的領域,這樣就可以大大增強了測試的低耦合性和標準化性。
3)提供可配置的標準測試例庫。案例庫包括了所有PLC的測試用例,提供了通用測試案例,協議網關測試案例,采集網關測試案例。同時提供測試案例生成器,用于展示測試案例庫,查詢測試案例,生成測試案例。測試人員可以根據需要隨時維護、變更和添加測試案例,從而從本質上實現了工業網關和測試案例的抽象分離。
本測試平臺創新性的采用PLC和IO管理器提供源數據,通過編程的方式將測試案例的寫入陪測PLC和IO管理器中,根據測試需求產生源數據。其中,PLC為協議網關提供源數據,IO管理器為采集網關提供源數據。源數據由數據類型、數據長度、讀寫屬性、操作模式、刷新周期、步長等組成。
IO管理器采用西門子S7-1200PLC,保證少于0.05%誤差的高精度,14位真有效精度可能夠提供高速信號源,支持至少2個通道的10KHz的脈沖輸出,提供至少4通道高速計數器,最大頻率支持200kH。所有AI,AO支持電壓-10V~10V與0~20mA電流的輸入輸出。
工業智能網關測試平臺支持工業網關上行的主流協議ModbusTCP、OPCUA、MQTT等,下行的主流協議ModbusRTU、PPI、MPI、DF1、SNP、ProfiNet、EtherCAT、CCLink等的協議解析。
對于上行通信協議:能夠解析標準的ModbusTCP采集協議、基于MQTT通信機制的不同廠家不同網關型號的多個MQTT采集協議、基于OPCUA的客戶端采集協議。對采集的數據幀進行協議接入、協議解析、協議組包等,并把解析出來的數據保存到采集數據實時庫中。
對于下行通信協議,本平臺需要提供具有該下行通信協議的陪測PLC。
根據工業網關的實際應用需求,結合對主流工業網關產品的深入調研,本測試平臺對工業智能網關的數據采集、邊緣計算、數據轉發等功能指標,串口采集通信速率、點容量、AI/AO精度等性能,數據丟包率、數據錯誤率等可靠性指標進行測試。根據被測網關類型不同,可分為通用測試指標、專用測試指標,具體測試指標如表1所示。

表1 工業智能網關測試指標表
本平臺提供了一種工業智能網關的自動化測試方法及系統,能夠高效測試網關的功能、性能及可靠性。綜合測試平臺根據測試工單號,逐一對測試案例集里的測試案例執行測試,和測試控制軟件、測試硬件設備,被測網關一起形成測試閉環,綜合測試平臺進行數據比對,并給出測試結果。

圖2 工業智能網關測試流程圖
為驗證本工業智能網關自動化測試平臺的有效性,采用西門子S7-200Smart作為陪測PLC,對某型號協議轉換網關進行測試。其中西門子S7-200Smart具有ProfiNet以太網端口、PPI端口,被測網關支持ModbusTCP協議轉發,利用測試平臺對開關量數據采集、模擬量數據采集、脈沖量數據采集等功能性指標,最大/小通訊速率下的數據丟包率、最大/小通訊速率下的數據錯誤率等可靠性指標,串口最大/最小采集通信速率、電容量等性能指標進行測試。采集周期設置為5000毫秒,最大通訊速率設置為19200bps,最小通訊速率設置為1200bps,部分指標測試過程實例如圖3~圖5所示。

圖3 被測協議網關脈沖量數據采集指標測試實例

圖4 被測協議網關最大采集通信速率指標測試實例

圖5 被測協議網關長期穩定性指標測試實例
本文設計了一種工業智能網關一種自動化測試平臺,創新性的采用自動化測試、源數據模擬、多協議解析等關鍵技術,同時設計了網關的測試指標,通過前臺配置被測網關的參數和測試項目,選定測試項目對應的測試案例,對測試項目進行測試,記錄測試項目測試結果,從而實現網關功能、性能、可靠性等相關指標的自動測試,最后通過實例驗證了該測試平臺的可行性和有效性。
該測試平臺為工業智能網關的驗證評價提供了一種可靠的方法,通過模擬工業現場接入環境,提前驗證網關對現場的適配性,幫助工業企業選擇合適的工業智能網關,同時通過規范工業網關指標,推動網關產品走向規范化,助力設備上云。