v2025.April: 状态IDE特性与Cluster参数增强

【v2025.April 精简公告】CSM v2025.April 已发布并推送至 VIPM。本期重点:接口浏览器持续迭代优化、Worker 模式日志查看器崩溃修复、API String 增强 Cluster 自动无 tag 模式支持,以及 INI 插件新增 _include 节引用外部配置文件的能力。

2025 年 4 月的 CSM 更新已经推送到 VIPM。Communicable State Machine Framework - Package List. 如果你觉得 CSM 对你有帮助,请在 GitHub/Gitee 上 star 对应的仓库!也欢迎有经验的 LabVIEW 高手参与到 CSM 的开发中来。

版本亮点

  • 接口浏览器持续迭代(#430#424#425#428),进一步完善 IDE 中多模块管理体验。
  • 修复 Worker 模式下打开日志查看器后终止调用 VI 会导致 CSM 模块洪泛的严重 bug(#436)。
  • 修复消息调用(-&)时清除返回状态会引发错误的问题(#423)。
  • API String 增强:当 Cluster 元素无名称时自动切换无 tag 模式(#80),并新增数据类型检查 VI。
  • INI 插件新增 _include 节支持(#70),可引用外部配置文件,助力模块化配置管理。

按仓库变更

1. Communicable-State-Machine

功能改动(重点)

核心(Core)

  • [fix] #436 修复 Worker 模式下日志查看器打开时终止调用 VI 导致大量 CSM 模块被创建的问题。
  • [fix] #423 若用户在消息调用(-&)中清除了返回状态,现在会抛出 CSM Missing Return State Error

IDE

Addon

  • [update][Loop Support] #435 CSMLS - Define Loop State(s).vi 新增前插(front insert)选项。

工具(Utility)

  • [update] 提示用户 CSM - Internal State Debug Log History.vi 在运行时默认禁用。

2. CSM-API-String-Arguments-Support

功能改动(重点)

  • [update] #80 当 Cluster 中任意元素无名称时,Data To API String Arguments.vi 自动切换为无 tag 模式。
  • [update] 对于 Cluster 类型,参考 Cluster 不要求与输入 Cluster 顺序一致。
  • [add] 新增 API String - Is Supported Datatype.vi,用于检查数据类型是否受支持。

3. CSM-INI-Static-Variable-Support

功能改动(重点)

  • [feature] #70 配置文件现支持 _include 节,可引用外部配置文件,实现配置模块化。
  • [fix] #68 不支持的 API String 数据类型默认不保存到 CSM INI 变量缓存。
  • [add] #71 新增示例 5. Write and Read Configuration.vi

4. CSM-TCP-Router-App

本期 TCP Router 发布了 v2025.April 版本(TCP Router CSM Module & LabVIEW Client API),主要为同步版本标签,具体功能改动详情未公布。

5. 其他仓库

  • CSM-MassData-Parameter-Support:本期无 v2025.April 发布,已忽略。
  • CSM-Continuous-Meausrement-and-Logging:本期无 v2025.April 发布,已忽略。

按功能变更

1. 功能新增

  • INI 插件支持 _include 节引用外部配置文件(#70)。
  • INI 新增示例 5. Write and Read Configuration.vi#71)。
  • CSMLS Define Loop State(s).vi 新增前插选项(#435)。
  • API String 新增数据类型检查 VI API String - Is Supported Datatype.vi

2. 改进优化

  • 接口浏览器持续完善(#430#424#425#428)。
  • API String Cluster 自动切换无 tag 模式(#80),降低使用门槛。
  • API String Cluster 参考 Cluster 顺序不再有限制,使用更灵活。

3. 问题修复

  • 修复 Worker 模式日志查看器导致 CSM 模块洪泛的严重问题(#436)。
  • 修复消息调用中清除返回状态不报错的问题(#423)。
  • 修复不支持的 API String 类型被意外写入 INI 缓存的问题(#68)。

破坏性变更

  • #423:消息调用中清除返回状态的行为现在会主动报错(CSM Missing Return State Error)。如果你的代码存在这种用法,升级前请检查并修正。
  • 其余本期无破坏性变更。

升级指引

  1. 直接通过 VIPM 更新即可完成本次升级。
  2. 重点回归使用 Worker 模式和日志查看器的场景,确认 #436 的修复未引入新的行为变化。
  3. 使用 INI 插件的项目,建议评估 _include 节特性,可将大型配置文件拆分为多个模块化的子配置。

完整变更来源

Release

结尾

欢迎大家使用并提出反馈!如有问题,请在 GitHub 上提交 Issue,或加入社区讨论。