CSM INI-Variable Addon

核心功能 VI

CSM - Populate Configuration Variables.vi

在字符串中填充配置变量。

应用场景: 在CSM的脚本中直接使用INI-Variable变量,或充当CSM消息的参数。

参考范例: 1. Used as parameters parsed by CSM.vi

  • Ref: CSM INI-Variable Addon
  • Ref: CSM INI-Variable变量格式
  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Section Name (“” as Default): 节名,空字符串表示使用默认节。
  • String with INI-Variable: 包含变量引用的输入字符串。

输出控件(Indicators)

  • String: 填充变量后的输出字符串。

CSM - Read Configuration Variable.vim

根据原型读取配置中的变量值。

  • 推荐使用簇作为配置原型,簇中的元素名称对应INI配置文件中的变量名。
  • 如果是其他数据类型,对应的变量名称为Config
  • 如果原型对应的变量在配置中不存在,则根据Write If not found?参数确定是否写入默认值。

应用场景: 直接将INI配置文件中的配置读取成LabVIEW数据。

参考范例: 2. Load the corresponding configuration by providing the prototype.vi

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Configuration Prototype (Cluster Preferred): 配置原型(推荐使用簇)。
  • Section Name (“” as Default): 节名,空字符串表示使用默认节。
  • Write If not found? (F): 如果未找到,是否写入默认值。

输出控件(Indicators)

  • Configuration: 输出配置值。

CSM - Read Cluster Elements From Session.vim

读取配置中的簇数据,数据保存在指定的节(section)中,簇中的元素名称对应节(section)中的键(key)。

  • 如果指定的节(section)不存在,则使用默认节。
  • 如果簇中的元素对应的键(key)不存在,则使用输入原型中的值作为默认值。

应用场景: 直接将INI配置文件中的配置读取成LabVIEW数据。

参考范例: 2. Load the corresponding configuration by providing the prototype.vi

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Cluster: 簇原型。
  • Section Name (“” as Default): 节名,空字符串表示使用默认节。

输出控件(Indicators)

  • Cluster out: 输出簇。

CSM - Read Cluster Elements From Key.vim

读取配置中的簇数据,数据保存在指定的节(section)中的指定键(key),数据以API String格式保存。

应用场景: 直接将INI配置文件中的配置读取成LabVIEW数据。

参考范例: 2. Load the corresponding configuration by providing the prototype.vi

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Cluster: 簇原型。
  • Key: 键名。
  • Section Name (“” as Default): 节名,空字符串表示使用默认节。

输出控件(Indicators)

  • Cluster out: 输出簇。
  • Key Found?: 键是否存在。

CSM - Write Configuration Variable.vim

写入配置变量。

  • 推荐使用簇作为配置原型,簇中的元素名称对应INI配置文件中的变量名。
  • 如果是其他数据类型,对应的变量名称为Config

参考范例: 7. Write and Read Configuration.vi

  • Ref: CSM INI-Variable配置文件路径
  • Ref: CSM INI-Variable缓存机制警告

输入控件(Controls)

  • Configuration: 要写入的配置数据。
  • Section Name (“” as Default): 节名,空字符串表示使用默认节。

输出控件(Indicators)

  • Configuration (dup): 写入的配置数据副本。

Convert API String to Cluster(Default in Session).vim

将API String字符串转换为簇,数据保存在指定的节(section)中,簇中的元素名称对应节(section)中的键(key)。具有明确的优先级层次: CSM API参数>配置文件参数>默认常量参数。例如,这使得将串口初始化参数固定在配置文件中变得非常简单。

  • 初始化时,显式发送的参数具有最高优先级。
  • 若未发送参数,则使用配置文件中的参数。
  • 在没有配置文件参数的情况下,应用默认常量参数。

应用场景: 用于将CSM的参数固化到配置文件中。

参考范例: 3. In CSM API parameters.vi

输入控件(Controls)

  • API String: API String字符串。
  • Section Name (“” as Default): 节名,空字符串表示使用默认节。
  • Type: 数据类型。

输出控件(Indicators)

  • Data: 转换后的数据。
  • error: 错误信息。

Convert API String to Cluster(Default in Key).vim

将API String字符串转换为簇,数据保存在指定的节(section)中的指定键(key)。具有明确的优先级层次: CSM API参数>配置文件参数>默认常量参数。例如,这使得将串口初始化参数固定在配置文件中变得非常简单。

  • 初始化时,显式发送的参数具有最高优先级。
  • 若未发送参数,则使用配置文件中的参数。
  • 在没有配置文件参数的情况下,应用默认常量参数。

应用场景: 用于将CSM的参数固化到配置文件中。

参考范例: 3. In CSM API parameters.vi

