企业展示建设网站,网页制作与设计周记,八里河风景区网站建设设计概述,音乐网站设计总结目录 一、队列范例二、命令簇三、队列应用1.1、并行循环队列1.2、命名队列和匿名队列1.2.1、命名队列1.2.2、匿名队列 1.3、长度为1的队列 队列是一种特殊的线性表#xff0c;就是队列里的元素都是按照顺序进出。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为… 目录 一、队列范例二、命令簇三、队列应用1.1、并行循环队列1.2、命名队列和匿名队列1.2.1、命名队列1.2.2、匿名队列 1.3、长度为1的队列 队列是一种特殊的线性表就是队列里的元素都是按照顺序进出。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为
入队从队列中删除一个队列元素称为
出队。 队列元素遵循先进先出的原则先进去的元素会先出来。在LabVIEW中队列是引用即在创建队列后可以得到队列引用。 直观点来说LabVIEW的子VI里的输入端子如果是传普通变量无论在子VI里怎样操作都不会 影响这个变量本身但如果是传引用子VI里的操作会影响到引用本身。在例子中有直观体现。
一、队列范例
LabVIEW有自带的队列范例可参考 ①帮助→查找范例 ②搜索队列→双击队列 ③双击简易队列 ④前面板如下此范例用于演示怎样在两个并行的循环检传输数据。
在创建队列引用后有可能循环A入队列另外循环B出队列这样循环A就能专门用于接收外部信号循环B则专注于处理需要时间的事务。在项目上循环A可以用于接收PLC等外部信号然后让循环B处理具体事务。 ⑤程序框图如下 获取队列引用也叫做创建队列接线端可以接受名称和数据类型和队列最大值此处名称接线端为空数据类型接线端为布尔量队列最大值默认为-1(无限大)。这里的数据类型决定了这个队列无论在入队列还是在出队列都只能接受布尔量。元素入队列调用这个入队列之后在队列元素缓存就会多一个元素这个时候如果有出队列在等待就会把元素弹出。元素出队列只有一个超时毫秒接线端。 如果不接那么默认就是-1就是永不超时会一直等待直到队列被释放。 如果设置了超时假设设置了100经过100ms没有元素可以弹出(也就是没元素入队列)“元素出队列会执行完一次输出的是控件的默认值此处是布尔量的默认值也就是假”。释放队列引用调用这个后队列就被释放了正在使用这个队列的元素入队列和元素出队列都会报错该范例利用了这个报错来退出循环也是项目上比较常用的退出办法。所有队列相关的VI在程序框图→函数→同步→队列操作
二、命令簇
队列是可以指定数据类型的。在LabVIEW中一般会使用簇来传递数据。簇相当于一个容器可以把各种类型都放到簇里。
程序框图拉出簇 前面板拉出簇 如果要添加变量直接把变量拉进去簇里面就行。常量在程序框图里面添加变量(控件)在前面板添加。此处新建一个比较常用的命令簇里面包含一个字符串标签为cmd一个变体标签为data。字符串作为命令变体作为数据。 程序框图中簇比较多用到的是按名称接触捆绑“按名称捆绑”“接触捆绑”“捆绑” “按名称接触捆绑”/“按名称捆绑”必须要簇里所有元素都有对应的标签。 “接触捆绑”/“捆绑”不需要标签簇内元素从上到下排列。
三、队列应用
1.1、并行循环队列
比较典型的做法有两种 ①通过簇让并行两个循环传递命令和数据运行会弹窗测试然后结束程序。 ②消息循环队列 在范例中有个队列消息处理器双击打开 程序框图如下
在事件处理循环中的事件结构里点击动作 1按钮可以让命令簇入队列在消息处理循环中有对应的出队列可以处理具体事务。在实际应用中由于事件结构如果卡住会导致界面无法再响应外部输入(包括鼠标点击和键盘输入)所以耗时的操作一般放到另外一个循环中处理
1.2、命名队列和匿名队列
1.2.1、命名队列
创建队列的时候可以在名称接线端输入对应名称。 同样名称的队列引用共用一个内存。 创建一个新的vi程序框图如下
在开始新建了一个test名称的队列引用然后在程序框图中用test名称来再创建一次队列引用再把测试字符串入队列。在循环结构里出队列可以把test名称的队列元素弹出也就是测试字符串。
1.2.2、匿名队列
创建队列的时候没有在名称接线端输入对应的名称这里称为匿名队列这种用得较多可以保证每个匿名队列都是独立的。在使用队列比较多的程序里可以直接使用匿名队列这样不用花费时间来起名。 1.3、长度为1的队列
长度为1的队列就是创建队列的时候队列最大值为1数据类型可以是任何类型这里是字符串 由于队列中只有一个元素并且队列作为引用因此在队列里唯一的元素就可以用来充当全局变量。 在写法上还要保证队列里唯一的元素不能删除掉因此在操作该队列的时候
读取元素预览队列元素意思是不弹出队列里的元素仅预览一次。修改元素有损耗元素入队列意思就是队列里面的元素先弹出然后再插入。 注意在创建队列的时候要先插入一个元素。保证在该队列始终有一个元素在内。