虚拟仪器技术概论主要内容从智能仪器到虚拟仪器虚拟仪器的特点虚拟仪器的体系虚拟仪器的硬件虚拟仪器的软件虚拟仪器的应用仪器的发展历史VXIChassisDAQBoardswithRTSIFullyProgrammableSystemGUIIEEE488RackandStackSystemAnalogInstrumentationVirtualInstrumentation一、从智能仪器到虚拟仪器虚拟仪器概念最早是由美国国家仪器公司(NationalInstrument)在1986年提出的,但其雏形可以追溯到1981年由美国西北仪器系统公司推出的AppleII为基础的数字存储示波器。这种仪器和个人计算机的概念相适应,当时被称为个人仪器。(PersonalInstrument)。虚拟仪器概念的提出1986年,NI公司推出了图形化的虚拟仪器编程环境LabVIEW,标志着虚拟仪器软件设计平台基本成型,虚拟仪器从概念构思变为工程师可实现的具体对象。虚拟仪器是用户定义的仪器运动控制视觉工业自动化用户定义的仪器传感器和数据采集测试和测量商业技术用LabVIEW实现FPGA图形化编程系统主界面如图系统实物连接系统虚拟示波器界面系统虚拟信号源界面1.1仪器发展1.1.2虚拟仪器组成PXIVXIGPIBDAQIMAQMotion硬件板卡软件元素软件解决方案软件驱动模块软件程序软件驱动1.1.3常用虚拟仪器板卡或硬件二、虚拟仪器的特点仪器=A/D+CPU+软件传统仪器虚拟仪器关键是硬件关键是软件开发与维护费用高开发与维护费用低技术更新周期长技术更新周期短价格高价格低,并且可重用性与可配置性强厂商定义仪器功能用户定义仪器功能系统封闭、固定系统开放、灵活,与计算机的进步同不易与其他设备连接容易与其他设备连接2.1VI与传统仪器的比较*特点说明:丰富和增强了传统仪器的功能。虚拟仪器将信号分析、显示、存储、打印和其他管理集中交由计算机来处理。仪器由用户自己定义。开放的工业标准。虚拟仪器硬件和软件都制定了开放的工业标准,使资源的可重复利用率提高,功能易于扩展,管理规范,生产、维护和开发费用降低。便于构成复杂的测试系统。可通过网络构成复杂的分布式测试系统,进行远程测试、监控、和诊断。可节约仪器购买和维护费用。三、虚拟仪器的体系虚拟仪器典型的体系结构测控对象现场总线设备VXI仪器串行口仪器PLCGPIB接口仪器GPIB接口卡信号调理数据采集卡DAQ图象采集卡DSP工业自动化软件.BridgeVIEW.Lockout.Conmponentwork测量与分析软件.LabVIEW(VEE).LabWindows/CVI.ComponentWorksHiQ.VirtualBenchIVI传统编程语言.VisualC++.VisualBasic.C++Builder.Delphi等等PC机/工作站3.1虚拟仪器的分类按接口总线类型不同划分数据采集卡式DAQRS232/RS485虚拟仪器并行接口虚拟仪器USB虚拟仪器GPIB虚拟仪器VXI虚拟仪器PXI虚拟仪器IEEE1394接口虚拟仪器四、虚拟仪器的硬件基于USB总线的数据采集卡PCI总线数据采集卡基于USB的信号发生卡及LCR测试仪嵌入式TCP/IP模块NI的PCI-GPIB卡操作系统:DOS,Windows2000/9x/NT最大I/0速度:1.5Mbytes/s(IEEE488.1)7.7Mbytes/s(HS488)尺寸:133x107mmGPIB产品示例屏蔽的24芯GPIBcable及定义NI的DAQ及VXI产品示例PXI产品MXIGPIBbusVXIorVMEStand-aloneInstrumentPXISystemModulesModulesCompactPCIPXIModulesLinktoOtherStandardsMXI-3五、虚拟仪器的软件5.1虚拟仪器的软面板示例虚拟数字示波器的软面板5.1.2软件平台LabVIEW美国的NI(NationalInstrument)公司开发。LabScene智能仪器与测控技术研究所研制开发。其他:LabWindows,VEE等OLEDLLSQC测试执行测试报告SPC虚拟仪器仪器驱动软件IEEE488.2VXI/VISADAQ驱动IMAG驱动GPIB仪器串行仪器VXI/PXI仪器DAQ卡IMAG卡仪器硬件I/O接口层仪器驱动层测试程序层测试管理层5.1.3仪器驱动仪器的驱动软件是专门控制某种仪器的软件。LabVIEW因为具有面板控制的概念,特别适合于创建仪器的驱动程序。软件的前面板部分可以模拟仪器的前面板操作。软件的框图部分可以传送前面板指定的命令参数到仪器以执行相应的操作。当建立了一个仪器的驱动程序后,就不必再记住仪器的控制命令,而只要从前面板输入简单数据即可。仅仅拥有控制单台仪器的软件,意义并不大。其真正意义在于可以把仪器驱动程序作为子程序调用,与其他子程序一道组成一个大控制程序,从而控制整个系统。5.4LabVIEW语言编程技术5.4.1LabVIEW应用程序的构成所有的LabVIEW应用程序(VI)包括二部分:前面板(frontpanel)框图程序(blockdiagram)图标连接器(icon/connector)控制对象(输入)显示对象(输出)函数:随机数发生器结构:循环与前面板控件对应的节点与前面板控件对应的节点icon5.4.2前面板前面板就是图形化程序,用于设置输入值和观察输出量,可以模拟真实仪器的前面板。前面板主要由控件组成。控件按照功能分为:控制(Control)指示(Indicator)装饰(Decoration)控件模板该模板用来给前面板设置各种所需的输出显示对象和输入控制对象。每个图标代表一类子模板。如果控制模板不显示,可以用Windows菜单的ShowControlsPalette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。注意:只有打开前面板时才能调用该模板控件模板简介图标子模板名称功能1Numeric(数值量)数值的控制和显示。包含数字式、指针式显示表盘及各种输入框。2Boolean(布尔量)逻辑数值的控制和显示。包含各种布尔开关、按钮以及指示灯等。3String&Path(字符串和路)字符串和路径的控制和显示。4Array&Cluster(数组和簇)数组和簇的控制和显示。5List&Table(列表和表格)列表和表格的控制和显示6Graph(图形显示)显示数据结果的趋势图和曲线图。7Ring&Enum(环与枚举)环与枚举的控制和显示。8I/O(输入/输出功能)输入/输出功能。于操作OLE、ActiveX等功能。框图程序每一个前面板都有一个框图程序与之相对应,它用G语言编写,由节点(Node)、端口和数据连线(Wire)组成。节点:类似硬件中的芯片,执行某些功能的单元,它有四类:功能函数、结构、代码及文本接口节点(CIN)、子VI(SubVI)。端口:类似硬件中的管脚,是数据在前后面板、节点之间传递的通道。有两类端口:控制和指示端口、节点端口。数据连线:它是数据端口之间的数据通道,在线中数据是单向树状流动。六、虚拟仪器的应用实际应用教学实验(LabVIEW)——虚拟调制解调器教学实验(LabScene)——波形分析数据采集(LabScene)——基于USB的硬件卡远程地质灾害监测研究:网络化环境监测研究(多点地温监测)2.软件设计软件结构虚拟仪器网络测控系统平台网络测控主模块虚拟信号源模块网络通信模块虚拟示波器模块虚拟电压表模块虚拟VXI仪器模块信号调理模块图像采集模块LabVIEW-美国NI公司建立了网站可以借助进行网络学习下篇:虚拟仪器的开发应用二:介绍自行开发的基于虚拟仪器的教学平台1)测控实验平台2)电路实验仿真平台3)太阳能空调制冷、辅助制热水仿真系统