微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > LabVIEW怎么让结构外面的数先通过隧道流进结构里面,在执行结构里面的程序?

LabVIEW怎么让结构外面的数先通过隧道流进结构里面,在执行结构里面的程序?

时间:10-02 整理:3721RD 点击:
我的程序每次执行事件结构的时候都需要结构外面的几个变量,但是每次事件执行时,外面变量变化的值不能及时刷新进来,只有这次执行过以后外面变量变化的值的值才能进来这就导致此次事件结构触发后用的还是上次变量的值,只有这次事件结构执行以后此次变量变化的值才能传递进来!本来局部变量可以解决,但是我的程序如果用局部变量就导致局部变量使用太多,导致死机!
请问这个怎么解决啊?烦请各位大神不吝赐教啊!


用错误输入输出从循坏外开始连接到循环内,让程序按顺序执行就可以了

谢谢!但不是太明白 能不能画个图说明一下啊!

这是随便写的,大致思路就是这样


好的!谢谢!我试试!

我试了试!还是不行啊!

sorry,没仔细看你的条件,这可能是因为while循环的时候先执行控件输入,然后等待事件输入,如果事件没执行,但是上一步的赋值已经发生,所以再执行事件的话就变成了新的控件输入+上一步赋值的显示
你可以在事件内部创建一个输入控件的局部变量,然后再输入子vi,似乎能够解决问题

你的情况应该和这个类似


恩恩 就是这样的!没法解决啊!

忘了你不想用局部变量了,我再想想

貌似只有用 局部变量!

但是我这个局部变量用下来!至少得五六百个局部变量

只要程序能跑就行!可是局部变量用得多了有时候会卡死!

不用局部变量的话,只能用引用了,但是引用的属性节点 值的效率似乎和局部变量差不多,要不你试试?


恩恩!我看了看!很多地方都说属性节点的效率还不如局部变量!那我就将就用吧!多谢啊!不过这个LabVIEW的数据流我到现在还是不太懂!很多人说LabVIEW是数据流驱动程序!一直没弄懂!但是貌似搞懂LabVIEW的数据流机制对LabVIEW的编程至关重要!








我觉得局部变量应该是耗费的内存,引用占用的是计算资源,你穿插着用说不准会好点

我想到一个方法,刚才试了一下还行,只需要用一次局部变量



可以改成移位寄存器,不用局部变量



但是我外部要好几个值呢!我看能不能多接几个“新值”!

我的新值怎么显示是布尔量!


如果是enum的话有可能,你可以不用新值那个属性,把控件直接丢进去输入给寄存器就可以了

反正你如果用事件结构赋值,就不需要在事件结构外部用控件值输出了

反正老感觉不对劲!现在前面板老死,估计是事件结构的分支太多了?看网上说要加超时分支,但是加了也没啥改变!打算放弃用事件结构了 改用条件结构!但是我这程序改一下真的死人啊!一百多个控件!多谢你的帮助啊!

好不容易找到了,谢谢分享好不容易找到了,谢谢分享

加超时分支,并给超时赋值就能解决你的问题。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top