鄒文俊,林洪貴,孫美娜
(集美大學輪機工程學院,福建廈門 361021)
一種虛實結合的船舶壓縮空氣操作訓練系統設計
鄒文俊,林洪貴,孫美娜
(集美大學輪機工程學院,福建廈門 361021)
針對航運院校采用真實船舶動力設備系統操作訓練存在占地面積大、成本高且缺少實船環境的缺點,本文以船舶壓縮空氣系統為例設計出一種虛實結實的動力設備操作訓練系統,建立了壓縮空氣系統的三維實體模型和設備的數學模型,通過Unity3D實現了船舶壓縮空氣系統的場景漫游和虛擬操作功能,采用PLC控制技術實現了空壓機組的控制功能,解決了PLC控制器與Unity3D之間數據交互問題,最終實現了通過實物控制箱控制虛擬的空壓機組的目的。
壓縮空氣系統虛實結合PLCUnity3D
船舶動力設備的操作和管理是船舶二/三管輪主要實操內容之一,實際的船舶動力系統由于受場地、建造、運行管理成本的限制,加之缺少實船環境[1,2],已無法滿足航運院校對船舶動力設備訓練評估要求,隨著虛擬仿真技術的發展,實際系統勢必被模擬仿真系統所取代。船舶壓縮空氣系統作為重要的船舶動力設備,可為主副機提供啟動空氣、氣動控制系統提供控制空氣及其它船舶輔助設備提供所需的氣源[3],船舶壓縮空氣系統勢必也朝著虛擬仿真的方向發展。
模擬仿真系統具有真實系統無法比擬的優勢,主要體現在:1)可以反復操作而對設備無損害;2)可以實現真實系統無法實現的故障模擬;3)基本不需要對設備進行維護管理;4)誤操作不會危及到設備和人員安全。傳統的船舶壓縮空氣模擬仿真系統基本以二維平面原理圖的形式展示,這種方式無法客觀地描述真實系統場地布置情況,操作訓練人員無法得知操作部件在實際系統中具體的位置,缺乏真實感。本文在此基礎上本文提出了一種操作更真實、沉浸感更強的虛實結合的船舶壓縮空氣操作訓練系統。
虛實結合的船舶壓縮空氣操作訓練系統的主要思想是控制系統真實化,控制對象虛擬化。整個系統結構如圖 1,控制系統采用現代船舶上普遍采用的PLC控制技術實現,主要完成空壓機組的控制和保護功能,空壓機組、主空氣瓶等作為控制對象采用3ds Max建模軟件進行三維實體建模,在Unity3D游戲引擎中實現場景漫游和虛擬操作功能。
在 3dsMax中建立的船舶壓縮空氣系統的三維虛擬場景和在Visual Studio中建立的數學模型動態鏈接庫作為資源導入到Unity3D中進行再加工制作,最后通過一鍵發布的方式生成Windows平臺下的.EXE應用程序,運行在裝有 Windows操作系統的壁掛式一體機上,一體機帶有一觸摸顯示屏,學員通過觸摸顯示屏的觸屏功能可實現:1)漫游船舶壓縮空氣系統,熟悉設備和管系;2)操作系統中相關閥門的開啟和關閉;3)觀測系統中設備的運行狀態及儀表參數值。學員操作的空壓機機旁控制箱由PLC控制,PLC一方面通過I O模塊接受來自機旁控制箱的控制指令,經邏輯運算后給出控制命令給三維虛擬場景中的控制設備;一方面采集來自系統數學模型運算出的監控參數,參考控制或輸出到控制箱上顯示,系統運行效果如圖2。
2.1船舶壓縮空氣系統三維實體建模
本船舶壓縮空氣系統三維實體是以某輪真實壓縮空氣系統作為母型系統建立的,以活塞式空壓機作為母型機,采用 3ds Max 2012三維建模軟件創建,建模流程如圖 3,主要建模對象包括空壓機組、主空氣瓶、氣液分離器、空氣冷卻器、壓力開關、控制閥門、減壓閥組、管系等,圖 4 是3ds Max中建立的未經材質、貼圖和烘焙處理的船舶壓縮空氣系統三維模型。

