虚拟仪器技术2-软件标准_第1页
虚拟仪器技术2-软件标准_第2页
虚拟仪器技术2-软件标准_第3页
虚拟仪器技术2-软件标准_第4页
虚拟仪器技术2-软件标准_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲教师:章娟任课老师姓名:章娟 Email:课程公共邮箱:密码:vi123456授课方案参考文献第1章虚拟仪器概述(复习&补充〕1.1虚拟仪器的根本概念1.虚拟仪器的定义传统仪器:特定功能和仪器外观。虚拟仪器〔VI,VirtualInstrumentation〕:是一种以计算机和测试模块的硬件为根底、以计算机软件为核心所构成的,并且在计算机显示屏幕上虚拟的仪器面板,以及由计算机所完成的仪器功能,都可由用户软件来定义的计算机仪器。如:虚拟示波器虚拟数字电压表基于虚拟仪器的温度检测与控制2.虚拟仪器的特点从虚拟仪器的组成结构上来看:〔1〕虚拟仪器的硬件是通用的〔包括通用计算机硬件平台和通用的测量功能硬件〕;〔2〕良好的人机界面。虚拟仪器的面板〔或称软面板〕是虚拟的〔通过“控件〞虚拟出面板〕;〔3〕功能强。虚拟仪器的功能是由用户软件定义的。〔4〕虚拟仪器之“虚拟〞含义:虚拟仪器面板;软件实现仪器功能。如:基于高速数据采集硬件,通过计算机软件编程可实现“虚拟示波器〞、“虚拟频谱仪〞、“虚拟交流数字电压表〞、“虚拟频率计〞、“虚拟相位计〞等不同仪器。〔5〕因此,软件是虚拟仪器的核心,NI提出“软件即仪器〞〔Thesoftwareistheinstrument〕。比较内容虚拟仪器传统仪器系统构成软件和通用硬件。软件是关键专用硬件系统开发周期开发时间短、技术要求低、系统通用性强开发时间长、技术要求高、系统功能较专一开发费用软件使得开发和维护费用降至最低开发与维修开销高技术更新周期短(1~2年)长(5~10年)价格价格低、可复用与可重配置性强价格昂贵功能可塑性用户定义仪器功能,柔性厂商定义仪器功能,刚性系统开放性开放、灵活,与计算机技术同步发展封闭、固定构成复杂系统能力易与网络及其他周边设备互连功能单一的独立设备人机交互无限的显示选项、界面友好有限的显示选项虚拟仪器与传统仪器的比较:1.2虚拟仪器的形成和开展1.虚拟仪器形成的背景〔1〕电子测量仪器(ElectronicInstruments)及自动测试系统(AutomaticTestSystem,ATS)的开展仪器与自动测试系统几种常用总线的比较摘自:EvaluatingPXIandVXIPlatformsforyourMeasurementandAutomationNeeds,NI1.3虚拟仪器的系统结构1.虚拟仪器系统组成及各局部根本功能〔1〕虚拟仪器的系统构成硬件和软件两大局部构成。硬件是根底,软件是核心。〔2〕各局部根本功能虚拟仪器的内部功能,可划分为信号采集与控制、数据分析与处理、结果表示与输出三大功能模块。信号采集与控制主要由虚拟仪器的通用硬件平台,并配合仪器驱动程序共同完成,而数据分析与处理、结果表达与输出那么主要由用户应用软件完成。2.虚拟仪器的通用硬件平台〔1〕通用硬件平台的根本功能信号采集〔模拟、数字输入〕;信号产生〔模拟、数字输出〕;信号调理〔信号幅度、频率、驱动、隔离等〕;定时与计数;大容量数据存储。实时信号处理。总线与通信。〔2〕通用硬件平台的组成3.虚拟仪器通用硬件平台的构成形式通常为带有某种标准总线接口的各种测试设备〔分立式或模块式仪器〕,主要有PC总线的数据采集模块〔PC-DAQ〕、GPIB总线仪器、VXI总线仪器模块、PXI总线仪器模块、RS-232串口、USB接口仪器等类型,或多种类型的组合。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〕程控仪器标准命令SCPISCPI〔StandardCommandsforProgrammableInstruments,可程控仪器标准命令〕。面向测试功能而非仪器。〔4〕应用软件建立在仪器驱动程序之上,直接面对用户操作。提供直观、友好的操作界面、丰富的数据分析与处理〔时域、频域、数字滤波等〕功能,完成自动测试任务。通常,包括测试管理软件和测试功能软件两局部。2.虚拟仪器软件开发平台〔1〕虚拟仪器软件框架结构〔2〕通用的可视化软件编程环境Microsoft公司的VisualC++和VisualBasic、Inprise公司的Delphi和C++Builder等。〔3〕专用于虚拟仪器开发的软件编程环境图形化编程〔G语言〕环境:AgilentVEE、NILabVIEW;文本编程环境:NILabWindows/CVI。其中,LabVIEW是目前最流行、应用最广、开展最快、功能最强的图形化软件。非常适于仪器、测量与控制领域的虚拟仪器软件开发。NI公司还推出了用于数据采集、自动测试、工业控制与自动化等领域的多种设备驱动软件和应用软件,如:LabVIEW的实时应用版本LabVIEWRT;工业自动化软件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〕测试需求分析分析被测参数的形式〔电量还是非电量、数字量还是模拟量〕、范围〔幅度、频率〕和数量〔通道数〕,鼓励信号的形式和范围要求;性能指标〔测量精度、速度〕要求;功能〔用户接口界面、数据分析与处理、存储与显示、外部通信接口等〕要求。〔2〕系统总体方案设计根据测试任务要求,确定测试方法;系统组成结构设计。〔3〕系统硬件设计自制或购置;硬件系统集成。〔4〕系统软件设计选择软件开发环境;底层驱动设计;上层应用软件设计〔用户界面设计、测量数据分析与处理、算法设计、测量结果表达〕。〔5〕软硬件集成与调试功能测试;指标测试;系统优化。测试测量工业自动化声学测试设备测试工业自动化食品加工汽车测试生物医学研究控制工程机器视觉计量校准电子与非电子测试石油和天然气工程制药生产光纤校准光学度量和测定工业机器人过程自动化研发调试半导体测试SCADA统计流程控制通信测试振动测试晶片传送手臂机械制造第2章虚拟仪器软件标准虚拟仪器的开展历程第一阶段:利用计算机增强传统仪器的功能使用通讯总线〔GPIB等〕控制台式仪器第二阶段:开放式的仪器构成 出现了插卡式仪器和仪器总线〔VXI总线〕,计算机成为仪器的重要组成局部。PXI机箱和模块PXI:PCI总线在仪器领域的扩展VXI机箱和模块VXI:VME总线在仪器领域的扩展第三阶段:虚拟仪器框架得到了广泛认同和采用 虚拟仪器成为主流,几个虚拟仪器平台成为标准工具,产生了虚拟仪器软件标准。

2.1概述2.1.1可编程仪器标准命令SCPI2.1.2VXIPlug&Play与VISA2.1.3

IVI返回本章首页仪器驱动程序的历史1975年在HP-IB根底上IEEE488.1GPIB1987年IEEE488.21990年SCPI模块化仪器驱动程序〔Driver〕VXI即插即用仪器驱动程序〔VXIplug&play,VPP〕——1993年可互换虚拟仪器驱动程序〔IVI〕——1998年,还在不断完善2.1.1SCPI可编程仪器标准命令〔StandardCommandsforProgrammableInstruments,SCPI〕是1990年由仪器制造商国际协会在IEEE488.2根底上扩充得到的,目的是解决程控仪器编程进一步标准化而制定的标准语言,已经成为重要的程控仪器软件标准之一。2.1.2VXIPlug&Play与VISA

VPP的优点:互操作性:不同厂家的硬件、软件可以一起工作,便于集成,确保效率可移植性:仪器驱动的源代码可以移植到测试程序,提高软件的可重用性和可维护性多功能性:软面板可以用于演示、熟悉仪器功能,方便集成和调试VPP标准的内容标准代号标准名称VPP-1VPP系统联盟章程VPP-2VPP系统框架规范VPP-3仪器驱动程序规范VPP-3.1VPP仪器驱动程序结构和设计规范VPP-3.2VPP仪器驱动程序函数体规范VPP-3.3VPP仪器驱动程序交互式开发接口规范VPP-3.4VPP仪器驱动程序编程式开发接口规范VPP-4.3虚拟仪器软件结构规范VPP-4.3VISA库VPP-4.3.2文本语言VISA实现规范VPP-4.3.3G语言VISA实现规范VPP-6安装和包装规范VPP-7软面板规范VPP-8VXI模块/机箱和接收器互连VPP-9仪器制造商缩写规则VPP标准的特点由仪器生产厂家提供提供程序源代码程序结构化与模块化设计与实现的一致性兼容性与开放性VPP标准对仪器驱动程序的要求不仅适用于VXI仪器,也同样适用于GPIB仪器、PXI仪器、串行口仪器、网络仪器、USB仪器等。已经成为了虚拟仪器驱动程序设计的事实标准。仪器驱动程序设计(VPP-3)外部接口模型内部设计模型2.1.2VXIPlug&Play与VISAVISA是仪器编程标准I/O函数库及其相关标准的总称。NI-VISA的层次如以下图所示。VISA串口仪器GPIB仪器VXI仪器2.1.2VXIPlug&Play与VISAVISA的优点:接口无关性可扩展性功能和灵活性2.1.3

IVIIVI(InterchangeableVirtualInstruments)可互换虚拟仪器驱动器是一种基于状态管理的仪器驱动器体系结构。IVI仪器驱动器使建立在仪器驱动器根底上的测试程序独立于仪器硬件,从互操作性和可换性方面提升了标准化水平,减少软件维护和支持费用,缩短仪器编程时间,提高运行性能。VPP与IVI的区别同样是一个GnenerateWFM(Type,Frequency,A,DC)Type:波形Frequency:频率A:幅度DC:DC偏移VPP驱动中,其中一个参数改变那么需从新调用整个函数IVI那么只须改变相应的属性2.2程控仪器标准命令SCPI2.2.1SCPI仪器模型2.2.2SCPI命令句法2.2.3

常用SCPI命令2.2程控仪器标准命令SCPI20世纪70年代中期,IEEE制定了程控仪器标准GPIB,该标准定义为IEEE488.1。标准规定了仪器在电气、机械和根本功能方面的相容性要求,对控制仪器的代码、格式通信协议和公用命令等系统相容性要求未作规定。2.2程控仪器标准命令SCPI1982年IEEE公布了IEEE728标准,给出了IEEE488接口系统中使用代码与格式转换的推荐性标准,仍未对通信协议和公用命令作出规定。1987年IEEE推出IEEE488.2标准,规定了使用GPIB总线时编码、句法格式、信息交换控制协议和公用程控命令语句,仍未定义任何仪器相关命令。2.2程控仪器标准命令SCPI1990年由仪器制造商国际协会提出了SCPI语言。目前,SCPI已经在GPIB、VXI和串行口仪器产品中得到广泛的应用,其最新的版本是2.2.1SCPI仪器模型SCPI与过去仪器语言的根本区别在于SCPI命令描述的是人们正在试图测量的信号,而不是正在用以测量信号的仪器。横向兼容性:可用于不同的仪器纵向兼容性:可扩展性,适用于仪器的更新换代

2.2.1SCPI仪器模型每个方框对应一个SCPI子系统,各个子系统又有更详细的模型描述。根据需要,找到仪器特定的功能块,沿着树状网络从顶向下寻找各分支,找到完成功能的命令。2.2.2SCPI命令句法SCPI程控命令标准由三局部组成:语法和式样:描述命令产生规那么及根本的命令结构命令标记:给出SCPI要求和可供选择的命令数据交换格式:仪器与应用之间、应用与应用之间、仪器与仪器之间可以使用的数据集的标准表示方法1SCPI命令语法和式样SCPI程控题头有两种形式:SCPI公用命令〔采用IEEE488.2命令〕和SCPI助记符命令。1

SCPI命令语法形式关键词:提供命令的名称2SCPI命令标记命令标记:仪器公用〔IEEE488.2〕命令和SCPI主干命令2SCPI命令标记命令标记:仪器公用〔IEEE488.2〕命令和SCPI主干命令2SCPI命令标记SCPI命令子系统,对应仪器模型各方框功能。3

SCPI数据交换格式SCPI定义了供程序信息和响应信息使用的不同数据格式,与IEEE488.2语法兼容,分为标准参数格式和数据交换格式两局部。〔1〕标准参数格式数值参数:常用的包含正负号的数据或特殊数据离散参数:设定有限数量(如BUS,IMMediate等)布尔参数:表示单一的二进位状态,ON/OFF或0/1字符串参数:用引号开头结尾的任何ASCII字符集3

SCPI数据交换格式〔2〕数据交换格式可以提高数据的可互换性,以Tek公司的模拟数据交换格式〔ADIF〕为根底修改而来。采用块结构,包括数据本身、测量条件、结构特性和其它有用的信息。2.2.3

常用SCPI命令MEASure:VOLTage:AC?[<range>[,<resolution>]][,<channel_list>]Range待测信号最大电压值resolution有三种选择:DEF(AUTO)|MIN|MAXChannel_list采用(@ccnn)或(@ccnn:ccnn)形式MEASure:VOLTage:AC?0.54,MAX,(@103,108)2.2.3

常用SCPI命令CONFigure配置命令READ?读命令接口去除*CLS、启动INIT、取数FETchFETch?取命令

2.2.3

常用SCPI命令FORMat:格式化命令,确定得到的测量数据格式FORMat[:DATA]<type>[,<length>]Type:ASCII/REALLength:32/64例如:FORMatREAL,64

2.3虚拟仪器软件体系VISAVISA函数模型建立在设备资源无关性模型之上。资源〔Resource〕:计算机可访问或与之通信的实体,如各种仪器,内存访问资源,仪器的读写端口等。包括资源属性、可在资源上异步执行或由资源产生的事件、控制资源的操作。资源类:设备某种功能的定义〔如读、写、触发等〕。默认资源管理器〔DefaultResourceManager〕:控制设备资源,完成VISA系统初始化的最高层次VISA操作。VISA的作用为整个工业界提供统一的软件根底对驱动程序、应用程序不必考虑接口类型仅规定为用户提供的标准函数,不对具体实现作任何说明用于编写符合VPP标准的仪器驱动程序,完成计算机与仪器之间的命令和数据传输,实现对仪器的控制。VISA库作为低层I/O接口软件,运行于计算机系统中。2.3.1

VISA的结构VISA采用自下而上的金字塔结构。

5

4

3

2

1

2.3.2

VISA的特点VISA的特点:I/O控制功能适用于各类仪器,包括VXI、GPIB、RS-232等。具有与仪器硬件接口无关的特性,可用于VXI系统、或基于MXI、GPIB-VXI或1394接口系统,需要更换VXI系统控制器时,驱动程序无须改动I/O控制功能适用于单处理器系统结构,也适用于多处理器结构或者分布式网络结构。2.3.3

VISA的编程翻开仪器资源写命令从仪器缓存中读取数据关闭仪器资源串口通讯2.4IVI仪器驱动器2.4.1IVI的开展简史对于寿命长的测试系统,能否做到在更换陈旧仪器时使测试软件无需改动?一个测试软件包能否适用于不同仪器硬件构成的测试系统?测试代码能否被移植到不同的仪器上?当仪器故障或需要校准时,测试系统能否不间断运行?2.4.1IVI的开展简史1998年美国NI最先提出了一种新的基于状态管理的仪器驱动器编程模型,并开发了基于虚拟仪器软件平台的IVI驱动程序库1998年9月仪器测试界成立了IVI基金会,致力于在VPP兼容框架的根底上定义一系列标准仪器编程模型2.4.1IVI的开展简史2.4.2IVI驱动器的功能IVI驱动器具有与传统驱动器不同的功能和特点通用标准配置(StandardizedConfigurationUtility)标准化(Standardization)状态缓存(StateCaching)范围检查(RangeChecking)仿真(Simulation)状态检查(StatusChecking)强制记录(CoercionRecording)2.4.2IVI驱动器的功能通用标准配置(StandardizedConfigurationUtility)用户可以通过配置IVI驱动器来设置测试应用程序,也可利用MAX的IVI组件来创立仪器驱动器。编程过程中,用户可以使用预先设置的虚拟仪器名称代替VISA标准资源名称字符串,允许用户创立数个不同的仪器驱动器配置,应用程序通过资源名称字符串来使用这些配置。2.4.2IVI驱动器的功能标准化(Standardization)IVI是VXIPlug&Play标准的扩展,能处理VPP不能处理的区域。IVI设置了内部结构和相似仪器程控接口的准那么,引入了仪器类(InstrumentsClasses)的概念,规定了每个仪器类的特征和功能,指定了用于这些不同的仪器类的编程接口。2.4.2IVI驱动器的功能状态缓存(StateCaching)IVI驱动器保持了仪器在软件缓存中的物理状态,以增加仪器驱动器的效率和速度。IVI驱动器利用状态缓存器消除了多余的命令,当仪器设置发生变化时,IVI引擎才会向仪器发送属性设置命令。2.4.2IVI驱动器的功能范围检查(RangeChecking)IVI驱动器会检查用户为属性设置的值是否有效。IVI驱动器会检查用户的全部设置,为了提高运行速度,在调试完应用程序后可以禁用RangeChecking功能。如果输入错误,会报告错误,返回错误信息,并强制数值舍入到仪器实际使用值。2.4.2IVI驱动器的功能仿真(Simulation)IVI驱动器仿真模式可以使用户在不与仪器建立连接的情况下调用IVI驱动器。仿真的功能包括:提供可以使用的仪器句柄;不改变驱动器操作的任何行为,就像一个真实的物理仪器存在时一样;可以模拟通常情况下采集的数据,用实际数据测试用户的程序。2.4.2IVI驱动器的功能状态检查(StatusChecking)传统的LabVIEW驱动器提供ErrorQueryVis,可以用来检查仪器的状态,增加了编程者的负担。使用IVI驱动器可以在每个与仪器进行交互的功能模块之后检查仪器的状态,对程序进行彻底测试和检验后,可以禁用状态检查以提高效率。IVI引擎只有在功能函数向仪器写入数据或读取数据时才会检查仪器的状态。2.4.2IVI驱动器的功能强制记录(CoercionRecording)如果用户选择的属性值超出了仪器允许的范围,仪器会把用户选择的属性值强制转化为几个可选值中的一个,为了使状态检查能够正常工作,IVI引擎会把强制转换后的数值存储到状态存放器中,代替了仪器所进行的属性值强制转换。2.4.3

IVI驱动器的特点通过仪器的可互换性,节省测试系统的开发费用,IVI驱动器与接口总线无关提供多线程平安运行和仪器仿真功能通过状态缓存,改善测试性能 在不牺牲易用性的根底上,改善了仪器驱动器的运行效率通过仿真,使测试开发更容易、更经济2.4.3

IVI驱动器的特点通过仪器的可互换性,节省测试系统的开发费用,IVI驱动器与接口总线无关提供多线程平安运行和仪器仿真功能通过状态缓存,改善测试性能 在不牺牲易用性的根底上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论