呂文進,傅曉萍,何 杉,周 祥,秦 冰
(中國石化石油化工科學研究院,北京 100083)
隨著我國工業化進程的推進,工業用水總量上升,隨之引發的水資源問題和環境問題逐漸顯露。工業用水的水量消耗大戶是冷卻用水。水的成本低、比熱大,冷卻水在煉油廠中常作為換熱器的換熱介質,用以降低設備溫度,延長設備壽命,保障生產的順利進行[1]。冷卻水系統分為直接排放和循環冷卻兩種,直接排放對水量的需求過大,排污的處理量也隨之升高;而循環冷卻水可以重復使用,在節水、節能方面都更勝一籌[2-3]。
循環水系統對水質有很高的要求,若不加控制的長期運行,水質將由于被冷卻物料泄漏等因素而不斷惡化,產生腐蝕、結垢、微生物生長等危害,進而導致設備換熱能力降低,嚴重的甚至會造成生產停滯,帶來安全隱患[4-6]。循環水系統與裝置設備的平穩運行息息相關,對水質的監控、即時反饋和調節是安全生產、效益保障的關鍵。而煉化企業普遍存在水質監控不足,加藥、補水、排污等操作調整滯后的現象,缺少實時監控管理和在線診斷調優。針對此問題,提升循環水系統的自動化、信息化水平,實現智能化管理,并在此前提下開發智慧循環水系統具有重大意義。
智慧循環水系統本質上是一種通過Web訪問的應用程序,采用B/S(瀏覽器端/服務器端)模式,一般以網頁的形式存在,對用戶來說,除了瀏覽器之外不需要安裝其他軟件,不區分電腦端與手機端,也不依賴于操作系統,適用性廣。將該系統部署在云平臺上,如遇修復或升級,只需在服務器端修改并下發,所有客戶端同步更新,部署及維護成本低。用戶從適配瀏覽器登錄,即可實現計算、存儲、應用程序等方面的資源共享。
云平臺強大的計算能力、巨大的存儲空間以及優質的部署環境皆為應用開發提供了有效助力[7-9]。智慧循環水系統的設計開發與云計算的普及推廣相輔相成,各類模型、系統的開發與云端部署已逐漸成為科研任務中不可或缺的環節。基于云平臺的循環水系統,功能設計靈活,適于分析多維度數據,可以充分發揮運算速率快、數據共享水平高的特點,是循環水在線控制、水質調優,進而實現節水節能、安全生產的有效手段。
智慧循環水系統應用于某石化公司的循環水處理過程,通過數據云端的上傳和存儲,實現了各項水處理數據的可視化,利用后端數據計算模型,可以對水質問題進行在線報警和診斷,提出參數優化方向,在工廠的實際應用過程取得到了良好的評價與反饋。該系統具有易于更新的特點,可以根據不同的水處理流程進行迭代升級和模型優化,并實現更廣泛的應用。以下對該智慧循環水系統進行介紹。
智慧循環水系統的開發采取前后端分離技術,前端主要使用JavaScript作為開發語言,結合HTML和CSS,使用Visual Studio Code作為開發環境。后端采用基于Python語言的Flask框架開發計算模型。前后端分離采用MVVM(模型層-視圖層-視圖模型層)模式,視圖層與模型層分離,同時又與視圖模型層綁定,通過發送請求建立通訊,從而實現頁面構建。該模式下的前端與后端耦合度低,后端只負責服務層開發,提供數據存儲、模型計算并返回結果,不控制前端界面的渲染效果,而前端只負責交互層設計,控制邏輯、渲染的實現,調取后端接口,優化交互體驗等。前后端的交互過程如圖1所示。前端上傳數據并向后端發送請求,模型與數據庫連接,可以實現數據的存儲寫入、模型計算、讀取調用等功能。請求返回的結果再加載到前端,根據設計布局顯示具體的頁面,實現數據可視化。

