沈 軍,聶 偉,謝小平
(鎮江船艇學院,江蘇 鎮江212003)
船艇錨系統訓練模擬器設計與研究
沈 軍,聶 偉,謝小平
(鎮江船艇學院,江蘇 鎮江212003)
以船艇錨系統為仿真對象,在SimuEngine仿真平臺中建立了船艇錨系統運行的數學模型,在虛擬現實軟件EON Studio中建立錨系統的三維視景模型,通過OPC實現兩個仿真平臺的數據交換。配合PLC采集到的操控盤臺上的開關、按鈕等變量,就可以實現對船艇錨系統的模擬訓練,也能通過EON Studio中建立的三維視景模型直觀的了解錨系統的結構和工作原理。該模擬器已應用到教學,并獲得了較好的效果。
錨系統;SimuEngine;EON Studio;OPC
船艇航行中,如遇風、霧或機器發生故障等,都需要暫時停泊;船艇抵達港口后,停靠碼頭或泊于錨地時,會受到水力、風力和縱傾與橫傾時慣性力的影響,所以為了保證船艇安全可靠地停泊,必須有平衡這些力的設備,這就是船艇錨系統。此外,錨系統還可以幫助船艇安全迅速地靠離碼頭。長期以來,針對錨系統的訓練基本上停留在課堂上的理論教學,錨系統的結構拆裝、原理演示以及操作訓練等都很難開展。
通過計算機仿真技術研制機電模擬器一直以來都是航海類院校和科研院所研究的重要內容。將模擬器應用到教學中將有助于學員結合課堂所學理論知識快速掌握設備的結構原理、操作、故障排除以及維護等方面的知識。此外,利用模擬器進行仿真訓練還可以完成實裝訓練中難以開展的科目以及危險性較大和不常見故障的訓練,有利于提高學員的故障應急處置能力[1]。
本文在SimuEngine仿真平臺中建立了錨系統運行的數學模型,在虛擬現實軟件EON Studio中建立船艇錨系統的視景模型,利用OPC實現兩個仿真平臺的通信,通過PLC采集開關、按鈕等硬件變量的值,在組態軟件KingView中建立OPC Server站點,PLC采集到的變量值存儲到OPC Server中,SimuEngine同OPC Server建立連接,直接讀取站點中變量的值并進行計算,計算的結果(如錨鏈長度、錨設備功率、工作油壓等變量的值)也存儲在OPC Server中[2,3]。VC 讀取 OPC Server中變量的值,然后通過EON Studio自帶的EonX控件將值傳入到EON Studio中來驅動視景模型,達到模擬操作訓練的效果。同時,在視景模型中還可以通過拆裝來展示錨系統的結構組成及工作原理(模擬器系統的結構框架及功能實現見圖1)。本文將從數學仿真模型、視景模型以及兩個仿真平臺的通信共三個方面來分析研制過程中的一些關鍵技術和難點,本文著重介紹兩個平臺之間的數據通信。

圖1 模擬器系統結構框架圖
SimuEngine是為大型科學計算、復雜系統動態特性建模研究、過程仿真培訓、系統優化設計與調試、故障診斷與專家系統等,提供通用的、一體化的、全過程支撐的,基于微機環境的開發與運行支撐平臺[4]。
該模擬器模仿真的錨系統包括船艇首錨和尾錨。一般由錨、錨鏈筒、止鏈器、錨鏈、錨機、錨鏈管和錨鏈輪等部件組成(如圖2所示)。通過操作控制模塊控制錨機的運動。首錨和尾錨均采用電機驅動,首錨通過電機帶動錨鏈筒的運動從而控制錨的升降,尾錨則由電機驅動液壓油泵來控制錨鏈筒的轉動,液壓尾錨機在不同工況(低速重載起錨、高速起錨、自由拋錨、機械拋錨、絞纜等)運行時液壓系統的壓力與錨鏈筒轉動速度之間的關系都各不相同,所以液壓系統壓力與電機消耗功率、錨鏈運動速度等的關系較為復雜。

