王 夢,田曉俊,劉小辰,鄭淏月,林海龍,劉勁松,楊 萌,溫廣瑞
(1.國投生物科技投資有限公司,北京 100034;2.西安交通大學(xué) 機(jī)械工程學(xué)院,陜西 西安 710049)
2020年9月22日,習(xí)近平主席在第七十五屆聯(lián)合國大會上向世界表達(dá)了中國推動疫情后世界經(jīng)濟(jì)“綠色復(fù)蘇”的美好愿景和決心[1]。2022年,《政府工作報告》提出,有序推進(jìn)“碳達(dá)峰”“碳中和”工作,持續(xù)改善生態(tài)環(huán)境,推動綠色低碳發(fā)展,實現(xiàn)“雙碳”目標(biāo)是我國向國際社會作出的莊嚴(yán)承諾。站在新的發(fā)展起點上,作為綠色低碳可再生能源,生物工業(yè)乙醇迎來了新的歷史機(jī)遇[2]。
隨著世界從 IT 時代進(jìn)入到 DT 時代,數(shù)據(jù)價值理念逐漸深入人心,未來世界將由數(shù)據(jù)驅(qū)動。在大數(shù)據(jù)時代開展數(shù)據(jù)管控工作已成為科研院所和企事業(yè)單位的重要工作之一[3]。工業(yè)乙醇工廠作為流程型企業(yè),生產(chǎn)過程存在數(shù)據(jù)總量大、數(shù)據(jù)種類多、傳播速度快等特點[4-5]。近年來,“互聯(lián)網(wǎng)+”快速發(fā)展,工業(yè)乙醇行業(yè)發(fā)展趨勢和企業(yè)經(jīng)營管理對大數(shù)據(jù)背景下的企業(yè)海量數(shù)據(jù)管控的要求也越來越高。
本文針對工業(yè)乙醇工廠生產(chǎn)運行數(shù)據(jù)采集、存儲、計算、統(tǒng)計及分析的全流程管理,將互聯(lián)網(wǎng)技術(shù)應(yīng)用于工業(yè)乙醇工廠的控制系統(tǒng)環(huán)境,研發(fā)設(shè)計工業(yè)乙醇數(shù)據(jù)管控分析平臺(EthanolMax),為用戶提供生產(chǎn)運行過程中關(guān)鍵指標(biāo)的監(jiān)控和管理功能,并實現(xiàn)高效準(zhǔn)確的實時數(shù)據(jù)分析,對提高工業(yè)乙醇全生命周期大數(shù)據(jù)管理水平具有指導(dǎo)意義和參考價值。
EthanolMax 系統(tǒng)平臺由六個部分組成,包括:獨立部署在工廠控制系統(tǒng)區(qū)域數(shù)據(jù)采集層的服務(wù)器,集中部署在EthanolMax 的中心服務(wù)器集群,數(shù)據(jù)接收層,數(shù)據(jù)運算層,數(shù)據(jù)存儲層,數(shù)據(jù)交互層,如圖1所示。
圖1 EthanolMax 系統(tǒng)架構(gòu)
為保證平臺運行的穩(wěn)定性和擴(kuò)展性,核心功能代碼使用跨平臺的計算機(jī)程序設(shè)計語言Python 進(jìn)行開發(fā),并使用關(guān)系型數(shù)據(jù)庫、時序數(shù)據(jù)庫及對象數(shù)據(jù)庫搭建數(shù)據(jù)倉庫,實現(xiàn)數(shù)據(jù)的存儲和管理功能。
EthanolMax的主要功能是以自動化方式高效地執(zhí)行乙醇工廠生產(chǎn)運行數(shù)據(jù)采集、存儲、計算、統(tǒng)計及分析的全流程數(shù)據(jù)管理任務(wù)。平臺主要包括數(shù)據(jù)采集、數(shù)據(jù)轉(zhuǎn)發(fā)、數(shù)據(jù)接收和數(shù)據(jù)加工模塊,如圖2所示。
圖2 EthanolMax 系統(tǒng)功能
EthanolMax 系統(tǒng)中,數(shù)據(jù)采集模塊通過工業(yè)控制系統(tǒng)采集實時生產(chǎn)運行數(shù)據(jù)[6],并存儲至本地時序數(shù)據(jù)庫。本地前置服務(wù)器通過數(shù)據(jù)轉(zhuǎn)發(fā)模塊從工廠本地數(shù)據(jù)庫提取固定時間范圍的原始數(shù)據(jù),并執(zhí)行聚合運算;將原始數(shù)據(jù)去除異常值后,聚合為分鐘數(shù)據(jù),并將聚合結(jié)果發(fā)送至EthanolMax 的消息隊列服務(wù)接口;對所產(chǎn)生的異常值單獨儲存在本地時序數(shù)據(jù)庫,在聚合分鐘數(shù)據(jù)上傳完畢后再進(jìn)行上傳。消息隊列服務(wù)接口在接收到本地數(shù)據(jù)轉(zhuǎn)發(fā)模塊推送的分鐘聚合數(shù)據(jù)后,將調(diào)用數(shù)據(jù)接收模塊,將數(shù)據(jù)存儲至EthanolMax 的數(shù)據(jù)倉庫中,并調(diào)用后續(xù)的數(shù)據(jù)加工模塊。將所接收的異常值單獨儲存留作設(shè)備運行記錄,數(shù)據(jù)加工模塊根據(jù)接收到的屬性字典,從EthanolMax數(shù)據(jù)倉庫中獲取更新的生產(chǎn)運行數(shù)據(jù),對數(shù)據(jù)執(zhí)行進(jìn)一步的加工及運算,并將計算結(jié)果存儲至數(shù)據(jù)倉庫中。各功能模塊的具體介紹如下:
(1)數(shù)據(jù)采集模塊部署在工廠本地前置服務(wù)器上,通過OPC UA 協(xié)議接口,建立與工廠控制系統(tǒng)間的實時數(shù)據(jù)發(fā)布/訂閱機(jī)制,按照指定頻次(≥1 秒/次)定期對所監(jiān)控的設(shè)備進(jìn)行數(shù)據(jù)采集,將采集的數(shù)據(jù)先在本地服務(wù)器存儲。
(2)數(shù)據(jù)轉(zhuǎn)發(fā)模塊部署在工廠本地前置服務(wù)器上,按照批處理的方式,定期將本地時序數(shù)據(jù)庫中更新的原始生產(chǎn)運行數(shù)據(jù)進(jìn)行聚合運算,獲得分鐘級別的聚合結(jié)果,并將結(jié)果轉(zhuǎn)換為JSON 消息便于傳輸;然后推送至EthanolMax 系統(tǒng)中心平臺的消息隊列服務(wù)接口,完成數(shù)據(jù)本地至中心平臺的同步,實現(xiàn)本地生產(chǎn)運行數(shù)據(jù)的輕量級清洗、聚合及推送功能。
(3)數(shù)據(jù)接收模塊部署在EthanolMax 中心服務(wù)器上,當(dāng)中心服務(wù)器的消息隊列接口服務(wù)接收到由工廠本地前置服務(wù)器數(shù)據(jù)轉(zhuǎn)發(fā)技術(shù)發(fā)送的JSON 消息后,會自動觸發(fā)數(shù)據(jù)接收技術(shù);數(shù)據(jù)接收技術(shù)會對JSON 消息進(jìn)行解析,生成DataFrame 數(shù)組,并根據(jù)JSON 消息的屬性字典,確認(rèn)消息需要存儲的數(shù)據(jù)庫、數(shù)據(jù)表及消息轉(zhuǎn)存完成后需要執(zhí)行的后續(xù)程序;之后,數(shù)據(jù)接收技術(shù)會根據(jù)解析后的信息,將數(shù)組同步至指定數(shù)據(jù)庫的數(shù)據(jù)表中,并觸發(fā)后續(xù)數(shù)據(jù)加工及處理等計算程序。
(4)數(shù)據(jù)加工模塊是通過數(shù)據(jù)接收模塊觸發(fā)執(zhí)行,當(dāng)數(shù)據(jù)接收模塊將工廠就地更新的生產(chǎn)運行數(shù)據(jù)寫入EthanolMax數(shù)據(jù)倉庫的時序數(shù)據(jù)庫時,數(shù)據(jù)加工模塊會對寫入數(shù)據(jù)庫的數(shù)據(jù)所屬時間內(nèi)的分鐘數(shù)據(jù)進(jìn)行聚合運算,并將聚合運算的結(jié)果寫入數(shù)據(jù)倉庫的關(guān)系型數(shù)據(jù)庫。對于較復(fù)雜運算通過引入公用API(如數(shù)據(jù)分析可視化系統(tǒng)、專家系統(tǒng)或ERP 系統(tǒng))接口來達(dá)到高效處理,并將結(jié)果保存至服務(wù)器,便于之后的調(diào)用。
為實現(xiàn)工業(yè)乙醇數(shù)據(jù)管控分析平臺全流程有效管控,在平臺開發(fā)中采取了以下多項關(guān)鍵技術(shù):
(1)數(shù)據(jù)采集技術(shù)(SyncDataAcquisition)通過以下步驟實現(xiàn)控制系統(tǒng)數(shù)據(jù)的采集與本地存儲功能:獲取需訂閱的控制系統(tǒng)測點清單,并生成DataFrame 數(shù)組;調(diào)用opc_subscribe 功能,建立與控制系統(tǒng)OPC Server 間的連接,并根據(jù)測點清單向OPC Server 訂閱相應(yīng)的生產(chǎn)運行數(shù)據(jù)測點;建立與時序數(shù)據(jù)庫之間的連接;將訂閱的生產(chǎn)運行數(shù)值生成數(shù)組,并寫入本地時序數(shù)據(jù)庫。
(2)數(shù)據(jù)轉(zhuǎn)發(fā)技術(shù)(DataTransmitter)通過以下步驟實現(xiàn)將本地存儲數(shù)據(jù)轉(zhuǎn)發(fā)至EthanolMax 中心服務(wù)器上的消息隊列服務(wù)接口的功能:程序默認(rèn)運行周期為每分鐘執(zhí)行一次,每次執(zhí)行時會自動獲取上一分鐘存儲至本地時序數(shù)據(jù)庫中的原始測點數(shù)據(jù),并生成DataFrame 數(shù)組;本地時序數(shù)據(jù)庫中的數(shù)據(jù)按照秒級頻次存儲,而在EthanolMax 數(shù)據(jù)倉庫中的數(shù)據(jù)顆粒度為分鐘級,因此對本地時序數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行聚合運算后,再轉(zhuǎn)發(fā)至EthanolMax 數(shù)據(jù)倉庫;當(dāng)獲取到分鐘聚合數(shù)據(jù)后,腳本會將DataFrame 數(shù)組轉(zhuǎn)換為JSON 消息,并生成消息的屬性字典;在生成JSON 消息和屬性字典后,腳本調(diào)用數(shù)據(jù)轉(zhuǎn)發(fā)功能塊,將所獲取信息推送至EthanolMax消息隊列服務(wù)接口。
(3)數(shù)據(jù)接收技術(shù)(MessageReceiver)通過以下步驟實現(xiàn)從消息隊列接口服務(wù)中獲取數(shù)據(jù),并將數(shù)據(jù)存儲至EthanolMax 中心服務(wù)器數(shù)據(jù)倉庫的功能:通過message_parse_sqs 功能,解析從消息隊列接口服務(wù)推送的JSON 消息及屬性字典;生成DataFrame 數(shù)組后,程序會對JSON 消息的屬性字典進(jìn)行解析并將數(shù)據(jù)寫入對應(yīng)的數(shù)據(jù)表中;當(dāng)數(shù)據(jù)成功同步至EthanolMax 中心平臺時序數(shù)據(jù)庫后,按條件觸發(fā)程序運行。
(4)數(shù)據(jù)加工技術(shù)(DataAggregation)通過以下步驟實現(xiàn)對原始數(shù)據(jù)執(zhí)行聚合運算:獲取由數(shù)據(jù)接收技術(shù)提供的任務(wù)屬性字典,并從字典中解析出源數(shù)據(jù)庫、源數(shù)據(jù)表以及待處理的原始分鐘數(shù)據(jù)的時間和區(qū)間;對DataFrame 數(shù)組執(zhí)行數(shù)據(jù)清洗及對應(yīng)時間和區(qū)間內(nèi)的聚合運算;在生成小時聚合數(shù)據(jù)集后,腳本將聚合結(jié)果寫入EthanolMax 數(shù)據(jù)倉庫的關(guān)系型數(shù)據(jù)庫中[7]。
為驗證工業(yè)乙醇數(shù)據(jù)管控分析平臺的可用性、穩(wěn)定性及準(zhǔn)確性,本文選取生物乙醇生產(chǎn)線進(jìn)行平臺部署,并進(jìn)行相關(guān)功能實驗。選取包括粉碎、液化、發(fā)酵與蒸餾4 道關(guān)鍵生產(chǎn)工序在內(nèi)的生產(chǎn)線,涉及設(shè)備產(chǎn)能、設(shè)備負(fù)荷、生產(chǎn)時間相關(guān)數(shù)據(jù)[8],其生產(chǎn)工序間關(guān)聯(lián)性強(qiáng),數(shù)據(jù)結(jié)構(gòu)復(fù)雜,是一條具有代表性的工業(yè)乙醇生產(chǎn)線。部署平臺如圖3所示。
圖3 工業(yè)乙醇數(shù)據(jù)管控分析模擬平臺
平臺對工業(yè)乙醇生產(chǎn)過程產(chǎn)生的海量多源異構(gòu)數(shù)據(jù)進(jìn)行實時監(jiān)測,并對工業(yè)乙醇生產(chǎn)過程中的數(shù)據(jù)進(jìn)行管控分析。
通過對工業(yè)乙醇數(shù)據(jù)管控分析平臺(EthanolMax)進(jìn)行數(shù)據(jù)采集功能實驗、數(shù)據(jù)轉(zhuǎn)發(fā)功能實驗、數(shù)據(jù)接收功能實驗以及數(shù)據(jù)加工功能實驗等,證明了平臺能夠較為穩(wěn)定地完成工業(yè)乙醇生產(chǎn)全生命周期的數(shù)據(jù)管控,實現(xiàn)數(shù)據(jù)采集、轉(zhuǎn)發(fā)、接收并進(jìn)行實時分析,為企業(yè)管理層及用戶層的決策及實施提供可靠依據(jù)。平臺功能如圖4所示。
圖4 數(shù)據(jù)管控分析平臺功能示意圖
工業(yè)乙醇數(shù)據(jù)管控分析平臺(EthanolMax),從數(shù)據(jù)采集、數(shù)據(jù)轉(zhuǎn)發(fā)、數(shù)據(jù)接收及數(shù)據(jù)分析等方面對工業(yè)乙醇生產(chǎn)全生命周期進(jìn)行數(shù)據(jù)管控,能夠有效審核和管理工業(yè)乙醇全流程數(shù)據(jù),避免數(shù)據(jù)流轉(zhuǎn)錯誤,提高手工數(shù)據(jù)審核準(zhǔn)確性[9,10]。該平臺已應(yīng)用于國投生物能源(鐵嶺)公司的工業(yè)乙醇生產(chǎn)過程中,通過數(shù)據(jù)管控分析,能夠?qū)崟r監(jiān)測生產(chǎn)數(shù)據(jù)并進(jìn)行數(shù)據(jù)分析,為提高企業(yè)生產(chǎn)效率和管理水平提供科學(xué)保障。后續(xù)研究中將進(jìn)一步基于大數(shù)據(jù)挖掘融合、機(jī)器學(xué)習(xí)及數(shù)字孿生等技術(shù)探索工業(yè)乙醇生產(chǎn)全生命周期的數(shù)據(jù)反饋及交互,為工業(yè)乙醇智能生產(chǎn)運維提供支持。