VC++单片机虚拟仪器测试系统 第10页

VC++单片机虚拟仪器测试系统 第10页
GPIB-VXI或VXI接口直接访问VXI主机时。你必须知道你所要进行的编程的仪器时基于消息基还是寄存器基的VXI器件。消息基的VXI器件拥有自己的处理器来识别高级的命令,譬如,SCPI(可编程仪器标准命令)。当使用VISA时,你利用VISA的输出函数来发送SCPI命令。接着,消息基器件就会解释SCPI命令。在这种情况下,就可以使用VISA的格式化IO或非格式化IO含糊来对消息基器件进行编程。如果消息基器件有共享内存,可以通过对寄存器的PEEK和POKE操作来访问器件的共享内存。VISA提供两个不同的方法对寄存器进行编程:高级内存函数或低级内存函数。而寄存器基的VXI器件没有处理器来处理高级的命令。因此,只有通过寄存器的PEEK和POKE命令直接对器件的寄存器进行编程。VISA提供了两种不同的方法来对寄存器基的器件进行编程:高级内存函数低级内存函数。下面是一个关于GPIB接口的示意图:一台装有多个GPIB卡(PCI和ISA)的PC机和通过GPIB电缆与GPIB卡相连的多台GPIB仪器组成。PC机和仪器之间的通讯是通过GPIB卡和GPIB电缆来实现的。如下所示:              
图3-1
如下面的例子:GPIB接口系统由装由两个82350GPIB卡的PC机和三台GPIB仪器通过GPIB电缆进行连接。通过IO组件对GPIB卡#1和#2分别配置一个VISA名字GPIB0和GPIB1。这样VISA库就可以对其进行寻址操作了,如下图:
而其他的接口类型的配置与连接也是大同小异。
对仪器进行编程之前还需要熟悉一下Agilent IO库的相关知识。从Agilent IO 的安装向导PDF电子资料中了解到了相关的知识点,也知道了该库的重要作用。Agilent IO库软件由两个库和四个IO配置组建加上一个IO库控制组成。两个库为Agilent VISA 和Agilent SICL。Agilent VISA――Agilent Virtual Instrument Software Architecture(VISA)是一个开发符合VXIplug&play标准的I/O应用程序和仪器驱动。而Agilent SICL—Agilent Standard Instrument Control Library(SICL)是一个Agilent开发的适合许多IO接口的IO库。四个IO配置组建中的IO配置是被Agilent IO库用来对仪器的IO硬件接口进行配置。一个硬件接口在被Agilent IO库使用之前必须被IO配置组建进行配置之后才能使用。而VISA助手则是一个应用程序,可以控制和与VXI,GPIB以及Serial仪器进行通讯。这是一个比较好的帮助软件,可以了解到仪器的地址,在编程之前,对相关指令测试操作,以熟悉操作指令。也可以通过它来了解到连接的相关情况。我在三个模块的编程过程中,经常通过该组建来了解相关的信息。其他两个组件则用的不多。VXI 资源管理器是用来显示你的系统是否进行适当的配置,它需要你的系统安装有E8491 IEEE-1394 PC Link to VXI 接口;而LAN Server是通过IO Config对系统进行LAN Server的配置。了解了IO库的介绍性知识,随后又对如何利用IO库对接口进行配置的章节进行的阅读。
一个IO接口可以被定义为硬件接口和软件接口。IO Config组件使用的目的是将一个唯一的软件接口名字和一个硬件接口联系起来。IO库使用接口名字或逻辑单元数字来对接口进行标识。这个信息在VISA程序中被函数viOpen作为一个参数进行调用或在SICL程序中被函数iopen进行调用。IO Config分配一个接口名字和一个逻辑单元数字给一个硬件接口,就象其他接口配置参数一样。当IO接口配置完之后,就可以使用Agilent VISA或Agilent SICL库对分配的仪器进行编程了。比如,下图中显示的是对通过GPIB接口和PC进行连接的GPIB仪器进行VISA和SICL寻址操作。
图3-3
譬如对GPIB(82357USB)接口进行配置,为了对82357USB/GPIB接口进行配置,启动IO Config组件,并在左边的有效接口类型中选中GPIB 82357USB to GPIB如下图:
图3-4
如果在你的系统中有多个82357接口,则在配置窗口中会显示出来。选择你想进行配置的接口的Serial Number并单击OK会显示82357 USB to GPIB配置窗口。在出现的窗口中设置VISA 接口名字,SICL接口名字,逻辑单元以及总线地址。如果你的系统中有多个82357接口的话,重复配置。
图3-5
对PCI接口82350和82341ISA接口的配置也是类似。
对VISA和IO库以及其相关的组件有了一定的认识之后,通过网上和书本上的资料了解了函数信号发生器的基本功能和相关的参数,我便开始了界面的设计以及编程的构思。
3.2.2 函数信号发生器的界面以及编程构思
因为我要完成三个模块的设计:33250A函数信号发生器,54622D示波器以及E1412A万用表的设计工作,所以最初的设计是设计一个主界面,通过三个按钮的点击来分别进入不同的模块如下图所示:
图3-6
后来通过考虑,感觉这样的设计不够人性化和可操作性,也不太符合实际情况。所以通过反复的修改最终是如下所示:
图3-7
这样的设计自己的感觉是比较满意的。从主界面上可以一目了然的知道软件的功能。三个功能模块,通过按钮来进行操作,而左边的列表是通过下面的按钮来进行查找的。开始是,建立会话是处于屏蔽状态,通过查找资源按钮来进行资源的查找工作,并将查找到的资源一一的列在列表框中。用户可以通过双击任一个资源地址来激化建立会话按钮并进行会话的建立工作。会话是否成功的建立会给出提示信息,以确保用户的正确操作和使用。建立会话后,将会把建立会话按钮变为关闭会话按钮,来进行会话的关闭操作。也可以通过进入相应的模块操作之后来对该按钮进行屏蔽操作。进入相关的模块的时候,无需用的对资源地址的记忆,程序会对用户的操作进行判断,以确保用户进入正确的模块中。函数信号发生器模块的界面如下:

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有