0

我一直在挠头,试图找到一个代码,允许从 on​​->off 的变化导致某些事情发生,而从 off-->on 的变化不起作用。

例如,我有一个传感器作为输入。起初,它感应到一个经过的物体并静止了几秒钟,因此它记录了一个关闭(因此为 0)。当它记录关闭时,它会导致灯亮起。几秒钟后,物体走到尽头(离开传感器),然后返回并再次通过传感器。但是,这次我不想开灯。

如果系统有一个记忆,它以前的状态是关闭的,现在它会感应到开启,那么我不会让关闭-->开启工作,而是开启-->关闭工作。这样的代码在LabVIEW上是否可行?还有其他选择吗?

4

2 回答 2

1

我相信这会做到,而且非常简单,如果我错了,请纠正我,因为我不知道我完全理解所需的逻辑。

在此处输入图像描述

这里的关键是使用移位寄存器,它比局部变量选项更直接,我确信那里有正确的解决方案或对此进行一些小的调整。

移位寄存器初始化为假,循环输出上出现的任何状态都将在下一个循环的输入上重新出现。

另一个有趣的解决方案是使用事件结构来触发“传感器”的值变化。此解决方案也可以稍微响应更快,见下文:

在此处输入图像描述在此处输入图像描述

于 2013-10-29T22:28:42.213 回答
0

您可以使用局部变量和反馈节点来完成此操作。

假设这是在一个 while 循环中,我的解决方案是在传感器输入上创建一个局部变量 hasLit 和一个反馈节点。当反馈节点输出为真而传感器输入为假(物体刚从传感器视图中传递出来)时,我们将 hasLit 更改为真。如果传感器为真而不是 hasLit,则灯的状态将为真。

图像形式

于 2013-10-29T20:57:21.273 回答