第5InstrumentIO子模板与IO接口设备的软件驱动.ppt

上传人:本田雅阁 文档编号:2606164 上传时间:2019-04-16 格式:PPT 页数:170 大小:2.17MB
返回 下载 相关 举报
第5InstrumentIO子模板与IO接口设备的软件驱动.ppt_第1页
第1页 / 共170页
第5InstrumentIO子模板与IO接口设备的软件驱动.ppt_第2页
第2页 / 共170页
第5InstrumentIO子模板与IO接口设备的软件驱动.ppt_第3页
第3页 / 共170页
亲,该文档总共170页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第5InstrumentIO子模板与IO接口设备的软件驱动.ppt》由会员分享,可在线阅读,更多相关《第5InstrumentIO子模板与IO接口设备的软件驱动.ppt(170页珍藏版)》请在三一文库上搜索。

1、第5章 Instrument I / O子模板与I / O接口设备的软件驱动,5.1 概述 5.2 GPIB总线简述 5.3 VXI总线简述 5.4 串口(RS-232 / 485)简述 5.5 VISA简述 5.6 应用举例 本章小结,5.1 概 述,计算机的发展不仅给人们的生活、工作带来了很多方便,同时也带动了别的行业的发展,测量领域也不例外。在测量领域,计算机已经成为测量系统的核心,彻底改变了传统的测量模式。测量系统已经从松散结合的、常常不兼容的、独立的仪器发展成紧密结合的测量系统。回顾测量领域的每一次飞跃,都和计算机的发展有关。,通用仪器总线GPIB于1978年问世,实现了计算机与测量

2、系统的首次结合。它标志着测量仪器从独立的手工操作单台仪器走向程控多台仪器的自动测试系统,是虚拟仪器技术发展的第一阶段。虚拟仪器技术沿着两条主线发展:GPIBVXIPXI;PCI标准串口IEEE1394通用高速串行总线。1987年GPIB仪器总线与VME微机总线结合,诞生了VXI标准仪器总线。发展至今,由于总线类型的不同,形成了目前虚拟仪器的五种构成方式。,因此,软、硬件体系结构各不相同的总线仪器如何兼容成为一个突出的问题。所以,仪器标准化程度也在不断的推行与增强,在1993年成立了VXI即插即用系统联盟(VXI Plug & Play,简称VPP)之后,1998年美国一些仪器厂家又成立了可互换

3、虚拟仪器(IVI)基金会,提出了以计算机系统中即插即用为基础的可互换虚拟仪器思想。推行标准化以期实现不同厂商生产的产品或不同体系结构(如GPIB、VXI、标准串口、PCI、CompactPCI / PXI等)产品相互兼容,在相互取代时不必重新编写驱动程序,这就带来了VISA技术的发展。,在第4章已介绍了采用PCI计算机总线的PCDAQ/PCI插卡式虚拟仪器系统及PXI虚拟仪器系统I/O接口设备的软件驱动方法,本章重点介绍GPIB、VXI、标准串口总线虚拟仪器系统I/O接口设备的软件驱动方法。 LabVIEW在Instrument I/O子模板上提供了多种图标可对NI公司生产的GPIB、VXI、

4、标准串口I/O仪器设备进行驱动。对于非NI公司生产的上述I/O接口仪器设备,可用Instrument I/O子模板上提供的VISA图标来进行驱动。,5.2 GPIB总线简述,计算机技术和大规模集成电路技术的发展,促进了数字化仪器、智能化仪器的快速发展。与此同时,工程上也越来越希望将常用仪器设备与计算机连接起来组成一个由计算机控制的智能系统。目前工程中用到的仪器设备种类繁多,功能各异,独立性强,一个系统往往需要多台不同类型的仪器协同工作,而一般串、并口难以满足要求。,为此,人们从20世纪60年代就开始着手研究能够将一系列仪器设备和计算机连成整体的接口系统。GPIB(General Purpose

5、 Interface Bus)正是这样的接口,它作为桥梁,把各种可编程仪器与计算机紧密地联系起来,从此电子测量由独立的、传统的单台仪器向组成大规模自动测试系统的方向发展。,GPIB的硬件规范和软件协议先后被纳入两个国际工业标准:ANSI/IEEE 488.1和ANSI/IEEE488.2。今天,几百家厂商的数以万计的仪器都配置了遵循IEEE488的GPIB总线接口,应用遍及科学研究、工程开发、医药卫生、自动测试设备、射频、微波等各个领域。通过GPIB接口,可以将若干台基本仪器和计算机仪器搭成积木式的测试系统,在计算机的控制下完成复杂的测量。 GPIB仪器系统的构成是迈向“虚拟仪器”的第一步,即

