330 likes | 650 Views
第 1 章 虚拟仪器概述. 本章概述 1.1 虚拟仪器的基本概念 1.2 虚拟仪器的形成和发展 1.3 虚拟仪器的系统结构 1.4 虚拟仪器的软件系统 1.5 虚拟仪器系统设计及系统集成 1.6 虚拟仪器技术应用 本章总结. 1.1 虚拟仪器的基本概念. 1. 虚拟仪器的定义 传统仪器:特定功能和仪器外观。
E N D
第1章 虚拟仪器概述 本章概述 1.1 虚拟仪器的基本概念 1.2 虚拟仪器的形成和发展 1.3 虚拟仪器的系统结构 1.4 虚拟仪器的软件系统 1.5 虚拟仪器系统设计及系统集成 1.6 虚拟仪器技术应用 本章总结
1.1 虚拟仪器的基本概念 • 1. 虚拟仪器的定义 • 传统仪器:特定功能和仪器外观。 • 虚拟仪器(VI,Virtual Instrumentation):是一种以计算机和测试模块的硬件为基础、以计算机软件为核心所构成的,并且在计算机显示屏幕上虚拟的仪器面板,以及由计算机所完成的仪器功能,都可由用户软件来定义的计算机仪器。
虚拟数字电压表 • 基于虚拟仪器的 温度检测与控制
2. 虚拟仪器的特点 • 从虚拟仪器的组成结构上来看: • (1)虚拟仪器的硬件是通用的(包括通用计算机硬件平台和通用的测量功能硬件); • (2)良好的人机界面。虚拟仪器的面板(或称软面板)是虚拟的(通过“控件”虚拟出面板); • (3)功能强。虚拟仪器的功能是由用户软件定义的。
(4)虚拟仪器之“虚拟”含义: • 虚拟仪器面板; • 软件实现仪器功能。如:基于高速数据采集硬件,通过计算机软件编程可实现“虚拟示波器”、“虚拟频谱仪”、“虚拟交流数字电压表”、“虚拟频率计”、“虚拟相位计”等不同仪器。 • (5)因此,软件是虚拟仪器的核心,NI 提出“软件即仪器”(The software is the instrument)。
与传统仪器相比,虚拟仪器技术特点: • (1)功能强、性价比高、开放性(可扩充性)好; • 充分利用计算机丰富的软硬资源。 • 仪器功能可通过软件灵活设计(基于相同的硬件,通过软件设计可实现不同的虚拟仪器)。 • 仪器升级方便,性价比高(一机多用)。 • 基于计算机网络技术,可实现“网络化虚拟仪器”。 • (2)操作方便; • 通过图形用户界面(GUI)操作虚拟仪器面板。 • (3)硬件模块化、系列化; • 基于仪器总线技术,设计出模块化、系列化硬件。
1.2 虚拟仪器的形成和发展 • 1. 虚拟仪器形成的背景 • (1)电子测量仪器(Electronic Instruments)及自动测试系统(Automatic Test System, ATS)的发展
(2)仪器与自动测试系统总线技术 • 总线(bus):信号或信息传输的公共路径。 • 片内总线:微处理器芯片内连接内部各逻辑单元; • 片间总线:元件级总线(如典型的微机“三总线结构”)。还有串行总线,如:Motorola的SPI(Serial Peripheral Interface,串行外围接口)、Philips的I2C(Inter IC bus,片间总线)、NS的MicroWire(串行同步双工通信接口)等。 • 内总线:板级总线。如个人计算机的PC/XT、PC/AT、ISA、EISA、MCA、PCI,及工业控制的STD、VME、CompatPCI,仪器与测量系统的CAMAC、VXI、PXI等。 • 外总线:外部通信总线。如RS-232/485、USB、IEEE1394、EPP、SCSI;现场总线CAN、LONworks、FF;仪器与测量系统的GPIB、CAMAC、HP-IL、MXI等。
通过总线技术,可实现: • 模块化硬件设计; • 标准化; • 便于生产、维护(维修)、升级; • 较好的经济性。
仪器与自动测试系统几种常用总线的比较 • 摘自:Evaluating PXI and VXI Platforms for your Measurement and Automation Needs,NI
(2)虚拟仪器是技术发展的结果 • 计算机技术、软件技术、总线技术、网络技术、微电子技术的发展,及其在电子测量技术与仪器领域中的应用,使新测试理论、测试方法、测试技术不断出现,仪器与系统的结构不断推陈出新,电子测量仪器及自动测试系统的结构也发生了质的变化,功能与性能得到不断提高。 • 计算机(PC机)处于核心地位,计算机软件技术和仪器与测试系统更紧密结合成了一个有机整体。 • 在上述的背景下,提出了全新概念的仪器——虚拟仪器。 • 1986年,美国国家仪器公司(NI, National Instrument)提出了虚拟仪器(Virtual Instrumentation)的概念。
1990年代,虚拟仪器得到业界广泛认可和应用,相继推出了基于GPIB总线(General Purpose Interface Bus)、PC-DAQ(Data Acquisition)和VXI总线(VMEbus eXtension for Instrumentation,1987年)、PXI总线(PCI eXtension for Instrumentation,1997年)等多种虚拟仪器系统。 • 虚拟仪器软件采用面向对象和可视化编程技术。 • 底层驱动和上层应用软件融为一体。 • 虚拟仪器软件的标准化: VPP(VXI即插即用,VXIplug&play,1993年) 和VISA(Virtual Instrument Software Architecture, 虚拟仪器软件体系结构)。 IVI(Interchangeable Virtual Instruments,可互换式虚拟仪器,1997年)。
(3)虚拟仪器技术的发展与展望 虚拟仪器技术是计算机技术与测试技术相结合的产物。多门学科多种技术的融合,如测试技术、计算机技术、软件技术、数字信号处理、总线与接口、网络与通信、传感技术、光电技术、微机械技术等。 • (1)新的总线技术的应用(如HS488,1394b等)。 • (2)速度不断提高。 • (3)智能化、模块化、集成化是硬件发展的主流。 • (4)软件技术。第一是软件标准化问题;第二是如何利用各种软件开发环境及工具,编制出符合标准的应用软件。 • (5)网络化仪器系统。 • (6)应用范围更加广泛。
1.3 虚拟仪器的系统结构 • 1. 虚拟仪器系统组成及各部分基本功能 • (1)虚拟仪器的系统构成 • 硬件和软件两大部分构成。 • 硬件是基础,软件是核心。
(2)各部分基本功能 • 虚拟仪器的内部功能,可划分为信号采集与控制、数据分析与处理、结果表示与输出三大功能模块。 • 信号采集与控制主要由虚拟仪器的通用硬件平台,并配合仪器驱动程序共同完成,而数据分析与处理、结果表达与输出则主要由用户应用软件完成。
2. 虚拟仪器的通用硬件平台 • (1)通用硬件平台的基本功能 • 信号采集(模拟、数字输入); • 信号产生(模拟、数字输出); • 信号调理(信号幅度、频率、驱动、隔离等); • 定时与计数; • 大容量数据存储。 • 实时信号处理。 • 总线与通信。
3. 虚拟仪器通用硬件平台的构成形式 • 通常为带有某种标准总线接口的各种测试设备(分立式或模块式仪器),主要有PC总线的数据采集模块(PC-DAQ)、GPIB总线仪器、VXI总线仪器模块、PXI总线仪器模块、RS-232串口、USB接口仪器等类型,或多种类型的组合。
(1)基于PC总线的虚拟仪器 • 内置PC总线(如ISA、PCI、PC/104)的通用数据采集卡 (DAQ,Data AcQuisition)。 • (2)基于GPIB通用接口总线的虚拟仪器 • 国际标准(IEEE488.1和IEEE488.2),技术成熟; • 但其数据传输速度一般低于500Kb/s,对测试速度要求很高的场合不太适用。 • (3)基于VXl总线的虚拟仪器 • 具有模块化、系列化、通用化、“即插即用”及VXI仪器的互换性和互操作性。 • 但价格相对较高,适合于高端的测试领域。 • (4)基于PXI总线的虚拟仪器 • 兼容PCI总线产品。 • 集CompactPCI的高性能和VXI可靠性,性价比最好。
1.4 虚拟仪器的软件系统 • 1. 虚拟仪器的软件结构 • 虚拟仪器系统的软件结构包括I/O接口软件、仪器驱动程序和应用软件三部分。
(1)I/O接口软件(VISA库) • I/O接口软件存在于仪器设备(即I/O接口设备)与仪器驱动程序之间,是一个完成对仪器寄存器进行直接存取数据操作,并为仪器设备与仪器驱动程序提供信息传递的底层软件。 • VPP规范了虚拟仪器的I/O接口软件的特点、组成、内部结构与实现规范,并将符合VPP规范的虚拟仪器I/O接口软件定义为VISA(虚拟仪器软件结构)软件。 • VISA库,实质就是标准的I/O函数库及其相关规范的总称。 • VISA函数库驻留于计算机系统中,是计算机与仪器之间的标准软件通信接口,用以实现对仪器的控制。
(2)仪器驱动程序 • 连接上层应用程序与底层I/O接口仪器的纽带和桥梁。是完成对某一特定仪器的控制与通信的软件程序集合。 • 仪器厂商提供有相应仪器的驱动程序(原代码),为用户提供对仪器操作的较抽象的操作函数集。 • (3)程控仪器标准命令SCPI • SCPI(Standard Commands for Programmable Instruments,可程控仪器标准命令)。 • 面向测试功能而非仪器。
(4)应用软件 • 建立在仪器驱动程序之上,直接面对用户操作。 • 提供直观、友好的操作界面、丰富的数据分析与处理(时域、频域、数字滤波等)功能,完成自动测试任务。 • 通常,包括测试管理软件和测试功能软件两部分。
2. 虚拟仪器软件开发平台 • (1)虚拟仪器软件框架结构
(2)通用的可视化软件编程环境 • Microsoft公司的Visual C++和Visual Basic、Inprise公司的Delphi和C++ Builder等。 • (3)专用于虚拟仪器开发的软件编程环境 • 图形化编程(G语言)环境:Agilent VEE、NI LabVIEW; • 文本编程环境:NI LabWindows/CVI。 • 其中,LabVIEW是目前最流行、应用最广、发展最快、功能最强的图形化软件。 • 非常适于仪器、测量与控制领域的虚拟仪器软件开发。
NI公司还推出了用于数据采集、自动测试、工业控制与自动化等领域的多种设备驱动软件和应用软件,如:NI公司还推出了用于数据采集、自动测试、工业控制与自动化等领域的多种设备驱动软件和应用软件,如: • LabVIEW的实时应用版本LabVIEW RT; • 工业自动化软件BridgeVIEW; • 工业组态软件Lookout; • 基于Excel的测量与自动化软件Measure; • 即时可用的虚拟仪器平台VirtualBench; • 生理数据采集与分析软件Biobench; • 测试执行与管理软件TestStand; • 还包括NI-488.2、NI-VISA、NI-VXI、NI-DAQ、NI-IMAQ、NI-CAN、NI-FBUS等设备驱动软件; • 以及各种LabVIEW和LabWindows/CVI的增值软件工具包。
1.5 虚拟仪器系统设计及系统集成 • 1. 虚拟仪器系统的设计过程 • 主要包括测试需求分析、系统总体方案设计、系统硬件设计、系统软件设计、系统集成及系统调试等。
(1)测试需求分析 • 分析被测参数的形式(电量还是非电量、数字量还是模拟量)、范围(幅度、频率)和数量(通道数),激励信号的形式和范围要求; • 性能指标(测量精度、速度)要求; • 功能(用户接口界面、数据分析与处理、存储与显示、外部通信接口等)要求。 • (2)系统总体方案设计 • 根据测试任务要求,确定测试方法; • 系统组成结构设计。 • (3)系统硬件设计 • 自制或购买; • 硬件系统集成。
(4)系统软件设计 • 选择软件开发环境; • 底层驱动设计; • 上层应用软件设计(用户界面设计、测量数据分析与处理、算法设计、测量结果表达)。 • (5)软硬件集成与调试 • 功能测试; • 指标测试; • 系统优化。
1.6 虚拟仪器技术应用 • 1. 应用广泛 • 从军事到民用; • 特别是仪器、测量与控制、自动化等领域。
本章参考文献 [1] NI公司网站:www.ni.com [2] 赵会兵,虚拟仪器技术规范与系统集成,清华大学出版社、北方交通大学出版社,2003.8 [3] 古天祥、王厚军等,电子测量原理,机械工业出版社,2004.9 [4] 陈长龄、田书林等,自动测试及接口技术,机械工业出版社,2005.2