输入控件(Controls)

  • API String: API String字符串。
  • Section Name (“” as Default): 节名,空字符串表示使用默认节。
  • Type: 数据类型。
  • Variable Name: 变量名称。

输出控件(Indicators)

  • Data: 转换后的数据。
  • error: 错误信息。

原始配置信息读取与写入

CSM - Read All Variable Names.vi

读取当前内存中所有变量名称。

输入控件(Controls)

  • Permanent Variables Only? (F): 是否仅读取永久变量。

输出控件(Indicators)

  • All Variable Names: 变量名称数组。

CSM - Read Sections.vi

读取当前内存中所有节名称。

输出控件(Indicators)

  • Sections: 节名称数组。

CSM - Read Key Names.vi

读取指定节中的所有键名。

输入控件(Controls)

  • Section Name (“” as Default): 节名,空字符串表示使用默认节。

输出控件(Indicators)

  • Keys: 键名数组。

CSM - Read INI String.vi

读取配置信息字符串。此读取为获取原始的字符串描述,不替换INI变量引用。

应用场景: 需要读取原始的配置信息,而不是替换内部变量引用后的配置信息。

参考范例: 6. Read Nested Variables.vi

输入控件(Controls)

  • Section Name (“” as Default): 节名,空字符串表示使用默认节。
  • Key: 包含变量引用的输入字符串。
  • Default Value: 默认值。
  • Write If not found? (F): 如果未找到,是否写入默认值。

输出控件(Indicators)

  • Value: 替换变量后的输出字符串。
  • Key Found?: 键是否存在。

CSM - Write INI String.vi

写入配置信息字符串。

参考范例: 6. Read Nested Variables.vi

  • Ref: CSM INI-Variable缓存机制警告

输入控件(Controls)

  • Section Name (“” as Default): 节名,空字符串表示使用默认节。
  • Key: 键名。
  • Value: 变量值字符串。

输出控件(Indicators)

  • Key Replace?: 键是否被替换。

多文件支持与配置管理

CSM - Configuration File Path.vi

返回加载的所有配置文件路径。

参考范例: 5. import Config.ini with __include section.vi

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Include All Paths?(F): 是否包含所有配置文件路径。

输出控件(Indicators)

  • Default Config File Path: 默认配置文件路径。
  • All Config Files: 所有配置文件列表。

CSM - Load Configuration Variables From File.vi

从指定文件加载配置变量。如果节名后缀不为空,载入的节名称会加上该后缀。

Section Postfix (“”)主要用于载入多个配置文件但具有相同节的情况。例如: 两个配置文件Hardware1.iniHardware2.ini,都有一个名为Serial的节且内部的Keys相同(表示串口配置),那么后载入的文件中的配置会覆盖先载入的文件中的配置。使用Section Postfix (“”)可以避免节名冲突。

参考范例: 5. import Config.ini with __include section.vi

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Configuration Path: 配置文件路径。
  • Section Postfix (“”): 节名后缀。

CSM - Unload Configuration Variable File.vi

卸载配置变量文件。

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Path: 配置文件路径。

CSM - Mark All Temp Variables as Permanent.vi

将所有临时变量标记为永久变量,并将变量存储到指定的配置文件中。

注意: 虽然已经标记为永久变量,但是如果不使用CSM - Sync Configuration Variables to File VI,依然不会将变量同步到文件中。

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • Path (“” to Use Default File): 配置文件路径,空字符串表示使用默认INI文件。

CSM - Sync Configuration Variables to File.vi

将内存中的变量同步到指定的配置文件中。

注意: 只有永久变量才会同步到文件中,如果想将临时变量写入文件,需要提前将临时变量标记为永久变量。

  • Ref: CSM INI-Variable配置文件路径

输入控件(Controls)

  • All Temp Variable to Default Ini(F): 是否将所有临时变量同步到默认INI文件。
  • Write UnSupported Datatype?(F): 是否写入不支持的数据类型。

CSM - Restore Variable Value.vi

恢复变量值,将所有的永久变量刷新为首次载入的配置值,临时变量不会被修改。

  • Ref: CSM INI-Variable配置文件路径

CSM - Reset to Default.vi

将配置重置为默认值。所有的变量将被清空,所有的配置会从现在加载的配置文件中重新加载。

  • Ref: CSM INI-Variable配置文件路径

实用工具 VI

CSM - Read Log Filter Rules from INI Strings.vi

从配置中读取日志过滤规则。此配置主要配合以下几个VI使用:

  • CSM - Set Log Filter Rules.vi
  • addons\Logger\CSM - Start File Logger.vi

CSM - Read File Logger Configuration from INI String.vi

从配置中读取日志记录配置。此配置主要配合以下几个VI使用:

  • addons\Logger\CSM - Start File Logger.vi