国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GL Studio的船舶駕控臺儀表仿真

2014-05-05 08:54黃曉雪
船舶職業(yè)教育 2014年6期
關(guān)鍵詞:儀表盤代碼儀表

黃曉雪

(渤海船舶職業(yè)學院,遼寧興城125105)

基于GL Studio的船舶駕控臺儀表仿真

黃曉雪

(渤海船舶職業(yè)學院,遼寧興城125105)

采用虛擬儀表技術(shù)對船舶操縱模擬器駕控臺儀表進行桌面級仿真,其主要優(yōu)點是可以由用戶自行定義、設(shè)計儀表系統(tǒng),以滿足不同用戶的要求,使儀表的功能更加強大、靈活,且易于同網(wǎng)絡、外設(shè)及其他應用相連接。利用虛擬儀表軟件GL Studio模擬船舶駕控臺儀表,制作生成動態(tài)連接庫文件,并在Vega Prime中調(diào)用,實現(xiàn)真實還原船上儀表的目的。

船舶駕控臺模擬;GL Studio;虛擬儀表

0 引言

隨著科學技術(shù)的發(fā)展,在現(xiàn)代造船模式下,計算機技術(shù)滲透到造船過程中的方方面面。在船舶實驗室、船廠以及現(xiàn)場作業(yè)中,為了完成一些測試項目,需要許多儀器。但是眾多的儀器不僅造價十分高昂,而且體積巨大,最重要的是數(shù)據(jù)傳輸十分麻煩。所以虛擬儀表的存在在很大程度上幫助我們解決了上述問題。它不僅具有強大的顯示和處理數(shù)據(jù)的能力,而且在數(shù)據(jù)傳輸上具有很大的優(yōu)勢。更重要的是借助于計算機強大的圖形處理能力,它可以真實地還原儀表上的按鈕、旋鈕、指示燈等功能。本文擬采用虛擬儀表軟件GL Studio,模擬船舶駕控臺儀表,包括主機轉(zhuǎn)速表、車鐘單元、總控單元等操作面板;制作生成動態(tài)連接庫文件,并在Vega Prime中調(diào)用,實現(xiàn)真實還原船上儀表的目的。

1 GL Studio儀表開發(fā)系統(tǒng)

GL Studio儀表開發(fā)系統(tǒng)為用戶提供了一個所見即所得的繪圖工具以及一個代碼生成器,用戶可以根據(jù)真實的儀表取材通過繪圖工具繪制儀表并在代碼生成器中生成代碼,從而使虛擬儀表可以輕松嵌入到其他應用程序中去。

1.1 GL Studio圖形編輯器

圖形編輯器允許用戶直接根據(jù)真實儀表繪制圖形,為用戶提供了包括按鈕、指針等圖元,用戶可將真實儀表的紋理添加到相對應的圖元上,通過修改尺寸、旋轉(zhuǎn)等操作進行模擬真實儀表的大小、方向來得到所需圖形。通過這種方式用戶可以直接建立所要求的儀表系統(tǒng)。

不僅如此,GL Studio采用面向?qū)ο蟮木幊谭绞?,即已?jīng)創(chuàng)建好的虛擬儀表可以重復使用,只需簡單地創(chuàng)建一個模板對象,便可以對其進行重復性的調(diào)用。正因為具有此特點,GL Studio與其他軟件相比節(jié)省了開發(fā)時間。

1.2 GL Studio代碼生成器

通過GL Studio圖形編譯器生成的所有儀表系統(tǒng)都可以通過其代碼生成器得到源代碼。這些具有相關(guān)功能的源代碼可以被定義為固定的C++類,代碼可由用戶進行修改操作,并可以與其他應用系統(tǒng)進行連接,在很大程度上解決了以往儀表操作系統(tǒng)數(shù)據(jù)難以傳輸?shù)膯栴}。

GL Studio作為可進行實時交互的開發(fā)工具,可以隨時為客戶提供設(shè)計、修改或模擬仿真操作,使用戶完全置身于GL Studio為其帶來的真實建模方案中。通過GL Studio建立的模型方案可以創(chuàng)建為不同的文件,或作為單獨的執(zhí)行文件,也可生成ActiveX插件或者dll格式的動態(tài)鏈接庫。用戶在使用過程中可根據(jù)自身需要將GL Studio文件生成的代碼植入到C++語言中,實現(xiàn)最終的仿真設(shè)計方案。

綜上,GL Studio儀表仿真系統(tǒng)能夠根據(jù)用戶需求,設(shè)定不同的解決方案,并可按用戶需求隨時進行相應地修改,具有界面穩(wěn)定、逼真,人機界面友好的特點,最大程度地降低了儀表仿真系統(tǒng)的難度,縮短了開發(fā)周期。

2 船舶駕控臺儀表仿真系統(tǒng)開發(fā)

