收藏 分享(赏)

基于labview的激光引信自动化测试系统软件设计.doc

上传人:无敌 文档编号:26111 上传时间:2018-03-04 格式:DOC 页数:9 大小:97KB
下载 相关 举报
基于labview的激光引信自动化测试系统软件设计.doc_第1页
第1页 / 共9页
基于labview的激光引信自动化测试系统软件设计.doc_第2页
第2页 / 共9页
基于labview的激光引信自动化测试系统软件设计.doc_第3页
第3页 / 共9页
基于labview的激光引信自动化测试系统软件设计.doc_第4页
第4页 / 共9页
基于labview的激光引信自动化测试系统软件设计.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、基于LabVIEW 的 激 光引 信 自 动 化测 试 系 统软件设计 袁伟 张帅 姜毅 上 海 无线 电 设备 研 究所 摘 要: 在激光引信自动化测试系统中, 测试参数繁多, 测试过程复杂, 基于 LabVIEW 传统设计模式的测试软件在功能扩展、后期维护方面显现出明显不 足;针对此问 题, 提出 LabVIEW 扩展型生产者/消费者设计模式, 以测试仪器为基础, 将复杂 测试过程分解成多个单一测试步骤, 采用面向对象技术降低测试步骤间的耦合 度, 利用队列状态机控制多仪器协同工作与多线程并行执行, 实现测试步骤的 有效组合, 最终完成复杂的测试过程;通过在激光引信自动化测试系统中的运用

2、表明, 基于 LabVIEW 扩展型生产者/消费者模式的测试软件可扩展性强、维护方 便, 具有较高的实际运用价值;该设计模式可推广至其他复杂测控软件的设计 中。 关键词 : 自 动测试; LabVIEW; 扩展型生产者/消费者模式; 激光引信; 作 者简 介: 袁伟 (1991-) , 男, 湖北随州人, 硕士, 主要从事自动化测控技术 方向的研究。 Software Design for Laser Fuze Automatic Test System Based on LabVIEW Yuan Wei Zhang Shuai Jiang Yi Shanghai Radio Equipmen

3、t Research Institute; Abstract : In the laser fuze automatic test system, the test parameters are numerous and the testing process is complex.The test software based on traditional design patterns of LabVIEW is obviously deficient in the scalability and maintainability.In order to solve this problem

4、, an extended producer/consumer design pattern of LabVIEW is presented.Based on the test instrument, the complex test process is decomposed into multiple single test steps.Object-oriented programming is introduced to effectively reduce the coupling between test steps.The queue state machine is used

5、to ensure multi-instrument coordination and multi-threaded parallel execution.In this way, an effective combination of test steps is achieved and the complex test process can be ultimately completed.Software based on the extended producer/consumer model has been applied to laser fuze automatic test

6、system, and its scalability and maintainability are verified.The software has a high practical value.Furthermore, the proposed design pattern can also be used in complex measurement and control software developing. Keyword : automatic measurement; LabVIEW; extended producer/consumer model; laser fuz

7、e; 0 引言 LabVIEW 是一种图形化编程应用开发环境, 结合标准虚拟仪器测试平台 (如NI 公司的PXI 平台) , 可以实现快速测试系统的搭建, 成为了当前测试测量领域重 要的软件开发语言1-3。标准状态机设计模式、简单生产者/消费者设计模式、 简单主从设计模式等由于便捷性成为了测试软件主流设计模式4。然而, 激光 引信测试参数繁多, 过程复杂, 需要多种仪器协同工 作, 多线程并行执行。 基于 上述设计模式进行开发, LabVIEW 程序后面板占用面积将急剧提升, 内部中间变 量增加, 软件可维护性降低, 鲁棒性较差。 本文针对上述传统设计模式存在的局限性, 结合激光引信自动化测试