6、利用计算机增强和扩展传统仪器的功能,组织大型柔性自动测试系统,技术易于升级,维护方便,仪器功能和面板自定义,开发和使用容易。,5.2.1 GPIB总线接口系统的特点 典型的GPIB测量系统由PC机、GPIB接口卡和若干台(最多14台)GPIB仪器通过标准GPIB电缆连接而成。该系统具有以下四个显著特点: GPIB接口编程方便,减轻了软件设计负担,可使用高级语言编程。 提高了仪器设备的性能指标。利用计算机对带有GPIB接口的仪器实现操作和控制,可实现系统的自校准、自诊断等要求,从而提高了测量精度。, 便于将多台带有GPIB接口的仪器组合起来,形成较大的自动测试系统,高效灵活地完成各种不同的测试任

7、务,而且组建和拆散灵活,使用方便。 便于扩展传统仪器的功能。由于仪器与计算机相连,因此可在计算机的控制下对测试数据进行更加灵活、方便的传输、处理、综合、利用和显示,使原来仪器采用硬件逻辑很难解决或无法解决的问题迎刃而解。,5.2.2 GPIB总线结构 GPIB总线是一个数字化24脚(扁型接口插座)并行总线。其中16根线为TTL电平信号传输线,包括八根双向数据线、五根接口管理线、三根数据传输控制线;另八根为地线和屏蔽线。GPIB使用八位并行、字节串行、异步通信方式,所有字节通过总线顺序传送。,1八根双向数据线(DI01DI08) 双向数据线用来传递系统内的多线消息, 如控制者发送的通令、专令、地

8、址和向被控设备发送的程控指令,设备间发送和接收的数据及向控制者报告自己运行情况的状态数据等,是系统的命令、状态信息通道。,2三根数据传输控制线(Data Byte Transfer Control) 由于各设备的工作速度可能相差悬殊,为保证多线消息能双向、异步、准确可靠地传递,GPIB系统中配备了三根数据字节传递控制母线,在我国叫三线挂钩控制传送,又简称为挂钩母线,用于控制数据字节的传送。三根数据传输控制线的具体含义如下:, DAV(Data Valid):数据有效信号线。当DAV =1(低电平)时表示数据有效。 NRFD(Not Ready for Data):未准备好接收数据信号线。当NR

9、FD =1时表示未准备好接收数据;只有各接收设备均准备好接收数据,NRFD才会为零(高电平)。 NDAC(Not Data Accepted):不(未)接收数据信号线。当NDAC =1时表示不接收数据或数据未接收;只有各接收设备都收到了数据时,NDAC才会为零(高电平)。,3. 五根接口管理线(General Interface Management) 接口管理母线,简称管理母线,共有五条,其具体含义如下: ATN(Attention):注意。 SRQ(Service Request):服务请求。 EOI(End or Identify):结束或识别。 REN(Remote Enable):远

10、控使能。 IFC(Interface Clear):接口清除。,它们专用于管理接口本身的工作,每条线都有自己的特殊用途。例如,SRQ线是系统中各设备向控制者请求服务用的,任何装有服务请求功能的设备都可以使这条线的电平变低,即请求控制者中断当前的工作来为它服务。,5.2.3 GPIB总线虚拟仪器测试系统I/O接口设备的组成 GPIB总线虚拟仪器测试系统I/O接口设备由GPIB接口卡和具有GPIB接口的仪器组成。其中GPIB接口卡完成GPIB总线和PCI总线的连接。GPIB接口仪器是一个独立的仪器,它既可以构成一个GPIB总线虚拟仪器测试系统,也可以作为独立的单台仪器使用。,5.2.4 GPIB子

