陳雪斌 袁逸萍 財音寶音 朱廣賀
(①新疆大學(xué)智能制造現(xiàn)代產(chǎn)業(yè)學(xué)院,新疆 烏魯木齊 830046;②新疆師范大學(xué)計算機科學(xué)技術(shù)學(xué)院,新疆 烏魯木齊 830054)
鋁電解電容器是一種基本電子元件,主要作用是在電路中存儲電能、濾波和平滑直流電源。近年來,隨著新能源發(fā)展和5G 基站的快速增長,使得鋁電解電容器需求量不斷增加。電子鋁箔和電極箔屬于鋁電解電容器的上游產(chǎn)品,生產(chǎn)過程中的多次軋制或腐蝕、化成需要消耗大量能源,而傳統(tǒng)工業(yè)手動記錄和人工監(jiān)測的方式存在著采集周期長、數(shù)據(jù)準確性低以及缺乏實時性等弊端。如何提高能源利用效率已成為高耗能企業(yè)所關(guān)心的重要問題。
隨著制造企業(yè)數(shù)字化的興起,能耗監(jiān)測系統(tǒng)已成為解決上述問題的一種有效手段。吳曉為實現(xiàn)能耗在線監(jiān)測,實時、準確地掌握關(guān)鍵工序的能源消耗的情況而提出建設(shè)數(shù)字化能源管控系統(tǒng)的明確目的[1]。張琦等設(shè)計了一套企業(yè)智慧能源管控系統(tǒng),基于人工神經(jīng)網(wǎng)絡(luò)建模的方法實現(xiàn)了對某鋼鐵企業(yè)的能源供需量預(yù)測[2]。鞠文杰等設(shè)計出應(yīng)用于工業(yè)節(jié)能的能耗在線監(jiān)測系統(tǒng),該系統(tǒng)實現(xiàn)了對企業(yè)運行狀態(tài)時的能耗監(jiān)測、安全預(yù)警[3]。童世華從遠程監(jiān)測管理的角度設(shè)計了一種車間能耗實時監(jiān)測系統(tǒng),實現(xiàn)對車間實時能耗情況的檢測[4]。
上述研究實現(xiàn)了能耗監(jiān)測的基本功能和需求,同時也在能耗監(jiān)測方面做出了巨大貢獻,但對于所采集能耗數(shù)據(jù)缺乏重視,僅對數(shù)據(jù)采集及展示,并未采取有效的方法去處理、挖掘能耗數(shù)據(jù)中所蘊含的潛能,例如不同車間的同環(huán)比分析、趨勢分析、設(shè)備的臺賬功能等,從而造成部分資源浪費。針對上述情況,結(jié)合新疆某鋁箔車間需求,搭建了一種從能源數(shù)據(jù)采集-能源消耗實時監(jiān)控-能源消耗數(shù)據(jù)統(tǒng)計-能源消耗數(shù)據(jù)分析預(yù)測-能源數(shù)據(jù)分析報告等全過程的能耗預(yù)測系統(tǒng)。
系統(tǒng)整體由感知層、傳輸層和應(yīng)用層構(gòu)成[10],其結(jié)構(gòu)框架如圖1 所示。
圖1 系統(tǒng)總體架構(gòu)
感知層實現(xiàn)底層數(shù)據(jù)采集。由于企業(yè)內(nèi)部存在部分有線方式無法接入的智能電表,系統(tǒng)以Lora無線的方式將數(shù)據(jù)上傳到Lora 網(wǎng)關(guān)中,再將數(shù)據(jù)匯總至中心服務(wù)器。除此之外的區(qū)域均采用智能電表、電子遠程水表、流量計等儀器對采集單元數(shù)據(jù)進行采集。
傳輸層由Lora 網(wǎng)關(guān)和通信網(wǎng)絡(luò)組成,主要對所采集的數(shù)據(jù)信息進行解析和傳輸。為保證數(shù)據(jù)傳輸過程的穩(wěn)定性,系統(tǒng)采用以光纖傳輸為主的能源數(shù)據(jù)采集。Lora 節(jié)點使用Lora 連接到Lora 網(wǎng)關(guān),Lora 網(wǎng)關(guān)位處于其星形網(wǎng)絡(luò)的核心位置,由Lora網(wǎng)關(guān)連接服務(wù)器進行數(shù)據(jù)的傳輸。
應(yīng)用層實現(xiàn)對傳輸?shù)狡脚_服務(wù)器的數(shù)據(jù)進行分析、處理及存儲的功能。該層中,MQTT 服務(wù)提供一對多的消息發(fā)布,實現(xiàn)對能耗數(shù)據(jù)信息的發(fā)布與訂閱[5]。系統(tǒng)數(shù)據(jù)庫采用MYSQL 搭建主從復(fù)制集群,并在此基礎(chǔ)上實現(xiàn)系統(tǒng)對數(shù)據(jù)庫的讀寫分離。最終通過Web 直觀地向企業(yè)人員展示不同車間的實時能源數(shù)據(jù)、能耗監(jiān)測和設(shè)備掉線預(yù)警等信息。
系統(tǒng)硬件主要由智能采集表、Lora 模塊和LoraWAN 網(wǎng)關(guān)組成。組網(wǎng)方式選取單跳網(wǎng)絡(luò),采用協(xié)議為星形拓撲網(wǎng)絡(luò),如圖2 所示。
圖2 星形拓撲網(wǎng)絡(luò)
智能采集表負責采集水、電和氣等能耗數(shù)據(jù)。
Lora 模塊的主要任務(wù)是利用Lora 網(wǎng)絡(luò)對智能表數(shù)據(jù)進行接收與傳輸。結(jié)構(gòu)原理如圖3 所示,終端選用核心處理器為Semtech SX1276 的L8DTU Lora 模塊,模塊支持全球各地多種頻段(433/470/780/868/915 MHz),工作電壓范圍為+7~+30 V,同時提供RS232 和RS485 接口,接口內(nèi)置15 kV ESD 保護且擁有WDT 看門狗設(shè)計,保證系統(tǒng)穩(wěn)定性。
圖3 L8DTU 結(jié)構(gòu)框圖
LoraWAN 網(wǎng)關(guān)的主要任務(wù)是將節(jié)點的數(shù)據(jù)信息收集,再通過網(wǎng)絡(luò)發(fā)送到平臺服務(wù)器。網(wǎng)關(guān)選用RAK7249 WisGate Edge Max,其模塊化和自定義選項允許在部署解決方案時具有靈活性。軟件上內(nèi)置Lora 服務(wù)器,在MQTTv3.1 橋接時進行TLS 加密,最重要的是在NS 中斷時該網(wǎng)關(guān)會緩沖Lora 幀,其優(yōu)勢在于不會丟失數(shù)據(jù)。數(shù)據(jù)傳輸流程如圖4 所示。
圖4 數(shù)據(jù)傳輸流程圖
系統(tǒng)的功能模塊構(gòu)成如下:基礎(chǔ)信息管理模塊、實時數(shù)據(jù)模塊、累計數(shù)據(jù)模塊、尖峰平谷數(shù)據(jù)模塊、能源分析模塊、能耗預(yù)測模塊、能源預(yù)警模塊、臺賬模塊、報表參數(shù)錄入、能源點位管理、數(shù)據(jù)庫表管理模塊和能源可視化大屏模塊。
2.2.1 設(shè)計基礎(chǔ)信息管理模塊
系統(tǒng)的基礎(chǔ)信息管理模塊包括用戶管理功能、菜單管理功能和部門管理功能。
用戶管理功能劃分普通用戶、普通管理員和超級管理員3 種角色,普通管理員用于日常為廠區(qū)不同車間員工、不同部門的上下級領(lǐng)導(dǎo)操作、查看權(quán)限的配置,不同角色權(quán)限配置見表1。
表1 角色權(quán)限配置表
2.2.2 實時數(shù)據(jù)模塊
從具體場景出發(fā),該模塊對壓延、精整、熔鑄、水站和風機房等車間的實時數(shù)據(jù)進行展示。數(shù)據(jù)采集間隔15 s,保證對頁面數(shù)據(jù)的實時性,同時采用“樹-枝”結(jié)構(gòu)進行菜單分區(qū),圖5 所示為冷軋區(qū)實時監(jiān)測界面。
圖5 冷軋區(qū)實時監(jiān)測
2.2.3 設(shè)計警報模塊
能源警報模塊的設(shè)計包含兩部分,儀表模塊掉線警報和能耗預(yù)測異常警報,設(shè)計流程如圖6 所示。在底層硬件設(shè)計中,單塊Lora 模塊負責若干智能表數(shù)據(jù)的接收與發(fā)送,故對儀表模塊設(shè)計了掉線警報功能。當真實數(shù)據(jù)與預(yù)測數(shù)據(jù)出入較大時,觸發(fā)預(yù)測異常警報。
圖6 警報功能流程圖
2.2.4 設(shè)計能耗預(yù)測模塊
能耗預(yù)測模塊中的預(yù)測模型使用Python 進行實現(xiàn),考慮到使用Java 第三方庫中的Python 解釋器加載模型可能會出現(xiàn)解釋器運行速度較慢的情況,設(shè)計將訓(xùn)練預(yù)測模型包裝在REST API 中,以調(diào)用API 的形式獲取模型的預(yù)測結(jié)果。在系統(tǒng)實時數(shù)據(jù)的采集傳輸中實現(xiàn)對未來短期能耗趨勢的預(yù)測。將預(yù)測結(jié)果通過前端開源組件Echarts 將實時數(shù)據(jù)與預(yù)測數(shù)據(jù)以趨勢圖的形式呈現(xiàn)。
對時間序列預(yù)測常采用的方法有ARIMA 模型(自回歸移動平均模型)、ES 模型(指數(shù)平滑模型)、RW 模型(隨機游走模型)和神經(jīng)網(wǎng)絡(luò)等。ARIMA 模型和ES 模型擅長對具有季節(jié)性的時間序列數(shù)據(jù)進行捕捉,RW 模型是基于假設(shè)時間序列中的下一個值加上一個隨機誤差項,該模型擅長對具有較長時間趨勢的時間序列進行預(yù)測[7-9]?;诒狙芯繑?shù)據(jù)集具有的非線性特征,研究選擇具有較強泛化能力的神經(jīng)網(wǎng)絡(luò)(long short-term memory,LSTM)進行預(yù)測模型構(gòu)建。
LSTM 本質(zhì)上是一種特定形式的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[6]。在模型的選擇時使用LSTM 模型而不是RNN 模型的原因是,對RNN 模型的訓(xùn)練,實際上就是借助計算機強大的計算能力對wx、ws、wo、b1、b2求偏導(dǎo)并不斷地進行調(diào)整,使損失函數(shù)L3盡可能地達到最小。在這個過程中,隨著神經(jīng)網(wǎng)絡(luò)的層數(shù)加深對wx、ws會因為時間序列的拉長而產(chǎn)生梯度消失和梯度爆炸。LSTM 通過增加門機制大幅度地減少了這種情況的發(fā)生。
LSTM 模型整體由輸入層、隱藏層和輸出層組成。如圖7 所示,LSTM 的隱藏層由一系列結(jié)構(gòu)相同的LSTM 單元組成,每個LSTM 單元的結(jié)構(gòu)包括3 個主要部分:輸入門、遺忘門、輸出門以及一個狀態(tài)變量。以下是LSTM 神經(jīng)網(wǎng)絡(luò)在t時刻的更新過程。
圖7 LSTM 原理圖
LSTM 是一種常用的神經(jīng)網(wǎng)絡(luò)模型,在序列數(shù)據(jù)預(yù)測任務(wù)中表現(xiàn)良好。其中,LSTM 中的部分參數(shù)無法通過訓(xùn)練數(shù)據(jù)自動學(xué)習(xí)而獲得,需要人為手動輸入且這部分參數(shù)會直接影響到模型的預(yù)測精準度、訓(xùn)練速度等。目前,LSTM 超參數(shù)的選擇通常過分依賴于研究人員的個人經(jīng)驗和對專業(yè)知識的理解度,耗時久且容易受到主觀因素的影響。因此,文章設(shè)計一種基于粒子群算法優(yōu)化LSTM 神經(jīng)網(wǎng)絡(luò)的能耗預(yù)測模型,利用改進的粒子群算法對LSTM模型的輸入序列長度和隱藏層單元數(shù)進行優(yōu)化,從而提高預(yù)測模型的準確性和魯棒性。
APSO 算法是一種基于粒子群算法的改進算法,通過動態(tài)的調(diào)整慣性權(quán)重,使得粒子在搜索過程中可以更快地找到全局最優(yōu)解,與LSTM 模型結(jié)合具有較強的魯棒性。APSO-LSTM 神經(jīng)網(wǎng)絡(luò)算法步驟如下:
(1)采用最大最小值歸一化對數(shù)據(jù)預(yù)處理,將數(shù)據(jù)劃分為訓(xùn)練集和測試集。
(2)將LSTM 模型的輸入序列長度和隱藏層單元數(shù)設(shè)置為APSO 算法的粒子,通過不斷調(diào)整學(xué)習(xí)因子和慣性權(quán)重而不斷調(diào)整超參數(shù)的值。
(3)定義LSTM 模型和訓(xùn)練函數(shù),設(shè)置優(yōu)化器和損失函數(shù)。
(4)定義目標函數(shù),將輸入序列長度和隱藏單元數(shù)作為該函數(shù)的輸入,并返回訓(xùn)練LSTM 模型的損失函數(shù)作為性能評估指標
(5)初始化粒子群,包括粒子的速度vi和位置xi設(shè)定迭代次數(shù)以及學(xué)習(xí)因子c1、c2。
(6)通過統(tǒng)計對初始種粒子群的適應(yīng)度,分別記錄粒子群的個體極值和全局極值。
(7)根據(jù)更新粒子的速度vi和位置xi分別對粒子群的個體極值和全局極值。
(8)如果滿足結(jié)束條件或達到迭代次數(shù),則順延到步驟(9);否則,返回步驟(6)。
(9)輸出最優(yōu)超參數(shù),并將構(gòu)建LSTM 模型。
將模型通過訓(xùn)練集進行訓(xùn)練,測試集進行預(yù)測,輸出預(yù)測結(jié)果。公式更新為
式中:wmax為慣性權(quán)重最大值,wmin為慣性權(quán)重最小值,f表示粒子當前目標函數(shù)。設(shè)定最大慣性權(quán)重為1.5,最小慣性權(quán)重為0.6,通過不斷增加迭代次數(shù),慣性權(quán)重隨著進化狀態(tài)而變化,平衡全局和局部的搜索能力,達到全局搜索最優(yōu)。
以本系統(tǒng)的應(yīng)用對象(某鋁箔公司)作為測試數(shù)據(jù)的來源,廠區(qū)內(nèi)的主體耗能為水、電、氣(天然氣、氬氣等)。在此,以冷軋車間的電量預(yù)測作為驗證實驗。取系統(tǒng)2022 年7 月1 日至2022 年10月8 日中的2 400 條數(shù)據(jù)作為數(shù)據(jù)集,訓(xùn)練集與測試集以比率為4∶1 進行劃分。
首先,使用PyTorch 庫構(gòu)建一個LstmMode 作為LSTM 模型,LstmMode 包含一個lstm 層和一個線性層,以(time_step,batch,input_size)三維張量為輸入,經(jīng)過lstm 層計算輸出張量x1(time_step,batch,output_size)。將x1展開成二維張量去通過線性層計算,得到一個標量輸出。然后標量輸出被重新展開為三維張量,并返回作為輸出。
其次,選擇tanh 函數(shù)為激活函數(shù),PyTorch 庫中的MSE 函數(shù)作為損失函數(shù),優(yōu)化器選擇Adam算法。定義createDataSet 函數(shù),使用滑動窗口法將原始時間序列數(shù)據(jù)轉(zhuǎn)換為可供LSTM 模型訓(xùn)練的輸入和輸出。定義splitData 函數(shù)用于劃分訓(xùn)練集(rate∶0.8)。加載數(shù)據(jù)集(使用Pandas 庫中的read_csv 函數(shù)讀取數(shù)據(jù)),對數(shù)據(jù)集進行最大最小歸一化處理。調(diào)用createDataSet 函數(shù)將處理后的數(shù)據(jù)進行轉(zhuǎn)化,調(diào)用splitData 函數(shù)將轉(zhuǎn)換后的數(shù)據(jù)集按照給定rate 進行劃分訓(xùn)練集和測試集。
接著,定義訓(xùn)練函數(shù)(train_loop)接收nEpoch(訓(xùn)練總輪數(shù))、model(模型)、optimizer(優(yōu)化器)、lossFn(損失函數(shù))、trainData(訓(xùn)練集)五個參數(shù),參數(shù)nEpochs 取500,設(shè)置初試學(xué)習(xí)率為0.001,在400 輪訓(xùn)練后采用乘以因子0.5 來降低學(xué)習(xí)率,返回訓(xùn)練好的模型。該LSTM 模型的輸入序列長度為3,隱藏層單元數(shù)為6。
然后,利用APSO 算法對LSTM 模型的輸入序列長度和隱藏層單元數(shù)超參數(shù)進行尋優(yōu)。第一,定義目標函數(shù),以輸入序列長度和隱藏層單元數(shù)作為函數(shù)的輸入并返回訓(xùn)練LSTM 模型的損失函數(shù)作為模型的性能評估指標。第二,定義超參數(shù)的搜索空間,使用numpy 庫中的linspace 函數(shù)來生成一組均勻分布的輸入序列長度和隱藏層單元數(shù)值。第三,使用隨機數(shù)生成器在超參數(shù)搜索空間內(nèi)隨機選擇一組粒子,每個粒子代表一組超參數(shù)并為每個粒子分配一個初試速度,此處對應(yīng)APSO-LSTM 神經(jīng)網(wǎng)絡(luò)算法的步驟(5),余下步驟與APSO-LSTM 神經(jīng)網(wǎng)絡(luò)算法步驟(6)~(8)一致,直至將最優(yōu)參數(shù)組合輸出。
最后,以輸出最優(yōu)參數(shù)對LSTM 模型進行訓(xùn)練,重復(fù)上述LSTM 訓(xùn)練過程。
訓(xùn)練集用于APSO-LSTM 模型訓(xùn)練,測試集用于驗證模型的預(yù)測準確度。使用測試集中的均方根誤差來衡量模型性能,如圖8 所示。公式定義如下:
圖8 誤差曲線
式中:N為測試集總數(shù)據(jù)量;為預(yù)測值;yi為實際值。
圖9 為基于APSO 算法找尋最優(yōu)超參數(shù)構(gòu)建的LSTM 模型預(yù)測值與真實值擬合效果圖。APSOLSTM 模型預(yù)測值與實際值的擬合度較高,這表明模型經(jīng)過APSO 優(yōu)化具有良好的預(yù)測效果,對企業(yè)的生產(chǎn)計劃和資源配置等提供一定意義的指導(dǎo)參考。
圖9 預(yù)測結(jié)果對比
上述軟件設(shè)計中已列出系統(tǒng)模塊,這里僅展示其中的部分內(nèi)容。
實時表數(shù)據(jù)為壓延車間、精整車間、熔鑄車間、水站、機床、風機房的實時能源數(shù)據(jù)。如圖10 所示,以風機房為例,每個設(shè)備包含參數(shù)有瞬時流量、表頭累計流量、壓力、溫度、對應(yīng)時間戳,且界面設(shè)有數(shù)據(jù)導(dǎo)出功能。
圖10 實時數(shù)據(jù)-風機房
累積表數(shù)據(jù)分有3 個子菜單,分別為統(tǒng)計表數(shù)據(jù)、月累積數(shù)據(jù)和尖峰平谷數(shù)據(jù)。其中統(tǒng)計表數(shù)據(jù)由分鐘累積表數(shù)據(jù)、小時累積表數(shù)據(jù)、當天累積表數(shù)據(jù)組成。圖11 所示為日累計界面。
圖11 累計表數(shù)據(jù)一日累計
能耗分析總開發(fā)有6 個子菜單,分別為能源趨勢分析、能耗環(huán)比分析、萬元產(chǎn)值能耗分析、單位產(chǎn)品能源成本分析等。圖12 所示為能耗趨勢預(yù)測界面,企業(yè)管理人員以預(yù)測能耗趨勢為參考主動做出生產(chǎn)調(diào)整,進而指導(dǎo)生產(chǎn),降低能源消耗。
圖12 能耗趨勢預(yù)測
新疆某鋁箔企業(yè)在2022 年9 月中下旬將系統(tǒng)正式投入使用。在實際生產(chǎn)中,對不同月份的同一車間、同一產(chǎn)品規(guī)格以及相同進線的能源消耗進行統(tǒng)計,見表2。
表2 精整車間能耗對照明細
綜上所述,應(yīng)用本系統(tǒng)后,定義9 月份能耗為百分百,在該企業(yè)精整車間系統(tǒng)應(yīng)用前、后兩個月能耗對比中,423 進線(電)的能耗下降了6.85%,4T#退火爐(電)能耗下降了3.29%,31 真空退火爐(氬氣)能耗下降了3.67%,達成了計劃之初的完成指標,為企業(yè)降本增能提供了有力支撐,如圖13 所示。
圖13 能源消耗趨勢
本文設(shè)計了一種基于Lora 無線通信網(wǎng)絡(luò)的企業(yè)能耗監(jiān)測與預(yù)測系統(tǒng),以及一種基于APSO-LSTM算法的能耗預(yù)測模型。經(jīng)過若干次系統(tǒng)版本的迭代,目前系統(tǒng)已在新疆某鋁箔企業(yè)實施應(yīng)用。設(shè)計的APSO-LSTM 預(yù)測模型能夠較為準確地預(yù)測未來的能耗情況,且避免了手動調(diào)參。經(jīng)實際應(yīng)用證明,該系統(tǒng)有助于企業(yè)監(jiān)測和管理能耗信息,并使管理人員以預(yù)測能耗趨勢為參考主動做出生產(chǎn)調(diào)整,從而指導(dǎo)生產(chǎn),達到降低能耗、綠色生產(chǎn)的目的,具備一定的實際應(yīng)用價值和推廣前景。