CSM API:工具VI(Utility VIs)
工具VI(Utility VIs)
CSM - Compact Multiple States.vi
将多个状态紧凑成单个字符串以供输入使用
– 输入控件 –
- Multiple States: CSM状态字符串数组
– 输出控件 –
- States: 包含多行CSM状态字符串的字符串
CSM - Break Down Multiple States String.vi
将包含多行CSM状态字符串的字符串切割成CSM状态字符串数组
– 输入控件 –
- States: 包含多行CSM状态字符串的字符串
– 输出控件 –
- Multiple States: CSM状态字符串数组
CSM - Build Exit Messages of CSMs.vi
输入CSM模块名称,拼接生成退出消息(“Macro: Exit”)。
Ref: 消息拼接API
– 输入控件 –
- CSMs: CSM模块名称数组
- State with Arguments(“Macro: Exit“): 退出消息
– 输出控件 –
- States: 拼接生成的CSM消息字符串
CSM - Filter Duplicate Messages By Name.vi
过滤重复的消息,只保留最新的消息。
Ref: 消息拼接API
– 输入控件 –
- States: 输入的消息字符串
- Whole Messages in Check?(T): 是否检查整个消息字符串。如果是 FALSE,则只检查消息名称。
– 输出控件 –
- Filtered States: 过滤后的消息字符串
CSM - Filter Messages to Non-Existing Modules.vi
过滤发送给不存在的模块的消息。 这个VI中会使用 CSM - List Modules.vi 获取所有活动的CSM模块,然后过滤掉发送给不存在模块的消息。
– 输入控件 –
- States: 输入的消息字符串
– 输出控件 –
- Filtered States: 过滤后的消息字符串
CSM - Remove Duplicated Following Messages.vi
– 输入控件 –
- Current State:
- Remaining States:
– 输出控件 –
- Remaining States Left:
CSM Data Type String to Enum.vi
CSM Data Type String.vi
– 输入控件 –
- Data:
– 输出控件 –
- Data Type String:
Replace Tag with Array.vi
– 输入控件 –
- Enum:
- replace string:
- single-line text:
– 输出控件 –
- States:
CSM Data Type String to Enum(RefnumEnum).vi
– 输入控件 –
- Data Type String:
– 输出控件 –
- Array Dim:
- Secondary Type:
- Primary Type:
CSM Data Type String to Enum(String).vi
– 输入控件 –
- Data Type String:
– 输出控件 –
- Array Dim:
- Secondary Type String:
- Primary Type:
CSM Data Type String to Enum(TypeEnum).vi
– 输入控件 –
- Data Type String:
– 输出控件 –
- Array Dim:
- Secondary Type:
- Primary Type:
Build Error Cluster.vi
创建一个错误簇(error cluster),以标准 LabVIEW 的方式从调用 VI 的调用链中构建源字符串。构建的源字符串形式为: “调用的 VI 在 调用 VI 的调用者->调用 VI 的调用者的调用者->等等…->等等…” 可选的 ‘String to Prepend to source (“”)’ 字符串输入可用于在源字符串中添加额外的描述信息。如果存在这个字符串,它将用括号括起来,并添加到源字符串之前。
– 输入控件 –
- code: 错误码
- String to Prepend to source (“”): 错误信息字符串
Build Internal State String.vi
构建包含 JKI 状态机状态、参数等信息的字符串。
– 输入控件 –s
- State: 状态字符串
- Arguments (“”): State的参数
- Arg-State (“”): 发送此消息的模块在发送此消息时处于的状态
- Source (“”): 发送此消息的模块名称
– 输出控件 –
- CSM Message String: 拼接生成的 CSM 消息字符串
String History Cacher.vi
保存当前输入的字符串到缓存,缓存的历史字符串,当超出最大长度限制时,最先进入的缓存字符串将被覆盖。用于调试CSM的历史状态。
– 输入控件 –
- String: 待缓存字符串
- length: 缓存的历史字符串最大字符串长度
- Include Timestamp(F): 是否在每行开头包含时间戳。
– 输出控件 –
- String Cache: 缓存的历史字符串
Trim Both Whitespace.vi
开头、结尾或两者同时移除所有 ASCII 空白字符(空格、制表符、回车和换行)。
– 输入控件 –
- string: 待处理字符串
– 输出控件 –
- trimmed string: 处理后的字符串
uuid.vi
根据标准方法生成 Universally Unique Identifier(UUID)。 例如:
- 59703F3AD837
- 106A470BA5EC
- 9B781DB313AF
– 输出控件 –
- UUID: 生成的 UUID
Random Change Flag.vi
生成一个随机的数值,用于标记状态的变化,CSM中为了提高效率,有些地方的缓存(cache)利用这个标记来判断是否需要更新。
– 输出控件 –
- Random Change Flag: 生成的随机数值
Global Log To String.vi
全局日志(Global Log)数据簇转换为字符串。
– 输入控件 –
- Log: 全局日志数据簇
– 输出控件 –
- Log String: 全局日志字符串
U8 Data to Hex Str.vi
– 输入控件 –
- u8 Data[]:
– 输出控件 –
- HEX String (0-9,A-F):
This line appears after every note.
Notes mentioning this note
There are no notes linking to this note.
- 2025-01-10 — 状态订阅
- 2025-01-10 — Async-Message
- 2025-01-10 — Sync-Message
- 2025-01-10 — 取消状态订阅
- 2025-01-10 — CSM API:工具VI(Utility VIs)