刘克轩 ,李永红 ,岳 妮 ,麻少轩
(1.中北大学 仪器与电子学院,太原 030051;2.山西科泰微技术有限公司,太原 030051;3.内蒙古蒙东能源鄂温克电厂,呼伦贝尔 021000)
在飞行训练弹研制的过程中,易出现不可预知的故障,严重威胁飞行训练弹的装备安全,因此为飞行训练弹提供专用测试训练设备有助于及时发现问题,排除故障[1-3]。为了满足飞行训练弹自动测试要求,提高训练弹的技术保障能力,应用计算机技术、虚拟仪器技术、自动化技术、数据库技术等,设计了一套基于CPCI总线的自动测试系统[4-5]。飞行训练弹综合测试设备的主要用途就是在飞行训练弹研制过程中对训练产品、弹架系统、记录舱组件进行测试,以及在飞行训练弹研制完成后对全弹进行测试,完成与发射装置进行系统联试、全弹交付相关的交付试验、鉴定试验等。
系统由主控计算机、电连接器适配模块、可编程负载和程控电源4部分组成,系统结构框图如图1所示。主控计算机提供操作平台,进行多种不同的测试试验和实现上位机与被测设备的信号采集、通讯,主要由计算机控制模块、1553B通信模块、LVDS功能模块、模拟量采集模块、IO模块组成。电连接器适配模块安装于测试设备机箱内部,完成线缆转接与接插件转换。可编程模拟负载为训练弹存在地的阻性负载,与计算机控制台模块间采用RS232总线接口通信。用户可通过负载操作面板或在测试软件界面设定负载大小。程控电源把交流输入转换为直流输出,为系统及被测设备提供电源。
测试系统的核心是主控计算机,由LabVIEW应用程序为核心的计算机控制模块,提供VGA、USB、RS232等外设接口,以形成图形窗口显示等人机交互接口;与以FPGA为核心的功能模块间通过CPCI总线互连,运行于该平台的测试软件完成对分模块的配置、控制与状态监测。因此,测试系统整体设计也可以分硬件设计和软件设计2部分。
硬件设计主要是各模块板卡设计,由1553B通信板卡、LVDS板卡、模拟量采集板卡、IO板卡组成,其中对LVDS板卡、IO板卡进行了详细的电路及逻辑设计。各模块与计算机控制模块间通过CPCI总线互连,运行于该平台的测试软件完成对分模块的配置、控制与状态监测。1553B通信模块采用双冗余A、B总线挂接在2个总线耦合器上,完成与训练弹、发射装置、记录舱的通信,并将被测对象反馈信息传输至计算机控制模块,由测试软件记录、显示与分析处理。LVDS功能模块与记录舱总线互连,在工作状态下,该模块按照帧、字格式要求周期性地将信息字传输至记录舱,原理框图如图2所示。
图2 LVDS传输模块原理Fig.2 Principle diagram of LVDS transmission module
在测试软件控制下,模拟量采集模块周期性轮询采集DC1、DC2、DC1存在、DC2存在4路电压信号,并在计算机控制模块下完成记录、显示。数字IO模块完成数字量输出与数字量输入采集功能,数字量输出形式有数字输出与三极管输出2种方式,输入采取光电隔离方式。在测试软件指令序列控制下,数字量输出端口执行输出动作,数字量输入端口检测电平变化,并由计算机控制模块读取、显示、记录。原理框图如图3所示。
图3 数字IO板卡原理Fig.3 Principle diagram of digital IO board
软件测试系统基于Windows平台利用Lab-VIEW图形化开发软件进行设计开发,基于模块化设计思想,充分考虑可维护性和可扩展性,以及测试效率、用户体验等要求,开发界面简洁、美观、符合Windows操作系统风格。用户可根据需求创建测试流程,通过1553B总线通信、LVDS数据传输、模拟量采集、数字量输入、数字量输出等通讯功能将测试指令发送给被测设备,然后将被测设备反馈回来的数据显示、保存生成报表。测试软件按功能划分为以下几个模块:系统初始化模块、供电监控模块、硬件配置与检测模块(提供设备组成硬件的校准/检测接口)、系统测试模块(手动/自动测试)、记录舱测试模块(自动测试)、记录保存模块等功能模块,软件程序功能框图如图4所示。
图4 软件程序功能Fig.4 Function block diagram of software program
程序结构整体上采用LabVIEW连续采集记录的生产者消费者结构,该结构包含5个并行的循环,如图5所示。
图5 生产者-消费者结构Fig.5 Producer consumer structure
事件处理循环主要用于产生基于前面板的事件,通过对前面板的事件监视,根据发生事件的不同,做出不同的响应。作为生产者,向其消费者(消息处理循环、数据采集循环、数据记录循环)发送信息。
消息处理循环是一个循环条件结构,既接收事件处理循环发来的消息也响应其他消息处理循环发送的消息,并根据消息的内容不同,做出响应。消息处理模块主要是处理与界面有关的事件,与通讯有关的事件由通讯模块相应。
连续采集数据的消息处理循环包含1553B通讯、A/D板卡通讯、I/O板卡通讯、LVDS通讯、电源通讯5部分。当它接收到其生产者(事件处理模块)发送的消息时,根据消息的不同做出响应,完成命令的发送、数据采集等操作,并根据需要向其消费者(数据解析模块)发送消息,与板卡通讯即在该循环完成。
连续记录采集数据的消息处理循环可根据用户设置的参数记录采集到的数据,并打印报表。
数据显示循环,用于将采集到的数据显示到前面板,当它接收到其生产者(通讯模块中的读数据VI)发送的消息时,根据消息的不同做出响应,最终实现曲线显示等功能,其还有参数配置对话框用于配置程序或者板卡参数。
程序的层次结构使得简单的、耗时少的操作在较高级的循环中进行处理,将复杂的、耗时多的操作在较低级的循环中进行处理,这样使得各种操作并发处理而不会因为某一个操作过于费时而导致阻塞。合理的循环布局可以使得高层循环控制低层循环的过程更加简便,各层之间的消息及数据传递通过队列完成,使得本层的执行过程直接根据上层发出的消息进行顺序执行。
不同于简单的 232、485等串口操作,在与LVDS板卡、IO板卡、1553B板卡等进行通讯的过程中,由于LabVIEW没有现成的开关和复位设备、读写数据、中断以及对通道的操作,因此都需要调用动态链接库来实现这些功能。其中,可以通过调用PLX Tech公司提供的基于其API函数包实现上位机与LVDS板卡和IO板卡的通讯。由于自带的API函数包部分数据类型在LabVIEW中不支持,需要将自带的DLL重新封装,使其适应LabVIEW编程。其中用到的函数主要包括开关设备、读写数据、设备复位、添加中断等几种,如开关设备的函数分别为 RETURN_CODE PlxPciDeviceOpen(DEVICE_LO CATION*pDevice,HANDLE*pHandle)、RETURN_CODE PlxPciDeviceClose(HANDLE hDevice)。
重新封装后,通过LabVIEW中的调用库函数节点的功能,将各个参数封装成具有不同通讯功能的子VI。
本测试系统主要通过自动测试流程,简单、高效地测试各项数据指标,实时接收测试反馈,主要完成总线监控数据记录与生成报表2部分功能。
在系统测试过程中,1553B总线通讯数据反应了导弹各工作阶段逻辑,对用户非常重要,所以需要系统实时记录总线监控数据。对于总线监控文件保存格式,考虑到方便用户查看与分析,保存格式设计为既保存总线数据解析后的内容同时也保存原始总线数据。保存的总线监控数据如图6所示。
图6 总线监控数据Fig.6 Bus monitoring data
对系统测试或记录舱测试的结果生成报表,在用户设置的相应记录保存路径下的文件夹内分别创建系统测试和记录舱测试文件夹,在系统测试和记录舱测试文件夹下以产品编号创建文件夹保存测试报表,报表以产品编号_试验时间_试验项目命名,若没有设置产品编号,则保存至以年月日命名的文件夹下。报表内容据测试项、测试结果及出错信息等生成,含测试项目、产品编号、试验地点、测试时间等信息,以方便测试结果的溯源。
本文介绍了一种基于LabVIEW与FPGA的飞行训练弹测试系统。该系统性能稳定、实用性强、实时性高,能够对飞行训练弹进行故障诊断与分析、性能测试等多种鉴定,并且在试验的过程中得到完整的测试数据,并提供数据存储与处理;同时结构设计合理、集成度高,具有很强的通用性,对其他的测试系统有一定的借鉴意义。
[1] 徐晓贝,曹军明.某红外型地面测试训练弹的设计[J].电子测量技术,2013,36(12):8-11.
[2] 张华敏,丘学军.某型导弹模拟训练系统的设计[J].计算机测量与控制,2002,10(10):668-669.
[3] 张毅刚,彭喜元,姜守达.自动测试系统[M].哈尔滨:哈尔滨工业大学出版社,2001.
[4] 孙胜男,戴呼合,姜守达.某导弹测试训练与评价系统研制[J].自动化技术与应用,2010,29(10):98-101.
[5] 祖先锋,潘孟春.基于虚拟仪器技术的多型号战术导弹自动测试系统[J].计算机测量与控制,2005,13(9):960-963.