基于GPIB接口的仪器与计算机之间的通讯_罗光坤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第27卷 第6期2006年6月仪 器 仪 表 学 报
Chinese Jour na l o f Scientific Instr ume nt
V ol.27N o.6
J un.2006
基于GPIB接口的仪器与计算机之间的通讯
罗光坤 张令弥 王 彤
(南京航空航天大学振动工程研究所 南京 210016)
摘要 以Visua l C++ 6.0作为开发平台,基于G PIB总线结构,在W IN2000系统下设计开发了G PIB仪器控制系统。
给出了系统的硬件组成及软件设计方法,实现了HP35670A和笔记本电脑通过GP IB接口板两者之间的通讯。
为数据的进一步分析处理提供了一个良好的软件平台。
关键词 GP IB接口板 HP35670A 计算机 虚拟仪器
中图分类号 T P274 文献标识码 A 国家标准学科分类代码 510.5025
The Communication between Instrument and Computer Based on
GPIB Interface
Luo Guang kun Zhang Lingmi Wang Tong (Institute of V ibration Engineering,N anjing University of Aeronautics and Astronautics,N anjing210016,China)
Abstract An instrumentation cont rol system is designed and i mplemented for inst ruments wi th GPIB interf ace. The syst em is developed based on G PIB by using Visual C++ 6.0as developing plat ponents of hard-ware and implement of sof tware are described in det ail.The cont rol system provides a conv enient tool for laptop to communicate with instrument with GPIB,i.e.HP35670A.
Key words G PIB communication board HP35670A PC V irtual instrument
1 引 言
目前工程中用到的仪器种类繁多,功能各异,一个系统往往需要多台不同类型的仪器工作,而传统意义上的接口方式(如串、并口)难以满足要求[1-2]。
在这种背景下,GPIB(General Purpose Interface Bus)接口的总线方式于1978年应运而生,实现了计算机与测量系统的首次结合。
GPIB接口作为桥梁,把各种可编程仪器与计算机紧密地联系起来,测量和仪器领域也由独立的、传统的单台仪器向组成大规模自动测试系统方向发展。
利用计算机强大的数据分析处理、结果的图形显示等功能,不仅可以对带有G PIB接口仪器的完全计算机控制,而且也可实现对原仪器功能进行重新定义、设计或扩展而构成一套先进的虚拟仪器系统。
基于此,文中以惠普公司的动态信号分析仪HP35670A为对象,利用CON T EC公司的G PIB接口板开发了一套小型的虚拟仪器系统,实现了HP35670A与计算机之间的通讯控制,为数据的进一步分析处理提供了一个良好的软件平台。
2 GPIB总线接口介绍
2.1 GPIB总线结构
GPIB总线是一个数字化的24脚(扁型接口插座)并行总线。
其中16根线为T T L电平信号传输线,包括8根双向数据线、5根接口管理线、3根数据传输控制线,其余8根为地线和屏蔽线。
G PIB使用8位并行、字节串行、异步通讯方式,所有字节通过总线顺序传送。
由于G PIB的数据单位是字节(8位),数据一般以ASC Ⅱ码字符串方式传送。
GPIB系统设备有讲者、听者和控者3种属性。
实
本文于2005年2月收到,系航空科学基金(04I52065)和中国博士后科学基金(2004035215)资助项目。
DOI:10.19650/ k i.cjsi.2006.06.019
际设备具有其中的一种、两种或全部具备。
讲者能通过总线向其它设备发送数据,听者能从总线上接收讲者发送的数据,而控者可以通过寻址指定连到总线上具有讲者属性的设备成为讲者和具有听者属性的设备作为听者,包括指定它自己。
一般来讲,在G PIB 系统中计算机是控者,具有讲、听、控3种属性。
为避免总线冲突,一次只能有一个讲者,但可以同时有几个听者。
在GPIB 系统中,为保证多线消息能双向、异步、准确可靠的传递,GPIB 母线中设置了三条握手线用于控制设备之间消息字节的传送:DAV (DA T A V AL ID)—数据有效线;N RFD (NO T READY FO R D AT A )—未准备好接收数据线;N D AC (N O T D A T A
ACCEPT ED)—未收到数据线。
2.2 GPIB 总线特点
GPIB 是计算机和仪器间的标准通讯协议,它的硬件规格和软件协议已纳入国际工业标准IEEE488.1和IEEE488.2中。
GPIB 作为最早的仪器总线具有以下特点:
(1)GPIB 接口编程方便,减轻了软件设计负担,可使用高级语言编程;
(2)提高了仪器设备性能的指标。
利用计算机对带有G PIB 接口的仪器实现操作和控制,可实现系统的自校准、自诊断等要求,从而提高了测量精度;
(3)便于将多台带有GPIB 接口的仪器组合起来,形成较大的测试系统,高效灵活地完成各种不同的测试任务,而且组建和拆散灵活,使用方便;
(4)便于扩展传统仪器的功能。
由于仪器和计算机相连,因此可在计算机的控制下对测试数据进行更加灵活、方便的传输、处理、综合、利用和显示,使原来仪器采用硬件逻辑很难解决的问题迎刃而解。
3 硬件组成及软件设计
3.1 硬件组成
文中用到的硬件示意图如图1所示,主要有以下3个部分组成,下面分别加以介绍。
图1 硬件组成
3.1.1 日本CON T EC 公司的GP -IB (CB )F 接口板
它是PCM CIA Ⅱ类型接口板,完成G PIB 仪器与笔记本电脑之间的通讯[3]。
其特点是:符合IEEE -488.2标准;数据最大传速率是1.5M byt e /s ;内置2kby te FI -FO 用于数据的传送和接收;内置GPIB 总线分析功能;具有自诊断功能。
该卡附有驱动程序库—A PI -PAC(W32),它提供了WIN 32A PI 格式的函数,为各种常用编程语言提供使用方便、统一的软件接口,能够用于Window s X P 、2000、M e 、98等操作系统,支持的编程语言包括LabV IEW 、Visual C ++、Boland C ++、Vi sual Basic
、Delphi 、Bui lder 等。
当该卡驱动程序在笔记本电脑上成功安装以后,在其属性页中可以对该板卡的诸如板卡名称、板卡主、从地址、查询模式、超时间隔、传输字符结束模式等各种常用属性进行配置,同时,在其属性设置中,还包括该板卡的自诊断功能,可以方便的检查板卡的启动和驱动程序是否正常,并可以将诊断结果以文本方式输出。
3.1.2 惠普公司的动态信号分析仪HP35670A
HP35670A 是一款高性能的动态信号分析仪[4],包括两种型号一双通道和四通道,可以完成动态信号
的采集与各种分析,本文所做的研究通用于这两类仪器。
HP35670A 广泛适用于以下类型的测量:转动机械测量、结构测量、声学测量、频谱和网络测量以及控制系统测量。
当配备了所有的选用件时,其功能相当于频谱分析仪、网络分析仪、声级表、声学强度分析仪、振动分析仪、音频示波器和幅度域分析仪等。
它配备有下列仪器工作方式:快速傅里叶变换(F FT )分析、相关分析、直方图/时间分析、倍频程分析、阶次分析和扫描正弦等。
HP35670A 在前面板上通过各种功能软键来完成数据的采集、分析、结果的图形显示以及仪器的控制等功能,后面板上配备有G PIB 和RS-232接口,可与计算机通讯或直接由计算机对其进行远程控制,其控制指令完全符合SCPI(可程控仪器标准命令)标准,此外该仪器也配有软驱通过磁盘来存储数据。
本文由计算机来控制HP 35670A 采集和分析数据,并且通过G PIB 接口实现两者之间的数据交换以备后续各种处理。
3.1.3 笔记本电脑
作为系统的“主控者”,通过GPIB 接口板对HP35670A 进行完全“软件”控制,主要包括以下几个
635
第6期
基于GP IB 接口的仪器与计算机之间的通讯
方面:仪器的控制(初始化、复位、仪器参数设置等);各种数据(采集的原始数据或由HP35670A 分析的结果数据等)在仪器与计算机之间的传递;通过特定软件(如模态软件)根据不同的应用需求对HP35670A 的数据进行后续处理(如模态分析)等[5]。
3.2 软件设计
软件部分设计主要用到的是G PIB 板卡的W IN 32A PI 函数驱动库以及HP35670A 自身的SCPI 命令库。
A PI 函数库封装了对GPIB 板卡初始化、从GPIB 设备读取数据、向G PIB 设备写入数据或命令以及G PIB 设备的清除等各种控制操作。
HP35670A 提供了几百种SCPI 命令,可实现仪器的状态设置、数据的显示、文件的管理以及前面板的控制等各种操作。
本文采用可视化编程环境V isual C++
6.0作为开发平台,在
WIN 2000系统下开发了GPIB 仪器控制程序,界面如图2所示。
其主要功能包括:时域数据的存储、删除;频域数据(频响函数)的存储、删除;当前图形上任意内容数据的存储、删除;仪器的初始化、控制权的转换以及操作结果的状态显示等。
3.2.1 仪器的初始化
主要包括板卡的初始化和HP 35670A 的初始化。
在GPIB 系统中,每个设备至少应具有一个0到30之间的G PIB 地址,在同一系统中,不同的设备应具有不同的地址,一般GPIB 板卡设置地址0,GPIB 仪器地址从1到30。
板卡在计算机安装成功以后,在其属性页中,默认地址已设置为0。
对于HP35670A,其地址设置可以是1到30中的任意一个整数,但前提是程序中设置的地址必须与HP35670A 中设置的G PIB 地址一致,否则初始化会失败。
还有一点要注意的是,HP35670A 仪器有两种工作模式—“SY STEM CON T RO LL R ”和“AD-DRESSBL O N LY ”,分别代表“主控制级”和“被控制级”,在默认情况下(即不用GPIB 总线控制的时候)是前一种工作模式,在本文所涉及的G PIB 系统中,HP35670A 作为被控者而计算机作为主控者,因此,其工作模式必须要变为“ADDRESSBL ON LY ”。
初始化函数原型为:DWO RD GpIni (void )。
当返回值为0时,初始化成功,此时HP 35670A 前面板上的各种功能软键除了“Local /GPIB ”外都失效,系统的控制权属于计算机,由计算机通过G PIB 总线发送各种控制命令对仪器进行操作。
HP 35670A 若再得到控制权有两种方式可以实现:一种方法是通过软键“Local /GPIB ”来得到,另一种是通过程序来控制,由图2中的“G T L ”按键来实现,其实质是发送命令GpGtl (Yradr )
来使仪器得到控制权,参数Y radr 指HP35670A 的地
址。
图2 软件主界面
3.2.2 G PIB 的写、读控制
该部分主要完成发送仪器的控制命令以及接收数据功能。
发送仪器控制命令函数原型为:DWO RD Ret=Gp Talk(Cmd,Srlen,Srbuf )。
Cmd 是包含三个元素的数组,Cmd [0]指讲者和听者的数目总和,本系统中只有计算机和一个GPIB 仪器HP35670A,所以设定为2;Cmd [1]指讲者的地址;Cmd[2]指听者的地址。
Srlen 指发送命令字符串的长度。
Srbuf 是字符串指针,存放要发送的控制命令。
接收数据函数原型为:DWO RD Ret=GpLi sten (Cmd ,&Srlen ,SrBuf fer )。
Cmd 参数意义同上。
&Srlen 返回接收到的数据长度。
SrBuffer 存放接收到的字符串数据。
本文主要是得到每次试验的时域和频域数据,三个步骤即可实现此功能,首先设置当前图形要显示的数据(时域、频域),其次设置数据的显示方式(实部、虚部、对数或者其它等),最后取出当前图形的数据。
对应的主要SCPI 命令[6]
分别为:
CALC1:FEED `X TIM:VO L T 1’;*WA I ;D A-T A
?CALC 1:FEED `X F R :POW :RA T 2,1’;FO RM REAL;*W AI ;DA T A ?
对于HP 35670A ,由于数据存储针对于当前图形
进行操作,因此在存储完毕以后要保证当前图形中显示的内容前后一致,此时需要在存储前读出当前图形中的显示状态,存储后据此即可恢复到原来的状态。
3.2.3 系统中的同步实现方法
在HP35670A 执行命令的过程中,后一种操作有可能取决于前一种操作的执行结果,而前一种操作可能要花上一段时间才能执行完毕。
在这种执行情况下,
636
仪 器 仪 表 学 报 第27卷
必须要保证前一种操作执行完毕之后才能执行后一种操作,否则,结果有可能出现错误。
这就是同步问题。
状态和事件报告系统提供了几种方法,如*W AI,*O PC 等控制命令。
用*W AI命令强制后一个命令必须等前一个命令执行完之后才开始执行,它是最容易实现的一个方法。
此外,也可以通过软件延时来达到此目的,即在传输数据时,两条指令之间根据实际情况加一个软件延时,在延时时间段内确保上一条指令数据传输完毕即可。
在文中,主要采用的是*WA I命令配合软件延时,以保证正确地实现HP35670A与应用程序之间的数据交换。
3.2.4 数据文件的管理
由于从GPIB数据总线上接收到数据是字符串形式,而且数据之间有分割符以及结束符等,需要对字符串数据进行管理以便对HP35670A的数据根据特定需要后续处理。
本文将接收到的数据以ASCⅡ码方式存放,可以新建一个文件或者是追加到原有文件,该文件格式可以由M A T LAB或LabV IEW等其它通用软件方便调用。
4 结束语
文中实现了基于G PIB总线的HP35670A仪器与笔记本电脑之间的通讯,数据传输速度快,操作方便,不仅能够完全替代仪器自身的软驱通过磁盘来传输数据,而且可以在本系统中连结多台GPIB仪器,由GPIB 接口设备完成信号的采集、测量与调理,利用计算机强大的软件功能实现信号数据的运算、分析、处理以及显示等,从而构成一套大型多功能的计算机仪器系统即虚拟仪器系统,由此可以充分利用计算机的软件和硬件资源,使本来需要硬件或电路难以实现或根本无法实现的技术软件化和虚拟化,最大限度的降低成本,增强系统的功能和灵活性。
参考文献
[1] 刘君华,贾惠芹,丁晖,等.虚拟仪器图形化编程语言
La bV IEW教程.西安:西安电子科技大学出版社,
2001:128-130.
[2] 张易知,肖啸,张喜斌,等.虚拟仪器的设计与实现.
西安:西安电子科技大学出版社,2002:1-8.
[3] G P-IB(CB)F user g uide.Contec Co r po ra tio n,2004.
[4] 35670A opera to r's g uide.Agilent Cor po ra tio n,
2000.
[5] 张令弥.振动测试与动态分析.北京:航空工业出版
社,1992:238-265.
[6] G PIB pr og ramming wi th the Ag ilent35670A.Ag i-
lent Co rpor atio n,2000.
作者简介
罗光坤 男 1978年生 博士研究生 主要研究方向为动态测试与虚拟仪器
E-mai l:luke0011@
(上接第628页)
[10] 孟军,杨广林.应用蒙特卡罗方法对黑龙江创业农场
水稻单产变化的预测.生物数学学报,2003,18(2):
229-233.
[11] 张海滨,王中宇,刘智敏.最大残差法的蒙特卡洛模
拟研究.第五界海峡两岸计量与质量学术研讨会论
文集,2004:337-345.
[12] 刘智敏.不确定度及其实践.北京:中国标准出版社,
2000.
[13] 张方仁,张金通.测量误差的统计分布和检验.北京:
中国计量出版社,1992.
作者简介
王中宇 男 1963年生 博士 教授 博士生导师 主要研究方向为光电测试技术及仪器 测量不确定的理论与应用
E-mai l:mewan@
637
第6期基于GP IB接口的仪器与计算机之间的通讯。