labview控制激光器间隔固定时间输出一个波长,怎么弄
使用局部变量之前,请先处理好竞争关系
请问这个该如何处理呢?翻书也说用局部变量会有竞争问题,可以用顺序结构之类的,但是我想要间隔固定时间输出一个波长命令到激光器,用了顺序结构不就只能先做完循环了吗
你就不能把写的操作放到FOR里面吗?
谢谢回复试过 但是这个原来是输入一个波长功率之类的激光器执行一次命令那种 后面有个while 我把后面的写到for里面 就做不来了 如果我把while去掉 事件结构就只能做一次 但是里面有设功率 单位之类的
大神能不能帮我看看这个问题怎么解决?谢谢了!
你先解释下
第一,(1)中的事件你是怎么产生的?
第二,你的程序运行到while的时候,它就出不来了,除非你点STOP,你为什么要这样做?
这本来是下面这张图这样的,输入波长之类的,while就是等前面输入那些值变化就做事件里面的内容,然后我想要按若干波长间隔若干时间间隔输出波长,我就在前面写了个循环,我以为循环里面波长值变化,那些局部变量也会相应变化然后完成我要求的,请问我可以怎么改?
你说的什么波长之类的只有你自己明白,你程序的功能只有你自己知道,你能不能把你的问题说清楚?
唉!
再说一次!
(1)中的事件你是怎么产生的?你是以为如下图中的1产生新值。事件就会被执行?还是以为2中的事件执行了,1中的值就地改变了?
你以为当程序执行到第二部分时,第一部分还会被执行吗?!
这是一开始输入一个波长就输出一个波长的程序,1部分就是输入的数据,2部分的子VI是读取激光器的数据并显示(我感觉),3部分是设置波长的子VI,‘WL/frequency 值改变’这个事件就是WL/frequency 输入控件的值改变发生的,当我再次输入一个波长时,事件会发生吧。
既然你都知道了那个事件是你手动输入控件的值,它就值改变事件就会发生,那么你的问题是?
前两天没看见回复不好意思啊 我的问题就是有什么方式可以使波长控件的值连续改变?简单的在前面加循环貌似并不能解决问题。
你要让一个值改变,那么你就对它赋值不就行了?
就是我前面加这个循环 但是没用
1是你的做法,你改为2那样,那样每次赋值它都会产生值改变事件
谢谢 这次变化了!