韦佳霄,王健
(桂林电子科技大学 信息与通信学院,广西桂林,541000)
随着当代科技进步、全球局势的变化及现代战争对战斗武器提出了全新的要求。显而易见,导弹是具有远途攻击特点的制导武器中的佼佼者。导弹对其控制系统的要求十分苛刻。而舵机作为导弹制导与控制系统的执行机构以及重要部分,其性能的好坏直接影响导弹的战斗性能和指导精度[1]。舵机是导弹控制系统的重要执行机构,舵机测试系统是导弹生产线上的重要设备[2],在导弹性能审核中具有关键的意义。导弹舵机按照所使用的能源,通常可分成电动舵机、液压舵机、气动舵机等,气动舵机又可分为冷气舵机、燃气舵机、冲压式舵机。
舵机接收来自控制系统的控制信号,克服气动铰链力矩和弯曲力矩,驱动舵面偏转,改变弹体的飞行姿态,从而控制弹体在空中按照预定的轨道飞行[2-3]。
舵机性能测试是在导弹测试中的关键构成部分之一。以往的舵机性能测试设备笨重复杂、自动化程度低、试验时间长、精密程度低且操作不便。而本舵机性能测试系统,是以带有PCI 总线的工控计算机为主脑,配备相应的数据采集卡,应用虚拟仪器、数据库、多线程等技术,能够测试燃气舵机的动态特性,具有操作便捷、人机界面友好、自动化程度高、通用性强、移植性强、升级维护方便等优势。
如图1 所示是燃气舵机测试系统的硬件架构。测试系统工作时,根据测试任务要求,主控计算机通过数据采集卡发送数字指令给被测燃气舵机,被测燃气舵机接收指令并完成相应的指定动作,同时主控计算机通过数据采集卡采集数据,并对数据进行实时处理、显示分析、数据存储等。
图1 测试系统组成框图
根据测试需求,该测试系统能够实现燃气舵机动态测试。该系统测试项目有:
(1)并行A/D:
DK 信号、DP 信号、DJ 电流信号。
(2)数字I/O
供电指令、供气指令、15Hz指令、25Hz指令、35Hz指令。
由图1 可知,测试系统主要包括主控计算机、数据采集卡、信号调理单元。主要构成单元及功能如下:
(1)主控计算机:是高性能研华工控机,整个系统的控制中心,内置一块数据采集板卡PCI-6143,RS485 及RS232 串口通讯卡,借助于一根多功能线缆将采集板卡和信号调理单元连接,此多功能线缆 选择取决于连接器的类型、硬件 连接的要求和使用环境。某些电缆内部采用对绞的屏蔽电线,相比普通屏蔽电缆可更有效地屏蔽环境噪声,专为搭配高性能 NI 设备而设计。
测试软件运行在工控机上,向被测舵机发送数字测试指令,实现测试过程控制,并对测试过程中的各项参数和数据进行处理、显示、存储,以及生成报表打印,完成对整个测试系统的综合管理和控制功能。
(2)数据采集卡:采用NI PCI-6143 数据采集卡,它具备8 路同步模拟输入,8 条数字I/O 线,16 位分辨率,每通道采样率可达250kS/s,模拟信号输入范围为±5V,它负责系统中模拟量信号采集和数字量信号的输出。
(3)信号调理单元:被测舵机与PCI 采集板卡之间的模拟信号和数字信号传输的桥梁。出于对PCI 采集板卡的保护和分配采集信号通道的需求,以及提升系统的抗干扰能力,信号调理单元需要设计信号分配、信号衰减电路。不仅如此,所有输入、输出信号都经过光耦隔离电路,保证了该系统稳定性以及可靠性。因PCI-6143 数据采集卡有最大的输入电压值范围,需将输入的模拟信号经过衰减电路进行衰减,预防在实际测试中出现的瞬间大电压对PCI 采集板卡的破坏。
舵机测试系统的软件设计选用美国NI 公司Measurement Studio集成式套件设计开发的。NI Measurement Studio 设计用于微软Visual Studio C# .NET中构建工程应用程序,以获取、分析和显示测量数据。
设计采用C# 语言来开发,其适用于上层界面开发,专门为.NET平台而创建,语法简单,调试简便,具有很强的兼容性,在C++中能完成的任务,C#都能完成,且一般不直接进行内存管理,安全性较高[7]。
采用SQL Server 关系型数据库,简单易用,适合分布式组织的可伸缩性,可跨多平台使用,高效且开发成本低。
舵机测试系统的软件设计综合以上工具,科学地利用用户界面控件、多线程技术和垃圾回收机制,缩短开发周期,提高通用性,以便移植维护和升级。
■3.1 系统功能
为后期方便维护以及系统功能的增加,程序必须需具备高度的可扩展性。按照燃气舵机的测试需求以及方案设计,本测试系统软件采用模块化思想。系统软件主要包括用户权限管理模块、系统自检模块、参数设置模块、测试管理模块、数据查询模块。通过调用各个模块来控制系统程序的运行,并完成相应的测试项目。如图2 所示。
图2 测试系统软件功能框图
用户权限管理模块:该模块分为管理员和测试操作员,管理员有权限登录进入系统修改相应的参数系数,测试操作员没有权限修改系数。
系统自检模块:对工控机内PCI 采集板卡的状态、通道配置情况、串口通讯卡RS232 和RS485 卡,以及其可用性进行检测。如若自检不成功,需检查连接线以及采集卡的安装是否正确,再进入NI MAX 检测是否检测到采集板卡。
参数设置模块:此模块分成KВ 参数设置和报表指标参数设置模块。由于环境以及硬件老化等原因会对测试结果造成误差,操作人员可通过对KВ 参数设置,从软件层面抵消外在因素带来的误差。加之,由于外界因素的影响,如若报表中的参数指标需要变动,可有管理员修改指标,程序员不必为此专门跑一趟,减少人力物力的浪费,也为后期维护做铺垫。
测试管理模块:此模块是测试系统软件实现对燃气舵机相关测试的关键所在,主要包括对数据进行采集并显示在界面上,以及发送控制指令进而对得到的数据进行处理,如显示有效值、平均值或是峰值,存储数据以及计算报表中所求的参数。
数据查询模块:有两种查询方式可选择,其一按照时间方式查询,其二是按照产品编号方式查询,可删除选中的数据记录,可对该条选中的记录实现波形回放。如若不确定该条记录的参数结果,可再重新计算。可以对当前波形截图并生成报表打印。
■3.2 主程序流程
测试流程的设计是整个测试系统软件的心脏,程序逻辑的编写是按照测试系统软件的测试流程设计的,测试系统软件主程序流程如图3 所示。
图3 测试系统软件主流程图
进入登录界面,系统软件先进行自检,自检成功,即说明PCI 采集板卡连接成功才能进行下一步,如果自检不成功则异常处理。开始测试前,系统会连接数据库读取配置参数的数据,然后选择测试的类型,点击开始测试,系统通过PCI 采集板卡发送测试指令,在指定的时间内硬件设备作出相应的动作,同时系统也会对信号采集任务采集到的数据进行处理,完成波形的显示以及数值的显示。当出现异样时则交给异常处理线程处理。当点击 “停止测试”按钮后测试结束,测试系统会自动地保存此次数据到数据库中。
■3.3 多线程技术
由于该测控系统在测试过程中,需要对多通道信号进行实时采集并显示,同时也需要对供电指令、供气指令等数字I/O 指令进行实时控制。如果采用单线程技术进行程序设计,则没法实现上述的功能。因此,引进了多线程技术设计。
多线程是指操作系统支持一个进程中执行多个线程的能力,当一个线程等待用户响应或大量计算结果时,另一个线程可以继续其他处理[4-5],使得进程总处于运行状态,随时可以进行响应,从而提高系统的响应效率。一个多线程的应用程序实际上可理解成是并行执行,实现多任务的扩展,从而提高了对CPU 的利用率,加快程序对信息处理的速度。当然,线程并不是越多越好,更有甚者会出现“军师多了乱朝纲”的现象,因此要适当合理地运用多线程技术。
在编写燃气舵机性能测试软件时,按照软件的功能需求,把应用程序需要处理的任务分为用户界面控制、数据采集实时显示、参数计算结果显示。测试系统软件将用户界面作为主线程,其余部分的任务作为次线程,如此分割处理,在同一时刻能够并行做完更多的任务,加快系统的反应速率,提高了执行的效率。
■3.4 用户界面控制线程
用Measurement Studio 集成套件能够便捷且迅速地建立复杂的交互式面板,在GUI的设计过程中,开发员需要核定该测试系统时怎样获取并显示数据,以及对界面、控件和对话框如何操作以及想要呈现怎样的效果等问题,是以用户界面是程序设计的起点,将其作为程序设计的主线程,能够迅速地解决各类交互信息。
■3.5 数据采集实时显示线程
该线程开启后,就负责多个通道数据采集的使命,包含DK 信号、DP 信号、DJ 电流信号的采集。以下给出数据采集的程序主体。
■3.6 参数计算结果显示线程
采用线程定时器技术,由线程池的线程提供支持,不依赖窗体,是一种简单且轻量的定时器。在定期执行任务刷新界面参数的结果值。该线程定时器开启后,就会定时地计算参数结果并显示在主程序界面中。以下给出该部分的程序主体。
利用本测试系统软件对某交付合格的燃气舵机进行多次重复性测试,根据计算参数的结果以及报表的参数指标范围对比,测试得到的参数结果在报表的参数指标范围。同时,将测试得到的试验数据和某型已校准过的示波器相较,试验数据的误差在可允许的范围内,如表1 所示,且该测试系统可以准确地进行数据采集和处理,工作稳定可靠,测试数据能够真实地反应被测燃气舵机动态的工作性能。
表1 燃气舵机测试误差判定
基于PCI 总线的燃气舵机测试系统可以较好地实现燃气舵机动态性能的测试,可以波形截图以及自动生成报表打印出来。该测试系统使用了NI 公司的数据采集板卡,保证试验测试数据的精度。在实际使用中,测试软件能够很好地完成各项试验的要求,且系统工作稳定、可靠性高、操作和维护方便、测试效率高。
猜你喜欢板卡舵机线程含齿隙弹载舵机的全局反步模糊自适应控制自动化学报(2019年6期)2019-07-23基于PCI9054的多总线通信板卡的研制测控技术(2018年3期)2018-11-25基于FPGA的多通道模拟量采集/输出PCI板卡的研制测控技术(2018年12期)2018-11-25基于dsPIC单片机的飞艇舵机控制实现电子制作(2018年1期)2018-04-04基于高速同步485总线通信的多通道舵机控制器设计制造业自动化(2017年2期)2017-03-20浅谈linux多线程协作环球市场(2017年36期)2017-03-09一种基于光纤数据传输的多板卡软件程序烧写技术火控雷达技术(2016年3期)2016-02-06基于云模型的舵机同步控制舰船科学技术(2015年8期)2015-02-27一种通用模拟量及开关量信号采集板卡的设计铁路通信信号工程技术(2014年5期)2014-02-28基于上下文定界的Fork/Join并行性的并发程序可达性分析*计算机工程与科学(2013年2期)2013-06-07