圖1 云平臺上的數據交互過程
在開發過程中,前后端分離可以使開發人員分工更加明確,后端工作只需要專注于模型開發,而前端工作只需要專注于網頁設計,兩部分互不干擾,各司其職,可以并行開發,通過接口即可將工作成果融合。前后端代碼的修改、重構和維護也相對獨立,有助于提高開發效率、減小開發難度、降低維護成本。此外,可通過設置頁面模板和組件的形式,簡化代碼編輯工作,提高重復利用率。
目前比較主流的前端開發框架主要包括Vue.js,Angular JS,React。循環水系統在開發過程中利用Vue.js創建單頁面應用。Vue.js是基于MVVM模式構建用戶界面的開源漸進式框架,以Java Script,HTML,CSS為基礎,受到所有主流瀏覽器的支持,為Web應用的快速開發提供便利。它的優勢在于簡單靈活,易于開發,數據響應式雙向綁定,避免單向綁定的增刪改查操作,有效降低工作量。通過vue-router配置路由,實現組件按需加載,組件之間可以組合,使用真正的DOM作為模板,數據也綁定在真實的節點上,性能顯著提升。
為實現循環水系統的各項功能,除Vue.js以外還需要其他組件共同配合以達到目標效果,循環水系統設計所需組件如圖2所示。前端純JS讀取Excel文件,需引入js-xlsx工具庫,它支持包括xls和xlsx在內十幾種格式的數據解析和導出。數據經過清洗并統一格式,上傳至云平臺,完成數據的收集與備份。Axios是封裝了Ajax技術的數據請求和響應插件,寫法簡單明確,可以發送get和post請求。數據可視化方面引入V-charts。V-charts是基于Vue2.0和Echarts封裝的圖表組件,通過簡單配置即可生成折線圖、柱狀圖、餅圖、環圖、散點圖等常見的圖表,同時可以與數據進行實時交互。引入Element-ui中的Table和Table Column組件,根據數據結構設計表格,實現數據的分類填充和按需排序。Vuex可以存儲管理應用的所有組件狀態,實現多個組件共享狀態,若狀態發生變化,組件也會即時得到響應更新。組件化是Vue.js的一大特點,組件之間分而治之,能有效劃清功能界限,降低維護成本。

圖2 循環水系統設計所需組件
后端采取RPC方式,對模型進行封裝,并提供相應微服務。目前提供Thrift和gRPC兩種接口,可以支持現今主流的編程語言調用。模型內部按照不同循環水指標,建立相應子模型,并提供調用接口。這種方式的好處在于方便與外部應用系統集成,在云平臺上容器化部署也較為清晰,同時針對多用戶調用還提供負載均衡等機制。模型主要基于專家經驗進行建模,涵蓋大部分循環水水質指標,并會針對特定體系進行相應調整。模型主體采用Python語言進行開發,使用Pandas、Numpy等開發組件。
循環水系統可以劃分為3個模塊,分別是數據上傳、分析指標和水質管理模塊,如圖3所示。

