子模板与IO接口设备的软件驱动简介(PPT 170页).ppt_第1页
子模板与IO接口设备的软件驱动简介(PPT 170页).ppt_第2页
子模板与IO接口设备的软件驱动简介(PPT 170页).ppt_第3页
子模板与IO接口设备的软件驱动简介(PPT 170页).ppt_第4页
子模板与IO接口设备的软件驱动简介(PPT 170页).ppt_第5页
已阅读5页,还剩165页未读 继续免费阅读

下载本文档

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

文档简介

第5章InstrumentI/O子模板与I/O接口设备的软件驱动,5.1概述5.2GPIB总线简述5.3VXI总线简述5.4串口(RS-232/485)简述5.5VISA简述5.6应用举例本章小结,5.1概述,计算机的发展不仅给人们的生活、工作带来了很多方便,同时也带动了别的行业的发展,测量领域也不例外。在测量领域,计算机已经成为测量系统的核心,彻底改变了传统的测量模式。测量系统已经从松散结合的、常常不兼容的、独立的仪器发展成紧密结合的测量系统。回顾测量领域的每一次飞跃,都和计算机的发展有关。,通用仪器总线GPIB于1978年问世,实现了计算机与测量系统的首次结合。它标志着测量仪器从独立的手工操作单台仪器走向程控多台仪器的自动测试系统,是虚拟仪器技术发展的第一阶段。虚拟仪器技术沿着两条主线发展:GPIBVXIPXI;PCI标准串口IEEE1394通用高速串行总线。1987年GPIB仪器总线与VME微机总线结合,诞生了VXI标准仪器总线。发展至今,由于总线类型的不同,形成了目前虚拟仪器的五种构成方式。,因此,软、硬件体系结构各不相同的总线仪器如何兼容成为一个突出的问题。所以,仪器标准化程度也在不断的推行与增强,在1993年成立了VXI即插即用系统联盟(VXIPlug&Play,简称VPP)之后,1998年美国一些仪器厂家又成立了可互换虚拟仪器(IVI)基金会,提出了以计算机系统中即插即用为基础的可互换虚拟仪器思想。推行标准化以期实现不同厂商生产的产品或不同体系结构(如GPIB、VXI、标准串口、PCI、CompactPCI/PXI等)产品相互兼容,在相互取代时不必重新编写驱动程序,这就带来了VISA技术的发展。,在第4章已介绍了采用PCI计算机总线的PCDAQ/PCI插卡式虚拟仪器系统及PXI虚拟仪器系统I/O接口设备的软件驱动方法,本章重点介绍GPIB、VXI、标准串口总线虚拟仪器系统I/O接口设备的软件驱动方法。LabVIEW在InstrumentI/O子模板上提供了多种图标可对NI公司生产的GPIB、VXI、标准串口I/O仪器设备进行驱动。对于非NI公司生产的上述I/O接口仪器设备,可用InstrumentI/O子模板上提供的VISA图标来进行驱动。,5.2GPIB总线简述,计算机技术和大规模集成电路技术的发展,促进了数字化仪器、智能化仪器的快速发展。与此同时,工程上也越来越希望将常用仪器设备与计算机连接起来组成一个由计算机控制的智能系统。目前工程中用到的仪器设备种类繁多,功能各异,独立性强,一个系统往往需要多台不同类型的仪器协同工作,而一般串、并口难以满足要求。,为此,人们从20世纪60年代就开始着手研究能够将一系列仪器设备和计算机连成整体的接口系统。GPIB(GeneralPurposeInterfaceBus)正是这样的接口,它作为桥梁,把各种可编程仪器与计算机紧密地联系起来,从此电子测量由独立的、传统的单台仪器向组成大规模自动测试系统的方向发展。,GPIB的硬件规范和软件协议先后被纳入两个国际工业标准:ANSI/IEEE488.1和ANSI/IEEE488.2。今天,几百家厂商的数以万计的仪器都配置了遵循IEEE488的GPIB总线接口,应用遍及科学研究、工程开发、医药卫生、自动测试设备、射频、微波等各个领域。通过GPIB接口,可以将若干台基本仪器和计算机仪器搭成积木式的测试系统,在计算机的控制下完成复杂的测量。GPIB仪器系统的构成是迈向“虚拟仪器”的第一步,即利用计算机增强和扩展传统仪器的功能,组织大型柔性自动测试系统,技术易于升级,维护方便,仪器功能和面板自定义,开发和使用容易。,5.2.1GPIB总线接口系统的特点典型的GPIB测量系统由PC机、GPIB接口卡和若干台(最多14台)GPIB仪器通过标准GPIB电缆连接而成。该系统具有以下四个显著特点:GPIB接口编程方便,减轻了软件设计负担,可使用高级语言编程。提高了仪器设备的性能指标。利用计算机对带有GPIB接口的仪器实现操作和控制,可实现系统的自校准、自诊断等要求,从而提高了测量精度。,便于将多台带有GPIB接口的仪器组合起来,形成较大的自动测试系统,高效灵活地完成各种不同的测试任务,而且组建和拆散灵活,使用方便。便于扩展传统仪器的功能。由于仪器与计算机相连,因此可在计算机的控制下对测试数据进行更加灵活、方便的传输、处理、综合、利用和显示,使原来仪器采用硬件逻辑很难解决或无法解决的问题迎刃而解。,5.2.2GPIB总线结构GPIB总线是一个数字化24脚(扁型接口插座)并行总线。其中16根线为TTL电平信号传输线,包括八根双向数据线、五根接口管理线、三根数据传输控制线;另八根为地线和屏蔽线。GPIB使用八位并行、字节串行、异步通信方式,所有字节通过总线顺序传送。,1八根双向数据线(DI01DI08)双向数据线用来传递系统内的多线消息,如控制者发送的通令、专令、地址和向被控设备发送的程控指令,设备间发送和接收的数据及向控制者报告自己运行情况的状态数据等,是系统的命令、状态信息通道。,2三根数据传输控制线(DataByteTransferControl)由于各设备的工作速度可能相差悬殊,为保证多线消息能双向、异步、准确可靠地传递,GPIB系统中配备了三根数据字节传递控制母线,在我国叫三线挂钩控制传送,又简称为挂钩母线,用于控制数据字节的传送。三根数据传输控制线的具体含义如下:,DAV(DataValid):数据有效信号线。当DAV=1(低电平)时表示数据有效。NRFD(NotReadyforData):未准备好接收数据信号线。当NRFD=1时表示未准备好接收数据;只有各接收设备均准备好接收数据,NRFD才会为零(高电平)。NDAC(NotDataAccepted):不(未)接收数据信号线。当NDAC=1时表示不接收数据或数据未接收;只有各接收设备都收到了数据时,NDAC才会为零(高电平)。,3.五根接口管理线(GeneralInterfaceManagement)接口管理母线,简称管理母线,共有五条,其具体含义如下:ATN(Attention):注意。SRQ(ServiceRequest):服务请求。EOI(EndorIdentify):结束或识别。REN(RemoteEnable):远控使能。IFC(InterfaceClear):接口清除。,它们专用于管理接口本身的工作,每条线都有自己的特殊用途。例如,SRQ线是系统中各设备向控制者请求服务用的,任何装有服务请求功能的设备都可以使这条线的电平变低,即请求控制者中断当前的工作来为它服务。,5.2.3GPIB总线虚拟仪器测试系统I/O接口设备的组成GPIB总线虚拟仪器测试系统I/O接口设备由GPIB接口卡和具有GPIB接口的仪器组成。其中GPIB接口卡完成GPIB总线和PCI总线的连接。GPIB接口仪器是一个独立的仪器,它既可以构成一个GPIB总线虚拟仪器测试系统,也可以作为独立的单台仪器使用。,5.2.4GPIB子模板简介1调用路径FunctionsInstrumentI/OGPIBGPIB子模板如图51所示。,图51GPIB子模板,5.2.5GPIB总线系统软件设计对GPIB总线的控制有许多命令,但是对于初学者以及工程设计人员来说,没有必要详细地学习这些命令。1配置通道及仪器地址调用GPIBInitialization.vi图标配置通道及仪器地址。1)调用路径FunctionsInstrumentI/OGPIBGPIBInitialization.vi执行上述操作后,出现GPIBInitialization.vi图标及其端口图,如图52(a)、(b)所示。,(a),(b),图52GPIBInitialization.vi图标及其端口图GPIBInitialization.vi图标;(b)GPIBInitialization.vi图标与其端口,2)输入端口及参数设置addressstring:GPIB设备的地址号。requirere-addressing:如果该项为真,则GPIB仪器在每次读写完毕后,都要重新发地址号;如果为假,则在每次读写完毕后,仍保留地址号。systemcontroller:如果该项为真,则它起着系统控制器的作用。assertRENwithIFC:如果该项为真,并且控制器是系统控制器时,则GPIB设备发送一个远程控制信号。errorin:输入端错误代码。,3)输出端口及参数设置errorout:输出端错误代码。2对GPIB仪器进行读/写操作对GPIB仪器进行了设置后,对其进行读写操作,需调用GPIBRead.vi图标或GPIBWrite.vi图标。1)GPIBRead.vi图标的调用执行FunctionsInstrumentI/OGPIBGPIBRead.vi操作。其图标及其端口图如图53(a)、(b)所示。,图53GPIBRead.vi图标及其端口图(a)GPIBRead.vi图标;(b)GPIBRead.vi图标与其端口,2)对GPIB的写操作对GPIB进行写操作,需调用GPIBWrite.vi图标。GPIBWrite.vi图标的调用路径:FunctionsInstrumentI/OGPIBGPIBWrite.vi执行上述操作后,GPIBWrite.vi图标及其端口如图54(a)、(b)所示。,图54GPIBWrite.vi图标及其端口图(a)GPIBWrite.vi图标;(b)GPIBWrite.vi图标与其端口,5.3VXI总线简述,VXI是一种高速计算机总线VME(VMEbusExtensionforInstrumentation)总线在仪器领域的扩展,是公认的21世纪仪器总线系统和自动测试系统的优秀平台。由于它的标准开放,结构紧凑,具有数据吞吐能力强,定时和同步精确,模块可重复利用等优点,因此在近10年时间内VXI规范不断完善和发展,并迅速在仪器测量和工业控制等领域得到应用,表现出很强的发展潜力。,1993年由多家公司组成VPP系统联盟,致力于来自各厂商的VXI模块的规范化以来,由于以VXI总线为平台的虚拟仪器软件和硬件都具有开放性、模块化、可重复使用以及互换性等特点,VXI系统的发展更为迅速,被国内外专家誉为“跨世纪的仪器总线”、“划时代的技术成果”,并被认为是电子仪器和自动测试领域的“第三次革命”。,今天,VXI系统已经在世界范围内得到越来越广泛的应用。我国也积极跟踪和消化这一先进技术,已在航空航天测控、军事科研和标准计量等项目中成功地建立了VXI系统,通信、飞机制造、工业自动化等测控领域的VXI仪器应用方兴未艾,并有迅速普及应用的势头。,5.3.1VXI总线接口系统的特点VXI总线系统具有标准化、通用化、系列化、模块化的显著优点,它集测量、计算、通信功能于一体,是国际上20世纪90年代的一项高新科技。它不仅继承了GPIB智能仪器和VME总线的特点,还具有高速、模块化、易于使用等优势。VXI的具体特点如下:VXI是国际上最早推出的开放式总线仪器系统。VXI的标准统一,易于同其它总线兼容,系统组建灵活方便。用户购买VXI总线产品之后,在组建系统时能真正做到“即插即用”(Plug&Play),立竿见影。VXI的人机界面良好,接近于“傻瓜”照相机的灵活程度。,VXI总线仪器系统由传统的“多机箱堆放式”发展成“单机箱多模块式”。VXI具有安装密度高、体积小、重量轻、易于携带等优点。因其外形尺寸小,故可提高被测信号的保真度,能减小仪器与被测装置的引线长度,降低系统噪声和改善屏蔽效果。,采用模块化的严密设计与工艺保证。VXI采用了优良性能的机箱,机箱提供多种规格的高质量电源,具有良好的电磁兼容和强抗干扰能力的屏蔽条件,还具有良好通风散热条件的冷却系统,系统还提供有效的自检与自诊断,从而保证了很高的可靠性和良好的可维修性,大大延长了使用寿命。其平均无故障间隔时间一般可达10万小时,最高可达70万小时(折合80年使用期)。,资源利用率高,很容易实现系统集成,大大缩短研制周期。VXI能实现系统资源共享,系统易于升级和扩展,易于根据各种现场的需要方便快速地更换模块,重新组合系统。因此,即使若干年后老机型被淘汰,其主体部分(如计算机、VXI机箱、VXI模块等)还可用于新机型,资源的重复使用率高达76%86%,能将设备的成本及投资风险降至最低。VXI总线仪器模块采用背板总线结构,背板总线具有时钟定时、同步与触发等功能,因此数据传输速率快(40Mb/s),吞吐量大,是目前传输速率最快的总线系统。,5.3.2VXI总线系统的结构和控制器结构5.3.2.1VXI总线结构VXI总线系统可简化为资源管理器和组态寄存器两种结构。资源管理器用于完成下述软件功能:识别所有的仪器,对管理器进行自检,分配存储器,分配中断线,分配通信等。资源管理器可管理0255共计256个VXI总线仪器。,组态寄存器用于存储仪器模块的各种信息。每个VXI总线仪器都包含以下信息:仪器型号及装置类型,通信能力,状态信息,存储器的需求。VXI总线的通信又分两种类型:消息基,寄存器基。前者是通过VXI总线传送命令,支持高级的标准VXI总线通信协议,例如字串协议;后者是由寄存器简单的读写来控制仪器硬件的操作,它不支持高级通信协议,仅支持VXI总线的配置寄存器,因此不能通用。,5.3.2.2控制器结构常用的控制器有以下几种:IEEE488控制器。它可以接几个主机箱,亦可同时接IEEE488仪器。其特点是具有最普通的仪器界面,容易将VXI总线仪器与IEEE488仪器混合使用。,嵌入式(亦称内置式)VXI总线控制器。它能直接放入主机箱中,并具有一台通用计算机(486或586微机)的全部功能。其主要特点是外形尺寸小,能直接控制VXI总线及12个标准模块,传输速率达40Mb/s,速度最快。MXI控制器。其价格与IEEE488控制器相当,传输速率可达2033Mb/s。,5.3.3VXI总线虚拟仪器测试系统I/O接口设备的组成组成一个VXI总线测试系统,有两种方案:外挂式和嵌入式。5.3.3.1外挂式方案在这种方案下,外部计算机与VXI零槽之间可通过MXI总线、GPIB总线或IEEE1394连接。,1.GPIB接口卡控制方案GPIB控制方案的组件包括插于通用计算机的GPIB接口卡,位于VXI零槽的GPIBVXI模块,GPIB仪器或VXI仪器模块,连接PCIGPIB模块和GPIBVXI模块的GPIB电缆,以及GPIB接口驱动程序。系统构成如图55所示。该控制方案的优点在于用户可利用熟悉的GPIB技术如同控制一台GPIB仪器一样控制VXI系统,缺点是由于GPIB总线的数据传输速率远远低于VXI总线,形成整个系统的数据交互瓶颈。,图55GPIB接口卡控制方案,2.MXI总线控制方案MXI(MultisystemExtensionInterface)总线是由NI提出的一种多系统扩展总线,可实现多个机箱之间的32位数据交换。其连接在功能上等效于嵌入式控制器,并直接映射VXI内存空间,因此在提高数据吞吐率方面具有明显优势。,该控制方案的组件包括插于计算机的PCIMXI2接口卡,位于VXI零槽的VXIMXI2模块和VXI仪器模块,连接PCIMXI2和VXIMXI2的MXI2电缆以及VXIVISA驱动程序。由于这种结构灵活性强,便于升级控制平台和多机箱扩展,价格适中,因此被越来越多的用户所采纳。,3IEEE1394总线控制方案IEEE1394总线控制方案是通过IEEE1394高速串行总线将基于PCI总线的计算机与VXIBus用VXI1394套件连接起来。其连接在功能上等效于嵌入式控制器,并直接映射VXI内存空间,因此在提高数据吞吐率方面具有明显优势。其数据传输速率提高到7Mb/s。,5.3.3.2嵌入式计算机控制方案嵌入式计算机控制方案一般包括一个零槽控制器和VXI仪器模块,即把VXI仪器模块直接插入VXI机箱中。,1零槽与资源管理器VXI零槽控制器是插入VXI机箱最左边的插槽(即零槽),并与背板总线直接相连的嵌入式计算机,用来控制整个VXI系统。VXI资源管理器(ResourceManager)实际上是一个软件模块,它可以装在VXI零槽控制器或者外部计算机上。VXI资源管理器与零槽控制器一起进行系统中每个模块的识别、逻辑地址的分配、内存配置,并用字符串协议建立命令者/从者之间的层次体制。,这种方案的系统物理尺寸最小,并因控制计算机直接与背板最小相连而获得最高的系统性能。直接对VXI的访问意味着计算机可直接读写消息基和寄存器基仪器,消除了GPIBVXI接口翻译对速度的影响。数据在仪器之间以二进制的形式并行、高速传输,主控计算机就像传统的智能仪器内部的微处理器一样工作,因而获得了最高的系统性能。,2主机箱VXI机箱分A尺寸(3.9英寸6.3英寸)、B尺寸(9.2英寸6.3英寸)、C尺寸(9.2英寸13.4英寸)和D尺寸(14.4英寸13.4英寸)四种。VXI的电气结构是在零槽控制器的控制下,各仪器模块可通过高速通信通道联络,同步工作,仪器之间经局部总线进行数据交换。机箱分5槽、13槽等多种规格。,比较GPIB、MXI、IEEE1394和嵌入式这几种VXI控制方案,GPIB控制方式适用于对总线控制的实时性要求不高,并需在系统中集成较多的GPIB仪器的场合;嵌入式控制方案由于在系统的紧凑性、数据吞吐率和电磁兼容方面具有优势,因而在性能要求较高和投资额较大的场合倍受青睐;MXI控制方式具有较高的性能价格比,便于系统扩展和升级,适合于在各种实验室中建立系统;近年来,IEEE1394控制方式以其较高的性能价格比在VXI控制方案中迅速普及。,5.3.4VXI子模板简介1.调用路径FunctionsInstrumentI/OVXIVXI子模板如图56所示。,图56VXI子模板,5.3.5VXI总线系统软件设计对NI公司生产的VXI产品,可调用上述的VXI图标。1对VXI系统进行初始化对VXI系统进行初始化,需调用InitVXILibrary.vi图标。InitVXILibrary.vi图标及其端口图如图57(a)、(b)所示。InitVXILibrary.vi图标的调用路径:FunctionsInstrumentI/OVXIInitVXILibrary.vi,图57InitVXILibrary.vi图标及其端口图(a)InitVXILibrary.vi图标;(b)InitVXILibrary.vi图标与其端口,2对VXI设备进行写操作对VXI设备进行写操作,需调用WSwrt.vi图标。WSwrt.vi图标及其端口图如图58(a)、(b)所示。WSwrt.vi图标的调用路径:FunctionsInstrumentI/OVXIWSwrt.vi,图58WSwrt.vi图标及其端口图(a)WSwrt.vi图标;(b)WSwrt.vi图标与其端口,3对VXI设备进行读操作对VXI进行读操作,需调用WSrd.vi图标。WSrd.vi图标及其端口图如图59(a)、(b)所示。WSrd.vi图标的调用路径:FunctionsInstrumentI/OVXIWSrd.vi,图59WSrd.vi图标及其端口图(a)WSrd.vi图标;(b)WSrd.vi图标与其端口,5.4串口(RS232/485)简述,5.4.1Serial串口子模板简介1调用路径FunctionsInstrumentI/OSerialSerial子模板如图510所示。2.Serial子模板简介该子模板上的图标主要完成对串口的设置及读写操作。,图510Serial子模板,5.4.2Serial总线虚拟仪器测试系统I/O接口设备的组成由串口总线组成虚拟仪器测试系统,其I/O接口设备就是带有RS232/485接口的测试仪器,通常可以直接和计算机上的串口相连。如果计算机的串口已被其它资源占用,则需要在计算机的PCI或ISA槽中插入一块串口卡。,5.4.3Serial总线系统软件设计若采用LabVIEW软件,对串口的操作只需要以下几步。1串口初始化串口初始化需调用SerialPortInit.vi图标。SerialPortInit.vi图标及其端口图如图511(a)、(b)所示。,图511SerialPortInit.vi图标及其端口图(a)SerialPortInit.vi图标;(b)SerialPortInit.vi图标与其端口,1)输入端口参数设置portnumber:设置串口号。baudrate:设置波特率。databits:设置数据位。stopbits:设置停止位。可以是1位、2位、1.5位。parity:奇偶校验位。可以设置为奇校验、偶校验或无校验。flowcontroletc:设置各种握手信号。2)输出端口参数errorcode:显示错误代码。,2对串口进行读操作对串口进行读操作,需调用SerialPortRead.vi图标。SerialPortRead.vi图标及其端口图如图512(a)、(b)所示。1)输入端口参数设置portnumber:设置串口号。requestedbytecount:设置读取字符数。2)输出端口参数stringread:从串口读到的字符。errorcode:显示错误代码。,图512SerialPortRead.vi图标及其端口图,(a)SerialPortRead.vi图标;(b)SerialPortRead.vi图标与其端口,3对串口进行写操作对串口进行写操作,需调用SerialPortWrite.vi图标。SerialPortWrite.vi图标及其端口图如图513(a)、(b)所示。输入端口设置:portnumber:设置串口号。stringtowrite:写入串口缓冲区的字符。errorcode:显示错误代码。,图513SerialPortWrite.vi图标及其端口图(a)SerialPortWrite.vi图标;(b)SerialPortWrite.vi图标与其端口,5.5VISA简述,5.5.1VISA的由来在以往的虚拟仪器开发过程中,I/O接口设备(或称仪器I/O,通常是带有不同总线接口的仪器、仪器模块或数据采集卡)驱动控制软件的开发没有制订统一的规范,仪器厂商按照各自的标准开发I/O接口设备驱动控制软件出售给用户。,由于没有统一的规范约束,只能专用而没有通用性,因此不同类型的或不同厂家生产的I/O接口设备都必须专门来设计它的驱动程序。由于这种不可互换性,因而造成用户在集成、使用和维护虚拟仪器系统时重复投入了大量的资金。为了推动虚拟仪器软件标准化的进程,VXIPlug&Play联盟于1996年完成了对VISA规范的开发工作,并将各个函数的原型以标准的形式发布。,API(ApplicationProgramInterface)是应用软件开发接口,实质是一组函数集,通过它可以直接访问计算机的硬件设备。VISA是用于虚拟仪器系统的标准的API。VISA本身不具备编程能力,它是一个高层API,通过调用底层驱动程序来实现对仪器的编程。其层次如图514所示。,图514VISA内部机制,图515虚拟仪器的软件体系结构,5.5.2虚拟仪器软件体系结构的组成根据VPP(VXIPlug&Play,简称VPP)系统规范的定义,虚拟仪器系统的软件结构应包含三部分,如图515所示。采用VPP标准的I/O接口软件就是VISA。,5.5.2.1输入/输出(I/O)接口软件输入/输出(I/O)接口软件存在于仪器(即I/O接口设备)与仪器驱动程序之间,是一个完成对仪器内部寄存器单元进行直接存取数据操作,对VXI背板总线与器件作测试和控制,并为仪器与仪器驱动程序提供信息传递的底层软件层,是实现开放的、统一的虚拟仪器系统的基础与核心。在VPP系统规范中,详细规定了虚拟仪器系统输入/输出(I/O)接口软件的特点、组成、内部结构与实现规范,并将符合VPP规范的虚拟仪器系统输入/输出(I/O)接口软件定义为VISA软件。,5.5.2.2仪器驱动程序每个仪器模块均有自己的仪器驱动程序。仪器驱动程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集。对于应用程序来说,它对仪器的操作是通过仪器驱动程序来实现的;仪器驱动程序对于仪器的操作与管理,又是通过输入/输出(I/O)软件所提供的统一基础与格式的函数库(VISA库)的调用来实现的。对于应用程序设计人员来说,一旦有了仪器驱动程序,在不是十分了解仪器内部操作过程的情况下,也可以进行虚拟仪器系统的设计工作。仪器驱动程序是连接上层应用软件与底层输入/输出(I/O)软件的纽带和桥梁。,在过去,用户只能见到仪器驱动程序的引出函数原型,仪器供应厂家将源程序“神秘”地隐藏起来。用户一旦发现供应厂家提供的仪器驱动程序不能完全符合使用要求时,也无法对其做出修改,仪器的功能由供应厂家而不是由用户本身来规定的。而VPP规范明确地定义了仪器驱动程序的组成结构与实现,明确规定仪器生产厂家在提供仪器模块的同时,必须提供仪器驱动程序的源程序文件与动态链接库(DLL)文件,,并且由于仪器驱动程序的编写是在VISA软件的基础上,因此仪器驱动程序之间有很大的互参考性,仪器驱动程序的源程序也容易理解。这样,用户就可以修改仪器驱动程序,可以对仪器功能进行扩展,将仪器使用的主动权真正交给了用户。,5.5.2.3应用软件开发环境应用软件开发环境的选择,可因开发人员的喜好不同而不同,但最终都必须提供给用户一界面友好、功能强大的应用程序。在目前,虚拟仪器系统应用软件开发环境主要包括两种:一种是基于传统的文本语言式的平台。主要是NI公司的LabWindows、VC+、Delphi等。,一种是基于图形化工程环境的平台。如HP公司的HPVEE、NI公司的LabVIEW等。图形化软件开发平台的提出,可以大大减轻系统开发人员的负担,使其能将主要精力集中投入到系统设计中,而不再是具体软件细节的推敲上。,5.5.3VISA的特点与其它现存的I/O接口软件相比,VISA具有以下几个特点:VISA的I/O控制功能适用于各种仪器类型。VISA包含了VXI仪器、GPIB仪器、RS232串行仪器等各类仪器的控制操作,也包含了消息基器件、寄存器器件、存储器器件等仪器的操作,其形式上是统一的。,VISA的I/O控制功能适用于各种仪器硬件接口类型。以VXI系统为例,无论采用了嵌入式计算机的结构,或MXI外挂式结构,或GPIB外挂式,对于VXI仪器的操作函数是一样的;同样,无论VXI仪器在系统中的逻辑地址有何不同,仪器操作函数也是一致的。VISA的I/O控制功能适用于单处理器系统结构,也适用于多处理器结构或分布式网络结构。,VISA的I/O控制功能适用于多种网络机制。无论虚拟仪器系统网络构成为VXI多机箱扩展网络还是以太网,仪器操作是一致的。VISA的I/O软件库的源程序是唯一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。,5.5.4VISA的基本内部结构VISA的内部结构如图516所示。资源管理器用于管理、控制与分配VISA资源的操作。各种操作功能主要包括:资源寻址、资源创建与删除、资源属性的读取与修改、操作激活、事件报告、并行与存取控制、缺省值设置等等。,图516VISA的内部结构,在资源管理器的基础上,VISA列出了各种仪器的各种操作功能,并能实现操作功能的合并。在这个基础上实现的资源实质可以包括不同格式的操作,如读资源包括了消息基的读,也包括了寄存器基器件的读;既可以包括GPIB仪器的读,又可以包括VXI模块的读。在VISA的结构中,仪器类型的不同体现在资源名称的不同。对VISA的使用者来说,不同类型仪器的使用在形式上和方法上都是一样的。,5.5.5VISA子模板简介1调用路径FunctionsInstrumentI/OVISAVISA子模板如图517所示。,图517VISA子模板,表51访问仪器资源的表达式,表52访问内存资源的表达式,表53资源名称的不同表达形式,VXI既适用于嵌入式VXI仪器,又适用于MXI总线的VXI仪器;GPIBVXI适用于VXI系统的外挂式GPIB总线;GPIB用于GPIB仪器;ASRL用于任何串口仪器(RS232/485)。,2)VISAEventHandling子模板调用路径:FunctionsInstrumentI/OVISAVISAEventHandlingVISAEventHandling子模板如图518所示。在这个子模板上提供有七个图标,常用的有以下两个图标。,图518VISAEventHandling子模板,3)高层寄存器访问(HighLevelRegisterAccess)子模板调用路径FunctionsInstrumentI/OVISAHighLevelRegisterAccess高层寄存器访问子模板如图519所示。,图519HighLevelRegisterAccess子模板,4)低层寄存器访问(LowLevelRegisterAccess)子模板调用路径:FunctionsInstrumentI/OVISALowLevelRegisterAccess低层寄存器访问子模板如图520所示。LowLevelRegisterAccess子模板上共有10个图标。,图520LowLevelRegisterAccess子模板,图521InterfaceSpecific子模板,5.6应用举例,示例51用VISA子模板实现对GPIB万用表的读写操作。1.功能描述设计一个应用软件控制GPIB万用表,进行数据测量。由面板键入一次GPIB读入命令,就将GPIB万用表的测量值读取一次,并显示在虚拟面板上。,2.I/O接口设备一个GPIB万用表;一块GPIB接口卡(也称为控制器),该接口卡是实现GPIB总线与计算机的PCI总线转换的接口。,3.前面板设计利用VISA子模板来设计,具体设计如下。放置两个输入型数字控件,一个列表框控件。控件1:用于设置VISA的资源名称;控件2:用于向GPIB万用表发送标准的控制命令;控件3:用列表框控件显示从GPIB万用表读取的数据。设计好的前面板如图522所示。,图522GPIB测试前面板,4.流程图设计1)调用VISAOpen.vi图标,以打开和指定资源的连接。本例中“指定资源”为GPIB万用表。执行FunctionsVISAVISAOpen.vi操作。VISAOpen.vi图标及其端口图如图523所示。,图523VISAOpen.vi图标及其端口图(a)VISAOpen.vi图标;(b)VISAOpen.vi图标与其端口,(1)主要输入端口及其参数设置。VISAsession(forclass):和任意存在资源建立连接。本例中是GPIB万用表。resourcename“”:资源管理器的名称,其表示形式如下:GPIBboard:primaryaddress:secondaryaddress:INSTRGPIBboard:GPIB接口卡的地址,在030之间设置。本例中设为0(即board为0)。,primaryaddress:GPIB万用表的地址,在030之间设置。本例中设为16。secondaryaddress:GPIB万用表中的调理模块。本例没有,不设置。因此,本例中最后设置完毕后的语句为GPIB0:16:INSTR,(2)输出端口及其参数设置。VISAsession:同输入端VISAsession的值。2)调用VISAWrite.vi图标,以向GPIB万用表写入命令执行FunctionsVISAVISAWrite.vi操作。VISAWrite.vi图标及其端口图如图524所示。,图524VISAWrite.vi图标及其端口图(a)VISAWrite.vi图标;(b)VISAWrite.vi图标与其端口,(1)主要输入端口及其参数设置。writebuffer:向GPIB万用表写入命令。本例中是由前面板的控件写入。(2)主要输出端口及其参数设置。returncount:显示实际写入缓冲区中的字符数。,3)调用VISAClose.vi图标,断开和GPIB万用表的连接当把VISARead.vi图标的VISAsession输出端和VISAClose.vi图标的输入端VISAsession连接起来后,就断开VISA和GPIB万用表的连接关系。执行FunctionsVISAVISAClose.vi操作。VISAClose.vi图标及其端口图如图525所示。用连线工具把上述的图标连接起来,设计好的流程图如图526所示。,图525VISAClose.vi图标及其端口图(a)VISAClose.vi图标;(b)VISAClose.vi图标与其端口,图526GPIB万用表测试软件流程图,按照图526运行一次后,VISA和GPIB万用表的连接关系就断开了。要读取第二个数据时,还需键入读取命令(*IDN?),重新启动程序(Run)。这时VISA和GPIB万用表之间再次连接,并执行读取一个数据的任务,读完后,又断开。注意,该程序同样可以用于一个VXI仪器的控制。只要把前面板上的“资源名称”换成VXIn:m:INSTR(其中n为VXI控制器的地址号,m为VXI仪器的地址号)就可以了。所以说,用VISA编程可以提高程序的重复利用率。,示例52keithley2000GPIB虚拟万用表测试仪。1功能描述:用keithley2000GPIB万用表来作为I/O接口设备,组成一个虚拟万用表测试仪。该系统可以读取keithley2000GPIB万用表测得的直流电压、交流电压、电阻等参数,并显示在虚拟面板上。2I/O接口设备I/O接口设备由一个keithley2000GPIB万用表和GPIB接口卡组成。系统框图如图527所示。,图527由GPIB总线仪器组成的测试仪,利用GPIB接口驱动程序和keithley2000万用表即可对系统进行组态与编程控制。本系统中GPIB接口卡地址设为,万用表的GPIB地址设为16。,3安装驱动程序在安装GPIB控制卡以前,首先要安装GPIB卡的驱动程序。4前面板设计放置一个输入型数字控件,用来输入GPIB万用表的地址。本例为16。放置一个下拉菜单式数字控件,用来设置测试选项,如DC、AC等。,放置两个输出显示型数字控件,一个用来显示从GPIB万用表读取的数据,即测量值,另一个用来显示计算机和GPIB万用表的连接状态。设计好的前面板如图528所示。,图528GPIB虚拟万用表测试仪前面板,5流程图设计1)调用GPIBWrite.vi图标执行FunctionsInstrumentI/OGPIBWrite.vi操作。GPIBWrite.vi图标及其端口图如图529所示。,图529GPIBWrite.vi图标及其端口图(a)GPIBWrite.vi图标;(b)GPIBWrite.vi图标与其端口,主要输入端口:addressstring:输入GPIB仪器的地址。本例为16。data:向GPIB仪器写入的命令。输出端口:status:是一个16位布尔型数组,每一位就描述了GPIB控制器的某种状态。如果出现错误,则把最高位置为True。,2)调用GPIBRead.vi图标执行FunctionsGPIBGPIBRead.vi操作。GPIBRead.vi图标及其端口图如图530所示。,图530GPIBRead.vi图标及其端口图(a)GPIBRead.vi图标;(b)GPIBRead.vi图标与其端口,主要输入端口:bytecount:设置从GPIB仪器读取的字节数。主要输出端口:data:从GPIB仪器读取的数据。用连线工具把上述图标连接起来,设计好的流程图如图531所示。,图531GPIB虚拟万用表测试仪流程图,图531中,写命令设为常量,因此读取一次数据并显示完毕后,重新启动运行,可再次读取并显示数据,不需要键入读命令。,示例53串口通信测试仪。1功能描述利用计算机的RS232串行口实现两台计算机之间的数据传输,当从一个计算机键入一组数据时,就会从另一台计算机的串口读出数据,键入的数据和读取的数据在显示屏上的显示值是相同的。2I/O接口设备本系统由两台计算机和一个基于RS232的串口电缆组成。串口电缆采用三线制,连线关系如图532所示。,图532RS232通信测试仪,3前面板设计1)放置四个输入控制型数字控件控件1设置串口号;控件2设置要写的字节数;控件3读写选择;控件4设置数据传输波特率。,2)放置两个字符型控件控件1用于显示从串口读取的数据;控件2用于键入向串口写的命令。设计好的前面板如图533所示。,图533通信测试系统前面板,4流程图设计1)调用SerialPortInit.vi图标,对串口进行初始化执行FunctionsSerial.viSerialPortInit.vi操作。SerialPortInit.vi图标及其端口图如图534所示。,图534SerialPortInit.vi图标及其端口图(a)SerialPortInit.vi图标;(b)SerialPortInit.vi图标与其端口,主要输入端口及其参数设置:portnumber:设置串口号。本例设为0。baudrate:设置数据传输的波特率。本例设为9600b/s。databits:设置数据位。本例设为8位。stopbits

温馨提示

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

评论

0/150

提交评论