收藏 分销(赏)

VC++6.0环境下GPIB虚拟仪器的设计.doc

上传人:a199****6536 文档编号:2492454 上传时间:2024-05-30 格式:DOC 页数:11 大小:205.54KB
下载 相关 举报
VC++6.0环境下GPIB虚拟仪器的设计.doc_第1页
第1页 / 共11页
VC++6.0环境下GPIB虚拟仪器的设计.doc_第2页
第2页 / 共11页
VC++6.0环境下GPIB虚拟仪器的设计.doc_第3页
第3页 / 共11页
VC++6.0环境下GPIB虚拟仪器的设计.doc_第4页
第4页 / 共11页
VC++6.0环境下GPIB虚拟仪器的设计.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、VC+6.0环境下GPIB虚拟仪器的设计 作者: 日期:2 个人收集整理 勿做商业用途VC+6。0环境下GPIB虚拟仪器的设计摘要:介绍了基于GPIB的虚拟仪器技术发展、特点,讨论了GPIB测量系统的组成.阐述了VC+6.0环境下借助于ComponentWorks+和VISA实现虚拟仪器软件编程的方法。其中,以一个通用电源测试台作为实例,来展示虚拟仪器的开发、应用。关键词:虚拟仪器;GPIB;VC;VISAThe Design of Virtual Instrument with GPIB Interface In Visual C+6。0Abstract: This paper presen

2、ts the development, the characteristic and the virtual instruments technology. Then introduce how to use ComponentWorks+ and VISA to program virtual instruments software in Visual C+6。0. A practical general purpose power supply test studio be show the development and application of the virtual instr

3、uments.Key words: Virtual Instrument; GPIB; VC; VISA黄璐璐,李志华,李训铭Huang, Lulu Li, Zhihua Li, Xunming河海大学 电气工程学院,江苏 南京210098中图分类号:TP274 文献识别码:1.引言计算机技术和现代微电子技术的发展与普及,促进了电子测量仪器的快速发展。与此同时,工程上也越来越需要将测试用的电子仪器设备与计算机连接起来组成一个由计算机控制的智能系统,即自动测试系统(Auto-test System)。而虚拟仪器(Virtual Instrument)正是自动测试系统中一项重要技术,这种新的测试仪

4、器理念推动传统的测量仪器朝着数字化、智能化、模块化的方向发展,从而自动测试系统才得到了长足发展。往往自动测试系统中仪器设备种类繁多、独立性强,它们与计算机还要协同工作,所用的接口的要求也就要高于一般串行、并行接口。GPIB(General Purpose Interface Bus)正是这样的接口,它作为桥梁,把各种仪器与计算机紧密地联系起来,其实,也正是因为GPIB的提出,才使得电子测量由独立的、传统的单台仪器向组成自动测试系统的方向发展.VC+6。0是现在流行的通用编程软件,在其环境下的虚拟仪器设计,也就有着普遍的意义。2.虚拟仪器技术电子测量仪器发展至今,大致上可以分为四代:模拟仪器、数

5、字化仪器、智能仪器和虚拟仪器1、。先简要地介绍前三代的仪器:第一代模拟仪器,基本结构是电磁机械式的,借助指针来显示最终结果.如模拟电压表、模拟电流表、模拟转速表等。这类仪器仪表常用在要求精度不高、定性指示的场合。第二代数字化仪器,主要是借助于单片机设计的专用化仪器仪表。目前相当普及,如数字万用表等。这类仪器将模拟信号的测量转化为数字信号测量,并以数字方式输出最终结果,适用于快速响应和较高准确度的测量。第三代智能仪器,这类仪器内置微处理器,既能进行自动测试又具有一定的数据处理能力。如频谱分析仪等.由于它的功能块全部都是以硬件(或固化的软件)的形式存在,无论是开发还是应用,都缺乏一定的灵活性 2。

6、再来谈谈虚拟仪器的发展及特点3、:虚拟仪器的概念,是美国国家仪器公司(National Instruments Corp.,简称NI)在1986年提出的。与此同时提出的,还有“软件就是仪器(The software is the instrument.)的概念,这就强调软件在虚拟已其中的关键地位。任何一台仪器无非由以下三大功能块组成:信号的采集与控制、信号的分析与处理、结果的表达与输出.虚拟仪器既是将这三大模块的功能尽可能用计算机实现.大多数虚拟仪器是由计算机完成信号的分析和处理、结果的表达与输出这两个功能块的部分或全部功能。也就是说,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、

