沈 軍,聶 偉,謝小平
(鎮(zhèn)江船艇學(xué)院,江蘇 鎮(zhèn)江212003)
船艇錨系統(tǒng)訓(xùn)練模擬器設(shè)計(jì)與研究
沈 軍,聶 偉,謝小平
(鎮(zhèn)江船艇學(xué)院,江蘇 鎮(zhèn)江212003)
以船艇錨系統(tǒng)為仿真對(duì)象,在SimuEngine仿真平臺(tái)中建立了船艇錨系統(tǒng)運(yùn)行的數(shù)學(xué)模型,在虛擬現(xiàn)實(shí)軟件EON Studio中建立錨系統(tǒng)的三維視景模型,通過(guò)OPC實(shí)現(xiàn)兩個(gè)仿真平臺(tái)的數(shù)據(jù)交換。配合PLC采集到的操控盤臺(tái)上的開關(guān)、按鈕等變量,就可以實(shí)現(xiàn)對(duì)船艇錨系統(tǒng)的模擬訓(xùn)練,也能通過(guò)EON Studio中建立的三維視景模型直觀的了解錨系統(tǒng)的結(jié)構(gòu)和工作原理。該模擬器已應(yīng)用到教學(xué),并獲得了較好的效果。
錨系統(tǒng);SimuEngine;EON Studio;OPC
船艇航行中,如遇風(fēng)、霧或機(jī)器發(fā)生故障等,都需要暫時(shí)停泊;船艇抵達(dá)港口后,停靠碼頭或泊于錨地時(shí),會(huì)受到水力、風(fēng)力和縱傾與橫傾時(shí)慣性力的影響,所以為了保證船艇安全可靠地停泊,必須有平衡這些力的設(shè)備,這就是船艇錨系統(tǒng)。此外,錨系統(tǒng)還可以幫助船艇安全迅速地靠離碼頭。長(zhǎng)期以來(lái),針對(duì)錨系統(tǒng)的訓(xùn)練基本上停留在課堂上的理論教學(xué),錨系統(tǒng)的結(jié)構(gòu)拆裝、原理演示以及操作訓(xùn)練等都很難開展。
通過(guò)計(jì)算機(jī)仿真技術(shù)研制機(jī)電模擬器一直以來(lái)都是航海類院校和科研院所研究的重要內(nèi)容。將模擬器應(yīng)用到教學(xué)中將有助于學(xué)員結(jié)合課堂所學(xué)理論知識(shí)快速掌握設(shè)備的結(jié)構(gòu)原理、操作、故障排除以及維護(hù)等方面的知識(shí)。此外,利用模擬器進(jìn)行仿真訓(xùn)練還可以完成實(shí)裝訓(xùn)練中難以開展的科目以及危險(xiǎn)性較大和不常見故障的訓(xùn)練,有利于提高學(xué)員的故障應(yīng)急處置能力[1]。
本文在SimuEngine仿真平臺(tái)中建立了錨系統(tǒng)運(yùn)行的數(shù)學(xué)模型,在虛擬現(xiàn)實(shí)軟件EON Studio中建立船艇錨系統(tǒng)的視景模型,利用OPC實(shí)現(xiàn)兩個(gè)仿真平臺(tái)的通信,通過(guò)PLC采集開關(guān)、按鈕等硬件變量的值,在組態(tài)軟件KingView中建立OPC Server站點(diǎn),PLC采集到的變量值存儲(chǔ)到OPC Server中,SimuEngine同OPC Server建立連接,直接讀取站點(diǎn)中變量的值并進(jìn)行計(jì)算,計(jì)算的結(jié)果(如錨鏈長(zhǎng)度、錨設(shè)備功率、工作油壓等變量的值)也存儲(chǔ)在OPC Server中[2,3]。VC 讀取 OPC Server中變量的值,然后通過(guò)EON Studio自帶的EonX控件將值傳入到EON Studio中來(lái)驅(qū)動(dòng)視景模型,達(dá)到模擬操作訓(xùn)練的效果。同時(shí),在視景模型中還可以通過(guò)拆裝來(lái)展示錨系統(tǒng)的結(jié)構(gòu)組成及工作原理(模擬器系統(tǒng)的結(jié)構(gòu)框架及功能實(shí)現(xiàn)見圖1)。本文將從數(shù)學(xué)仿真模型、視景模型以及兩個(gè)仿真平臺(tái)的通信共三個(gè)方面來(lái)分析研制過(guò)程中的一些關(guān)鍵技術(shù)和難點(diǎn),本文著重介紹兩個(gè)平臺(tái)之間的數(shù)據(jù)通信。
圖1 模擬器系統(tǒng)結(jié)構(gòu)框架圖
SimuEngine是為大型科學(xué)計(jì)算、復(fù)雜系統(tǒng)動(dòng)態(tài)特性建模研究、過(guò)程仿真培訓(xùn)、系統(tǒng)優(yōu)化設(shè)計(jì)與調(diào)試、故障診斷與專家系統(tǒng)等,提供通用的、一體化的、全過(guò)程支撐的,基于微機(jī)環(huán)境的開發(fā)與運(yùn)行支撐平臺(tái)[4]。
該模擬器模仿真的錨系統(tǒng)包括船艇首錨和尾錨。一般由錨、錨鏈筒、止鏈器、錨鏈、錨機(jī)、錨鏈管和錨鏈輪等部件組成(如圖2所示)。通過(guò)操作控制模塊控制錨機(jī)的運(yùn)動(dòng)。首錨和尾錨均采用電機(jī)驅(qū)動(dòng),首錨通過(guò)電機(jī)帶動(dòng)錨鏈筒的運(yùn)動(dòng)從而控制錨的升降,尾錨則由電機(jī)驅(qū)動(dòng)液壓油泵來(lái)控制錨鏈筒的轉(zhuǎn)動(dòng),液壓尾錨機(jī)在不同工況(低速重載起錨、高速起錨、自由拋錨、機(jī)械拋錨、絞纜等)運(yùn)行時(shí)液壓系統(tǒng)的壓力與錨鏈筒轉(zhuǎn)動(dòng)速度之間的關(guān)系都各不相同,所以液壓系統(tǒng)壓力與電機(jī)消耗功率、錨鏈運(yùn)動(dòng)速度等的關(guān)系較為復(fù)雜。
圖2 錨設(shè)備組成圖
該模擬器應(yīng)用于教學(xué)訓(xùn)練,能夠真實(shí)地模擬實(shí)際錨系統(tǒng)的操作、控制與運(yùn)動(dòng),所以采用SimuEngine仿真平臺(tái),利用Fortran語(yǔ)言建立錨系統(tǒng)運(yùn)行的數(shù)學(xué)模型。在建立數(shù)學(xué)模型的過(guò)程中,由于錨設(shè)備實(shí)際實(shí)際運(yùn)行過(guò)程中的工況變化較為復(fù)雜,影響錨設(shè)備運(yùn)行狀況的因素較多,例如船艇的航速、水深、船艇發(fā)電站負(fù)載等因素都會(huì)影響到錨設(shè)備運(yùn)行時(shí)的負(fù)載、錨鏈運(yùn)行速度等,在建立運(yùn)行數(shù)學(xué)模型時(shí),通過(guò)設(shè)置適當(dāng)?shù)暮?jiǎn)化和假設(shè)條件的基礎(chǔ)上,例如假設(shè)航速、水深等因素保持不變,錨鏈運(yùn)行速度與電機(jī)功率成正比等,用數(shù)學(xué)形式來(lái)表示船艇錨系統(tǒng)操作裝置的控制、特性和狀態(tài)參數(shù)之間的關(guān)系,構(gòu)建符合其運(yùn)行機(jī)理和控制邏輯的數(shù)學(xué)模型。為了方便數(shù)學(xué)模型的建立,將數(shù)學(xué)模型分為以下4個(gè)子模塊:能量消耗計(jì)算模塊、錨設(shè)備運(yùn)動(dòng)仿真模塊、操作控制模塊、液壓系統(tǒng)仿真模塊(見圖1)。其中,能量消耗計(jì)算模塊用于模擬錨設(shè)備工作時(shí)電能的消耗,液壓系統(tǒng)壓力仿真能夠較為真實(shí)的模擬液壓系統(tǒng)壓力與各個(gè)影響因素之間的關(guān)系。
此外,SimuEngine仿真支撐平臺(tái)具有故障設(shè)置和管理功能,通過(guò)添加故障變量,實(shí)現(xiàn)典型故障模擬,可開展故障分析及處置訓(xùn)練。模塊間的數(shù)據(jù)流動(dòng)通過(guò)與公用變量數(shù)據(jù)庫(kù)的交互實(shí)現(xiàn)。模塊化建模方法可降低建模的復(fù)雜性,縮短建模時(shí)間,增加模型的通用性。
EON Studio是一種依據(jù)圖形使用者接口,用來(lái)研發(fā)實(shí)時(shí)3D多媒體應(yīng)用程序的工具,在教育訓(xùn)練的應(yīng)用十分廣泛。要實(shí)現(xiàn)船艇錨系統(tǒng)的真實(shí)模擬,就必須對(duì)船艇錨設(shè)備建立真實(shí)的三維模型[5,6]。在EON Studio中完成視景模型的導(dǎo)入,須完成以下工作:
(1)在建模軟件3DSMAX中完成船艇錨設(shè)備三維模型的建立。
(2)在3DSMAX中模型進(jìn)行優(yōu)化,提高模型的渲染速度。
(3)對(duì)模型進(jìn)行材質(zhì)、貼圖的設(shè)置,并將模型以3ds格式導(dǎo)出。
(4)在EON Studio中將3ds文件導(dǎo)入,并調(diào)整好燈光和攝像機(jī),使模型以最好的視角顯示出來(lái)(如圖3所示)。
(5)對(duì)需要設(shè)置運(yùn)動(dòng)的物體添加運(yùn)動(dòng)節(jié)點(diǎn),并設(shè)置好節(jié)點(diǎn)之間的連線。
圖3 艉錨視景效果圖
如圖1所示,在SimuEngine中完成數(shù)學(xué)模型的計(jì)算,必須通過(guò)PLC實(shí)時(shí)采集操控盤臺(tái)上的開關(guān)、按鈕、儀表等的變量值來(lái)進(jìn)行仿真計(jì)算。在仿真計(jì)算機(jī)中同時(shí)運(yùn)行SimuEngine仿真支撐平臺(tái)和組態(tài)軟件kingView6.5.kingview6.5可設(shè)置IO變量并將其映射到PLC相應(yīng)內(nèi)存地址實(shí)現(xiàn)與控制臺(tái)開關(guān)、儀表、指示燈等硬件設(shè)備的通訊,將采集到的變量的值存儲(chǔ)到kingview中建立的OPC Server中,同時(shí)通過(guò)OPC實(shí)現(xiàn)與SimuEngine仿真平臺(tái)的數(shù)據(jù)交互,這樣就可以將采集到的數(shù)據(jù)實(shí)時(shí)的傳輸?shù)絊imuEngine中進(jìn)行計(jì)算,計(jì)算產(chǎn)生的一些結(jié)果(例如錨鏈長(zhǎng)度、工作油壓等變量)也存儲(chǔ)到OPC Server中,然后可以利用這些變量來(lái)驅(qū)動(dòng)操控盤臺(tái)的儀表和EON Studio中視景模型。
將OPC Server中的變量值傳遞到EON Studio中并驅(qū)動(dòng)視景模型通過(guò)如下方式實(shí)現(xiàn):
(1)在仿真計(jì)算機(jī)上安裝并注冊(cè)支持OPC通信的ActiveX工控儀表控件Iocomp.
(2)在VC6.0中利用工控儀表控件Iocomp獲取OPC Server中變量的值。在MFC窗口中加入iEditX控件,對(duì)iEditX控件的屬性進(jìn)行設(shè)置,使其與要獲取的變量相對(duì)應(yīng)。以錨鏈長(zhǎng)度為例,要驅(qū)動(dòng)錨鏈的運(yùn)動(dòng),就必須先獲取錨鏈的長(zhǎng)度。打開iEditX控件屬性欄,對(duì)其進(jìn)行如下設(shè)置,選擇其中的OPC選項(xiàng),選擇添加value選項(xiàng),然后選擇對(duì)應(yīng)的OPC Server中對(duì)應(yīng)錨鏈長(zhǎng)度字段 Item的 value,然后調(diào)用控件的GetValue函數(shù)可以獲取到錨鏈的值,如圖4所示。
圖4 OPC控件屬性設(shè)置圖
(3)注冊(cè)EON Studio自帶ActiveX控件EonX,實(shí)現(xiàn)VC與EON Studio的通信。獲得錨鏈長(zhǎng)度的值后要將值傳遞到EON Studio中才能驅(qū)動(dòng)視景模型的運(yùn)動(dòng)。EON Studio自帶的ActiveX控件EonX能夠?qū)崿F(xiàn)VC與EON Studio的通信,在使用之前同樣要對(duì)EonX控件進(jìn)行注冊(cè)。
(4)在EON Studio中對(duì)需要設(shè)置運(yùn)動(dòng)的物體添加運(yùn)動(dòng)節(jié)點(diǎn),并設(shè)置好節(jié)點(diǎn)之間的連線。在EON Studio中對(duì)錨鏈所對(duì)應(yīng)的節(jié)點(diǎn)添加如下的控制節(jié)點(diǎn),如圖5所示。
圖5 錨鏈節(jié)點(diǎn)設(shè)置
在圖5中可以看到,要驅(qū)動(dòng)錨鏈的運(yùn)動(dòng),必須添加四個(gè)輸入節(jié)點(diǎn),其中MaoStart節(jié)點(diǎn)為SFBOOL類型,MaoH,MaoP,MaoR分別為錨鏈運(yùn)動(dòng)的三個(gè)方向,利用Adapter節(jié)點(diǎn)將這三個(gè)數(shù)據(jù)轉(zhuǎn)換為代表三維向量數(shù)據(jù)的SFVEC3F類型,從而決定錨鏈在立體空間中的運(yùn)動(dòng)方向。
(5)在VC中利用編程實(shí)現(xiàn)視景模型的驅(qū)動(dòng)。在MFC窗口中加入注冊(cè)后的EonX控件,給控件關(guān)聯(lián)一個(gè)變量m_EonX1.在VC中添加定時(shí)器,定時(shí)獲取錨鏈的運(yùn)動(dòng)長(zhǎng)度的值,從而驅(qū)動(dòng)錨鏈的運(yùn)動(dòng),具體的代碼如下:
varF.fltVa l=0.0;
varH.fltVal=-MaoChang/50.0;//獲取錨鏈的長(zhǎng)度
m_EonX1.SendEvent(“MaoH”,&varF);//H 方向的運(yùn)動(dòng)量為零
m_EonX1.SendEvent(“MaoP”,&varH);//錨鏈的長(zhǎng)度賦予到P方向
m_EonX1.SendEvent(“MaoR”,&varF);//R 方向的運(yùn)動(dòng)量為零
m_EonX1.SendEvent(“MaoStart”,&varM);//觸發(fā)Place節(jié)點(diǎn),使錨鏈開始運(yùn)動(dòng)
最后由VC和EON Studio完成的軟件界面如圖6所示,盤臺(tái)上有跟實(shí)際的錨設(shè)備一樣的操作手柄、開關(guān)按鈕等,通過(guò)對(duì)這些開關(guān)、按鈕等的操作,可以實(shí)現(xiàn)對(duì)錨機(jī)的模擬操縱操作訓(xùn)練,包括錨的收錨、拋錨訓(xùn)練,錨設(shè)備的啟動(dòng)、停機(jī)訓(xùn)練等。
圖6 錨系統(tǒng)訓(xùn)練模擬器操作界面
通過(guò)對(duì)船艇錨系統(tǒng)模擬器的研制,使用了SimuEngine和Eon Studio兩個(gè)仿真平臺(tái),充分利用兩個(gè)仿真平臺(tái)各自的優(yōu)勢(shì),在SimuEngine完成錨系統(tǒng)的數(shù)學(xué)模型的建立,在Eon Studio完成錨系統(tǒng)視景的仿真,通過(guò)OPC接口實(shí)現(xiàn)兩個(gè)仿真平臺(tái)的數(shù)據(jù)交換,結(jié)合PLC采集的硬件變量,達(dá)到既能實(shí)現(xiàn)對(duì)錨系統(tǒng)的操作進(jìn)行模擬訓(xùn)練,又能通過(guò)三維模型更直觀地了解錨系統(tǒng)的結(jié)構(gòu)組成和工作原理的目的,對(duì)于學(xué)員全面掌握錨系統(tǒng)的使用和維護(hù)具有較大的意義。
[1]張 錦,聶 偉.基于SimuEngine的船艇主機(jī)系統(tǒng)仿真研究[J].軍事交通學(xué)院學(xué)報(bào),2015,17(7):45-48.
[2]鄧潔清,袁宇波.基于PLC模塊的變電站自動(dòng)化測(cè)試仿真系統(tǒng)的實(shí)現(xiàn)及應(yīng)用[J].電力系統(tǒng)保護(hù)與控制,2009,37(24):157-160.
[3]詹國(guó)兵,詹禮琛.基于S7-200PLC全自動(dòng)RO純水機(jī)的優(yōu)化設(shè)計(jì)及應(yīng)用[J].工業(yè)控制計(jì)算機(jī),2015,28(4):141-143.
[4]王希波,班孝東.大小渦輪三級(jí)相繼增壓系統(tǒng)匹配規(guī)律研究[J].山東交通學(xué)院學(xué)報(bào),2010,18(3):1-6.
[5]劉 誠(chéng),付宜利.基于EON的交互式虛擬裝配仿真系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].東北林業(yè)大學(xué)學(xué)報(bào),2009,37(8):109-111.
[6]于 輝,趙經(jīng)成.EON入門與高級(jí)應(yīng)用技巧[M].北京:國(guó)防工業(yè)出版社,2008:17-24.
Design and Study of the Marine Anchor System Simulator
SHEN Jun,NIE Wei,XIE Xiao-ping
(Zhenjiang Watercraft College,Zhenjiang Jiangshu 212003,China)
Making the marine anchor system as the simulation object ,this paper establishes mathematic models based on the SimuEngine simulation support environment and virtual 3D models based on the virtual reality platform EON Studio,the two simulation platforms exchange data by OPC.The simulate training of the marine anchor system can be realized with the switches and buttons on the control panel,the structure and operational principle of the anchor system could be understood more directly by the virtual 3D models established in the EON Studio.This simulator had been applied to teaching and
a good effect.
anchor system;SimuEngine;EON Studio;OPC
U661.43
A
1672-545X(2017)09-0155-03
2017-06-05
沈 軍(1985-),男,湖北武漢人,碩士,講師,主要研究船艇動(dòng)力工程和虛擬仿真。