圖2 船舶壓縮空氣操作訓練系統效果圖

圖3 系統三維實體建模流程

圖4 船舶壓縮空氣系統三維模型
2.2船舶壓縮空氣系統數學建模
三維實體模型是船舶壓縮空氣系統是人機交互的窗口,對系統中各設備的內部物理過程的描述必須通過數學建模實現。本文建立了船舶壓縮空氣系統中主要設備簡化的數學模型,這些模型主要包括:1)空壓機組排氣溫度、排氣流量數學模型;2)主空氣瓶內空氣壓力、凝結水量、空氣質量和溫度數學模型;3)空氣冷卻器熱交換數學模型。
以空壓機組排氣溫度為例說明設備數學模型的建立過程,該活塞式空壓機是雙缸二級式空壓機,假設當空氣進入空壓機第一級氣缸的溫度為T0(K),進機時的壓力為P0(MPa),第一級氣缸內的壓縮空氣的多變指數為 m1,第二級為 m2,那么在第一級氣缸中,空氣壓力的壓縮比為:

式(1)中,P1—經第一級氣缸壓縮后的排氣壓力
壓縮空氣在第一級氣缸出口處的溫度為:

第二級氣缸的壓縮比為:

式(3)中,P2—空壓機經過二級氣缸后的排氣壓力(MPa)。
壓縮空氣在第二級氣缸出口處的溫度為:

3.1控制系統硬件設計
由于控制對象是虛擬的三維實體,不需要采集來自真實的傳感器信號,故PLC控制系統只須接收和控制來自船舶壓縮空氣系統機旁控制箱上開關、按鈕、指示燈和儀表等元器件的信號。經統計,船舶壓縮空氣系統機旁控制箱IO點數為:2路模擬量輸出,22路開關量輸入和14路開關量輸出,共計38點,屬于小型PLC控制系統。在PLC選型上選用國產Haiwell S系列PLC,具體硬件配置為:S32S2T型CPU模塊1塊、H08XD T型開關量模塊1塊和S04AO型模擬量輸出模塊1塊。S32S2T型CPU模塊帶有16路開關量輸入和16路晶體管輸出,通訊口配備1個RS232口和1個RS485口,H08XDT型開關量模塊帶有4路開關量輸入和4路晶體管輸出;S04AO型模擬量輸出模塊帶有4路模擬量輸出,支持標準電流電壓信號。配備的PLC控制系統總共可帶52點,留有約27%的裕量點作為備用,硬件配置完后就可對控制箱上的元器件IO地址進行分配。
3.2控制功能設計與實現
空壓機組的控制功能通過Haiwell PLC編程軟件HaiwellHappy梯形圖編程實現,具體實現的控制功能包括:
1)空壓機組本地/遙控切換:在空壓機組機旁控制箱上能實現本地/遙控切換,實現空壓機組本地控制和集控室遙控控制功能。
2)空壓機組自動起/停:為避免主副兩臺空壓機組自動起停頻繁,兩臺空壓機組起停控制的壓力開關自起動壓力整定值有一定的差值,先起動的主空壓機組壓力開關自起動壓力整定值為2. 2 MPa,后起動的副空壓機組壓力開關自起動壓力整定值為2.0 MPa,自停止壓力整定值都為3. 0 MPa。
3)空壓機組手動起/停:在緊急情況下可進行人工手動起停控制。
4)自動卸荷:空壓機組在起動和停止前都要打開卸荷閥卸荷,以減小空壓機組的起動負荷和保護空壓機組。
5)自動放殘:空壓機組運行時周期性控制氣水分離器和主空氣瓶泄放閥打開放殘,空壓機機組停止時控制氣水分離器泄放閥打開,控制主空氣瓶泄放閥關閉。
6)安全保護和故障報警:當空壓機組出現排氣溫度過高、冷卻水溫度過高過高、滑油壓力過低和曲軸箱油位低時應能自動停止空壓機組工作并發出聲音報警。
圖5是主空壓機組手/自動起停流程圖,當有停機故障時必須待故障復位后才能再次起動空壓機組。圖6是實現起停控制過程的主要PLC梯形圖程序代碼,在程序設計時要事先對要與Unity3 D進行讀寫的數據進行規劃,要讀或寫的內部繼電器和寄存器應連續分配,以便后期Unity3D在讀寫這些數據時可采用讀寫多線圈或多寄存器號指令,減少讀寫次數,提高通訊速率。
4.1Unity3D工程資源整合
Unity3D是由Unity Techologies開發的一個讓開發者輕松創建各種類型游戲和虛擬現實等互動內容的多平臺綜合型開發工具[4,5]。在 3dsMax中建好船舶壓縮空氣系統的三維虛擬場景以.FB X格式文件導出,將封裝有三維虛擬場景的.FBX格式文件、封裝有壓縮空氣系統數學模型的.DLL格式文件、音頻文件等作為開發資源存放在Unit y3D工程的Assets文件夾中。在Unity3工程中,. FBX格式文件可導入到場景(Scenes),.DLL格式文件可被Unity3D自帶的MonoDevelop腳本編輯器編寫的腳本代碼引用。Unity3D目前支持Ja vaScript、C#和Boo三種語言的腳本程序[5],本系統開發所用的腳本采用JavaScript和C#語言編寫而成。

