labview 局部变量与直接连线的区别

我首先使用直接连线,程序正常运行.但是把其中一些数据用局部变量传输以后程序运行结果不同.多次运行发现使用了局部变量的地方本次运行的结果要下次运行的时候才会出现,相当于"延... 我首先使用直接连线,程序正常运行.但是把其中一些数据用局部变量传输以后程序运行结果不同.多次运行发现使用了局部变量的地方本次运行的结果要下次运行的时候才会出现,相当于"延迟"了一次.请问局部变量该怎么使用?和直接联线有什么不同?? 展开
 我来答
faye1984
推荐于2016-11-21 · TA获得超过263个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:177万
展开全部
LZ这情况我也碰到过
可能是你没有管理好时序,导致数据提前读取了。
要知道出现在同一个结构里互不关联的代码默认多线程同时执行。我以前BUG是在数据更新前先读取了数据,然后局部变量才更新,更新以后没有读取,更新的结果被内存带到下一次运行时,再被读取。

具体你用灯泡观察下数据流就清楚了。

局部变量,全局变量就是这么危险。NI官网论坛上很多老外都这么说,尤其全局变量是魔鬼,要用只能一写多读,当做一个常量用。(NI官网热门话题之一:全局变量是不是魔鬼,部分人坚持永远不用)
连线暗含顺序执行属性。符合一般思维方式。
追问
原来是这样,那怎么更改呢
追答
具体问题具体分析了
你想办法在把读取放在数据更新以后好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式