船舶駕控臺儀表仿真系統(tǒng)如果從底層代碼開始展開,不僅工作量巨大,而且后期進行修改和維護都十分復雜,而采用GL Studio軟件進行船舶駕控臺儀表仿真系統(tǒng)的開發(fā)可以有效地避免上述問題。

根據(jù)某型船駕控臺儀表仿真系統(tǒng)的需要,進行船舶駕控臺儀表開發(fā)。船舶駕控臺儀表仿真系統(tǒng)的具體開發(fā)過程如下:

1)利用圖形處理技術(shù)對真實儀表進行紋理處理;

2)根據(jù)真實儀表邏輯關(guān)系在GL Studio中進行儀表開發(fā)設(shè)計;

3)生成相關(guān)代碼并進行數(shù)據(jù)傳輸。

2.1 真實儀表紋理處理

利用圖形處理軟件與真實儀表相結(jié)合的方法,處理繪制儀表所需紋理。根據(jù)真實儀表的比例,利用圖形處理軟件進行扭轉(zhuǎn)、拉伸等操作并對其進行色彩處理,真實地還原駕控臺儀表。圖1為處理后的操舵單元儀表紋理圖。

2.2 基于GL Studio的儀表開發(fā)設(shè)計

按照某型船駕控臺儀表仿真系統(tǒng)的整體要求,將整個系統(tǒng)劃分為速度表、轉(zhuǎn)速表、舵角指示器、車鐘單元以及總控單元5個子系統(tǒng)。

2.2.1 駕控臺儀表邏輯關(guān)系分析

開關(guān)控制著儀表盤的啟閉狀態(tài),而儀表盤是駕控狀態(tài)的終端顯示系統(tǒng),由此可得出開關(guān)和儀表盤之間具有以下3種控制關(guān)系:一是直接控制,即某一個開關(guān)可直接控制某儀表盤的啟閉狀態(tài),開關(guān)的啟閉控制著儀表盤的啟閉。二是選擇性控制,即某儀表盤存在2個控制開關(guān),也就是任何一個開關(guān)的啟閉都可以控制儀表盤的啟閉。三是多種狀態(tài)共同控制,即某儀表盤的啟閉存在多個控制開關(guān),也就是必須要保證多個開關(guān)的相應狀態(tài)才能保證儀表盤的開啟或關(guān)閉。

為保證船舶駕控臺功能的實現(xiàn),根據(jù)船舶駕控臺的真實邏輯關(guān)系得出虛擬儀表設(shè)計中的邏輯關(guān)系,并在GL Studio仿真軟件中添加相關(guān)邏輯關(guān)系的代碼,直接控制關(guān)系的代碼如下:

_altitude3=value;//設(shè)定變量

if(_altitude3>=0)

rudder_10_1GlsOdometer->Value(_altitude3);

2.2.2 儀表盤的創(chuàng)建

根據(jù)真實儀表的紋理,利用圖形處理軟件將原有素材進行處理得出儀表盤創(chuàng)建的紋理素材,然后在GL Studio界面下創(chuàng)建儀表盤,定義指針等相關(guān)功能部件,并添加相關(guān)功能函數(shù),下面以速度表為例簡述儀表盤函數(shù)和變量的編輯過程。

首先是速度表函數(shù)添加。打開速度表,在主控制單元Code選項卡內(nèi)添加函數(shù),在頭文件中添加#include"glsutil.h"。這樣通過添加GL Studio自己的API函數(shù)庫,添加了常用的控制函數(shù),如旋轉(zhuǎn)、滑動等,否則在編譯時會出錯,其中部分代碼如下:

在“Class Properties”中添加“Altitude”函數(shù),函數(shù)如下:needle->DynamicRotate(-(speed_1*(240/8)),Z_AXIS);//needle為速度表幾何體的名稱,DynamicRotate為旋轉(zhuǎn)函數(shù),speed_1為設(shè)定的一個變量,設(shè)定needle的旋轉(zhuǎn)速度與speed_1的速度、速度表轉(zhuǎn)動的角度范圍(240度)以及速度表表盤分成的八個部分有關(guān),Z_AXIS表示指針將圍繞屏幕的Z軸旋轉(zhuǎn);

針對大部分學生,學習是枯燥的,而針對一小部分學生卻是知識的海洋和樂園。寓教于樂的方式就是讓更多的學生能感受到學習的樂趣,感受文化的魅力,讓自己從心出發(fā)愛上學習。

