LabVIEW 自动化测试与工业控制领域衍生出DQMH、AF、JKI SMO、DCAF、Messenger Library、Glued等主流架构框架,适配不同项目规模、开发门槛与硬件场景。各框架基于消息传递、状态机、Actor 模型、事件订阅等核心范式设计,在并发调度、IO 管理、网络通信、开发门槛、扩展性上差异显著,开发者需结合团队技术栈、项目复杂度、实时性需求及硬件平台合理选型,同时规避框架固有设计缺陷与使用误区。

一、核心框架基础背景与定义
LabVIEW 作为图形化编程工具,广泛应用于 ATE 测试、工业 RT 控制、嵌入式采集等场景,随着系统多任务并发、模块化复用需求提升,原生基础架构无法满足中大型项目,社区与 NI 衍生出多款标准化开发框架,分为消息队列类、Actor 模型类、IO 专用类、自定义事件驱动类四大类别,均以解耦模块、统一通信、简化并发为核心设计目标。
二、各框架特点、适用场合与注意事项
1. DQMH(增强队列消息处理器)
核心特点:基于原生 QMH 优化,依托用户事件实现模块异步通信;内置脚本工具、API 调试器,低门槛无需深入 OO 思想;社区生态完善,支持多实例并行。
适用场合:中小型多模块并行测试系统、TestStand 集成项目、新手团队快速开发、老旧代码重构。
使用注意:自定义消息需多位置配置,依赖脚本工具降低重复工作量;复杂层级逻辑易出现耦合,需规范模块接口定义。
2. AF(NI Actor Framework)
核心特点:纯面向对象 Actor 模型,模块完全解耦;支持海量并行进程调度,内存占用优化好;适合高可靠性安全级项目。
适用场合:半导体测试、多工位并发高精度控制系统、大规模分布式异步任务。
使用注意:类结构繁杂,代码阅读与调试成本高;天然适配并发,顺序流程需额外开发调度逻辑,易出现逻辑冗余。
3. JKI SMO(状态机对象框架)
核心特点:状态机与对象结合,兼顾流程顺序控制与模块化;可通过开发规范模拟 Actor 通信模式。
适用场合:流程固定的工控顺序控制、中等复杂度时序逻辑项目。
使用注意:引用类数据易引发竞态条件与隐性 Bug,需严格制定开发编码规则;无原生脚本支持,自定义消息开发效率偏低。
4. DCAF(分布式控制应用框架)
核心特点:专注 CompactRIO 等 RT 硬件 IO 管理,支持标签化配置、CSV 批量管理 IO 点位;适配海量 IO 采集场景。
适用场合:工业现场大规模 IO 监控、cRIO 实时采集控制系统、串行 / Modbus 仪器驱动管理。
使用注意:无内置事件与消息触发器,用户指令触发需借助标签状态变通实现;动态模块开发难度大,底层源码规范性一般,二次维护需自行修复漏洞。
5. Messenger Library(信使库)
核心特点:通用化消息通信框架,支持队列、事件、TCP/UDP 多通信方式;请求 - 回复、发布 - 订阅、散射 - 收集多通信模式;弱类型通用消息,无需频繁定义自定义数据类型。
适用场合:跨进程、跨网络分布式通信项目、中小型自定义 Actor 架构、多协议消息中转系统。
使用注意:运行时类型匹配依赖开发规范,无编辑期类型校验;不强制 OO 设计,大型项目易出现架构混乱。
6. Glued(自定义全局事件驱动架构)
核心特点:基于用户事件发布订阅模型,变体属性承载事件数据;Actor 默认非可重入,便于 RT 调试;支持远程跨目标机 Actor 调度、全局数据只读隔离。
适用场合:定制化中大型 RT 实时测试系统、需本地与远程混合调度的 Actor 项目。
使用注意:架构定制化程度高,无通用社区支持;小项目从零开发易遗漏内置核心特性,建议统一复用模板工程。
7. 通用架构(QMH / 状态机 / SOA 服务架构)
QMH:原生队列消息架构,结构简洁,适合简单异步任务、单模块 UI 交互;注意模块增多后耦合度飙升,不适合大型项目。
SOA 面向服务架构:模块化独立服务,通过类 SCPI 字符串 API 通信,可跨项目移植;适合多子系统拆分的大型平台,需自定义执行引擎调度消息。
三、主流框架功能对比
表格
框架 | 开发门槛 | 并发能力 | 网络通信 | IO 管理能力 | 调试便捷性 | 适合项目规模 |
DQMH | 低 | 中高 | 一般 | 普通 | 优(自带调试器) | 中小大型 |
AF | 高 | 极高 | 中 | 普通 | 差(类结构复杂) | 大型超大型 |
JKI SMO | 中 | 中 | 一般 | 普通 | 中 | 中型 |
DCAF | 中 | 中 | 弱 | 极强 | 中 | 工业 IO 专项 |
Messenger Library | 中 | 高 | 极强 | 普通 | 中 | 分布式通信 |
Glued | 高 | 高 | 强 | 中 | 优(适配 RT 调试) | 定制化中大型 |
四、实际应用案例说明
汽车零部件 ATE 测试:采用DQMH+JKI SMO组合,12 个并行测试模块基于 DQMH 实现消息交互,时序流程控制依托 JKI SMO,适配多工位同步测试,兼顾开发效率与流程稳定性,可无缝对接 TestStand 序列调度。
cRIO 工业实时采集:以DCAF为底层管理数百路模拟量、数字量 IO,上层封装自定义消息子系统弥补无内置事件缺陷,实现 IO 标签配置、数据采集与阈值告警一体化。
分布式远程测控系统:基于Messenger Library搭建,利用 TCP 通信模式实现上位机与多个 RT 目标机消息交互,采用请求 - 回复模式完成指令下发与数据回传,无需定义复杂自定义数据类型。
半导体晶圆测试设备:选用AF 框架,依托其海量并发调度能力,支撑上百个异步 Actor 独立运行,模块完全解耦,满足高可靠、高精度的并行测试需求。
定制化实验室综合测试平台:采用Glued 架构,复用模板工程内置错误、配置、探针专用 Actor,支持本地与远程 RT 设备联动,非可重入设计保障现场调试与故障定位效率。
五、框架选型核心建议
新手团队、快速原型、TestStand 集成优先选DQMH;
高可靠大规模并发、安全关键项目选用AF;
工业海量 IO、cRIO 硬件专属场景必选DCAF;
跨网络、多协议消息通信优先Messenger Library;
有定制化开发能力、RT 混合调度项目可自研Glued 类事件驱动架构;
避免盲目从零搭建架构,小项目也建议复用成熟框架模板,减少后期功能补全与架构重构成本。


客服
小程序
公众号