主页
技术支持
LabVIEW 主 VI 冻结/挂起
LabVIEW 主 VI 冻结/挂起
更新 Aug 18, 2023
适用于
“适用于”表示本页面提供的解决方案已被证实适用于列出的产品。该方案或同样适用于类似产品或应用。
软件
LabVIEW
操作系统
Windows
问题详述
当我运行 LabVIEW Main VI 时,它意外冻结、挂起或暂停。
我怀疑我的一个 LabVIEW 子 VI 需要很长时间才能执行。
解决方案
此问题的一个可能原因是某个特定的子 VI 冻结了主 VI。
使用 Highlight execution
运行代码。
隔离有问题的子 VI 后,确定子 VI 不继续执行的原因。这可能是由以下原因引起的,而不仅仅是:
VI 属性
中的设置会导致在调用子 VI 时暂停整个 VI。
打开子VI。然后,选择
文件>>VI 属性。
从 Category 下拉列表中选择
Execution,如下所示:
确保
未选中呼叫时暂停
,然后按
确定。
再次运行主 VI 以检查问题是否已解决。
没有定义条件终端的
while 循环。
不建议在子 VI 中使用 while 循环,因为它们会导致主 VI 意外冻结。但是,如果没有其他方法可以完成某个任务,
可以使用全局变量
来停止在子 VI 中运行的 while 循环。以下代码说明了如何执行此操作。 主 VI 的架构由两个并行运行的 while 循环组成。第一个专用于更新全局变量,第二个专用于运行子VI。该范式效率低下,因此应仅在严格要求时使用。
主要VI :
子VI:
设置不正确的
事件结构。
确保没有等待事件的事件结构。
确保
事件结构放置在循环
中,以防需要多次检测事件。否则,事件结构将仅注册第一个控件更改。
无限期等待操作的函数。
默认情况下,大量数据被导入到子 VI。
驱动程序腐败。例如,当
VISA 函数冻结 Main VI 时。
相关信息
相关链接
Programmatically Check if a VI is Running
Event-Driven Programming in LabVIEW
Configuring Events Handled by the Event Structure
Choosing How the Event Structure Monitors for Events
其他支持选项
询问NI社区
在我们的论坛中与其他用户协作
搜索NI社区以寻求解决方案
请求工程师的支持
可能需要有效的服务协议或有效的软件订阅,同时支持选项因国家/地区而异
打开服务请求
了解软件订阅和服务
了解硬件服务计划
Was this information helpful?
Helpful
Not Helpful