运行 在 LabVIEW 中周期性地循环一段时间

Run a loop in LabVIEW for a set amount of time, periodically

我正在使用 LabVIEW 操作和记录废水反应器的数据。我目前设置了一个程序来连续监测 pH 值,然后使用 pH 值数据打开酸泵或碱泵。

我的问题是我想全天候 24/7 监测和记录 pH 数据,但我只希望我的 acid/base 泵每三个小时激活一小时。理想情况下,我想将这些操作时间与计算机的时钟联系起来。

例如,从 10:05 上午到 11:05 上午,我希望我的酸泵和碱泵使用来自 pH 传感器的数据根据​​测量的 pH 值打开或保持关闭。我的目标 pH 值是 7.0 +/- 0.3。例如,如果测得的 pH 值为 6.5,则基础泵将打开,直到达到 6.7 的 pH 值。如果测得的 pH 值为 7.5,则酸泵将打开,直到达到 7.3 的 pH 值。如果 pH 值为 7,则两个泵都将保持关闭状态。到目前为止,我的代码执行此操作,但泵会不断打开和关闭。

在 11:05,两个泵都将 "deactivated" 并关闭,但 pH 测量应继续进行。然后,在初始泵启动时间后 3 小时(10:05 am = 1:05 pm 后 3 小时,或 11:05am 停止时间后 2 小时)此循环将再次开始,运行 再次持续一小时。我希望这个循环一遍又一遍地继续(即每 3 小时根据 pH 值测量泵启动 1 小时)。

是否可以在 LabView 中执行此操作? (我也是 LabVIEW 的新手)。谢谢!

是的,确实可以做到这一点。

实现您所描述的最简单方法是在循环内的泵控制代码中添加额外的逻辑。每次循环迭代,获取当前时间(例如 Get Date/Time in Seconds)并计算是否应启用泵(您可能会发现 Quotient和 Remainder 有用)。然后,如果 pH 计算 启用时间计算都产生 True 输出,则可以使用 And 函数启用每个泵。

我建议使用编程面板中的函数来进行大于、小于、与等操作,因为它们占用的图表更少 space 并且在我看来比 Express 函数更容易理解。

一种更复杂和可扩展的方法可能是将 pH 测量和泵控制分成两个不同的循环,并使用某种机制将最新的 pH 值传输到泵控制循环(通知程序、局部变量、功能全局或通道线都是这里的选项)。 state machine 将是泵控制逻辑的良好模式。