• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > Labview 虚拟仪器 > 关于labview的队列的简单领悟

关于labview的队列的简单领悟

录入:edatop.com    点击:
无意中发现,labview中的队列在编程中简约且实用。用白话描述一下队列就是:创建一个栈,先入先出的栈,通过元素如队列将该元素压进栈,通过元素出队列将元素弹出。同时,可以设置队列的大小,当队列满的时候,协调队列的输入和输出,让输入(也就是元素如队列)等待,直到出现了存储空间,才执行输入。
下面是队列的函数,包括:

我们看一个典型应用:(这个是labview帮助里面的例子)



前面产生一个随机数,压进队列,后面的循环从队列中读出元素。这两个循环可以设置不同的循环时间。
当入队列的时间快于出队列的时间,队列很快就会满掉,此时,队列调节入队列循环等待,当有空间时,执行如队列循环。当入队列时间小于出队列时间时,后一个循环等待队列中存在元素时,才能够读取元素(元素出队列)。
t入
反之:


队列先解释道这了。
我现在就想试试字符串是不是可以压进队列,同时读出来会是什么样子。下面的实验就是:
我谢了这样的一段代码,是想让字符串输入队列再读出来。框图如下:

发现这段代码执行不下去。一直在执行但是不能结束。
经过分析,我认为是这样的:由于我把队列的大小设置成为2,而我需要雅茹三个元素,所以,必须等待有一个元素被读取之后,才能将第三个元素压进去。而我设计的这个程序有问题,问题在于:我的后一个循环的队列引用是从第一个循环传过来的,第一个循环没执行完,那么第二个循环就无法执行。但是第一个循环要想结束,必须需要将第三个元素压入,但是条件是第二个循环读出来一个元素。他们互相限制,自然就死循环了。
于是把程序框图改成:

队列引用菜前面直接引过来,就不会出现这样的问题。并且所有的三个元素没有丢失。能够全部压进队列并被独取出来。
另外:如果设置的是字符串的话,确实是以字符串为单位的。压入的时候什么样子,读出来就是什么样子。就像一个字符串数组一样。
OVER

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:LabView利用IMAQ来采集笔记本自带摄像头 像
下一篇:labview栈和队列

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图