LabVIEW程序设计模式(五)—生产者消费者模式(5)-生产者消费者模式扩展(共5页).doc
《LabVIEW程序设计模式(五)—生产者消费者模式(5)-生产者消费者模式扩展(共5页).doc》由会员分享,可在线阅读,更多相关《LabVIEW程序设计模式(五)—生产者消费者模式(5)-生产者消费者模式扩展(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上LabVIEW程序设计模式(五)生产者/消费者模式(5)_生产者/消费者模式扩展结合状态机模式、事件结构和动态调用技术,能够归纳出针对较复杂应用程序的通用设计模式。对常见的测试测量程序而言,主要由数据采集、数据分析、外围菜单项响应、报表生成、数据显示这五个部分组成。其中数据采集是相对独立和长时间运行的一个模块,可以与其它的模块同时运行。因此,在大多数持续采集的程序设计中需要将它单独作为一个模块运行。与此同时,子程序也需要一条数据通道发送一些反馈命令给主程序。于是可以构成如图 44所示的一个通讯回路。图 44 通讯回路LabVIEW提供了多种主程序与子程序之间的通讯方式
2、,如队列、Reference、事件等。为了介绍这些方式的具体使用方法,将结合最常用的数据采集实例进行阐述。【】本例以“计算机组件测试”为应用介绍消费者和生产者循环的具体使用方法和数据交互过程。例子并不是为了说明计算机组件测试的过程和方法,而是重在强调对该应用而言应该采用什么样的程序设计模式。因此,例子中使用了多种数据交互方式,这些交互方式的选择并不是唯一的,可以根据实际情况选择合适的数据交互方法。假设计算机的整个测试过程由CPU、RAM、CDROM、Power.等等数项子测试项组成,程序需要充分考虑可扩展性要求,使得后期增加新的待测组件时对主程序的影响不大或者没有影响。测试过程应能够实现暂停和
3、提前停止的功能,并且测试过程不受其它界面操作的影响。根据以上的测试要求,可以把整个测试程序分为两个部分:控制部分和执行部分。其中前者是用户主界面,用来响应用户界面事件以及控制测试流程的执行;后者是执行程序,用来根据控制命令运行测试流程并且产生测试结果。系统的结构如图 45所示。图 45 “计算机组件测试系统”结构从上图可以看出,该应用与消费者和生产者模式是相符的,不同的是还涉及到消费者(执行部分)向生产者(控制部分)的数据传输。本例使用的是队列型的生产者和消费者模式,而反向的数据传输使用了“用户自定义事件”和“Reference”方法。当然,也可以使用队列等其它的方式。程序的主界面如图 46所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LabVIEW 程序设计 模式 生产者 消费者 扩展
限制150内