找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 3389|回复: 13

几种LabVIEW 编程框架介绍

[复制链接]
发表于 2009-3-7 19:27:05 | 显示全部楼层 |阅读模式
本帖最后由 xyl4804 于 2009-3-8 16:44 编辑

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

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

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 3经验 +32 收起 理由
飞雨天 + 8 赞!!!
foolooo + 4 期待下集
baby + 20

查看全部评分

发表于 2009-3-7 19:56:33 | 显示全部楼层
谢谢分享。看来又有连载的好东东可以学习。
回复 顶

使用道具 举报

发表于 2009-3-7 19:56:57 | 显示全部楼层
方便的话可以传些程序更好看。
回复 顶

使用道具 举报

 楼主| 发表于 2009-3-8 15:35:53 | 显示全部楼层
3# baby

好的,我整理一下。
回复 顶

使用道具 举报

CR333 该用户已被删除
发表于 2009-3-9 02:50:32 | 显示全部楼层
图太乱,看不清。偶图省事,全搞成全局变量了。线程之间都是全局变量交互。
回复 顶

使用道具 举报

发表于 2009-3-9 09:18:15 | 显示全部楼层
回复 顶

使用道具 举报

发表于 2009-6-8 23:42:53 | 显示全部楼层
不知道楼主什么时候出第二部?
回复 顶

使用道具 举报

zyplay 该用户已被删除
发表于 2009-6-9 15:05:38 | 显示全部楼层
回复 顶

使用道具 举报

发表于 2009-6-9 19:07:59 | 显示全部楼层
NI 的生产者和消费者结构在你这个图上表现的淋漓尽致。
回复 顶

使用道具 举报

发表于 2009-6-26 15:20:12 | 显示全部楼层
哪位高手做出程序来看看啊?
回复 顶

使用道具 举报

发表于 2009-6-26 16:33:25 | 显示全部楼层
图太乱,看不清。偶图省事,全搞成全局变量了。线程之间都是全局变量交互。
CR333 发表于 2009-3-9 02:50

这不是个好办法
回复 顶

使用道具 举报

发表于 2009-7-21 00:02:20 | 显示全部楼层
请问各位,按照楼主的框架如果子循环中出现错误,如何停止event handling循环?其他循环可以通过enqueue “quit” element来实现。
回复 顶

使用道具 举报

发表于 2009-7-21 00:40:53 | 显示全部楼层
回复 顶

使用道具 举报

发表于 2010-3-7 19:43:58 | 显示全部楼层
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 07:49 , Processed in 0.060254 second(s), 15 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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