发 帖  
原厂入驻New

[经验] LabVIEW简易的程序框架

2020-6-19 15:19:56  412 labview labview程序
分享
4
  一、Master/SlaveDeisgnPattern(主从设计模式)
  如上图模板用于创建主/从模式的应用程序。主循环始终保持执行状态,并向一到多个从循环发送通知,使其执行代码。从循环收到通知后,将连续执行循环内部的代码直到完成任务,然后等待下一个通知。与改模式相比,生产者/消费者模式仅当队列中仍有数据时,消费者循环才会执行。
  在这种模式下,Master循环通过Noti€€Fier(通知器)来控制Slave循环的工作。这种模式有什么用呢?如果是传统的单循环结构,当程序处理代码耗时过长的话,很有可能会造成控制指令响应的滞后。而在主从模式下,Master循环可以用来接收控制指令,Slave循环用来执行相应的代码,从响应上来说,就能够避免长时间不响应的情况出现。
   1.jpg
  二、Producer/ConsumerDesignPattern(Events)(响应事件的生产者/消费者模式)
  如上图该模板用于生产者/消费者模式的应用程序,以事件驱动的方式,生成队列中的项。如需要响应事件实现代码的异步执行,同时不影响用户界面的响应速度,可考虑用该模式替代“用户界面事件处理器”模式。
  这种模式的结构很类似于主从模式,这里的两个循环变成了Producer循环和Consumer循环。在主循环里,用一个EventStructure响应用户的界面操作,每一步操作通过Queue送到Consumer循环里执行。这样,实现了界面和事物代码的分离,有助于代码的模块化设计。
   2.jpg
  三、Producer/ConsumerDesignPattern(Data)(处理数据的生产者/消费者模式)
  该模板用于创建生产者/消费者模式的应用程序。该模板可用于执行诸如数据分析的数据处理,或者在以不均匀速率产生数据的数据源中(如触发采集),当数据可用时对数据进行分析。
  跟前面一种模式基本一样。这种模式一个很典型的应用环境就是高速数据采集和保存。因为高速数采对数据读取速度要求很高,而对磁盘的操作是一件很花时间的事情,用这种模式把两者分开,可以保证数据读取的速度。实际上,这里的Queue也就是起到了一个Buffer的作用,把数据先暂存在内存里,然后一点一点交给硬盘写入。
   3.jpg
  四、QueuedMessageHandler(消息队列处理器)
  这是一个非常有意思的结构,以这种结构为基础,可以做出非常好的程序结构,可读性和紧凑性都非常好。
   4.jpg

柠檬之夏 2020-6-20 08:14:02
这个AF框架讲不错:https://m.youku.com/profile?uid=UNjAxMTY2OTQ3Ng==&sharekey=6a61571f54fd3d81d8d1bd00c500415b5
回复

举报

柠檬之夏 2020-6-20 08:14:50
这个AF框架讲解的不错,大家可以看看
https://m.youku.com/profile?uid=UNjAxMTY2OTQ3Ng==&sharekey=6a61571f54fd3d81d8d1bd00c500415b5
1回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表