杜一村,杨晨,李玉峰
郑州机电工程研究所,河南郑州450015
为了保证舰船在发生战斗破损或火灾等紧急情况后仍能保持其生命力,需要损管系统对损害进行有效施救,更需要舰员在技术与心理上做好充分准备[1]。因此,损害管制行动的日常训练是一个极为重要的问题。由于抗沉与灭火训练的特殊性,一般无法进行实操,所以便需要采用损管训练系统对舰员进行训练与考核[2]。
在舰船训练系统的研究上,美国处于世界领先水平。他们很早就提出了嵌入式模拟训练的概念,即将训练设备嵌入到实装内,使装备具有训练和作战的双重功能。美国已研制出成熟的海军舰艇训练激励系统(On-Board Training System,OBTS),它是一个综合性的嵌入式水面舰艇模拟训练系统,能生成协调、综合、虚拟的战场环境,合成与海区可能发生的情况非常相似的复杂作战想定,并通过舰艇的实装设备呈现给作战分队,为他们提供如同海上航行训练一样的训练机会[3]。
我国对全舰模拟训练系统的研究尚处于起步阶段,各分区的训练系统研究也还不成熟。其中,损管训练系统的研究大都集中在技术理论以及模拟器产品上,虽然采用了人工智能、虚拟现实等先进技术[4-6],能够满足舰员的岸基训练,但并不能在实船上装备,因此会存在态势失真、时效性差等问题。
本文拟根据嵌入式模拟训练的设计理念,针对损管训练系统下的某安全监控系统模拟训练软件(以下简称“模拟训练软件”)进行设计与实现,该软件能够在实船装备状态下通过与训练台的通信,模拟产生不同等级的报警信号,使舰员学习和熟悉软件界面以及相应的操作流程,通过在模拟训练环境下的日常训练达到完全熟悉和熟练掌握某安全监控设备的功能和操作使用方法的目的,以保障在正常监控状态下舰员遇到报警事件时能够轻松应对、正确操作、快速处理[7-8]。
损管训练系统是针对各损管监控台位的操作人员,为其在日常训练情况下操作虚拟设备和实船装备、演练基本流程、了解系统基本执行原理、观察学习报警及反馈信息功能,同时为损管指挥流程的训练提供支撑的系统。
损管训练系统主要由训练台以及各分系统模拟训练软件组成,各分系统模拟训练软件嵌入到各监控台上运行,其结构原理框图如图1所示。
模拟训练软件主要由主程序模块、登录模块、训练处理模块、报警处理模块、界面信息显示模块、以太网数据收发模块、数据输入输出(I/O)模块、控制局域网(Controller Area Network,CAN)数据收发模块以及实时数据库等组成,如图2所示。
主程序模块主要负责完成软件中各测点状态逻辑条件及各监控舱室综合状态逻辑条件的判断;登录模块负责完成舰员模拟训练前的登录验证;训练处理模块主要负责配合训练台完成模拟训练专业流程的处理;报警处理模块负责完成模拟训练报警事件的产生,以及报警后的声光控制及按钮操作处理;界面信息显示模块主要负责完成模拟训练监控界面中各测点状态信息的实时显示;以太网数据收发模块主要负责完成以太网数据的封装、解析、接收及发送功能;数据输入输出模块主要负责完成各按键信息的采集输入及各指示灯、蜂鸣器状态控制信号的输出;CAN数据收发模块主要负责完成CAN数据的封装、解析、接收及发送功能;实时数据库负责完成各测点数据信息的实时存储。
模拟训练软件和实时监控软件共同运行于监控台上,两个软件共享指示灯、蜂鸣器、按键、旋钮等硬件资源。为了有效实现硬件资源共享及两个软件功能的完美融合,两个软件通过共享内存变量进行通信,其原理框图如图3所示。输出控制变量内存区用于两个软件对指示灯及蜂鸣器的综合控制,输入控制变量内存区用于两个模块对舰员操作按键信息的采集,综合报警变量区用于模拟训练软件应急状态下的自行调度,即模拟训练软件在工作过程中监测到综合报警变量有效,自行退出模拟训练流程。
舰员训练时,首先通过监控台上的工作/训练转换开关进行训练模式切换,并通过模拟训练软件的登录界面向训练台发送身份验证信息,待训练台验证通过后监控台进入正常训练模式。训练台操作人员通过训练台模拟软件设置报警信息,然后自动将报警信息发送至监控台模拟训练软件,舰员通过模拟训练监控界面查看当前的报警信息,并能根据当前的模拟报警信息使消防设备模拟投入操作,训练台接收到消防设备模拟投入操作指令后,向模拟训练软件反馈相应的消防设备状态信息。训练结束时,弹出结束训练信息提示对话框,并根据操作人员的选择,确定是否显示考评结果。其工作流程图如图4所示。
由于组态软件在数据采集与过程控制上具有优势,故采用组态软件作为开发环境,具体开发步骤主要有:定义I/O设备、建立数据库点、设计图形界面、动画连接、添加函数及动作等[9-10]。
1)定义I/O设备。
与组态软件交换数据的现场总线控制系统(Fieldbus Control System,FCS)、可编程逻辑控制器(Programmed Logic Controller,PLC)、板卡、智能仪表等设备可看作I/O设备,需要定义数据库变量才能与外设交换数据。模拟训练软件定义I/O设备,用于软件与指示灯、蜂鸣器、按钮等的数据交互。
2)建立数据库测点。
I/O设备运行的状态保存在组态软件数据库点参数中。在数据库中,用户操作的对象是测点,系统也以测点为单位存放各种信息。由于数据库可以与多个I/O设备进行数据交换,所以必须指定测点与相应I/O设备建立数据连接。
模拟训练与实时监控使用的报警测点相互独立,可绑定不同的I/O连接,但指示灯、蜂鸣器、按键、旋钮等硬件资源共享,只能绑定同一I/O连接,所以只能使用其脚本语言进行内部判断,然后控制I/O设备。
3)设计图形界面。
图形界面可直观地显示监控情况。组态软件提供了工具箱、图库以及丰富的控件,以方便进行界面制作。
模拟软件界面从上到下依次划分为菜单栏、工作区和报警条。菜单栏用于监控功能界面的切换,由按钮区、名称区和日期时间区组成。工作区主要显示具体的监控画面,由图形、表格、文字等组成。报警条显示详细报警事件,主要包括报警日期、报警时间、报警优先级和报警内容等信息。
4)动画连接。
为了使设计出来的图形能反映模拟训练的运行状况,需要使静态的画面具有动画效果,进行动画连接。应用程序的对象通过数据库变量连接数据库点,数据库测点参数的变换使应用程序对象的属性(颜色、数值、隐现)发生变化。
5)添加函数及动作。
将一些重复利用的功能脚本添加到自定义函数中,然后可以在其他脚本或表达式中调用。这种做法不仅减少了代码量,而且降低了程序的维护工作量。
在应用程序动作脚本的程序运行周期执行中添加对报警测点的检测功能,以实现自动监控,周期执行的流程图如图5所示。
数据改变动作脚本与变量的连接,以变量的数值改变作为触发事件。每当变量的数值变化时,脚本即执行一次。以工作/训练旋钮切换为例,其流程图如图6所示。
软件开发完成后,其运行效果如图7所示。用户只有通过身份验证后才可进行模拟训练,模拟训练界面中除标题栏有醒目标识外,其余区域显示与实时监控相似。
模拟训练软件开发完成后,由第三方机构进行了测评,主要测试类型及方法如表1所示。测试结果表明,该软件满足规定的功能、性能、接口、边界等要求。此外,该项目还进行了会议评审,获得业界专家、使用方代表等的一致认可。
表1 软件测试类型及方法Table 1 Test types and methods of the simulation training software
1)统一的系统顶层设计。
为保证模拟训练模式下的信息流程、运行流程与实时监控模式保持一致,需要进行系统层面的顶层设计,在安全监控系统所有关联的系统设备中增加训练模式和相应的功能。
2)消防设备模拟投入防误动作。
为了防止在模拟训练模式下消防设备模拟投入时真实消防设备发生误动作,在硬件设计上所有指令按钮或旋钮全部采用自复位式,确保每次按钮或旋钮操作的时效性和针对性;在软件设计上,当采集到I/O输入信号由0变为1再变为0为一次有效信号时,才将对应的消防设备控制指令送出。
3)真实损害报警信号优先。
在软件设计全过程中,坚持实时监控功能为主、模拟训练功能为辅的原则,采用真实报警信号优先技术,确保在训练模式下对真实报警状态不间断实时监控,当发生真实报警时能快速、有效地做出相应对策。
1)各台位的时间协同。
训练台通过周期发送和训练开始前发送这2种方式向各参训台发送时间信息,以此实现时钟同步,然后统一安排各参训台在训练科目上的开始、持续、终止等时间,使各参训台在行动上达成时间上的协调一致。
2)实时数据传输和数据实时响应。
训练台与参训台、参训台与参训台之间都需要大量的数据交互,因此采用主动触发机制和回调机制来保证数据的时效性。
3)分布数据储存功能。
每一个参训台都将记录其训练过程中的报警数据及具体操作,训练台将记录所有参训台位详细的训练内容。所有记录均可长期储存,并能便捷查询。
训练评估是建立在一系列的评估规则之上,通过从台位上收集到的大量信息数据,如环境态势、指挥决策、协同效果、操作响应等,进行海量的数据挖掘、分析,并由中心处理器计算得出一个评估报告,对整个训练科目及各参训台训练情况做出成绩评定。
本文对某舰用安全监控系统模拟训练软件的功能需求、体系结构和工作流程等进行了研究,分析了模拟训练软件与实时监控软件的相互影响,并以此为基础对模拟训练软件进行了开发。通过解决训练与实装互联、协同训练、训练评估等关键技术,成功研制出嵌入安全监控系统的模拟训练软件,并通过了相关软件测试,可进行实船装备。该系统可提高舰员的训练质量,为某舰用装备提供安全保障。