11、模板简介 1调用路径 FunctionsInstrument I/OGPIB GPIB子模板如图51所示。,图51 GPIB子模板,5.2.5 GPIB总线系统软件设计 对GPIB总线的控制有许多命令,但是对于初学者以及工程设计人员来说,没有必要详细地学习这些命令。 1配置通道及仪器地址 调用GPIB Initialization.vi图标配置通道及仪器地址。 1) 调用路径 FunctionsInstrument I/OGPIBGPIB Initialization.vi 执行上述操作后,出现GPIB Initialization.vi图标及其端口图,如图52(a)、(b)所示。,(a),(

12、b),图52 GPIB Initialization .vi图标及其端口图 GPIB Initialization.vi图标; (b) GPIB Initialization.vi图标与其端口,2) 输入端口及参数设置 address string:GPIB设备的地址号。 require re-addressing:如果该项为真,则GPIB仪器在每次读写完毕后,都要重新发地址号;如果为假,则在每次读写完毕后,仍保留地址号。 system controller:如果该项为真,则它起着系统控制器的作用。 assert REN with IFC:如果该项为真,并且控制器是系统控制器时,则GPIB设备

13、发送一个远程控制信号。 error in:输入端错误代码。,3) 输出端口及参数设置 error out:输出端错误代码。 2对GPIB仪器进行读/写操作 对GPIB仪器进行了设置后,对其进行读写操作,需调用GPIB Read.vi图标或GPIB Write.vi图标。 1) GPIB Read.vi图标的调用 执行FunctionsInstrument I/OGPIBGPIB Read.vi操作。其图标及其端口图如图53(a)、(b)所示。,图53 GPIB Read.vi图标及其端口图 (a) GPIB Read.vi图标;(b) GPIB Read.vi图标与其端口,2) 对GPIB的写

14、操作 对GPIB进行写操作,需调用GPIB Write.vi图标。 GPIB Write.vi图标的调用路径: FunctionsInstrument I/OGPIBGPIB Write.vi 执行上述操作后,GPIB Write.vi图标及其端口如图54(a)、(b)所示。,图54 GPIB Write.vi图标及其端口图 (a) GPIB Write.vi图标;(b) GPIB Write.vi图标与其端口,5.3 VXI总线简述,VXI是一种高速计算机总线VME(VMEbus Extension for Instrumentation)总线在仪器领域的扩展,是公认的21世纪仪器总线系统和

15、自动测试系统的优秀平台。由于它的标准开放,结构紧凑,具有数据吞吐能力强,定时和同步精确,模块可重复利用等优点,因此在近10年时间内VXI规范不断完善和发展,并迅速在仪器测量和工业控制等领域得到应用,表现出很强的发展潜力。,1993年由多家公司组成VPP系统联盟,致力于来自各厂商的VXI模块的规范化以来,由于以VXI总线为平台的虚拟仪器软件和硬件都具有开放性、模块化、可重复使用以及互换性等特点,VXI系统的发展更为迅速,被国内外专家誉为“跨世纪的仪器总线”、“划时代的技术成果”,并被认为是电子仪器和自动测试领域的“第三次革命”。,今天,VXI系统已经在世界范围内得到越来越广泛的应用。我国也积极跟

16、踪和消化这一先进技术,已在航空航天测控、军事科研和标准计量等项目中成功地建立了VXI系统,通信、飞机制造、工业自动化等测控领域的VXI仪器应用方兴未艾,并有迅速普及应用的势头。,5.3.1 VXI总线接口系统的特点 VXI总线系统具有标准化、通用化、系列化、模块化的显著优点,它集测量、计算、通信功能于一体,是国际上20世纪90年代的一项高新科技。它不仅继承了GPIB智能仪器和VME总线的特点,还具有高速、模块化、易于使用等优势。VXI的具体特点如下: VXI是国际上最早推出的开放式总线仪器系统。VXI的标准统一,易于同其它总线兼容,系统组建灵活方便。用户购买VXI总线产品之后,在组建系统时能真

