辛曉虎,王建慧,李福賀,宋曉博,胡泉偉
(1.國網天津市電力公司薊州供電分公司,天津 301900;2.國網天津市電力公司電力科學研究院,天津 300384;3.國網天津市電力公司電纜分公司,天津 300000)
當前大量工控設備均通過嵌入式打印機輸出數據結果,致使數據管理難度加大,通常需要大量人力現場抄錄數據結果,人工進行縱向和橫向數據比對,不能滿足當前工業智能化的建設要求[1]。但是,市場上各類工控設備廠家型號眾多,技術實力相差懸殊,要求所有廠家進行統一的物聯網研發和設備改造難度較大,急需一種統一的工控設備物聯網解決方案。
考慮到當前大量工控設備均通過嵌入式打印機輸出數據結果,且嵌入式打印機有規范的控制指令集和通信接口,提出基于嵌入式打印機的統一標準,開發虛擬打印技術,研發適用于工控設備的統一物聯網改造裝置。通過物聯網改造裝置,可實時獲取工控設備的輸出數據,進而發送至物聯網數據管理平臺,實現工控設備的數據感知。
物聯網改造裝置應遵守嵌入式打印機的通信接口和協議[2-3]。安裝至工控設備內后,工控設備將物聯網改造裝置識別為嵌入式打印機。物聯網改造裝置自動采集工控設備內本應打印的數據結果,按照打印機控制指令集進行解碼編譯、邊緣計算,并利用4G 網絡將數據發送至數據管理平臺(云系統)。
基于STM32 的物聯網改造裝置,主要包括數據采集接口、STM32 微處理器和發射模塊3 部分。通過模擬嵌入式打印機的功能和接口,與工控設備進行連接和通信,實現數據采集、虛擬打印、邊緣計算、數據發送4 項功能,如圖1 所示。

圖1 系統結構
該裝置模擬嵌入式打印機與工控設備進行連接,采集工控設備本應打印輸出的數據。為擴大適用性,采集接口應能夠兼容多種嵌入式打印機,包括RS485 串行接口、RS232 串行接口[4],通過電平轉換后與STM32 微處理器連接,數據采集后傳輸至STM32 的接收緩沖區中。
虛擬打印是將接收數據按照嵌入式打印機指令集的規則進行指令和數據解析。當檢測到接收緩沖區中有數據寫入時,自動開始指令解析。指令解析出的字符為控制字符或數據字符兩種,控制字符包括切紙、走紙、打印設置指令、字符格式設置指令、打印格式設置指令、電機控制指令等。首先判斷解析出的字符是否為控制字符,如為控制字符則忽略;如為數據字符,則暫存至緩沖區內,待接收結束后,進行字符串拼接,進而獲得完整的所需數據信息[5-6]。
物聯網模塊的兼容性與虛擬打印功能的指令集設計密不可分。各個微型打印機廠商提供的指令集雖然不盡相同,但大都遵循ESC/POS 指令集標準[7],為文中提出制作統一的物聯網改造模塊奠定了現實基礎。
邊緣計算是為滿足不同工控設備特殊化的數據分析和計算需求。首先,對工控設備輸出數據進行縱向對比和異常分析;其次,針對物聯網數據傳輸的要求對數據進行編碼、加密操作;最后,針對數據應用的需求,對采集的信息數據進行信息挖掘、分析整合、就地計算等,進而降低數據傳輸帶寬,減輕海量數據上傳物聯網云系統后的系統負擔,同時保護隱私數據,降低終端敏感數據隱私泄露的風險[8-10]。
數據發送模塊采用4G 公網通信模塊實現,通過STM32 利用AT 指令控制4G 無線終端設備(Data Transfer Unit,DTU)模塊,將數據信息發送至物聯網平臺。按照物聯網平臺的TCP/IP 或HTTP 協議的數據結構和接口形式對發送數據進行封裝,最終實現工控設備數據的上傳和統一管理[11]。
綜合考慮物聯網改造裝置的性能需求、體積、能耗等指標,以STM32 微處理器為核心,設計工控設備物聯網改造裝置,如圖2 所示。主要包括STM32微處理器(芯片為STM32F103C8T6)及其外圍電路、RS232 電平轉換(芯片為SP3232)電路、RS485 電平轉換(芯片為SP3485)電路、4G DTU 發送電路(芯片為Air720H)和OLED 顯示屏(芯片為SSD1306)。該裝置安裝于工控設備內部,并聯在嵌入式打印機的接口上[12]。
STM32F103C8T6 的供電電壓為2.0~3.6 V,最高工作頻率可達72 MHz,I/O 端口可以配置成輸出(推挽或開漏)、輸入或復用的外設功能端口,自帶3 個USART 端口、2 個IIC 端口,完全滿足該改造裝置的通信接口及計算能力需求。
STM32 的外圍電路包括穩壓電源、按鍵復位、石英晶振、CH340G 下載回路4 個部分,穩壓芯片為ASM1117,該芯片輸出電壓為3.3 V,電流為1 A,滿足本裝置的供電需求。
實際應用中,本裝置的RS232、RS485 兩個通信串口不會同時使用,因此在設計上,RS232、RS485 電平轉換電路共用一個STM32 的串口,利用二極管M7 串聯在電平轉換芯片的Data IN 引腳上,從而避免兩個串口之間互相干擾,并在RS485 串口的輸出上并聯47 kΩ 的耦合電阻。

