王 夢,田曉俊,劉小辰,鄭淏月,林海龍,劉勁松,楊 萌,溫廣瑞
(1.國投生物科技投資有限公司,北京 100034;2.西安交通大學 機械工程學院,陜西 西安 710049)
2020年9月22日,習近平主席在第七十五屆聯合國大會上向世界表達了中國推動疫情后世界經濟“綠色復蘇”的美好愿景和決心[1]。2022年,《政府工作報告》提出,有序推進“碳達峰”“碳中和”工作,持續改善生態環境,推動綠色低碳發展,實現“雙碳”目標是我國向國際社會作出的莊嚴承諾。站在新的發展起點上,作為綠色低碳可再生能源,生物工業乙醇迎來了新的歷史機遇[2]。
隨著世界從 IT 時代進入到 DT 時代,數據價值理念逐漸深入人心,未來世界將由數據驅動。在大數據時代開展數據管控工作已成為科研院所和企事業單位的重要工作之一[3]。工業乙醇工廠作為流程型企業,生產過程存在數據總量大、數據種類多、傳播速度快等特點[4-5]。近年來,“互聯網+”快速發展,工業乙醇行業發展趨勢和企業經營管理對大數據背景下的企業海量數據管控的要求也越來越高。
本文針對工業乙醇工廠生產運行數據采集、存儲、計算、統計及分析的全流程管理,將互聯網技術應用于工業乙醇工廠的控制系統環境,研發設計工業乙醇數據管控分析平臺(EthanolMax),為用戶提供生產運行過程中關鍵指標的監控和管理功能,并實現高效準確的實時數據分析,對提高工業乙醇全生命周期大數據管理水平具有指導意義和參考價值。
EthanolMax 系統平臺由六個部分組成,包括:獨立部署在工廠控制系統區域數據采集層的服務器,集中部署在EthanolMax 的中心服務器集群,數據接收層,數據運算層,數據存儲層,數據交互層,如圖1所示。

圖1 EthanolMax 系統架構
為保證平臺運行的穩定性和擴展性,核心功能代碼使用跨平臺的計算機程序設計語言Python 進行開發,并使用關系型數據庫、時序數據庫及對象數據庫搭建數據倉庫,實現數據的存儲和管理功能。
EthanolMax的主要功能是以自動化方式高效地執行乙醇工廠生產運行數據采集、存儲、計算、統計及分析的全流程數據管理任務。平臺主要包括數據采集、數據轉發、數據接收和數據加工模塊,如圖2所示。

