Labview 事件 - 与 运行 循环并行执行任务

Labview events - do a taks in parallel to a running loop

我正在尝试做一些非常简单的事情:

选项 1 - 循环外部事件

选项 2 - 循环内部事件

我只想让循环 运行 和 OK 按钮同时工作,如何在 Labview 中实现这个简单的任务 "way of life"。

结果:

你不能。您将需要两个单独的 while 循环,一个具有计数功能,但不要使用 'loop' 变量作为停止条件,使循环变量控制计数条件。 在另一个 while 循环中,您将获得事件代码。 您唯一需要担心的是停止事件代码中的第一个 while 循环。

我看到两个选项:

  1. 类似于选项 2,但不在 "Loop Value Canged"-Case 内而是在 "Timeout"-Case 内执行 "loop math"。那么你不需要 while 循环,而是使用 if-case (loop = true)。
  2. 使用两个 while 循环。在他们每个人里面放一个事件案例。一个处理 "C=A+B"-Event,另一个处理 "Loop Value Changed".

我认为您正在寻找的设计模式是 Producer/Consumer 模式。这允许您 运行 并行循环,如果需要的话可以在它们之间共享数据。

快速 google 结合 labview 将为您提供足够的示例。

以下是如何使用 Master/Slave 配置来完成此操作。所有用户事件都在主机中处理,计数在从机中处理。循环可以重新启动,停止对两个循环都有效。

要停止您使用不同事件的代码,在循环条件为假的情况下您不会在从循环中执行任何操作。此处未显示,但循环条件也有自己的事件结构,可在需要时重置计数器。

这个 master/slave 结构可以扩展到任意数量的循环。