圖2 硬件電路設計
4G DTU 發送電路直接采用Air 720H 成品化芯片,該芯片安裝SIM 卡后可通過長期演化時分雙工(Long Term Evolution Time Division Duplexing,LTETDD)、長期演化頻分雙工(Long Term Evolution Frequency Division Duplexing,LTE-FDD)、寬帶碼分多址通信技術(Wideband Code Division Multiple Access,WCDMA)、無線分組交換技術(General Packet Radio Service,GPRS)等公網協議進行通信,通信速率最大可達到50 Mbit/s,滿足一般工控設備物聯網通信需求,該芯片自帶TTL 串口,可直接與STM32 的串口引腳連接。
OLED 顯示屏為液晶屏,由SSD1306 芯片驅動,與STM32 采用IIC 協議通信。
裝置獨立于工控設備之外運行,通過向STM32寫入微處理器程序進行邏輯運算與處理,進而模擬嵌入式打印機的接口特性,通過RS232 或RS485 串口與工控設備通信。
當工控設備需要打印數據時,裝置微控制單元(Microcontroller Unit,MCU)即被喚醒,獲取工控設備輸出的數據信息,進行虛擬打印,截取其中有用的信息,進行邊緣計算后,通過DTU 發射單元,將數據向外傳輸,實現感知工控設備的功能。
STM32 微處理器的程序主要采用Keil5 軟件編寫,主要程序包括初始化部分,中斷函數的定義,虛擬打印子程序、邊緣計算子程序,以及信息發送與顯示子程序等,如圖3 所示。
初始化部分主要是初始化系統時鐘、IIC 通信、GPIO 輸出模式、串口通信波特率、數據字長、停止位、校驗位等參數,同時定義按鍵重啟等部分。
中斷函數部分定義了USART2 串口的中斷,及時接收由工控設備傳輸的數據,并按字節存儲。
虛擬打印子程序通過逐字節解析工控設備傳輸的數據,首先通過ASCII 值判斷是否為控制指令,如為控制指令則丟棄,否則將其存入解析后字符串中。
邊緣計算子程序主動分析解析后的字符串信息,并和工控設備的標簽信息進行拼接。
信息發送子程序是通過AT 指令調用Air720H芯片將邊緣計算的結果進行向指定地址發送。
顯示子程序是通過IIC 端口調用OLED 顯示屏將虛擬打印的結果顯示在顯示屏上,便于人員核對輸出結果。
一般工控設備打印輸出的數據都不可用于物聯網信息標簽,即便實現了感知層功能,也不能被物聯網系統獨立識別和尋址,不方便進行系統管理。因此,該方法仍要通過掃碼、RFID 等技術,或者通過在STM32 內固化數據標簽等方式,給被改造工控設備建立唯一數據標簽,實現工控設備信息上傳的同時,便于設備的智能化識別和管理。

圖3 程序流程
將研制的工控設備物聯網改造裝置在避雷器阻性電流測試儀上進行試用。避雷器阻性電流測試儀為10 kV 及以上的避雷器帶電測量阻性電流的一個試驗儀器,其對避雷器測量結束后,通過嵌入式打印機打印阻性電流、全電流、奇次諧波電流、阻性功率等數據信息。
將工控設備物聯網改造裝置并聯在避雷器阻性電流測試儀的嵌入式打印機接口上,獲取該測試儀打印的所有數據信息,實現對避雷器阻性電流檢測儀的物聯網改造。
因電氣試驗的輸出數據需要與試驗儀器、被試設備進行一一匹配[5],因此添加了無線掃碼槍,通過掃碼方式獲取試驗儀器、被試設備信息,并作為數據標簽,添加到MCU 輸出數據上,如圖4 所示。
為了測試本物聯網改造裝置的穩定性,利用改造后的避雷器阻性電流檢測儀對某變電站10 kV、35 kV、110 kV 這3 個電壓等級的所有避雷器反復進行試驗,以期獲得不同數據對裝置進行測試。在現場布置物聯網終端PC 機,將裝置向物聯網系統發送數據,與現場測量結果實時比對。
20 余天現場應用表明,終端PC 機接收數據與現場測量數據完全一致,裝置編譯、傳輸正確率100%。2019 年春檢期間在某供電公司的布置該裝置,4 個月的應用結果表明本物聯網改造裝置各項功能穩定,性價比高,滿足工控設備信息感知的需求。

圖4 現場應用
當前工控行業中大量儀器設備均通過嵌入式打印機輸出數據,基于STM32 微處理器研制的工控設備物聯網改造裝置,能夠以低成本的方式實現工控設備的物聯網改造。對某避雷器阻性電流測試儀進行改裝后,現場測試結果表明,裝置能夠與試驗儀器緊密配合,完整采集解析試驗數據,并通過4G 公網向外發送。該裝置工作可靠、成本低,可為當前大量工控設備物聯網提供了一種解決方案。