0
TestStand和LabVIEW软件架构
2013-11-29 09:38:10 admin 浏览:3129次 【
概述:
NI TestStand是可立即执行的测试执行管理软件,用于组织、控制和执行您的自动化原型设计、验证或制造测试系统。加入在LabVIEW、LabWindows/CVI、Visual C/C++、Visual Basic .NET和C#中编写的测试程序,使用NI TestStand快速创建测试序列。NI TestStand基于一个高速多线程执行引擎,其性能足以满足最为严苛的测试处理能力要求。
NI TestStand的功能完全由用户定义。为满足特定需求,您可自行对其进行功能修正和改进,例如定制操作界面、生成自定义报告或修改序列执行要求等。借助NI TestStand,您可将精力集中于特殊的测试要求,NI TestStand则管理普通的序列、执行和汇报任务。
TestStand架构:
NI TestStand架构的中心组件是一个执行引擎,它提供一个开放API接口以方便与其他应用的通信。序列编辑器和操作者界面利用API访问NI TestStand引擎。此外,共有三种用于定义开发环境、运行时环境和执行环境的特性的重要文件类型。
TestStand完成哪些工作:
NI TestStand为您的所有测试软件提供管理功能和工作平台。从功能角度更具体一点说,NI TestStand能够集成您的测试代码并安排执行顺序以支持循环与复杂决策。NI TestStand将通用测试执行任务(如报告生成)与专用测试任务(如执行某项测试)相分离。
NI TestStand为自动化测试的所有不同应用提供了共同的统一环境与界面。NI TestStand还能够与数据库管理或需求管理系统等企业系统相集成。
 
NI TestStand是专为测试步骤序列的自动执行而设计。这些测试步骤可以是单个测试、测量、动作或命令。任何需要自动执行可执行代码段的应用,都可以使用NI TestStand而获益。NI TestStand过去的设计目的在于解决四个关键领域的问题:简化与加速复杂序列的开发、提高代码与测试程序的复用性和可维护性以及改进测试系统的执行性能。这使得NI TestStand在多个应用领域中被采用,包括消费类电子产品的验证与制造测试、军用与航空应用、医学领域以及IC表征参数和简单代码定序等。

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

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

产品设计比前几代更加复杂

为保持竞争力并满足市场需求,开发周期不断缩短

预算不断缩减,但产品测试却越来越昂贵

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

为了满足缩短开发周期、实现较大范围的产品组合、减少预算以及完成更复杂产品的挑战,测试工程师们不得不放弃专一的、针对特定应用的交钥匙测试系 统。这些系统缺少灵活性,难以适应和添加新功能来更新测试更新、更复杂的产品,因此,传统解决方案,例如静态机架式仪器或专用的“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(虚拟仪器或程序)的范例,它可以用来从一个仪器采集信号,对数据进行分析,然后将结果生成报表给用户。

图3. LabVIEW图形化编程语言,专为测试测量应用而优化

除了通过减少测试应用开发时间以外,LabVIEW还能够通过以下措施提高测试开发人员的效率:

通过免费的仪器驱动程序与仪器通信,从而可以控制任意仪器

通过数千个内置的函数进行数据分析,并展示数据

专门针对测试测量应用而开发的用户界面控件,如:图表、LED、按钮以及仪表盘

可以自动利用多核处理的优势,提供更高的性能

欲了解更多信息,请阅读自动化测试与验证系统时选用NI LabVIEW的10大理由一文。

National Instruments 还提供基于文本编程语言开发测试代码的工具。LabWindows/CVI是一个ANSI C开发环境,而NI Measurement Studio则Visual Studio的一个插件,为使用ANSI C, .NET 和 Visual C++编程语言提供测试测量界面控件和分析函数。

选择一种针对测试测量而进行了专门优化的编程语言,可以减少你开发测试代码的时间,让你更加专注于自己的特定应用。 欲了解更多信息,请阅读选择正确的软件应用开发环境白皮书。

总结

随着设备复杂性的增加、开发周期的缩短、预算减少等诸多挑战的出现,让工程人员有机会重新审视他们现有的自动测试策略,并寻找新的途径,在提高效率 的同时减少成本。在设计下一个自动测试系统时,使用新的策略,从而提高系统的灵活性和扩展性,实现更高的性能、更低系统成本、更长的生命周期。

模块化的软件定义自动测试系统客服了以往的基于独立仪器或者昂贵的专有ATE系统的方案中的缺点。通过对测试系统中不同部分解耦,并通过软件定义仪 器功能,工程师能够使用这种模块化的仪器提供具有更高的灵活性、扩展性,并且成本更低的解决方案,以应对当前市场中的挑战。使用NI TestS测试管理软件和LabVIEW图形化编程语言构建的模块化测试软件架构被证证明能够优化测试系统并降低成本,其应用领域中既有最新的智能手机、 3D电视,也有极其关键的下一代的国防系统和医疗设备。

0 条评论
查看更多评论
  • Modbus是全球第一个真正用于工业现场的总线协议,采用的是主从原则,其物理接口主要有串口和以太网口两种。本文主要介绍LabIEW与PLC的通信实现方式。在进行通..

    浏览:1740次 评论:0
    2019-09-22 12:58:51
  • 对实时数据或者历史存储数据进行滤波及校准处理,可以将采样数据转化为具有实际意义的物理量,为用户后续操作提供方便。滤波校准功能的程序设计如图1所示,本..

    浏览:659次 评论:0
    2019-09-21 16:32:59
  • 在进行LabVIEW程序设计时,一个VI中可以包含一个或若干个子vi。这些子vi是被直接放置在程序框图中,习惯上称这些子vi为:静态链接子vi。这些子vi在VI载入的同..

    浏览:3015次 评论:0
    2018-12-17 15:28:30
  • 新建一个LabVIEW项目,或者打开一个已经建好的项目,项目中包含主vi,子vi以及自定义控件等,确保vi运行正常。    在项目浏览器的-程序生成规范->..

    浏览:3162次 评论:0
    2018-07-18 10:55:21
  • 使用子面板控件,在当前VI的前面板上显示另一个VI的前面板。首先制作一个被调用VI的程序框图和前面板。 在主VI前面板上添加一个子面板控件。此时LabVIEW将在..

    浏览:3036次 评论:0
    2018-07-10 14:11:50
作者专栏
  • 张文西

    注册时间:2020-09-19 11:20:41

  • 18112288710

    注册时间:2020-09-19 09:01:39

  • haizi0919

    注册时间:2020-09-18 16:17:08

  • 火箭迷

    注册时间:2020-09-18 13:07:55

  • 213171693

    注册时间:2020-09-18 12:15:23

Copyright@http://nilab.com.cn all rights reserved 备案号:京ICP备12043750号-1
Powered by qibosoft V9.0 Code © 2003-2017 qibosoft
LABVIEW之家 QQ:181237912; email:Labviewzj@qq.com 项目合作 微信及手机:18510627229