基于PCI 总线的燃气舵机测试系统实现

2023-07-26 03:42韦佳霄王健
电子制作 2023年12期
关键词:板卡舵机线程

韦佳霄,王健

(桂林电子科技大学 信息与通信学院,广西桂林,541000)

0 引言

随着当代科技进步、全球局势的变化及现代战争对战斗武器提出了全新的要求。显而易见,导弹是具有远途攻击特点的制导武器中的佼佼者。导弹对其控制系统的要求十分苛刻。而舵机作为导弹制导与控制系统的执行机构以及重要部分,其性能的好坏直接影响导弹的战斗性能和指导精度[1]。舵机是导弹控制系统的重要执行机构,舵机测试系统是导弹生产线上的重要设备[2],在导弹性能审核中具有关键的意义。导弹舵机按照所使用的能源,通常可分成电动舵机、液压舵机、气动舵机等,气动舵机又可分为冷气舵机、燃气舵机、冲压式舵机。

舵机接收来自控制系统的控制信号,克服气动铰链力矩和弯曲力矩,驱动舵面偏转,改变弹体的飞行姿态,从而控制弹体在空中按照预定的轨道飞行[2-3]。

舵机性能测试是在导弹测试中的关键构成部分之一。以往的舵机性能测试设备笨重复杂、自动化程度低、试验时间长、精密程度低且操作不便。而本舵机性能测试系统,是以带有PCI 总线的工控计算机为主脑,配备相应的数据采集卡,应用虚拟仪器、数据库、多线程等技术,能够测试燃气舵机的动态特性,具有操作便捷、人机界面友好、自动化程度高、通用性强、移植性强、升级维护方便等优势。

1 系统工作原理及测试需求

如图1 所示是燃气舵机测试系统的硬件架构。测试系统工作时,根据测试任务要求,主控计算机通过数据采集卡发送数字指令给被测燃气舵机,被测燃气舵机接收指令并完成相应的指定动作,同时主控计算机通过数据采集卡采集数据,并对数据进行实时处理、显示分析、数据存储等。

图1 测试系统组成框图

根据测试需求,该测试系统能够实现燃气舵机动态测试。该系统测试项目有:

(1)并行A/D:

DK 信号、DP 信号、DJ 电流信号。

(2)数字I/O

供电指令、供气指令、15Hz指令、25Hz指令、35Hz指令。

2 测试系统硬件组成

由图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 采集板卡的破坏。

3 测试系统软件实现

舵机测试系统的软件设计选用美国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 参数计算结果显示线程

采用线程定时器技术,由线程池的线程提供支持,不依赖窗体,是一种简单且轻量的定时器。在定期执行任务刷新界面参数的结果值。该线程定时器开启后,就会定时地计算参数结果并显示在主程序界面中。以下给出该部分的程序主体。

4 测试系统结果分析

利用本测试系统软件对某交付合格的燃气舵机进行多次重复性测试,根据计算参数的结果以及报表的参数指标范围对比,测试得到的参数结果在报表的参数指标范围。同时,将测试得到的试验数据和某型已校准过的示波器相较,试验数据的误差在可允许的范围内,如表1 所示,且该测试系统可以准确地进行数据采集和处理,工作稳定可靠,测试数据能够真实地反应被测燃气舵机动态的工作性能。

表1 燃气舵机测试误差判定

5 结语

基于PCI 总线的燃气舵机测试系统可以较好地实现燃气舵机动态性能的测试,可以波形截图以及自动生成报表打印出来。该测试系统使用了NI 公司的数据采集板卡,保证试验测试数据的精度。在实际使用中,测试软件能够很好地完成各项试验的要求,且系统工作稳定、可靠性高、操作和维护方便、测试效率高。

猜你喜欢
板卡舵机线程
含齿隙弹载舵机的全局反步模糊自适应控制
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
浅谈linux多线程协作
一种基于光纤数据传输的多板卡软件程序烧写技术
基于云模型的舵机同步控制
一种通用模拟量及开关量信号采集板卡的设计
基于上下文定界的Fork/Join并行性的并发程序可达性分析*