17、正做到“即插即用”(Plug & Play),立竿见影。VXI的人机界面良好,接近于“傻瓜”照相机的灵活程度。, VXI总线仪器系统由传统的“多机箱堆放式”发展成“单机箱多模块式”。VXI具有安装密度高、体积小、重量轻、易于携带等优点。因其外形尺寸小,故可提高被测信号的保真度,能减小仪器与被测装置的引线长度,降低系统噪声和改善屏蔽效果。, 采用模块化的严密设计与工艺保证。VXI采用了优良性能的机箱,机箱提供多种规格的高质量电源,具有良好的电磁兼容和强抗干扰能力的屏蔽条件,还具有良好通风散热条件的冷却系统,系统还提供有效的自检与自诊断,从而保证了很高的可靠性和良好的可维修性,大大延长了使用寿命。

18、其平均无故障间隔时间一般可达10万小时,最高可达70万小时(折合80年使用期)。, 资源利用率高,很容易实现系统集成,大大缩短研制周期。VXI能实现系统资源共享,系统易于升级和扩展,易于根据各种现场的需要方便快速地更换模块,重新组合系统。因此,即使若干年后老机型被淘汰,其主体部分(如计算机、VXI机箱、VXI模块等)还可用于新机型,资源的重复使用率高达76%86%,能将设备的成本及投资风险降至最低。 VXI总线仪器模块采用背板总线结构,背板总线具有时钟定时、同步与触发等功能,因此数据传输速率快(40 Mb/s),吞吐量大,是目前传输速率最快的总线系统。,5.3.2 VXI总线系统的结构和控制器

19、结构 5.3.2.1 VXI总线结构 VXI总线系统可简化为资源管理器和组态寄存器两种结构。 资源管理器用于完成下述软件功能:识别所有的仪器,对管理器进行自检,分配存储器,分配中断线,分配通信等。资源管理器可管理0255共计256个VXI总线仪器。,组态寄存器用于存储仪器模块的各种信息。每个VXI总线仪器都包含以下信息:仪器型号及装置类型,通信能力,状态信息,存储器的需求。VXI总线的通信又分两种类型:消息基,寄存器基。前者是通过VXI 总线传送命令,支持高级的标准VXI总线通信协议,例如字串协议;后者是由寄存器简单的读写来控制仪器硬件的操作,它不支持高级通信协议,仅支持VXI总线的配置寄存器

20、,因此不能通用。,5.3.2.2 控制器结构 常用的控制器有以下几种: IEEE488控制器。它可以接几个主机箱,亦可同时接IEEE488仪器。其特点是具有最普通的仪器界面,容易将VXI总线仪器与IEEE488仪器混合使用。, 嵌入式(亦称内置式)VXI总线控制器。它能直接放入主机箱中,并具有一台通用计算机(486或586微机)的全部功能。其主要特点是外形尺寸小,能直接控制VXI总线及12个标准模块,传输速率达40 Mb/s,速度最快。 MXI控制器。其价格与IEEE488控制器相当,传输速率可达2033 Mb/s。,5.3.3 VXI总线虚拟仪器测试系统I/O接口设备的组成 组成一个VXI

21、总线测试系统,有两种方案:外挂式和嵌入式。 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总线,形成整个系统的数据交互

22、瓶颈。,图55 GPIB接口卡控制方案,2. MXI总线控制方案 MXI(Multisystem Extension Interface)总线是由NI提出的一种多系统扩展总线,可实现多个机箱之间的32位数据交换。其连接在功能上等效于嵌入式控制器,并直接映射VXI内存空间,因此在提高数据吞吐率方面具有明显优势。,该控制方案的组件包括插于计算机的PCIMXI2接口卡,位于VXI零槽的VXIMXI2模块和VXI仪器模块,连接PCIMXI2和VXIMXI2的MXI2电缆以及VXIVISA驱动程序。由于这种结构灵活性强,便于升级控制平台和多机箱扩展,价格适中,因此被越来越多的用户所采纳。,3IEEE13

