Skip to content

Latest commit

 

History

History
199 lines (129 loc) · 4.5 KB

VI Description(zh-cn) - 10. 工具VI(Utility VIs).md

File metadata and controls

199 lines (129 loc) · 4.5 KB

CSM API

工具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):