Labview 事件 - 与 运行 循环并行执行任务
Labview events - do a taks in parallel to a running loop
我正在尝试做一些非常简单的事情:
- 确定按钮求和 a+b 并显示在 c
- 循环切换按钮控制无限循环
选项 1 - 循环外部事件
选项 2 - 循环内部事件
我只想让循环 运行 和 OK 按钮同时工作,如何在 Labview 中实现这个简单的任务 "way of life"。
结果:
- Op 1 - 外部事件:单击 OK 后发生一个循环,如果循环是 运行,OK 仅在第一次起作用
- Op 2 - 内部事件:OK 按钮不起作用
你不能。您将需要两个单独的 while 循环,一个具有计数功能,但不要使用 'loop' 变量作为停止条件,使循环变量控制计数条件。
在另一个 while 循环中,您将获得事件代码。
您唯一需要担心的是停止事件代码中的第一个 while 循环。
我看到两个选项:
- 类似于选项 2,但不在 "Loop Value Canged"-Case 内而是在 "Timeout"-Case 内执行 "loop math"。那么你不需要 while 循环,而是使用 if-case (loop = true)。
- 使用两个 while 循环。在他们每个人里面放一个事件案例。一个处理 "C=A+B"-Event,另一个处理 "Loop Value Changed".
我认为您正在寻找的设计模式是 Producer/Consumer 模式。这允许您 运行 并行循环,如果需要的话可以在它们之间共享数据。
快速 google 结合 labview 将为您提供足够的示例。
以下是如何使用 Master/Slave 配置来完成此操作。所有用户事件都在主机中处理,计数在从机中处理。循环可以重新启动,停止对两个循环都有效。
要停止您使用不同事件的代码,在循环条件为假的情况下您不会在从循环中执行任何操作。此处未显示,但循环条件也有自己的事件结构,可在需要时重置计数器。
这个 master/slave 结构可以扩展到任意数量的循环。
我正在尝试做一些非常简单的事情:
- 确定按钮求和 a+b 并显示在 c
- 循环切换按钮控制无限循环
选项 1 - 循环外部事件
选项 2 - 循环内部事件
我只想让循环 运行 和 OK 按钮同时工作,如何在 Labview 中实现这个简单的任务 "way of life"。
结果:
- Op 1 - 外部事件:单击 OK 后发生一个循环,如果循环是 运行,OK 仅在第一次起作用
- Op 2 - 内部事件:OK 按钮不起作用
你不能。您将需要两个单独的 while 循环,一个具有计数功能,但不要使用 'loop' 变量作为停止条件,使循环变量控制计数条件。 在另一个 while 循环中,您将获得事件代码。 您唯一需要担心的是停止事件代码中的第一个 while 循环。
我看到两个选项:
- 类似于选项 2,但不在 "Loop Value Canged"-Case 内而是在 "Timeout"-Case 内执行 "loop math"。那么你不需要 while 循环,而是使用 if-case (loop = true)。
- 使用两个 while 循环。在他们每个人里面放一个事件案例。一个处理 "C=A+B"-Event,另一个处理 "Loop Value Changed".
我认为您正在寻找的设计模式是 Producer/Consumer 模式。这允许您 运行 并行循环,如果需要的话可以在它们之间共享数据。
快速 google 结合 labview 将为您提供足够的示例。
以下是如何使用 Master/Slave 配置来完成此操作。所有用户事件都在主机中处理,计数在从机中处理。循环可以重新启动,停止对两个循环都有效。
要停止您使用不同事件的代码,在循环条件为假的情况下您不会在从循环中执行任何操作。此处未显示,但循环条件也有自己的事件结构,可在需要时重置计数器。
这个 master/slave 结构可以扩展到任意数量的循环。