23、94总线控制方案 IEEE 1394总线控制方案是通过IEEE1394高速串行总线将基于PCI总线的计算机与VXIBus用VXI1394套件连接起来。其连接在功能上等效于嵌入式控制器,并直接映射VXI内存空间,因此在提高数据吞吐率方面具有明显优势。其数据传输速率提高到7 Mb/s。,5.3.3.2 嵌入式计算机控制方案 嵌入式计算机控制方案一般包括一个零槽控制器和VXI仪器模块,即把VXI 仪器模块直接插入VXI机箱中。,1零槽与资源管理器 VXI零槽控制器是插入VXI机箱最左边的插槽(即零槽),并与背板总线直接相连的嵌入式计算机,用来控制整个VXI系统。 VXI资源管理器(Resource

24、Manager)实际上是一个软件模块,它可以装在VXI零槽控制器或者外部计算机上。VXI资源管理器与零槽控制器一起进行系统中每个模块的识别、逻辑地址的分配、内存配置,并用字符串协议建立命令者/从者之间的层次体制。,这种方案的系统物理尺寸最小,并因控制计算机直接与背板最小相连而获得最高的系统性能。直接对VXI的访问意味着计算机可直接读写消息基和寄存器基仪器,消除了GPIBVXI接口翻译对速度的影响。数据在仪器之间以二进制的形式并行、高速传输,主控计算机就像传统的智能仪器内部的微处理器一样工作,因而获得了最高的系统性能。,2主机箱 VXI机箱分A尺寸(3.9英寸6.3英寸)、B尺寸(9.2英寸6.

25、3英寸)、C尺寸(9.2英寸13.4英寸)和D尺寸(14.4英寸13.4英寸)四种。VXI的电气结构是在零槽控制器的控制下,各仪器模块可通过高速通信通道联络,同步工作,仪器之间经局部总线进行数据交换。机箱分5槽、13槽等多种规格。,比较GPIB、MXI、IEEE1394和嵌入式这几种VXI控制方案,GPIB控制方式适用于对总线控制的实时性要求不高,并需在系统中集成较多的GPIB仪器的场合;嵌入式控制方案由于在系统的紧凑性、数据吞吐率和电磁兼容方面具有优势,因而在性能要求较高和投资额较大的场合倍受青睐;MXI控制方式具有较高的性能价格比,便于系统扩展和升级,适合于在各种实验室中建立系统;近年来,

26、IEEE1394控制方式以其较高的性能价格比在VXI控制方案中迅速普及。,5.3.4 VXI子模板简介 1. 调用路径 FunctionsInstrument I/OVXI VXI子模板如图56所示。,图56 VXI子模板,5.3.5 VXI总线系统软件设计 对NI公司生产的VXI产品,可调用上述的VXI图标。 1对VXI系统进行初始化 对VXI系统进行初始化,需调用Init VXILibrary.vi图标。Init VXILibrary.vi图标及其端口图如图57(a)、(b)所示。 Init VXILibrary.vi图标的调用路径: FunctionsInstrument I/OVXII

27、nit VXILibrary.vi,图57 Init VXILibrary.vi图标及其端口图 (a) Init VXILibrary.vi图标;(b) Init VXILibrary.vi图标与其端口,2对VXI设备进行写操作 对VXI设备进行写操作,需调用WSwrt.vi图标。WSwrt.vi图标及其端口图如图58(a)、(b)所示。 WSwrt.vi图标的调用路径: FunctionsInstrument I/OVXIWSwrt.vi,图58 WSwrt.vi图标及其端口图 (a) WSwrt.vi图标;(b) WSwrt.vi图标与其端口,3对VXI设备进行读操作 对VXI进行读操作,

28、需调用WSrd.vi图标。WSrd.vi图标及其端口图如图59(a)、(b)所示。 WSrd.vi图标的调用路径: FunctionsInstrument I/OVXIWSrd.vi,图59 WSrd.vi图标及其端口图 (a) WSrd.vi图标;(b) WSrd.vi图标与其端口,5.4 串口(RS232/485)简述,5.4.1 Serial串口子模板简介 1调用路径 FunctionsInstrument I/OSerial Serial子模板如图510所示。 2. Serial子模板简介 该子模板上的图标主要完成对串口的设置及读写操作。,图510 Serial子模板,5.4.2 Se

29、rial总线虚拟仪器测试系统I/O接口设备的组成 由串口总线组成虚拟仪器测试系统,其I/O接口设备就是带有RS232/485接口的测试仪器,通常可以直接和计算机上的串口相连。如果计算机的串口已被其它资源占用,则需要在计算机的PCI或ISA槽中插入一块串口卡。,5.4.3 Serial总线系统软件设计 若采用LabVIEW软件,对串口的操作只需要以下几步。 1串口初始化 串口初始化需调用Serial Port Init.vi图标。Serial Port Init.vi图标及其端口图如图511(a)、(b)所示。,图511 Serial Port Init.vi图标及其端口图 (a) Serial

