LabVIEW与自动测试系统
时间:01-09
来源:互联网
点击:
自动测试系统(Automatic Test System, ATS)对于测试领域的工程人员来说并不陌生,也被认为是测试系统发展的一种趋势。至于具体的概念可以到相关的网站或书籍上查找,此处并不会过多地涉及这些学术化的定义。得益于电子计算机(PC)发展以及电气接口和通讯接口标准的建立和完善,自动测试系统将仪器技术、计算机技术和通讯技术有机地结合起来从而形成了能够实现特定功能的测试平台。正所谓“懒人推动技术革新”,随着测试仪器的增加、测试过程和规范的复杂、待测对象的多样化和测试速率的加快等因素要求,自动化也在测试中越来越受到工程人员的关注。对生产线而言,ATS能够显著提高测试效率并与生产控制和过程监测有效地结合在一起;对研究人员而言,ATS能够批量地管理各种不同类型和接口的仪器,并且能够实现长时间和监控测试,自动生成特殊要求的测试报告。
讨论到自动测试系统不得不提“虚拟仪器”的概念,这是由美国国家仪器公司(National Instruments, NI)提出来的。它将传统仪器的功能进行了剥离,充分地利用计算机技术作为测试测量的一个不可分割的部分。在传统的测量仪器中,基本上包含着数据采集、数据处理和数据显示三大部分,还有些会有数据分析功能。虚拟仪器将这3个部分进行拆分,“测试仪器”只完成数据采集的功能(包括一些常用的数据处理,如滤波等),而将数据的显示和后期处理过程交给运行在计算机上的测试软件完成。也就是说,虚拟仪器技术与运行在计算机上的软件是分不开的。在硬件平台的支持下,使用软件定义仪器的功能。虚拟仪器并没有限定上层软件必须使用的语言,因为底层的硬件平台已经提供了比较完善的应用程序接口。
LabVIEW正是一种服务于测试测量的语言。这里需要穿插一下,LabVIEW是Laboratory Virtual instrument Engineering Workbench的简写,因此写作labview或者其它的形式是不正确的。事实上,LabVIEW也能够应用于其它的领域,但是对测试测量领域而言,它似乎更加地游刃有余。首先,它的图形化开发环境更容易让人上手,编写程序如同搭积木一般;其次,LabVIEW提供了丰富的信号处理函数,并且能够与MATLAB等专业的软件完美地结合;再次,它提供了从上层界面到底层仪器驱动一系列的解决方案,让程序看起来更加地具有“艺术感”;此外,它提供了丰富的应用于不同场合的工具包,帮助工程师迅速地解决测试测量中的困难;它支持各种各样的仪器通讯接口,并提供了一系列便捷的仪器调试工具。(似乎有点广告的嫌疑,但是它在测试测量领域的表现的确如此令人称道。)
当然,LabVIEW也具有一些不尽人意的缺点。由于它较好地封装了底层的运行结构,在对操作系统、内存分配和回收、数据位的处理等方面的支持就不如C语言那样“随心所欲”了。例如,LabVIEW提供了很多对数组的操作函数,如下图所示。
图 1 数组操作函数
尽管我们可以使用“Replace Array Subset”对数组中的元素进行替换操作,但是在替换某个元素的同时也需要对其它所有的元素重新进行赋值(尽管赋的是原来的值),这就会导致在并行处理同一个数组时会出现“数据竞争”现象。这是由于数组的复制导致的,当对同一片数组(如局域变量或全局变量)进行操作时,LabVIEW使用了复制数组整体的方式,因此在实际使用中应该规避这种情况。
总而言之,LabVIEW是一门非常优秀的程序设计语言,无论是用于科研还是生产制造中,它的表现无疑是令人惊讶的。
讨论到自动测试系统不得不提“虚拟仪器”的概念,这是由美国国家仪器公司(National Instruments, NI)提出来的。它将传统仪器的功能进行了剥离,充分地利用计算机技术作为测试测量的一个不可分割的部分。在传统的测量仪器中,基本上包含着数据采集、数据处理和数据显示三大部分,还有些会有数据分析功能。虚拟仪器将这3个部分进行拆分,“测试仪器”只完成数据采集的功能(包括一些常用的数据处理,如滤波等),而将数据的显示和后期处理过程交给运行在计算机上的测试软件完成。也就是说,虚拟仪器技术与运行在计算机上的软件是分不开的。在硬件平台的支持下,使用软件定义仪器的功能。虚拟仪器并没有限定上层软件必须使用的语言,因为底层的硬件平台已经提供了比较完善的应用程序接口。
LabVIEW正是一种服务于测试测量的语言。这里需要穿插一下,LabVIEW是Laboratory Virtual instrument Engineering Workbench的简写,因此写作labview或者其它的形式是不正确的。事实上,LabVIEW也能够应用于其它的领域,但是对测试测量领域而言,它似乎更加地游刃有余。首先,它的图形化开发环境更容易让人上手,编写程序如同搭积木一般;其次,LabVIEW提供了丰富的信号处理函数,并且能够与MATLAB等专业的软件完美地结合;再次,它提供了从上层界面到底层仪器驱动一系列的解决方案,让程序看起来更加地具有“艺术感”;此外,它提供了丰富的应用于不同场合的工具包,帮助工程师迅速地解决测试测量中的困难;它支持各种各样的仪器通讯接口,并提供了一系列便捷的仪器调试工具。(似乎有点广告的嫌疑,但是它在测试测量领域的表现的确如此令人称道。)
当然,LabVIEW也具有一些不尽人意的缺点。由于它较好地封装了底层的运行结构,在对操作系统、内存分配和回收、数据位的处理等方面的支持就不如C语言那样“随心所欲”了。例如,LabVIEW提供了很多对数组的操作函数,如下图所示。
图 1 数组操作函数
尽管我们可以使用“Replace Array Subset”对数组中的元素进行替换操作,但是在替换某个元素的同时也需要对其它所有的元素重新进行赋值(尽管赋的是原来的值),这就会导致在并行处理同一个数组时会出现“数据竞争”现象。这是由于数组的复制导致的,当对同一片数组(如局域变量或全局变量)进行操作时,LabVIEW使用了复制数组整体的方式,因此在实际使用中应该规避这种情况。
总而言之,LabVIEW是一门非常优秀的程序设计语言,无论是用于科研还是生产制造中,它的表现无疑是令人惊讶的。
LabVIEW自动测试系 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)