楊 琨,舒佳成,胡 彪
(武漢理工大學 a.能源與動力工程學院; b.國家水運安全工程技術研究中心,武漢 430063)
基于互聯網的船舶機槳匹配遠程計算平臺
楊 琨a,b,舒佳成a,胡 彪a
(武漢理工大學 a.能源與動力工程學院; b.國家水運安全工程技術研究中心,武漢 430063)
為滿足遠程船舶機槳匹配設計的需求,結合MATLAB和C#平臺進行混合編程,運用Easyui進行用戶交互界面設計,介紹一套基于互聯網的B/S架構船舶機槳匹配遠程計算平臺。在該平臺上通過船舶機槳匹配中的初級匹配、終結匹配和空泡校核等3個實例進行平臺測試。測試結果表明,該平臺操作簡單、計算速度快、結果準確,能很好地實現遠程機槳匹配計算,可為未來船舶動力系統工況在線監測及“互聯網+”環境下的機槳動態匹配提供工程基礎。
船舶工程;機槳匹配;互聯網;遠程計算;MATLAB;C#
船舶機槳匹配是船舶設計中的一個重要環節,通常在完成船舶型線設計并確定有效功率之后進行。機槳匹配是指螺旋槳的設計負荷點和主機的最大持續輸出點均能在所允許運行的工作區域內選取一個機槳合理配合的設計工況點。不同機型的工作區域劃分是有差別的。目前絕大多數船舶的機槳匹配設計采用的是圖譜設計法,如經過長期實踐檢驗和改進的B系列及MAU系列圖譜等。然而,圖譜設計法會涉及到大量的圖表和復雜的計算公式,導致計算工作量大,且取值和計算過程中產生的人為誤差會影響計算結果的準確性。針對該問題,一些研究機構將計算機技術引入到機槳匹配設計中,實現船舶機槳匹配的快速、準確計算。
目前,相關學者廣泛采用MATLAB編寫船舶機槳匹配軟件,以此進行匹配計算。文獻[1]針對中小型電動船舶設計基于MATLAB/Guide的船舶機槳匹配軟件。文獻[2]根據導管圖譜設計理論,基于MATLAB研究拖網漁船的機槳匹配設計軟件。文獻[3]創建船舶、主柴油機和螺旋槳等3大數據庫,基于螺旋槳圖譜設計方法,利用MATLAB開發能覆蓋船舶機槳匹配設計問題的全過程的船舶機槳匹配設計軟件,并給出船舶機槳匹配設計的總流程和一些計算步驟的程序框圖。文獻[4]在分析拖網漁船的阻力特性、主機特性、雙速比減速齒輪箱推進特性和導管槳推進特性的基礎上,總結拖網漁船機槳匹配圖譜設計方法的計算流程,運用MATLAB編寫拖網漁船機槳匹配軟件。雖然這些軟件均能快速實現船舶機槳匹配計算,但均為單機版軟件,不具備遠程設計能力,當設計人員需異地進行匹配設計時,這些軟件不能滿足需求,因此設計一套基于遠程的匹配計算平臺尤為重要。
為滿足基于遠程的機槳匹配需求,彌補現有軟件的不足,從平臺的實用性和易用性出發,根據網頁具有用戶圖形設計簡單和MATLAB計算能力強大的特點,設計并實現一種基于網絡的船舶機槳匹配遠程計算平臺。
船舶機槳匹配分為初級匹配設計和終結匹配設計,其中初級匹配設計根據給定參數的不同分為2種情況(第1種給定船速、有效功率和螺旋槳直徑;第2種給定船速、有效功率和轉速)。[5]在實際情形中,第1種情況更加普遍,這里針對B型槳以第1種情況為例進行研究。
初級匹配是指在一定轉速范圍內,在機槳功率相等或近似相等的情況下求得不同轉速下的槳參數,則效率最大時的槳與所對應的主機即為所求。終結匹配在初級匹配選定主機后進行,根據主機的功率和轉速、傳動設備和軸系傳送效率ηs,計算得到槳收到的功率Pd,槳的效率ηo及船身效率ηh等。根據這些參數,計算出船舶能達到的航速、螺旋槳的直徑、螺距比和螺旋槳效率等。為避免出現空泡現象,在終結匹配設計完成后還需對螺旋槳進行空泡校核。以上設計的具體匹配流程見圖1。
考慮到船舶機槳匹配設計作業需求、協同作業性及結果的可視化等方面的因素,確定平臺實現以下功能,根據這些功能確定的平臺結構見圖2。
1) 根據登錄的不同用戶,建立用戶私人文件夾,用戶可上傳、下載和刪除匹配時用到的文件。
2) 初級匹配、終結匹配和空泡校核等3個功能模塊分開,獨立作業,3個模塊輸入的數據和計算結果可在服務器端保存,以便后續使用。
3) 用戶的計算結果以多種方式保存下來,匹配計算的每一步結果都可通過Word,Excel及PDF等格式直接輸出。
4) 匹配計算原理和平臺操作幫助文檔查看。
3.1MATLAB與C#混合編程
MATLAB不僅在算法開發、數據可視化、數據分析和數值計算等數學領域中有著廣泛應用,而且在自動控制、系統仿真、數字信號處理和圖像分析等方面發揮著重要作用。這主要是由于其內置有很多函數和工具包,可幫助編程人員節省時間、提高編程效率。然而,MATLAB也有一定的不足,例如.m文件只能在安裝有MATLAB的計算機上打開,且用戶的圖形界面設計不夠靈活。

