我们在使用LabVIEW进行编程时经常用到引用数值类型,数值引用、队列、通知、集合点等,往往都是创建引用,最后再关闭引用。先看下面的例子:
这里写了两个VI,左边VI是创建一个队列,并将队列写入全局变量。右边的VI是使用这个全局变量,一个循环将i插入队列,另外一个是读出队列元素,没有使用销毁队列函数,运行起来:
可以正常的跑起来,全局变量中的队列引用是有效的。
由于左边的VI已经创建完队列,并将队列引用写入全局变量,若关闭左边的VI,是不影响右边VI运行的,因为队列引用在全局变量中,只要不使用销毁队列函数,队列引用是一直存在有效的,右边的VI是可以正常运行的。实验证明这个是不对的,只要我们停掉左边的Vi,右边的队列引用立刻无效。
LabVIEW不管你是否使用销毁队列函数,只要创建队列的VI停止运行,会自动销毁该队列。
这个问题在编程过程中一定注意,创建引用的Vi一定是运行状态,否则以后的引用是无效的。
这个问题大家可以做做实验,以免后面使用不当带来困扰!
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/221857.html