如何使labview循环停止一次?

How to make a labview loop stall once?

我是 LabView 的新手,问题如下:我想在值不同时停止,而不是在更新后停止。 错误的方式是:

错误方式:新值与旧值不同

错误的方式:新值等于旧值

我强调这是错误的方法,因为即使在 false 的情况下循环仍然会停止,它不包含停止结构。

编辑:link 编码:download here

测试:

我在我的 LabVIEW 中实现了代码,它似乎工作得很好!如果b_in和b_out的值不同,则等待预设时间,如果相同,则不等待。您可以使用 "Highlight Execution" 按钮在您的代码中对其进行测试。

解决方案:

如果让它运行循环,可能会出现竞争条件。局部变量注定要解决该问题。我会尽可能少地使用它们。如果您 运行 循环中的 case 结构,则应改用 shift-registers

问题中有一些不清楚的地方,没有进一步的信息就无法回答,所以请提供对这些地方的编辑:

  • 这只是更大 vi 的一部分吗?
  • 能否提供整个vi的代码?
  • 您问题的代码片段 运行 是否在循环中?

(如果有新信息我会编辑答案)

希望能帮到你:)

正如 Salome 所指出的,我已经使用反馈节点重新创建了您的要求。

如果您需要更多帮助,请告诉我!

在 Labview 2018 中,您还可以使用 "Is Value Changed" 函数。 SubVI只是语法suger,它是通过可塑VI的多态性实现的。功能与莎乐美建议的相同。