?

適合多種顯示設備的輪機模擬器GUI縮放技術

2017-04-02 03:22唐元元張均東賈寶柱姜瑞政于長宏
中國航海 2017年4期
關鍵詞:輪機控件模擬器

唐元元, 張均東, 賈寶柱, 姜瑞政, 于長宏

(1.大連海事大學 輪機工程學院, 遼寧 大連 116026; 2.大連船舶重工集團有限公司, 遼寧 大連 116028)

隨著計算機及電子信息產業飛速發展,智能終端設備在工業生產和學員培訓等領域中的應用日益廣泛。用來進行船員培訓及評估的輪機模擬器隨著船舶的更新換代而不斷出現新的產品。為適應當前的培訓需求,會將輪機模擬器二維培訓軟件在臺式計算機顯示器、LG 4K電視、Surface及工控電腦等主要設備上運行。以Windows Form為顯示框架的輪機模擬器受不同顯示設備的分辨率不統一的限制,無法通用。對此,須針對特定的顯示設備重新開發圖形用戶接口(Graphical User Interface,GUI)。輪機模擬器包含的子系統數量巨大、設備邏輯復雜,重復開發會顯著增加輪機模擬器研發人員的開發成本、維護成本和升級成本。在對當前主流的顯示方案及WPF(Windows Presentation Foundation)顯示技術進行研究的基礎上,認為基于WPF顯示框架的輪機模擬器GUI開發可有效解決上述問題。

輪機模擬器在船員培訓中具有重要作用,國際公約和我國法規均有相關規定。[1]當前已有許多研究人員對輪機模擬器及其子系統進行研究。LASKOWSKI等[2]使用Konsberg Neptune MC90-IV型全任務輪機模擬器分析具有不同百分比的水乳化燃油(Fuel-Water Emulsion)對柴油機有害物質排放和柴油機經濟性的影響,并說明輪機模擬器在學員培訓上的可行性。甘輝兵等[3]針對國內超大型油船(Very Large Crude Carrier,VLCC)輪機模擬器缺乏貨油透平仿真系統的現狀,基于Windows Form應用程序,采用機理建模與實船操作仿真相結合的混合仿真技術,建立典型的VLCC船舶貨油透平仿真系統。SHANG[4]開發輪機系統中的造水機3D模型和數學模型,使用VC++ 6.0開發數據接口。曹輝等[5]采用模糊綜合評判方法并結合主觀權重因素開發輪機模擬器船員適任評估系統,該系統可實現評估大綱中關于既定項目和情景自定義項目的評估考核,降低評估員的主觀判斷對結果的影響,改善評估的客觀性。這些研究豐富了輪機模擬器的子系統,改善了輪機模擬器的性能,但未對如何減少重復開發并適用于多種終端設備的問題進行研究。WPF顯示框架的推出和不斷改進得到了許多軟件開發人員的關注。KOZMINSKI[6]對WPF技術的原理進行介紹并說明使用WPF框架創建測試操作接口的優越性。MITSOPOULOS等[7]使用C#語言和WPF框架開發一套火災管理軟件。WANG等[8]采用WPF技術開發一套Mini OA系統。PAN等[9]基于WPF開發一套可縮放GUIAC(Graphics User Interface Architecture for Open Computer Numerical Control)應用。李方芳等[10]基于WPF技術開發一套應用于飛行模擬器中的通用可配置式教員控制臺軟件引擎。

這里在分析計算機主要顯示方案及輪機模擬器的顯示需求的基礎上,提出通過顯示縮放方式滿足適應多種分辨率顯示設備的要求。在對WPF顯示框架進行研究的基礎上,以WPF顯示框架為基礎開發輪機模擬器顯示框架和應用于VLCC上的輪機系統控件庫。

1 新型平臺及GUI設計方案

1.1 新型平臺結構

輪機模擬器與其他培訓模擬器類似,利用計算機軟件和真實機艙實物等,以半實物仿真的形式再現輪機系統原理、輪機虛擬場景,提高船員對輪機原理的理解,縮短船員的實船實習周期。[11]輪機模擬系統的功能主要包括系統模擬、學員考評、故障分析、場景回放和教練員指導等,并集成重要設備的監控系統操作培訓和機艙監控與報警系統。輪機模擬器既有通用型輪機模擬器,也有針對特定母型船的分船型輪機模擬器,如VLCC型輪機模擬器、海洋石油支持船輪機模擬器及液化天然氣(Liquefied Natural Gas,LNG)船輪機模擬器等。[12]為滿足數學模型精細化、培訓形式多樣化和仿真功能全面化等方面的需求,新型輪機模擬器系統以模塊化的形式分離。分離型輪機仿真平臺可減少各模塊的耦合,提高分工協作的效率。[13]

