LabVIEW 主 VI 冻结/挂起

更新 Jul 22, 2022

适用于

软件

  • LabVIEW

操作系统

  • Windows

问题详述

  • 当我运行 LabVIEW Main VI 时,它意外冻结、挂起或暂停。
  • 我怀疑我的一个 LabVIEW 子 VI 需要很长时间才能执行。

解决方案

此问题的一个可能原因是某个特定的子 VI 冻结了主 VI。
  1. 使用 Highlight execution运行代码。
  2. 隔离有问题的子 VI 后,确定子 VI 不继续执行的原因。这可能是由以下原因引起的,而不仅仅是:
    • VI 属性中的设置会导致在调用子 VI 时暂停整个 VI。
      1. 打开子VI。然后,选择文件>>VI 属性。
      2. 从 Category 下拉列表中选择Execution,如下所示:
        执行文件
      3. 确保未选中呼叫时暂停,然后按确定。
        图像
      4. 再次运行主 VI 以检查问题是否已解决。
    • 没有定义条件终端的while 循环。不建议在子 VI 中使用 while 循环,因为它们会导致主 VI 意外冻结。但是,如果没有其他方法可以完成某个任务, 可以使用全局变量来停止在子 VI 中运行的 while 循环。以下代码说明了如何执行此操作。 主 VI 的架构由两个并行运行的 while 循环组成。第一个专用于更新全局变量,第二个专用于运行子VI。该范式效率低下,因此应仅在严格要求时使用。
      • 主要VI :
        主VI.jfif
      • 子VI:
        子VI.jfif              
    • 设置不正确的事件结构。
      • 确保没有等待事件的事件结构。
      • 确保事件结构放置在循环中,以防需要多次检测事件。否则,事件结构将仅注册第一个控件更改。
    • 无限期等待操作的函数。
    • 默认情况下,大量数据被导入到子 VI。
    • 驱动程序腐败。例如,当VISA 函数冻结 Main VI 时。
 
 

相关信息