基于TestStand与LabWindows/CVI的通用测试平台开发研究

【摘要】测试系统的发展经历了从专用型向通用型的演变过程。早期的测试系统主要是针对具体的被测对象型号或系列,测试系统间互不兼容,缺乏互操作性,测试资源重复配置、利用率低,支持保障费用高昂。近十几年来,通用测试系统的开发已成为主流。本文使用LabWindows/CVI与TestStand搭建简单的测试平台。

【关键词】LabWindows/CVI;TestStand;通用测试

1.引言

本文使用LabWindws/CVI作为测试系统前台开发工具负责编写人机交互界面以及对后台的控制程序;TestStand作为系统后台负责对测试系统软硬件资源进行统一的调度与管理,从而实现测试系统与软件界面的隔离,即编写测试系统软件界面时不需要编写和测试系统相关的代码,只需和TestStand后台进行通信,大幅减少了重复代码,缩短了测试系统的开发周期。同时,用于前台程序中不涉及设备及仪器的信息,因此更换设备时也不需要对前台应用程序进行修改,即测试平台界面是专用的,后台是通用的。

2.软件平台体系结构

近些年,自动测试系统软件平台得到快速发展,国内外厂家相继加大了对其的投入,目前国外代表产品为美国NI公司的Teststand自动测试系统软件平台,该平台被美国洛克希德・马丁公司采用,应用于美***F35战机的综合保障系统中,结合美国NI公司的自动测试系统软件产品,对自动测试系统软件平台的体系结构和重要组成进行详细分析,现代主流自动测试系统软件平台的体系结构如***1所示,整个软件平台由驱动程序库、测试程序开发软件、测试系统管理软件、二次开发工具软件等4部分组成[1]。

***1 测试系统平台结构

下面对这4个部分进行分别介绍:

2.1 驱动程序库

驱动程序库是仪器控制的基础,其来源是主流仪器制造商的***网站,如Aglient、NI、RS等公司都提供了驱动程序***服务。自动测试系统软件平台厂商也会根据需要开发第三方公司的仪器驱动程序。主流公司提供的驱动程序普遍符合IVI规范,这为测试系统集成商提供了便利,驱动程序的首选开发工具为NI公司的Labwindows/CVI。

2.2 测试程序开发软件

测试程序开发软件是进行测试程序开发的工具,典型产品包括NI公司的LabVIEW、Labw indows/CVI、微软公司的Visual Studio、.Net,安捷伦公司的Aglient VEE,TYX公司的PAWS等。在传统自动测试系统中测试程序是一个庞大的集合,仪器控制、数据处理等工作全部由一个单一的程序实现,其形式多为exe可执行文件。而在现代自动测试系统中测试程序的粒度更小、功能更明确,如信号源控制、功率计控制就被分解为两个测试程序。其形式多为DLL动态链接库、.net程序集。而将小粒度测试程序组合在一起的工作就由测试序列开发与管理软件来完成。NI软件平台将这些小粒度的测试程序称为模块。

2.3 测试系统管理软件

测试系统管理软件负责测试序列,测试资源,测试数据的统一调度与管理。其典型产品包括NI公司的Teststand、中电41所的TestCenter,中科泛华的TestOnDemand等,通过软件适配器技术来运行LabVIEW、Labwindows/CVI、VC、C#、PAWS等多种语言开发的测试程序,软件适配器是一个格式转换器,用于将平台侧的调用和数据格式转化为符合目标语言规范的调用和数据格式。

2.4 二次开发工具软件

二次开发工具软件用于为用户定制提供需求。一般而言,测试系统软件平台安装时会安装预置的测试程序(插件)和典型的操作员界面,但这无法满足所有实际工程的需求。

二次开发包括如下三个部分的开发:测试程序开发、测试序列开发、用户界面开发。

传统的专用测试平台将这3个部分放在一起由一个或几个程序开发平台(如VC++6.0,LabVIEW等)完成。这样的平台功能模块间相互依赖性强,程序编写复杂,对编程要求较高,不利于分工合作,其鲁棒性,可阅读性高低非常依赖于编程人员的编程水平。

通常情况下从设计最初的界面直到最终用户满意的界面需要界面开发人员对程序修改很多次,增加了出现程序异常的几率,有时候甚至因为基础框架搭建不合理而需要重新编写,而如果将二次开发的三个部分放到一起,必然会加重程序开发人员的负担。

尤其是编写大型,复杂的测试系统时,大量的软硬件测试资源、全局变量,复杂的测试序列时序依赖关系及异常处理与故障诊断等,都是对编程人员的软件开发及后期维护的重大考验,大幅增加软件开发的周期和维护的成本,***2是传统测试系统软件平台框架。

