第1.4节 虚拟仪器
我们知道:虚拟仪器的概念是美国NI公司首先提出来的。
1.4.1 虚拟仪器基本概念

首先我们先看一个非常实际的例子:
对于整天与PC(个人计算机)打交道的人来说,在紧张、繁忙的工作一段时间后,通常会选择听一段轻松的音乐或观看一部DVD大片,其目的就是来缓解一下因紧张工作带来的压力和烦躁(但此刻要注意主管或太太的心情是否很好)。因为商业化PC完全具备了这样的能力,我们为何不借此享受一番呢!我相信,绝大多数经常与PC打过交道的人,都曾会有过这样类似的经历。

仔细地想一想:能够获得这样悠闲地享受,我们所做的只不过是在PC的DVDROM中放入了一张CD或DVD光盘,PC就会为我们提供视觉和听觉上的享受(为了更好的享受,我准备了一台17寸的iMac Intel,和一对BOSE的有源小音箱从而达到了“发烧初级”的效果)。
事实上,之所以能够得到这样的享受是我们利用了PC的某些硬件资源和媒体播放软件资源“虚拟”了一部CD或DVD播放机。还不只这些,如果在CDROM中放入不同的游戏光盘我们就可以玩电子游戏,这时PC又为我们“虚拟”了一部游戏机(效果可能不如Xbox或PS3,但也无需再次投资)。其实在PC机上可“虚拟”东西还很多,比如:“虚拟内存”、“虚拟光驱”等等。怎么又是“虚拟” 的呀!是的,“虚拟播放机”、“虚拟游戏机”、“虚拟内存”、“虚拟光驱”与我们所讨论的“虚拟仪器”,从基本概念上看,“虚拟”的含义应该是一样的,只不过是实现的功能不同而已。通过这样简单描述,我相信:对于什么是“虚拟仪器”我们应该有了一个基本上的共识。
所谓"虚拟仪器",就是在通用计算机上,利用通用接口总线连接硬件数据采集或控制模块,通过软件编程控制硬件模块进行控制或测量,并利用软件实现仪器的测量和分析功能。
其实,“虚拟仪器”这个概念从字面上来简单理解就是:借助于计算机和数据采集模块通过软件设计,能够实现真实仪器的测量功能,但确不是一个实实在在的、有模有样的真实的测量仪器。这话看着似乎别扭,没错,但是这样的表述可能更清晰。
当虚拟仪器出现后,为了区别于虚拟仪器,人们将过去所使用的仪器(示波器、万用表、信号源等)称为:传统仪器。
1.4.2 虚拟仪器构成的三要素

