APP下载

重演技术在某系统中的实现

2014-01-11

火炮发射与控制学报 2014年2期
关键词:重演时钟模块

姚 军

(海军装备部,陕西西安 710043)

重演技术在某系统中的实现

姚 军

(海军装备部,陕西西安 710043)

为解决当前重演技术采用视频录取/重放模式在嵌入式系统应用中存在的问题,提出了在Vx-Works操作系统下,应用多任务机制实现系统工作过程事后重演的一种数据重演解决方案,具有不需增加辅助设备、可以实现选取时段任意次进行重演等特点,对深化系统层面的重演技术研究具有借鉴意义。

重演;记录;嵌入式实时操作系统;任务间通信

重演技术已广泛应用于仿真和教学领域,尤其在嵌入式应用系统中,重演技术在系统故障分析和排除、工作流程分析和完善、系统效能评估、教学和培训等领域具有重要的应用价值。

当前应用较为广泛的重演工作方式一般为:应用视频摄录设备录取系统的工作过程,事后重播视频实现重演。上述重演方式下,应用系统的实际设备不参与重演工作过程;尤其是分布放置的大型系统,需要多台视频摄录装置同时参与记录和重演工作,且多台装置间很难做到时钟同步。

笔者提出的重演技术,以数据记录为前提,数据分析、解算为依据,利用VxWorks操作系统的实时性、多任务环境和灵活的任务间通信机制[1],实现在某系统综合控制设备上实现系统工作过程重演,具备可设置重演速度和重演时段,且在重演中可暂停、后退等技术特点。

1 某系统综控设备简介

1.1 系统及设备组成

某系统构造图如图1所示。

其中A和B为侦察设备,C和D为执行单元,系统综控设备是整个系统的综合控制中心,负责接收A和B发送的侦察数据信息,并控制C或D完成决策结果的执行;设备间的数据交换以网络通信方式实现。

系统综控设备的应用软件按功能划分为人机交互模块、通信模块、综合处理模块、数据记录模块和重演模块。

1.2 系统综控设备各任务间的工作关系

系统总控设备工作时,各任务间的数据通信关系如图2所示。

1)tWORK和tMSG之间通过定义的消息队列进行数据传递。

2)tSHOW与tMAN之间通过共享数据区的方式实现数据传递。

3)tRECV、tSEND与tMAN之间通过共享数据区的方式实现数据传递。

4)tMAN、tMSG与tDATA之间通过共享数据区。

5)tDATA将数据记录到文件。

6)tDISA读出文件中的数据,并对数据进行分析、解算。

7)tWDOG任务读取时钟,控制重演速度。

其中,tDISA任务和tWDOG任务仅参与系统重演工作流程。

2 记录和重演

记录和重演是相互关联的功能模块。数据记录满足重演时的数据源需求,因此数据记录的格式和方法要根据重演需求来确定[2]。

2.1 记录

数据记录工作在系统正常工作过程中实现,需确保不能影响系统正常工作的功能、性能指标,因此要求程序结构简单、效率高、占用系统资源少。

数据记录任务(tDATA)接收综合处理模块中数据处理任务(tMAN)和消息接收任务(tMSG)传送的各种数据,使用共享环形缓冲区和信号量机制,实现任务间的数据通信和保护。在系统资源充足,设置足够容量的环形缓冲区的前提下,将Vx-Works工作在优先级抢占模式,并将任务tDATA的任务优先级设置为最低,即可确保不影响系统正产工作的前提下,实现系统工作数据的录取[3]。

为便于重演时数据解算,数据记录时也应保持系统各设备间通信时相应的报文格式。可将数据记录到数据库中或流式文件中[3]。笔者将每次工作过程数据记录到一个以起始记录时间命名的文件中。

在记录时,每帧报文前增加数据的出现时刻,重演时即可使用实际工作时钟来反映真实工作过程,数据记录相关任务的部分流程如图3所示。

其中:data[1000][200]为申请的共享记录数据区;sem_W为共享记录数据区写保护的二进制信号量,初始值为1;sem_C为循环使用共享记录数据区的计数器信号量,初始值为0;file.txt为记录数据的文件名。

2.2 重演

重演工作的进行以系统的工作数据记录为基础,记录的数据信息以重演的需求进行选择,并在必要时增加的辅助信息。系统记录的数据主要有:一类设备间的网络通信报文,按原报文格式记录,并在每帧数据前添加标准格式的数据出现;一类是人工操控输入,需完整定义记录信息中的键值、对应窗口信息等,确保其定义确定和唯一。