分離型輪機模擬器采用總線型網絡結構(見圖1)。當前的輪機模擬器培訓系統包含多套二維交互系統和三維交互系統、1套硬件交互系統及1套仿真平臺。當進行協同培訓時,各交互系統的交互信息需發送至仿真平臺,經仿真平臺運算后同步給在網的所有其他交互系統,達到狀態同步的目的。當前系統同步機制采用局域網組播技術,交互系統采用輪詢查詢的方式保持同步。

1.2 GUI設計方案

根據輪機模擬器二維培訓軟件的運行特點及輪機培訓軟件的行業習慣,輪機模擬器軟件被劃分為頂部功能區、輪機系統視圖區和底部功能區等3大區域(見圖2)。功能區包含常用的功能按鈕(如系統啟動、停止及狀態保存)、其他功能的跳轉按鈕(如監測報警系統按鈕、系統設置按鈕)及信息顯示區域(如閥件信息說明、報警指示等)。輪機系統視圖區是最復雜的區域,承載著所有的輪機系統,并包含更深層次的監控軟件GUI邏輯和設備控制系統GUI邏輯等。為避免重復開發和方便使用,設計的輪機模擬器GUI應滿足以下2點要求:

1) 承載輪機系統的窗體能適應多種分辨率的顯示設備。

2) 輪機系統視圖區能局部放大,對超出窗口的區域進行裁剪。

傳統的Windows Form顯示框架和基于分辨率無關的顯示均不能直接滿足以上要求?;赪PF的顯示系統包裝元素布局和渲染變換,采用新的布局系統和已包裝的變換過程,可為程序員處理GUI邏輯及元素變換節省很多時間和精力。這樣,在基于WPF的顯示框架上,為滿足設計要求,將窗體作為一級變換層,將輪機系統視圖區作為二級變換層。采用這種設計方式可確保一級變換層的變換均可應用到二級變換層,而二級變換層的變換不會影響一級變換層;同時,符合用戶的邏輯和使用習慣。

2 GUI開發

2.1 系統框架開發

桌面應用程序以窗體為單位。1個應用程序對應1個主窗體,定義應用程序的可視化邊界。為準確描述GUI的開發結構,將輪機模擬器的整個GUI結構拆解為多個功能小塊進行描述。根據輪機模擬器的布局設計方案,GUI的功能劃分見圖3。主窗體承載輪機模擬器的輪機模擬圖系統和輪機監測與報警系統2大子系統。主窗體內的承載容器處理其內部可視化元素的縮放,實現輪機模擬器整體的自由縮放和多分辨率的適應。模擬圖系統包含功能區、容器及其他顯示區域,其中容器用于承載模擬器所有的輪機子系統,并負責處理其承載內容的縮放,實現輪機系統視圖區的局部縮放。

輪機模擬器的主窗體和縮放處理為整個系統的框架,內容由全船輪機系統的模擬圖填充。輪機系統模擬圖需從WPF提供的可視化元素中繼承,以獲得WPF顯示框架的支持。船舶輪機系統眾多,其中輪機子系統模擬圖就多達150幅左右,包括船舶電站、主推進系統、燃油系統、蒸汽系統、空氣系統及消防系統等。為降低輪機模擬器系統框架與各輪機系統之間的耦合度,需對其進行隔離。

該輪機模擬器采用子系統文件即時加載機制實現系統框架與模擬圖子系統的隔離(見圖4)。此外,該機制能極大地降低輪機模擬器運行時對計算機配置的要求,為輪機模擬器在研發階段進行單系統調試、多系統調試和全船輪機系統聯合調試提供方便。

系統框架在輪機模擬器啟動之后一直存在,而MIMIC系統并不存在。主窗體中具有導航按鈕,當用戶需要時,系統框架通過文件即時加載方式創建子系統對象并導航到特定的輪機子系統中。通過對文件加載方法進行處理,可確保系統框架與MIMIC系統完全隔離,具體的導航結構見圖5。導航系統中的每個按鈕對應1個PageInfo對象。根據面向對象編程的思想,每個PageInfo對象代表1個MIMIC子系統并負責記錄該系統的相關標識,如序號ID及系統ID等。PageInfo中的MIMIC ID標識用于確定特定的MIMIC子系統,通過文件加載的方式實現。文件加載方式還負責子系統生命周期管理、子系統丟失處理及向其他相關系統發出加載通知。