圖2 錨設備組成圖
該模擬器應用于教學訓練,能夠真實地模擬實際錨系統的操作、控制與運動,所以采用SimuEngine仿真平臺,利用Fortran語言建立錨系統運行的數學模型。在建立數學模型的過程中,由于錨設備實際實際運行過程中的工況變化較為復雜,影響錨設備運行狀況的因素較多,例如船艇的航速、水深、船艇發電站負載等因素都會影響到錨設備運行時的負載、錨鏈運行速度等,在建立運行數學模型時,通過設置適當的簡化和假設條件的基礎上,例如假設航速、水深等因素保持不變,錨鏈運行速度與電機功率成正比等,用數學形式來表示船艇錨系統操作裝置的控制、特性和狀態參數之間的關系,構建符合其運行機理和控制邏輯的數學模型。為了方便數學模型的建立,將數學模型分為以下4個子模塊:能量消耗計算模塊、錨設備運動仿真模塊、操作控制模塊、液壓系統仿真模塊(見圖1)。其中,能量消耗計算模塊用于模擬錨設備工作時電能的消耗,液壓系統壓力仿真能夠較為真實的模擬液壓系統壓力與各個影響因素之間的關系。
此外,SimuEngine仿真支撐平臺具有故障設置和管理功能,通過添加故障變量,實現典型故障模擬,可開展故障分析及處置訓練。模塊間的數據流動通過與公用變量數據庫的交互實現。模塊化建模方法可降低建模的復雜性,縮短建模時間,增加模型的通用性。
EON Studio是一種依據圖形使用者接口,用來研發實時3D多媒體應用程序的工具,在教育訓練的應用十分廣泛。要實現船艇錨系統的真實模擬,就必須對船艇錨設備建立真實的三維模型[5,6]。在EON Studio中完成視景模型的導入,須完成以下工作:
(1)在建模軟件3DSMAX中完成船艇錨設備三維模型的建立。
(2)在3DSMAX中模型進行優化,提高模型的渲染速度。
(3)對模型進行材質、貼圖的設置,并將模型以3ds格式導出。
(4)在EON Studio中將3ds文件導入,并調整好燈光和攝像機,使模型以最好的視角顯示出來(如圖3所示)。
(5)對需要設置運動的物體添加運動節點,并設置好節點之間的連線。

圖3 艉錨視景效果圖
如圖1所示,在SimuEngine中完成數學模型的計算,必須通過PLC實時采集操控盤臺上的開關、按鈕、儀表等的變量值來進行仿真計算。在仿真計算機中同時運行SimuEngine仿真支撐平臺和組態軟件kingView6.5.kingview6.5可設置IO變量并將其映射到PLC相應內存地址實現與控制臺開關、儀表、指示燈等硬件設備的通訊,將采集到的變量的值存儲到kingview中建立的OPC Server中,同時通過OPC實現與SimuEngine仿真平臺的數據交互,這樣就可以將采集到的數據實時的傳輸到SimuEngine中進行計算,計算產生的一些結果(例如錨鏈長度、工作油壓等變量)也存儲到OPC Server中,然后可以利用這些變量來驅動操控盤臺的儀表和EON Studio中視景模型。
將OPC Server中的變量值傳遞到EON Studio中并驅動視景模型通過如下方式實現:
(1)在仿真計算機上安裝并注冊支持OPC通信的ActiveX工控儀表控件Iocomp.
(2)在VC6.0中利用工控儀表控件Iocomp獲取OPC Server中變量的值。在MFC窗口中加入iEditX控件,對iEditX控件的屬性進行設置,使其與要獲取的變量相對應。以錨鏈長度為例,要驅動錨鏈的運動,就必須先獲取錨鏈的長度。打開iEditX控件屬性欄,對其進行如下設置,選擇其中的OPC選項,選擇添加value選項,然后選擇對應的OPC Server中對應錨鏈長度字段 Item的 value,然后調用控件的GetValue函數可以獲取到錨鏈的值,如圖4所示。

