余健澤,王海燕
(上海海事大學商船學院,上海 201306)
模擬仿真是研究船舶發動機的一種經濟、高效的方式,可有效解決發動機運行成本高、資源有限的問題。船舶虛擬仿真教學資源是船舶仿真的一個重要應用,將模擬仿真技術與教學培訓相結合,可充分發揮虛擬仿真教學資源在實驗場地、消耗和安全方面的優勢。馮峰等介紹了船海虛擬仿真實驗教學系統的建設意義、開發方式及其應用方向;劉旸等對船舶與海洋工程專業虛擬實驗教學環境提出建設意見,并基于此搭建了虛擬交互實驗平臺,豐富教學資源;劉樂等利用MATLAB和數據庫開發了組態式船舶電力推進系統仿真軟件,為虛擬仿真系統的開發提供參考。傳統虛擬仿真教學資源多以C/S架構開發,只能滿足在指定地點供單用戶操作。運用網絡開發技術,將仿真模型開發與Web技術相結合,在保證仿真系統基本功能的前提下,可有效提高操作的便捷性,擴大用戶群體,并降低對計算機配置和安裝環境的要求,減輕后期維護壓力。目前Web開發技術與設備、仿真相結合的方式已經運用在了環保、醫療等領域:張思陽將Web技術與環保設備監測技術相結合,開發出基于Web的智慧環保設備運行監測系統,提高環保工作的效率;艾娉婷等基于.NET平臺和C#語言建立了遠程醫療診斷數據管理系統,提高了醫生對患者病情的監控能力;謝季峰等詳述了MySQL數據庫在.NET平臺下的集成方式,開發了企業能耗管理系統。
燃氣系統是雙燃料發動機的重要組成部分,對燃氣系統建模是雙燃料發動機仿真的關鍵步驟。范洪軍等基于HYSYS仿真軟件對工藝過程進行了仿真,對高壓供氣設備進行了設計、分析和選型;孫化東以WP10燃氣發動機為研究對象,利用AMESim建立燃料供應系統中氣化器和主機冷卻系統的聯合仿真,對氣化器提出優化建議;劉文建立管路和閥件的一維與三維聯合的模型,進行流場分析,對燃氣系統管路提出優化建議。目前對燃氣系統的仿真建模多以結構優化、設計建議提出為出發點,而根據燃氣系統及其控制系統的整體原理進行建模及教學的較少。
基于上述研究,本文將Web開發技術與燃氣系統模型相結合,基于B/S(Browser/Server,瀏覽器/服務器)網絡架構進行改進,提出基于Web的多用戶多模型個性化仿真架構,設計、開發并實現了基于Web的船用雙燃料發動機燃氣系統仿真。
在線計算(online calculation)是互聯網發展的一種新穎的計算模式,其基于B/S模式使用瀏覽器通過互聯網向服務器計算程序發送指令,用戶通過瀏覽器輸入指定的網址即可訪問,不需要安裝客戶端。姜玨良利用B/S網絡架構搭建基于Web的鑄造過程模擬仿真計算系統。該系統運行時,顯示層會將服務器上運行的溫度場計算程序的計算結果顯示在界面上,但界面顯示的結果為模型的同一個計算結果,不能實現多模型運行。
在開發基于Web的船用柴油機仿真模型時,如果利用傳統的B/S網絡架構會面臨一系列問題:(1)模型計算量大、實時交互數據多使得瀏覽器運行壓力大,響應速度變慢;(2)服務器與數據庫、界面層之間傳輸的大量數據中包含一定的無用數據,存在資源浪費;(3)程序的更新、維護較為復雜。因此,在保留傳統的B/S網絡架構維護方便、分布性強、開發簡單、對運行環境要求低的優勢的基礎上,本文提出一種多用戶、多模型、個性化界面的網絡架構,見圖1。用戶通過瀏覽器訪問仿真界面,登錄后可啟動單獨模型并對控件進行操作;模型層自動讀取數據庫中的用戶信息和操作信息后進行仿真計算,將結果寫入數據庫;界面層調用數據庫中的結果用于顯示。