圖2 EthanolMax 系統功能
EthanolMax 系統中,數據采集模塊通過工業控制系統采集實時生產運行數據[6],并存儲至本地時序數據庫。本地前置服務器通過數據轉發模塊從工廠本地數據庫提取固定時間范圍的原始數據,并執行聚合運算;將原始數據去除異常值后,聚合為分鐘數據,并將聚合結果發送至EthanolMax 的消息隊列服務接口;對所產生的異常值單獨儲存在本地時序數據庫,在聚合分鐘數據上傳完畢后再進行上傳。消息隊列服務接口在接收到本地數據轉發模塊推送的分鐘聚合數據后,將調用數據接收模塊,將數據存儲至EthanolMax 的數據倉庫中,并調用后續的數據加工模塊。將所接收的異常值單獨儲存留作設備運行記錄,數據加工模塊根據接收到的屬性字典,從EthanolMax數據倉庫中獲取更新的生產運行數據,對數據執行進一步的加工及運算,并將計算結果存儲至數據倉庫中。各功能模塊的具體介紹如下:
(1)數據采集模塊部署在工廠本地前置服務器上,通過OPC UA 協議接口,建立與工廠控制系統間的實時數據發布/訂閱機制,按照指定頻次(≥1 秒/次)定期對所監控的設備進行數據采集,將采集的數據先在本地服務器存儲。
(2)數據轉發模塊部署在工廠本地前置服務器上,按照批處理的方式,定期將本地時序數據庫中更新的原始生產運行數據進行聚合運算,獲得分鐘級別的聚合結果,并將結果轉換為JSON 消息便于傳輸;然后推送至EthanolMax 系統中心平臺的消息隊列服務接口,完成數據本地至中心平臺的同步,實現本地生產運行數據的輕量級清洗、聚合及推送功能。
(3)數據接收模塊部署在EthanolMax 中心服務器上,當中心服務器的消息隊列接口服務接收到由工廠本地前置服務器數據轉發技術發送的JSON 消息后,會自動觸發數據接收技術;數據接收技術會對JSON 消息進行解析,生成DataFrame 數組,并根據JSON 消息的屬性字典,確認消息需要存儲的數據庫、數據表及消息轉存完成后需要執行的后續程序;之后,數據接收技術會根據解析后的信息,將數組同步至指定數據庫的數據表中,并觸發后續數據加工及處理等計算程序。
(4)數據加工模塊是通過數據接收模塊觸發執行,當數據接收模塊將工廠就地更新的生產運行數據寫入EthanolMax數據倉庫的時序數據庫時,數據加工模塊會對寫入數據庫的數據所屬時間內的分鐘數據進行聚合運算,并將聚合運算的結果寫入數據倉庫的關系型數據庫。對于較復雜運算通過引入公用API(如數據分析可視化系統、專家系統或ERP 系統)接口來達到高效處理,并將結果保存至服務器,便于之后的調用。
為實現工業乙醇數據管控分析平臺全流程有效管控,在平臺開發中采取了以下多項關鍵技術:
(1)數據采集技術(SyncDataAcquisition)通過以下步驟實現控制系統數據的采集與本地存儲功能:獲取需訂閱的控制系統測點清單,并生成DataFrame 數組;調用opc_subscribe 功能,建立與控制系統OPC Server 間的連接,并根據測點清單向OPC Server 訂閱相應的生產運行數據測點;建立與時序數據庫之間的連接;將訂閱的生產運行數值生成數組,并寫入本地時序數據庫。
(2)數據轉發技術(DataTransmitter)通過以下步驟實現將本地存儲數據轉發至EthanolMax 中心服務器上的消息隊列服務接口的功能:程序默認運行周期為每分鐘執行一次,每次執行時會自動獲取上一分鐘存儲至本地時序數據庫中的原始測點數據,并生成DataFrame 數組;本地時序數據庫中的數據按照秒級頻次存儲,而在EthanolMax 數據倉庫中的數據顆粒度為分鐘級,因此對本地時序數據庫中的數據進行聚合運算后,再轉發至EthanolMax 數據倉庫;當獲取到分鐘聚合數據后,腳本會將DataFrame 數組轉換為JSON 消息,并生成消息的屬性字典;在生成JSON 消息和屬性字典后,腳本調用數據轉發功能塊,將所獲取信息推送至EthanolMax消息隊列服務接口。
(3)數據接收技術(MessageReceiver)通過以下步驟實現從消息隊列接口服務中獲取數據,并將數據存儲至EthanolMax 中心服務器數據倉庫的功能:通過message_parse_sqs 功能,解析從消息隊列接口服務推送的JSON 消息及屬性字典;生成DataFrame 數組后,程序會對JSON 消息的屬性字典進行解析并將數據寫入對應的數據表中;當數據成功同步至EthanolMax 中心平臺時序數據庫后,按條件觸發程序運行。
(4)數據加工技術(DataAggregation)通過以下步驟實現對原始數據執行聚合運算:獲取由數據接收技術提供的任務屬性字典,并從字典中解析出源數據庫、源數據表以及待處理的原始分鐘數據的時間和區間;對DataFrame 數組執行數據清洗及對應時間和區間內的聚合運算;在生成小時聚合數據集后,腳本將聚合結果寫入EthanolMax 數據倉庫的關系型數據庫中[7]。
為驗證工業乙醇數據管控分析平臺的可用性、穩定性及準確性,本文選取生物乙醇生產線進行平臺部署,并進行相關功能實驗。選取包括粉碎、液化、發酵與蒸餾4 道關鍵生產工序在內的生產線,涉及設備產能、設備負荷、生產時間相關數據[8],其生產工序間關聯性強,數據結構復雜,是一條具有代表性的工業乙醇生產線。部署平臺如圖3所示。

圖3 工業乙醇數據管控分析模擬平臺
平臺對工業乙醇生產過程產生的海量多源異構數據進行實時監測,并對工業乙醇生產過程中的數據進行管控分析。
通過對工業乙醇數據管控分析平臺(EthanolMax)進行數據采集功能實驗、數據轉發功能實驗、數據接收功能實驗以及數據加工功能實驗等,證明了平臺能夠較為穩定地完成工業乙醇生產全生命周期的數據管控,實現數據采集、轉發、接收并進行實時分析,為企業管理層及用戶層的決策及實施提供可靠依據。平臺功能如圖4所示。

圖4 數據管控分析平臺功能示意圖
工業乙醇數據管控分析平臺(EthanolMax),從數據采集、數據轉發、數據接收及數據分析等方面對工業乙醇生產全生命周期進行數據管控,能夠有效審核和管理工業乙醇全流程數據,避免數據流轉錯誤,提高手工數據審核準確性[9,10]。該平臺已應用于國投生物能源(鐵嶺)公司的工業乙醇生產過程中,通過數據管控分析,能夠實時監測生產數據并進行數據分析,為提高企業生產效率和管理水平提供科學保障。后續研究中將進一步基于大數據挖掘融合、機器學習及數字孿生等技術探索工業乙醇生產全生命周期的數據反饋及交互,為工業乙醇智能生產運維提供支持。