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 的开发中来。
- GitHub: https://github.com/NEVSTOP-LAB
- gitee: https://gitee.com/NEVSTOP-LAB
- vipm: Communicable State Machine Framework - Package List
- VIPM 打包好的 Release Package(VIPC) 合集(包含全部 Addon + Examples,可以离线安装): https://pan.baidu.com/s/10fsnFmJpn-P_HLbpH9IFLg 提取码: CSMF
版本亮点
- 接口浏览器持续迭代(#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)。如果你的代码存在这种用法,升级前请检查并修正。 - 其余本期无破坏性变更。
升级指引
- 直接通过 VIPM 更新即可完成本次升级。
- 重点回归使用 Worker 模式和日志查看器的场景,确认 #436 的修复未引入新的行为变化。
- 使用 INI 插件的项目,建议评估
_include节特性,可将大型配置文件拆分为多个模块化的子配置。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2025.April
- CSM-API-String-Arguments-Support: https://github.com/NEVSTOP-LAB/CSM-API-String-Arguments-Support/releases/tag/v2025.April
- CSM-INI-Static-Variable-Support: https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases/tag/v2025.April
- CSM-TCP-Router-App: https://github.com/NEVSTOP-LAB/CSM-TCP-Router-App/releases/tag/v2025.April
结尾
欢迎大家使用并提出反馈!如有问题,请在 GitHub 上提交 Issue,或加入社区讨论。