APP下载

基于VXI总线的车载导弹发射控制记录系统研制①

2012-07-09朱望纯唐卫国谢小建

固体火箭技术 2012年4期
关键词:控件线程总线

朱望纯,唐卫国,谢小建,李 智

(1.桂林电子科技大学,桂林 541004;2.中国航天科工集团801厂,柳州 545012;3.91872部队,北京 102442)

基于VXI总线的车载导弹发射控制记录系统研制①

朱望纯1,唐卫国2,谢小建3,李 智1

(1.桂林电子科技大学,桂林 541004;2.中国航天科工集团801厂,柳州 545012;3.91872部队,北京 102442)

为了快速、可靠、安全地获得导弹飞行试验中发射时的各信号连续无遗漏数据,研制了基于VXI总线且具有事后数据回放及数据分析等功能的车载导弹发射控制记录系统。经靶场飞行试验证明,系统各测试信号的绝对误差为±4.99 mV,信号之间的时间差测量误差为±0.1 ms,发射窗口误差为0.01 s,连续记录时间不小于5 min;系统操作方便,运行稳定,高效可靠。

车载导弹;地面发射;控制记录系统;VXI总线

0 引言

在导弹的研制过程中,要通过飞行试验来获得导弹地面发射时的飞行数据,从而更好地分析导弹的设计缺陷,以便改进。传统的堆积式测试,所需仪器数量多,体积大,展开不方便;需多人协作记录,容易操作出错,轻则影响试验的顺利完成,重则造成飞行试验安全事故;或关键信号没有记录,达不到飞行试验目的。因此,研制机动性强、体积小、展开方便、安全性好及高效的车载导弹发射控制记录系统十分重要。

系统采用模块化设计和VXI总线技术,具有灵活的模块化配置和扩展功能,较小的体积,较高的吞吐量,极强的防振抗冲性能和良好的电磁兼容性[1-3];采用虚拟仪器设计思想,通过软件定义通用硬件功能,具有良好的扩展性,并可通过修改软件快速适应其他测试应用场合的需求[4]。

根据车载导弹飞行试验发射控制任务需求,研制基于VXI总线的车载导弹发射控制记录系统,实现导弹飞行试验的全程发射控制及数据采集和记录。

1 系统功能及结构

1.1 系统总体功能

该车载导弹发射控制记录系统可对导弹飞行试验的发射进行全程控制,并对各种信号进行实时、连续、无遗漏的数据采集和记录。在导弹飞行试验后,该系统能回放导弹发射时的各种信号,查看和计算导弹发射时的各种参数,并可进行飞行数据分析。对于故障导弹,能通过对各种信号、指令的时序和幅值分析,准确定位导弹故障,进而分析其故障原因。

1.2 系统硬件结构框图

根据系统总体功能要求和具体的导弹信号种类,提出了由控制计算机、C尺寸6槽E1421B VXI总线机箱、被测信号预处理器及导弹发射架组成,其结构框图如图1所示。

图1 系统硬件结构框图Fig.1 Block diagram of the system hardware structure

0槽模块为VXI系统的控制器,负责VXI资源管理;1槽和2槽模块为自行研制的VXI总线A24/D16 8通道连续并行AD采集模块。其中1槽模块负责启动、过航路捷点、靶弹起飞、发动机点火、待发充电、燃发点火、解锁指令、光信号等信号和指令的连续数字电平记录;2槽模块负责载波、电锁输出、跟踪、时统、+20 V电压、-20 V电压、+20 V电流、-20 V电流等信号的连续模拟电平记录;3槽模块提供16通道数字输出和16通道数字输入,实现脱落、频率重调、时限OC门、供气/停气、迎攻/尾追、高速/低速、自动/手动等指令和控制输出,退挡弹销、安全/待发反馈、频率重调反馈、时限OC门反馈、供气反馈、脱落指令反馈、迎攻/尾追反馈、高速/低速反馈、自动/手动反馈、供气反馈、燃发点火反馈、过航路捷点、靶弹起飞等信号和指令反馈输入。导弹发射时刻的发射架水平、高低方位角,通过485输入到485串口卡中。

