Home
Support
当使用引用节点异步调用时,VI的执行在Open VI Reference Function被挂起
当使用引用节点异步调用时,VI的执行在Open VI Reference Function被挂起
主要软件: LabVIEW Development Systems>>LabVIEW Base Development System
主要软件版本: 2013
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems>>LabVIEW Full Development System, LabVIEW Development Systems>>LabVIEW Professional Development System
问题: 运行或者停止我的LabVIEW程序之后,如果我尝试重新运行程序,LabVIEW程序挂起于Open VI Reference Function
。如果出现这种现象,当你关闭你的项目,LabVIEW将保留在Windows任务栏中,但是允许你回到开始界面。
我如何修复这个问题?
解答: 这是由于异步调用VI时引起的一个问题,这将导致LabVIEW程序在Open VI Reference Function
挂起。当使用Start Asynchronous Call Node
时该问题会出现并且依赖于当应用程序停止时
LabVIEW
去关闭引用。此时即使看起来您的代码已经被停止了,
LabVIEW
的库和类也将保持锁住状态。这个问题被
CAR 492898
追踪。
虽然这个问题可能不会影响所有以这种方式实现的应用程序,
NI
推荐您使用
Close Reference Function
来手动的关闭引用。
注意:如果您可以关闭您的项目并返回到
LabVIEW
的开始界面,那么这种方法不适用于您的代码。在那种情况下,似乎是由于您的一个
VI
没有收到您其他应用程序的停止请求。
执行框架(
Actor Framework)
在
LabVIEW 2013
和之后的版本,执行框架(
Actor Framework
)使用
Start Asynchronous Call Node
加载操作并且特意地把关闭引用依赖于
LabVIEW
。在这种条件下,可能会造成之前的那种现象。
如果您使用执行框架(
Actor Framework
),一个变通的方案是在加载了一个操作后手动的关闭引用,这在附件中的
VI
中已经实现了。把附件中的
VI
添加到
<LabVIEW Directory>\vi.lib\ActorFramework\Actor
目录下,但是要注意把原先的
VI
做好备份以便未来的参考。
以下的
VI
需要根据相应的
LabVIEW
版本替换:
- LabVIEW 2013 and 2013 SP1: Launch Actor.vi
- LabVIEW 2014: Launch Actor Core.vi
相关链接: LabVIEW 2014 Help: Start Asynchronous Call NodeNI Community: Actor Framework
附件: - Actor_Framework_VIs.zip
报告日期: 09/19/2014
最近更新: 01/03/2015
文档编号: 6PIA9ESL
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.