APP下载

基于GL Studio的船舶驾控台仪表仿真

2014-05-05黄晓雪

船舶职业教育 2014年6期
关键词:仪表盘代码仪表

黄晓雪

(渤海船舶职业学院,辽宁兴城125105)

基于GL Studio的船舶驾控台仪表仿真

黄晓雪

(渤海船舶职业学院,辽宁兴城125105)

采用虚拟仪表技术对船舶操纵模拟器驾控台仪表进行桌面级仿真,其主要优点是可以由用户自行定义、设计仪表系统,以满足不同用户的要求,使仪表的功能更加强大、灵活,且易于同网络、外设及其他应用相连接。利用虚拟仪表软件GL Studio模拟船舶驾控台仪表,制作生成动态连接库文件,并在Vega Prime中调用,实现真实还原船上仪表的目的。

船舶驾控台模拟;GL Studio;虚拟仪表

0 引言

随着科学技术的发展,在现代造船模式下,计算机技术渗透到造船过程中的方方面面。在船舶实验室、船厂以及现场作业中,为了完成一些测试项目,需要许多仪器。但是众多的仪器不仅造价十分高昂,而且体积巨大,最重要的是数据传输十分麻烦。所以虚拟仪表的存在在很大程度上帮助我们解决了上述问题。它不仅具有强大的显示和处理数据的能力,而且在数据传输上具有很大的优势。更重要的是借助于计算机强大的图形处理能力,它可以真实地还原仪表上的按钮、旋钮、指示灯等功能。本文拟采用虚拟仪表软件GL Studio,模拟船舶驾控台仪表,包括主机转速表、车钟单元、总控单元等操作面板;制作生成动态连接库文件,并在Vega Prime中调用,实现真实还原船上仪表的目的。

1 GL Studio仪表开发系统

GL Studio仪表开发系统为用户提供了一个所见即所得的绘图工具以及一个代码生成器,用户可以根据真实的仪表取材通过绘图工具绘制仪表并在代码生成器中生成代码,从而使虚拟仪表可以轻松嵌入到其他应用程序中去。

1.1 GL Studio图形编辑器

图形编辑器允许用户直接根据真实仪表绘制图形,为用户提供了包括按钮、指针等图元,用户可将真实仪表的纹理添加到相对应的图元上,通过修改尺寸、旋转等操作进行模拟真实仪表的大小、方向来得到所需图形。通过这种方式用户可以直接建立所要求的仪表系统。

不仅如此,GL Studio采用面向对象的编程方式,即已经创建好的虚拟仪表可以重复使用,只需简单地创建一个模板对象,便可以对其进行重复性的调用。正因为具有此特点,GL Studio与其他软件相比节省了开发时间。

1.2 GL Studio代码生成器

通过GL Studio图形编译器生成的所有仪表系统都可以通过其代码生成器得到源代码。这些具有相关功能的源代码可以被定义为固定的C++类,代码可由用户进行修改操作,并可以与其他应用系统进行连接,在很大程度上解决了以往仪表操作系统数据难以传输的问题。

GL Studio作为可进行实时交互的开发工具,可以随时为客户提供设计、修改或模拟仿真操作,使用户完全置身于GL Studio为其带来的真实建模方案中。通过GL Studio建立的模型方案可以创建为不同的文件,或作为单独的执行文件,也可生成ActiveX插件或者dll格式的动态链接库。用户在使用过程中可根据自身需要将GL Studio文件生成的代码植入到C++语言中,实现最终的仿真设计方案。

综上,GL Studio仪表仿真系统能够根据用户需求,设定不同的解决方案,并可按用户需求随时进行相应地修改,具有界面稳定、逼真,人机界面友好的特点,最大程度地降低了仪表仿真系统的难度,缩短了开发周期。

2 船舶驾控台仪表仿真系统开发

船舶驾控台仪表仿真系统如果从底层代码开始展开,不仅工作量巨大,而且后期进行修改和维护都十分复杂,而采用GL Studio软件进行船舶驾控台仪表仿真系统的开发可以有效地避免上述问题。

根据某型船驾控台仪表仿真系统的需要,进行船舶驾控台仪表开发。船舶驾控台仪表仿真系统的具体开发过程如下:

1)利用图形处理技术对真实仪表进行纹理处理;

2)根据真实仪表逻辑关系在GL Studio中进行仪表开发设计;

3)生成相关代码并进行数据传输。

2.1 真实仪表纹理处理

利用图形处理软件与真实仪表相结合的方法,处理绘制仪表所需纹理。根据真实仪表的比例,利用图形处理软件进行扭转、拉伸等操作并对其进行色彩处理,真实地还原驾控台仪表。图1为处理后的操舵单元仪表纹理图。

2.2 基于GL Studio的仪表开发设计

按照某型船驾控台仪表仿真系统的整体要求,将整个系统划分为速度表、转速表、舵角指示器、车钟单元以及总控单元5个子系统。

2.2.1 驾控台仪表逻辑关系分析

