后续事件不会在while循环中触发

时间:2013-03-19 06:28:38

标签: events loops labview

我有一个 MAIN VI 和一个 SUB VI ,通过 control refnum 来传达事件。事件流程如下。

1) sub vi 更改其控件的值,此事件在 main vi 中处理(这可行)。

2) main vi 响应事件更改其中一个控件并触发事件处理程序本身的事件,该事件在 subvi事件处理程序中处理。(这也有效。)

第一阶段结束了。现在主要的vi运行一个while循环,sub vi运行一个while循环,main vi每隔约150ms触发一个事件。哪个将在 subvi 中处理。这是没有发生的部分。我可以看到主要vi的控件更新,但 subvi 不会处理事件(如果生成)。我正在使用控件的property node->Value(signalling)来更改值以及触发事件。可能的原因是什么?

注意:控件(其值已更改),事件处理程序与第一阶段相同。

希望我的问题很明确。

1 个答案:

答案 0 :(得分:1)

我发现了这个问题。 后续事件未被处理,因为事件处理程序循环一次的循环 即初始条件本身是假的,所以循环只运行一次。 此循环由stop if true控制。它必须是continue if true。 控制此循环的布尔变量是true。这应该是我的第一个线索。