用LabVIEW控制你的仪器文档格式.docx

上传人:b****5 文档编号:18703584 上传时间:2022-12-31 格式:DOCX 页数:10 大小:23.77KB
下载 相关 举报
用LabVIEW控制你的仪器文档格式.docx_第1页
第1页 / 共10页
用LabVIEW控制你的仪器文档格式.docx_第2页
第2页 / 共10页
用LabVIEW控制你的仪器文档格式.docx_第3页
第3页 / 共10页
用LabVIEW控制你的仪器文档格式.docx_第4页
第4页 / 共10页
用LabVIEW控制你的仪器文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

用LabVIEW控制你的仪器文档格式.docx

《用LabVIEW控制你的仪器文档格式.docx》由会员分享,可在线阅读,更多相关《用LabVIEW控制你的仪器文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

用LabVIEW控制你的仪器文档格式.docx

安装结

束后会提示重启电脑,但是这不是必须的。

可以直接打开程序,不过有些

工具打不开。

看一下界面(图4)。

2计算1+1

接下来写一个简单的小程序,实现1+12的功能。

LabVIEW的程序

或子程序叫做VIvirtualinstrument,你可以这样创建它:

在菜单栏里选

择File!

NewVI,或者直接“Ctrl+N”。

创建成功后会弹出一灰一白两

个窗口(图5),可以用鼠标或者“Ctrl+E”在它们之

间切换。

就像标题

栏上写的那样,灰色的叫FrontPanel,就是前面板,作为VI的用户界面;

白色的叫BlockDiagram,中文版里叫程序框图,用来放你的code。

像不2计算1+13

图4:

界面

图5:

前面板(前)和程序框图(后)2计算1+14

ab

图6:

FunctionPalette和ControlsPalette

像VB?

每个VI都有前面板和程序框图。

如果你关闭了程序框图,可以通过

Window!

ShowFrontPanel或“Ctrl+E”来重新打开它,但如果你关

闭了前面板,那么整个VI就都被关闭了。

切换到程序框图,在FunctionPalette里(图6a,若找不到,可以

在菜单栏的View里,或者空白处右键来调出它)选择Programing!

Numeric!

Add,并将它放在程序框图中。

这时若将鼠标移到你放置的

Add上,还可以看到三个橙色的接线端子(图7a)。

边两个表示输入参

数,右边一个表示返回值。

通过菜单栏的Help!

ShowContextHelp或者

“Ctrl+H”可以调出即时帮助,实时显示鼠标所指元素的帮助(图7b)。

进一步点击Detailedhelp,你可以看到更详细的说明,以及一些例子。

这时候我们回到前面板。

FunctionPalette不见了,取而代之的是

ControlsPalette(图6b,若没有看到,可以在菜单栏的View里,或

者空白处右键调出)。

找到Modern!

Numeric!

NumericControl

NumericIndicator,在前面板上放置两个NumericControl和一个Numeric2计算1+15

图7:

Add函数和实时帮助

图8:

放置NumericControl和NumericIndicator

Indicator(图8a)。

在中文版中,Control翻译成输入控件,Indicator翻

译成显示控件。

这时程序框图上会有3个对应的图标出现8b,在某

个图标上双击或

者右键!

FindControlIndicator可以快速找到对应的前面板控件。

也可

以在前面板上的某个控件处双击或者右键!

FindTerminal反过来定位。

继续看程序框图,可以看到Control对应的图标在“1.23”字样的右侧

有一个小三角,表示数据可以从这里流出;

Indicator左侧有一个小三角,

表示数据可以从此处流入。

三个图标都是橙色的,表示它们是浮点数,可

以右键!

Representation将其改为别的数据类型。

利用鼠标左键可以把它们的接线端连起来。

如果无法连线,需要

在菜单栏的View中选择显示ToolPalette(图9),然后选中第一行的2计算1+16

图9:

ToolPalette

图10:

1+12

“AutomaticToolSelection”(程序会根据鼠标的位置自动选择合适的工

具)或者直接选择第三行第一个ConnectWire(这样你就只能connect

wire而不能进行其它操作,比如移动图标了)。

按“Ctrl+E”切换到前面板,在两个输入控件中各输一个1,然后点

工具栏中的Run按钮(图8左上角Edit下方的按钮,在该图中它是一个断

开的箭头,说明程序无法运行,点击它可以查看无法运行的原因,但实际

情况是像图10这样的,也就是说你可以运行它)或者“Ctrl+R”,然后在

第三个控件中你就可以看到输出的结果(图10)。

需要指出的是,这种编程语言是图形化编程,也叫G语言。

各个函数

之间执行顺序是由数据流向决定的(例如上面这个例子中,Add函数要等

到两个输入端的数据都流入后才开始工作),如果两个函数之间没有数据流

动,那么无法判断哪个函数先执行。