30、 Port Init.vi图标;(b) Serial Port Init.vi图标与其端口,1) 输入端口参数设置 port number:设置串口号。 baud rate:设置波特率。 data bits:设置数据位。 stop bits:设置停止位。可以是1位、2位、1.5位。 parity:奇偶校验位。可以设置为奇校验、偶校验或无校验。 flow control etc:设置各种握手信号。 2) 输出端口参数 error code:显示错误代码。,2对串口进行读操作 对串口进行读操作,需调用Serial Port Read.vi图标。Serial Port Read.vi图标及其端口图如

31、图512(a)、(b)所示。 1) 输入端口参数设置 port number:设置串口号。 requested byte count:设置读取字符数。 2) 输出端口参数 string read:从串口读到的字符。 error code:显示错误代码。,图512 Serial Port Read.vi图标及其端口图,(a) Serial Port Read.vi图标;(b) Serial Port Read.vi图标与其端口,3对串口进行写操作 对串口进行写操作,需调用Serial Port Write.vi图标。Serial Port Write.vi图标及其端口图如图513(a)、(b)所

32、示。 输入端口设置: port number:设置串口号。 string to write:写入串口缓冲区的字符。 error code:显示错误代码。,图513 Serial Port Write.vi图标及其端口图 (a) Serial Port Write.vi图标;(b) Serial Port Write.vi图标与其端口,5.5 VISA 简 述,5.5.1 VISA的由来 在以往的虚拟仪器开发过程中,I/O接口设备(或称仪器I/O,通常是带有不同总线接口的仪器、仪器模块或数据采集卡)驱动控制软件的开发没有制订统一的规范,仪器厂商按照各自的标准开发I/O接口设备驱动控制软件出售给用

33、户。,由于没有统一的规范约束,只能专用而没有通用性,因此不同类型的或不同厂家生产的I/O接口设备都必须专门来设计它的驱动程序。由于这种不可互换性,因而造成用户在集成、使用和维护虚拟仪器系统时重复投入了大量的资金。为了推动虚拟仪器软件标准化的进程,VXI Plug & Play联盟于1996年完成了对VISA规范的开发工作,并将各个函数的原型以标准的形式发布。,API(Application Program Interface)是应用软件开发接口,实质是一组函数集,通过它可以直接访问计算机的硬件设备。VISA是用于虚拟仪器系统的标准的API。VISA本身不具备编程能力,它是一个高层API,通过调

34、用底层驱动程序来实现对仪器的编程。其层次如图514所示。,图514 VISA内部机制,图515 虚拟仪器的软件体系结构,5.5.2 虚拟仪器软件体系结构的组成 根据VPP(VXI Plug & Play,简称VPP)系统规范的定义,虚拟仪器系统的软件结构应包含三部分,如图515所示。采用VPP标准的I/O接口软件就是VISA。,5.5.2.1 输入/输出(I/O)接口软件 输入/输出(I/O)接口软件存在于仪器(即I/O接口设备)与仪器驱动程序之间,是一个完成对仪器内部寄存器单元进行直接存取数据操作,对VXI背板总线与器件作测试和控制,并为仪器与仪器驱动程序提供信息传递的底层软件层,是实现开放

35、的、统一的虚拟仪器系统的基础与核心。在VPP系统规范中,详细规定了虚拟仪器系统输入/输出(I/O)接口软件的特点、组成、内部结构与实现规范,并将符合VPP规范的虚拟仪器系统输入/输出(I/O)接口软件定义为VISA软件。,5.5.2.2 仪器驱动程序 每个仪器模块均有自己的仪器驱动程序。仪器驱动程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集。对于应用程序来说,它对仪器的操作是通过仪器驱动程序来实现的;仪器驱动程序对于仪器的操作与管理,又是通过输入/输出(I/O)软件所提供的统一基础与格式的函数库(VISA库)的调用来实现的。对于应用程序设计人员来说,一旦有了仪器驱动程序,在不是十分了

