船舶舵机构模拟训练器设计与实现∗
2017-11-28谢小平
沈 军 聂 伟 谢小平
(镇江船艇学院动力指挥系 镇江 212001)
船舶舵机构模拟训练器设计与实现∗
沈 军 聂 伟 谢小平
(镇江船艇学院动力指挥系 镇江 212001)
论文阐述了一种船舶舵机构模拟训练器的结构组成与设计原理,通过该模拟器可以针对一些特殊情况展开模拟训练。该模拟器基于SimuEngine仿真平台开发,建立了船舶舵机构运行仿真模型。仿真计算机通过PLC采集操控盘台上的按钮、开关等变量的值,并将这些变量的值传输到SimuEngine中进行仿真计算,计算的结果存储到OPC Server中并且利用这些结果的值来驱动EON Studio中的视景模型,达到模拟训练的目的。该模拟器在教学使用中已获得较好的效果。
舵机构;SimuEngine;EON;OPC
1 引言
船舶舵机构在船舶航行时起到控制航向、保证船舶安全运行的重要作用,掌握好船舶舵机构的使用、操作以及维护对于学员适应任职岗位具有较大的帮助。船舶舵机构的操作使用、结构展示、维护管理等方面的教学在狭小的舵机舱内难以开展实施,所以船舶舵机构模拟器的研制,为船舶舵的教学提供了全新的方法。
该训练模拟器采用虚拟现实仿真技术,使受训者既能够形象生动的了解船舶舵的结构、工作原理和拆装维修,并且可以通过操控盘台上的开关、按钮等控制EON Studio中的虚拟模型,进行船舶舵机构的模拟操作训练。在仿真平台SimuEngine中建立船舶舵机构运行的数学仿真模型,通过PLC采集开关、按钮等硬件变量的值,在组态软件KingView中建立OPC Server站点,PLC采集到的变量值存储到OPC Server中,SimuEngine同OPC Server建立连接,直接读取站点中变量的值并进行计算,计算的结果(如舵的角度、舵机工作电流等变量的值)也存储在OPCServer中。VC通过OPC控件读取OPC Server中所需要的变量的值,然后通过EON Studio自带的EonX控件将值传入到EON Studio中来驱动视景模型,达到模拟操作训练的效果。同时,在虚拟模型中还可以通过拆装来展示舵系统的结构组成及工作原理。该系统的结构框架如图1所示,该系统主要由三大部分组成:第一部分为数据采集模块,主要包括操控盘台上的I∕O设备(灯、开关、指示仪表灯硬件)、PLC以及仿真计算机;第二部分为SimuEngine建模仿真模块;第三部分为人机交互系统,包括声音模拟系统、基于OPC数据采集与存储系统以及EON视景驱动模块,本文着重介绍其中的EON视景驱动模块。
图1 模拟器系统结构框架图
2 数据采集模块
该模拟器采用盘台式结构,在操控盘台上布置有开关、按钮、工作电表等硬件,计算机网络系统采用TCP∕IP协议,将仿真计算机、操控盘台和PLC接口连接在同一级以太网内,PLC的I∕O接口模块连接至操控盘台I∕O设备。仿真计算机同时运行kingview6.5和SimuEngine仿真支撑平台。kingview6.5可设置I∕O变量,并将其映射到PLC相应内存地址以实现与控制台开关、仪表、指示灯等硬件设备的通信,同时通过OPC实现与SimuEngine仿真支撑平台的数据交互。由于PLC从硬件到软件,从设计到制造都考虑到了抗干扰的问题,采用各种措施切断或阻塞了干扰源,大大提高了整个训练系统的抗干扰能力,同时也增强了系统的可靠性和可扩展性。在确定每个PLC将要负责的变量类型和数量后,根据需要来组装PLC。PLC的I∕O单元是连接CPU与现场I∕O设备的桥梁。I∕O模块包括:开关量输入、开关量输出、模拟量输入、模拟量输出。每个I∕O模块在机架上的位置确定好之后其单元号也随之确定。PLC会根据单元号为其在工作数据存储器中的核心I∕O区分配相应的地址用于保存数据[1~2]。
3 SimuEngine建模仿真模块
SimuEngine是为大型科学计算、复杂系统动态特性建模研究、过程仿真培训、系统优化设计与调试、故障诊断与专家系统等,提供通用的、一体化的、全过程支撑的,基于微机环境的开发与运行支撑平台。软件采用了动态内存机器码生成技术、分布式实时数据库技术和面向对象的图形化建模方法,在仿真领域处于国内领先水平。
该模拟器仿真的舵机具有两种控制方式,机旁控制和驾驶台控制。通过操作控制机构来控制电机的运转,再由电机驱动液压油泵工作,采用液压油泵来驱动舵的控制,舵机液压系统的压力和舵角、船速、舵叶型式、舵叶吃水、转舵机构的型式、正倒航以及转舵机构的排量等因素有关。该模拟器应用于教学训练,能够真实的模拟实际舵机构的操作、控制与运动,所以采用SimuEngine仿真平台,利用Fortran语言进行舵机构运动数学模型的计算[3~4]。此外,SimuEngine仿真支撑平台具有故障设置和管理功能,通过添加故障变量,实现典型故障模拟,可开展故障分析及处置训练[3,6]。模块间的数据流动通过与公用变量数据库的交互实现。模块化建模方法可降低建模的复杂性,缩短建模时间,增加模型的通用性[7~8]。
通过将数学模型适当的简化和设置假设条件,用数学形式表示船舶舵操作装置的控制、特性和状态参数之间的关系,构建符合其运行机理和控制逻辑的数学模型[9]。为了方便数学模型的建立,将数学模型分为以下4个子模块:能量消耗计算模块、舵及转舵机构运动仿真模块、操作控制模块、液压系统压力仿真及监控模块(见图1),其中,能量消耗计算模块用于模拟舵系统工作时电能的消耗,液压系统压力仿真能够较为真实的模拟液压系统压力与各个影响因素之间的关系。
4 EON虚拟模型驱动模块
船舶舵机构是用于维持或改变航向和保障船舶操纵的机动性的重要装置,主要由舵杆、舵叶舵、转叶式转舵机构、操纵系统、液压系统组成,转舵机构包括转子和定子,舵杆通过键与转子连接固定,液压系统驱动转子转动,带动舵叶偏转实现转舵。建立的数学模型能够真实的模拟舵机构的操作、控制及运动,为了让舵机构的运动在显示器上更逼真的呈现出来,需要建立船舶舵机构的虚拟视景模型。
使用3DSMAX建模软件,建立舵系统三维模型,并对其进行优化。在保证模型视觉效果的前提下尽量减少模型的面片数,使模型的网格分布更加合理。进行优化处理后能够很好的提高渲染速度以及在EON Studio中的处理速度。然后在3DSMAX中完成材质和贴图的设置,最后将模型生成3ds文件,导入到EON Studio中进行交互设置[10~11]。
将模型导入到EON Studio中之后,要实现对虚拟模型的驱动,步骤如下:
1)从OPC Server中获取所需变量的值。
(1)在仿真计算机上安装OPC控件。
文中系统安装的是支持OPC的ActiveX工控仪表控件Iocomp,安装完成后要对控件进行注册。
(2)设置iEditX控件。
加入iEditX控件后,对iEditX控件的属性进行设置,使其与要获取的变量相对应。以舵角为例,要驱动舵角指示器指针的运转,就必须先获取舵角的数值。打开iEditX控件属性栏,对其进行如下设置,如图2所示:选择其中的OPC选项,选择添加value选项,然后选择对应的OPC Server中的字段Item,这样就可以获取到舵角的值。
图2 OPC控件属性设置图
2)利用获取的变量的值驱动虚拟模型的运动。
(1)注册EonX控件。要驱动EON Studio中的虚拟模型,必须调用EON Studio中自带的ActiveX控件EonX,使用前先调用regsvr32命令对控件进行注册[12~13]。
(2)添加与该控件相关联的变量m_EonX1。
(3)调用如下代码将舵机的视景文件载入到程序中(其中DuoJi.eoz为EON Studio编辑产生的舵机视景仿真文件)。
m_EonX1.SetSimulationFile(quot;DuoJi.eozquot;);
m_EonX1.Start();
(4)在Eon Studio中设置相对应的变量输入输出节点。在舵脚指针节点下放置一个Place节点来设置指针的运动,放入如图3所示的节点,并进行连线设置。
(5)在VC程序的定时器中添加如下代码来驱动指针的转动:
float JiaoDu=atof(m_editx10.GetValue());
COleVariant varH;
varH.vt=VT_R4;∕确定 var的类型
varH.fltVal=JiaoDu*3.28∕1000.0;∕∕
m_EonX1.SendEvent(quot;DuoJHquot;,amp;varH);∕将 舵 角值转 换 成转
动角度付给H轴
m_EonX1.SendEvent(quot;DuoJPquot;,amp;varF);∕P轴方向不转动
m_EonX1.SendEvent(quot;DuoJRquot;,amp;varF);∕R轴方向不转动
m_EonX1.SendEvent(quot;DuoStartquot;,amp;varM);∕触发指针转动
这样就可以通过舵角指针的转动来实时显示舵转动的角度[14]。
图3 Eon Studio中舵角指针运动节点连线图
要实现对指示灯的模拟显示,跟上述舵角指针的生成方式相同,区别只是在Eon Studio中节点的设置方式以及VC中的代码有所不同。在指示灯对应的节点下添加一个Colors节点和一个material节点,其节点之间的关系如图4所示[15],此处不再赘述。舵机构模拟器在EON Studio中的视景显示如图5所示。
图4 Eon Studio指示灯节点连线图
图5 舵机视景显示图
5 结语
通过对该模拟器研制,尝试了一种新的方法,即将两种仿真平台结合起来使用,充分发挥了各自的优势。在SimuEngine中完成舵机构的数学模型的建立,在Eon Studio完成舵机视景的仿真,通过OPC接口实现两个仿真平台的数据交换,在SimuEngine中计算完成的结果可以传输到Eon Studio中来实现对虚拟模型的驱动,再结合PLC采集的硬件变量,达到既能实现对舵机的操作进行模拟训练、又能通过三维模型更直观地了解舵机的结构组成和工作原理的教学目的,对于学员全面掌握舵机构的使用和维护具有较大的意义。
[1]邓洁清,袁宇波.基于PLC模块的变电站自动化测试仿真系统的实现及应用[J].电力系统保护与控制,2009,37(24):157-160.
[2]詹国兵,詹礼琛.基于S7-200PLC全自动RO纯水机的优化设计及应用[J].工业控制计算机,2015,28(4):141-143.
[3]张锦,聂伟等.基于SimuEngine的船艇主机系统仿真研究[J].军事交通学院学报,2015(7):45-48.
[4]张刚,曹福毅等.垃圾焚烧发电机组仿真系统的设计与实现[J].沈阳工程学院学报(自然科学版):2013,9(2):97-100.
[5]刘欢,丘中,侯欢欢.基于Simuworks软件工业锅炉仿真[J].河南科技,2014,19:133-135.
[6]杨占录,张国庆,徐杭田.舰船动力系统训练模拟器的研究与实现[J].微计算机信息,2009,25(22):162-164.
[7]张绍麒,聂伟等.一种船舶消防报警模拟器的设计与实现[J].南通航运职业技术学院学报,2016,15(22):57-60.
[8]王希波,班孝东等.大小涡轮三级相继增压系统匹配规律研究[J].山东交通学院学报,2010,18(3):1-6.
[9]薛定宇,陈阳泉.基于Matlab∕Simulink的系统仿真技术与应用[M].北京:清华大学出版社,2002:87-96.
[10]刘诚,付宜利.基于EON的交互式虚拟装配仿真系统的设计与实现[J].东北林业大学学报,2009,37(8):109-111.
[11]于辉,赵经成等.EON入门与高级应用技巧[M].北京:国防工业出版社,2008:46-52.
[12]沈军,陈锋等.某型船用空压机虚拟拆装系统关键技术研究[J].船舶工程,2015增刊1:217-219.
[13]李金华,姚芳萍,张德强.基于Eon Studio的模具拆装虚拟实验系统研究与开发[J].制造业自动化,2013,35(8):3-5.
[14]朱波,杨燕华等.基于EON的核设施VR特征技建模技术研究[J].系统仿真学报,2009,21(18):47-52.
[15]文领,阎兵,张宇等.基于Eon Studio的机械臂运动仿真[J].煤矿机械,2013,34(3):77-79.
Design and Realization of the Marine Rudder System Simulator
SHEN Jun NIE WeiXIE Xiaoping
(Power Command Department,Zhenjiang Watercraft College,Zhenjiang 212001)
The structure and design principle of a marine rudder system simulator has been described in this paper,training for special cases could be realized by this simulator.The simulation model of the marine rudder system has been established based on the simulation platform SimuEngine.Simulation computer collected the values of switch variables and button variables by the PLC,the collected values was transferred to the SimuEngine for simulation calculation.The result of simulation calculation was stored in the OPC Server and drived the viusl model in the EON Studio,the simulation training would be realised by this way.This simulator has
a good results in the teaching.
rudder mechanism,simuengine,EON,OPC
TP391.9;U664
10.3969∕j.issn.1672-9730.2017.10.025
Class Number TP391.9;U664
2017年5月8日,
2017年6月11日
沈军,男,硕士,研究方向:船艇动力工程和虚拟仿真。聂伟,男,博士,研究方向:船艇柴油机维修和虚拟仿真。谢小平,男,硕士,研究方向:船艇柴油机维修、故障诊断。