对于初学者,NI提供了视频教程,你可以在XX一下“labview101”。

当然,NI官网和论坛上远不止这些资源,仔细看看可能会有惊喜。

3关于GPIB的一些概念7

图11:

通信接口(图片来自网络)

3关于GPIB的一些概念

这一小节介绍GPIB的一些背景知识。

一台仪器若想与电脑或其它仪器通信,那么它必须

配有通信接口。

前智能仪器的主流通信接口有四种,即串口(RS-232)、网口、USB口、

GPIB口(IEEE-488),比如图11中的这台Keithley2611B源表,它的背

面板上同时有这四种接口,此外还配备了两个该公司特有的TSP-Link接

口。

GPIB全称叫GeneralPurposeInterfaceBus,通用接口总线(一个比

较类似的名字是USB,UniversalSerialBus,通用串行总线)。

它最初由

惠普公司设计,至今已近50年。

IEEE(美国电气和电子工程师协会)把

它弄成了一个标准,即IEEE-488标准,所以有时候又称GPIB接口为

IEEE-488接口。

其实GPIB还有另外一种25针的标准,叫IEC-60625,

但是比较少见,下面提到GPIB,指的就是IEEE-488。

所谓的标准,就是一个实物的理论模型,规定了各种各样的细节。

螺丝举个例子吧,例如GB/T70.1-2000这个标准(GB国标,T推荐),

是内六角圆柱头螺钉的国家标准,里头规定了各种大小(M1.6-M64)、性

能等级的内六角圆柱头螺钉的各种指标,包括几何参数、机械性能、公差

等,只要大家都按照这个标准来,生产出来的内六角圆柱头螺钉就都差不

多,可以互相替换。

所以标准对工业生产至关重要。

所谓的总线,就是bus,可以理解为数据传输的通道,即数据线。

图12给出了目前主板上的一种典型的总线结构。

需要指出的是,数据线只

是导线而已,总线要实现其功能还需要配备一块特定的芯片,这些芯片都

被叫做控制器(Controller)。

比如说我们熟悉的USB总线吧,从图12可以3关于GPIB的一些概念8

图12:

计算机总线(图片来自网络)

图13:

GPIBController和Cable(图片来自网络)

看到它是从南桥引出来的(一直到你机箱的USB端口上),而它的控制器

也在南桥里头。

如果USB控制器坏了或者驱动没有正确安装,那么你在机

箱的USB端口上插的U盘就无法正常工作了。

USB控制

器、IDE控制器

等设备,可以在Windows设备管理器里查看。

现在看一下GPIB控制器以及电缆。

在图13中,从左到右分别是用于

PCIe的GPIB控制器、用于USB的GPIB控制器和GPIB电缆。

GPIB

电缆上的接头一般是“doubleheaded”结构,每一端都是既有公头又有母

头,所以可以方便地像图14那样连成网络(网线、USB线、串口线不能这

样连)。

GPIB的一些性质如下:

3关于GPIB的一些概念9

图14:

GPIB连接示意图一根GPIB总线上最多接入15个设备(包括控制器),这是电路负载

能力决定的。

设备主地址的取值范围有31个:

0-30,(部分设备还有

第二个地址,即次地址,用以区分同一设备内部不同的模块),控制

器也要占用一个地址(一般是0)。

同一个总线上所有电缆长度之和不能超过20m,平均电缆长度不能超

过2m,单根不能超过4m。

要突破前面两个极限,可以使用Extender,比如NI的GPIB-140A

可以把设备数提高到26个,并利用光缆把传输距离延长到1000米。

或者Isolator/Expander,如NIGPIB-120B,可以扩展个数到28。

不太清楚如何解释这个26和28。

多台仪器可以连成链式结构、星形结构或者随便什么结构,但是同一

个接口上不要连超过三个电缆,因为很重。

GPIB接口有24个针脚,8根是地线或屏蔽线,8根是数据线,还有

8根控制和握手线。

数据并行传输,最大速度不超过2MB/s。

与其它总线的性能比较见图15。

4连接你的控制器,从仪器读取信息10

图15:

一些总线性能对比(数据来自ni)

图16:

通过USB-GPIB控制器连接仪器(图片来自网络)

4连接你的控制器,从仪器读取信息

这一小节介绍控制器的连接和驱动的安装,以及从仪器读取信息。

USB-GPIB控制器为例,插卡式的道理是一样的。

首先看一下效果图(图16)

我手头有一块NI的GPIB-USB-HS(图13中左边那个就是),官网报

价RMB4290不含税。

另外还从陈老师组借了一块(后来又从林老师组借

了一块)ADLINK的USB-3488A(图16中那个连接电脑和仪器的设备),

不知道价格,但应该便宜些。

因为GPIB-USB-HS是NI的亲生的,所以

跟LabVIEW配合要默契些,ADLINK的有点小问题,下面会讲。