為實現子系統的縮放和管理,輪機子系統需在WPF提供的Page類的基礎上作進一步的開發和處理(見圖6)。ICommon接口負責實現子系統刷新和語言切換等功能。MimicBase類從Page類繼承并實現ICommon接口,作為輪機子系統的實現基類。此外,MimicBase類還提供文件即時加載方式,以滿足圖4中MIMIC的進一步嵌套。這種模式適于輪機模擬器中的主機遙控系統等有多重嵌套需求的GUI開發。既可直接從MimicBase繼承實現子系統開發,也可在對MimicBase作進一步擴展后再實現子系統開發,這主要是由于輪機子系統過于龐大。目前輪機模擬器中的主機主操縱面板(Main Operation Panel)就使用該種方式開發。

2.2 控件庫框架開發

以上實現的只是輪機模擬器的GUI框架。制作輪機子系統GUI,控件庫是其中非常重要的一部分。船舶機艙設備及控制元器件各不相同,基于母型船設計的輪機模擬器的器件繁多,許多器件雖然外觀不同,但功能相同??丶ǔS糜谌藱C交互,對控件的實現結構進行良好的規劃可減少開發時間、方便維護管理。在WPF顯示框架的基礎上,按照系統交互需求對WPF提供的基礎類型進行擴展。

按照面向對象的程序設計方法和輪機系統中元器件的特點,擴展的類型從功能上主要分為具有復雜外觀變換邏輯的裝飾類、具有復雜可視化外觀的交互類和具有復雜邏輯的交互類等3類。所有擴展類型均需獲得FrameworkElement及其子類的特性支持。為便于人機交互,具有交互能力的元器件對應的交互類需實現IManipulate接口,該接口定義交互點的ID及對應的字段值信息。為此,控件庫中定義實現IManipulate接口的ExFrameworkElement和ExContentControl類,與FrameworkElement類一起構成輪機模擬器控件庫的基礎擴展框架。輪機系統中元器件分為燈、按鈕、旋鈕、斷路器、車鐘、閥、泵、管道和儀表等類型,構成主體擴展類。主體擴展類從基礎擴展類繼承,并根據對象特征定義相應的屬性(見圖7)。輪機模擬器中的通用型控件從主體擴展類繼承,特殊類型的控件從基礎擴展類繼承。

3 演示示例

演示示例使用的是實驗室新開發的VLCC型輪機模擬器,該系統現已交付給國內某大學進行船員培訓使用。新型輪機模擬器中的GUI完全采用WPF提供的基礎框架和實驗室自主研發的適用于輪機專業的擴展框架建立。開發的輪機模擬器可自動適應顯示器的分辨率和屏幕尺寸,且模擬圖區域可自由縮放,實現同一套輪機模擬器運行于不同顯示設備的方案。

圖8中演示的是新型輪機模擬器的多分辨率適應能力,并與采用Windows Form開發的輪機模擬器相對比,顯示的是該實驗室的2臺輪機模擬器測試用顯示器,其中:較大的顯示器為LG 65UF8580型65寸4K智能液晶電視,外加紅外觸控功能;較小的顯示器為AOC U2868PQU型28寸顯示器,顯示的是VLCC型輪機模擬器的主機燃油供給系統。2臺顯示器連接在同一臺計算機上,其中LG智能電視當前的顯示分辨率為3 840×2 160,AOC顯示器當前的顯示分辨率為1 920×1 080。從圖8中可明顯看出,由于該套輪機模擬器的設計分辨率為1 920×1 080,因此只能在AOC顯示器中占滿整個屏幕,在LG 4K電視中仍只能使用1 920×1 080的像素,不能充分利用4K顯示器的高清分辨率。若要充分利用4K高清顯示,須重新開發輪機模擬器的交互界面。從圖8b)中可看出,運行的輪機模擬器可在同一臺計算機搭載的3 840×2 160像素的LG 4K電視和1 920×1 080像素的AOC顯示器中呈現不同的分辨率并占滿屏幕。在LG 4K電視中,輪機模擬器的GUI交互界面充分利用4K高清顯示器的性能,GUI以更多的像素渲染自身,GUI呈現更加細膩、豐富。通過應用該技術,開發的輪機模擬器可適用于不同分辨率的顯示器,減少輪機模擬器的開發工作量,為以后系統的維護和升級提供便利。