7、过程通讯及图形用户界面(GUI)的控制软件组成,在软件控制下,由模块化仪器硬件进行测量信号的数据的采集,数据采集完毕后,传给计算机,软件再进行数据的分析处理,通过图形用户界面等方式将结果显示给用户。数据分析这一方面,若使用智能仪器,则可由其完成一定程度上的分析.虚拟仪器框架结构图参见图1. 图1 虚拟仪器框架结构图3。GPIB标准GPIB是HP公司在60年代末和70年代初开发的通用仪器控制接口总线标准.IEEE国际组织在1975年对GPIB进行了标准化,由此GPIB变成了IEEE488.1标准。1987年,IEEE推出了IEEE488.2标准.作为最早的仪器总线,GPIB的原始目的是对测试仪器

8、进行计算机控制。然而,GPIB的用途十分广泛,现已应用于计算机与计算机之间的通讯,以及对扫描仪和图像记录仪的控制.随后,主要的仪器制造商于1987年制定了VXI(VMEbus eXtension for Instrumentation)标准,其数据传输速度高达40MB/s,但价格相对过高,多用于尖端的测试领域。1997年推出PXI(PCI eXtension for Instrumentation)标准,其目的是将普通的PC机的性能价格比优势,与PCI总线面向仪器领域的必要扩展完美地结合起来,形成一种主流的虚拟仪器测试平台.相较于VXI、PXI标准,GPIB标准的数据传输速度一般低于500KB

9、/s。在价格上,它覆盖了从比较便宜的到异常昂贵的仪器,各种仪器制造商生产的GPIB仪器种类繁多,有很大的选择空间。它适用于那些要求高准确度,但不要求高速的工程应用2、3。一个典型的GPIB测量系统由一台PC机/工作站、一块或多块GPIB接口板卡和若干台GPIB仪器通过标准GPIB电缆连接而成。在标准情况下,一块GPIB接口板卡所连接的仪器设备不能超过14台。为了提高总线上的数据传输速率,电缆总长度不超过20m,总线上任意两台装置之间的电缆长度,在电缆总长度没有超过系统设备总数乘以2m的情况(例如,5台设备时,电缆总长度为10m)下,没有特别限制(一般标配的电缆长度有1m、2m、4m、0.5m、

10、6m、8m等多种规格),通常这已经足够了。若利用GPIB扩展技术,一个GPIB自动测量测试系统的规模无论是仪器数量还是距离都可以进一步扩展。系统中每个设备(包括接口板卡),必须有一个0到30之间的GPIB地址。一般而言,GPIB接口板卡地址设置为0,各种GPIB仪器的地址设置为从1到30。GPIB由一个控者(PC机/工作站)控制总线,在总线上传送仪器命令和数据,控者(Controller)寻址一个讲者(Talker),一个或多个听者(Listener),数据串在总线上从讲者向听者传送。GPIB软件包自动处理寻址和其他的总线管理功能4。下面通过建立一个通用电源测试台的实例来介绍GPIB虚拟仪器测

11、量系统的建立过程,电路硬件连接如图2所示。 图2 通用电源测试台硬件连接图该测试台将对三十多种整流电源、线性稳压电源、开关电源进行各项性能指标的测试、分析,这些电源可以统称为被测件(Unit Under Test,简称UUT).测试台中所有GPIB设备均由美国Agilent公司和台湾Chroma公司生产。GPIB接口卡只用一块,采用的是Agilent 82350 型GPIB接口卡,此卡插在计算机的PCI插槽上。 计算机利用此接口卡,通过GPIB总线电缆与GPIB仪器相连,在软件的支持下就成为一台GPIB系统控制器。测试台中三相交流电源采用Chroma 6463可编程交流电源,单相交流电源采用A

