LabVIEW中GPIB仪器编程
LabVIEW用NI-488.2GPIB-USB-HS+建立通讯步骤
LabVIEW⽤NI-488.2GPIB-USB-HS+建⽴通讯步骤LabVIEW⽤NI-488.2 GPIB-USB-HS+建⽴通讯步骤。
LabVIEW是⼀款⾮常⽅便的图形化上位机编程⼯具,在⾼校实验室和公司使⽤⽐较常见,NI-488.2 GPIB-USB-HS+是将GPIB接⼝转USB接⼝的控制器,本百度经验分享给⼤家如何使⽤LabVIEW通过NI-488.2 GPIB-USB-HS+控制器与仪器建⽴通讯连接。
⼯具/原料LabVIEWNI-VISA⼯具包NI-488.2 GPIB-USB-HS+控制器和驱动程序⽅法/步骤1.安装LabVIEW、NI-VISA和NI-488.2软件。
PC连接GPIB-USB接⼝⾄GPIB设备,安装新NI GPIB硬件设备前必须先安装NI-488.2驱动程序,否则Windows⽆法检测到硬件。
2.安装完成后桌⾯将出现NI MAX图标。
(NI-488.2驱动程序包含Measurement & Automation Explorer (MAX)⼯具,⽀持GPIB控制器。
MAX提供⼀系列⼯具对连接的仪器进⾏搜索、与设备进⾏通信,使得GPIB仪器检测和控制更为⽅便。
)3.单击桌⾯的MAX图标或通过开始>>所有程序>>National Instruments>>Measurement & Automation打开MAX浏览器。
4.确认GPIB设备是否正确连接,展开“我的系统(My System)”下的“设备和接⼝(Devices and Interfaces)”⼦⽬录,并选择⾃⼰的GPIB控制器,然后单击“扫描仪器(Scan for Instruments)”。
5.如GPIB设备可兼容SCPI,仪器扫描结束后名称和地址将出现在“属性”选项开的主窗⼝底部。
6.双击已识别的仪器(位于窗⼝底部)可访问仪器VISA属性(VISA Properties)。
LabVIEW编程-测试仪器的自动化控制
1. 设定需要测试的最小光功率 2. 开始运行BERT测试 3. 设定等待BERT测试的时长 4. 停止运行BERT测试 5. 从BERT中读到测试后误码率
➢ LabVIEW编程如下:
A company pursuing excellence & innovation, your faithful partner, and we care.
A company pursuing excellence & innovation, your faithful partner, and we care.
Confidential
仪器自动化控制的实现与方法
★ LabVIEW的VISA编程
VISA读写GPIB连接的设备 ➢ LabVIEW中VISA工具包在 函数 仪器I/O VISA,
➢ 脉冲码型发生器(PPG)的作用是输出差分信号,给Transceiver(光收发模块)测试板和光源板提供驱动信号, 驱动被测光收发模块和光源模块的TOSA的作用是接受从信号产生器发出的经过被测光收发模块的ROSA(光接收次模块)端后的差分 信号,以检测被测光收发模块的ROSA(光接收次模块)性能,包括Sensitivity(接收灵敏度)和LOS(信号丢失)。
★ DCA (Digital Communications Analysis) DCA 公司:Agilent 型号:86100C
➢ DCA(Digital Communications Analysis)中文名为数字通信分析仪,也就是我们通常所说的示波器,它在光 模块测试系统中的主要功能是测试光收发模块的眼图,例如:ER(消光比),EMM(眼图模板容限),Jitter(信 号抖动),OMA(光调制幅度)等参数。
基于LabVIEW的GPIB总线独立仪器集成测试平台
Ma u lme s r me t s frfo me t g t e n e s o e r q ie n so a eo m ’ e o dn , tr g a d a ay i g An i d — n a a u e n a r m e i h e d ft e u r me t n w v fr s r c r i g s i n n l z . n e i n h on n
采 集板 的故 障 测 试 , 发 了基 于 L b IW20 开 aV E 0 9的 G I PB接 口独 立仪 器 集 成 测 试 平 台 , 多 输 出 电 源 , 号 发 生 器 , 波 器 将 信 示
等仪器有机 集成 , 实现有序测试 , 自动存储 。
20.2.2 GPIB总线在LabVIEW中的实现[共2页]
总线技术 第 20 章“讲者”是通过总线发送仪器消息的仪器装置(如测量仪器、数据采集器、计算机等),在一个GPIB 系统中,可以设置多个“讲者”,但在某一时刻,只能有一个“讲者”在起作用。
“听者”是通过总线接收由“讲者”发出消息的装置(如打印机、信号源等),在一个GP-IB系统中,可以设置多个“听者”,并且允许多个“听者”同时工作。
“控者”是数据传输过程中的组织者和控制者,例如对其他设备进行寻址或允许“讲者”使用总线等。
“控者”通常由计算机担任,GPIB系统不允许有两个或两个以上的“控者”同时起作用。
GPIB标准接口系统的基本特性如下。
●可以用一条总线互相连接若干台装置,以组成一个自动测试系统。
系统中装置的数目最多不超过15台,互连总线的长度不超过20m。
●数据传输采用并行比特(位)、串行字节(位组)双向异步传输方式,其最大传输速率不超过1兆字节每秒。
●总线上传输的消息采用负逻辑。
低电平(≤+0.8V)为逻辑“1”,高电平(≥+2.0V)为逻辑“0”。
●地址容量。
单字节地址:31个讲地址,31个听地址;双字节地址:961个讲地址,961个听地址。
●一般用于电气干扰轻微的实验场和生产现场。
GPIB板卡号从0开始,第1块为GPBI0,第2块为GPBI1,GPIB地址为0~30。
20.2.2 GPIB总线在LabVIEW中的实现将GPIB卡插入到计算机的PCI插槽内(假设GPIB卡是PCI接口的),安装好GPIB接口卡驱动后,就相当于给计算机增加了一个外部接口,其功能就如同计算机上原配的并口或串口。
此时GPIB 卡以及GPIB接口对设计者来说是透明的,在程序中完全可以不用考虑,设计者所关心的只是如何利用适当的命令来控制他们需要控制的仪器,因此虚拟仪器的实现在很大程度上取决于软件的设计。
基于Labview的GPIB总线虚拟仪器的软件一般包括以下几个部分:Labview开发平台(NI公司)、GPIB卡在Labview环境下的驱动程序(一般由GPIB卡的制造商提供)和测量仪器的Labview驱动程序(NI的网站上提供了上千种主流仪器的驱动程序,如果没有相应的驱动程序,可以求助NI公司提供驱动,用户也可以参考仪器随机配套的编程手册自行开发)。
基于LabVIEW和GPIB的数字示波器数据自动采集系统设计
计 算 机 测 量 与 控 制 .2016.24(3) 犆狅犿狆狌狋犲狉 犕犲犪狊狌狉犲犿犲狀狋 牔 犆狅狀狋狉狅犾
· 289 ·
文章编号:1671 4598(2016)03 0289 02 DOI:10.16526/j.cnki.11-4762/tp.2016.03.079 中图分类号:TP273 文献标识码:A
关键词:LabVIEW 语言;GPIB 接口;数据自动采集
犇犲狌犻狊犻狋犻狅狀犛狔狊狋犲犿 犅犪狊犲犱狅狀 犔犪犫犞犻犲狑犪狀犱犌犘犐犅
HuFengming,LuZe
(ChinaInstituteofAtomicEnergy,Beijing 102413,China) 犃犫狊狋狉犪犮狋:Inordertomeettheneedfortheautomationofdataacquisition,increasetheefficiencyofthedigitaloscilloscopeandgivefull playtoitsadvantage,anautomaticdataacquisitionsystem hasbeen,therefore,established.Throughtheconnection withtheinterfaceof GPIBandthemanipulationofseveraloscilloscopesbyasinglepersonalcomputer ,thecollectionandprocessofthesignals ,andhencethe resultofthemcanbesavedindatabase.Thissystem wasdevelopedonthebasisofLabVIEW Language.Theoutcomeoftheexperimentin dicatesthatthissystemcanrapidlyexactlycapturethetargetedsignalsandanalyzethedataofpreviousexperimentsaccordingtotheneeds, which,toalargeextent,providethestaffwithgreatconvenience.Thesystem basedonthismethodissimple,economicalandpractical, whichhasasignificantvalueinuse. 犓犲狔狑狅狉犱狊:LabVIEWlanguage;GPIBinterface;dataautomaticacquisition
LabVIEW中多台GPIB接口仪器实现波形和数据采样技术
LabVIEW中多台GPIB接口仪器实现波形和数据采样技术陈健;王莹
【期刊名称】《机床与液压》
【年(卷),期】2005(000)005
【摘要】实现多台数字化仪器与计算机的连接是研究试验工作中常遇到的问题.本文以两台泰克公司的TDS 210示波器与计算机连接为例,介绍了在虚拟仪器平台上如何设置GPIB地址,利用GPIB接口实现多台示波器波形和数据采样的方法,并通过实验证明了用虚拟技术实现波形和数据采样的方法是成功的.
【总页数】3页(P112-114)
【作者】陈健;王莹
【作者单位】广东工业大学信息工程学院,广州,510090;广东工业大学信息工程学院,广州,510090
【正文语种】中文
【中图分类】TP39
【相关文献】
1.程控仪器GPIB接口与USB打印机转换电路的实现 [J], 余立立;林永标;顾荣妹;赵再钧
2.程控仪器GPIB接口与通用并行打印接口转换电路的设计与实现 [J], 余立立
3.程控仪器GPIB接口与通用并行打印接口转换电路的设计与实现 [J], 余立立
4.实现波形和数据采样的虚拟仪器技术 [J], 邱健;杨冠玲;何振江
5.一个智能仪器的GPIB接口实现技术 [J], 赵士发
因版权原因,仅展示原文概要,查看原文内容请购买。
LabVlEW中+GPIB+仪器编程
LabVlEW中GPIB 仪器编程摘要LabVIEW是当今最流行的虚拟仪器开发平台,文中介绍了用LabVIEW开发基于GPIB总线的虚拟仪器的全过程及其硬件和软件要求,并给出了一个开发实例。
实例为用LabVIEW虚拟仪器开发平台对一台带有GPIB接口磁测量仪进行二次开发,构建自己的虚拟仪器。
与台式仪器相比,该虚拟仪器最突出的优点是不需要其它数据采集卡便可完成磁场的实时采集测量,并将采集结果保存到文件,以供后续分析使用,从而大大扩展了原有台式仪器的功能。
关键词:LabVIEW;GPIB;实进采集前言数据采集、仪器控制和自动化测试是实验室研究经常遇到的实际任务。
LabVIEW的出现使普通的实验室工作者也能在较短的时间内构建自己的测控系统。
LabVIEW采用图形化语言进行编程,抛弃了传统的文本编程方式,程序开发变得简单直观,开发时间大大减少。
尽管现有的测试测量仪器能提供很高程序上的测量自动化操作,但有时仍然不能满足实际测量的需要,因为实际的测量要求往往随实际的测量环境和测量目的不同而发生改变,但台式仪器的功能一般是固定不变的。
例如一些台式仪器虽然能对某些物理量进行实时测量,但它并不能将整个测试过程的数据记录下来,仪器本身仅仅相当于一个物理量指标器。
为了实现实时测量分析并记录其测量结果,必需进行额外的工作。
方法之一是利用仪器本身的模拟输出接口,配一个数据采集卡对模拟输出信号进行采集并进行相应的后续分析处理。
方法之二是利用仪器本身提供的编程接口,通过编程实现。
与第一种方法相比,第二种方法不需要额外的硬件,使得测试系统变得简单、方便。
GPIB(General Purpose Interface Bus)是仪器与各种控制器(最常见的是计算机)之间的一种标准接口,许多仪器都带有此接口。
就编程语言而言,强大、灵活的仪器控制功能使LabVIEW成为开发虚拟仪器的首选编程语言,而且利用LabVIEW开发的虚拟仪器具有很好的外观效果,其用户界面可与实际仪器的操作面板相媲美。
GPIB编程资料
GPIB编程资料上面的网页有些GPIB编程的资料不过NI的列子是最简单明了的:****************************************************************** ************ Refer to the language interface documentation for details on* which header and .obj files to include in your project.********************************************************************* ********/#include <windows.h>#include "decl-32.h"#include <stdio.h>void GpibError(char *msg); /* Error functiondeclaration */int Device = 0; /* Device unitdescriptor */int BoardIndex = 0; /* Interface Index(GPIB0=0,GPIB1=1,etc.) */void main() {int PrimaryAddress = 2; /* Primary address of thedevice */int SecondaryAddress = 0; /* Secondary address of thedevice */char Buffer[101]; /* Readbuffer *//***************************************************************** ************* Initialization - Done only once at the beginning of your application. ********************************************************************* ********/Device = ibdev( /* Create a unit descriptor handle */BoardIndex, /* Board Index (GPIB0 = 0, GPIB1 = 1, ...) */PrimaryAddress, /* Device primaryaddress */SecondaryAddress, /* Device secondaryaddress */T10s, /* Timeout setting (T10s = 10 seconds) */1, /* Assert EOI line at end ofwrite */0); /* EOS terminationmode */if (ibsta & ERR) { /* Check for GPIBError */GpibError("ibdev Error");}ibclr(Device); /* Clear thedevice */if (ibsta & ERR) {GpibError("ibclr Error");}/***************************************************************** ************* Main Application Body - Write the majority of your GPIB code here. ********************************************************************* ********/ibwrt(Device, "*IDN?", 5); /* Send the identification query command */if (ibsta & ERR) {GpibError("ibwrt Error");}ibrd(Device, Buffer, 100); /* Read up to 100 bytes from the device */if (ibsta & ERR) {GpibError("ibrd Error");}Buffer[ibcntl] = '\0'; /* Null terminate the ASCII string */printf("%s\n", Buffer); /* Print the deviceidentification *//******************************************************************** ********** Uninitialization - Done only once at the end of your application. ********************************************************************* ********/ibonl(Device, 0); /* Take the deviceoffline */if (ibsta & ERR) {GpibError("ibonl Error");}ibonl(BoardIndex, 0); /* Take the interfaceoffline */if (ibsta & ERR) {GpibError("ibonl Error");}}/******************************************************************** ********** Function GPIBERROR* This function will notify you that a NI-488 function failed by* printing an error message. The status variable IBSTA will also be * printed in hexadecimal along with the mnemonic meaning of the bit * position. The status variable IBERR will be printed in decimal* along with the mnemonic meaning of the decimal value. The status * variable IBCNTL will be printed in decimal.** The NI-488 function IBONL is called to disable the hardware and* software.** The EXIT function will terminate this program.********************************************************************* ********/void GpibError(char *msg) {printf ("%s\n", msg);printf ("ibsta = &H%x <", ibsta);if (ibsta & ERR ) printf (" ERR");if (ibsta & TIMO) printf (" TIMO");if (ibsta & END ) printf (" END");if (ibsta & SRQI) printf (" SRQI");if (ibsta & RQS ) printf (" RQS");if (ibsta & CMPL) printf (" CMPL");if (ibsta & LOK ) printf (" LOK");if (ibsta & REM ) printf (" REM");if (ibsta & CIC ) printf (" CIC");if (ibsta & ATN ) printf (" ATN");if (ibsta & TACS) printf (" TACS");if (ibsta & LACS) printf (" LACS");if (ibsta & DTAS) printf (" DTAS");if (ibsta & DCAS) printf (" DCAS");printf (" >\n");printf ("iberr = %d", iberr);if (iberr == EDVR) printf (" EDVR <DOS Error>\n");if (iberr == ECIC) printf (" ECIC <Not Controller-In-Charge>\n"); if (iberr == ENOL) printf (" ENOL <No Listener>\n");if (iberr == EADR) printf (" EADR <Address error>\n");if (iberr == EARG) printf (" EARG <Invalid argument>\n");if (iberr == ESAC) printf (" ESAC <Not System Controller>\n");if (iberr == EABO) printf (" EABO <Operation aborted>\n");if (iberr == ENEB) printf (" ENEB <No GPIB board>\n");if (iberr == EOIP) printf (" EOIP <Async I/O in progress>\n"); if (iberr == ECAP) printf (" ECAP <No capability>\n");if (iberr == EFSO) printf (" EFSO <File system error>\n");if (iberr == EBUS) printf (" EBUS <Command error>\n");if (iberr == ESTB) printf (" ESTB <Status byte lost>\n");if (iberr == ESRQ) printf (" ESRQ <SRQ stuck on>\n");if (iberr == ETAB) printf (" ETAB <Table Overflow>\n");printf ("ibcntl = %ld\n", ibcntl);printf ("\n");/* Call ibonl to take the device and interface offline */ ibonl (Device,0);ibonl (BoardIndex,0);exit(1);}。
在LabVIEW环境中使用安捷伦仪器
如果您的测试系统只包括 Agilent 接口硬件和软件,就不需要为使用 Agilent 488 采取任何特殊措施。如果您的 系统包括 NI 的 NI-488.2 软件,或其它厂家的兼容实现,您可能需要明确是否能够使用 Agilent 488。
第7步 用 Agilent Connection Expert 启用 NI 488.2
NI-VISA 2 找到和访问所有 GPIB 设备。虽然 NI 的 MAX 和 NI-VISA 交互控制能检测到 Agilent 硬件,但 NI-VISA 不 能配置 Agilent 硬件。硬件配置必须用 Agilent I/O Libraries Suite 配置实用程序。
下面是安装步骤: 步骤
第 1 步: 安装 NI-VISA 库 (3.6 至 4.4 版)
图 6. 安装 Agilent 82357B USB/GPIB
图 7. 初始化 Agilent 82357B USB/GPIB
图 8. Agilent 82357B USB/GPIB 安装完成
b) 当您看到“ Found New Hardware Wizard”消息框第二次出现时,重复 第 4 步 (a)。
b) 如果已安装 Agilent IO libraries suite, 在安装 NI-VISA 时将启用并用 (side-by-side) 4 模式。您可进至第三步
基于LabVIEW平台和GPIB总线的数字多用表及多功能源自动计量检定系统
E1表单数据查询———按日期检索数据;F1各类产品类的日报表———主要打印当日的阴极铜、期货铜、现货铜、出口铜、种板铜、配重铜、水洗铜的日报。
G1各类产品类的月报表———主要打印当月的阴极铜、期货铜、现货铜、出口铜、种板铜、配重铜、水洗铜的月报;H1数据备份———按日备份数据;I1数据恢复———按日从备份表中恢复数据;J1网络数据的传送———把数据库中的新数据传送到UN IX服务器中的SY BASE数据库中;K1在线帮助提示———为各个功能提供帮助说明。
六、效果与结论本软件可以实现称重数据的实时采集、加工和网络传送,达到集中现场数据管理和远程网络数据共享的目的,而且界面友好,操作方便。
本软件投入使用后,反映良好,既为工厂各职能部门及时准确地提供数据,又为工厂后续的ERP系统提供了数据源。
总之,计量称重系统的投入使用,不仅为贵溪冶炼厂节约了十几万元的外购软件费用,而且使工厂称重数据由原先的离散的独立的状况变为聚集的共享的数据状况,完善了工厂信息系统。
参考文献[1]戴士泓等1PowerBuilder技术教程[M]1西安:西安电子科技大学出版社,2000[2]刘红岩等1PowerBuilder710原理与应用指南[M]1北京:电子工业出版社,2001[3]李国喜等1PowerBuilder810应用开发技术[M]1北京:人民邮电出版社,2002[4]刘育楠等1PowerBuilder710开发实例详解(附实例光盘)[M]1北京:电子工业出版社,2001[5]郭海斌等1PowerBuilder710实用编程技术[M]1北京:水利水电出版社,2000[6]崔巍等1PowerBuilder710参考手册[M]1北京:清华大学出版社,2000基于LabVIEW平台和GPIB总线的数字多用表及多功能源自动计量检定系统姚国英 任 伟 高 翔(北京1014信箱计量站,北京102249)摘 要 本文从实用出发,介绍了一套基于GPIB总线,利用LabV IEW与Power Builder联合开发的数字多用表、多功能源自动计量检定系统,重点讨论了测试系统关键技术、硬件结构及功能实现,实际应用证明这套计量检定系统具有很强的应用性和可扩展性。
【重磅】LabVIEW初级入门教程
概述本次介绍使用LabVIEW来进行仪器控制的各种方法。
要求学生学会串行I/O、GPIBI/O和VISAI/O的使用方法,同时也可以验证LabVIEW本身提供的仪器驱动程序。
本次的实验设备要求一块已安装的GPIB卡,一台GPIB仪器以及LabVIEW开发系统。
串行通讯串行通讯是一种常用的数据传输方法,它用于计算机与外设,例如一台可编程仪器,或者与另外一台计算机之间的通讯。
串行通讯中发送方通过一条通讯线,一次一个字节,把数据传送到接收方。
由于大多数电脑都有一至两个串行通讯接口,因此,串行通讯非常流行。
许多GPIB仪器也都有串行接口。
然而,串行通讯的缺陷是一个串行接口只能与一个设备进行通讯。
一些外设需要用特定字符来结束传送给它们的数据串。
常用的结束字符是回车符、换行符或者分号。
具体可以查阅设备使用手册以决定是否需要一个结束符。
在LabVIEW功能模板的InstrumentI/O>Serial 程序库中包含进行串行通讯操作的一些功能模块:1.SerialPortInitVI模块用于初始化所选择的串行口。
Flowcontrol设置握手方式的参数。
Buffersize设置程序分配的输入/输出缓冲区的大小。
Portnumber决定通讯接口地址。
Baudrate,databits,stopbits和paritP等设置通讯参数。
2.SerialportwriteVI模块把Stringtowrite中的数据写到portnumber指定的串行接口中。
3.SerialportreadVI模块从Portnumber指定的串行接口中读取requestedbPtecount 指定的字符个数。
4.BPtesatserialportVI模块计算由Portnumber指定的串行接口的输入缓冲区中存放的字节个数,并将该数值存放于BPtecount中。
在下面的实例中,实现从一台串行仪器中读取测量值。
首先,用SerialPortInit模块初始化串行接口,然后,用SerialPortWrite 模块把命令参数发送给仪器,接着用BPtesatSerialPort模块查明在串行输入缓冲区中已经读入的字节个数,最后用SerialPortRead模块读取仪器数据。
LabView环境下的GPIB总线测控技术
P — AQ系统是 以数据采集板 、信号调理 电路 CD 及 计算机 为仪 器硬件 平 台组成 的插卡式虚 拟仪器系 统。这种系统采用 P I C 或计算 机本身的 IA总线 , S 将 数 据采集 卡板 DAQ 插入计 算机 的空槽 中即可 。
2 G I 系统 1 PB
总线是 P I C 总线基础上借鉴 VX 总线的仪器特性组 I 合 而成 ,而 P I X 系统在价格 上和性能上介 于 P I C 系
D Q系统 、G I A PB系统 、V 系统 、P I XI X 系统和 串口
系统 。 1 1 C D Q系统 P — A
P 系 统拥 有 比台式机 设 计更 多 的扩 展槽 ,致 使 XI
P 系统 可 以在恶 劣工作环境下 正常工作 ,从而可 XI 以适应各种 各样更 大 、复杂 的测பைடு நூலகம் 领域 。由于 P XI
维普资讯
工 业自 动化 ・ aVi Lb e w环境下 的GPB I 总线测控技术
上海 电器技术 (0 7N .) 20 o 4
Lb a Viw环 境 下 的GP B总 线 测 控 技 术 e I
周 琴 上海 电机 学院电气学院
摘
要 :在对 虚拟仪器 的硬件 组成 和软件实现 方法深入 研究 的基础上 , 利用 L b e a Viw平 台和GP B I 总线 接 口 ,
构成 虚拟 仪器 的硬 件主 要有两 部 分 :计算 机 、
虚拟仪 器的 I / 口设备主要有 5 O接 种类型 :P C一
-
2- 5
维普资讯
上海 电器技术 (0 7N . 2 0 o ) 4
Lb e aVi w环境下 的G I PB总线测 控技术 ・ 业自 动化 工
LabVIEW编程实现对GPIB仪器的控制(案例)(可编辑)
LabVIEW编程实现对GPIB仪器的控制(案例)研究室会议资料No.20090709-W-HDR-051HDR:硬件研究LabVIEW编程实现对 GPIB仪器的控制(案例)LabVIEW Programming to Control GPIB Instruments王宗侠1. 前言本研资以 E3631A的控制为例,主要介绍利用 LabVIEW开发基于 GPIB 接口的虚拟仪器的方法。
2. GPIB接口卡开发方法[1]GPIB 应用开发流程及所用工具如图 1 所示。
Microsoft VC++/VB应用开发环境NI LabVIEW() ADENI LabWindows/CVIAgilent TestExec在ADE中通过 ?GPIB驱动程序APIVISA函数的直接调用VISA使用现有的仪器驱动程序提供IEEE-488函数的驱动程序API 本地驱动程序APIGPIB-32.DLLADLINK PCI-3488Agilent 82357BGPIB卡NI PCI-GPIB…图 1 GPIB接口卡的开发流程及工具实验中,选用 Agilent 82357B USB/GPIB接口卡连接 PC 机和 E3631A的GPIB 接口,实现对 E3631A的控制,并与其进行通信。
在本次应用开发基于 LabVIEW 开发环境,采用 VISA 函数编写应用程序(因为 Agilent 82357B 提供了对 VISA的支持)。
3. 基于LabVIEW 的 GPIB 总线虚拟仪器开发3.1 LV 识别 82357B安装82357B 驱动程序后,需要安装NI-VISA 驱动程序,并在(Measurement & AutomationExplorer)中进行适当的配置,该 GPIB 接口卡才能被 LabVIEW 所识别。
具体的操作步骤如下:3.2 VISA 编程使用 VISA函数与 GPIB 总线通信。
LabVIEW 8.5 中,VISA函数位于函数面板下的仪器 I/O面板下,如图 4 所示。
基于LabVIEW平台和GPIB接口的测试系统开发及应用
基于LabVIEW平台和GPIB接口的测试系统开发及
应用
计算机技术和大规模集成电路技术的发展,促进了数字化仪器、智能化
仪器的快速发展。
与此同时,工程上也越来越希望将常用仪器设备与计算机
连接起来组成一个由计算机控制的智能系统。
而工程中常用仪器设备种类繁多、功能各异、独立性强,一个系统往往需要多台不同类型的仪器协同工作,应用一般串、并行接口难以满足要求。
为此,人们从60年代就开始着手研究能够将一系列仪器设备和计算机连成整体的接口系统。
GPIB正是这样的接口,它作为桥梁,把各种可编程仪器与计算机紧密地联系起来,从此电子测量由
独立的、传统的单台仪器向组成大规模自动测试系统的方向发展。
GPIB的用途十分广泛,现已广泛用于计算机与计算机之间的通讯,以及对扫描仪、图
像记录仪、数字存储示波器、频谱仪等仪器的控制中。
1 系统组成及特点
典型的GPIB测量系统由PC机、GPIB接口卡和若干台(最多14台)GPIB
仪器通过标准GPIB电缆连接而成,如图1所示。
系统具有以下四个显着特点:
(1)GPIB接口编程方便,减轻了软件设计负担,可使用高级语言编程;
(2)提高了仪器设备的性能指标。
利用计算机对带有GPIB接口的仪器实现
操作和控制,可实现各种自动标准、多次测量平均等要求,从而提高了测量
精度;
(3)便于将多台带有GPIB接口的仪器组合起来,形成较大的自动测试系统,高效灵活地完成各种不同的测试任务,而且组建和拆散灵活,使用方便;。
使用Labview快速测量电路板各种测试,测试参数越多越方便
使用Labview快速测量电路板各种测试,测试参数越多越方便作为电工人,电路板的各种参数是经常要测量的,常规参数比如电压信号,电流信号和功率。
通信方面就会涉及到传输速率,误码率和上升时间等参数的测量。
这些参数的测量需要使用示波器,误码仪,数字分析仪等仪器。
当你看到以下各种繁琐复杂的线束杂绕到一起,肯定是心中暗叹一声,好麻烦啊。
由于测量上升时间用示波器,测量误码率用专用的误码仪设备,测量传输速率用专门的串行数字分析仪设备。
这样就需要在不同的设备中反复调试测量,这样连接的线束就更多了。
所以有一台自动化的测试治具,就显得难能可贵了。
由于现在很多仪器都带有GPIB接口,利用Labview的可视化编程方案就让这一切成为了可能。
编译基于labview环境的上位机软件,控制程控仪器发送测试信号到电路板,然后控制仪器进行数据的实时采集,存储以及显示,最终将测试数据和配置文件中的标准数据比对,给出电路板性能参数是否合格的结论。
很久之前做过这方面的工作,对电路板多个参数进行测量,在这里和大家重温“我的经典”产品,和大家一起聊聊的。
先上一个简单的流程图,让大家有个直观的了解。
实际会用到两台高速示波器,具体型号记得不太清楚了,好像是泰克DSA70000系列的,貌似是70404和DSA71604,都是性能超厉害的。
下面是这个测试工装的的简要硬件示意图,可以有个感观的认识这个上位机产品设计的时候做的有些花哨,后期还专门弄了个密码登陆系统,免得辛辛苦苦测试一天的数据被别人删除了,对不同的使用人员给予不同的权限。
登陆成功后马上就进入到labview的主控制界面,可以测试很多参数,只要仪器上支持的测试项目,就都可以测量,并显示和存储到本地。
下图是软件实际运行中,测试眼图的内容。
将示波器中测量的内容回传给上位机。
下图是实际测试中前面板下达发送“开始测试”命令,测试仪器接收,然后自动进行测量,数据回传保存。
以上是对高速信号的上升时间具体的测量过程。
基于GPIB接口总线的虚拟仪器详解
基于GPIB接口总线的虚拟仪器详解GPIB通用接口总线是一种设备和计算机连接的总线。
大多数台式仪器是通过GPIB线以及GPIB接口与电脑相连。
本文介绍了虚拟仪器的GPIB总线接口技术。
计算机通过GPIB接口卡控制带有GPIB总线接口的电流源和电压表,构成了I~V曲线虚拟仪器测试系统。
在Labview环境下完成了虚拟仪器前面板以及后台框图程序的设计,与硬件系统一起完成虚拟仪器的测试任务。
1、引言通过GPIB接口技术,不同厂家生产的各种不同的仪器设备可以很方便地与计算机一起组建成自动测试系统。
以往实现仪器与计算机之间的通信,用户就必须要把大量时间和精力花费在熟悉各种仪器的编程上。
近年来,虚拟仪器技术的迅猛发展,为GPIB自动测试系统的组建提供了良好的开发平台和仪器驱动程序。
采用虚拟仪器的软件开发平台,从根本上消除了仪器编程的复杂性,使用户能够集中精力于仪器的使用而不是仪器的编程。
由于计算机内部采用与GPIB总线完全不同标准的总线,为使计算机作为GPIB系统控制器,必须在计算机的扩展槽上插一块与GPIB总线相连的接口卡。
虚拟仪器软件Labview 对GPIB接口卡的控制有两种方法:一种是利用Labview中提供的GPIB和GPIB488.2功能模板或VISA库,这种方法只能对NI公司自己生产的GPIB接口板或具有VISA库的GPIB488接口板进行控制,其价格比较昂贵;另一种方法是利用Labview本身提供的调用库函数(CallLibraryFunction),通过对GPIBDLL动态链接库的调用,实现对GPIB接口卡的控制。
相对而言,这种方法价格便宜,而且更具有通用性,其它类似的硬件设备,只要它能够提供Windows环境下的动态链接库,而且又知道其函数原型后,都可以在Labview 中得到应用。
本文采用广泛使用且价格相当便宜的AX5488接口板,通过Labview对其GPIBDLL的调用实现对GPIB接口卡的控制。
LabVIEW环境下的GPIB总线虚拟仪器开发.
第1期CHINA MEASUREMENT TECHNOLOGY中国测试技术No 11LabVIEW 环境下的GPI B 总线虚拟仪器开发张小琴林建辉(西南交通大学牵引动力国家重点实验室, 成都610031摘要LabVIEW 是当今最流行的虚拟仪器开发平台, 文中介绍了用LabVIEW 开发基于GPI B 总线的虚拟仪器的全过程及其硬件和软件要求, 并给出了一个开发实例。
实例为用LabVIEW 虚拟仪器开发平台对一台带有GPI B 接口磁测量仪进行二次开发, 构建自己的虚拟仪器。
与台式仪器相比, 该虚拟仪器最突出的优点是不需要其它数据采集卡便可完成磁场的实时采集测量, 并将采集结果保存到文件, 以供后续分析使用, 从而大大扩展了原有台式仪器的功能。
关键词LabVIEW GPI B 实进采集Development of virtual instrument based on GPIB bus on LabVIEW flatAbstract :LabVIEWis the most popular developing flat of virtual instruments 1In this paper the whole process and the requirement to hardware and software are introduced and an applied example is 1Own virtual instrument is built based on an existing magnetic meter with GPI with the importable instrument it does not need other DAQ card but can real 2time acquirement and then save the results for the later analysis , thus importable instrument 1K ey wods :LabVIEW; GIPB ;real 2time instrument1前言数据采集、经常遇到的实际任务。
编程控制仪器进行自动化测试(Visa驱动、GPIB驱动)
编程控制仪器进行自动化测试(Visa驱动、GPIB驱动)本文将会介绍如何通过编程的方法来控制仪器,并进行自动测试•编程控制仪器,下面简称[“程控”][3];•博主经常使用的是安捷伦、罗德与施瓦茨两大厂家的仪器;•经常程控的仪器有信号源、频谱仪、示波器、网络信号分析仪、衰减器、电源等支持程控的设备;程控必备基础学习程控仪器,就必须得了解一些相关的基础知识。
(曾经有群友向我请教关于程控的问题,几乎将我问到奔溃)1. SCPI指令集可编程仪器标准命令,定义了一套用于控制可编程测试测量仪器的标准语法和命令。
命令主要分为Set(控制)和Query(查询)两种。
2. GPIB通用接口总线是一种设备和计算机连接的总线。
大多数台式仪器是通过GPIB线以及GPIB接口与电脑相连,系统中最多不能超过15台仪器。
如果是台式机或者笔记本作为主控机,需要买一个USB转GPIB 的线。
3. VisaVirtual instrument software architecture,虚拟仪器软件结构。
可以使用网线连接仪器,通过网络地址来程控仪器,也可以通过GPIB 线,使用端口程控仪器。
关于visa的详细内容参见wiki:https:///wiki/Virtual_instrument_software_archit ecture4. 编程基本功底基础功底是必备的,如果如何写程序都不会?肿么写程控软件?肿么写驱动程序?好比一个人,如果不会加减乘除法,却又不愿意使用计算器,却非要执拗的去做算数题,这样能有结果?欲速则不达啊。
编写程控软件的步骤:1.确定编程语言。
2.明确手动控制仪器的流程,需要控制的仪器参数。
3.查找仪器命令手册(一般从仪器官网可以下载到命令手册,),查找出对应参数的控制命令。
4.安装GPIB或者Visa驱动(非常重要)。
5.调用驱动,编写自动测试流程(实现你的测试流程,做你想做的事儿)。
如果是安捷伦的设备,一般可以采用Agilent IO软件来测试命令,也可以使用NI的NI MAX工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
张华1 史永彬2
(1. 91458部队79分队,三亚市 5720212. 92493部队89分队,葫芦岛市 125000)
Zhang Hua 1 Shi Yongbin 2
(1. PLA 91458 Unit 79, Sanya 5720212. PLA 92493 Unit 89, Huludao 125000)
LabVIEW中GPIB仪器编程
Programming GPIB Instruments in LabVIEW
Abstract: There are three methods to implement GPIB instruments control in LabVIEW development environment,including GPIB module drive, VISA module drive, special instrument drive. The paper summarized the advantage,disadvantage and skills in application aspect of these methods. It makes great reference for engineers in automatic testing software design.
Key words: GPIB VISA LabVIEW Software Design
【摘 要】在LabVIEW开发环境下,实现对GPIB仪器控制时,采用GPIB模块驱动、VISA模块驱动、指定
仪器驱动程序三种方法编程的优缺点及应用方面的技巧。
对从事自动测试软件设计者具有极高的参考价值。
【关键词】GPIB VISA LabVIEW 软件设计
收稿日期:2006-07-08
作者简介:张华(1980-),男,海军海空工程学院毕业,现从事国防军事装备计量保障工作。
前言
在LabVIEW开发环境下,对带GPIB接口的仪器有GPIB模块驱动、VISA模块驱动、指定仪器驱动程序三种编程方法,可以直接运用它们进行所需的VI编程,但是每个仪器设备传送和接收数据都有自己的特殊命令和协议,要把这些命令和协议全部学会是十分困难的,那么如何在有限的时间内完成程序设计任务并达到最佳的效果,针对这些问题结合工作中应用情况,以Fluke 8840A数字多用表直流电压测量为例,就下面几个问题进行讨述。
1 GPIB模块驱动编程
LabVIEW中有专门的GPIB(General PurposeInterface Bus)模块驱动,可以用来实现基于GPIB仪器自动控制。
GPIB模块在Functions→Instrument I/O→GPIB模板中,使用最频繁的是GPIB Write和GPIB Read两个函数,掌握这两个函数就可以完成仪器的设置、数据的读写和仪器自动控制软件了,其他的函数大多与GPIB控制器有关,图1是 Fluke8840A GPIB模块驱动直流电压测量程序。
若实现其它功能的测量,只需要将
“写入的命令代码”中的F1改为要求的功能代码。
2 VISA模块驱动编程
针对如串行通信、通用接口总线GPIB、VXI(VMEbus eXtensions for Instrumentation ,VME总线)等现存的不同的通信协议,它们因其本身固有的不同而互不兼容。
工业上的设备用到的并不止一种协议,因此VISA(Virtual Instrument Software Archi-tecture虚拟仪器软件结构)应运而生,这种标准能使使用不同协议的设备工作在同一个系统中。
用户可以在LabVIEW中运用VISA进行通信,VISA可以非常简单地服务于包含多功能的交叉通信协议的程序编制。
VISA可以控制一组不同类型的仪器,包括GPIB、VXI或者串行总线。
换句话说,VISA提供了接口独立性,需要对不同接口进行仪器编程的读者只需要学习API即可。
仪器驱动程序将所有的输入和输出函数包含在一个函数库中,而这个函数库同别的代码是分开的。
需要升级硬件的时候,升级应用软件显得非常容易,即只需要更改驱动程序即可,因为与设备不兼容的代
图1 Fluke 8840A GPIB模块驱动程序
Instrument and Metrological Technology
码在驱动程序中。
所有函数库中的驱动程序都有相同的基本层次,高层次的函数建立在低层次函数之上。
大多数仪器的控制都是使用低层函数实现的,但是高层次的函数,由于拥有可以调节到前面板显得更容易控制。
VISA模块在Functions→Instrument I/O→VISA模板中,使用最频繁的是VISA Write和VISARead两个函数,掌握这两个函数就可以设计自动控制软件了,图2是 Fluke 8840A VISA模块驱动直流电压测量程序。
图2 Fluke 8840A VISA模块驱动程序
采用VISA编程的益处:
(1) VISA的I/O控制功能适用于各种仪器类型,VISA适合于VXI仪器、GPIB仪器、RS-232串行仪器等各类仪器的控制操作,也包含了消息基器件、寄存器器件、存储器器件等仪器的操作,其形式是统一的。
(2) VISA的I/O软件库的源程序是唯一的,与操作系统及编程语言无关,只是提供了不同形式的API文件作为系统的引出。
(3) 它方便用户在不同的平台、对不同类型的仪器进行开发、移植及测控系统的升级改进。
3 指定仪器驱动程序编程
考虑到多数测试人员对GPIB模块驱动及VISA模块驱动编程不是很了解,而对仪器使用较为熟悉的测试人员,NI公司和其他仪器生产厂家一般会开发一个基于LabVIEW开发平台的针对此类仪器驱动程序,驱动程序中将仪器的驱动按照仪器的基本功能封装成各种子VI,如读出、写入及触发控制等,使用时只需按需调用这些子VI并做好设置就可以方便地实现仪器的自动控制。
仪器驱动程序是专门控制某种仪器的软件,当建立了一个仪器的驱动程序后,就不必再记住仪器的控制命令,只要从前面板输入简单数据即可。
每个仪器模块均有自己的仪器驱动程序。
仪器驱动程序的实质是为用户提供用于仪器驱动的抽象的操作函数集。
对于应用程序来说,它对仪器的操作是通过仪器驱动程序来实现的,仪器驱动程序对仪器的操作与管理又是通过输入/输出软件所提供的统一基础和格式的函数库(VISA函数库)的调用来实现的。
对于应用程序设计人员来说,一旦有了仪器驱动程序,即使在不了解仪器内部操作过程的情况下,也可以进行虚拟仪器系统的设计工作。
仪器驱动程序是连接上层应用软件与底层输入/输出软件的纽带和桥梁。
仪器驱动程序可
以从设备驱动CD上安装,也可从http://www.ni.com/idnet网址上下载。
应将仪器驱动程序安装到子目录LabVIEW/insr.lib下。
例如本文介绍的Fluke8840A仪器驱动程序,可以装在LabVIEW/inst.lib/Fluke 8840目录下,在此目录下,可以找到该仪器驱动程序的菜单文件和VI库,菜单文件可以让用户由Functions模板中浏览自己的仪器驱动程序VI,VI库则包含仪器驱动程序VI。
图3是Fluke 8840A指定仪器驱动直流电压测量程序。
图3 Fluke 8840A 指定仪器驱动测量程序
4 三种编程方法比较
(1) 对于GPIB驱动模块和VISA模块驱动编程,相同点在于对仪器进行设置、数据读取时需要知道相应仪器的程控功能码,要求编程人员要有相应仪器的使用说明,否则程序设计无法进行。
不同点在于VISA模块驱动函数可适用于GPIB、RS-232、VXI、PXI等总线结构的仪器,此时开发环境必须有VISA库驱动,在安装相应软件时,都将会有自动安装。
(2) 对于指定仪器驱动程序,不同的仪器其仪器驱动程序是不相同的,此类编程不涉及仪器程控功能代码,特别适合硬件固定的测量系统中,如果测量系统中硬件发生变化则必须重新设计程序。
(3) 熟悉仪器使用的人都知道,许多仪器的设置需要花费一定的时间,因此编写仪器控制程序时特别需要注意,在这些命令函数传递之后要延迟足够的时间再进行下一次命令传递。
5 结束语
本文从应用层面介绍了GPIB模块驱动,VISA模块驱动、仪器驱动程序,三者的优缺点和具体应用场合。
具体如何应用使用者应结合实际情况而定,当然也可以在它们之间互相结合。
参考文献
[1] 戴鹏飞.测试工程与LabVIEW应用.电子工业出版社
[2] LabVIEW Fundamentals. National Instru-ments Web site@2005 National Instruments Cor-poration
[3]Getting Started with LabVIEW. NationalInstruments Web site@2005 National InstrumentsCorporation
[4]National Instruments Product ManualsLibrary. National Instruments Web site@2005National Instruments Corporation □
仪表与计量技术。