36、解仪器内部操作过程的情况下,也可以进行虚拟仪器系统的设计工作。仪器驱动程序是连接上层应用软件与底层输入/输出(I/O)软件的纽带和桥梁。,在过去,用户只能见到仪器驱动程序的引出函数原型,仪器供应厂家将源程序“神秘”地隐藏起来。用户一旦发现供应厂家提供的仪器驱动程序不能完全符合使用要求时,也无法对其做出修改,仪器的功能由供应厂家而不是由用户本身来规定的。而VPP规范明确地定义了仪器驱动程序的组成结构与实现,明确规定仪器生产厂家在提供仪器模块的同时,必须提供仪器驱动程序的源程序文件与动态链接库(DLL)文件,,并且由于仪器驱动程序的编写是在VISA软件的基础上,因此仪器驱动程序之间有很大的互参考性

37、,仪器驱动程序的源程序也容易理解。这样,用户就可以修改仪器驱动程序,可以对仪器功能进行扩展,将仪器使用的主动权真正交给了用户。,5.5.2.3 应用软件开发环境 应用软件开发环境的选择,可因开发人员的喜好不同而不同,但最终都必须提供给用户一界面友好、功能强大的应用程序。在目前,虚拟仪器系统应用软件开发环境主要包括两种: 一种是基于传统的文本语言式的平台。主要是NI公司的LabWindows、VC+、Delphi等。, 一种是基于图形化工程环境的平台。如HP公司的HPVEE、NI公司的LabVIEW等。图形化软件开发平台的提出,可以大大减轻系统开发人员的负担,使其能将主要精力集中投入到系统设计中

38、,而不再是具体软件细节的推敲上。,5.5.3 VISA的特点 与其它现存的I/O接口软件相比,VISA具有以下几个特点: VISA的I/O控制功能适用于各种仪器类型。VISA包含了VXI仪器、GPIB仪器、RS232串行仪器等各类仪器的控制操作,也包含了消息基器件、寄存器器件、存储器器件等仪器的操作,其形式上是统一的。, VISA的I/O控制功能适用于各种仪器硬件接口类型。以VXI系统为例,无论采用了嵌入式计算机的结构,或MXI外挂式结构,或GPIB外挂式,对于VXI仪器的操作函数是一样的;同样,无论VXI仪器在系统中的逻辑地址有何不同,仪器操作函数也是一致的。 VISA的I/O控制功能适用于

39、单处理器系统结构,也适用于多处理器结构或分布式网络结构。, VISA的I/O控制功能适用于多种网络机制。无论虚拟仪器系统网络构成为VXI多机箱扩展网络还是以太网,仪器操作是一致的。 VISA的I/O软件库的源程序是唯一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。,5.5.4 VISA 的基本内部结构 VISA 的内部结构如图516所示。 资源管理器用于管理、控制与分配VISA资源的操作。各种操作功能主要包括:资源寻址、资源创建与删除、资源属性的读取与修改、操作激活、事件报告、并行与存取控制、缺省值设置等等。,图516 VISA 的内部结构,在资源管理器的基础上

40、,VISA列出了各种仪器的各种操作功能,并能实现操作功能的合并。在这个基础上实现的资源实质可以包括不同格式的操作,如读资源包括了消息基的读,也包括了寄存器基器件的读;既可以包括GPIB仪器的读,又可以包括VXI模块的读。 在VISA的结构中,仪器类型的不同体现在资源名称的不同。对VISA的使用者来说,不同类型仪器的使用在形式上和方法上都是一样的。,5.5.5 VISA子模板简介 1调用路径 FunctionsInstrument I/OVISA VISA子模板如图517所示。,图517 VISA子模板,表51 访问仪器资源的表达式,表52 访问内存资源的表达式,表53 资源名称的不同表达形式,

41、VXI 既适用于嵌入式VXI仪器,又适用于MXI总线的VXI仪器; GPIBVXI适用于VXI系统的外挂式GPIB总线; GPIB 用于GPIB仪器; ASRL用于任何串口仪器(RS232/485)。,2) VISA Event Handling子模板 调用路径: FunctionsInstrument I/OVISA VISA Event Handling VISA Event Handling子模板如图518所示。在这个子模板上提供有七个图标,常用的有以下两个图标。,图518 VISA Event Handling子模板,3) 高层寄存器访问(High Level Register Acc

42、ess)子模板调用路径 FunctionsInstrument I/OVISAHigh Level Register Access 高层寄存器访问子模板如图519所示。,图519 High Level Register Access子模板,4) 低层寄存器访问(Low Level Register Access)子模板调用路径: FunctionsInstrument I/OVISALow Level Register Access 低层寄存器访问子模板如图520所示。 Low Level Register Access子模板上共有10个图标。,图520 Low Level Register