12、gilent 6813B交流电源/分析仪,电子负载用了两台,采用的是Agilent 6060B直流电子负载,示波器采用Agilent 54622A数字示波器,万用表采用Agilent 34401A数字万用表。测试台工作过程如下:三相、单相交流电源按照应用程序的设定产生所需的交流电压波形,加在UUT的输入端,同时UUT相应的电子负载也由应用程序进行调节,通过示波器、万用表测量UUT输出端电压电流的变化,从而分析UUT的各项性能指标,包括了UUT的输出电压、输出电流、输出电压纹波、电压稳定度、负载稳定度等指标。硬件设备连接好之后,安装运行Agilent 82350接口卡附带的Agilent IO

13、Libraries,配置接口卡地址为0,在每台可编程仪器设备的前面板上设置各自的地址,若再安装编写好的虚拟仪器测量系统的控制软件,就可以对虚拟仪器进行远程控制,完成相应的测量任务了。4。VC+6。0下虚拟仪器的软件实现构造一个虚拟仪器系统,基本硬件确定以后,就可以通过不同的软件实现不同的功能.根据“软件就是仪器”这一思想,可见软件是虚拟仪器系统的关键所在。虚拟仪器是利用计算机技术来实现和扩展传统仪器的功能,自然离不开计算机编程.图形用户界面与面向对象编程技术(OPP)的结合,很好地提高了计算机软件编程效率。VC+6。0作为一种流行的可视化面向对象编程软件,在其中进行虚拟仪器的软件编程,对于诸多

14、熟悉VC的程序员来说,是一个方便快捷的实现途径.NI公司有一种软件工具ComponentWorks+,可以加载在VC+下,这样就使VC+成为功能强大的虚拟仪器开发平台。加载ComponentWorks+之后的VC+6。0,为了模拟真实仪器的前面板,可以在对话框上加入形象的仪表旋钮、开关、滑动条、图形等。方法如下:1) 单击VC+6。0菜单栏的“Project”菜单,选择“Add to Project子菜单中的“Components and Controls”项,弹出“Components and Controls Gallery”对话框.2) 在对话框中打开“Registered Active

15、X Controls”文件夹,选择所需的NI控件,有CWButton Control,CWGraph Control,CWGraph3D Control,CWKnob Control,CWNumEdit Control,CWSlide Control等.按照VC指示操作,加入这些控件。3) 在“Controls”工具条中,可以看到新加入的NI控件,这样,就可以象使用普通VC控件一样,来使用新控件了。4) 这些控件都是顾名思义的,很容易掌握,如需帮助,单击菜单栏的“Tools菜单,选择“ComponentWorks+ Help”子菜单,就会运行ComponentWorks+ Online Hel

16、p。图形用户界面很快可以建立起来,软件还要控制GPIB仪器,GPIB仪器的控制有多种方法,在3.GPIB标准中的通用电源测试台例子采用了Agilent IO Libraries配置系统,那同样以Agilent IO Libraries为例,利用Agilent IO Libraries对GPIB仪器进行控制有以下两种控制程序库:一种是利用Agilent VISA(Virtual Instrument Software Architecture)程序库.VISA是由组成VXI plug play系统联盟的35家最大的仪器仪表公司所统一采用的标准。GPIB、VXI、GPIBVXI、串行(RS232)

17、和LAN接口均支持VISA.采用VISA标准,用户可不必考虑时间及仪器接口,各家公司的驱动软件也相互兼容。32位版本的VISA在Windows 95、Windows 98、Windows Me、Windows NT和Windows 2000 下都可以使用。VISA所提供的单一的、统一的IO库,使用户可以用一种与接口无关的方式为各类仪器编程。大大增强了虚拟仪器的通用性。另一种是利用Agilent SICL(Standard Instrument Control Library)程序库。这是Agilent 为多种接口下便携式仪器提供的IO库。GPIB、GPIO、VXI、串行(RS-232)和LAN

18、接口均支持SICL.考虑到测量系统的兼容性,建议使用Agilent VISA程序库。要在VC中编译VISA程序,可按照Agilent IO Libraries中的说明文档中的步骤,在VC的库文件(Library Files)目录中加入VISA32。LIB,在包含文件(Include Files)目录中加入指定的目录。当然,在VISA程序中包含所需的头文件(Header Files)也是可以的。Agilent VISA提供了众多的功能函数,其中常用的几个重要函数有:viOpenDefaultRM,viOpen,viPrintf,viScanf,viQueryf,viClose。viOpenDef

