【AMC】异步消息通信框架讲解(三)

         

此模板重复执行以下步骤:

  1. 用户与前面板交互,导致事件处理循环 (EHL) 中的事件结构产生一条消息。LabVIEW 将消息存储在队列中。
  2. 消息处理循环 (MHL) 从消息队列中读取消息并删除该消息。
  3. 消息是与 MHL 中条件结构的一个子图匹配的字符串。因此,读取消息会导致条件结构中相应的子图执行。该子图称为 消息图 ,因为它对应于一条消息。
  4. 可选地,消息图生成另一条消息,并将其存储在消息队列中。
     

注意:

  • EHL 是生产者循环,MHL 是消费者循环,这些循环并行运行,并通过消息队列连接,从而方便循环之间的通信。
  • 消息队列是用于存储消息以供使用的 LabVIEW 队列。由于 EHL 将消息发送到此队列而不是直接发送到 MHL,因此 EHL 可以在 MHL 不使用消息时生成消息。每个消息队列都属于单个 MHL。
  • MHL 每次迭代都会读取消息队列中最旧的消息,然后执行相应的消息图。虽然 MHL 主要消费消息,但它也可以生成消息。
  • 您的应用程序可以有多个 MHL。每个 MHL 对应应用程序执行的一项任务,例如获取或记录数据。
  • 请注意上图中的 UI 数据集群。此集群是 MHL 中每个消息图都可以访问和修改的数据。在此模板中,集群被定义为 typedef,UI Data.ctl。每个 typedef 都属于单个 MHL。

QMH 程序示例

请参阅连续测量和记录样本项目,了解将 QMH 模板适配到测量应用程序的示例。

  1. 启动 LabVIEW 并选择“创建项目”。从“创建项目”对话框中,启动“连续测量和记录”示例项目。
  2. 在项目资源管理器窗口中,打开并运行Main.vi。
  3. 单击前面板控件并观察显示指示器更新。
  4. 查看框图。注意事件处理循环、消息处理循环以及任务之间的交互。
  5. 使用突出显示执行来观察框图循环之间发送的数据流和消息流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值