LabVIEW主VI冻结挂起
当运行LabVIEW MainVI时,它意外冻结、挂起或暂停。
怀疑一个LabVIEW子VI需要很长时间才能执行。
解决方案
此问题的一个可能原因是某个特定的子VI冻结了主VI。
使用Highligh texecution运行代码。
隔离有问题的子VI后,确定子VI不继续执行的原因。这可能是由以下原因引起的,而不仅仅是:
VI属性中的设置会导致在调用子VI时暂停整个VI。
打开子VI。然后,选择文件>>VI属性。
从Category下拉列表中选择Execution,如下所示:
编辑
添加图片注释,不超过 140 字(可选)
执行文件
确保未选中Suspendwhen called,然后按确定。
编辑
添加图片注释,不超过 140 字(可选)
再次运行主VI以检查问题是否已解决。
没有定义条件终端的while循环。不建议在子VI中使用while循环,因为它们会导致主VI意外冻结。但是,如果没有其他方法可以完成某个任务,可以使用全局变量来停止在子VI中运行的while循环。以下代码说明了如何执行此操作。主VI的架构由两个并行运行的while循环组成。第一个专用于更新全局变量,第二个专用于运行子VI。该范式效率低下,因此应仅在严格要求时使用。
主要VI:
编辑
添加图片注释,不超过 140 字(可选)
子VI:
编辑
添加图片注释,不超过 140 字(可选)
设置不正确的事件结构。
确保没有等待事件的事件结构。
确保事件结构放置在循环中,以防需要多次检测事件。否则,事件结构将仅注册第一个控件更改。
无限期等待操作的函数。
默认情况下,大量数据被导入到子VI。
驱动程序有问题。例如,当VISA函数冻结MainVI时。
LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序
上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系我们。