圖9為新型輪機模擬器的輪機系統視圖區的局部放大能力。當輪機模擬器運行于尺寸較小的顯示器時,可通過放大局部區域,方便使用者操作。圖9中的輪機模擬器在微軟Surface Pro3平板電腦上運行,屏幕尺寸為12英寸,分辨率為2 160×1 440。由圖9可知,在不改變輪機模擬器應用程序的Window尺寸的情況下,輪機系統視圖區被放大。圖9中的高溫淡水泵及泵前壓力表清晰可見。在Window尺寸較小的情況下,通過拖曳輪機系統視圖區,可在放大的情況下逐步操作所有設備。

4 結束語

為使輪機模擬器適用于多種分辨率和尺寸的顯示設備,對當前主流的計算機顯示方式和軟件設計技術進行研究。通過縮放輪機模擬器的整個Window得到使輪機模擬器適用于多種分辨率的顯示設備的方案,通過縮放輪機模擬器的局部區域,方便輪機模擬器在小尺寸顯示設備中操作?;赪PF的顯示框架實現輪機模擬器的無級自由縮放。在WPF顯示框架的基礎上開發適用于輪機模擬器的控件框架和控件庫,開發輪機模擬器所有系統的GUI交互界面。實踐應用結果表明:基于WPF的無級縮放技術可實現1套輪機模擬器運行于多種分辨率顯示器。WPF中提供的模板與樣式系統的使用可提高GUI開發的效率。文件即時加載機制可減少輪機子系統之間的耦合度。在高分辨率的顯示器中,輪機模擬器中的GUI顯示更為細膩。在小尺寸的顯示器中,通過縮放輪機模擬器的系統視圖區,可方便用戶操作。新型輪機模擬器在如何適用多種分辨率顯示器的問題上得到了良好的解決方案。

[1] 賈寶柱, 林葉錦, 曹輝,等. STCW公約馬尼拉修正案中機艙資源管理條款的深入解讀[J]. 航海教育研究, 2015(2): 7-12.

[3] 甘輝兵, 張均東, 蔣丁宇, 等. 超大型油輪貨油泵透平系統仿真研究[J]. 中國造船, 2014, 55(1): 164-174.

[4] SHANG Q M. Modeling and Simulation of Freshwater Generator Subsystem of Low Speed Engine Room Simulator Based on Visual[C]// Advanced Materials and Processes II. Clausthal-Zellerfeld, Germany, 2012: 557-559.

[5] 曹輝, 馬玉鑫, 賈寶柱. 基于模糊綜合評判的輪機模擬器智能評估系統[J]. 大連海事大學學報, 2015,41(1): 104-108.

[6] KOZMINSKI A. Windows Presentation Foundation (WPF) Technology Meets the Challenges of Operator Interface Design in Automatic Test Systems[C]// 2012 IEEE Autotestcon Proceedings. Piscataway, NJ, 2012: 80-83.

[7] MITSOPOULOS I, TRAPATSAS P, XANTHOPOULOS G. SYPYDA: A Software Tool for Fire Management in Mediterranean Pine Forests of Greece[J]. Computers and Electronics in Agriculture, 2016, 121: 195-199.

[8] WANG C, LIN Z, GUOTANG F, et al. Design and Implementtation of WPF-Based Mini OA System[C]// Proceedings-2014 9th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing. Piscataway, NJ, 2014: 120-126.

[9] PAN H, JIANG J, CHEN L, et al. A Scalable Graphics User Interface Architecture for CNC Application Based-On WPF and MVVM[C]//Equipment Manufacturing Technology and Automation. Clausthal-Zellerfeld , Germany, 2011: 1931-1935.

[10] 李方芳, 趙旭東, 盧偉文, 等. 基于WPF的通用可配置式教員控制臺軟件引擎研發[J]. 系統仿真學報, 2013, 25(8): 1761-1765.

[11] 賈寶柱, 曹輝, 張均東,等.輪機模擬器及其關鍵技術[J]. 中國航海, 2012, 35(1): 35-40.

[12] 曹輝, 張均東. 現代船舶輪機模擬器的應用與發展[J]. 航海教育研究, 2012(1): 33-36.

[13] 唐元元, 張均東, 曹輝. 大型商船分離型輪機仿真實驗平臺的設計[J]. 大連海事大學學報, 2016, 42(2): 58-62.

猜你喜歡
輪機控件模擬器
基于C++Builder 的電子郵件接收程序設計*
駕駛模擬器轉向系統的設計與研究
使用“填表單”微信小程序 統計信息很方便
了不起的安檢模擬器
盲盒模擬器
劃船模擬器
基于.net的用戶定義驗證控件的應用分析
《輪機循環檢驗(CMS)實施指南(2018)》發布
懸臂式斗輪機俯仰故障分析與探討
探究船舶輪機管理的現狀與發展以及有效管理措施
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合