19、aultRM返回一个指向默认资源管理器(Default Resource Manager)的会话(session).该函数初始化VISA系统,所有的VISA函数被调用前,必须使用这条函数。viOpen开始一个与制定仪器联系的会话。它返回的会话标识符能被随后使用到该仪器的函数使用,用以指示该仪器.viPrintf以一定的字符串格式转换、格式化、发送命令参数给制定的仪器会话。viScanf从仪器的输出队列读取数据,并以一定的字符串格式所得数据。viQueryf可以看成viPrintf、viScanf的组合,首先,该函数相仪器发送一定字符串命令,随后从仪器的输出队列读取数据。viClose结束一个与

20、制定仪器或默认资源管理器联系的会话.所有为该会话分配的数据结构都被释放。正常情况下,viPrintf,viQueryf发送给仪器的字符串都是使仪器动作或查询仪器状态的指令,viScanf,viQueryf所读取的数据是查询指令执行的结果.这些指令都是符合SCPL(Standard Commands for Programmable Instruments)标准的。SCPL是为通过GPIB控制仪器而设计的编程语言.SCPL是IEEE488.2(GPIB)标准硬件部分的顶层规范。相同的 SCPI 指令和参数控制不同类别仪器的相同函数。例如,VOLTage命令既可以控制交流电源的电压,也可以调节电子

21、负载的电压。*RST、IDN?、TST?等都是常用命令,分别表示初始化仪器(reset)、查询表明仪器类型和软件版本的标识码(identifies)、对仪器进行自测试(self-test),并查询测试结果4。例如,3。GPIB标准中的通用电源测试台例子的单相交流电源6813B的虚拟控制面板如图3所示。 图3 6813虚拟控制面板设置其输出电压为220V、电压频率为50Hz,并读取以确保设置是否正确的简略程序如下:viSession videfaultRM,vi6813B;viOpenDefaultRM (videfaultRM);viOpen (videfaultRM, ”GPIB0:2::I

22、NSTR”, VI_NULL,VI_NULL, &vi6813B);viPrintf (vi6813B,:OUTP OFFn”); /关闭电源输出viPrintf (vi6813B,”:VOLT 220n”); /设置电压viPrintf (vi6813B,”:FREQ 50n); /设置频率viPrintf (vi6813B,:OUTP ONn); /打开电源输出float fValueV,fValueHz;viQueryf (vi6813B,:MEAS:VOLT:AC?n”,”f”, fValueV); /回读电压viQueryf (vi6813B,:MEAS:FREQ?n,%f, &fV

23、alueHz); /回读频率viClose (vi6813B);viClose (videfaultRM);5。结束语 就虚拟仪器控制软件的编写,大致总结一下,可分为两种方式:第一种是用通用编程软件进行编写,本文所提到的VC+6。0就属此列,此外,还有VB,NI公司的ComponentWorks工具,就是为VB准备的。第二种是用专业图形化编程软件进行开发。如Agilent公司的VEE(原先是HP公司产品,HP被Agilent收购后,并入后者产品),NI公司的LabView和LabWindow/CVI。参考文献1 林正盛. 虚拟仪器技术及其发展. 现代计量测试. 1997。042 贾中湖 李本威

24、。 发动机自动测试系统的虚拟仪器技术。 燃气涡轮试验与研究。2001。023 邓卫华 胡宗波 张波. 基于HP I/O库的虚拟仪器与实验平台. 仪器仪表学报 2001 S24 Agilent VISA Users Guide(Edition 5)美国 Agilent公司 2001。08作者简介:黄璐璐:女,1980年8月生,汉族,南京河海大学电气工程学院自动化系硕士研究生,研究方向:计算机测控系统 EMail: hllfly,Tel: 0253787135李志华:河海大学电工程学院自动化系副教授,硕士生导师,Tel: 025-3787135李训铭:河海大学电工程学院自动化系教授,硕士生导师,Tel: 0253787135Authors brief introduction: Huang Lulu, Female, 8/1980, Han, Institute of Electrical Engineering , HoHai University, Researchful Field: Computer measure and control system(210098 江苏省南京市河海大学电气工程学院自动化系)黄璐璐 李志华 李训铭第 11 页 共 11 页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服