曹明明
西安泛华科技开发有限公司,陕西 西安 710061
摘要:针对舰员在对电子装备进行维修保障时,能够快速的创建装备TPS(测试程序集),将TPS所有要求进行模块化封装,舰员在创建时只需按照创建规则进行连接保存,即可创建完成。
关键词:TPS;测试程序集;图形化
0 引言
当前,随着电子设备的功能日益强大,对ATE(自动化测试设备)的维修保障功能提出了更高的要求。如何能够快速、便捷地根据测试需求开发出TPS(测试程序集),完成对被测装备的维修、保障,是每一个ATE供应商重点考虑的课题。
现阶段,主流的开发方式是采用Visual Studio、LabVIEW及CVI等开发环境,完成TPS源程序的编写、调试,最终以独立的文件(如DLL、EXE、OCX等)供其他软件调用。
1 设计方法及目的
主流开发环境强大的软件功能、灵活的编程方式毋庸置疑,但其同时也具有开发周期长、入门门槛较高的缺点。开发者需学习开发环境的使用方法及编程规范,才能进行TPS程序的开发。由于各开发环境所使用的语言、编程方式存在差异,进而导致各开发环境开发的TPS程序之间的可互换性也有待完善。
本方案充分借鉴了主流开发环境的编程方式,旨在降低开发环境对软件开发人员的素质要求,降低开发门槛。同时,提供了统一的文件规范,按照此规范开发的TPS程序可在各主流开发环境之间通用,增强了TPS程序的互换性。
2 总体设计方案
本方案充分考虑了开发环境的易用性及TPS程序的通用性。
2.1软件界面
在软件操作方面,采用了流程图的编辑模式,界面如图1所示。各部分组成及功能如下:
①标题栏:显示软件标题;
②菜单栏:提供软件的功能菜单;
③编辑区:测试流程的编辑区域;
④参数配置栏:配置功能单元的相关参数;
⑤功能选择栏:将各功能模块分类进行组织,开发时从中选择相应的功能模块,拖拽至编辑区后进行配置;
⑥状态监控栏:监视程序的执行过程、变量等信息。
.png)
2.2操作流程
首先,需从“功能选择栏”中选择功能模块,如配置采集任务、读取测量数据、分析数据等 。将功能模块拖拽放置在编辑区中,并配置相关参数。
其次,按照测试流程依次用连线连接各功能单元。
最后,编译调试TPS程序,排查程序中的错误。完成后,将TPS进行保存。
具体测试流程图见图2-1。
.png)
若将功能单元放置在容器单元(可包含其他功能单元的单元,如流程控制单元的While单元),则功能单元隶属于容器单元,其执行流程由容器单元控制。如图2-2所示,“采集模块”、“数据分析(求均值)”两个节点隶属于While循环节点,其执行次数由While循环节点的配置参数控制。
b)配置功能单元
功能单元添加至编辑区后,需在“基本属性”列表中对其参数进行配置。不同种类的功能单元配置参数存在差异。模拟量采集任务的功能单元参数配置界面如图1的④⑤操作区所示。
c)流程配置
各功能单元放置在编辑区且配置完毕后,可通过连接依次连接各功能单元,各功能单元的执行顺序为:先执行连线的起始功能单元,再执行连线终止的功能单元。流程配置界面如图1的③操作区所示。
d)编译调试
流程配置完毕后,需对程序进行编译,检查程序中的错误。错误信息包括:配置参数不正确、执行流程不合理等。通过单击错误描述,可在编辑区中定位错误源。在调试过程中,编译的输出结果输出至界面中,如图1的⑥操作区所示。
2.4流程存储
TPS程序开发完成后,若编译后无错误,则程序将存储至TPS程序中。程序文件采用XML文件的形式,文件中节点出现的顺序即为执行顺序,节点的属性即为配置参数,节点的包含关系即为节点功能单元的嵌套关系。程序文件与流程的对应关系见图4。
3 设计的关键点
本方案采用图形化的方式开发TPS程序,程序中所有的任务、流程控制结构均以图形元素的形式展示。相比传统的文本编程方式,具有形象直观、编程门槛低的特点,要求开发人员基本绘制流程图的能力即可。同时,采用连线的方式控制节点的执行顺序,便于程序调试。
开发的TPS程序以XML文件的格式进行存储。程序文件中包含的信息有:功能单元的配置信息、执行顺序、中间变量定义等。开发人员可依据此信息,采用自己熟悉的编程方式(如LabVIEW),编写脚本程序自动生成TPS发布包。
4 结束语
相比现有技术,本方案所采用的图形化开发方式(G语言)极大的降低了开发人员的学习成本。开发人员只需要将功能模块从功能选择栏拖拽至流程编辑区,进行必要的配置即可。
参考文献:
【1】李志宇,黄考利,连光耀,基于测试性设计的软件故障注入研究综述,计算机测量与测控,2013,21(5):1112-1117。
【2】白天,郭明,电路板TPS验证评估系统设计,电子设计工程,2011,19(13):127-129。
作者简介:
曹明明(1984-),男,汉族,陕西高陵人,工程师,大学本科,主要从事电子武器装备软件自动化测试执行与研究,GJB5000A、GJB9001C相关管理工作。