在长时间等待中如何停止While循环

更新 Oct 18, 2023

适用于

软件

  • LabVIEW

问题详述

  • 如何在使用等待(ms)定时器结束之前停止While循环
  • 我的While循环中有很长的等待(ms)时间延迟,当我单击停止按钮时无法马上停止程序运行,而是需要等待一段时间才可以完全停止。
  • 在等待期间,如何在执行中途终止While循环
  • 如何中断等待(ms)时间函数。

解决方案

您无法在等待(ms) 执行时马上停止VI程序。尽管如此,仍有一些方法可让您停止While循环而无需等待很长时间。

 

While循环中使用等待(ms)定时VI时,这将允许处理器先执行其队列中的其他任务,然后再次返回检查While循环。因此,建议提供一个低数值给等待(ms)定时。如果您希望代码以较慢的速度执行,但仍然能够马上停止While循环,请尝试使用已用时间 Express VI或创建自己的定时器,如FGV Timer论坛示例所示。

 

已用时间 Express VI表示自指定的开始时间以来,已经用去的时间。请输入“目标时间(s)”(默认值为1.000 )以指定在“结束”布尔值转换为“真”之前必须经历的时间。请参考使用此函数的代码示例:

相关信息

为了获得更好的性能,请考虑使用生产者/消费者结构, QMH动态事件。使用这些结构的应用程序处于闲置状态时将有效的降低处理器的工作量;同时这些结构能够使用更有效的机制在有必要时停止运行应用程序。