标题：虚拟仪器
简介
20年来，无论是初学乍用的新手还是经验丰富的程序开发人员，虚拟仪器（Virtual Instrument）在各种不同的工程应用和行业的测量及控制的用户中广受欢迎，这都归功于其直观化的图形编程语言。虚拟仪  虚拟仪器面板器的图形化数据流语言和程序框图能自然地显示您的数据流，同时地图化的用户界面直观地显示数据，使我们能够轻松地查看、修改数据或控制输入。
美国国家仪器公司NI（National Instruments）提出的虚拟测量仪器（VI）概念，引发了传统仪器领域的一场重大变革，使得计算机和网络技术得以长驱直入仪器领域，和仪器技术结合起来，从而开创了“软件即是仪器”的先河。
“软件即是仪器”这是NI公司提出的虚拟仪器理念的核心思想。从这一思想出发，基于电脑或工作站、软件和I/O部件来构建虚拟仪器。I/O部件可以是独立仪器、模块化仪器、数据采集板（DAQ）或传感器。NI所拥有的虚拟仪器产品包括软件产品（如LabVIEW）、GPIB产品、数据采集产品、信号处理产品、图像采集产品、DSP产品和VXI控制产品等。
优势
同其他技术相比，虚拟仪器技术具有四大优势：1、性能高虚拟仪器技术是在PC技术的基础上发展起来的，所以完全"继承"  虚拟仪器系统框图了以现成即用的PC技术为主导的最新商业技术的优点，包括功能超卓的处理器和文件I/O，使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外，不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。2、扩展性强NI的软硬件工具使得我们不再受限于当前的技术中。这得益于NI软件的灵活性，只需更新计算机或测量硬件，就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进整个系统。在利用最新科技的时候，我们可以把它们集成到现有的测量设备，最终以较少的成本加速产品上市的时间。3、开发时间少在驱动和应用两个层面上，NI高效的软件构架能与计算机、仪器  传统仪器与虚拟仪器构成比较仪表和通讯方面的最新技术结合在一起。NI设计这一软件构架的初衷就是为了方便用户的操作，同时还提供了灵活性和强大的功能，使我们轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。4、无缝集成虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地趋于复杂，工程师们通常需要集成多个测量设备来满足完整的测试需求，而连接和集成这些不同设备总是要耗费大量的时间。NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口，帮助我们轻松地将多个测量设备集成到单个系统，减少了任务的复杂性。
分类
虚拟仪器的发展随着微机的发展和采用总线方式的不同，可分为五种类型：1、PCI总线——插卡型虚拟仪器这种方式借助于插入计算机内的数据采集卡与专用的软件  ISA总线卡如LabVIEW相结合（注：美国NI公司的Labview是图形化编程工具，它可以通过各种控件自己组建各种仪器。Labview/cvi是基于文本编程的程序员提供高效的编程工具，通过三种编程语言Visual C++,Visual Basic,Labviews/cvi构成测试系统，它充分利用计算机的总线、机箱、电源及软件的便利。但是受PC机机箱和总线限制，且有电源功率不足，机箱内部的噪声电平较高，插槽数目也不多，插槽尺寸比较小，机箱内无屏蔽等缺点。另外，ISA总线的虚拟仪器已经淘汰，PCI总线的虚拟仪器价格比较昂贵。2、并行口式虚拟仪器最新发展的一系列可连接到计算机并行口的测试装置，它们把仪器硬件集成在一个采集盒内。仪器软件装在计算机上，通常可以完成各种测量测试仪器的功能，可以组成数字存储示波器、频谱分析仪、逻缉分析仪、任意波形发生器、频率计、数字万用表、功率计、程控稳压电源、数据记录仪、数据采集器。美国LINK公司的DSO-2XXX系列虚拟仪器,它们的最大好处是可以与笔记本计算机相连，方便野外作业，又可与台式PC机相连，实现台式和便携式两用，非常方便。由于其价格低廉、用途广泛，特别适合于研发部门和各种教学实验室应用。3、GPIB总线方式的虚拟仪器GPIB技术是IEEE488标准的虚拟仪器早期的发展阶段。它的出现使电子  CAN总线控制器测量独立的单台手工操作向大规模自动测试系统发展，典型的GPIB系统由一台PC机、一块GPIB接口卡和若干台GPIB形式的仪器通过GPIB电缆连接而成。在标准情况下，一块GPIB接口可带多达14台仪器，电缆长度可达40米。GPIB技术可用计算机实现对仪器的操作和控制，替代传统的人工操作方式，可以很多方便地把多台仪器组合起来，形成自动测量系统。GPIB测量系统的结构和命令简单，主要应用于台式仪器，适合于精确度要求高的，但不要求对计算机高速传输状况时应用。4、VXI总线方式虚拟仪器VXI总线是一种高速计算机总线VME总线在VI领域的扩展，它具有稳定的电源，强有力的冷却能力和严格的RFI/EMI屏蔽。由于它的标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点，很快得到广泛的应用。经过多年的发展，VXI系统的组建和使用越来越方便，尤其是组建大、中规模自动测量系统以及对速度、精度要求高的场合。有其他仪器无法比拟的优势。然而，组建VXI总线要求有机箱、零槽管理器及嵌入式控制器，造价比较高。5、PXI总线方式虚拟仪器PXI总线方式是PCI总线内核技术增加了成熟的技术规范和要求形成的，增加了多板同步触发总线的技术规范和要求形成的，增加了多板发总线，以使用于相邻模块的高速通讯的局总线。PXI的高度可扩展性。PXI具有8个扩展槽，而台式PCI系统只有3~4个扩展槽，通过使用PCI—PCI桥接器，可扩展到256个扩展槽，台式PC的性能价格比和PCI总线面向仪器领域的扩展优势结合起来，将形成未来的虚拟仪器平台。
虚拟仪器的发展过程
1、GPIB→VXI→PXI总线方式（适合大型高精度集成系统）GPIB 于1978年问世，VXI于1987年问世，PXI于1997年问世。
2、PC插卡→并口式→串口USB方式（适合于普及型的廉价系统，有广阔的应用发展前景）PC插卡式于80年代初问世，并行口方式于1995年问世，串口USB方式于1999年问世。
综上所述，虚拟仪器的发展取决于三个重要因素。①计算机是载体,②软件是核心③高质量的A/D采集卡及调理放大器是关键。
虚拟仪器系统的设计方案
1 虚拟仪器系统的构成虚拟仪器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中，硬件设备与接口可以是各种以PC为基础的内置功能插卡、通用接口总线接口卡、串行口、VXI总线仪器接口等设备，或者是其它各种可程控的外置测试设备，设备驱动软件是直接控制各种硬件接口的驱动程序，虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯，并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控件。用户用鼠标操作虚拟仪器的面板就如同操作真实仪器一样真实与方便。 
1.1 虚拟仪器系统的硬件构成 
虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件。计算机硬  专用虚拟仪器系统件平台可以是各种类型的计算机，如台式计算机、便携式计算机、工作站、嵌入式计算机等。它管理着虚拟仪器的软件资源，是虚拟仪器的硬件基础。因此，计算机技术在显示、存储能力、处理器性能、网络、总线标准等方面的发展，导致了虚拟仪器系统的快速发展。 
按照测控功能硬件的不同，VI可分为DAQ、GPIB、VXI、PXI和串口总线五种标准体系结构，它们主要完成被测输入信号的采集、放大、模/数转换。 
1.2虚拟仪器系统的软件构成 
测试软件是虚拟仪器的主心骨。NI公司在提出虚拟仪器概念并推出第一批实用成果时，就用软件就是仪器来表达虚拟仪器的特征，强调软件在虚拟仪器中的重要位置。NI公司从一开始就推出丰富而又简洁的虚拟仪器开发软件。使用者可以根据不同的测试任务，在虚拟仪器开发软件的提示下编制不同的测试软件，来实现当代科学技术复杂的测试任务。在虚拟仪器系统中用灵活强大的计算机软件代替传统仪器的某些硬件，特别是系统中应用计算机直接参与测试信号的产生和测量特性的分析，使仪器中的一些硬件甚至整个仪器从系统中消失，而由计算机的软硬件资源来完成它们的功能。虚拟仪器测试系统的软件主要分为以下四部分。 
1.2.1仪器面板控制软件
仪器面板控制软件即测试管理层，是用户与仪器之间交流信息的纽带。利用计算机强大的图形化编程环境，使用可视化的技术，从控制模块上选择你所需要的对象，放在虚拟仪器的前面板上。 
1.2.2数据分析处理软件
利用计算机强大的计算能力和虚拟仪器开发软件功能强大的函数库可以极大提高虚拟仪器系统的数据分析处理能力，节省开发时间。 
1.2.3仪器驱动软件
虚拟仪器驱动程序是处理与特定仪器进行控制通信的一种软件。仪器驱动器与通信接口及使用开发环境相联系，它提供一种高级的、抽象的仪器映像，它还能提供特定的使用开发环境信息。仪器驱动器是虚拟仪器的核心，是用户完成对仪器硬件控制的纽带和桥梁。虚拟仪器驱  利用虚拟仪器进行数字信号处理动程序的核心是驱动程序函数/VI集，函数/VI是指组成驱动的模块化子程序。驱动程序一般分为两层，底层是仪器的基本操作，如初始化仪器配置仪器输入参数、收发数据、查看仪器状态等。高层是应用函数/VI层，它根据具体测量要求调用底层的函数/VI。 
1.2.4通用I/O接口软件
在虚拟仪器系统中，I/O接口软件作为虚拟仪器系统软件结构中承上启下的一层，其模块化与标准化越来越重要。VXI总线即插即用联盟，为其制定了标准，提出了自底向上的I/O接口软件模型即VISA。作为通用I/O标准，VISA具有与仪器硬件接口无关性的特点， 即这种软件结构是面向器件功能而不是面向接口总线的。应用工程师为带GPIB接口仪器所写的软件，也可以于VXI系统或具有RS232接口的设备上，这样不但大大缩短了应用程序的开发周期，而且彻底改变了测试软件开发的方式和手段。2 虚拟仪器系统软面板的设计标准虚拟仪器软面板是用户用来操作仪器，与仪器进行通信，输入参数设置，输出结果显示的用户接口。其设计准则是： 
（1） 按照VPP规范设计软面板，使面板具有标准化、开放性、可移植性。 
（2） 根据测试要求确定仪器功能。根据测试任务确定仪器软面板具体测试、测量功能，开关、控制等设置要求。 
（3） 用面向对象的设计方法设计软面板。按照面向对象的设计思想，一个虚拟仪器集成系统由多个虚拟仪器组成，每个虚拟仪器均由软面板控制。软面板由大量的虚拟控件组成。3 虚拟仪器系统的组建方案在虚拟仪器系统的组建方案，主要包括底层硬件、软硬件接口、应用程序以及驱动程序的设计与开发。
3.1 制定所设计仪器的接口形式 
如果仪器设备具有RS-232串行接口，则直接用连线将仪器设备和计算机的RS-232串行口连接即可。如果是GPIB接口，需要额外配备一块GPIB-488接口板，将接口板插入计算机的ISA插槽，建立起计算机与仪器设备之间的通信桥梁。如果使用计算机来控制VXI总线设备，则需要配置一块GPIB接口卡，通过GPIB 总线与VXI主机箱零槽模块通信。零槽模块的GPIB-VXI翻译器将GPIB 的命令翻译成VXI命令并把各模块返回的数据以一定的格式传回主控计算机。DAQ数据采集卡是基于计算机标准总线的，因此可以将数据采集卡直接插到计算机的插槽上。 
3.2 开发硬件采集卡 
一种典型的数据采集卡组成包括，先用传感器把非电的物理量转变成模拟电量，采样/保持器可以保持信号，实现对瞬时信号进行采集，以便ADC进行数字转换，提高ADC转换器的转换精度。实现在测量中同时对多路模拟信号进行采样。多路模拟开关可以分时选通来自多个输入通道的某一路信号，这样在多路开关后的单元电路，只需一套即可，也可以采用计算机进行多路选择控制。当传感器输出的信号比较小，可以用放大器放大和缓冲输入信号，如果采用的是可编程增益放大器就可以通过计算机进行增益选择控制确定增益倍数。精度及性能是仪器系统的生命，而这完全依赖于提供基础数据的信号采集控制电路，因此在硬件采集电路的设计时，需根据所设计的虚拟仪器所要达到的性能指标和被测信号的特点，设计合理的系统结构。系统的结构合理与否，对系统的可靠性、性能价格比等有直接影响，在硬件和软件功能的设计上要尽量使虚拟仪器的结构简单，可靠性高，成本低廉，选用合适的单元器件，尽可能的提高采集卡采集的精度和速度。 
3.3 确定设计采集卡的设备驱动程序方案 
采集卡的设备驱动程序是控制各种硬件采集卡的驱动程序，是连接主控计算机与信号采集调理部件的纽带。驱动程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集，它是虚拟仪器核心软件之一。 
3.4确定虚拟仪器系统应用程序编程语言 
虚拟仪器系统软件结构的设计在体现整个系统的性能和灵活性方面作用很大，因此在开发虚拟仪器系统的软件部分时，首先要根据所开发的虚拟仪器功能和性能，确定应用程序和软面板程序的模块结构和功能，画出各部分的流程图，采用合适的编程语言。在编制虚拟仪器软件中可采用两种编程方法。一种是采用面向对象的可视化的高级编程语言，如VC++、VB和Delphi等编写虚拟仪器的软件，这种方法实现的系统灵活性高，易于扩充和升级维护。另一种是采用图形化编程方法，如LabVIEW，HPVEE，采用图形化编程的优势是软件开发周期短、编程较简单，特别适合工程技术人员使用。总之在编写程序时，要尽可能的让每一模块都有一定的独立性，模块之间明确定义接口，模块之间可以采用数据传递的形式进行联系。 
3.5 软件调试和运行 
程序编写好以后要对各模块进行调试和运行，可以通过采集各种标准信号来验证虚拟仪器系统功能的正确性和性能的优良性。