LabVIEW软件开发
时间:01-06
来源:互联网
点击:
行业趋势:当今市场上的挑战
当今企业所面临的挑战之一是测试成本越来越高。由于设备的复杂性不断增加,所以测试这些设备的成本也在不断提高。因为测试对于产品质量至关重要,而更加复杂的电子设备需要更新式、更先进的测试仪器,所以产品的测试成本过高,无法与其较低的制造成本保持一致。当今,测试工程师身处在这样一个产品开发环境之中:
- 产品设计比前几代更加复杂
- 为保持竞争力并满足市场需求,开发周期不断缩短
- 预算不断缩减,但产品测试却越来越昂贵
模块化测试框架:软件定义的测试方法
为了满足缩短开发周期、实现较大范围的产品组合、减少预算以及完成更复杂产品的挑战,测试工程师们不得不放弃专一的、针对特定应用的交钥匙测试系统。这些系统缺少灵活性,难以适应和添加新功能来更新测试更新、更复杂的产品,因此,传统解决方案,例如静态机架式仪器或专用的“big iron” ATE系统都无法有效地满足当今的市场需求。为满足这些需求,测试经理和工程师们转向了基于行业标准的模块化、软件定义的测试架构,它可以提供:
- 增加测试系统的灵活性,能够添加新的功能并适应它们所需要的新技术
- 可扩展性,根据需要增加新的功能(和仪器)
- 通过减少前期投资成本及维护成本来降低测试系统成本,同时增加设备和代码的重用率
- 通过硬件抽象层降低硬件折旧的风险
测试管理软件:NI TestStand
一个自动化测试系统需要执行诸多任务和测量操作步骤,其中有些操作是针对特定的被测设备(Device under test, DUT),而其它的则是适用于各种被测设备。传统的测试系统通常将两种操作类型整合到同一个单一的软件层。在这种范式下,当项目的要求发生变化时,测试系统的每个部分都需要更改,并且代码的重用变得非常繁琐。一个模块化的测试系统架构需要明确划分系统级任务与DUT级任务。系统级任务对于每一个设备(测试管理软件)通常是相同的,而DUT级任务对于每个测试设备(测试代码)是不同的。如图表1所示即为DUT级和系统级任务间的区别。这种划分使得测试工程师们能够快速地重用、维护和修改测试管理软件的组件,而不会影响实际的测试代码,反之亦然。
每个设备都不同的操作 | 每个设备都不同的操作 |
仪器配置 | 操作界面 |
测量 | 用户管理 |
数据采集 | DUT跟踪 |
结果分析 | 测试流程控制 |
校准 | 存储结果 |
测试模块 | 测试报告 |
NI TestStand是NI推出的一款功能强大、可立即执行的测试管理软件,用于开发、部署及执行测试系统软件(如图2所示)。其核心在于NI TestStand是一个测试执行程序,允许测试人员按照序列调用测试代码,而且该代码可以由任何编程语言编写。此外,NI TestStand 还提供了现成可用的常见测试管理软件功能,如下所列:
- 将结果记录到任何OLEDB或ODBC数据库
- 报告可以生成多种格式,包括HTML、文本、XML和ATML
- 管理不同访问级别的用户
- 测试限制管理
- 简单和高级的操作界面
- 并行测试功能,允许在一个单一的DUT上同时测试多种产品或运行多个测试
图2. NI 测试管理软件
有些公司已经编写了自己的测试执行程序,并花费了相当大的工程资源来重新开发测试管理软件。这种战略往往导致生产力下降、长时间软件维护带来的资源紧缺。相反,如果使用市场上现成可用的测试管理软件,如NI TestStand,将让您减少设备常见功能的开发,使您专注于每个设备不同操作的测试代码,从而最大限度地提高生产效率。
测试开发语言: LabVIEW
NI Teststand可以调用几乎所有语言所编写的程序,包括:LabVIEW、NI LabWindowsTM/CVI、C/C++、 .NET 甚至脚本语言。然而,大部分的通用编程语言并非针对测试测量应用而优化,因此很难写出具有与仪器通信、分析数据以及按照有意义的方式展示数据等功能的程序代码。LabVIEW是一种直观的图形化编程语言,帮助程序员或者非程序员开很快地开发强大的测试应用软件。图3所示为一个简单的LabVIEW VI(虚拟仪器或程序)的范例,它可以用来从一个仪器采集信号,对数据进行分析,然后将结果生成报表给用户。
图3. LabVIEW图形化编程语言,专为测试测量应用而优化
除了通过减少测试应用开发时间以外,LabVIEW还能够通过以下措施提高测试开发人员的效率:
LabVIEW软件开 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)