8、系统实际 应用需求, 提出了扩展型生产者/消费者设计模式, 并基于此模式开发了激光引 信自动化测试系统软件。 1 激光引信自动化测 试系统原理 激光引信自动化测试系统通过模拟引信工作环境, 测试激光引信产品性能。 测试 系统需要实现以下功能。 1) 自动加载产品测试信息; 2) 为激光引信产品供电, 实时监测产品消耗电流; 3) 模拟弹上计算机, 与激光引信不间断通讯, 实现目标信息装订与引信工作状 态监测; 4) 模拟目标回波, 可实时对回波信号特性 (幅度、延时等) 进行调节; 5) 实时采集与分析激光引信多种输出信号, 根据分析结果, 控制测试流程; 6) 将测试数据保存至数据库, 同时

9、自动生成数据测试报表。 功能1) 和功能6) 与其他功能相对独立, 其余功能之间相互耦合程度高, 例如 当功能5) 中产品输出信号不正常时, 软件需要在功能 2) 中切断产品供电。本 文主要关注功能2) 至功能5) 的实现与有效整 合。激光引信自动化测试系统硬 件结构图如图1 所示。 自动化测试系统由 PXI 测控系统、4 路程控直流电源、 光 衰减器、 示波器、 信号 调理与测试接口和显示单元等组成。PXI 测控系统包括万 用表卡、开关矩阵卡、CAN 通讯卡、8 路485 串口通讯卡和多通道数据采集卡。 4 路程控直流电源为产品提供所需工作电压;产品加电后, 利用CAN 通讯卡与 RS485

10、 串口通讯卡模拟弹上计算机与激光引信的通讯, 完成激光引信自检、 参数 装订和状态监测等工作;自检与装订成功后, 引信响应外界发射地信号驱动内部 激光器发射激光, 经过光纤与光衰减器组成的光 学回路被激光引信接收并处理, 此时激光引信将针对回波信号输出多种不同的信号, 这些信号被数据采集卡、 示 波器实时采集与分析。 该过程中, 通过改变光衰减器的衰减值, 结合激光引信报 警信号测试激光引信的灵敏度2;通过控制激光回波的延时, 结合激光引信输 出信号测试激光引信的引战延时。 万用表卡测试产品静态电阻, 开关矩阵负责完 成各个信号间的测试切换。 为了保证测试过程中产品的安全, 测试软件需要实时

11、监测电源输出, 同时对引信状态参数进行不间断监 测, 当电源输出或引信状态 发生异常时, 软件需要立即切断电源输出。 图1 激光引信自动化测试系统硬件结构图 下载原图 2 扩展型生产者/ 消 费者模式设计 由系统测试原理可知, 激光引信测试软件需要协调多种仪器工作, 并行执行多 个线程, 包括多种参数测试与状态监测, 测试过程复杂。 传统测试软件设计以功 能实现为出发点, 按照功能开辟线程, 划分软件模块, 每个模块中包含多种仪 器操作, 模块之间耦合度高, 线程的并行执行可能出现不同模块同时访问同台 仪器的 问题, 导致仪器响应出错, 自动化测试无法正常进行。 同时, 多个模块的 并行执行将

12、导致程序后面板循环数量增加, 不同循环之间的数据交换也将增加程序内部中间变量, 造成软件可维护性降低, 鲁棒性变差。 针对上述问题, 充分 考虑可维护性, 本系统软件设计采用扩展型生产者/消费者设计模式。 生产者/ 消费者模式是软件人机交互的重要设计模式之一5-7, 生产者/消费者 模式包含一个生产者循环与一个消费者循环, 利用基于事件结构的生产者循环 响应用户界 面事件, 利用消费者循环处理界面事件, 循环之间通过队列进行数 据交换。 多线程的并行执行需要增加消费者循环数量, 各消费者循环之间的数据 交换通过增加队列或增加中间变量实现, 而队列与中间变量的增加, 将导致仪 器之间协调控制繁琐

13、, 程序紊乱, 可维护性差。为了解决上述问题, 借鉴MVC 模式设计思想8, 将界面层、 控制层、 模型 层解耦, 考虑多线程并行执行能力, 以测试仪器为出发点, 提出扩展型生产者/消费者设计模式。该模式以测试仪器 为基础, 为每台测试仪器开辟独立线程, 将复杂功能测试分解成多个单一测试 步骤在不同仪器线程中执行, 同时在相关仪器线程中完成状态参数的监测, 顶 层程序仅负责测试步骤的分解与测试结果的收集与显示。 分层设计将避免不同线 程同时访问同台仪器的问题, 各个仪器线程间相互独立, 没有直接的数据交换, 程序间的耦合度降低, 可维护性提高。 图2 给出了该模式的体系结构, 从下至上 依次为