圖1 基于Web的在線仿真架構
基于Web的燃氣系統仿真架構是通過模型層、數據層、界面層等3個部分交互實現的,其中:模型層在.NET平臺上通過Visual Studio 2015軟件運用C#語言編程實現;數據層在MySQL環境下開發,建立數據表存儲仿真數據、用戶表等;界面層在.NET平臺上通過Visual Studio 2015軟件運用MVC模版開發,用于顯示系統圖及數據等。數據層與模型層和界面層分別進行實時數據通信,滿足實時仿真的需求。
界面層的設計包括首頁界面設計、登錄界面設計、系統界面設計,運用面向對象的建模思想,選用ASP.NET平臺的MVC模版,將網站分為模型層、視圖層和控制器層進行設計。其中:模型層主要用于處理數據邏輯,與數據庫形成數據傳輸,只需單次編碼就可以被多個視圖層重用;視圖層是用戶訪問并與之交互的界面,只負責輸出數據,并供用戶操作;控制器層用于接收用戶的輸入,并調用模型和視圖去滿足用戶的需求。通過這樣的分層設計,可提高維護及代碼編寫設計的便捷性。
基于Web的仿真系統的各層會存在數據交互關系,MySQL數據庫通過不同接口與Web端和服務程序端進行連接,實現數據傳輸、存儲、編輯等功能,并根據用戶在線情況對數據庫中的數據進行定時清理。為保證仿真系統的正常運行,實現數據庫對數據信息的處理功能,對數據進行充分的整理并在MySQL中建立數據表。其中數據信息包括以下3個方面的內容:
(1)用戶信息表:用于保存用戶的ID、賬號、密碼、狀態等信息,實現用戶管理功能。
(2)數學模型數據表:根據數學模型數據以及前端界面控件交互的需求在數據庫中建立數據表,用于存取計算數據及控件交互信息。
(3)控制系統數據表:根據控制系統模型的信號以及Web端控制臺的操作交互要求在數據庫中建立控制系統數據表,用于存取信號(信號一般用bool類型數據表示)。
模型層的設計目的是實現模型在線運行,建立正確的仿真模型是保證基于Web的仿真系統功能實現的核心因素。通過選取合適的數值建模方法,依據物理模型的結構、原理,建立起正確的數學模型。運用C#語言將數學模型代碼化,利用Windows服務應用程序配置用戶權限,搭建與數據庫的實時通信,給予登錄用戶啟動、停止、注銷權限。有多個用戶就給予多個線程啟動單獨模型,讓用戶登錄后可以操作模型、調用模型計算結果,保證數據庫通信安全和多用戶多模型功能的實現。
利用Microsoft Visual Studio 2015建立Windows服務程序來實現模型層與數據層之間的實時交互,配置服務程序的默認屬性,保證服務程序的穩定運行和交互性。在服務程序項目中建立C#類庫,用來保存仿真模型類、數據庫連接配置文件、數據庫調用文件、服務程序配置類、模型控制器類、用戶類、服務程序類等,滿足服務程序運行的基本功能。其中:數據庫調用文件為MySQLhelper類,用于讀取用戶信息、更新用戶對模型的操作屬性以及用戶操作內容等,從而判斷用戶的狀態、在線用戶量、對模型和數據庫的操作情況等信息,實現用戶對模型的操作管理及用戶管理功能;服務程序配置類用來初始化算法及數據庫連接命令;模型控制器類的作用是通過調用服務器配置類和MySQLhelper類配置基本參數,并用于判斷、檢測用戶狀態從而控制模型的啟停,更新數據信息;用戶類用來定義用戶數據、初始化模型參數;服務程序類用于啟動服務應用程序,通過定時器每秒識別一次用戶的登錄和操作情況,調用模型控制器類為不同用戶單獨啟動一個新的模型,滿足用戶個性操作需求。
通過服務程序建立數據庫與后端程序的實時通信聯系,同時實現多用戶多模型的功能。
界面層與數據層的通信是為了實現將數據可視化并將界面操作信息寫入數據庫。通過編寫開發項目中的配置文件,實現與MySQL數據庫的連接。利用HTML、JavaScript、CSS網絡編程語言和數據庫語言根據項目需求搭建首頁界面、登錄界面和系統界面,利用Ajax技術和Echarts控件美化顯示界面。其中,登錄界面在MVC模版的基礎上進行用戶權限修改,根據用戶登錄的權限給予其對模型的操作權限,并更新數據庫登錄信息,以供服務程序檢測更新用戶情況、啟動新的模型。
界面層的主要作用是接收用戶的操作信息并將其寫入數據庫,將數據庫中的模型計算結果數據顯示到Web界面中,用于操作模型和顯示仿真結果。
為實現仿真系統在局域網內的多用戶訪問功能,將模型層、數據層、界面層依次部署于IIS管理器上,通過服務器配置、Windows 服務應用程序配置、Web端發布和測試,實現基于Web的局域網內多用戶、多模型、個性化仿真。服務器部署流程見圖2。