圖3 循環水系統模塊設置
數據上傳模塊,以某石化公司各裝置換熱器循環水的各項檢測指標為依據,經過數據結構標準化,編寫適配的數據讀取模型,同時本模塊可以實現數據再分析。
分析指標模塊將每個樣本的10余項檢測指標以圖和表的形式分別進行可視化展示。檢測指標的種類根據樣本的不同也有所區別,大致分為pH、電導率、濁度、鈣離子濃度、堿度、氯離子濃度等。此外,監測數據還包括水處理藥劑的每日加藥量和換熱器的進出口溫度、流量等。
水質管理模塊提供循環水水質調優專家系統的評價結果。循環水調優需要綜合考慮水質、節能減排、運行成本和節水效果,這些指標與水質監測數據密切相關。
以下結合某石化公司廠區內的幾個典型循環水樣本(包括:聚丙烯裝置循環水、聚乙烯裝置循環水、工業水和回用水)對系統模塊的設計思路和功能進行說明。在本案例中,主要的污染問題包括3個方面:①隨著循環次數的增加,冷卻水內部的溶解物逐漸增加,引起冷卻管道及設備腐蝕和破壞;②敞開體系由于蒸發作用造成水中各種礦物質和離子濃度增加,發生結垢;③含油物料泄漏引起的微生物滋生。這些問題如不進行處理,會對設備運行、生產安全和經濟效益造成嚴重影響。
本案例中,核心的工藝處理方式包括以下3種:①補水操作,在敞開式循環冷卻水系統中,由于蒸發作用,系統中的水越來越少,而水中各種礦物質和離子的濃度就會越來越大。為了使水中鹽含量維持在一定的范圍,必須補入新鮮水。②排出濃縮水在維持水質正常方面也有重要作用,可以大幅降低新鮮水的注入量。此外,隨著水循環次數的增加,水處理的難度也就越大,需要進行排污。③加藥處理能降低微生物的含量。碳酸鹽、聚磷酸鹽等緩蝕劑可以起到保護金屬作用,但濃度過高會導致結垢。在循環過程中由于外界引入的干擾,緩蝕劑濃度會發生改變,其濃度窗口控制就顯得至關重要。
上述3個核心工藝處理方式的總體效果可以用濃縮倍數來衡量,濃縮倍數可以反映水資源復用率的大小,是衡量循環冷卻水系統運行情況的一項重要指標[10]。濃縮倍數過小,補充水量和水處理藥劑消耗量較大,容易因藥劑濃度不足而難以控制腐蝕。提高濃縮倍數不但可以節約用水,也可以減少隨排污而流失的藥劑量,節約了藥劑費用。但濃縮倍數如果過大,析出結垢和發生腐蝕的可能性也會隨之增加。究竟選用多大的濃縮倍數合適,必須綜合考慮當地水源水質、水處理藥劑情況和運行管理條件等。操作時,若保持濃縮倍數不變,則應在蒸發量大時增大補充水量;若保持水平衡,增大補充水量或排污水量,都會使濃縮倍數下降。因此操作時,不能任意改變補充水量和排污水量。提高循環水的濃縮倍數時,水質的好壞占據很大的因素。循環水濃縮倍數越高,對節能降耗方面越有利,但水質會越來越差,水處理的難度也隨之增大。在循環水系統的日常運行中,需要尋求補水量、排污量和水處理藥劑加藥量之間的最佳平衡點。
圖4為智慧循環水系統的水質調優模型構建邏輯。根據指標間的邏輯關系,建立關聯模型,系統在后臺計算并提出可供參考的操作建議。循環水系統的3個模塊相互耦合,可以達成數據的前端收集與后臺計算聯動,實現數據存儲及可視化功能。

圖4 水質調優模型構建邏輯
儀表顯示參數包括了十幾種不同的指標,指標之間的關系非常復雜,不同的核心處理工藝對這些指標的影響也有不同的對應關系,涉及到多維度參數的耦合,用人工試錯法的方式無法尋找到最優解。本系統可以在前端實現數據的上傳,通過后端的計算,以濃縮倍數的優化為基準,對核心處理工藝進行指導,提出補水、排污、加藥等方面的最優化處理方式建議。同時,在之后的工藝優化過程中,利用核心運行參數的輸入,在水質最優的基礎上,降低新鮮水的補充量、污水排放量和藥劑的投入量,最大化濃縮倍數這一核心指標。通過智能化的核心處理工藝優化,杜絕水質劣化造成的危害,實現裝置循環水的運行保持最佳狀態。
循環水系統主界面的頁面布局對應前述的數據上傳、指標分析和水質管理3個模塊,布局于云端,同時設置導航欄,給出了相應的快捷跳轉選項,實現了系統數據、功能的隨時調用和分析。
在數據上傳導航欄下,用戶可以執行數據庫上傳命令,在本模塊下,系統具有3大優勢:①基于后臺的數據庫格式兼容性優化,可以兼容常見的表格、數據庫格式(包括xlsx,json,csv等);②本系統上傳模塊通過流程優化,實現了實時數據傳輸,可以快速回顧數據可靠性;③數據庫部署于云平臺存儲,數據庫導入云平臺儲存,通過gRPC等技術手段,后臺能夠隨時調用,實現了較高的運行速率,這些數據也可以在任意平臺上進行上傳和分析,保障安全性的同時保證了數據取用的機動性和靈活性。在某石化公司的應用案例中,對歷史版本的數據進行了上傳,實現了高兼容性、實時傳輸和云平臺存儲等核心功能特征。
數據成功上傳后,通過可視化處理,用戶可以查看水質分析結果。根據某石化公司的循環水水質日報,應用于2020年3月的工業水樣本,通過數據分析模塊對樣本進行分析,得到圖5所示的工業水pH監測指標跟蹤案例,由其清晰跟蹤一個月內的水質變化。在實際的軟件界面中,通過鼠標懸停的方式在圖中讀取任意日期監測數據的具體數值。