圖4 OPC控件屬性設置圖
(3)注冊EON Studio自帶ActiveX控件EonX,實現VC與EON Studio的通信。獲得錨鏈長度的值后要將值傳遞到EON Studio中才能驅動視景模型的運動。EON Studio自帶的ActiveX控件EonX能夠實現VC與EON Studio的通信,在使用之前同樣要對EonX控件進行注冊。
(4)在EON Studio中對需要設置運動的物體添加運動節點,并設置好節點之間的連線。在EON Studio中對錨鏈所對應的節點添加如下的控制節點,如圖5所示。

圖5 錨鏈節點設置
在圖5中可以看到,要驅動錨鏈的運動,必須添加四個輸入節點,其中MaoStart節點為SFBOOL類型,MaoH,MaoP,MaoR分別為錨鏈運動的三個方向,利用Adapter節點將這三個數據轉換為代表三維向量數據的SFVEC3F類型,從而決定錨鏈在立體空間中的運動方向。
(5)在VC中利用編程實現視景模型的驅動。在MFC窗口中加入注冊后的EonX控件,給控件關聯一個變量m_EonX1.在VC中添加定時器,定時獲取錨鏈的運動長度的值,從而驅動錨鏈的運動,具體的代碼如下:
varF.fltVa l=0.0;
varH.fltVal=-MaoChang/50.0;//獲取錨鏈的長度
m_EonX1.SendEvent(“MaoH”,&varF);//H 方向的運動量為零
m_EonX1.SendEvent(“MaoP”,&varH);//錨鏈的長度賦予到P方向
m_EonX1.SendEvent(“MaoR”,&varF);//R 方向的運動量為零
m_EonX1.SendEvent(“MaoStart”,&varM);//觸發Place節點,使錨鏈開始運動
最后由VC和EON Studio完成的軟件界面如圖6所示,盤臺上有跟實際的錨設備一樣的操作手柄、開關按鈕等,通過對這些開關、按鈕等的操作,可以實現對錨機的模擬操縱操作訓練,包括錨的收錨、拋錨訓練,錨設備的啟動、停機訓練等。

圖6 錨系統訓練模擬器操作界面
通過對船艇錨系統模擬器的研制,使用了SimuEngine和Eon Studio兩個仿真平臺,充分利用兩個仿真平臺各自的優勢,在SimuEngine完成錨系統的數學模型的建立,在Eon Studio完成錨系統視景的仿真,通過OPC接口實現兩個仿真平臺的數據交換,結合PLC采集的硬件變量,達到既能實現對錨系統的操作進行模擬訓練,又能通過三維模型更直觀地了解錨系統的結構組成和工作原理的目的,對于學員全面掌握錨系統的使用和維護具有較大的意義。
[1]張 錦,聶 偉.基于SimuEngine的船艇主機系統仿真研究[J].軍事交通學院學報,2015,17(7):45-48.
[2]鄧潔清,袁宇波.基于PLC模塊的變電站自動化測試仿真系統的實現及應用[J].電力系統保護與控制,2009,37(24):157-160.
[3]詹國兵,詹禮琛.基于S7-200PLC全自動RO純水機的優化設計及應用[J].工業控制計算機,2015,28(4):141-143.
[4]王希波,班孝東.大小渦輪三級相繼增壓系統匹配規律研究[J].山東交通學院學報,2010,18(3):1-6.
[5]劉 誠,付宜利.基于EON的交互式虛擬裝配仿真系統的設計與實現[J].東北林業大學學報,2009,37(8):109-111.
[6]于 輝,趙經成.EON入門與高級應用技巧[M].北京:國防工業出版社,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-),男,湖北武漢人,碩士,講師,主要研究船艇動力工程和虛擬仿真。