在“Calculate”添加代碼Altitude(RampFloat (time*.7,0.0f,40.0f)//;

以時間為變量,測試速度表指針,0.0 f和40.0 f分別為最小值和最大值;

點擊保存,并生成代碼。

雙擊速度表的.sln文件,單擊文件下“添加現(xiàn)有項”,在查找范圍內(nèi)輸入速度表路徑中source文件夾添加.h和.cpp文件,這樣頭文件和源文件就添加成功。開始執(zhí)行調(diào)試按鈕,速度表在vc.net中動態(tài)顯示,如圖2所示。有時調(diào)試時會出現(xiàn)一些錯誤,需按照提示修改代碼。

圖2 速度表在vc中調(diào)試

2.2.3 儀表集成與調(diào)試

在GL Studio操作界面將所有儀表和開關(guān)集成到一個面板中,并且將每個儀表組件定義為一個組,這樣在以后使用相關(guān)組件時可以直接調(diào)用,方便操作。

因為速度表在原來的組文件中已經(jīng)添加了動態(tài)函數(shù),而要在集成面板內(nèi)顯示還需要添加新的函數(shù),在“Class Properties”內(nèi)添加儀表盤的相關(guān)函數(shù),并利用return函數(shù)設(shè)定其返回值。通過函數(shù)的添加及變量的定義,可以實現(xiàn)儀表集成面板的制作并進行調(diào)試。調(diào)試之前須將所有速度表、轉(zhuǎn)速表、舵角表等的.h和.cpp文件添加到現(xiàn)有項里,才可執(zhí)行調(diào)試,調(diào)試成功以后加載生成.dll文件的動態(tài)鏈接庫。調(diào)試結(jié)果如圖3所示。

圖3 集成儀表

2.3 Vega Prime中動態(tài)調(diào)用

駕控臺的儀表系統(tǒng)不是一個獨立的系統(tǒng),需要與船舶運動數(shù)學模型相關(guān)聯(lián),如主機轉(zhuǎn)速、速度、舵角等參數(shù)的傳遞,虛擬儀表才可以動態(tài)顯示,所以下一步要創(chuàng)建它的接口。在集成面板內(nèi)創(chuàng)建儀表接口,加載生成的動態(tài)鏈接庫文件并添加接口函數(shù),在Vega Prime界面下不設(shè)置值,調(diào)節(jié)虛擬儀表將其返回的轉(zhuǎn)速值和舵角傳送給模型。圖4為在Vega Prime操作界面的效果圖。

圖4 Vega Prime界面

3 結(jié)語

由于傳統(tǒng)的儀表仿真系統(tǒng)存在著開發(fā)時間長、效率低、數(shù)據(jù)傳輸困難等問題,故采用GL Studio儀表系統(tǒng)開發(fā)軟件對某型船駕控臺儀表進行仿真,實現(xiàn)了真正由用戶自行定義、自行設(shè)計儀表系統(tǒng)的設(shè)想,達到了使儀表功能更加強大、靈活,容易同其他應用相連接的要求。將GL Studio虛擬儀表軟件與Vega Prime視景仿真軟件功能相結(jié)合,實現(xiàn)最直接、最逼真的人機交互方式,并且使軟件逼真地再現(xiàn)了儀表參數(shù)的顯示、修改、讀取等功能,具有畫面穩(wěn)定、逼真度高、操作流暢、人機界面友好等特點。因此,這種人機交互將在未來船舶駕控臺仿真中廣泛使用。

[1]黃曉雪,韓端鋒,袁利毫,等.基于GL Studio的船舶駕控臺仿真系統(tǒng)的開發(fā)[J].船舶,2013(4):73-77.

[2]謝勇,李治慶.GL Studio在飛機虛擬座艙實現(xiàn)中的應用[J].計算機時代,2007(3):43-45.

[3]張文,朱元昌,樊世友,等.GL Studio及其在雷達面板仿真中的應用[J].測控技術(shù),2002(12):50-52.

[4]樊世友,邸彥強,朱元昌.GL Studio軟件在視景仿真建模中的應用[J].計算機工程,2002(3):260-261.

[責任編輯:劉 月]

Ship Control Console Instrument Simulation Based on GL Studio

HUANG Xiaoxue
(Bohai Shipbuilding Vocational College,Xingcheng 125105,China)

Using virtual instrument technology in ship control console instrument for desktop level simulation,whose main advantage is to define and design instrument system by users themselves,can meet different users'requirements,make the instrument more powerful,more flexible,and easy to connect with network,peripheral device and other applications.It realizes the purpose of making up a realistic ship instrument,to simulate ship control console instrument using virtual instrument software GL Studio,create dynamic link library file,and debug in Vega Prime.

ship control console simulation;GL Studio;virtual instrument

U664.82

A

2095-5928(2014)06-36-04

2014-10-11

黃曉雪(1988-),女,黑龍江安達人,助教,碩士,研究方向:船舶模擬仿真系統(tǒng)研究。

猜你喜歡
儀表盤代碼儀表
◆ 儀表
儀表
儀表堂堂
Dashboard的10個實現(xiàn)原則
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
福特探險者車儀表盤上多個故障燈點亮
奔馳E260車行駛過程中儀表燈熄滅