43、Access子模板,图521 Interface Specific子模板,5.6 应 用 举 例,示例51 用VISA子模板实现对GPIB万用表的读写操作。 1. 功能描述 设计一个应用软件控制GPIB万用表,进行数据测量。由面板键入一次GPIB读入命令,就将GPIB万用表的测量值读取一次,并显示在虚拟面板上。,2. I/O接口设备 一个GPIB万用表;一块GPIB接口卡(也称为控制器),该接口卡是实现GPIB总线与计算机的PCI总线转换的接口。,3. 前面板设计 利用VISA子模板来设计,具体设计如下。 放置两个输入型数字控件,一个列表框控件。 控件1: 用于设置VISA的资源名称; 控件2

44、: 用于向GPIB万用表发送标准的控制命令; 控件3: 用列表框控件显示从GPIB万用表读取的数据。 设计好的前面板如图522所示。,图522 GPIB测试前面板,4. 流程图设计 1) 调用VISA Open.vi图标,以打开和指定资源的连接。 本例中“指定资源”为GPIB万用表。 执行FunctionsVISAVISA Open.vi操作。VISA Open.vi图标及其端口图如图523所示。,图523 VISA Open.vi图标及其端口图 (a) VISA Open.vi图标;(b) VISA Open.vi图标与其端口,(1) 主要输入端口及其参数设置。 VISA session(f

45、or class):和任意存在资源建立连接。本例中是GPIB万用表。 resource name“ ”:资源管理器的名称,其表示形式如下: GPIBboard:primary address:secondary address:INSTR GPIBboard:GPIB接口卡的地址,在030之间设置。本例中设为0(即board为0)。,primary address:GPIB万用表的地址,在030之间设置。本例中设为16。 secondary address:GPIB万用表中的调理模块。本例没有,不设置。 因此,本例中最后设置完毕后的语句为 GPIB0:16:INSTR,(2) 输出端口及其参数

46、设置。 VISA session: 同输入端VISA session的值。 2) 调用VISA Write.vi图标,以向GPIB万用表写入命令 执行FunctionsVISAVISA Write.vi操作。VISA Write.vi图标及其端口图如图524所示。,图524 VISA Write.vi图标及其端口图 (a) VISA Write.vi图标;(b) VISA Write.vi图标与其端口,(1) 主要输入端口及其参数设置。 write buffer:向GPIB万用表写入命令。本例中是由前面板的控件写入。 (2) 主要输出端口及其参数设置。 return count:显示实际写入缓

47、冲区中的字符数。,3) 调用VISA Close.vi图标,断开和GPIB万用表的连接 当把VISA Read.vi图标的 VISA session 输出端和VISA Close.vi图标的输入端 VISA session连接起来后,就断开VISA和GPIB万用表的连接关系。 执行FunctionsVISAVISA Close.vi操作。VISA Close.vi图标及其端口图如图525所示。 用连线工具把上述的图标连接起来,设计好的流程图如图526所示。,图525 VISA Close.vi图标及其端口图 (a) VISA Close.vi图标;(b) VISA Close.vi图标与其端口

48、,图526 GPIB万用表测试软件流程图,按照图526运行一次后,VISA和GPIB万用表的连接关系就断开了。要读取第二个数据时,还需键入读取命令(*IDN?),重新启动程序(Run)。这时VISA和GPIB万用表之间再次连接,并执行读取一个数据的任务,读完后,又断开。 注意,该程序同样可以用于一个VXI仪器的控制。只要把前面板上的“资源名称”换成VXIn:m:INSTR(其中n为VXI控制器的地址号,m为VXI仪器的地址号)就可以了。所以说,用VISA编程可以提高程序的重复利用率。,示例52 keithley2000GPIB虚拟万用表测试仪。 1功能描述: 用keithley2000GPIB

49、万用表来作为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万用表读取的数据,即测量值,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1