xyl4804 发表于 2009-3-7 19:27:05

几种LabVIEW 编程框架介绍

本帖最后由 xyl4804 于 2009-3-8 16:44 编辑

本着取之论坛,服务论坛的精神,结合我所做的测试项目,在这里总结几种比较常用的LabVIEW 编程框架,和大家分享,希望对LabVIEW爱好者有所帮助。待完善的地方望高手指正。
第一种:基于队列和事件管理的多线程编程框架。这个框架主要会用到:事件结构,基于队列的状态机,生产者消费者模式,由用户事件管理的错误处理机制,等。

这个框架是我目前项目中最常用的。它由三个主线程和若干个硬件线程组成。
这三个主线程包括:事件管理循环,管理所有任务的所有状态;主循环,完成除硬件任务以外的所有任务,例如,数据库存储,回放,菜单操作等等;显示循环,负责显示程序中需要显示的所有数据;若干个模块化硬件循环,负责执行由事件控制的硬件任务。

程序框图如下。
To Be Continued...

20090308,
下面附件中有这个程序框架的子单元,其他循环也都是按照这种思路添加进去的。
这个框架实际就是多个生产者/消费者(事件)结构的组合,这些结构由一个事件循环统一管理。另外,每一个循环又都是基于队列的状态机,这样一来除了事件结构外,每一个循环也能控制自身的状态队列。

baby 发表于 2009-3-7 19:56:33

谢谢分享。看来又有连载的好东东可以学习。

baby 发表于 2009-3-7 19:56:57

方便的话可以传些程序更好看。

xyl4804 发表于 2009-3-8 15:35:53

3# baby

好的,我整理一下。

CR333 发表于 2009-3-9 02:50:32

图太乱,看不清。偶图省事,全搞成全局变量了。线程之间都是全局变量交互。

zhilong 发表于 2009-3-9 09:18:15

学习一下!!!!!

foolooo 发表于 2009-6-8 23:42:53

不知道楼主什么时候出第二部?

zyplay 发表于 2009-6-9 15:05:38

谢谢分享

wdyjz 发表于 2009-6-9 19:07:59

NI 的生产者和消费者结构在你这个图上表现的淋漓尽致。

3918294 发表于 2009-6-26 15:20:12

哪位高手做出程序来看看啊?

fjczd 发表于 2009-6-26 16:33:25

图太乱,看不清。偶图省事,全搞成全局变量了。线程之间都是全局变量交互。
CR333 发表于 2009-3-9 02:50 http://www.cpubbs.com/bbs/images/common/back.gif
这不是个好办法

foolooo 发表于 2009-7-21 00:02:20

请问各位,按照楼主的框架如果子循环中出现错误,如何停止event handling循环?其他循环可以通过enqueue “quit” element来实现。

foolooo 发表于 2009-7-21 00:40:53

12# foolooo
哦,用event ref来结束……刚看到。

flybird 发表于 2010-3-7 19:43:58

先学习下,谢谢楼主和各位大虾
页: [1]
查看完整版本: 几种LabVIEW 编程框架介绍