——商业化的PC及操作系统(比如:上面所说的PC机与操作系统)
商业化的PC是指:主流的品牌机或性能较好的组装机、笔记本电脑
操作系统是指:Windows、Linux、Mac OS等。
——应用软件(比如:上面所说的媒体播放软件)
应用软件是指:能够操作、控制PC硬件,实现“虚拟仪器”功能的各种应用软件包。
——能够实现虚拟仪器功能的硬件(比如:上面所说的声卡)
能够实现虚拟仪器功能的硬件是指:一些可实现仪器功能的特殊硬件模块(包括驱动软件在内)。
用声卡来描述能够实现虚拟仪器功能的硬件似乎有些不妥当,但初学者(指初学虚拟仪器技术的人)在没有数据采集模块硬件时完全可以利用声卡来学习和实现一些基本数据采集设计。我曾经看到某大学的老师在指导学生毕业设计时,就是利用声卡来作数据采集试验。利用PC上的硬件,不花一分钱,就指导了学生的毕业设计。学生该得到的也都得到了,老师也达到了教学目的,可以说这是多么富有想像力的事情啊!
言归正传,简单的表示就是:虚拟仪器 = 商业化的PC + 虚拟仪器应用软件 + 数据采集硬件。
需要进一步说明的是:“虚拟仪器”通常是相对于仪器的使用者而言的,它包含可操控的仪器界面和相关硬件配置。这些通常是由系统集成商或专业开发人员设计完成,使用者并不关心它的设计方法,所关心的仅仅是如何使用和在何处使用。
大概了解了什么是虚拟仪器,那它到底会给我们带来什么样的好处呢?下面我们就来谈谈虚拟仪器的特点。
1.4.3 虚拟仪器的特点
虚拟仪器到底有什么特点呢?
1、强大的运行环境
根据虚拟仪器的构成,我们知道虚拟仪器通常是运行在各种商业化计算机上,而商业化计算机在多核技术、运行速度、带宽、存储能力、数据处理能力、网络LAN 及可利用的各种总线技术USB、1394等方面,是任何嵌入式系统所无法比拟的。所以我们说虚拟仪器的运行引擎是最强大的、运行环境是最好的。
注意:尽管运行环境强大,但在实时性还是不如嵌入式系统(解决这个问题可以使用LabVIEW RT或使用cRIO平台等)。
从虚拟仪器诞生到现在,计算机技术飞速发展也可以说带动或者说是推动了虚拟仪器应用的发展。因为计算机只是虚拟仪器的运行平台,同时它又是由第三方来制造的,所以我们大可不必关心如何提高它的技术性能,这些统统都由计算机设计者和制造商来考虑。面对不断涌现出的多线程技术、多核技术、PCIe技术以及操作系统的进步,我们无须考虑更多,只需尽情享受和利用它们为我们提供的高性能产品。
同时商业化计算机有着丰富的第三方提供的软件资源如:Word、Excel、MatLab等等,虚拟仪器也可以充分地利用这些有效的资源。
2、自定义测量功能和多功能性
商品化的测量仪器往往其测量功能较为单一,并且测量功能往往是由制造商定义好的。所以,人们习惯上是以类来区别的它们的测量功能。比如:DMM、示波器、 信号发生器等等,它们相互间在测量功能上也是不兼容的。比如,使用DMM无法产生模拟信号、用信号发生器不可能查看到波形,但虚拟仪器可以完全做到这一 点,虚拟仪器的最大的特点就在于:用户可以自定义测量功能。
在我曾做过一个项目《电动式振动台检定系统》中,就充分地发挥了虚拟仪器的自定义的多功能特性。通常“电动式振动台”检定都是在现场进行的,在此之前,我们去现场检定需要携带6件仪器(示波器、电荷放大器、失真度测量仪、动态信号分析仪、数字式频率计、记录仪等还没算上携带的传感器)至少得安排两个人和一辆车。而使用虚拟仪器技术开发的《电动式振动台检定系统》,只需带一个NI USB 9233(NI USB 9234)数据采集卡(巴掌大小)和几支传感器加上一个笔记本电脑。只需把待测信号通过数据采集卡采集到计算机上,其余所有分析、计算功能就都是通过应用软件来实现。
3、强大的分析处理能力
我们知道虚拟仪器是运行在计算机上,而计算机的数据处理能力及LabVIEW软件开发平台提供的强大的分析能力能够解决商品化仪器所做不到的事情。
比如:即便是较好失真度测量仪在低频段也只能测量到10Hz频率的失真度,而电动式振动台检定需要检测低达5Hz的加速度失真度值,商品仪器可能也买不到,即便是可以买到那么价格和使用的频度都可能是我们承受不起。但利用虚拟仪器技术开发的《电动式振动台检定系统》借助于LabVIEW的强大分析功能就可以很容易的解决这个问题。
还有一个应用实例,我们知道:使用数字式频率计来测量频率时,对输入信号的失真度是有一定的要求的。当信号中含有较大的谐波时测试可能是不准确的,道理就是谐波会影响数字式频率计的过零触发的时间点。而电动式振动台检定时希望能够在失真度高达25%的情况下测量振动频率值,数字式频率计显然无法做到这一点,但利用虚拟仪器技术开发的《电动式振动台检定系统》借助于LabVIEW的强大分析、处理功能解决了这个问题。
4、“再生(复用)”性能
我们知道:“软件就是仪器”是虚拟仪器的最大特点。也就是说:在硬件条件基本不变的情况下,我们可以根据测量需求,通过软件设计可以实现多种方式不同的测量仪器。举个简单的例子:用一块M系列数据采集卡,可以实现交流信号的采集、记录、分析;也可以实现直流信号的采集、记录、分析;接入温度变换器还可以测量温度;接入压力变换器还可以测量压力等等等等,我们只需要设计不同测量分析功能的应用软件。从这个特点上看:虚拟仪器硬件具有“再生(复用)”功能。
从这个意义上来讲:虚拟仪器的硬件使用率可以是非常高的。实质上,也就是提高了仪器的使用率。比如:商品示波器,再不需要使用的时候只能将其束之高阁。而虚拟仪器设计的示波器,不使用时,只是应用软件不使用,而硬件还可以设计成其它的仪器使用。这对于实验室、中小企业、教学单位来讲是意义重大的,可以大幅度降低通用设备的投资。
1.4.4 来自NI公司的几个虚拟仪器实例

DMM虚拟仪器前面版和DMM卡

信号发生器前面版和板卡

虚拟仪器示波器及板卡
看看这些精美的应用实例,如果我们也希望利用虚拟仪器的形式来满足自定义的测试或控制需求时,或者希望成为这方面的程序设计者时,如何才能达到这个目的呢?那就要涉及到“什么是虚拟仪器技术”了。