如果你直接把控制器通过USB接口连到电脑上,它是不能正确识别

的,因为电脑上的硬件是需要驱动程序才能工作的。

常见硬件的驱动操作4连接你的控制器,从仪器读取信息11

图17:

NI

系统已经给你准备好了,不必手动安装,比如鼠标、键盘。

然而操作系统

不可能包含世间全部硬件的驱动,所以有些不常见设备的驱动需要手动安

装,比如GPIB控制器。

起初我发现即使安装驱动,正确识别以后,ADLINK的控制器在

LabVIEW中还是不能work,后来在NI的论坛上看到他们家的驱动不支

持64位LabVIEW,于是又重装了32位的LabVIEW2013。

(但是64位

下可能还是有解决方法的?

驱动一般刻在CD盘里随产品发售,ADLINK的控制器驱动程序只有

不到10MB大小,我先装的它,然后试了一下LabVIEW编程(32位),

可以从安捷伦的34410A万用表上读东西。

然后我又装了NI的驱动,名字

就叫NI488.2(有几百兆),用来支持NI的控制器。

装完之后把控制器连到电脑上(可能需要重启),就可以在windows

的设备管理器,以及各自的设备管理工具(NI的和ADLINK的

ADL-GPIBUtility)里面看到它了。

再把控制器的另一头连到仪器上(插

拔GPIB接口前最好把总线上所有仪器都关了,不然容易烧了仪器),打

开仪器,就可以在(可能要选中GPIB0板卡再点一下“扫描仪器”)

或ADL-GPIBUtility(可能要按F5刷新)检测到仪器(图17,图18)。

4连接你的控制器,从仪器读取信息12

图18:

ADL-GPIBUtility

图19:

NI-488.2通讯器

在里看不到ADLINK的控制器,在ADL-GPIBUtility里看不

到NI的控制器。

不知道能否显示安捷伦或者惠普的控制器。

在两

个软件中可以看到,两块控制器的接口ID都是0(显示为GPIB0),而且

ADLINK的接口ID似乎是不能改的,不知道这样是否会有冲突,反正同

时使用多个公司的控制器是比较麻烦的一件事情。

如果不管这个麻烦,那么立刻就可以试一下从仪器读取信息了。

里选中仪器,点“与仪器通信”,会弹出一个窗口(图19)。

可以发

现它的发送字符串一栏里写着“*IDN?

”,点一下下面的“写”,就把这

个字符串发送给仪器了(写入输入缓存),然后仪器会返回一个结果(到

仪器的输出缓存),再点一下“读”,就可以从仪器里把这个结果读出来

(图21)。

“询问”“写”+“读”。

在ADL-GPIBUtility里双击你的仪

器,弹出的窗口也有Write和Read按钮(图20)。

Async表示异步通信。

再说说图20中的指令“*IDN?

”。

IEEE-488.2规定了一些共同命令4连接你的控制器,从仪器读取信息13

图20:

GPIBInteractiveControl

图21:

一个示意图4连接你的控制器,从仪器读取信息14

图22:

GPIB读写的VI

(IEEE488.2MandatoryCommonCommands),都以“*”打头,结尾带

“?

”的是问询命令,表示有返回值(如“*IDN?

”),不带的是设置命令,

没有返回值(如“*RST”)。

“*IDN?

”表示identi?

cation

query,“*RST”

表示reset,“*TST?

”表示self-testquery。

具体的指令可以在仪器的手册

中找。

下面看看怎么在LabVIEW中实现这些功能。

新建VI,切换到程序框图,在FunctionPalette(图6a)左上角的

search里头输“gpib”,双击搜到的第一个左边带文件夹图标的“GPIB”,

定位到GPIB函数文件夹,可以看到,它是位于InstrumentI/O位置下,

里面有一个GPIBRead函数,还有一个GPIBWrite函数,把它们放到程

序框图中,并放置它们需要的参数(图22,在接线端处右键!

创建,可以

方便地创建常量、输入控件、显示控件,也可以在编程!

字符串(或者数

值)里找到对应的常量,但输入和显示控件得切换到前面板后在Control

Palette(图6b)里找)。

注意图6a中粉红色的是字符串,蓝色的是整数。

22表示仪器的主地址,即primaryaddress,在仪器中设置或查看,也可以

在或GPIBInteractiveControl里查看。

一般仪器是没有次地址的。

那个64是指从缓存中读取的最多字节数,函数在三种情况下可能(因为你

可以自定义,所以是“可能”)停止读取缓存:

1.达到指定字节数。

2.遇到

结束符。

3.EOI上的电压变成0(或者是1?

我忘了)。

然后点运行,就可

以读到结果了。

大可不必关心Write和Read函数在物理层面的动作。

剩下的事情就是好好看说明书和好好熟悉LabVI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1