***2 专用测试系统软件结构

***3 加入TestStand后的通用测试平台架构

为解决上述问题,可将二次开发的三个部分分开成为相对***的模块,通过测试管理软件TestStand等将测试程序和用户界面联系起来。这样模块间的依赖性大幅减少,不同部分的全局变量相互***、互不影响,用户界面开发人员只需要不断完善修改界面相关的代码来满足客户的使用需求即可,而不需要考虑具体功能的实现,程序的通用性,开放性,可扩展性显著增强,重复代码量下降,开发周期缩短。***3是加入TestStand作为测试管理软件后的平台框架。

3.测试平台软件介绍

3.1 TestStand

TestStand是一种可以自定义的测试管理环境,用于对各种自动化模型和测试系统进行加载、控制、优化和扩展。通过TestStand,对系统进行修改、调试和完善,可以建立起符合需要的各种自动化测试系统。

TestStand可以加载.NET、LabWindows/CVI和LabVIEW、VB、JAVA、C、C++等多种测试编程环境,还可以运行己经编译成动态链接库(DLL)的测试代码、ActiveX服务器和EXE可执行文件。这使得测试系统中测试步骤的执行顺序、测试步骤的执行和测试报告的生成等工作都可以用TestStand来实现。TestStand的功能完全由客户定义。为满足特定需求,您可自行对其进行功能修改和改进,例如定义操作界面,报告生成格式,或根据需要定义执行顺序等。建立在高速、多线程执行引擎基础上,TestStand的性能可满足最严格的测试吞吐量要求。利用TestStand,用户可让工程师将精力集中在更重要的任务上,象为产品建立测试策略,再考虑如何利用这个策略开发出应用程序等,而相对简单的工作,如运行顺序,执行和报告生成等,将由TestStand处理完成。

TestStand的优势:

减低测试系统的整体成本;提高开发效率;增加测试速度。

TestStand特性:

可立即运行,由用户定义测试执行;交互式开发环境建立测试顺序;用户选择XML,HTML,ASCII和数据库输出;高速并行顺序执行;源代码控制应用程序集成;执行引擎可调用任何语言或格式的程序。

3.2 LabWindows/CVI

NI公司的LabWindows/CVI是一个久经验证的用于测试和测量的ANSI C开发环境,极大地提高了工程师和科学家们的生产效率。他们使用LabWindows/CVI来开发高性能的、可靠的应用程序,用于制造测试、***事/航天、通讯、设计验证和汽车工业等领域。开发人员可以在设计阶段利用LabWindows/CVI的硬件配置助手、综合调试工具以及交互式执行功能,来运行各项功能,使得这些领域的开发流水线化。使用内置的测量库,你可以迅速的开发出复杂的应用程序,例如多线程编程和ActiveX的服务器/客户端程序。

由于LabWindows/CVI的便利性,你可以通过在相似环境中重复使用以前的代码来维护你的代码投资,并且实现Windows、Linux®或实时平台上分布测试系统的无缝集成。

4.通用测试平台软件设计

通用测试平台软件编写工作主要包括三个方面:测试程序的编写、测试序列(测试流程)的编写、用户界面的编写。

***4 测试平台与测试序列、测试程序的关系

4.1 测试程序

测试程序是该测试平台的最小的单位,可以是TestStand提供的一些通用操作,也可以是用户自己编写的函数模块。

由TestStand提供的通用操作包括测试流控制、函数操作、数据库操作、弹出式窗口、其他测试序列的调用,其他应用程序的调用等。

而由用户自己编写的模块包括仪器控制、算法、和用户界面交互相关函数、软硬件资源管理、测试报表操作等。TestStand支持LabVIEW编写的后缀名为.vi的程序,LabWindows/CVI、VC++6.0、.NET、ActiveX/COM等封装的后缀名为.dll的动态链接库,HTBASIC封装的.prg程序等。

4.2 测试序列

TestStand将一个完整的测试流程称为“序列(Sequence)”,其中可以存在很多“步(step)”,每一步可以是下面几种类型:测试程序调用(Action)、测试序列调用(Sequence Call)、语句(statement)、流程控制(顺序、分支、循环等)、数据库操作等。

4.3 用户界面

用户界面是测试操作人员直接面对的界面,是该测试平台的最上层,测试人员需要和使用方沟通来确定使用什么开发环境,根据用户需求更改并美化使用界面。

5.总结

本文使用Labwindows/CVI与TestStand进行了通用测试平台的搭建,限于相关技术和软硬件设备限制,仅实现了基于NI DAQmx,NI Scope的驱动的设备的编程,经测试,该结构能够有效的减少重复代码编写,提高测试系统软件的编写效率。

参考文献

