【小麓讲堂】LabVIEW中队列的使用详解与实战
发布时间:2025-01-08 09:44:47 阅读次数:45

 

理解队列

 

“队列”是在生活中出现最为频繁的数据形式。 生活中各种场景下的排队形式,例如: 银行叫号办理业务、购买火车票飞机票、排队打饭、汽车等待红绿灯然后放行、流水线上下架产品等都属于队列。 与之相反的数据结构是“栈后者堆”,例如: 冲锋枪弹夹里的子弹,先打出的子弹是后装填进去的,堆起的货物,一般先取出来的是后放置的。 而“队列”则是一种先进先出的数据结构,先入队的数据被优先取出,具体工作方式如下图:

LabVIEW中提供的队列函数查找路径为(函数-同步-队列操作),各队列函数的具体功能为:

 

获取队列引用

功能是创建一个队列;

元素入队列

向队列中添加元素;

预览队列元素

返回队列前端的元素且不删除该元素;

获取队列状态

返回队列的当前状态信息(例如,当前队列中的元素个数),也可使用该函数检查队列是否为有效的队列引用句柄。 如队列为无效的队列引用句柄,函数可返回错误代码1;

释放队列引用

功能即释放当前队列引用;

有损耗元素入队列

在队列中添加元素。 如队列已满,函数可通过删除队列前端的元素使新元素入队。 不同于元素入队列函数,该函数可立即执行元素入队操作;

队列最前端插入

这个函数目的为插队,可让该元素获取更高的优先级,这个在一些软件架构中使用比较多;

元素出队列

功能是从队列中取出元素;

清空队列

一次性取出当前队列中所有的元素,返回一个元素数组。

 

队列的实战

 

一、队列的使用顺序要求如下:

1.获取队列引用;

2.元素入队列、出队列等操作;

3.释放队列;

二、创建实例,创建一个生成消费者来演示队列的用法:

1.创建一个工程命名为queue;

2.创建一个VI命名为Product and cost;

3.放置两循环,并在上边循环里添加事件结构;

4.放置获取队列引用并按下图进行连线;

5.前面板添加运行和停止控件以及波形图表;

6.Run按钮值改变事件中添加元素入队列,Stop按钮值改变事件中添加释放队列,下边循环添加;

7.元素出队,并按下图进行连线;

8.在超时事件中添加元素入队,正弦函数计算,按下图进行连线;

9.点击运行,查看效果。

 

LabVIEW队列的作用

LabVIEW队列常用于解决多任务并发处理的问题,它被广泛应用于科学研究、工程项目和自动化控制等领域。 不仅可用于实时数据处理,能在对大量数据进行实时采集和处理的应用中保证数据的处理和分析结果的准确性; 还可以用于消息传递和任务调度,提高并发系统的稳定性和性能。 此外,LabVIEW队列还可以用作缓冲区,来实现数据的缓冲和异步处理; 用于事件驱动和反馈控制,调整系统的参数和行为,实现闭环控制; 以及用于数据共享和资源管理,来提高系统的效率和可靠性。

 

注意事项

1.使用顺序一定是先创建队列,后使用队列;

2.当队列完成使用或程序退出时需要释放掉,以免内存泄漏。

 

×
联系客服