虚拟仪器的开放式构造
概 述
随着计算机技术和测控技术的不断发展,人们希望找到一种简单而又实用的方法,能让计算机成为高效的工具,使其在科学研究与工程实践中充分发挥作用。这就使得 “ 虚拟仪器技术 ” 应运而生。采用虚拟仪器技术,通过把各种硬件、软件以及附备件的合理搭配,就可以将工业标准计算机变成一台综合的测试仪器,在各种测试、测量以及工业自动化中应用。
虚拟仪器的功能与特点
虚拟仪器(Virtual Instrumentation,VI)技术引入到当今计算机辅助测试(Computer-Aided Test,CAT)领域,使数据采集和工业控制自动化技术起了重大的变革。全世界的科学家和工程师都已经认识到:使用工业标准计算机的硬件和软件技术来构建虚拟仪器系统,将会获得前所未有的工作效率。
各种仪器 — 无论是传统的还是虚拟的 — 在所实现的功能上大同小异。它们都可以进行数据采集、数据分析,并且显示最终数据结果。而虚拟仪器与传统仪器最大的不同之处,就在于其具有开放性的构成方式,即具有灵活性和功能的可重构性。
虚拟仪器是用户根据需要自己定义、自行组合的。用户可以灵活的将各种计算机平台、硬件、软件和各种附备件结合起来,形成自己所需要的各种特定设备。可以是一台数字多用表,也可以是一台示波器,还有可能是一台信号源,或者它同时具有这些设备的所有功能甚至于更多的功能。因而利用 “ 虚拟仪器 ” 来逐步替代传统的仪器设备后,用户将大大受益。
计算机是构建虚拟仪器的基础,对于工业控制自动化来讲,计算机已成为一种功能强大、价格低廉的运行平台。当各种与计算机有关的新的技术出现时,将同时把虚拟仪器的便携性和强大的功能推向一个新的水平。而且由于计算机的性能价格比不断提高,使得虚拟仪器的价格更能为广大用户所接受。有了虚拟仪器这个解决方案,用户就可以降低成本、减少系统开发费用以及系统维护费用,同时又可以缩短自行生产的产品的开发、上市时间,提高产品质量。
不难发现,以计算机为基础的虚拟仪器技术够提供更广泛的功能和更强大的灵活性!以下是虚拟仪器几项特出的优点:
将所用的程控仪器的控制信息集成在虚拟仪器的软件模块中,对用户来讲,是完全透明的。用户在使用过程中无须专门查阅、学习仪器的程控方法与程控指令就可以对仪器进行操作
·计算机强大的图形用户界面(Graphic User Interface,GUI)增强了仪器的结果显示功能,更易于操作
·具有庞大的数据记录容量
·多级、丰富的显示选项
·用户可以自定义分析方式
·用户可以自定义接口形式
·具有可扩展的工程函数库
·完整的时间记录和测试说明
·测量程序中内置多媒体操作指令
·测试过程自动化
·可利用网络进行多用户数据共享
·测量结果关联分析和趋势标定
虚拟仪器的构造
???? 虚拟仪器通常由硬件设备与接口、设备驱动软件和虚拟仪器面板组成,其结构如图( 1 )所示。其中,硬件设备与接口可以是各种以计算机为基础的内置功能插卡、通用接口总线( General Purpose Interface Bus,GPIB )卡、串行接口卡、 VXI 总线仪器接口等设备,或者是其它各种可程控的外置测试设备;设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯;并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控件。在这些控件中预先集成了对应仪器的程控信息,所以用户使用鼠标操作虚拟仪器的面板就如同操作真实仪器一样真实与方便。
虚拟仪器的硬件组成
构建基于计算机的虚拟仪器,需要有相应的硬件来支持。虚拟仪器的硬件组成一般分为基础硬件平台和外围硬件设备。基础硬件平台目前可以选择各种类型的计算机;而外围硬件设备则主要包括:各种计算机内置插卡和外置测试设备。
计算机是虚拟仪器的硬件基础,虚拟仪器充分地利用了计算机的图形用户界面(GUI),所开发的具体应用程序都是基于 Windows 运行环境。所以计算机的配置必须合适。 GUI 对计算机的 CPU 速度、内存大小、显示卡性能等都有最基本的要求,通常要使用 486 以上的计算机才能获得良好的效果。采用 Windows 95 操作系统时,至少需 16M 以上的内存。
有了计算机硬件平台,虚拟仪器还必须配备外围硬件设备,即各种计算机内置功能插卡和外置程控测试设备,才能构成完整的硬件体系。
这里的外置程控测试设备是指带有某种接口的测试设备,比如,带有HP-IB和RS-232 接口的 HP 34401A 数字万用表,带有 GPIB 接口的 Pragmatic 2205A 任意波形发生器 , 等等。
随着硬件生产技术的不断提高,通过采用各种先进的生产技术,功能更完备、性能更优越的各种计算机内置功能插卡产品正在不断面市。可以满足测试的各种应用要求 — 从最基本的到最复杂的。目前,市场上以计算机为基础的内置插卡品种繁多,门类齐全。单个插卡就可以完全实现以前体积相对庞大的单台设备的功能。它可以替代任意波形发生器、计数器\定时器、数字万用表、数字存储示波器、逻辑分析仪,等等。一定程度上实现了测试与测量仪器的小型化,提高了便携性。
其中,计算机内置插卡中的数据采集(DAQ)多功能卡产品 种类繁多,功能齐全:从数据采集的前向通道至后向通道的各个环节,都有对应的 DAQ 产品。可以完成模拟波形采集与产生、数字量信号采集、波形采集及数据自动存储、模拟 I/O 、数字 I/O 、定时 I/O 、信号调理等工作;配有各种操作系统完整的设备驱动程序: Windows NT 、 Windows 95 、 Windows 3.1 和 DOS ;具有完备的使用指南,可以让 I/O 通道的命名、比例变换和寻址操作更加简单。用户只需要在配置表格中填入数据,指定名称、特性、传感器类型、变换系数或公式、冷端补偿值,以及单位转换系数,就可以定义一个模拟或数字 I/O 通道。
当工程师们在构建自动化测试系统时, GPIB 仍然是首选的方案。今天, GPIB 可以应用在 ISA 、 PCI 和 PC Card (PCMCIA)之类的总线上,并可用于 Windows NT 、 Windows 95 以及其它操作系统下。但是越来越多的系统,正在采用新的 PCI 、 PXI 和 VXI 技术,它们可以提供更优越的性能价格比。从 1987 年开始提出的 VXI 总线 是目前仪器与测试技术领域研究与发展的重点,代表了今后测控技术的发展方向。根据 VXI 技术规范设计的各种仪器称之为 VXI 仪器,与传统仪器相比, VXI 总线仪器没有仪器操作面板,仪器的操作完全由软件来完成,所以虚拟仪器技术在 VXI 总线平台中更是必不可少的。
虚拟仪器的软件体系
在选择虚拟仪器的使用软件时,需要考虑众多因素,例如应用需求、计算机硬件、操作系统、以及具体的仪器硬件;软件是否建立在开放的结构上?是否需要编程经验?利用此软件所开发的应用程序是否能在不同的计算机平台上移植?同时所选的软件必须具有一定的通用性,以便与不同的计算机结构、各式各样的仪器以及数据采集设备配合使用。
虚拟仪器软件体系结构(Virtual Instrumentation Software Architecture,VISA)主要包含两个层次:用户应用程序和设备驱动程序。其中设备驱动程序是联系用户应用程序与底层硬件设备的基础。每一种设备驱动程序都是为增加编程灵活性和提高数据吞吐量而设计的。每个设备驱动程序都具有一个共同的应用程序编程接口(Application Program Interface, API),因此,不管虚拟仪器所使用的计算机或者操作系统是什么,最终所编写的用户应用程序都是可移植的。
对于市场上的大多数计算机内置插卡,厂家都配备了相应的设备驱动程序。用户在编制应用程序时,可以象调用系统函数那样,直接调用设备驱动程序,进行设备操作。如果所用计算机内置插卡和外置设备没有驱动程序,用户也可以采用高级语言自己编写。
对于虚拟仪器可视化应用程序的编写,大致可以归纳为两种方式,一是采用通用软件进行编写。这里所指的通用软件主要是 Microsoft 公司的 Visual Basic 和 Borland 公司的 Delphi ;二是采用专业图形化编程软件进行开发。比如 Hewlett-Packard 公司的 HP VEE 和 LAB Windows/CVI 以及 National Instruments 公司的 LABVIEW 。
软 件
特 点
VB、 Delphi
易学、使用简单;面向对象的可视化编程软件;它的图形控件工具能生成复杂的多窗口用户界面而不必编写复杂的代码;可创建自己的 ActiveX 控件 ,以及多线程和线程安全 ActiveX 部件。
HP VEE
用于仪器控制、测量处理和测试报告的图形化编程语言;自动寻找与计算机相连的仪器,自动管理所有的寻址操作;具有直观、丰富的显示界面;不必编写代码就可以进行数据采集与分析;具有多种数学运算和分析功能,从最基本的数学运算到数字信号处理和回归分析。
LABVIEW
仪器控制与数据采集的图形化编程环境;直观明了的前面板用户界面和流程图式的编程风格;内置的编译器可加快执行速度;内置 GPIB 、 VXI 、串口和插入式 DAQ 板的库函数;内容丰富的高级分析库,可进行信号处理、统计、曲线拟和以及复杂的分析工作;利用 ActiveX 、 DDE 以及 TCP/IP 进行网络连接和进程通讯;可应用于 Win31/95/NT 、 Mac OS 、 Sun 、 HP-UX 以及 Concurrent 实时计算机。
LABWindows/CVI
使用 ANSI C 编程语言建立实用仪器的交互式开发环境;可视化开发工具自动产生程序大纲和调用函数,从而降低编码错误、加快程序开发速度;集成化 C 语言编程工具,包含 32 位的 C 编译器、连接程序、调试程序,以及代码产生实用程序;直观明了的图形编辑器,可建立用户 GUI 界面;可用于 Win31/95/NT 操作系统以及 SUN SPARC 工作站的 Solaris 操作系统;用于 HP-UX 的运行时间库。
采用通用编程软件或者专业编程软件开发的虚拟仪器应用程序,在计算机辅助测试应用中具有以下特出的优点:
· 功能强大的内置动态分析库
· 智能化数据输入 / 输出指南
· 立即显示所需分析结果
· 交互式问题求解环境
· 快速的可视化 3D 数据显示
· 交互式 2D 和 3D 图形显示
· 各种灵活的工程和科学图形
· 用户自定制的图表、图例
· 图形动化
· 集成化的报表生成与分析流程
· 交互式报表版面配置与设计
· 可与 Microsoft Office 连接
· 可利用嵌入式 ActiveX 对象和控件制作注解
· LabVIEW 和 Visual Basic 的 OLE
虚拟仪器的整体设计
虚拟仪器的建立一般有两种情况,一是为了提高实验器材的综合使用与管理能力;二是根据具体的需求建立特定的虚拟仪器。下面针对这两种情况分别介绍虚拟仪器的建立方法和过程。
在科学研究与工程实验室里,有各种各样的仪器与设备。如何提高它们的综合使用效率?如何对它们进行更有效的管理?是仪器用户值得考虑的问题。目前,最有效的方法是采用 “ 虚拟仪器 ” 技术。即充分利用计算机强大的管理与处理能力,以此为基础,将实验室相关设备有机的搭配起来,构成一个全新的实验环境。
实验室中的仪器与设备一般都是具有特定功能的单台设备。如果它们具有某种总线接口,就有可能进行虚拟仪器的构造。步骤如下:
1) 确定所用仪器或设备的接口形式。如果仪器设备具有 RS-232 串行总线接口,则不用进行处理,直接用连线将仪器设备与计算机的 RS-232 串行接口连接即可;如果是 GPIB 或 HP-IB 接口,则需要额外配备一块 GPIB-488 接口板,将接口板插入计算机的 ISA 插槽,建立起计算机与仪器设备之间的通讯渠道;如果使用计算机来控制 VXI 总线设备,则也需要配备一块 GPIB 接口卡,通过 GPIB 总线与 VXI 主机箱零槽模块通信,零槽模块的 GPIB-VXI 翻译器将 GPIB 的命令翻译成 VXI 命令并把各模块返回的数据以一定的格式传回主控计算机。
由于计算机的 RS-232 串行接口有限,如果仪器设备比较多,必要时必须扩展计算机的 RS-232 接口。市场上此类产品品种繁多,用户可以根据具体情况,选择合适的 RS-232 总线接口扩展产品。
2) 确定所选择的接口卡是否具有设备驱动程序?接口卡的的设备驱动程序是控制各种硬件接口的驱动程序,是连接主控计算机与仪器设备的纽带;如果具有设备驱动程序,它适合于何种操作系统?如果没有,或者所带的设备驱动程序不符合用户所用的操作系统,用户就有必要针对所用接口卡,编写设备驱动程序。
3) 确定应用管理程序的编程语言。如果用户有专业的图形化编程软件,如 HP VEE 、 National Instruments LABVIEW ,那么就可以采用这些专业的图形化编程软件进行编程,方便快捷,所构成的应用系统功能完备。如果没有这类软件,则可以采用通用编程语言, Microsoft 公司的 Visual Basic 或者 Borland 公司的 Delphi 。由于它们易于学习、易于使用、功能强大而倍受测控人员的青睐。
4) 在硬件连接无误的情况下,编写用户的应用管理程序 。
5) 联机调试。直至系统完成。
有时,用户需要建立具有特定功能的虚拟仪器,那么可以根据具体要求进行构造。一般步骤如下:
1) 选择主控计算机和符合功能要求的外围硬件设备。在这种情况下,外围硬件设备可以是单台设备,也可以是各种具有特定功能的计算机内置插卡。
2) 下面所进行的工作与构造实验室虚拟仪器的过程相同,在此不再赘述。 总 结
基于计算机的虚拟仪器将单台仪器所具备的高品质测量功能完全嵌入到计算机中。这种新型的、可直接编程的仪器,随着计算机的功能与灵活性的不断改进而进步。它可以在保持高档仪器测量品质的同时,又可以满足目前各种应用的多样性要求;同时还具有一定的灵活性,以便进一步扩展其功能,更直接地解决使用过程中所遇到的各种难题。
评论
查看更多