a)初級匹配流程b)終結匹配流程c)空泡校核流程
圖1 機槳匹配流程
.NET是一個高效的集成可視化的編程平臺,而C#是一種簡單、面向對象、類型安全、高效的基于.NET平臺的編程語言,在其編寫的程序生成EXE文件后,運行于.NET平臺上有較高的執行速度。但是,C#在圖像生成和計算方面的編程比MATLAB復雜得多。
該平臺需進行圖形、公式計算,并提供給用戶一個可視化的操作界面,因此將MATLAB與C#相結合進行混合編程能滿足該要求。在機槳匹配計算平臺中,根據圖1編寫匹配計算的.m文件,其中.m文件輸出為二進制的圖像數據。通過MATLAB中的deployeetool工具將.m文件轉換為DLL文件,供C#調用。在C#調用MATLAB生成的DLL文件之前,需添加對MWArray.dll的引用,從而將調用的數據類型轉換為MATLAB能識別的數據類型。C#和MATLAB混合編程開發的應用在部署時,需安裝MCR(MATLAB Compilier Runtime),其版本根據開發時所用的MATLAB的版本信息確定。[6-8]

圖2 船舶機槳匹配計算平臺結構
3.2基于Easyui的交互設計
在采用B/S結構時,會涉及到與用戶進行交互的前端網頁,而前端網頁的編寫一般需要專業美工。若沒有專業美工而又希望所編寫的應用盡量美觀且具有良好的兼容性,Easyui可滿足其要求。Easyui是基于jQuery的用戶界面插件的集合,提供必要的功能以支持現代化、交互和javascript應用。Easyui能使開發者在不編寫很多代碼的情況下實現美觀和兼容性良好的用戶界面,節省開發時間和規模。[9]
3.3基于Ibatis框架的數據庫訪問
Ibatis是“Internet”與“abatis”的組合,是一種基于SQL映射并支持.NET和java的持久層框架。Ibatis的持久層框架包括DAO和SQL Maps,用戶僅需對配置文件進行簡單的配置就能連接數據庫,無需創建連接、打開和關閉數據庫,代碼更加簡潔。[10]考慮到數據庫的易用性、性能及費用,選用MySQL數據庫作為船舶機槳匹配計算平臺的數據庫,并通過Ibatis框架進行連接。[11]
將機槳匹配計算平臺部署到遠程服務器之后,在瀏覽器中輸入部署的網址,進入到平臺的登錄系統,輸入用戶名和密碼,通過身份驗證進入平臺后,即可進行船舶機槳匹配計算。
4.1機槳初級匹配計算校驗
輸入初級匹配必要參數進行船舶機槳初級匹配計算,結果見圖3。該平臺的計算結果(見表1)與文獻[12]中實際設計初級匹配計算結果(見表2)基本吻合,誤差<0.5%,準確性符合工程要求。

圖3 遠程機槳匹配程序界面及初級匹配計算結果

表1 機槳匹配計算平臺初級匹配計算結果

