LabVIEW的DQMH 框架

​DQMH(Queued Message Handler 增强框架):全球最受欢迎的LabVIEW 第三方框架,免费开源,专为大型 LabVIEW 应用开发设计,适配 CLAD/CLD 级开发者,基于 NI QMH 模式优化,低门槛且功能完善。

基础术语

(一)通用术语

  1. 进程(Process):持续运行的代码,通常是含一个及以上 while 循环的 VI

  2. 重入性(Reentrancy):同一 VI 的多个实例可同时运行的能力

  3. 应用程序接口(API):逻辑组织的相关函数组

  4. 业务逻辑(Business Logic):非框架自带的应用专属代码,需按规范编写在指定位置

  5. 同步进程(Synchronous Process):有序操作,依赖其他进程完成

  6. 异步进程(Asynchronous Process):独立操作,与其他进程并行运行

  7. 队列(Queue):LabVIEW API,用于进程内 / 进程间数据传递

  8. 事件(Event):LabVIEW API,用于进程内 / 进程间数据传递

  9. 设计模式(Design Pattern):执行同步 / 异步代码的理论机制(如状态机、队列状态机、生产者 / 消费者、QMH)

  10. 架构(Architecture):一种 / 多种设计模式的实际实现,便于异步代码执行(如 JKI 状态机)

  11. 框架(Framework):企业级架构,含文档和工具以提升开发体验(如 DQMH、Actor Framework)

(二)DQMH 专属术语

  1. DQMH 模块(DQMH Module):框架基础构建块,含清晰公共 API 的异步进程(.lvlib 格式),支持单例(非重入)/ 可克隆(重入)

  2. 请求(Request):外部向模块发起的操作指令,基于用户事件实现,可按需返回结果(公共 API 中的 VI)

  3. 广播(Broadcast):模块向外部发送的通知,基于用户事件实现,不依赖外部注册

  4. 主 VI(Main VI):应用的核心 QMH VI

  5. API 测试器(API Tester):测试模块公共 API 的 VI,支持验证模块运行状态,是核心实用工具

  6. 脚本工具(Scripting Tools):框架核心工具,支持模块 / 请求 / 广播的创建 / 重命名 / 删除 / 验证,强制最佳开发实践

NI QMH与 DQMH

NI QMH 痛点 DQMH 优化
进程间通信复杂 保留队列(进程内通信),新增用户事件(进程间通信)
多模块系统扩展性差 模块化设计,脚本工具简化架构级修改
进程 VI 复用性有限 模块独立封装,公共 API 标准化,降低耦合
难支持重入性 原生支持单例 / 可克隆模式,无需手动修改
架构级修改繁琐易出错 脚本工具自动化处理(如新增循环帧)

DQMH 核心特性

  1. 通信机制:进程内用队列,进程间用用户事件

  2. 工具支持:脚本工具自动化框架级操作,模块升级时自动应用 bug 修复

  3. 内置能力:异步编程核心功能(启动 / 停止控制、错误管理、面板管理、调试支持)

  4. 生态优势:活跃开发者社区,DQMH 联盟响应功能需求

  5. 低门槛:极少依赖 LabVIEW 类,QMH 用户易上手

开发者指南

(一)模块开发者

  1. 保持 API 测试器更新,使用脚本工具进行框架级修改,禁止手动修改框架 VI

  2. 全面文档化(模块描述、事件描述),可通过 Antidoc 自动生成项目文档

  3. 可创建模块模板提升开发效率

(二)模块使用者

  1. VIPM 安装的模块可直接在面板调用,非安装模块需从模块.lvlib 的 Public API 文件夹获取请求,从事件结构的事件列表获取广播

  2. 参考 API 测试器 VI 学习 API 用法并验证模块运行状态

相关推荐
qq_10157874174 小时前
labview实现CANOE中Seedkey.dll的调用
labview
业精于勤的牙6 天前
编程环境 | LabVIEW 2024百度云盘中文正式版下载教程
labview
LabVIEW开发9 天前
LabVIEW声学特性航空复合材料裂纹无损检测系统
labview·labview知识·labview功能·labview程序
LabVIEW开发9 天前
LabVIEW开发DC/RF 类自动测试系统
labview·labview知识·labview功能·labview程序
做一个码农都是奢望13 天前
2024 vs 2014 labview的电子表格差异
labview
LabVIEW开发15 天前
LabVIEW开发3ω热导率测试
labview·labview知识·labview功能·labview程序
softs_download16 天前
LabVIEW下载安装图文教程(附安装包,非常详细)
labview·labview下载·labview软件下载安装教程·labview下载教程·labview安装教程·labview下载安装教程·labview下载安装
LabVIEW开发17 天前
LabVIEW中BMP转JPG方法
labview·labview知识·labview功能·labview程序
xqlily17 天前
LabVIEW的特点和优势
labview