14、Driver 层、Test 层、Controller 层、UI 层。Driver 层, 为底层仪器控 制驱动层, 利用VISA 函数进行控制指令发送与数据反馈接收, 控制仪器单一动 作;Test 层响应来自 Controller 层的指令, 负责整合仪器动作, 完成简单的单 一测试步骤, 例如电源的打开与电流的读取;Controller 层负责解析来自 UI 层 的测试指令, 将解析后的指令分发给 Test 层;UI 层负责与用户交互。跨越层级 之间无法直接进行数据与信息交换, 各层级之间相互独立, 耦合度低。 图2 扩展型生产者/消费者模式体系结构 下载原图 如图2 所示, UI 层响应 用

15、户界面操作后, 将相关测试任务传递给Controller 层, Controller 层将复杂测试任务按照测试仪器进行分解, 然后分发给Test 层相关 的仪器线程, 通过调用 Driver 层的底层vi 完成任务。 各层级之间均采取双向通 讯机制, 保证通讯的正确性。 2.1 Driver 层 设计 Driver 层为底层仪器控制层, 利用VISA 函数控制仪器单一动作。 扩展型生产者 /消费者设计模式以测试仪器为基础, 采用面向对象技术将不同仪器封装成类, 仪器VISA 资源名称与相关测试参数为该仪器类的私有数据, 相关动作被封装成 该仪器类的方法。 增加仪器动作只需增加类的相应方 法,

16、程序可扩展性增强。 激 光引信自动化测试系统软件中, 将电源、 示波器、 光衰减器、 数据采集卡、 通讯 卡、 万用表卡、 开关矩 阵卡等封装成不同的类, 所有仪器动作都被封装成类的方 法。以电源为例, 封装电源类如图 3 所示。 图3 电源类封装 下载原图 根据类的私有特性, 各台测试仪器、 板卡之间严格相互独立, 面向对象技术的引 入从最底层降低了测试软件的耦合度, 同时提高了软件的内聚性与安全性。 2.2 Test 层设计 Test 层需要响应来自 Controller 层的命令, 通过调用Driver 层vi 执行动作。 Test 层中, 对每一 台 仪器开发 独立线 程, 采 用事件

17、驱 动的队 列状态 机组织程 序, 每个线程拥有各自独立的通讯队列, 该队列与 Controller 层双向通讯, 接收命 令后引导线程实现状态切换与动作执行。Test 层的执行动作与条件分支一一对 应, 增加动作, 只需增加相应条件分支即可, 程序可扩展性增强。 同时, 利用事 件结构中的超时分支可以实现信号的连续采集, 采集时间间隔与超时时间对应。 Test 层工作流程如图 4 所示。 图4 Test 层工作流程 下载原图 以电源线程为例, 激光引信自动化测试系统中, 需要反复重启电源, 同时需要 实时监测电源输出状态, 保证系统供电正常。程序设计中, 超时时间设置为 100ms, 即电源

18、输出采样频率为 10Hz。电源线程具体程序设计如图 5 所示。 图5 电源线程程序框图 下载原图 2.3 Controller 层设计 Controller 层控制多台测试仪器协同工作, 将来自UI 层的复杂测试 过程按照测 试仪器分解至Test 层不同仪器线程中执行。该层通过静态调用的方法加载运行 所有仪器线程, 同时获取所有线程的特定队列, 通过队列与Test 层双向通讯, 程序设计如图6 所示。 图6 静态调用多个线程 下载原图 Controller 层将复杂测试过程分解成多个仪器动作的集合, 并建立对应测试数 组, 测试开始时, 将测试数组中的所有测试步骤压入测试队列, 通过元素出队