圖5 工業水pH監測指標跟蹤
工業水具有多項輸入和輸出參數,其中的關聯異常復雜。為了實現多指標間關系的解耦合,該系統也設計了圖例的多選功能,用戶可根據具體需求,將關注的輸入、輸出指標進行逐項對比,獲得核心處理工藝和儀表顯示參數的關系,優化相關的輸入工藝與輸出指標,利用數據分析模塊同時顯示同一樣本的多項指標。在某石化公司的具體應用中,用戶關注上述同一實例中鈣離子質量濃度、氯離子質量濃度和堿度在一段時間的變化情況,通過選擇可視化圖線對應的圖例,得到圖6所示的顯示結果。由圖6可以看出鈣離子質量濃度、氯離子質量濃度與堿度的相關性,實現了指標分析的功能。與可視化圖線相對應,系統界面提供數據表的完整展示功能,可按日期或具體指標作遞增或遞減排序。表1為按日期截取的某5天內某石化公司循環水水質日報中工業水各項指標的表格化顯示。

圖6 工業水監測數據間的相關性

表1 某石化公司循環水水質日報中工業水各項指標的表格化顯示
水質管理部分對接后端邏輯算法,作為一個開放系統平臺,在本階段已實現企業系統集成,并可以提供水質狀況評判和特殊狀況應對建議。基于某石化公司循環水水質日報中3月1日的數據實例,通過建立各指標之間的關聯模型,計算并返回水質評判和特殊狀況應對的智能化建議,具體如表2所示。由表2可以看出:根據系統的計算結果,氯離子濃度指標正常,水質正常,無操作建議;pH和鈣離子濃度指標不正常,水質不佳,建議操作分別為“關閉硫酸泵”和“關閉排污閥”。水質管理模塊目前可以幫助企業對異常情況預警,通過依賴煉油廠歷史Lims數據和專家經驗,對現場人員提出建議,實現了水質評判和特殊狀況應對指導的功能。

表2 針對3月1日數據實例的水質調優操作建議
需要說明的是,隨著企業項目推進迭代,本模塊在未來可以集成多指標判斷、基于氣相色譜的查漏、水質優化等功能模塊。建立在企業生產實際管理的智能化升級基礎上,本系統可以逐步實現智能化、定量的水質管理和提升,幫助企業降本增效。
(1)智慧循環水系統利用3個模塊,實現數據上傳、數據庫讀寫、數據可視化、圖形交互展示、水質處理算法設計、操作建議指導等功能。該系統已經在某石化公司的水處理過程中獲得了良好的使用效果。
(2)智慧循環水系統目前以Web應用的形式發布,部署在云平臺,利用VPN系統進行訪問,在保證系統安全性的基礎上提升了穩定性和易用性。同時,為避免瀏覽器版本、內核差異等原因造成的打開或顯示問題,系統也可封裝成客戶端軟件發布給用戶,而在線診斷和操作建議的調取仍需連接服務器。其他技術服務平臺也可作為數據收集和展示窗口,與云計算功能形成聯動,更好地為科研工作者提供服務。