圖5 空壓機組手/自動控制流程圖
4.2場景漫游功能的實現
Uniy3D中自帶有角色控制資源包,將其導入到工程中,通過在場景中添加第一角色控制器組件就能實現船舶壓縮空氣系統三維場景自由漫游功能:操作鍵盤的WASD鍵控制角色前后左右行走,操作鼠標控制角色的行走方向。在添加第一角色控制器組件時系統自動生成的名為MouseLo ok.cs、CharacterMotor.js和 FPSInputController.js的三個腳本文件,自由漫游功能就是通過這三個腳本文件實現的,修改相關參數可改變漫游的方式和靈敏性。
4.3虛擬操作的實現
壓縮空氣系統有較多的閥需要手動操作其打開或關閉,如空壓機組壓縮空氣出口閥、主空氣瓶進口閥、主空氣瓶間旁通閥等,其中大部分是截止止回閥,對這類閥的開關過程主要包括手輪的回轉運行和軸向運動。在Unity3D中手輪回轉運行是通過 transform.Rotate()方法實現的,手輪的軸向運行是通過 transform.Translate()方法實現的。閥的開關切換是通過單擊鼠標實現的,開關切換代碼放置在OnMouseDown()函數內部,表征閥開關狀態的變量最終要傳送到數學模型中參與邏輯運算的,需要跨文件引用,在Unity3D中對于這類需要跨文件引用的變量須聲明為靜態變量,否則編譯通不過。

圖6 空壓機組起停控制梯形圖程序
閥開操作功能實現的主要代碼如下:


