Skip to content

Latest commit

 

History

History
167 lines (106 loc) · 5.24 KB

File metadata and controls

167 lines (106 loc) · 5.24 KB

TagRouter — CSM 模块接口文档

⚠️ AI 自动生成,还未经过人工审阅

本文档由 AI 基于代码仓库结构和脚本上下文自动生成,可能包含不准确或遗漏的信息。请在合并前进行人工核查。


功能简述

TagRouter 是一个 CSM 模块,用于将波形数据转换为 TagDB 标签数据(Waveform → TagDB)。

该模块订阅上游的波形数据广播,提取波形的属性信息(如峰值、频率、均值等),并将这些特征值写入 TagDB 标签数据库,供 TagDB-UI 看板模块展示。


模块信息

属性
LabVIEW 版本 ≥ 2020
支持的操作系统 Windows
支持 RT ❌ 不支持
支持 64-bit ✅ 支持
所属模块组 CSM-TagRouter.lvlib

依赖项

依赖 类型
Communicable-State-Machine 必须
CSM-API-String-Arguments-Support 可选
CSM-MassData-Parameter-Support 必须
TagDB 必须

API 接口(消息接口)

以下是外部调用者可以发送给本模块的消息。

API: Initialize

初始化 TagRouter 内部资源和 TagDB 连接。

  • 参数APIStringString:配置文件路径
  • 响应:N/A

API: Start

启动 TagRouter 数据处理。

  • 参数:N/A
  • 响应:N/A

API: Stop

停止 TagRouter 数据处理。

  • 参数:N/A
  • 响应:N/A

API: Update Waveforms

接收上游波形数据,提取属性后写入 TagDB。

  • 参数MassDataWaveform[]:一维波形数据数组
  • 响应:N/A

API: Set TagDB

设置目标 TagDB 引用,用于标签数据写入。

  • 参数APIStringString:TagDB 标识符(如 tagdb
  • 响应:N/A

参数类型说明

类型 说明
HexStr 将 LabVIEW Variant 序列化为十六进制字符串,内置支持
ErrStr 将错误信息编码为字符串,内置支持
APIString 支持嵌套键值对的纯文本字符串,需要 CSM API String Arguments Support 插件
MassData 内存映射缓冲区,传递 Start:N,Size:M,需要 CSM MassData Parameter Support 插件

注意:接口文档中对 String 类型数据统一使用 APIString 标注。


状态广播接口

本模块不主动广播状态(仅作数据转换路由)。


属性接口

本模块暂无对外暴露的属性。


配置说明

辅助 VI

VI 名称 说明
Waveform-GetAttributes.vi 从波形数据中提取特征属性

Waveform-GetAttributes.vi 负责解析波形数据,提取如 Peak、RMS、Frequency 等特征值并写入 TagDB。


调用限制与注意事项

Important

  • API: Initialize 必须在其他任何 API 之前调用。
  • 必须先通过 API: Set TagDB 设置 TagDB 引用,再接收波形数据。
  • 本模块为单例——同一时间不可运行多个实例。

使用示例

TagRouter 替换为启动模块 VI 时实际使用的名称。

基本生命周期

// 初始化并启动
API: Initialize -@ TagRouter
API: Start -@ TagRouter

// 设置 TagDB 引用
API: Set TagDB >> tagdb -@ TagRouter

// 订阅上游波形数据并路由到 TagRouter
Acquired Waveform@WaveformGen >> API: Update Waveforms@TagRouter -><register>

模块交互图

stateDiagram-v2
direction LR
WaveformGen --> TagRouter : "Acquired Waveform >> API: Update Waveforms"
TagRouter --> TagDB : 写入标签数据
TagDB --> TagDashboard : 看板展示
Loading

备注

  • TagRouter 是波形数据流和 TagDB 标签系统之间的桥梁模块。
  • 波形属性提取逻辑封装在 Waveform-GetAttributes.vi 中,可根据需要扩展属性提取规则。
  • TagDB 引用通过 API: Set TagDB 动态注入,保持模块解耦。