2 系统关键模块8通道连续并行AD采集模块研制

本系统研制的重点和难点是实现高速、大容量的数据传输,为此研制VXI总线A24/D16 8通道连续并行AD采集模块。因为在A16寄存器基模块中,其访问空间限制在64字节内,而且每次访问都必须对寄存器的状态进行读取判断,很难满足高速、大容量的数据传输要求。采用A24空间加硬件中断方式,设计8通道连续并行AD采集模块。中断功能硬件电路采用CPLD(复杂可编程逻辑器件)技术实现,在该模块的设计中,考虑到连续采集的需要和降低成本,数据缓存采用SRAM。同一片SRAM在同一时间只能进行读操作或写操作,要实现连续的数据采集,采用 2片IS61LV25616 SRAM切换的方式来实现数据的同时读/写。存储的数据前四位为采集的通道号代码,后12位为转换数据。转换数据经CPLD控制首先写入SRAM1,当SRAM1数据存满后,产生硬件中断信号SRQ,由VXI接口通知主机系统数据准备好,并打开采集模块与 VXI接口之间的数据通道,可由主机从SRAM1取回数据放入主机缓冲区;与此同时,SRQ通知CPLD控制逻辑关闭锁存数据与SRAM1之间的数据通道,同时开启锁存数据与SRAM2之间的数据通道,后续数据得以连续无间断的存入SRAM2,此时,SRAM1的数据正被主机读出;当SRAM2数据存满后,同样产生硬件中断信号SRQ,如此交替循环便可实现采集数据长时间连续无间断存储。其电路框图如图2所示。

图2 8通道连续并行AD采集模块电路框图Fig.2 Channel continuous parallel AD acquisition module circuit diagram

3 系软件设计

3.1 软件开发环境

在测控软件开发中有两类流行的开发环境:一类以是LabView为代表的图形化编程环境,另一类是以VC++为代表的面向对象的可视编程环境。LabView等为专业图形化编程工具,使用其开发测控软件较为直观,但是在集成其他技术如多线程,第三方控件、动态链接库、数据库等方面不如以VC++为代表的面向对象可视编程环境。面向对象可视编程环境可以将各种技术灵活,方便,快速地融为一体,有较高的编程效率,更适合较大系统或大型系统软件开发。本系统软件使用VC++为开发集成开发环境,使用NI公司的ComponentWorks控件为界面、波形等显示控件,使用SQL server作为数据库存储采集数据,使用Agilent VI-SA库作为底层仪器通信软件,并采用多线程技术将用户界面操作和发射控制及数据的采集分开,保障发射控制和数据采集的实时性。

系统软件流程框图如图3所示。

图3 系统软件流程框图Fig.3 System software process diagram

3.2 系统软件功能

系统软件主要实现导弹的试验时的发射全程控制和各种信号的实时连续无遗漏数据采集记录。试验分为2个阶段:训练程序为第一阶段,实现对操作人员发射控制操作的培训。第二阶段为正式试验阶段,分为四步:模拟器试验在不供气的情况检查车载系统各单元是否正常,工艺弹试验检查系统是否正确给出弹上发控指令,实弹地面联试进行飞行试验前的飞行导弹正常和系统各单元正常的综合检验,最后进行飞行试验。试验结束后,系统软件能进行导弹发射时的各种信号的回放,发射时的各种参数的查看和计算,进行飞行数据分析。对于故障导弹,能通过对各种信号、指令的时序和幅值分析,准确定位导弹故障,进而分析其故障原因。

3.2.1 连续数据采集与记录存储