4.4音效仿真的實現
船舶壓縮空氣系統的場景漫游和虛擬操作功能都是視覺上的體驗,為了增強沉浸感,操作者在操作時除需要視覺上體驗外還需要聽覺上的體驗,如空壓機組在啟動、運行、停止和主空氣瓶放殘時都會發出不同的聲音,實際工作中設備運行聲音也是操作管理都判斷設備是否正常運行的重要依據。在Unity3D實現音效仿真是通過Audi oClip組件和AudioSource組件來實現的,Audio Clip組件用于保存空壓機組啟動、運行、停止及主空氣瓶放殘的音頻文件,AudioSource組件用于控制音頻文件的播放,其中空壓機組在啟動和停止音頻播放方式為播放一次,空壓機組運行和主空氣放殘音頻播放方式為循環播放。
4.5PLC與Unity3D數據通訊的實現
實物的控制系統要實現對虛擬的控制對象的控制需要解決控制系統與控制對象之間數據交互問題,即要解決PLC控制器與Unity3D之間數據通訊問題。之前筆者一直想通過OPC數據通訊實現:PLC作為OPC服務器,Unity3D作為OPC客戶端。經幾番測試發現Unity3D開發環境是基于.NET 2.0架構的,而實現OPC通訊的所需的O pcDaNet.dll是基于.NET 2.0以上架構的,故Uni ty3D中不完全支持OpcDaNet.dll庫方法的調用,最終放棄OPC數據通訊而采用Modbus數據通訊實現。
在硬件接口方面,Hailwell PLC具有1個R S232口和1個RS485口,運行Unity3D應用程序的一體機只有USB口,本設計采用PLC的RS 232口通訊,經一根RS232轉USB轉接線與一體機相接。數據傳送方式采用Modbus RTU方式,Unity3D作為Modbus主站,Haiwell PLC作為從站,這樣Unity3D一方面要發送系統數學模型得到的虛擬傳感器數據(包括數字量和模擬量)給PLC控制系統,另一方面要PLC控制系統的控制信號(全部為數字量),因此要用到的Modbus功能碼有01(讀線圈)、15(寫多個線圈)和16(寫多個寄存器)。Modbus數據通訊的主體腳本代碼主要包括設置串口通訊參數、啟用串口通訊線程、打開串口、發送生成的Modbus RTU格式的數據、接收回傳信息、提取回傳信息中的數據(讀時需要)等。串口通訊參數包括串口名、波特率、奇偶校驗、數據位和停止位等;生成Modbus RTU格式的數據包括設備地址、功能碼、要寫或讀的數據信息、CRC校驗碼等。
本文采用 PLC控制技術和虛擬實現技術實現了船舶壓縮空氣系統的操作訓練,引入了Unit y3D游戲引擎開發船舶壓縮空氣系統的三維場景的漫游和操作功能,讓操作者能夠像玩游戲一樣通過控制箱、鼠標、鍵盤和觸摸屏來操控虛擬的船舶壓縮空氣系統,同時聽到環境音效,達到訓練的目的。這種操作訓練方式更接近于真實船舶壓縮空氣系統的操作,且具有真實系統無法比擬的優勢。這種架構的操作訓練系統易于擴展,且支持二次開發,主要體現在:1)增設故障模型,進行故障模擬;2)增加評估模塊,對操作結果進行評定;3)利用Unity3D開發純虛擬操作訓練系統,可發布到IOS、Android、Web和Flash平臺,通過手機或互聯網進行訓練。
[1] 徐野. 船舶輔鍋爐仿真系統的數學建模與軟件設計[D]. 大連: 大連海事大學,2013.
[2] 丁立勛. 船舶輔鍋爐裝置模擬操作系統[D]. 大連:大連海事大學,2009.
[3] 王旭. 船舶壓縮空氣系統動態建模與仿真[D]. 大連:大連海事大學,2013.
[4] 張可超. 船舶壓縮空氣系統虛擬現實的設計與研究[D]. 大連: 大連海事大學,2014.
[5] 張帆. Unity3D游戲開發基礎[M]. 杭州: 浙江工商大學出版社,2013.
Design of Marine Compressed Air Operation Training System with Virtual and Physical Combination
Zou Wenjun,Lin Honggui,Sun Meina
(Marine Engineering Institute,Jimei University,Xiamen 361021,Fujian,China)
Marine power plant operation training system in shipping colleges has the disadvantages of large area,the high cost and the lack of real ship environment. Aimed at this problem,and taking marine compressed air system as an example,a combination of virtual and physical marine power plant operation training system is designed. The scene roaming and virtual operation function of the marine compressed air system is realized by Unity3D,the control task of the air compressor is completed by PLC control technology,and the problem of data communication between PLC Controllers and Unity3D is solved. Finally,the paper achieves the purpose of controlling the virtual air compressor through the physical control box.
auxiliary boiler; combination of virtual and physical; PLC; unity3D
U664.5
A
1003-4862(2015)12-0006-05
2015-09-11
福建省自然科學基金項目(2014J01203)
鄒文俊(1985-),男,碩士學位,助理實驗師。研究方向:虛擬仿真、船舶自動化、機電一體化。