2 队列消息处理器.pdf

  • 浏览量:2286
  • 下载量:101
  • 资料大小:383.73 KB
  • 日期:2015-02-06
  • 上传者:小雨儿
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    队列消息处理器
    “队列消息处理器(qmh)”模板便于并行执行多段代码,以及在段与段之间发送数据。
    每段代码表示一个任务,如采集数据。其设计模式和状态机相似。这种设计模式可以
    将每个任务分成多个状态。
    qmh 模板是生产者/消费者设计模式的一种实现,其中用户界面(生产者)负责生成
    消息,任务(消费者)负责处理消息。但在qmh 模板中,也可从消费者循环生成消
    息。
    该模板包含一个生产者循环和一个消费者循环。用户可根据需求添加消费者循环。
    范例
    关于修改本模板以用于测量应用程序的范例,见创建项目对话框中的“连续测量和记
    录”范例项目。
    开发者走查
    关于本模板开发者走查的详细信息见ni.com。
    系统要求
    labview 基础版、完整版或专业版开发系统
    使用条件
    omh 模板用于多个任务并行执行的应用程序,且速率通常各不相同。例如,连续采集、
    记录并显示两个信号(一个rs-232 信号和一个模拟信号)的应用程序。这些信号发
    生的速率各不相同,因此应用程序必须包含两个并行运行的循环。此外,每个循环分
    为以下状态:
     初始化数据采集硬件
     采集数据
     将采集数据记录至磁盘
     在波形图表中显示采集到的数据
     将硬件设置为安全状态
     停止数据采集并关闭硬件
    该应用程序需要一个交互式用户界面,即应用程序执行其他命令时,用户可以单击按
    钮。因此,应用程序需要第三个并行循环,用于持续监控前面板事件,例如下列命令:
     开始rs-232 采集
     停止rs-232 采集
     启用rs-232 记录
     禁用rs-232 记录
     开始模拟数据采集
     停止模拟数据采集
     启用模拟数据记录
     禁用模拟数据记录
    qmh 模板提供一个编写此类应用程序的起点。
    概述
    该模板重复执行下列步骤:
    1. 用户与前面板交互,导致事件处理循环(ehl)中的事件结构生成一个消息。
    labview 将消息存储在队列中。
    2. 消息处理循环(mhl)从消息队列中读取消息,将消息清除。
    3. 消息本身是一个字符串,匹配mhl 条件结构的一个分支。因此,读取消息将
    执行条件结构中对应的分支。该分支对应于一个消息,因而被称为消息框图。
    4. (可选)消息框图生成另一个消息,存储在消息队列中。
    注:
     ehl 为生产者循环。mhl 为消费者循环。这两个循环并行运行,且由消息队
    列连接,便于循环之间进行通
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换