圖2 服務器部署流程
為驗證基于Web的多用戶、多模型、個性化網絡架構的實用性,保證仿真系統的正常運行,本文選取瓦錫蘭20DF船用雙燃料發動機為模型層開發對象,搭建數學模型并將其代碼化,以實現基于Web的多用戶多模型船用雙燃料發動機燃氣系統仿真。瓦錫蘭20DF船用雙燃料發動機基本數據見表1,其中GVU是gas valve unit的縮寫,表示燃氣閥組單元。

表1 瓦錫蘭20DF船用雙燃料發動機基本數據
模型層從兩方面對瓦錫蘭20DF船用雙燃料發動機進行建模:一是運用熱力學基本公式、容積法等數值建模方法對燃氣系統中的管路、閥件進行建模,根據結構上輸入輸出關系建立燃氣系統整體模型;二是利用有限狀態機的思維建立瓦錫蘭控制系統模型,根據燃氣控制順序和輸入輸出信號測試系統保證系統正確性。模型層基本架構見圖3。

圖3 模型層基本架構
燃氣系統主要由內部燃氣系統和GVU兩部分組成。GVU包括一個氣體壓力調節閥和一系列的止回閥和泄放閥,用于確保在燃氣模式下的操作可靠、安全;內部燃氣系統包括雙層壁氣體管道、主燃氣閥、排氣閥,主燃氣閥是將燃氣輸送到各氣缸進氣口的通道,排氣閥用于在特定情況下釋放氣體壓力和沖洗閥門。
根據燃氣系統物理模型基本原理,運用容積法、熱力學基本公式等方法建立燃氣系統數學模型:
(1)燃氣介質:包括對燃氣氣體常數、氣體絕熱指數、天然氣密度、天然氣相對分子質量等的定義和計算。
(2)燃氣閥模型。對氮氣吹掃閥、泄放閥等進行建模,通過閥門通用計算式和理想氣體狀態方程推出閥門流量、壓力等參數的計算式。

(1)
式中:為閥門的流量;為流量系數;為閥門流通面積;為理想氣體常數;為燃氣介質的溫度;Δ為閥前后的壓差;為燃氣壓力。
(3)燃氣管路模型。假設管路中不存在流阻,通過甲烷、氮氣及混合氣體的流入流出關系,利用能量守恒定律、質量守恒定理計算出管路的流量和燃氣壓力。

(2)
式中:為甲烷流入質量流量;為甲烷流出質量流量;為混合氣體中甲烷的比例;為混合氣體質量流量;為排出系數。

(3)
式中:為CH溫度;為氮氣流入質量流量;為氮氣溫度;為氮氣流出質量流量;為管路的初始溫度;為散熱系數;為環境溫度;為氣體總質量。
=(××)
(4)
式中,為管路容積。
(4)GVU模型。假設燃氣從進氣閥經過GVU到主燃氣閥整個過程為準靜態過程,燃氣成分幾乎不發生改變,且溫度變化緩慢,用理想氣體狀態方程和質量守恒定律建立GVU的宏觀模型。利用理想氣體狀態方程和質量守恒定律得出

(5)
式中:為燃氣進氣閥的質量;為主燃氣閥的進口質量。利用伯努利方程及流量、密度、質量流量間的關系推導出GVU質量流量計算式:

(6)
式中:為GVU調節產生變換的燃氣質量;為因單位變換而導致的單位系數;為閥件流通開度;為燃氣密度。
(5)主燃氣閥模型。根據穩定流動連續性方程,氣體通過任意截面的質量流量都是相同的,可得天然氣流量方程,即