开关控制着仪表盘的启闭状态,而仪表盘是驾控状态的终端显示系统,由此可得出开关和仪表盘之间具有以下3种控制关系:一是直接控制,即某一个开关可直接控制某仪表盘的启闭状态,开关的启闭控制着仪表盘的启闭。二是选择性控制,即某仪表盘存在2个控制开关,也就是任何一个开关的启闭都可以控制仪表盘的启闭。三是多种状态共同控制,即某仪表盘的启闭存在多个控制开关,也就是必须要保证多个开关的相应状态才能保证仪表盘的开启或关闭。

为保证船舶驾控台功能的实现,根据船舶驾控台的真实逻辑关系得出虚拟仪表设计中的逻辑关系,并在GL Studio仿真软件中添加相关逻辑关系的代码,直接控制关系的代码如下:

_altitude3=value;//设定变量

if(_altitude3>=0)

rudder_10_1GlsOdometer->Value(_altitude3);

2.2.2 仪表盘的创建

根据真实仪表的纹理,利用图形处理软件将原有素材进行处理得出仪表盘创建的纹理素材,然后在GL Studio界面下创建仪表盘,定义指针等相关功能部件,并添加相关功能函数,下面以速度表为例简述仪表盘函数和变量的编辑过程。

首先是速度表函数添加。打开速度表,在主控制单元Code选项卡内添加函数,在头文件中添加#include"glsutil.h"。这样通过添加GL Studio自己的API函数库,添加了常用的控制函数,如旋转、滑动等,否则在编译时会出错,其中部分代码如下:

在“Class Properties”中添加“Altitude”函数,函数如下:needle->DynamicRotate(-(speed_1*(240/8)),Z_AXIS);//needle为速度表几何体的名称,DynamicRotate为旋转函数,speed_1为设定的一个变量,设定needle的旋转速度与speed_1的速度、速度表转动的角度范围(240度)以及速度表表盘分成的八个部分有关,Z_AXIS表示指针将围绕屏幕的Z轴旋转;

针对大部分学生,学习是枯燥的,而针对一小部分学生却是知识的海洋和乐园。寓教于乐的方式就是让更多的学生能感受到学习的乐趣,感受文化的魅力,让自己从心出发爱上学习。

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

以时间为变量,测试速度表指针,0.0 f和40.0 f分别为最小值和最大值;

点击保存,并生成代码。

双击速度表的.sln文件,单击文件下“添加现有项”,在查找范围内输入速度表路径中source文件夹添加.h和.cpp文件,这样头文件和源文件就添加成功。开始执行调试按钮,速度表在vc.net中动态显示,如图2所示。有时调试时会出现一些错误,需按照提示修改代码。

图2 速度表在vc中调试

2.2.3 仪表集成与调试

在GL Studio操作界面将所有仪表和开关集成到一个面板中,并且将每个仪表组件定义为一个组,这样在以后使用相关组件时可以直接调用,方便操作。

因为速度表在原来的组文件中已经添加了动态函数,而要在集成面板内显示还需要添加新的函数,在“Class Properties”内添加仪表盘的相关函数,并利用return函数设定其返回值。通过函数的添加及变量的定义,可以实现仪表集成面板的制作并进行调试。调试之前须将所有速度表、转速表、舵角表等的.h和.cpp文件添加到现有项里,才可执行调试,调试成功以后加载生成.dll文件的动态链接库。调试结果如图3所示。

图3 集成仪表

2.3 Vega Prime中动态调用

驾控台的仪表系统不是一个独立的系统,需要与船舶运动数学模型相关联,如主机转速、速度、舵角等参数的传递,虚拟仪表才可以动态显示,所以下一步要创建它的接口。在集成面板内创建仪表接口,加载生成的动态链接库文件并添加接口函数,在Vega Prime界面下不设置值,调节虚拟仪表将其返回的转速值和舵角传送给模型。图4为在Vega Prime操作界面的效果图。

图4 Vega Prime界面

3 结语

由于传统的仪表仿真系统存在着开发时间长、效率低、数据传输困难等问题,故采用GL Studio仪表系统开发软件对某型船驾控台仪表进行仿真,实现了真正由用户自行定义、自行设计仪表系统的设想,达到了使仪表功能更加强大、灵活,容易同其他应用相连接的要求。将GL Studio虚拟仪表软件与Vega Prime视景仿真软件功能相结合,实现最直接、最逼真的人机交互方式,并且使软件逼真地再现了仪表参数的显示、修改、读取等功能,具有画面稳定、逼真度高、操作流畅、人机界面友好等特点。因此,这种人机交互将在未来船舶驾控台仿真中广泛使用。

[1]黄晓雪,韩端锋,袁利毫,等.基于GL Studio的船舶驾控台仿真系统的开发[J].船舶,2013(4):73-77.

[2]谢勇,李治庆.GL Studio在飞机虚拟座舱实现中的应用[J].计算机时代,2007(3):43-45.

[3]张文,朱元昌,樊世友,等.GL Studio及其在雷达面板仿真中的应用[J].测控技术,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-),女,黑龙江安达人,助教,硕士,研究方向:船舶模拟仿真系统研究。

猜你喜欢

仪表盘代码仪表
◆ 仪表
仪表
仪表堂堂
Dashboard的10个实现原则
创世代码
创世代码
创世代码
创世代码
福特探险者车仪表盘上多个故障灯点亮
奔驰E260车行驶过程中仪表灯熄灭