重演工作过程是实现读取数据记录,分析解算后,将各种数据植入数据源,之后系统执行类似于实际工作方式下的程序流程,从而复现系统工作过程中的一系列任务[4]。其关键过程包括:重演时间段选取、系统时钟同步、暂停(开始、后退)设置。在本文中,系统的工作过程重演在系统综控设备上独立实现。

在进行系统重演时,系统综控设备运行独立的工作流程,重演工作方式下任务间的数据通信关系如图4。

如图中所示:

1)不启动通信模块的tRECV任务和数据记录模块的tDATA任务。

2)通信模块的tSEND任务将从数据共享区取出的数据放弃,模拟实现网络发送数据的功能。

3)关闭综合处理模块中tMAN任务和tMSG任务向数据记录共享区写数据的部分功能。

4)关闭人机交互模块中tWORK任务接收其他输入信息的部分功能,只接收人为控制“暂停/播放”的操控输入。

5)tWORK任务作为重演工作方式下的主控任务,在tWDOG任务的辅助下决定系统工作流程。

系统进入重演工作方式时,工作流程如下:

1)首先进入数据记录文件和重演时间段的选取界面供操作人员选择。

2)为实现系统时钟同步,以选取时间段内的第一帧报文出现时刻设置系统时钟,以后每次“暂停”时记录当前系统时钟,供下次“播放”时设置系统时钟。

3)tWDOG任务以1次/s的频率获取系统时钟,同时以正在处理的每帧数据记录的数据出现时刻值与系统时钟作比较,当到达系统时钟所示时刻后再向共享数据区写入数据(经测算,写入共享数据区所需时间为微秒级,不会影响到报文的出现时刻)。

4)暂停/播放设置由重演模块的tDISA任务记录状态实现,重演工作方式下一般只有系统综合控制设备开机,但为了实现工作过程的重演,必须模拟整个系统的状态,一般依据记录中的心跳报文和设备(系统)状态报文来完成其他相关设备(系统)的状态模拟。tWORK任务的程序流程图如图5。

3 结束语

笔者充分利用了VxWorks操作系统的多任务实时调度机制,实现了对某系统工作过程的事后重演技术。

该技术立足工程实践,将系统工作过程中的人工操控数据也加以记录并在重演中再现,具有以下特点:可设定重演开始和结束时间,实现任意时段重演;重演过程可随时暂停,并可对重点关注的工作过程进行任意次重演,便于训练和教学。

该技术不足之处是重演过程只能以固定速度完成,需要在以后工作中进一步完善和改进。

(References)

[1]孔祥营,柏桂枝.嵌入式实时操作系统VxWorks及其开发环境Tornado[M].北京:中国电力出版社,2001.

KONG Xiangying,BAI Guizhi.Embedded real-time operating system VxWorks and its development environment Tornado[M].Beijing:Electric Power Press of China,2001.(in Chinese)

[2]萨师煊.数据库系统概论[M].北京:高等教育出版社,1987.

SA Shixuan.Introduction of database system[M].Beijing:High Education Press,1987.(in Chinese)

[3]Wind River Systems,Inc.VxWorks programmer’s guide 5.4edition 1[CP/CD].Alameda,Calif.:Wind River Systems,Inc,1999.

[4]汪静.基于文件系统的嵌入式数据库的设计和实现:EDB的设计和实现[D].成都:电子科技大学,2001.

WANG Jing.Design and implement of embedded database based on file system:design and implement of EDB[D].Chengdu:University of Electronic Science and Technology of China,2001.(in Chinese)

Realization of Replay Technology in the System

YAO Jun

(Xi’an Bureau of Naval Equipment Department,Xi’an 710043,Shaanxi,China)

To solve the current existed problems in the replay technology by use of recording/playback mode in the embedded system,a kind of data replaying solution was put forward to apply the multi-task mechanism to realize the replay of the system working progress in VxWorks operating system.Without adding auxiliary equipment,this method is capable to select any period of time to replay at any random number of times.The method has referential significance for the replay of deepening system level.

replay;recording;embedded real-time operating system;intertask communication

TP311.1

A

1673-6524(2014)02-0088-04

2013-08-21;

2013-12-30

姚军(1979-),男,工程师,主要从事舰炮武器系统技术研究研究。E-mail:hyaojun01@sina.com

猜你喜欢

重演时钟模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
别样的“时钟”
古代的时钟
有趣的时钟
时钟会开“花”
王大爷趣事 ①
集成水空中冷器的进气模块
历史在重演
不希望历史“悲剧”重演