余健澤,王海燕
(上海海事大學商船學院,上海 201306)
模擬仿真是研究船舶發(fā)動機的一種經(jīng)濟、高效的方式,可有效解決發(fā)動機運行成本高、資源有限的問題。船舶虛擬仿真教學資源是船舶仿真的一個重要應用,將模擬仿真技術(shù)與教學培訓相結(jié)合,可充分發(fā)揮虛擬仿真教學資源在實驗場地、消耗和安全方面的優(yōu)勢。馮峰等介紹了船海虛擬仿真實驗教學系統(tǒng)的建設(shè)意義、開發(fā)方式及其應用方向;劉旸等對船舶與海洋工程專業(yè)虛擬實驗教學環(huán)境提出建設(shè)意見,并基于此搭建了虛擬交互實驗平臺,豐富教學資源;劉樂等利用MATLAB和數(shù)據(jù)庫開發(fā)了組態(tài)式船舶電力推進系統(tǒng)仿真軟件,為虛擬仿真系統(tǒng)的開發(fā)提供參考。傳統(tǒng)虛擬仿真教學資源多以C/S架構(gòu)開發(fā),只能滿足在指定地點供單用戶操作。運用網(wǎng)絡開發(fā)技術(shù),將仿真模型開發(fā)與Web技術(shù)相結(jié)合,在保證仿真系統(tǒng)基本功能的前提下,可有效提高操作的便捷性,擴大用戶群體,并降低對計算機配置和安裝環(huán)境的要求,減輕后期維護壓力。目前Web開發(fā)技術(shù)與設(shè)備、仿真相結(jié)合的方式已經(jīng)運用在了環(huán)保、醫(yī)療等領(lǐng)域:張思陽將Web技術(shù)與環(huán)保設(shè)備監(jiān)測技術(shù)相結(jié)合,開發(fā)出基于Web的智慧環(huán)保設(shè)備運行監(jiān)測系統(tǒng),提高環(huán)保工作的效率;艾娉婷等基于.NET平臺和C#語言建立了遠程醫(yī)療診斷數(shù)據(jù)管理系統(tǒng),提高了醫(yī)生對患者病情的監(jiān)控能力;謝季峰等詳述了MySQL數(shù)據(jù)庫在.NET平臺下的集成方式,開發(fā)了企業(yè)能耗管理系統(tǒng)。
燃氣系統(tǒng)是雙燃料發(fā)動機的重要組成部分,對燃氣系統(tǒng)建模是雙燃料發(fā)動機仿真的關(guān)鍵步驟。范洪軍等基于HYSYS仿真軟件對工藝過程進行了仿真,對高壓供氣設(shè)備進行了設(shè)計、分析和選型;孫化東以WP10燃氣發(fā)動機為研究對象,利用AMESim建立燃料供應系統(tǒng)中氣化器和主機冷卻系統(tǒng)的聯(lián)合仿真,對氣化器提出優(yōu)化建議;劉文建立管路和閥件的一維與三維聯(lián)合的模型,進行流場分析,對燃氣系統(tǒng)管路提出優(yōu)化建議。目前對燃氣系統(tǒng)的仿真建模多以結(jié)構(gòu)優(yōu)化、設(shè)計建議提出為出發(fā)點,而根據(jù)燃氣系統(tǒng)及其控制系統(tǒng)的整體原理進行建模及教學的較少。
基于上述研究,本文將Web開發(fā)技術(shù)與燃氣系統(tǒng)模型相結(jié)合,基于B/S(Browser/Server,瀏覽器/服務器)網(wǎng)絡架構(gòu)進行改進,提出基于Web的多用戶多模型個性化仿真架構(gòu),設(shè)計、開發(fā)并實現(xiàn)了基于Web的船用雙燃料發(fā)動機燃氣系統(tǒng)仿真。
在線計算(online calculation)是互聯(lián)網(wǎng)發(fā)展的一種新穎的計算模式,其基于B/S模式使用瀏覽器通過互聯(lián)網(wǎng)向服務器計算程序發(fā)送指令,用戶通過瀏覽器輸入指定的網(wǎng)址即可訪問,不需要安裝客戶端。姜玨良利用B/S網(wǎng)絡架構(gòu)搭建基于Web的鑄造過程模擬仿真計算系統(tǒng)。該系統(tǒng)運行時,顯示層會將服務器上運行的溫度場計算程序的計算結(jié)果顯示在界面上,但界面顯示的結(jié)果為模型的同一個計算結(jié)果,不能實現(xiàn)多模型運行。
在開發(fā)基于Web的船用柴油機仿真模型時,如果利用傳統(tǒng)的B/S網(wǎng)絡架構(gòu)會面臨一系列問題:(1)模型計算量大、實時交互數(shù)據(jù)多使得瀏覽器運行壓力大,響應速度變慢;(2)服務器與數(shù)據(jù)庫、界面層之間傳輸?shù)拇罅繑?shù)據(jù)中包含一定的無用數(shù)據(jù),存在資源浪費;(3)程序的更新、維護較為復雜。因此,在保留傳統(tǒng)的B/S網(wǎng)絡架構(gòu)維護方便、分布性強、開發(fā)簡單、對運行環(huán)境要求低的優(yōu)勢的基礎(chǔ)上,本文提出一種多用戶、多模型、個性化界面的網(wǎng)絡架構(gòu),見圖1。用戶通過瀏覽器訪問仿真界面,登錄后可啟動單獨模型并對控件進行操作;模型層自動讀取數(shù)據(jù)庫中的用戶信息和操作信息后進行仿真計算,將結(jié)果寫入數(shù)據(jù)庫;界面層調(diào)用數(shù)據(jù)庫中的結(jié)果用于顯示。
圖1 基于Web的在線仿真架構(gòu)
基于Web的燃氣系統(tǒng)仿真架構(gòu)是通過模型層、數(shù)據(jù)層、界面層等3個部分交互實現(xiàn)的,其中:模型層在.NET平臺上通過Visual Studio 2015軟件運用C#語言編程實現(xiàn);數(shù)據(jù)層在MySQL環(huán)境下開發(fā),建立數(shù)據(jù)表存儲仿真數(shù)據(jù)、用戶表等;界面層在.NET平臺上通過Visual Studio 2015軟件運用MVC模版開發(fā),用于顯示系統(tǒng)圖及數(shù)據(jù)等。數(shù)據(jù)層與模型層和界面層分別進行實時數(shù)據(jù)通信,滿足實時仿真的需求。
界面層的設(shè)計包括首頁界面設(shè)計、登錄界面設(shè)計、系統(tǒng)界面設(shè)計,運用面向?qū)ο蟮慕K枷?,選用ASP.NET平臺的MVC模版,將網(wǎng)站分為模型層、視圖層和控制器層進行設(shè)計。其中:模型層主要用于處理數(shù)據(jù)邏輯,與數(shù)據(jù)庫形成數(shù)據(jù)傳輸,只需單次編碼就可以被多個視圖層重用;視圖層是用戶訪問并與之交互的界面,只負責輸出數(shù)據(jù),并供用戶操作;控制器層用于接收用戶的輸入,并調(diào)用模型和視圖去滿足用戶的需求。通過這樣的分層設(shè)計,可提高維護及代碼編寫設(shè)計的便捷性。
基于Web的仿真系統(tǒng)的各層會存在數(shù)據(jù)交互關(guān)系,MySQL數(shù)據(jù)庫通過不同接口與Web端和服務程序端進行連接,實現(xiàn)數(shù)據(jù)傳輸、存儲、編輯等功能,并根據(jù)用戶在線情況對數(shù)據(jù)庫中的數(shù)據(jù)進行定時清理。為保證仿真系統(tǒng)的正常運行,實現(xiàn)數(shù)據(jù)庫對數(shù)據(jù)信息的處理功能,對數(shù)據(jù)進行充分的整理并在MySQL中建立數(shù)據(jù)表。其中數(shù)據(jù)信息包括以下3個方面的內(nèi)容:
(1)用戶信息表:用于保存用戶的ID、賬號、密碼、狀態(tài)等信息,實現(xiàn)用戶管理功能。
(2)數(shù)學模型數(shù)據(jù)表:根據(jù)數(shù)學模型數(shù)據(jù)以及前端界面控件交互的需求在數(shù)據(jù)庫中建立數(shù)據(jù)表,用于存取計算數(shù)據(jù)及控件交互信息。
(3)控制系統(tǒng)數(shù)據(jù)表:根據(jù)控制系統(tǒng)模型的信號以及Web端控制臺的操作交互要求在數(shù)據(jù)庫中建立控制系統(tǒng)數(shù)據(jù)表,用于存取信號(信號一般用bool類型數(shù)據(jù)表示)。
模型層的設(shè)計目的是實現(xiàn)模型在線運行,建立正確的仿真模型是保證基于Web的仿真系統(tǒng)功能實現(xiàn)的核心因素。通過選取合適的數(shù)值建模方法,依據(jù)物理模型的結(jié)構(gòu)、原理,建立起正確的數(shù)學模型。運用C#語言將數(shù)學模型代碼化,利用Windows服務應用程序配置用戶權(quán)限,搭建與數(shù)據(jù)庫的實時通信,給予登錄用戶啟動、停止、注銷權(quán)限。有多個用戶就給予多個線程啟動單獨模型,讓用戶登錄后可以操作模型、調(diào)用模型計算結(jié)果,保證數(shù)據(jù)庫通信安全和多用戶多模型功能的實現(xiàn)。
利用Microsoft Visual Studio 2015建立Windows服務程序來實現(xiàn)模型層與數(shù)據(jù)層之間的實時交互,配置服務程序的默認屬性,保證服務程序的穩(wěn)定運行和交互性。在服務程序項目中建立C#類庫,用來保存仿真模型類、數(shù)據(jù)庫連接配置文件、數(shù)據(jù)庫調(diào)用文件、服務程序配置類、模型控制器類、用戶類、服務程序類等,滿足服務程序運行的基本功能。其中:數(shù)據(jù)庫調(diào)用文件為MySQLhelper類,用于讀取用戶信息、更新用戶對模型的操作屬性以及用戶操作內(nèi)容等,從而判斷用戶的狀態(tài)、在線用戶量、對模型和數(shù)據(jù)庫的操作情況等信息,實現(xiàn)用戶對模型的操作管理及用戶管理功能;服務程序配置類用來初始化算法及數(shù)據(jù)庫連接命令;模型控制器類的作用是通過調(diào)用服務器配置類和MySQLhelper類配置基本參數(shù),并用于判斷、檢測用戶狀態(tài)從而控制模型的啟停,更新數(shù)據(jù)信息;用戶類用來定義用戶數(shù)據(jù)、初始化模型參數(shù);服務程序類用于啟動服務應用程序,通過定時器每秒識別一次用戶的登錄和操作情況,調(diào)用模型控制器類為不同用戶單獨啟動一個新的模型,滿足用戶個性操作需求。
通過服務程序建立數(shù)據(jù)庫與后端程序的實時通信聯(lián)系,同時實現(xiàn)多用戶多模型的功能。
界面層與數(shù)據(jù)層的通信是為了實現(xiàn)將數(shù)據(jù)可視化并將界面操作信息寫入數(shù)據(jù)庫。通過編寫開發(fā)項目中的配置文件,實現(xiàn)與MySQL數(shù)據(jù)庫的連接。利用HTML、JavaScript、CSS網(wǎng)絡編程語言和數(shù)據(jù)庫語言根據(jù)項目需求搭建首頁界面、登錄界面和系統(tǒng)界面,利用Ajax技術(shù)和Echarts控件美化顯示界面。其中,登錄界面在MVC模版的基礎(chǔ)上進行用戶權(quán)限修改,根據(jù)用戶登錄的權(quán)限給予其對模型的操作權(quán)限,并更新數(shù)據(jù)庫登錄信息,以供服務程序檢測更新用戶情況、啟動新的模型。
界面層的主要作用是接收用戶的操作信息并將其寫入數(shù)據(jù)庫,將數(shù)據(jù)庫中的模型計算結(jié)果數(shù)據(jù)顯示到Web界面中,用于操作模型和顯示仿真結(jié)果。
為實現(xiàn)仿真系統(tǒng)在局域網(wǎng)內(nèi)的多用戶訪問功能,將模型層、數(shù)據(jù)層、界面層依次部署于IIS管理器上,通過服務器配置、Windows 服務應用程序配置、Web端發(fā)布和測試,實現(xiàn)基于Web的局域網(wǎng)內(nèi)多用戶、多模型、個性化仿真。服務器部署流程見圖2。
圖2 服務器部署流程
為驗證基于Web的多用戶、多模型、個性化網(wǎng)絡架構(gòu)的實用性,保證仿真系統(tǒng)的正常運行,本文選取瓦錫蘭20DF船用雙燃料發(fā)動機為模型層開發(fā)對象,搭建數(shù)學模型并將其代碼化,以實現(xiàn)基于Web的多用戶多模型船用雙燃料發(fā)動機燃氣系統(tǒng)仿真。瓦錫蘭20DF船用雙燃料發(fā)動機基本數(shù)據(jù)見表1,其中GVU是gas valve unit的縮寫,表示燃氣閥組單元。
表1 瓦錫蘭20DF船用雙燃料發(fā)動機基本數(shù)據(jù)
模型層從兩方面對瓦錫蘭20DF船用雙燃料發(fā)動機進行建模:一是運用熱力學基本公式、容積法等數(shù)值建模方法對燃氣系統(tǒng)中的管路、閥件進行建模,根據(jù)結(jié)構(gòu)上輸入輸出關(guān)系建立燃氣系統(tǒng)整體模型;二是利用有限狀態(tài)機的思維建立瓦錫蘭控制系統(tǒng)模型,根據(jù)燃氣控制順序和輸入輸出信號測試系統(tǒng)保證系統(tǒng)正確性。模型層基本架構(gòu)見圖3。
圖3 模型層基本架構(gòu)
燃氣系統(tǒng)主要由內(nèi)部燃氣系統(tǒng)和GVU兩部分組成。GVU包括一個氣體壓力調(diào)節(jié)閥和一系列的止回閥和泄放閥,用于確保在燃氣模式下的操作可靠、安全;內(nèi)部燃氣系統(tǒng)包括雙層壁氣體管道、主燃氣閥、排氣閥,主燃氣閥是將燃氣輸送到各氣缸進氣口的通道,排氣閥用于在特定情況下釋放氣體壓力和沖洗閥門。
根據(jù)燃氣系統(tǒng)物理模型基本原理,運用容積法、熱力學基本公式等方法建立燃氣系統(tǒng)數(shù)學模型:
(1)燃氣介質(zhì):包括對燃氣氣體常數(shù)、氣體絕熱指數(shù)、天然氣密度、天然氣相對分子質(zhì)量等的定義和計算。
(2)燃氣閥模型。對氮氣吹掃閥、泄放閥等進行建模,通過閥門通用計算式和理想氣體狀態(tài)方程推出閥門流量、壓力等參數(shù)的計算式。
(1)
式中:為閥門的流量;為流量系數(shù);為閥門流通面積;為理想氣體常數(shù);為燃氣介質(zhì)的溫度;Δ為閥前后的壓差;為燃氣壓力。
(3)燃氣管路模型。假設(shè)管路中不存在流阻,通過甲烷、氮氣及混合氣體的流入流出關(guān)系,利用能量守恒定律、質(zhì)量守恒定理計算出管路的流量和燃氣壓力。
(2)
式中:為甲烷流入質(zhì)量流量;為甲烷流出質(zhì)量流量;為混合氣體中甲烷的比例;為混合氣體質(zhì)量流量;為排出系數(shù)。
(3)
式中:為CH溫度;為氮氣流入質(zhì)量流量;為氮氣溫度;為氮氣流出質(zhì)量流量;為管路的初始溫度;為散熱系數(shù);為環(huán)境溫度;為氣體總質(zhì)量。
=(××)
(4)
式中,為管路容積。
(4)GVU模型。假設(shè)燃氣從進氣閥經(jīng)過GVU到主燃氣閥整個過程為準靜態(tài)過程,燃氣成分幾乎不發(fā)生改變,且溫度變化緩慢,用理想氣體狀態(tài)方程和質(zhì)量守恒定律建立GVU的宏觀模型。利用理想氣體狀態(tài)方程和質(zhì)量守恒定律得出
(5)
式中:為燃氣進氣閥的質(zhì)量;為主燃氣閥的進口質(zhì)量。利用伯努利方程及流量、密度、質(zhì)量流量間的關(guān)系推導出GVU質(zhì)量流量計算式:
(6)
式中:為GVU調(diào)節(jié)產(chǎn)生變換的燃氣質(zhì)量;為因單位變換而導致的單位系數(shù);為閥件流通開度;為燃氣密度。
(5)主燃氣閥模型。根據(jù)穩(wěn)定流動連續(xù)性方程,氣體通過任意截面的質(zhì)量流量都是相同的,可得天然氣流量方程,即
(7)
式中:為主燃氣閥的氣體質(zhì)量流量;是天然氣質(zhì)量流量參數(shù),根據(jù)氣體的流動狀態(tài)確定;是電磁閥進氣壓力。
燃氣控制系統(tǒng)是UNIC C3(瓦錫蘭20DF船用雙燃料發(fā)動機控制系統(tǒng))的重要組成部分之一,該系統(tǒng)主要控制燃氣進氣閥、氣體壓力調(diào)節(jié)閥等一系列閥門的動作,從而保證燃氣壓力的穩(wěn)定及對燃氣噴射量的精確控制。在燃氣系統(tǒng)正常運行時,將默認狀態(tài)、燃氣泄漏測試、GVU準備、燃氣供應系統(tǒng)準備、燃氣系統(tǒng)沖掃、燃氣壓力穩(wěn)定、燃氣供應、燃氣系統(tǒng)除氣、燃氣系統(tǒng)惰化作為狀態(tài)機狀態(tài)進行開發(fā)。在每個狀態(tài)下,燃氣系統(tǒng)會與主機遙控系統(tǒng)(RCS)、燃氣探測系統(tǒng)、發(fā)動機控制系統(tǒng)(ECS)等形成信號、參數(shù)交互,例如燃氣泄漏測試、燃氣通風、燃氣供應停止運行、燃氣系統(tǒng)狀態(tài)、燃氣壓力等,并對燃氣系統(tǒng)中的各部件進行操作,監(jiān)測過程參數(shù),以維持發(fā)動機正常運行。
根據(jù)燃氣控制系統(tǒng)的控制邏輯,利用有限狀態(tài)機的建模思想,建立燃氣控制系統(tǒng),流程見圖4。圖4中:A,B,…,H為該模式下轉(zhuǎn)換成功條件;A,B,…,H為轉(zhuǎn)換失敗條件;I表示惰化完成且繼續(xù)燃氣模式;I為惰化完成且結(jié)束燃氣模式;I為惰化失敗。轉(zhuǎn)換成功條件指在該狀態(tài)下無故障信號和操作信號輸入,且燃氣系統(tǒng)在某個狀態(tài)下滿足設(shè)定的運行時間要求;轉(zhuǎn)換失敗條件指在該狀態(tài)下有故障信號、操作信號的輸入或者燃氣系統(tǒng)參數(shù)、閥門動作異常。在每個狀態(tài)下,控制系統(tǒng)會對燃氣系統(tǒng)中的閥門進行操作,并進行數(shù)據(jù)和信號的傳輸。
圖4 燃氣控制系統(tǒng)狀態(tài)轉(zhuǎn)換
為保證仿真的正確性,對基于Web搭建的瓦錫蘭20DF船用雙燃料發(fā)動機燃氣系統(tǒng)仿真模型進行仿真驗證。仿真驗證采用定步長的方法(步長為1 ms,時長為1 000 s),算法為四階龍格庫塔法。
燃氣系統(tǒng)仿真實驗設(shè)置工況為從30%負荷上升到100%負荷,得到GVU燃氣壓力輸出情況和主燃氣閥單次輸出燃氣質(zhì)量流量。仿真實驗結(jié)果與臺架試驗結(jié)果的對比表明,發(fā)動機在不同負荷下的燃氣壓力和燃氣質(zhì)量流量仿真結(jié)果與實際結(jié)果的偏差都在5%以內(nèi),說明仿真效果良好。實驗結(jié)果對比見圖5和6。
圖5 GVU輸出燃氣壓力仿真實驗與臺架試驗結(jié)果對比
圖6 GVU單次輸出燃氣質(zhì)量流量仿真實驗與臺架試驗結(jié)果對比
以燃氣系統(tǒng)為模型層開發(fā)對象,搭建基于Web的船用雙燃料發(fā)動機燃氣仿真系統(tǒng)。為保證系統(tǒng)承載力要求,本文采用多個用戶同時登錄對系統(tǒng)進行測試。測試結(jié)果表明,系統(tǒng)能夠同時承載30個用戶在線操作,系統(tǒng)承載力良好;系統(tǒng)可在用戶登錄后對模型進行操作,并根據(jù)用戶的操作情況調(diào)用仿真模型的計算結(jié)果用以顯示,在虛擬教學方面具有應用價值。
本文主要介紹了基于Web的船用雙燃料發(fā)動機燃氣系統(tǒng)仿真設(shè)計、開發(fā)、實現(xiàn),提出一種多用戶、多模型、個性化顯示的創(chuàng)新型網(wǎng)絡架構(gòu)。為驗證提出的虛擬仿真架構(gòu),使用C#、HTML、JavaScript、CSS等編程語言混合編程,對模型層、數(shù)據(jù)層、界面層進行開發(fā),搭建基于Web的船用雙燃料發(fā)動機燃氣仿真系統(tǒng)。測試表明,該系統(tǒng)能夠在運行時保證模型的正確性、多樣性和實時性,能夠同時承載30個用戶在線操作,滿足教學培訓的基本要求。本文提出的設(shè)計方案不需要安裝客戶端,可通過瀏覽器直接操作,相對于軟件系統(tǒng)提高了仿真系統(tǒng)的便捷性并降低了后期維護成本和對配置環(huán)境的要求。
未來可深入研究船用雙燃料發(fā)動機整體機理,在模型層搭建船用雙燃料發(fā)動機仿真模型,實現(xiàn)基于Web的雙燃料發(fā)動機仿真。