陈 宁,王之民,包国治,李雯文,张争鸣
(江苏科技大学能源与动力工程学院,江苏镇江212003)
驾驶模拟器是仿真技术应用于船舶领域的一项重要成果,可应用于船舶驾驶训练[1],人们利用虚拟现实技术营造虚拟的驾驶训练环境,通过模拟器的操作部件与虚拟的环境进行交互,从而进行船舶驾驶操作训练.文中介绍了一种模拟船舶驾驶器主机起动逻辑回路设计.在LabVIEW环境下,搭建了基于LabVIEW和PLC的船舶驾驶模拟器主机起动逻辑回路控制平台,一方面利用LabVIEW和PLC的数据通信,实现了主机起动逻辑回路的控制;另一方面搭建 LabVIEW SQL Toolkit与 SQL Server的主机报警监控系统,利用LabVIEW SQL Toolkit建立LabVIEW和SQL Server数据库管理系统之间的连接,实现LabVIEW与SQL Server之间的数据传输,并可对监控报警界面数据实时更新[2].系统具有良好的软件交互界面,编程简单,控制效果良好,对培训船员具有一定实用意义.
船舶驾驶模拟器现如今已经广泛应用于航海教育和培训当中,《STCW公约马尼拉修正案》规定,船员在取得适任证书之前,必须经过驾驶模拟器培训,其中就包括检查和操作驾驶台设备以及设备和装置的主要部件一旦出现故障时应采取的行动.因此文中研究了船舶驾驶模拟器主机起动逻辑和船舶监控报警系统.
船舶驾驶模拟器操纵及监控报警系统是基于江苏科技大学轮机工程实验室船舶驾驶模拟器仿真平台开发的.该实验室的船舶驾驶模拟器是在Visual C++,Matlab,SQL Server 2000,MapX,力控组态软件的平台上,针对实船驾驶操纵系统所具有的功能进行开发出的,是由多个系统分布式所构成的三维立体视景平台.其通过预留的外部接口,将Matlab中的Simulink模块中实船运动模型计算结果从数据库中读取出来并赋值给船舶运动矩阵[3].
操纵及监控报警系统针对船舶主机起动逻辑条件,运用LabVIEW与PLC模拟出船舶起动运行过程中的基本起动条件,并在操纵平台上显示,相应的车钟信号和油门信号通过PLC模拟量扩展模块,传递到SQL数据库,再从SQL数据库传递给Simulink模块输入端[4],以实时仿真船舶运动,并将运动参数显示在船舶监控报警系统中.驾驶台操纵系统包括车钟、驾驶台-集控室通讯按钮、显示报警指示灯、应急停车按钮和应急车钟等.
系统开发主要应用了LabVIEW与PLC之间的数据通信——OPC技术,通过 LabVIEW SQL Toolkit实现LabVIEW与SQL Server数据库之间的互访.硬件部分包括数据采集与控制的硬设备、各平台之间以及平台与硬件设备之间的数据通信内容.
船舶驾驶模拟系统中软硬件系统之间所采用的数据通信方式如图1.
图1 系统数据通信方式Fig.1 System data communication
起动逻辑回路的基本功能是根据操纵指令来自动检查主机是否满足起动的逻辑条件,是主机遥控系统中最为基本的逻辑控制回路.当所有起动条件都得到满足时,能自动控制输出起动信号来开启主起动阀,对主机进行起动.当主机达到发火转速时,自动撤销起动信号,关闭主起动阀结束起动,确保主机在供油状态下运行.
起动准备逻辑条件大多数是在备车的时候完成的.为方便起见,用字母和符号表示主要的准备条件,分别说明有如下:
盘车机脱开信号(TG)、主起动阀位置信号(MV)、起动空气压力信号(PA)、操作空气压力信号(PO)、滑油压力信号(PL)、遥控系统电源信号(ES)、操纵部位转换信号(PS)、模拟实验开关位置信号(TS)、故障停车复位信号(ST)、三次起动失败信号(F3)、起动限时信号(TM)、起动转速信号(NS)[5].
不同机型起动准备逻辑条件是不完全相同的,但是,起动准备逻辑条件必须全部满足,因此它们之间是“与”的关系,其逻辑表达式为:
YSC=1,表示主机满足起动准备逻辑条件;YSC=0,表示主机不满足起动准备条件,不能对其进行起动.
起动鉴别逻辑是指判定车令与凸轮轴位置是否一致.当有操车指令时,只有车令与凸轮轴的位置一致,才允许发出起动信号.用YSL表示起动的鉴别逻辑,其逻辑表达式为:
式中:IH为有无正车车令,IS为有无倒车车令,CH为凸轮轴是否在正车位置,CS为凸轮轴是否在倒车位置.
YSL=1,表示所给车令与凸轮轴位置一致,满足起动鉴别逻辑;YSL=0,说明所给车令与凸轮轴位置不一致,不能满足起动鉴别逻辑,不允许发出起动信号.
起动逻辑回路发出起动信号,必须满足起动准备逻辑条件和起动鉴别逻辑条件,其逻辑表达式为:
YSO=1,表示满足的起动准备逻辑条件,主起动阀正在开启对主机进行起动.
主机起动逻辑判断控制界面如图2.当驾驶模拟器起动后,系统默认上述条件全部满足,驾驶台上正常的指示灯亮.如果指导教师想要考察培训学员对主机起动条件掌握情况,可以在控制机上设置相应的故障,这时,未满足起动条件的指示灯会亮,并发出蜂鸣报警,培训人员需根据指示灯上的信号,回答出指导教师设置的故障并采取措施排除故障.
培训人员要排除故障,只需在控制台上找到对应满足起动条件的指示灯按钮并按下,这时,满足起动的指示灯亮,故障指示灯灭,蜂鸣报警消除.
图2 主机逻辑起动判断控制界面Fig.2 Control interface of main engine logic start judgment
系统中,正常与故障指示灯是利用两个不具自锁功能的常开按钮控制的,为了让其具有互锁和保持功能,通过在PLC中添加相应的程序来实现[6],其梯形图如图3.
当指导教师设置故障之后,系统会自动将指导老师设置的故障内容、故障设置时间记录下来[7],故障记录程序如图4.
图3 起动逻辑梯形图Fig.3 Ladder of start logic
图4 故障记录程序Fig.4 Procure of fault logger
LabVIEW SQL Toolkit是用于数据库访问的附加工具包,其集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能.其主要功能有:①支持ADO所支持的所有数据库引擎;②具有高度的可移植性;在任何情况下,通过改变DB Tools Open Connection VI的输入参数Connection String就可以更换数据库;③支持所有与ODBC或OLE DB兼容的数据库驱动程序;④ 与SQL完全兼容[8].
由于database不能够直接访问数据库,故还需要配置一个*.UDL的数据库连接文件.直接打开该数据库文件,在属性里面选择建立的数据源名称即可.以后再访问数据的时候路径就用此*.UDL.
S7-200系列PLC的CPU模块带有通信端口,主要支持2种通信模式:PPI模式和自由端口模式[9].PPI通信协议是西门子公司自主开发的通信协议,其性质是一种主从协议;主站器件发送要求到从站器件,从站器件响应,主站靠一个PPI协议管理的共享连接来与从站通信.而自由口模式允许应用程序来控制S7-200的通信端口,用户可以在自由模式下,使用用户定义的通信协议来实现与多种类型智能设备的通信.
在PPI模式下,S7-200内部存储器的数据,可以通过简单的数据绑定来实现PLC与LabVIEW的通信,该方法无需编写任何PLC程序且LabVIEW程序也十分简单,硬件上需要USB/PPI或RS232/PPI电缆,软件上只需安装西门子公司针对S7-200系列PLC的OPC应用开发的PC Access软件,并在其项目窗口中创建指向PLC内存地址的条目,然后设置相应的LabVIEW控件的数据绑定位置即可[10].
船船在运行过程中,工况复杂,监测所涉及的范围非常广,单靠人工对船舶的各个位置进行监控,工作量不但庞大烦杂,而且可能由于人为疏忽造成遗漏,导致严重的后果.因此,近年来,通过计算机信号采集技术与传感器技术结合开发的监控报警系统,在船舶监控领域得到了非常广泛地应用.船舶驾驶模拟器是一个船员训练的平台,是针对真实船舶的具体功能而进行设计的,因此,船舶的监控报警系统在船舶驾驶模拟器上是必不可少的.
以13 000 DWT散货船为原型.利用Simulink搭建的船舶运动仿真系统是平台中船舶运动的核心,船舶的实时运行信息利用Matlab图形建模和仿真环境Simulink在外部模式下计算得到.在系统运行过程中,Simulink相当于运算服务器,它利用Real Time Windows Target输入/出模块中的标准网卡设备与外界进行通信,实时接收数据库服务器中的控制信号,传入Simulink模型,更改Simulink参数,同时,再利用标准网卡设备将计算出的数据传出,存于数据库服务器[11].为此,基于LabVIEW和SQL Servers,建立了船舶驾驶模拟器机舱监控系统,并开发了一套LabVIEW环境下的检测软件.
文中搭建的船舶监控报警系统运用LabVIEW的database connectivity toolkit(DCT)工具包读取Microsoft SQL数据库中数据参量[12].首先建立UDL链接,UDL是文本链接方式,建立链接后请测试是否成功.打开SQL server中相应数据库表采用DB Tools Open Connection.vi这个NI官方设计的子VI函数,然后利用SQL语言,选择想要显示的数据,采用DB tools Execute Query.vi选择所需数据后通过DB Tools Fetch Recordset Data.vi取出想要显示的数据,从数据库读出的数据是变量,需要通过database variant to data这个函数将变量转换成数据并显示出来,最后需要释放该操作,同时关闭链接,达到节省上位机内存的目的[12].利用DCT模块显示 SQL Server中数据的程序框图如图5.
图5 数据库连接程序框图Fig.5 Procure of database connection
主机系统是船舶的心脏,必须保证主机在航行期间可靠、稳定运行.在此期间,监控系统要求时刻检测主机系统的转速、涡轮机扭矩、冷却水温度、中冷器进出口温度、燃油进出口温度、空气流量、螺旋桨转速、滑油进出口温度、压气机转速、操舵指示以及主机排气温度等.该监控报警系统实现了多样化的显示模式,可以实现参数的查询、报警上下限值的修改、更改报警延时时间、设置报警阻塞、报警手动查询及打印、自动打印设置、修改报警模式等.
此监控系统通过LabVIEW SQL Toolkit实时读取Simulink模块计算后存储到SQL数据库的运行参数,并连续将这些参数送入显示单元,在显示屏上显示各个检测点的当前值;一旦有检测发生越限,报警信号将被送入延伸报警控制单元、报警记录显示单元、打印记录单元、以及警报器控制单元.如果有需要,打印记录单元可以即时打印发生报警的各参数值.
监控系统运行效果如图6,图中可以看出,程序在运行后其参数值均为设定或默认的初始值.
图6 监控系统运行效果Fig.6 Operation rendering of monitoring system
文中控制系统充分利用了LabVIEW软件具有众多通信模块,可与其他电子设备直接通信的优点和PLC控制的稳定性,简洁、直观地实现了驾驶模拟器主机起动逻辑的模拟和船舶监控报警系统的开发,给出船舶柴油机在起动操纵时参数的物力变化仪表显示量,以及操纵过程中视景变化的效果,对船舶驾驶训练具有实际意义.
References)
[1] DNV.Standard for certification of maritime simulator systems[S].Norway,2007.
[2] 王业,王聪,许加庆.基于LabVIEW与SQL Server的心电数据库设计[J].计算技术与自动化,2013,32(2):128-132.Wang Ye,Wang Cong,Xu Jiaqing.Design of the ECG database based on LabVIEW and SQL Server[J].Computing Technology and Automation,2013,32(2):128 -132.(in Chinese)
[3] 陈宁,聂垒鑫,刘炜,等.基于OSG的海洋漫游场景的开发[J].江苏科技大学学报:自然科学版,2013,27(4):386-390.Chen Ning,Nie Leixin,Liu Wei,et al.Development of the ocean scene ramble system based on OSG[J].Journal of Jiangsu University of Science and Technology:Natural Science Edition,2013,27(4):386 - 390.(in Chinese)
[4] 佘建国,施维振,陈宁.数据库技术在船舶动力装置系统仿真中的应用[J].江苏科技大学学报:自然科学版,2010,24(4):362-366.She Jianguo,Shi Weizhen,Chen Ning.Database technology in simulation of marine power plant system[J].Journal of Jiangsu University of Science and Technology:Natural Science Edition,2010,24(4):362 - 366.(in Chinese)
[5] 王春芳,叶伟强.轮机自动化[M].辽宁大连:大连海事大学出版社,2011.
[6] 石灵丹,华斌,朱歆州,等.基于OPC技术的PC与西门子PLC的实时通讯[J].船电技术,2011,31(1):9-12.Shi Lingdan,Hua Bin,Zhu Xinzhou,et al.Real-time communication between PC and siemens PLC based on OPC [J].Marine Electric & Electronic Technology.2011,31(1):9 -12.(in Chinese)
[7] 美国National Instrument公司.LABVIEW帮助文件[Z].2009.
[8] 雷琴,周兴武.LabVIEW中远程访问SQL Server数据库[J].现代科学仪器,2007(2):46-48.Lei Qin,Zhou Xingwu.Access to remote SQL database in LabVIEW[J].Modern Scientific Instruments,2007(2):46 -48.(in Chinese)
[9] 陈仲凯,吴萌陵,左建勇.基于S7-200的PLC数据通信研究[J].工业仪表与自动化装置,2011(4):78-89.Chen Zhongkai,Wu Mengling,Zuo Jianyong.The study of data communication based on S7 -200 PLC[J].Industrial Instrumentation & Automation,2011(4):78-89.(in Chinese)
[10] 陈志凯,徐善林.基于PLC的船舶主机逻辑程序控制系统的研究[J].船电技术,2010,30(8):45-48.Chen Zhikai,Xu Shanlin.Study on logic program control system based on programmable logic controller in marine[J].Marine Electric & Electronic Technology,2010,30(8):45 -48.(in Chinese)
[11] 李荣川,基于视景的船舶驾驶模拟器设计开发[D].江苏镇江:江苏科技大学,2012:12-26.
[12] 朱飞,洪荣晶,陈捷,等.基于LabVIEW的回转支承测控系统数据库的访问[J].轴承,2010(10):51-55.Zhu Fei,Hong Rongjing,Chen Jie,et al.Access to database based on LabVIEW in slewing bearing testing and control system[J].Bearing,2010(10):51 - 55.(in Chinese)