完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
还记得labview在Front Panel上的Control元件要怎么读取吗?就之前所提到的教学,我们都是透过该元件在Block Diagram上的接点来进行读写的动作,但如果今天你想要在两个以上的Case或是循环中去读写同一个Control元件时,单纯靠一个接点是做不到的,所以这时候区域变量就变的很重要,因为区域变量就象是元件的分身一样,可以让你在同一个VI下面,不同的程序结构中进行元件控制。 首先我们以一个典型的问题来说明如果使用区域变量来帮助你解决类似的应用,我看到下图所示,我目前有两个循环,但我只有一个Stop开关,我应该要如何才能够让这两个循环同时停止呢? 我们先看看第一种程序的写法,我试着用接线的方式,把左边的循环Stop的讯号接到右边的循环中,这样的写法虽然感觉好像可以Stop的讯号传到两个循环中,不过因为循环有一个特性,就是输入的资料没有到齐之前,循环是不会执行的,也因此下图的程序,左边的循环会先执行,等到使用者按下Stop按钮时,左边循环会停止,接着右边的循环会执行一次后立刻停止。(While循环至少都会执行一次) 居然上面的方式不可行,那我们换成下面的方式看看,如果我将Stop放在循环的外面,那这样循环应该可以同时执行了吧!这样说虽然没错,但另一个问题又发生了,那就是循环无法停止,因为循环当资料由输入端点进入后,就无法更新,所以我放在循环外面的Stop按钮的任何变化,循环内都不会发现,所以这个方式也不行。 像类似这样的问题,此时就需要用到变量才能够满足我们所需要的控制方式,建立区域变量的第一种方式,就是先建立一个区域变量,然后再指定到对应的元件上即可,请参照下图所示进行操作。 或着是你可以直接在元件上面鼠标右键选择[Create]>>[Local Variable]来建立区域变量 接着我们将原来的程序使用Local Variable来调整,调整后的程序如下图所示,这样我们就可以同时控制两个循环停止。 转载 |
|
相关推荐 |
|
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 17:12 , Processed in 0.523726 second(s), Total 42, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号