表2 文獻[12]中實際設計初級匹配計算結果
4.2機槳終結匹配計算校驗
終結匹配算例采用文獻[13]中的數據,將其單位轉換為標準單位后輸入,計算結果頁面見圖4。將其與文獻[13]中的計算結果相對比(見表3),驗證初級匹配程序正確。
4.3空泡校核計算校驗
空泡校核參數來自于文獻[5],輸入相關參數即可獲取空泡校核結果(見圖5),計算得到所需的盤面比為0.647,與文獻[5]中的計算結果(0.642)基本吻合,驗證了空泡校核程序的正確性。

圖4 終結匹配計算頁面

表3 終結匹配計算結果對比

圖5 空泡校核計算頁面
本文提出一種基于C#,MATLAB和互聯網平臺的船舶機槳匹配計算平臺的實現方法,并通過將該平臺部署在遠程服務器上來測試其功能。結果表明,該平臺對匹配計算的功能均能很好地實現。實際測試發現,在對該平臺進行計算時,第1次計算的時間明顯較長,原因是在調用MATLAB生成的DLL文件時,程序會初始化DLL運行環境MCR。因此,對于該問題,應考慮在整個平臺啟動時初始化MCR,避免在第1次匹配計算時初始化,從而提高用戶的工作效率。該研究可為未來船舶動力系統工況在線監測環境下的機槳動態匹配提供通用平臺和技術積累。
[1] 潘鵬程,趙春華.基于MATLAB/Guide的中小型電動船舶船機槳匹配設計研究[J].艦船科學技術,2016,38(1):80-84.
[2] 陳虹,張曉君,王藝真.導管槳拖網漁船的機槳匹配設計軟件開發[J].漁業現代化,2015,42(4):44-47.
[3] 王建政,王藝真,張文平,等.船機槳匹配設計軟件研究開發[J].船舶與海洋工程,2014(1):45-49.
[4] 王藝真.基于導管槳和雙速比齒輪箱的拖網漁船機槳匹配軟件設計[D].舟山: 浙江海洋學院,2014: 71.
[5] 盛振邦,劉應中.船舶原理[M].上海:上海交通大學出版社,2004.
[6] KACAR S,BAYILMIS C.A Web-Based Educational Interface for an Analog Communication Course Based on MATLAB Builder NE With WebFigures[J].IEEE Transactions on Education,2013,56(3):346-354.
[7] SKUTOVA J.A Web Based Application Using MATLAB Builder NE for the Analysis of Linear Systems[C]∥Control Conference.IEEE,2014:574-577.
[8] 黃一丹,嚴洪森,馮麗娟,等.基于C#.NET與Matlab接口和BP網絡的汽車產量預測[J].計算機技術與發展,2008,18(11):36-40.
[9] 楊守文,王婷,張智萍,等.圖書館自定義統計系統的體驗與改進[J].現代情報,2013,33(4):132-135.
[10] 徐國平,張顯庫.基于網絡的船舶航向保持控制仿真平臺設計[J].中國航海,2015,38(1):1-3.
[11] 李澎林,朱國清,吳斌.基于iBatis SQL Map的數據持久層實現應用研究[J].浙江工業大學學報,2008,36(1):72-76.
[12] 周瑞平,樊紅,胡毅.民用船舶動力裝置原理與設計[M].武漢:武漢理工大學出版社,2012.
[13] 劉海強,呂林.船舶機槳匹配設計與分析計算平臺研究[J].船海工程,2008,37(3):56-58.
Internet-BasedRemoteCalculationPlatformforDieselEngine-PropellerMatching
YANGKuna,b,SHUJiachenga,HUBiaoa
(a.School of Energy and Power Engineering; b.National Engineering Research Center for Water Transport Safety,Wuhan University of Technology,Wuhan 430063,China)
A diesel engine-propeller matching platform based on B/S network is designed.The software of the platform is developed with MATLAB-C# mixed programming,and the user interface is developed by means of Easyui.The tests,covering coarse matching,final matching and the cavitation check are performed to verify the platform.The test results show that the output is accurate,and the platform is easy to use,and the calculation is fast.
ship engineering; diesel engine-propeller matching; Internet; remote calculation; MATLAB; C#
U664.33
A
2017-02-11
國家自然科學基金青年基金(51309185)
楊 琨(1981—),男,湖北武漢人,副教授,碩士生導師,從事船舶動力機械遠程狀態在線監測與診斷研究。E-mail:kunyangwhut@163.com
1000-4653(2017)02-0025-04