[1]宋斌,方葛丰,刘毅.自动测试系统软件平台TestCen-ter体系结构设计与分析[J].测控技术,2013(8):115-118,122.

[2]于建林,唐晓莉,丁国兴.基于TestStand的测试系统及应用[J].国外电子测量技术,2004(2):6-7,9.

[3]王琳,商周,王学伟.数据采集系统的发展与应用[J].电测与仪表,2010(8):4-8.

[4]余思文.DAQmx自动化测试系统的改进与实现[D].复旦大学,2012.

[5]郑丽,张蕊.基于TestStand的TPS开发设计[J].光电技术应用,2013(10):81-84.

作者简介:丁宁(1989―),男,吉林长春人,中北大学信息与通信工程学院硕士研究生在读。

转载请注明出处学文网 » 基于TestStand与LabWindows/CVI的通用测试平台开发研究

学习

“意在笔先”?“笔在意先”?

阅读(31)

本文为您介绍“意在笔先”?“笔在意先”?,内容包括意在笔先全文译文,意在笔先意在笔后。摘要:如同任何事情都有一个约定俗成的规律一般,一幅绘画作品的完成,从构思、起稿、制作直至完稿的整个过程,有着自然而正常的顺序。在中国画写意作

学习

百川归大海

阅读(30)

本文为您介绍百川归大海,内容包括百川东流归大海下一句,百川争流归大海的下一句。用几件事来表现一个主题,是指通过对两件以上的事情的叙述和描写,反映出某种社会现象和特定的时代特点,以及某种哲理认识等。所写的几件事与主题关系犹如百川

学习

十大疯狂科学家

阅读(39)

本文为您介绍十大疯狂科学家,内容包括十位疯狂的科学家,疯狂科学家改造人类。提到科学家应该是被人敬仰的,但是接下来的十位科学家却是疯狂的,所做之事令人惊愕、让人憎恶。1、弗拉迪米尔・德米霍夫:双头狗之父1954年,苏联外科医生弗拉迪米

学习

塞尚的艺术精神

阅读(46)

本文为您介绍塞尚的艺术精神,内容包括塞尚为什么是现代艺术之父,塞尚谈艺术。【内容摘要】后印象派认为在绘画时画者要用自己的主观情感去描绘客观事物,不需要在乎画面中这些客观事物的外形,于是注重于事物的外形、色彩以及体积的构成关系

学习

采油螺杆泵故障原因分析及对策

阅读(42)

本文为您介绍采油螺杆泵故障原因分析及对策,内容包括单螺杆泵常见故障及处理方法,输油螺杆泵故障与排除。介绍了螺杆泵的结构、工作原理和特点,并针对其在使用过程中出现的问题进行分析,并提出了相应的对策。螺杆泵作为一种油田采输工艺技

学习

神秘哀牢山,风情花腰傣

阅读(33)

本文为您介绍神秘哀牢山,风情花腰傣,内容包括哀牢山花腰傣,秘境哀牢山风情花腰傣。如果把世界看做星空,每一个人都有自己存在的位置,可以凭借自身的光芒无限上升,便摆脱了无数的纷争。这是哀牢山的晦暗和博大,我来过。而在哀牢山下,生活着王

学习

翰墨飘香伴夕阳

阅读(26)

本文为您介绍翰墨飘香伴夕阳,内容包括翰墨飘香溢风采诗句,翰墨飘香最好的对联。近日,笔者收到诗友眭明朗赠送的《江山花木诗书篇》一书,细读起来,发现他的诗词既有丰富的想象力,又符合格律。这是他汇集退休后创作的数百首诗词和部分书法作品

学习

风吹皱一池春水,干卿底事

阅读(28)

本文为您介绍风吹皱一池春水,干卿底事,内容包括吹皱一池春水原文,吹皱一池春水干卿何事原文。倾城:我很想把自己的生活和工作理清思路,想想自己接下来怎么过好。事实上,这种状态已经持续一年多了。我一直在找出路。2013年,我失去我心爱的人,

学习

皮尔逊Ⅲ型频率分布在气象灾害风险评估中的应用

阅读(32)

本文为您介绍皮尔逊Ⅲ型频率分布在气象灾害风险评估中的应用,内容包括皮尔逊频率曲线纵坐标怎么设计,皮尔逊频率曲线对人体有什么影响。本文简单介绍了皮尔逊Ⅲ型曲线(Pearson-Ⅲ)基本理论知识及绘制方法,并以南通港洋口港区陆岛通道管线

学习

汪敏在危机中寻找机会

阅读(25)

汪敏著名收藏家文化部艺术品评估委员会委员《中国文物精品珍藏选》系列丛书执行主编著名书画鉴定家如约到收藏家汪敏家里访问。一进门,笔者一下子就“傻了眼”,只见近百平方米的客厅,除了一条通往内室的小道,一块十来平方米的地方摆着沙发茶

