楊 琨,舒佳成,胡 彪
(武漢理工大學(xué) a.能源與動(dòng)力工程學(xué)院; b.國家水運(yùn)安全工程技術(shù)研究中心,武漢 430063)
基于互聯(lián)網(wǎng)的船舶機(jī)槳匹配遠(yuǎn)程計(jì)算平臺(tái)
楊 琨a,b,舒佳成a,胡 彪a
(武漢理工大學(xué) a.能源與動(dòng)力工程學(xué)院; b.國家水運(yùn)安全工程技術(shù)研究中心,武漢 430063)
為滿足遠(yuǎn)程船舶機(jī)槳匹配設(shè)計(jì)的需求,結(jié)合MATLAB和C#平臺(tái)進(jìn)行混合編程,運(yùn)用Easyui進(jìn)行用戶交互界面設(shè)計(jì),介紹一套基于互聯(lián)網(wǎng)的B/S架構(gòu)船舶機(jī)槳匹配遠(yuǎn)程計(jì)算平臺(tái)。在該平臺(tái)上通過船舶機(jī)槳匹配中的初級(jí)匹配、終結(jié)匹配和空泡校核等3個(gè)實(shí)例進(jìn)行平臺(tái)測試。測試結(jié)果表明,該平臺(tái)操作簡單、計(jì)算速度快、結(jié)果準(zhǔn)確,能很好地實(shí)現(xiàn)遠(yuǎn)程機(jī)槳匹配計(jì)算,可為未來船舶動(dòng)力系統(tǒng)工況在線監(jiān)測及“互聯(lián)網(wǎng)+”環(huán)境下的機(jī)槳?jiǎng)討B(tài)匹配提供工程基礎(chǔ)。
船舶工程;機(jī)槳匹配;互聯(lián)網(wǎng);遠(yuǎn)程計(jì)算;MATLAB;C#
船舶機(jī)槳匹配是船舶設(shè)計(jì)中的一個(gè)重要環(huán)節(jié),通常在完成船舶型線設(shè)計(jì)并確定有效功率之后進(jìn)行。機(jī)槳匹配是指螺旋槳的設(shè)計(jì)負(fù)荷點(diǎn)和主機(jī)的最大持續(xù)輸出點(diǎn)均能在所允許運(yùn)行的工作區(qū)域內(nèi)選取一個(gè)機(jī)槳合理配合的設(shè)計(jì)工況點(diǎn)。不同機(jī)型的工作區(qū)域劃分是有差別的。目前絕大多數(shù)船舶的機(jī)槳匹配設(shè)計(jì)采用的是圖譜設(shè)計(jì)法,如經(jīng)過長期實(shí)踐檢驗(yàn)和改進(jìn)的B系列及MAU系列圖譜等。然而,圖譜設(shè)計(jì)法會(huì)涉及到大量的圖表和復(fù)雜的計(jì)算公式,導(dǎo)致計(jì)算工作量大,且取值和計(jì)算過程中產(chǎn)生的人為誤差會(huì)影響計(jì)算結(jié)果的準(zhǔn)確性。針對(duì)該問題,一些研究機(jī)構(gòu)將計(jì)算機(jī)技術(shù)引入到機(jī)槳匹配設(shè)計(jì)中,實(shí)現(xiàn)船舶機(jī)槳匹配的快速、準(zhǔn)確計(jì)算。
目前,相關(guān)學(xué)者廣泛采用MATLAB編寫船舶機(jī)槳匹配軟件,以此進(jìn)行匹配計(jì)算。文獻(xiàn)[1]針對(duì)中小型電動(dòng)船舶設(shè)計(jì)基于MATLAB/Guide的船舶機(jī)槳匹配軟件。文獻(xiàn)[2]根據(jù)導(dǎo)管圖譜設(shè)計(jì)理論,基于MATLAB研究拖網(wǎng)漁船的機(jī)槳匹配設(shè)計(jì)軟件。文獻(xiàn)[3]創(chuàng)建船舶、主柴油機(jī)和螺旋槳等3大數(shù)據(jù)庫,基于螺旋槳圖譜設(shè)計(jì)方法,利用MATLAB開發(fā)能覆蓋船舶機(jī)槳匹配設(shè)計(jì)問題的全過程的船舶機(jī)槳匹配設(shè)計(jì)軟件,并給出船舶機(jī)槳匹配設(shè)計(jì)的總流程和一些計(jì)算步驟的程序框圖。文獻(xiàn)[4]在分析拖網(wǎng)漁船的阻力特性、主機(jī)特性、雙速比減速齒輪箱推進(jìn)特性和導(dǎo)管槳推進(jìn)特性的基礎(chǔ)上,總結(jié)拖網(wǎng)漁船機(jī)槳匹配圖譜設(shè)計(jì)方法的計(jì)算流程,運(yùn)用MATLAB編寫拖網(wǎng)漁船機(jī)槳匹配軟件。雖然這些軟件均能快速實(shí)現(xiàn)船舶機(jī)槳匹配計(jì)算,但均為單機(jī)版軟件,不具備遠(yuǎn)程設(shè)計(jì)能力,當(dāng)設(shè)計(jì)人員需異地進(jìn)行匹配設(shè)計(jì)時(shí),這些軟件不能滿足需求,因此設(shè)計(jì)一套基于遠(yuǎn)程的匹配計(jì)算平臺(tái)尤為重要。
為滿足基于遠(yuǎn)程的機(jī)槳匹配需求,彌補(bǔ)現(xiàn)有軟件的不足,從平臺(tái)的實(shí)用性和易用性出發(fā),根據(jù)網(wǎng)頁具有用戶圖形設(shè)計(jì)簡單和MATLAB計(jì)算能力強(qiáng)大的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)一種基于網(wǎng)絡(luò)的船舶機(jī)槳匹配遠(yuǎn)程計(jì)算平臺(tái)。
船舶機(jī)槳匹配分為初級(jí)匹配設(shè)計(jì)和終結(jié)匹配設(shè)計(jì),其中初級(jí)匹配設(shè)計(jì)根據(jù)給定參數(shù)的不同分為2種情況(第1種給定船速、有效功率和螺旋槳直徑;第2種給定船速、有效功率和轉(zhuǎn)速)。[5]在實(shí)際情形中,第1種情況更加普遍,這里針對(duì)B型槳以第1種情況為例進(jìn)行研究。
初級(jí)匹配是指在一定轉(zhuǎn)速范圍內(nèi),在機(jī)槳功率相等或近似相等的情況下求得不同轉(zhuǎn)速下的槳參數(shù),則效率最大時(shí)的槳與所對(duì)應(yīng)的主機(jī)即為所求。終結(jié)匹配在初級(jí)匹配選定主機(jī)后進(jìn)行,根據(jù)主機(jī)的功率和轉(zhuǎn)速、傳動(dòng)設(shè)備和軸系傳送效率ηs,計(jì)算得到槳收到的功率Pd,槳的效率ηo及船身效率ηh等。根據(jù)這些參數(shù),計(jì)算出船舶能達(dá)到的航速、螺旋槳的直徑、螺距比和螺旋槳效率等。為避免出現(xiàn)空泡現(xiàn)象,在終結(jié)匹配設(shè)計(jì)完成后還需對(duì)螺旋槳進(jìn)行空泡校核。以上設(shè)計(jì)的具體匹配流程見圖1。
考慮到船舶機(jī)槳匹配設(shè)計(jì)作業(yè)需求、協(xié)同作業(yè)性及結(jié)果的可視化等方面的因素,確定平臺(tái)實(shí)現(xiàn)以下功能,根據(jù)這些功能確定的平臺(tái)結(jié)構(gòu)見圖2。
1) 根據(jù)登錄的不同用戶,建立用戶私人文件夾,用戶可上傳、下載和刪除匹配時(shí)用到的文件。
2) 初級(jí)匹配、終結(jié)匹配和空泡校核等3個(gè)功能模塊分開,獨(dú)立作業(yè),3個(gè)模塊輸入的數(shù)據(jù)和計(jì)算結(jié)果可在服務(wù)器端保存,以便后續(xù)使用。
3) 用戶的計(jì)算結(jié)果以多種方式保存下來,匹配計(jì)算的每一步結(jié)果都可通過Word,Excel及PDF等格式直接輸出。
4) 匹配計(jì)算原理和平臺(tái)操作幫助文檔查看。
3.1MATLAB與C#混合編程
MATLAB不僅在算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析和數(shù)值計(jì)算等數(shù)學(xué)領(lǐng)域中有著廣泛應(yīng)用,而且在自動(dòng)控制、系統(tǒng)仿真、數(shù)字信號(hào)處理和圖像分析等方面發(fā)揮著重要作用。這主要是由于其內(nèi)置有很多函數(shù)和工具包,可幫助編程人員節(jié)省時(shí)間、提高編程效率。然而,MATLAB也有一定的不足,例如.m文件只能在安裝有MATLAB的計(jì)算機(jī)上打開,且用戶的圖形界面設(shè)計(jì)不夠靈活。
a)初級(jí)匹配流程b)終結(jié)匹配流程c)空泡校核流程
圖1 機(jī)槳匹配流程
.NET是一個(gè)高效的集成可視化的編程平臺(tái),而C#是一種簡單、面向?qū)ο?、類型安全、高效的基?NET平臺(tái)的編程語言,在其編寫的程序生成EXE文件后,運(yùn)行于.NET平臺(tái)上有較高的執(zhí)行速度。但是,C#在圖像生成和計(jì)算方面的編程比MATLAB復(fù)雜得多。
該平臺(tái)需進(jìn)行圖形、公式計(jì)算,并提供給用戶一個(gè)可視化的操作界面,因此將MATLAB與C#相結(jié)合進(jìn)行混合編程能滿足該要求。在機(jī)槳匹配計(jì)算平臺(tái)中,根據(jù)圖1編寫匹配計(jì)算的.m文件,其中.m文件輸出為二進(jìn)制的圖像數(shù)據(jù)。通過MATLAB中的deployeetool工具將.m文件轉(zhuǎn)換為DLL文件,供C#調(diào)用。在C#調(diào)用MATLAB生成的DLL文件之前,需添加對(duì)MWArray.dll的引用,從而將調(diào)用的數(shù)據(jù)類型轉(zhuǎn)換為MATLAB能識(shí)別的數(shù)據(jù)類型。C#和MATLAB混合編程開發(fā)的應(yīng)用在部署時(shí),需安裝MCR(MATLAB Compilier Runtime),其版本根據(jù)開發(fā)時(shí)所用的MATLAB的版本信息確定。[6-8]
圖2 船舶機(jī)槳匹配計(jì)算平臺(tái)結(jié)構(gòu)
3.2基于Easyui的交互設(shè)計(jì)
在采用B/S結(jié)構(gòu)時(shí),會(huì)涉及到與用戶進(jìn)行交互的前端網(wǎng)頁,而前端網(wǎng)頁的編寫一般需要專業(yè)美工。若沒有專業(yè)美工而又希望所編寫的應(yīng)用盡量美觀且具有良好的兼容性,Easyui可滿足其要求。Easyui是基于jQuery的用戶界面插件的集合,提供必要的功能以支持現(xiàn)代化、交互和javascript應(yīng)用。Easyui能使開發(fā)者在不編寫很多代碼的情況下實(shí)現(xiàn)美觀和兼容性良好的用戶界面,節(jié)省開發(fā)時(shí)間和規(guī)模。[9]
3.3基于Ibatis框架的數(shù)據(jù)庫訪問
Ibatis是“Internet”與“abatis”的組合,是一種基于SQL映射并支持.NET和java的持久層框架。Ibatis的持久層框架包括DAO和SQL Maps,用戶僅需對(duì)配置文件進(jìn)行簡單的配置就能連接數(shù)據(jù)庫,無需創(chuàng)建連接、打開和關(guān)閉數(shù)據(jù)庫,代碼更加簡潔。[10]考慮到數(shù)據(jù)庫的易用性、性能及費(fèi)用,選用MySQL數(shù)據(jù)庫作為船舶機(jī)槳匹配計(jì)算平臺(tái)的數(shù)據(jù)庫,并通過Ibatis框架進(jìn)行連接。[11]
將機(jī)槳匹配計(jì)算平臺(tái)部署到遠(yuǎn)程服務(wù)器之后,在瀏覽器中輸入部署的網(wǎng)址,進(jìn)入到平臺(tái)的登錄系統(tǒng),輸入用戶名和密碼,通過身份驗(yàn)證進(jìn)入平臺(tái)后,即可進(jìn)行船舶機(jī)槳匹配計(jì)算。
4.1機(jī)槳初級(jí)匹配計(jì)算校驗(yàn)
輸入初級(jí)匹配必要參數(shù)進(jìn)行船舶機(jī)槳初級(jí)匹配計(jì)算,結(jié)果見圖3。該平臺(tái)的計(jì)算結(jié)果(見表1)與文獻(xiàn)[12]中實(shí)際設(shè)計(jì)初級(jí)匹配計(jì)算結(jié)果(見表2)基本吻合,誤差<0.5%,準(zhǔn)確性符合工程要求。
圖3 遠(yuǎn)程機(jī)槳匹配程序界面及初級(jí)匹配計(jì)算結(jié)果
表1 機(jī)槳匹配計(jì)算平臺(tái)初級(jí)匹配計(jì)算結(jié)果
表2 文獻(xiàn)[12]中實(shí)際設(shè)計(jì)初級(jí)匹配計(jì)算結(jié)果
4.2機(jī)槳終結(jié)匹配計(jì)算校驗(yàn)
終結(jié)匹配算例采用文獻(xiàn)[13]中的數(shù)據(jù),將其單位轉(zhuǎn)換為標(biāo)準(zhǔn)單位后輸入,計(jì)算結(jié)果頁面見圖4。將其與文獻(xiàn)[13]中的計(jì)算結(jié)果相對(duì)比(見表3),驗(yàn)證初級(jí)匹配程序正確。
4.3空泡校核計(jì)算校驗(yàn)
空泡校核參數(shù)來自于文獻(xiàn)[5],輸入相關(guān)參數(shù)即可獲取空泡校核結(jié)果(見圖5),計(jì)算得到所需的盤面比為0.647,與文獻(xiàn)[5]中的計(jì)算結(jié)果(0.642)基本吻合,驗(yàn)證了空泡校核程序的正確性。
圖4 終結(jié)匹配計(jì)算頁面
表3 終結(jié)匹配計(jì)算結(jié)果對(duì)比
圖5 空泡校核計(jì)算頁面
本文提出一種基于C#,MATLAB和互聯(lián)網(wǎng)平臺(tái)的船舶機(jī)槳匹配計(jì)算平臺(tái)的實(shí)現(xiàn)方法,并通過將該平臺(tái)部署在遠(yuǎn)程服務(wù)器上來測試其功能。結(jié)果表明,該平臺(tái)對(duì)匹配計(jì)算的功能均能很好地實(shí)現(xiàn)。實(shí)際測試發(fā)現(xiàn),在對(duì)該平臺(tái)進(jìn)行計(jì)算時(shí),第1次計(jì)算的時(shí)間明顯較長,原因是在調(diào)用MATLAB生成的DLL文件時(shí),程序會(huì)初始化DLL運(yùn)行環(huán)境MCR。因此,對(duì)于該問題,應(yīng)考慮在整個(gè)平臺(tái)啟動(dòng)時(shí)初始化MCR,避免在第1次匹配計(jì)算時(shí)初始化,從而提高用戶的工作效率。該研究可為未來船舶動(dòng)力系統(tǒng)工況在線監(jiān)測環(huán)境下的機(jī)槳?jiǎng)討B(tài)匹配提供通用平臺(tái)和技術(shù)積累。
[1] 潘鵬程,趙春華.基于MATLAB/Guide的中小型電動(dòng)船舶船機(jī)槳匹配設(shè)計(jì)研究[J].艦船科學(xué)技術(shù),2016,38(1):80-84.
[2] 陳虹,張曉君,王藝真.導(dǎo)管槳拖網(wǎng)漁船的機(jī)槳匹配設(shè)計(jì)軟件開發(fā)[J].漁業(yè)現(xiàn)代化,2015,42(4):44-47.
[3] 王建政,王藝真,張文平,等.船機(jī)槳匹配設(shè)計(jì)軟件研究開發(fā)[J].船舶與海洋工程,2014(1):45-49.
[4] 王藝真.基于導(dǎo)管槳和雙速比齒輪箱的拖網(wǎng)漁船機(jī)槳匹配軟件設(shè)計(jì)[D].舟山: 浙江海洋學(xué)院,2014: 71.
[5] 盛振邦,劉應(yīng)中.船舶原理[M].上海:上海交通大學(xué)出版社,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] 黃一丹,嚴(yán)洪森,馮麗娟,等.基于C#.NET與Matlab接口和BP網(wǎng)絡(luò)的汽車產(chǎn)量預(yù)測[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(11):36-40.
[9] 楊守文,王婷,張智萍,等.圖書館自定義統(tǒng)計(jì)系統(tǒng)的體驗(yàn)與改進(jìn)[J].現(xiàn)代情報(bào),2013,33(4):132-135.
[10] 徐國平,張顯庫.基于網(wǎng)絡(luò)的船舶航向保持控制仿真平臺(tái)設(shè)計(jì)[J].中國航海,2015,38(1):1-3.
[11] 李澎林,朱國清,吳斌.基于iBatis SQL Map的數(shù)據(jù)持久層實(shí)現(xiàn)應(yīng)用研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2008,36(1):72-76.
[12] 周瑞平,樊紅,胡毅.民用船舶動(dòng)力裝置原理與設(shè)計(jì)[M].武漢:武漢理工大學(xué)出版社,2012.
[13] 劉海強(qiáng),呂林.船舶機(jī)槳匹配設(shè)計(jì)與分析計(jì)算平臺(tái)研究[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
國家自然科學(xué)基金青年基金(51309185)
楊 琨(1981—),男,湖北武漢人,副教授,碩士生導(dǎo)師,從事船舶動(dòng)力機(jī)械遠(yuǎn)程狀態(tài)在線監(jiān)測與診斷研究。E-mail:kunyangwhut@163.com
1000-4653(2017)02-0025-04