系统软件专门设计了发射控制及数据采集线程,它与用户界面操作线程下相互独立,使得户界面操作不影响数据的采集,保障发射控制及数据采集的实时性。在用户界面的初始化函数中,初始化VXI模块后,设置第一块和第二块并行AD为8通道并行工作模式,采样频率为10k,配置SRAM存储深度为2k,安装中断句柄,使能中断后启动第一块和第二块模块AD转换,并启动发射控制及采集线程。当有中断到来时表明存储深度为2k数据转换完毕,则在AD模块的中断事件处理函数中,设置相应的模块可读标记为true。

在采集线程中,先等待第一块AD的可读标记为true。当第一块AD的可读标记为true时,先将可读标记复位为false,再从第一块AD中读出8通道,每通道2K的数据,并将数据转换相应的电压值。由于第一块模块记录的是数字电平,因此根据大于等于3为高电平,小于为低电平转换为数字电平,显示在NI的图形控件中,并根据数字电平的高低点亮相应的指示灯。

再等待第二块AD的可读标记为true。当第二块AD的可读标记为true时,先将可读标记复位为false,再从第二块AD中读出8通道,每通道2K的数据,并将数据转换相应的电压值,显示在NI的图形控件中,同时计算并显示各模拟信号的有效值。

然后使用控制模块进行供气和根据发射窗口进行输出控制,以及指令反馈输入读取。

当试验结束时,终止连续数据采集,并将记录的数据一次写入SQL Server中。由于数据量比较大,故采用image字段来存储,为了不使得数据无限大,限定记录时间不超过5 min。存储的数据的格式为第一个模块通道1数据,通道2数据……;第二个模块通道1数据,通道2数据……。

3.2.2 历史数据管理与查看子系统

(1)数据管理

系统软件具有数据管理功能,可根据时间或导弹弹号进行历史记录查找,以及历史记录删除,并可选定特定的记录进入历史记录数据查看。

(2)数据回放

在两种情况下,可进行测试数据回放,将从飞行试验开始到飞行试验结束连续记录的全程数据回放出来。一种情况是测试完成后,可立即对当前测试数据进行回放;另外是飞行试验后可通过历史数据子系统,从数据库中选择要查看导弹的飞行试验数据进行回放。根据实际情况设计了向前和向后播放,每种播放有快、中、慢3种播放放速度。

(3)波形查看/波形放大/波形平移动

波形查看功能可快速搜索、定位所关心的时间段内信号波形数据。在波形查看中通过设置查看波形的时间起点时间起点和要查看的波形时间长度来显示制定的时间段内波形数据。如图4所示。波形查看和如果想进一步看清更局部的波形,可进行波形放大。首先使放大/平移块处于处于“放大”位置,然后点击左键选择要展开放大数据段的起始点,拖动鼠标到数据段的结束点,将选中的数据进行放大。当拖动滑动块处于“平移”位置,可通过拖动黄色光标来查看信号光标处的有效值。

(4)时间测量与时序分析

波形查看后,通过局部放大,可很清楚地看清各数字信号之间的时序。选择光标1和光标2后,移动光标可测2个光标之间的时间差,如图5所示。

图4 波形查看图Fig.4 Waveform check figure

3.2.3 系统安全性设计

(1)多线程安全设计

在多线程运行时,如果主线程要退出,那么工作者(采集)线程也必须退出。如果程序已经退出了,而某个线程却没有退出,很可能造成严重的后果,特别是在紧急情况退出时。因此,工作者(采集)线程必须与主线程实现某种方式的通信,保证主线程退出前,特别是紧急情况退出时,所有子线程都能得到完全退出。

为此专门设计了工作线程超类,该工作者线程的超类中有一个事件句柄成员,用来通知线程退出。KillThread函数用来结束线程,当主线程要退出前,通过工作线程的句柄调用该函数来杀死工作线程。

