广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    LabVIEW-生产者消费者

    来源:网络收集  点击:  时间:2024-04-03
    【导读】:
    本文章将讲解使用“多循环”来解决程序并行运行的问题,那么程序中的两个循环如何进行数据交互和共享呢?最普通的方式是采用全局变量或局部变量,但是当两个循环执行的速率不相等时,必然会造成数据的丢失或重复。如前所述,LabVIEW提供了队列操作函数,允许数据的发送者和接受者之间建立一条缓冲通道,这样就避免了循环不同步带来的影响。工具/原料moreLabVIEW队列双循环1/3分步阅读

    循环1进行0~1随机数采样,循环2读取循环1的随机数局部变量,当两者的采样间隔一样均为1ms的时候,出现了循环次数和总数不一致的现象;1)当循环1的次数大于循环2的次数,表示循环2丢掉了一些数据;2)当循环1的次数小于循环2的次数,表示循环2重复读取了一些数据;

    2/3

    循环1进行0~1随机数采样(采用间隔为10ms),循环2读取循环1的随机数(采用间隔为1ms;循环1的循环次数和数据数组大小远小于循环2的循环次数和数组数组大小,说明循环2采样的数据大部分是重复数据;

    3/3

    循环1进行0~1随机数采样(采用间隔为1ms),循环2读取循环1的随机数(采用间隔为10ms;循环1的循环次数和数据数组大小远大于循环2的循环次数和数组数组大小,说明循环2采样的数据大部分被遗漏了;

    生产者消费者(数据模式)1/8

    将整个生产者和消费者过程与蓄电系统进行类比,在生产者产生数据后,数据不直接送到消费者,因为生产者和消费者的速率不同【供电局并不直接向终端用户供电,因为供电局产生电的速率与用户消耗电的速率并不相同】,此时需要搭建一个放生产者数据的缓冲区域【此时需要建造蓄电池将供电局产生的电输送到蓄电池中】。当消费者需要数据的时候,直接从缓冲区域取【当终端用户需要用电时,直接从蓄电池中获取就可以了】。同理在进行数据显示和分析时直接从数据缓冲区中获取就可以了。

    2/8

    生产者与消费者之间传递的数据是一个连续的sine交流电波形,二者靠大小为20个点的缓冲区连接。右下角是“停止”按钮,用户控制程序的停止执行。例程提供了操作方式控件控制生产者和消费者的数据传递速率,包含五种状态:不生产,只消费、生成快于消费、生成速率等于消费速率、生成慢于消费、只生产,不消费。

    3/8

    LabVIEW代码由3个循环组成,依上而下分别是生产者循环(产生sine数据)、消费者循环(获取sine数据)和状态循环(获得缓存区中数据的数据量)。

    4/8

    1)运行该VI,速度选择“生产者=消费者”,从下图 中可以看出生产者循环和消费者循环的数据是同步的,此时缓冲区内没有数据,也就是说产生的数据都被实时地消耗了。

    5/8

    2)如果再将操作方式设置为“生成者消费者”,可以看出数据缓冲区内将逐渐变满并保持为20个元素。此时生产者的波形将会比消费者多20个数据点(这些点保存在数据缓冲区中),如下图所示。

    6/8

    3)当将操作方式变为“不生产,只消费”时,生产者循环将停止生产,而消费者循环将消耗掉缓冲区中的数据直至数据全部消耗完,如下图所示。

    7/8

    4)当将操作方式变为“只消费,不生产”时,生产者循环产生20个数据后将停止生产,如下图所示。

    8/8

    5)当将操作方式变为“生成消费”时,消费者一直在等待生产者的数据,只要生产者产生了数据消费者立刻消费然后等待下一个生产者数据,如下图所示。

    生产者消费者(事件模式)1/4

    将生产者的【枚举+条件结构】改成【枚举+事件结构】,即变成了消费者生产者(事件模式);

    2/4

    见LabVIEW范例;

    3/4

    生产者消费者(事件模式);

    4/4

    生产者消费者(数据模式,见上蓄电池系统);

    注意事项

    生产者消费者速率

    队列的各个函数以及接线端意义

    LABVIEW事件结构生产者消费者队列条件结构
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_415193.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 11:27:36  耗时:0.026
    0.0262s