学习

产品设计之美

阅读(26)

本文为您介绍产品设计之美,内容包括产品设计越简单越好,产品设计解析。美的设计是超越使用功能因素的精神创造,不仅能帮助人们解决生活中的各种难题,更能带给使用者精神享受,在功能与形式之间达到平衡,让人觉得有浑然天成的舒适感,这是于我认

学习

从对立统一规律看人性的善与恶

阅读(47)

本文为您介绍从对立统一规律看人性的善与恶,内容包括人性的善与恶的中心思想是什么,人性本恶是人性论的核心思想。【摘要】随着当前经济的快速发展,不断暴露的社会矛盾已成为人们生活中的热点问题之一。怎样正确处理当前社会矛盾,如何看待

学习

高中女生蔡青的青春表达

阅读(23)

“妈妈,我将来想要做一名律师。”高一时,蔡青自信满满地宣布。“做律师很忙的,你结婚了之后怎么办?女孩子家的,算了吧。”妈妈回答道。3年前,这段母女间的平常对话,让之前从未觉得男女有很大不同的蔡青,突然感到不公与愤慨,“一直是我的榜样的、

学习

葫芦藤儿越墙来

阅读(31)

我相信随着孩子年龄的增长,他会慢慢变得豁达,慢慢懂得如何处理邻里关系。一根葫芦藤贸然越过墙头,沿着晾衣绳爬上桂花树,不久,那根藤长出了很多小藤,布满了桂花树。等儿子发现这个不速之客时,藤上已开满了白花,并结出几个小葫芦,把整个桂花树打扮

学习

基于XDS的医学信息共享平台初步探索与研究

阅读(28)

【摘要】随着医疗技术的改革,加上计算机信息技术高速发展,越来越多的共享技术运用到了医疗服务行业,并且相关的标准制定也在日益的完善当中。患者的信息处理对于医疗机构来说是一件极其重要的工作,它是整个医疗机构工作的前提和基础,其中包含

学习

电梯公共服务平台物联网技术论文

阅读(29)

本文为您介绍电梯公共服务平台物联网技术论文,内容包括电梯物联网应用技术,物联网电梯方案模板。1平台非功能性分析电梯公共服务平台作为一个开放的支持和服务系统,它的非功能性需求包括系统性能、系统安全性、可靠性、可互操作性、易用

学习

Windows Mobile平台

阅读(24)

本文为您介绍Windows Mobile平台,内容包括windowsmobile中文版,windowsmobile使用感受。多普达838处理器:TIOMAP850195MHz内存:128MBROM/64MBRAM显示屏:TFT触控式(2.8英寸/240×320像素分辨率/65536色)摄像头:130万像素无线连接:蓝牙1.2/红外线

学习

网络虚拟实验室仿真实验平台的设计

阅读(40)

本文为您介绍网络虚拟实验室仿真实验平台的设计,内容包括艺术虚拟仿真实验室设备,虚拟仿真实验室建设可行性方案。本文介绍了一种基于Web技术的虚拟实验室仿真实验平台的构建方法。这种方法能够节省资金,使实验不受时间及空间的限制。依

学习

车载信息娱乐系统的软件平台

阅读(43)

如今的汽车已经是由电子产品包装起来的科技胶囊。在车身控制、安全防盗和信息娱乐等各类汽车电子产品中,信息娱乐产品最接近普通的消费电子产品,是电子优势厂商最容易进入的市场。同时,电脑已经成为包括汽车信息娱乐产品在内的大多数电子产

学习

医学院基础医学平台创建

阅读(27)

本文为您介绍医学院基础医学平台创建,内容包括医学院校成果转化实施办法,基础医学国家平台。1实验室体制的改革及建立中心实验室的初步成果1.1体制改革经过多年教育教学体制的改革,我校实验室管理体制从旧的以教研室为主体的封闭式体制中

学习

智慧停车云平台

阅读(23)

本文为您介绍智慧停车云平台,内容包括智慧停车云平台工作方案,智慧停车云服务平台是什么。北京紫光百会科技有限公司推出的“智慧停车云平台”解决方案,正在加速解决北京的停车难题开车外出到达目的地之后,拿出智能手机,自己所处位置周边哪

学习

论通用变频器的主要故障与维修措施

阅读(25)

本文为您介绍论通用变频器的主要故障与维修措施,内容包括所有变频器故障代码通用吗,理解引起通用变频器故障的原因。摘要:随着现代控制理论、微电子技术和电力电子技术的不断进步,推动了通用变频器的不断发展,同时也使其工作原理和检修