当主线程调用KillThread函数时,该函数首先设置m_hEventKill为有信号,通知结束子线程。然后等待子线程是否已经结束,如果已经结束的话,删除线程。在等待线程结束的过程中,不能使用 WaitForMultipleObjects来等待。因为在工作(采集)线程中会调用SendMessage来通知主线程处理事务,SendMessage函数必须等消息处理完才能返回,也即线程会在此处挂起,直至主线程处理完该消息。而如果又恰好主线程调用KillThread函数,KillThread又会调用WaitForMultipleObjects函数来等待线程结束,那么主线程又会被挂起。这样主线程和工作线程都被挂起,从而造成死锁(dead-lock)。使用 MsgWaitForMultipleObjects不仅可以等待线程的结束,还可在等待期间处理消息,不会造成等待期间程序得不到响应。通过反复的试验证明,该方法确实能够确保在主线程退出之前子线程能够完全退出。

(2)发射窗口

设计发射窗口的目的是在试验时只允许在计算过的发射窗口所指定的发射时机内发射导弹。发射窗口上限时间到(t0为起点),时限OC门截止,允许发射;下限时间到来时,时限OC门接通,不能进行发射。当迎攻试验时,起点t0为靶弹起飞;当尾攻试验时,起点t0为过航捷点。

(3)NI控件的安全性

NI控件为单线程安全线程,因此要避免多线程并发操作NI控件,否则会引起程序崩溃。解决的方法是对NI控件操作加锁,线程只有在获得锁后,才能操作NI控件。

4 应用分析

系统研制成功后,进行了大量的标准信号源、模拟器、工艺弹及实弹地面联试,对系统的稳定性、可靠性和精度进行测试。

试验结果表明,系统各测试信号的绝对误差在±4.99 mV,信号之间的时间差测量误差为 ±0.1 ms,发射窗口误差为0.01 s,连续记录时间不小于5 min,满足系统的研制要求;系统各功能正常、稳定、安全可靠。

5 结论

该车载导弹发射控制记录系统可以在15 min内完成实验准备工作,操作只需2人,可将人为操作出错率降为0,其事后分析系统可帮助快速故障分析和故障定位。该系统提高了飞行试验的试验成功率和效率,降低飞行试验费用;在危险情况下可进行紧急停车,提高了试验安全性。

[1]李智.VXI总线军用发动机自动测试系统软件设计[J].桂林电子工业学院学报,1997(1).

[2]陈光ネ禹.VXI总线测试平台技术[M].电子科技大学出版社,1996.

[3]程传浩,刘勇志,等.基于VXI总线的某型导弹惯性平台自动测试系统[J].上海航天,2002(1):59-62.

[4]李行善,等.自动测试系统集成技术[M].电子工业出版社,2004.

Developing of a launch control recording system based on VXI bus for vehicular missile

ZHU Wang-chun1,TANG Wei-guo2,XIE Xiao-jian3,LI Zhi1
(1.Guilin University of Electornic Technology,Guilin 541004,China;2.Factory 801 of China Aerospace Science and Industry Corporation,Liuzhou 545012,China;3.Army 91872,Beijing 102442,China)

In order to quickly,reliably,safely obtain continuous flight data in the process of launching missile,a ground launch control recording system of vehicular missile based on VXI bus was developed,which has the function of data playback and data analysis etc.The flight test in shooting range proves that the absolute error of every test signal in system is ± 4.99 mV,the measurement error of time difference between the signals is ± 0.1 ms,the error of the launch window is 0.01 s and the continuous recording time is not less than 5 min.Moreover,the system is easy to operate,stable,reliable and efficient.

vehicular missile;ground launch;control recording system;VXI bus

V556

A

1006-2793(2012)04-0565-04

2011-10-06;

2011-12-12。

朱望纯(1976—),副教授,主要从事自动测试总线与系统、虚拟仪器研究。E-mail:zhwch@guet.edu.cn

(编辑:吕耀辉)

猜你喜欢

控件线程总线
实时操作系统mbedOS 互斥量调度机制剖析
基于.net的用户定义验证控件的应用分析
基于国产化环境的线程池模型研究与实现
关于.net控件数组的探讨
一种基于CAN总线的误码测试方法
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
宝马F02车总线系统
计算机中的多线程问题
基于嵌入式MINIGUI控件子类化技术的深入研究与应用