如何使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的多态性实现的。功能与莎乐美建议的相同。
我是 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的多态性实现的。功能与莎乐美建议的相同。