黃翊君,張家偉,錢銘翰,陳仁文
(1.南京航空航天大學(xué) 機械結(jié)構(gòu)力學(xué)及控制國家重點實驗室,江蘇 南京 210016;2.中國鐵路上海局集團有限公司南京房建公寓段,江蘇 南京 210016)
大型公共建筑面積大且結(jié)構(gòu)復(fù)雜,功能分區(qū)復(fù)雜多變[1],用電設(shè)備多且實時監(jiān)測性差。建筑內(nèi)的用電設(shè)備安全管理是保證建筑高效運行的基礎(chǔ)。國內(nèi)傳統(tǒng)的大型公共建筑的照明系統(tǒng)等用電設(shè)備一般采用人工控制[2],部分地區(qū)使用紅外遙控等方式進行控制[3],存在著控制方式陳舊和信息管理手段落后等問題[4],對建筑內(nèi)的安全生產(chǎn)和管理信息化產(chǎn)生不利的影響。
將物聯(lián)網(wǎng)技術(shù)與大型公共建筑相結(jié)合是管理向現(xiàn)代化發(fā)展的契機。智慧城市的興起將物聯(lián)網(wǎng)技術(shù)應(yīng)用到大型公共建筑的管理中,通過將傳感器技術(shù)、嵌入式系統(tǒng)技術(shù)、通信技術(shù)、大數(shù)據(jù)算法、云計算等技術(shù)[5-9]融合到大型公共建筑系統(tǒng)的解決方案中,使得大型公共建筑的管理有了“智慧”,可做到大型公共建筑用電設(shè)備的精準(zhǔn)感知和智能決策管理[10-11]。
針對目前大型公共建筑存在的問題,本文提出一種基于無線網(wǎng)絡(luò)和云平臺的大型建筑分布式用電設(shè)備遠(yuǎn)程安全狀態(tài)監(jiān)控系統(tǒng)的設(shè)計方案,讓不同的管理人員對其所管轄的建筑區(qū)域的用電數(shù)據(jù)進行實時狀態(tài)監(jiān)測并實行遠(yuǎn)程控制,實現(xiàn)了對大型公共建筑各個區(qū)域的用電數(shù)據(jù)進行實時采集、監(jiān)測及故障切除控制等功能,具有較強的實用性和可擴展性。
分布式用電設(shè)備安全監(jiān)控系統(tǒng)的整體架構(gòu)如圖1所示,整個系統(tǒng)包括設(shè)備監(jiān)控端和遠(yuǎn)程終端兩大部分。
圖1 系統(tǒng)整體架構(gòu)
將多回路交流功率采集模塊安裝在配電箱內(nèi),即可通過MCU采集該配電箱所連接負(fù)載的能耗(電壓、電流和功率)。利用Air720模塊支持的移動數(shù)據(jù)網(wǎng)絡(luò)與云服務(wù)器進行通信。按照MQTT通信協(xié)議規(guī)范將采集到的數(shù)據(jù)上傳到云服務(wù)器,并接收云服務(wù)器下發(fā)的用電設(shè)備控制信號和參數(shù)設(shè)置信號。
采用基于阿里云平臺的監(jiān)控系統(tǒng)軟件,用戶通過桌面應(yīng)用端、Web端和手機APP端獲取監(jiān)測數(shù)據(jù),實現(xiàn)數(shù)據(jù)查詢、故障報警、參數(shù)設(shè)置、數(shù)據(jù)存儲、統(tǒng)計報表、實時控制、權(quán)限管理和故障切除等功能。
設(shè)備監(jiān)控端主要包括信號采集模塊、MCU、繼電器和移動數(shù)據(jù)網(wǎng)絡(luò)。硬件結(jié)構(gòu)如圖2所示。
圖2 硬件結(jié)構(gòu)
MCU是整個設(shè)備監(jiān)控端的控制核心,采用STM32F103芯片,它擁有72 MHz的主頻、5個USART串口和64個GPIO引腳,滿足本系統(tǒng)的性能要求。把MCU的串口模塊波特率配置為115 200 b/s,并通過串口模塊發(fā)送參數(shù)指令到采集模塊和移動數(shù)據(jù)網(wǎng)絡(luò)模塊進行數(shù)據(jù)交互。將繼電器配置為高電平觸發(fā)且設(shè)置為常閉狀態(tài),保證電路初始狀態(tài)的暢通。
采集模塊是12路交流單相功率采集器,該采集器是一款高精密且內(nèi)置24路相互獨立A/D模塊的實時功耗監(jiān)測器。由于該模塊使用RS 485總線接口和 ModBus-RTU協(xié)議,需要讀取模塊內(nèi)部寄存器,所以應(yīng)在MCU的串口與采集模塊間連接一個MAX485模塊進行信號轉(zhuǎn)化。
為保證數(shù)據(jù)的正確性,MCU收到數(shù)據(jù)后還需進行CRC校驗,高字節(jié)在前、低字節(jié)在后。校驗正確后MCU在收到的數(shù)據(jù)中提取出每個回路對應(yīng)的用電數(shù)據(jù)并判斷是否超過閾值。若超過閾值則控制繼電器進行故障回路切除,同時定時將采集到的數(shù)據(jù)通過移動數(shù)據(jù)網(wǎng)絡(luò)模塊傳輸?shù)皆贫朔?wù)器。程序流程如圖3所示。因遠(yuǎn)程終端需要管理256×256個設(shè)備監(jiān)控端,為避免通信鏈路擁堵,將此流程設(shè)置成每20 s進行一次。若數(shù)據(jù)異常則立刻發(fā)送數(shù)據(jù)包,若數(shù)據(jù)正常則每1 min定時發(fā)送一次數(shù)據(jù)包。
圖3 信號采集流程
設(shè)備監(jiān)控端的任務(wù)是獲取能耗數(shù)據(jù)并判斷該數(shù)據(jù)是否異常、上傳數(shù)據(jù)包、執(zhí)行通道啟停控制指令,執(zhí)行閾值參數(shù)設(shè)置指令等。由于需要在多任務(wù)之間對多個回路的用電設(shè)備進行統(tǒng)一的管理,在此構(gòu)建一個16進制的unsigned int類型的數(shù)據(jù)包,便于存放各種參數(shù)。不同類型的數(shù)據(jù)和指令都以不同的Header標(biāo)志作為傳輸?shù)拈_始。當(dāng)用戶下發(fā)指令后,云服務(wù)器將指令通過移動數(shù)據(jù)網(wǎng)絡(luò)下發(fā)到MCU中,MCU執(zhí)行指令內(nèi)容。其流程如圖4所示。
圖4 指令執(zhí)行流程
設(shè)備監(jiān)控端實時準(zhǔn)備接收指令,接收指令后根據(jù)Header判斷指令類型并校驗設(shè)備的ID號,這樣即使其他設(shè)備接收到該指令也不會響應(yīng),實現(xiàn)點對點通信的目的,避免錯誤執(zhí)行。同時還要對數(shù)據(jù)本身進行校驗,避免數(shù)據(jù)漏接或亂碼。
遠(yuǎn)程監(jiān)控的主要風(fēng)險在于網(wǎng)絡(luò)連接不穩(wěn)定及遠(yuǎn)程終端對設(shè)備監(jiān)控端控制的不確定性。因此,設(shè)備端需要一套重連機制保證網(wǎng)絡(luò)狀況不佳時進行重新連接,并采取自動保護措施。
通過在設(shè)備監(jiān)控端設(shè)定一個定時發(fā)送的心跳包檢測通信鏈路是否正常。若發(fā)送心跳包后收不到云端的回應(yīng)或者其他的通信消息時,設(shè)備端進行主動重連,重啟移動數(shù)據(jù)網(wǎng)絡(luò)通信模塊后再次建立TCP連接。
節(jié)點的通信行為取決于數(shù)據(jù)鏈路層的資源調(diào)度,多路徑傳輸?shù)娜蒎e主要分為復(fù)制機制和重傳機制[12]。為降低數(shù)據(jù)的冗余性和減少網(wǎng)絡(luò)負(fù)載,本系統(tǒng)采用逐條重傳(Hop-by-Hop,HbH)機制。需要傳輸?shù)男畔⒊肆⒓窗l(fā)送之外,還暫存于緩沖存儲器中。若接收端解碼出錯,則對發(fā)送端發(fā)出一個重發(fā)指令,該指令控制發(fā)送端重新發(fā)送信息直至解碼正確。
本系統(tǒng)采用控制與應(yīng)用分離模式。設(shè)備監(jiān)控端由MCU統(tǒng)一控制并接收和執(zhí)行控制指令,安全監(jiān)控的相關(guān)邏輯則部署在云端服務(wù)器。遠(yuǎn)程終端包括云服務(wù)器軟件和客戶端,為使用方便,客戶端還具有Web端、桌面客戶端和手機APP三種。該系統(tǒng)具有可擴展功能,可設(shè)置256個區(qū)域,每個區(qū)域可連接256個設(shè)備監(jiān)控端,每個設(shè)備監(jiān)控端可測量12個回路的用電設(shè)備。
為方便管理數(shù)量龐大的設(shè)備監(jiān)控端,系統(tǒng)為每一個設(shè)備監(jiān)控端設(shè)定一個專屬唯一ID號。讀取MCU的ID地址,對此地址進行加密操作變成一個4 Byte的ID號。在客戶端將這些設(shè)備添加到規(guī)定的區(qū)域中,方便不同權(quán)限的用戶進行管理。
本系統(tǒng)采用阿里云服務(wù)器,云服務(wù)器軟件是由JAVA語言編寫的,采用Netty框架,其詳細(xì)功能如圖5所示。MCU通過TCP連到服務(wù)軟件,服務(wù)軟件接收數(shù)據(jù),根據(jù)協(xié)議解析數(shù)據(jù),將數(shù)據(jù)和每一個MCU的ID通道號保存和記錄在MySQL數(shù)據(jù)庫中,通過應(yīng)用程序接口(Application Programming Interface, API)與客戶端完成數(shù)據(jù)交互。
圖5 云服務(wù)器軟件功能
在一般的物聯(lián)網(wǎng)應(yīng)用層協(xié)議中,消息隊列遙測傳輸(Message Queuing Telemetry Transport, MQTT)協(xié)議以其簡約、輕量、易于使用等優(yōu)點被廣泛應(yīng)用于各物聯(lián)網(wǎng)平臺中。該協(xié)議構(gòu)建于TCP/IP上,實現(xiàn)消息的發(fā)布/訂閱模式,可提供一對多的消息發(fā)布,特別適用于嵌入式設(shè)備和高延遲、不可靠的網(wǎng)絡(luò)環(huán)境,可以更好地實現(xiàn)多組設(shè)備與云端的集成。設(shè)備監(jiān)控端采用Air 720搭載的移動數(shù)據(jù)網(wǎng)絡(luò)模塊作為通信設(shè)備,內(nèi)置MQTT協(xié)議棧,主要由MCU通過AT指令對Air 720模塊進行配置和數(shù)據(jù)包上傳,其主要工作是將參數(shù)表中的數(shù)據(jù)包上傳到云服務(wù)器,以及接收云服務(wù)器下發(fā)的指令,并傳輸?shù)組CU中使其執(zhí)行相應(yīng)的操作。云服務(wù)軟件和各個客戶端的實時數(shù)據(jù)和指令交互也是通過MQTT交互的。
用HTML5設(shè)計出該系統(tǒng)的Web程序,利用Web系統(tǒng)易擴展與客戶端易維護的特點,通過Web程序管理數(shù)據(jù)庫并提供API給手機APP和桌面客戶端,桌面客戶端能添加高級管理員(全系統(tǒng)全部權(quán)限含參數(shù)調(diào)整權(quán)限)、區(qū)域管理員(按設(shè)備地址區(qū)分,區(qū)域內(nèi)除參數(shù)調(diào)整外的全部權(quán)限)、高級監(jiān)控員(僅全系統(tǒng)全部查看、報警接收和故障切除權(quán)限)、區(qū)域監(jiān)控員(僅區(qū)域內(nèi)全部查看、報警接收和故障切除權(quán)限)、高級訪問員(僅全系統(tǒng)全部查看、報警接收權(quán)限)、區(qū)域訪問員(僅區(qū)域內(nèi)全部查看、報警接收權(quán)限)等6類不同權(quán)限的用戶,這6類用戶均能在手機APP和桌面客戶端登錄。此處以桌面客戶端和手機APP端為例,設(shè)計的頁面及其功能如圖6和圖7所示。
圖7 手機端操作頁面
軟硬件設(shè)計完成后,對系統(tǒng)進行測試以驗證系統(tǒng)是否可達(dá)到預(yù)期的目標(biāo)。為部署方便,選用兩個區(qū)域的其中6個回路對該系統(tǒng)進行測試。測試設(shè)備如圖8所示。
圖8 測試設(shè)備
將監(jiān)控設(shè)備正確安裝到配電箱內(nèi)且移動數(shù)據(jù)網(wǎng)絡(luò)正常運行后,在回路中接入大功率用電設(shè)備,10 s后設(shè)備自動斷電,桌面端彈出報警對話框并發(fā)出警報聲。在回路中接入損壞的用電設(shè)備,系統(tǒng)僅彈出報警對話框并發(fā)出警報聲。
經(jīng)過現(xiàn)場測試試驗,桌面端和手機端都能完成實時準(zhǔn)確地查看各個區(qū)域每個設(shè)備的運行情況、控制用電設(shè)備啟停、故障報警接收和查看歷史統(tǒng)計數(shù)據(jù)等功能,達(dá)到了預(yù)期目的。
本文設(shè)計的基于云服務(wù)器的高鐵客站用電設(shè)備安全監(jiān)控系統(tǒng)實現(xiàn)了高鐵客站龐大且復(fù)雜的用電設(shè)備的統(tǒng)一控制,解決了高鐵客站信息化過程中用電設(shè)備安全管理以及遠(yuǎn)程控制等問題,提升了運維效率,減少了管理成本?,F(xiàn)場試驗結(jié)果表明,該安全監(jiān)控系統(tǒng)設(shè)計可靠、運行穩(wěn)定、有較強的實用性,在用電設(shè)備安全實時監(jiān)控方面具有一定的應(yīng)用推廣前景。