19、列将数组元素 (测试步骤) 在不同分支分发给不同的仪器线程。 测试过程复杂度 与数组大小对应, 更改或扩展测试过程只需更改或扩展其对应数组, 避免了复 杂测试过程带来的程序后面板占用面积急剧增加的问题, 代码可维护性得到较大提高。Controller 层基于生产者/消费者设计构建, 事件结构的生产者循环用 于响应UI 层的操作。激光引信自动化测试系统 Controller 层整体程序如图 7 所示。 图7 Controller 层程序框图 下载原图 2.4 UI 层设 计 UI 层负责与用户交互, 通过按钮、开关和仪器仪表等控件控制系统的运行, 并 且可以实时、直观地观测动态数据的变化9, 需

20、要简洁直观。激光引信测试系 统UI 界面如图 8 所示, 包括:1) 自定义菜单;2) 测试进度栏, 可以监视测试进 程;3) 信号采集显示区;4) 测试数据显示区;5) 电流监测区, 保证系统供电安 全;6) 测试选项区。UI 界面操作仅仅包括全选、开始与结束按钮, 简化用户操 作, 实现一键测试功能。 图8 激光引信自动化测试软件主界面 下载原图 3 基于扩展型生产者/ 消费者模式的产品 参数测试与状态监测实现 激光引信自动化测试系统主要对产品进行电阻测试、 灵敏度测试、 开 机延时测试 以及引战延时测试, 同时为了保证产品安全, 需要对产品工作状态与消耗电流 进行监测。 3.1 电阻 测

21、试 为了避免产品短路, 加电前, 必须对其进行静态电阻测试。 电阻的自动化测试涉 及两个线程, 分别为开关矩阵线程与万用表线程。 开关矩阵实现测试点之间的切 换, 万用表卡实现电阻的测量, 二者协同工作。在 Controller 层中, 将电阻测 试任务分解, 建立测试数组, 测试时将测试数组中的所有元素 (测试步骤) 压 入测试队列, 测试步骤在不同分支被传递至上述两个线程。首先通知 Test 层中 的开关矩阵线程完成测试点的硬件连接, 收到完成连接的反馈后, 通知 Test 层 万用表卡线程开始电阻测试, 测试结果回传给Controller 层继而在UI 界面上显 示, 然后通知开关矩阵线

22、程切换测试点, 重复上述过程, 直至完成所有测试点 电阻测试。 3.2 灵敏 度测试 灵敏度体现了激光引信产品的探测能力, 是重要的技术指标之一。 利用光衰减器 模拟激光回波在大气中的传输损耗, 通过改变光衰减器的衰减值改变激 光回波 的能量, 找出使激光引信报警的临界光衰减值作为引信的灵敏度值。 灵敏度测试 涉及电源线程、光衰减器线程与数据采集卡线程。同样在 Controller 层中将该 任务分解, 建立测试数组压入测试队列。首先通知 Test 层中的电源线程打开电 源, 接收电源开启成功反馈后, 通知光衰减器线程设置初始光衰减值, 接收设 置完成的反馈后, 查看采集卡线程采集的激光引信输

23、出报警信号, 如果报警信 号正常输出, 则通知光衰减器线程增加光衰减值, 重复上述操作, 直至报警信 号消失, 将此时的光衰减值作为系统的灵敏度值。 然后通知光衰减器 线程切换光 衰减器, 重复上述过程, 直至完成所有6 路窗口的灵敏度测试。 3.3 开机 延时与 引战 延时 测试 开机延时的设置是为了保证引信在安全距离内处于关机状态, 确保发射装置与 人员的安全性;而引战延时的设置是为了给目标造成最大杀伤效果, 提高引战配 合效率。 开机延时与引战延时测试涉及电源线程、 示波器线程与 CAN 通讯卡线程。 测试开始时, 在Controller 层中将各自测试步骤以测试数组的形式压入测试队 列