(7)
式中:為主燃氣閥的氣體質量流量;是天然氣質量流量參數,根據氣體的流動狀態確定;是電磁閥進氣壓力。
燃氣控制系統是UNIC C3(瓦錫蘭20DF船用雙燃料發動機控制系統)的重要組成部分之一,該系統主要控制燃氣進氣閥、氣體壓力調節閥等一系列閥門的動作,從而保證燃氣壓力的穩定及對燃氣噴射量的精確控制。在燃氣系統正常運行時,將默認狀態、燃氣泄漏測試、GVU準備、燃氣供應系統準備、燃氣系統沖掃、燃氣壓力穩定、燃氣供應、燃氣系統除氣、燃氣系統惰化作為狀態機狀態進行開發。在每個狀態下,燃氣系統會與主機遙控系統(RCS)、燃氣探測系統、發動機控制系統(ECS)等形成信號、參數交互,例如燃氣泄漏測試、燃氣通風、燃氣供應停止運行、燃氣系統狀態、燃氣壓力等,并對燃氣系統中的各部件進行操作,監測過程參數,以維持發動機正常運行。
根據燃氣控制系統的控制邏輯,利用有限狀態機的建模思想,建立燃氣控制系統,流程見圖4。圖4中:A,B,…,H為該模式下轉換成功條件;A,B,…,H為轉換失敗條件;I表示惰化完成且繼續燃氣模式;I為惰化完成且結束燃氣模式;I為惰化失敗。轉換成功條件指在該狀態下無故障信號和操作信號輸入,且燃氣系統在某個狀態下滿足設定的運行時間要求;轉換失敗條件指在該狀態下有故障信號、操作信號的輸入或者燃氣系統參數、閥門動作異常。在每個狀態下,控制系統會對燃氣系統中的閥門進行操作,并進行數據和信號的傳輸。

圖4 燃氣控制系統狀態轉換
為保證仿真的正確性,對基于Web搭建的瓦錫蘭20DF船用雙燃料發動機燃氣系統仿真模型進行仿真驗證。仿真驗證采用定步長的方法(步長為1 ms,時長為1 000 s),算法為四階龍格庫塔法。
燃氣系統仿真實驗設置工況為從30%負荷上升到100%負荷,得到GVU燃氣壓力輸出情況和主燃氣閥單次輸出燃氣質量流量。仿真實驗結果與臺架試驗結果的對比表明,發動機在不同負荷下的燃氣壓力和燃氣質量流量仿真結果與實際結果的偏差都在5%以內,說明仿真效果良好。實驗結果對比見圖5和6。

圖5 GVU輸出燃氣壓力仿真實驗與臺架試驗結果對比

圖6 GVU單次輸出燃氣質量流量仿真實驗與臺架試驗結果對比
以燃氣系統為模型層開發對象,搭建基于Web的船用雙燃料發動機燃氣仿真系統。為保證系統承載力要求,本文采用多個用戶同時登錄對系統進行測試。測試結果表明,系統能夠同時承載30個用戶在線操作,系統承載力良好;系統可在用戶登錄后對模型進行操作,并根據用戶的操作情況調用仿真模型的計算結果用以顯示,在虛擬教學方面具有應用價值。
本文主要介紹了基于Web的船用雙燃料發動機燃氣系統仿真設計、開發、實現,提出一種多用戶、多模型、個性化顯示的創新型網絡架構。為驗證提出的虛擬仿真架構,使用C#、HTML、JavaScript、CSS等編程語言混合編程,對模型層、數據層、界面層進行開發,搭建基于Web的船用雙燃料發動機燃氣仿真系統。測試表明,該系統能夠在運行時保證模型的正確性、多樣性和實時性,能夠同時承載30個用戶在線操作,滿足教學培訓的基本要求。本文提出的設計方案不需要安裝客戶端,可通過瀏覽器直接操作,相對于軟件系統提高了仿真系統的便捷性并降低了后期維護成本和對配置環境的要求。
未來可深入研究船用雙燃料發動機整體機理,在模型層搭建船用雙燃料發動機仿真模型,實現基于Web的雙燃料發動機仿真。