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.2.2 GPIB总线在LabVIEW中的实现[共2页]](https://img.taocdn.com/s3/m/10aad20da58da0116d174959.png)
总线技术 第 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);}。
- 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 □
仪表与计量技术。