24、。 开机延时测试时, 首先通知电源线程打开电源, 接收到电源开启反馈后, 通 知示波器线程切换至单次触发采集模式, 采集引信发射地信号与开机信号, 二 者的延时即为开机延时。 引战延时测试时, 首先通知 CAN 通讯卡线程完成目标状 态信息 (高低温、 目标速度等) 的装订, 装订完成后通知电源线程打开电源, 接 收到电源开启反馈后, 通知示波器线程切换至单次触发采集模式, 采集引信报 警信号与引信起爆信号, 二者的延时即为引战延时。 随后, 通知CAN 通讯卡线程 更改目标状态装订信息, 重复上述测试过程, 直至完成所有目标状态的引战延 时测试。 3.4 引信 状态监 测 测试过程中, 为了

25、保证被测产品的安全, 需要实时监测引信的工作状态与电流 消耗。 利用RS485 串口通讯卡模拟弹上计算机与激光引信的通讯, 在 RS485 串口 通讯卡线程中按照既定通讯协议实时解析引信上传的状态信息, 并回传给 UI 界 面层显示。电流监测通过 Test 层中电源线程的超时分支实现, 监测采样频率为 10Hz 。 参数测试与状态监测过程中, 测试结果不合格或激光引信状态出现异常时, 程 序将立即通知电源线程切断电源输出, 随后清空 Controller 层测试队列, 终止 测试, 同时在 UI 界面中给出相应测试异常提示。 4 软件运行测试与结 果分析 软件实现一键测试功能, 只需点击“开始

26、测试 ”按钮, 即可完成激光引信的全 自动化测试, 操作简单、 方便。 测试主界面如 图 9 所示, 测试显示区实时显示了 电阻、 开机延时、 灵敏 度以及引战延时的测试结果, 测试进度栏显示实时测试进 程, 人机交互友好。 软件拥有故障定位功能, 对产品植入故障时, 软件能准确分析并定位出故障位置。 系统目前运行超过一年, 在长时间的测试过程中, 软件运 行稳定。 图9 激光引信自动化测试软件运行界面 下载原图 抽取一套正常激光引信产品 (传统手动测试方法测试通过) 进行测试, 部分参 数软件自动测试结果与传统方法测试结果对比如表 1 所示。 可以看出, 软件自动 测试结果准确, 与传统手动

27、测试结果符合较好。 表1 自动测试结果与传统测试结果对比 下载原表 5 结束语 从激光引信自动化测试系统实际需求出发, 开发了基于扩展型生产者/消费者模 式的激光引信自动化测试软件, 引入MVC 模式设计思想与面向对象技术, 软件 可扩展性、可维护性提高。经测试证明, 软件界面友好、运行稳定、便于维护、 可扩展性强。本文提出的扩展型生产者/消费者模 式对复杂自动化测控软件开发 具有一定的参考意义, 基于此模式的激光引信测试软件具有较高的实际运用价 值。该设计模式可推广至其他复杂的测控软件设计中。 参考文献 1 廖开俊, 刘志飞.虚 拟仪器技术综述J. 国外电子测量技术, 2006, 25 (2

28、) :6-8. 2 吴广业, 赵忠伟, 张玉钧.基于 LabVIEW 激光引信回波模拟装置设计J.光 学与光电技术, 2012, 10 (1) :59-61. 3 吴晖, 祁晓野.基于PXI 和LabVIEW 的通用数据采集系统设计J. 计算机测量 与控制, 2015, 23 (5) :1686-1688. 4 陈树学, 刘萱.LabVIEW 宝典M. 北京:电子工业出版社, 2011. 5 黄文君, 王华忠, 杨飞.MDPlus 实时数据采集系统J.测控技术, 2014, 33 (2) :16-19. 6 董延军, 李兴生.LabVIEW 多核编程技术在局域网文件传输中的应用J.测 控技术, 2014, 33 (9) :113-115. 7 冯冬芹, 廖智 军, 金建祥. 基于以太 网的 工业控制 网络实时 通讯 模型研究J. 仪器仪表学报, 2005, 26 (9) :891-894. 8 任中方, 张华, 闫 明松.MVC 模式研究的综述J.计算机应用研究, 2004, 10:1-4. 9 林若波.基于LabVIEW 的电机调速数据采集与处理系统J.测控技术, 2012, 31 (7) :16-19.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报