微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 测试测量 > 基于NI TestStand 和LabVIEW 开发模块化的软件架构

基于NI TestStand 和LabVIEW 开发模块化的软件架构

时间:07-09 来源:mwrf 点击:

行业趋势:当今市场上的挑战

当今企业所面临的挑战之一是测试成本越来越高。由于设备的复杂性不断增加,所以测试这些设备的成本也在不断提高。因为测试对于产品质量至关重要,而更加复杂的电子设备需要更新式、更先进的测试仪器,所以产品的测试成本过高,无法与其较低的制造成本保持一致。

当今,测试工程师身处在这样一个产品开发环境之中:
• 产品设计比前几代更加复杂
• 为保持竞争力并满足市场需求,开发周期不断缩短
• 预算不断缩减,但产品测试却越来越昂贵

模块化测试框架:软件定义的测试方法

为了满足缩短开发周期、实现较大范围的产品组合、减少预算以及完成更复杂产品的挑战,测试工程师们不得不放弃专一的、针对特定应用的交钥匙测试系 统。这些系统缺少灵活性,难以适应和添加新功能来更新测试更新、更复杂的产品,因此,传统解决方案,例如静态机架式仪器或专用的“big iron”ATE系统都无法有效地满足当今的市场需求。

为满足这些需求,测试经理和工程师们转向了基于行业标准的模块化、软件定义的测试架构,它可以提供:
• 增加测试系统的灵活性,能够添加新的功能并适应它们所需要的新技术
• 可扩展性,根据需要增加新的功能(和仪器)
• 通过减少前期投资成本及维护成本来降低测试系统成本,同时增加设备和代码的重用率
• 通过硬件抽象层降低硬件折旧的风险

设计高效的模块化测试系统需要的架构是能够分离出测试系统(图1)的不同组成部分--主要是将测试代码和仪器之间以及测试代码和总体测试管理架构之 间解耦。这种将测试系统模块化地解耦为不同的组成部分,以及通过软件定义仪器功能的能力是更快更经济地开发灵活测试系统的关键因素。

图1. 测试系统架构

测试管理软件:NI TestStand

一个自动化测试系统需要执行诸多任务和测量操作步骤,其中有些操作是针对特定的被测设备(Device under test, DUT),而其它的则是适用于各种被测设备。传统的测试系统通常将两种操作类型整合到同一个单一的软件层。在这种范式下,当项目的要求发生变化时,测试系 统的每个部分都需要更改,并且代码的重用变得非常繁琐。

一个模块化的测试系统架构需要明确划分系统级任务与DUT级任务。系统级任务对于每一个设备(测试管理软件)通常是相同的,而DUT级任务对于每个 测试设备(测试代码)是不同的。如图表1所示即为DUT级和系统级任务间的区别。这种划分使得测试工程师们能够快速地重用、维护和修改测试管理软件的组 件,而不会影响实际的测试代码,反之亦然。

表1. 测试管理软件任务与测试开发软件任务

NI TestStand是 NI推出的一款功能强大、可立即执行的测试管理软件,用于开发、部署及执行测试系统软件(如图2所示)。其核心在于NI TestStand是一个测试执行程序,允许测试人员按照序列调用测试代码,而且该代码可以由任何编程语言编写。此外,NI TestStand 还提供了现成可用的常见测试管理软件功能,如下所列:

• 将结果记录到任何OLEDB或ODBC数据库
• 报告可以生成多种格式,包括HTML、文本、XML和ATML
• 管理不同访问级别的用户
• 测试限制管理
• 简单和高级的操作界面
• 并行测试功能,允许在一个单一的DUT上同时测试多种产品或运行多个测试

此外,NI TestStand本身具有非常模块化的软件架构,它允许工程师们使用这些组件,或完全自定义它们。想要了解NI TestStand架构的更多信息,请参阅NI TestStand测试管理软件架构指南。

  图2. NI 测试管理软件

有些公司已经编写了自己的测试执行程序,并花费了相当大的工程资源来重新开发测试管理软件。这种战略往往导致生产力下降、长时间软件维护带来的资源 紧缺。相反,如果使用市场上现成可用的测试管理软件,如NI TestStand,将让您减少设备常见功能的开发,使您专注于每个设备不同操作的测试代码,从而最大限度地提高生产效率。

测试开发语言: LabVIEW

NI Teststand可以调用几乎所有语言所编写的程序,包括:LabVIEW、NI LabWindowsTM/CVI、C/C++、 .NET 甚至脚本语言。然而,大部分的通用编程语言并非针对测试测量应用而优化,因此很难写出具有与仪器通信、分析数据以及按照有意义的方式展示数据等功能的程序代码。

LabVIEW是一种直观的图形化编程语言,帮助程序员或者非程序员开很快地开发强大的测试应用软件。图3所示为一个简单的LabVIEW VI(虚拟仪器或程序)的范例,它可以用来从一个仪器采集信号,对数据进行分析,然后将结果生成报表给用户。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top