1 GPIB接口总线
GPIB主要是为台式测量仪器(或装置)组成自动测量系统而设计的。GPIB仪器系统主要利用GPIB接口卡将若干GPIB仪器连接起来,每个设备(包括计算机接口卡)必须有一个0~30之间的GPIB地址。一般GPIB接口卡设置为地址0,仪器的GPIB地址则从1到30。GPIB有一个控者(电脑)来控制总线。在总线上传送仪器命令和数据,控者寻址一个讲者以及一个或多个听者。数据串在总线上从讲者向听者传送。
GPIB系统的连接方式可以是线型、星型或者混合拓扑型。一般情况下,GPIB电缆的连接器都具有特殊的构造,它都允许多个连接器堆叠连接在一起。对GPIB总线系统连接的基本配置要求主要有两个:
第一种配置,其两个设备之间的最大距离为4米,整个电缆的长度不得超过20米(第一个器件与最后一个器件之间的距离);
在第二种配置下,GPIB母线上最多可挂15个器件,这主要是受TTL接口收发器驱动能力限制。当测试系统有必要使用多于15个器件时,只需在控制器上再添置一个GPIB接口,这样可多拉一个母线,再多挂14个器件。该总线的最大数据传输速率为1 MB/s,在20米总线上,最高可工作于500 KB/s。
2 系统组成
基于VC++的GPIB仪器远程测量系统组成如图1所示。该系统主要包括计算机、GPIB电缆、USB-GPIB控制器、GPIB仪器等。

系统的主要优势表现在以下几个方面:
(1)编程方便,可使用高级语言编程;
(2)提高仪器设备的性能指标。可利用计算机对带有GPIB接口的仪器实现操作和控制,以实现各种自动标准、多次测量平均等功能,从而提高测量精度;
(3)便于将多台带有GPIB接口的仪器组合起来,以形成较大的远程测量系统,从而高效、灵活地完成各种不同的测试任务;
(4)便于扩展传统仪器的功能。由于仪器与计算机相联,因此可在计算机的控制下对测试数据进行更加灵活和方便的传输、处理、综合利用和显示,从而使原来仪器采用硬件逻辑很难解决的问题迎刃而解。
3 系统软件

命令树图通常由三部分构成:关键字(KEY-WORD)、参数形式(PARAMETER FORM)和注释(NOTES)。其中关键字提供命令的名字,由于SCPI命令基于层次结构,一个实际的命令通常由一个或多个关键字构成,关键字之间用“;”分隔;参数形式用于指明命令的参数个数和顺序,以及它们的合法取值;注释通常命令的询问形式可以由命令形式加上问号构成,但不是所有的命令都有询问形式,注释部分的内容通常用于指示必要的情况。
4 GPIB在功率测量系统中的应用
下面以Agilent E4407功率计的远程测量系统为例来进行说明。为实现计算机对功率计的远程控制,需要通过VC调用GPIB接口控制卡驱动程序接口函数。一般最常用到的函数有ibdev (GPIB接口控制卡初始化设置函数)、ibwrt(写字符串命令函数)和ibrda(读字符串命令函数)。以下是测量程序的部分控制代码,其作用是通过GPIB接口卡对功率计进行初始化,并对功率计进行读写操作。
首先是初始化GPIB卡,以使其具备控制和通信能力;然后初始化仪器,使仪器完成与GPIB的连接,并对仪器进行相关的初始化操作,其代码如下:
int m_iBoardIndex;//GPIB卡号此处为0
int m_iGPIBDev; //GPIB设备
int m_iSecondGPAdd;//GPIB设备第二地址
int m_iGPAddress; //GPIB地址此处设为19
char buf_pow[20];//数据缓存
InitGPIBDev();//初始化函数
{m_iGPIBDev=ibdev(m_ilndex,m_iG-PAdd,m_iSecAdd,Tls,1,0);
//初始化功率计,GPIB接口卡的地址为0、功率计的主地址为19,没有辅地址、超时设置为1S、使用默认传输结束方式。
ibwrt(m_iGPIBDev,“*RST?”);//仪器复位
ibwrt(m_iGPIBDev,“*CLS?”);//清除状态寄存器
ibwrt(m_iGPIBDev,“*SRE 0”);//允许服务请求
ibwrt(m_iGPIBDev,“*ESE 0”);//允许标准事件状态
ibwrt(m_iGPIBDev,“:STAT:PRES”);//预调整状态
ibwrt(m_iGPIBDev,“:FUNC:ON‘POW’”);//显示屏进行显示
}
其次是功率测量与显示。控制仪器完成相应的测量和显示时,首先也应初始化相关变量,其代码如下:

程序运行后,首先还应对GPIB卡和GPIB仪器进行初始化,并完成与仪器的连接,然后利用远程测量程序向功率计发送测量命令“:MEA-SURE:POW?”进行功率测量,之后再通过ibrda(m_iGPIBDev,buf_pow,20)函数读取功率值并将读取的数据存储在本地开辟的数据缓存中,最后经过本地处理后将测量数据显示在远程测量的显示屏上,从而实现功率计的远程控制和测量功能,其程序界面如图2所示。

5 结束语
在采用VC++语言的编程环境下,利用SCPI仪器控制命令进行GPIB仪器远程测量系统的开发,其程序直观,可读性强,可提高测量效率。此外,利用该方法还可实现对多种GPIB仪器远程测量系统的开发,因而具有广泛的推广和应用价值。
凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。