下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 VC GPIB编程

VC GPIB编程.doc

VC GPIB编程

莪媔謿陽洸嶶笑_
2017-09-19 0人阅读 举报 0 0 暂无简介

简介:本文档为《VC GPIB编程doc》,可适用于综合领域

VCGPIB编程基于VC的GPIB仪器远程测量系统实现方法引言随着数字化的智能化仪器的快速发展工程上越来越希望将常用仪器设备与计算机连接起来组成一个由计算机控制的智能系统。而工程中常用的仪器设备种类繁多、功能各异、独立性强一个系统往往需要多台不同类型的仪器协同工作。而基于通用接口总线GPIB则可以把各种可编程仪器与计算机紧密地联系起来使电子测量由独立的、传统的单台仪器向大规模自动测试系统的方向发展。本文提出了一种在VC(编程环境中利用SCPI对基于GPIB接口的仪器进行远程测量的实现方法。GPIB接口总线GPIB主要是为台式测量仪器(或装置)组成自动测量系统而设计的。GPIB仪器系统主要利用GPIB接口卡将若干GPIB仪器连接起来每个设备(包括计算机接口卡)必须有一个,之间的GPIB地址。一般GPIB接口卡设置为地址仪器的GPIB地址则从到。GPIB有一个控者(电脑)来控制总线。在总线上传送仪器命令和数据控者寻址一个讲者以及一个或多个听者。数据串在总线上从讲者向听者传送。GPIB系统的连接方式可以是线型、星型或者混合拓扑型。一般情况下GPIB电缆的连接器都具有特殊的构造它都允许多个连接器堆叠连接在一起。对GPIB总线系统连接的基本配置要求主要有两个:第一种配置其两个设备之间的最大距离为米整个电缆的长度不得超过米(第一个器件与最后一个器件之间的距离)在第二种配置下GPIB母线上最多可挂个器件这主要是受TTL接口收发器驱动能力限制。当测试系统有必要使用多于个器件时只需在控制器上再添置一个GPIB接口这样可多拉一个母线再多挂个器件。该总线的最大数据传输速率为MB,s在米总线上最高可工作于KB,s。系统组成基于VC的GPIB仪器远程测量系统组成如图所示。该系统主要包括计算机、GPIB电缆、USBGPIB控制器、GPIB仪器等。系统的主要优势表现在以下几个方面:()编程方便可使用高级语言编程()提高仪器设备的性能指标。可利用计算机对带有GPIB接口的仪器实现操作和控制以实现各种自动标准、多次测量平均等功能从而提高测量精度()便于将多台带有GPIB接口的仪器组合起来以形成较大的远程测量系统从而高效、灵活地完成各种不同的测试任务()便于扩展传统仪器的功能。由于仪器与计算机相联因此可在计算机的控制下对测试数据进行更加灵活和方便的传输、处理、综合利用和显示从而使原来仪器采用硬件逻辑很难解决的问题迎刃而解。系统软件本系统选用了可视化的VisualC通用编程工具来开发测试软件该工具的主要特点为易学易用、开发高效率开发功能强大等。开发人员能在VC环境下利用上述特点并使用Windows内部的应用程序接口(API)函数、动态链接库(DLL)、对象的链接与嵌入(OLE)以及开放式数据库连接(ODBC)等技术来快速、方便地开发出图形界面丰富、功能强大且工作于Windows平台下的应用软件系统。与仪器进行通信的格式实际上有两种:一种为基于寄存器的通信格式另一种为基于消息的通信格式。此处的GPIB系统程序设计语言为可编程仪器的标准命令SCPI(StandardCommandsforProgrammableInstruments)其通信格式属于后者。(SCPI的仪器控制命令SCPI可编程仪器标准命令是一种用来控制仪器的命令语言。它可用一种标准方式来描述各种各样的仪器功能其中规定了在控制器到仪器和仪器到控制器之间的信息交换层消息的构造和内容因而使各类不同的仪器更容易被理解和使用。同时SCPI是一种“活”的标准可以满足新仪器和新技术的需要。SCPI命令可分为仪器公用命令和仪器特定控制命令两个部分。SCPI把IEEE(要求仪器必须执行的公用命令作为SCPI仪器公用命令这些公用命令用于控制仪器的某些基本功能操作其句法和语义遵循IEEE(规定。仪器特定控制命令是指每个程控仪器完成自身命令操作的特定命令。采用SCPI编程有以下几方面优点:()SCPI是一个独立于硬件的纯粹软件标准SCPI字符串可以通过任何仪器接口发送无论是GPIB、RS、VXIbus、还是局域网都没有问题()SCPI允许用相同的代码来控制许多不同的仪器而且语法简单有力方便易学。因此在掌握了一种仪器的命令集之后就很容易掌握其他仪器的命令集。这些命令集有很多的相似性这种相似性体现在两个层面:其一是在垂直层面上同一类型的仪器命令集比较相似其二是在水平层面上不同类型仪器之间的同种功能的SCPI命令也一致()SCPI的独特设计使得它可以不断扩展而不会引起过多问题。随着新型仪器的出现新的命令*不断加入SCPI()SCPI的语句以ASC文本的方式存在因此可以加入到任何计算机测试编程语言之中如BASIC、C或C也可以用于如LabWindows,CVI、LabVIEW或者AgilentVEE这样的专用测试程序开发环境。(SCPI命令树图命令树图用于定义SCPI的命令集它描述了命令、命令之间的层次关系、相关的参数以及必要的注释SCPI命令树如表所列。命令树图通常由三部分构成:关键字(KEY,WORD)、参数形式(PARAMETERFORM)和注释(NOTES)。其中关键字提供命令的名字由于SCPI命令基于层次结构一个实际的命令通常由一个或多个关键字构成关键字之间用“”分隔参数形式用于指明命令的参数个数和顺序以及它们的合法取值注释通常命令的询问形式可以由命令形式加上问号构成但不是所有的命令都有询问形式注释部分的内容通常用于指示必要的情况。GPIB在功率测量系统中的应用下面以AgilentE功率计的远程测量系统为例来进行说明。为实现计算机对功率计的远程控制需要通过VC调用GPIB接口控制卡驱动程序接口函数。一般最常用到的函数有ibdev(GPIB接口控制卡初始化设置函数)、ibwrt(写字符串命令函数)和ibrda(读字符串命令函数)。以下是测量程序的部分控制代码其作用是通过GPIB接口卡对功率计进行初始化并对功率计进行读写操作。首先是初始化GPIB卡以使其具备控制和通信能力然后初始化仪器使仪器完成与GPIB的连接并对仪器进行相关的初始化操作其代码如下:intmiBoardIndex,,GPIB卡号此处为intmiGPIBDev,,GPIB设备intmiSecondGPAdd,,GPIB设备第二地址intmiGPAddress,,GPIB地址此处设为charbufpow,,数据缓存InitGPIBDev(),,初始化函数{miGPIBDev=ibdev(milndexmiGPAddmiSecAddTls),,初始化功率计GPIB接口卡的地址为、功率计的主地址为没有辅地址、超时设置为S、使用默认传输结束方式。ibwrt(miGPIBDev“*RST”),,仪器复位ibwrt(miGPIBDev“*CLS”),,清除状态寄存器ibwrt(miGPIBDev“*SRE”),,允许服务请求ibwrt(miGPIBDev“*ESE”),,允许标准事件状态ibwrt(miGPIBDev“:STAT:PRES”),,预调整状态ibwrt(miGPIBDev“:FUNC:ON‘POW’”),,显示屏进行显示}其次是功率测量与显示。控制仪器完成相应的测量和显示时首先也应初始化相关变量其代码如下:程序运行后首先还应对GPIB卡和GPIB仪器进行初始化并完成与仪器的连接然后利用远程测量程序向功率计发送测量命令“:MEASURE:POW”进行功率测量之后再通过ibrda(miGPIBDevbufpow)函数读取功率值并将读取的数据存储在本地开辟的数据缓存中最后经过本地处理后将测量数据显示在远程测量的显示屏上从而实现功率计的远程控制和测量功能其程序界面如图所示。结束语在采用VC语言的编程环境下利用SCPI仪器控制命令进行GPIB仪器远程测量系统的开发其程序直观可读性强可提高测量效率。此外利用该方法还可实现对多种GPIB仪器远程测量系统的开发因而具有广泛的推广和应用价值

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/7

VC GPIB编程

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利