v2025.February: 维护更新与DQMH模板
【v2025.February 精简公告】CSM v2025.February 已发布并推送至 VIPM。本期亮点:新增 DQMH 风格模板将 UI 处理器移出 CSM 消息循环、系统级模块自动从 List Module 中排除、新增多项开发辅助工具,以及 INI 插件重构所有示例。
2025 年 2 月的 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
版本亮点
- 新增 DQMH 风格模板(#386),将 UI 事件处理器从 CSM 消息循环中独立出来,结构更清晰。
- 以
.开头的模块名现自动识别为系统级,不再出现在CSM - List Module.vi的结果中(#379)。 CSM - Forward States to CSM.vi修复后可正确触发用户事件,打破事件结构等待(#387)。- 新增多项开发工具:
Make Bent Wire Straight.vi、Go to State RCM、JKISM State Editor 修复工具等(#322、#381、#374)。 - INI 插件重构全部示例(#59),同时修复数字后跟反斜杠被误解析为 ASCII 码的问题(#60)。
按仓库变更
1. Communicable-State-Machine
功能改动(重点)
核心(Core)
- [add] #379 以
.开头的模块名识别为系统级,CSM - List Module.vi默认将其排除。 - [update] 移除
Parse State Queue++.vi的 inline 选项,减少 CSM 模块加载时间。 - [update] #288 CSM 现在在处理
Macro: Exit之前先停止循环。 - [fix] #387
CSM - Forward States to CSM.vi现在会生成 notify 用户事件,以打破事件结构的等待状态。
模板(Template)
- [add] #386 新增 DQMH 风格模板,将 UI 处理器移出 CSM 消息循环。
工具(Tool)
- [add] #322 在 CSMHelper 中新增
Make Bent Wire Straight.vi。 - [add] #381 新增工具,用于修复 CSM 的 JKISM State Editor RCM 条目。
- [add] 新增工具,用于在函数根调板中创建 CSM 调板。
- [add] #374 为字符串常量新增 “Go to State” RCM。
- [update] 新增 Exit 工具栏按钮,向选定 CSM 模块发送
Macro: Exit。 - [update] #384 适配 jkism 2024 的变更,修复 State Editor RCM 相关问题。
CSM Loop Support
- [update] 将所有 API 改为子程序(subroutine)。
- [obsolete] #288
CSMLS - Add Exit State(s) with Loop Check.vi已不再需要,标记为废弃。
文档与图标(简述)
- [fix] 小幅文档修复(#380、#383)。
- [update] 更新版权年份(#382)。
- [update] 改进安装窗口并置于最顶层。
- [add] 新增依赖检查、VI 路径长度检查、CSM RCM 依赖验证等测试用例(#373)。
2. CSM-INI-Static-Variable-Support
功能改动(重点)
3. CSM-TCP-Router-App
功能改动(重点)
- [add] 为客户端新增 IP 地址/端口输入对话框。
- [update] 更新连接信息显示。
- [update] 更新 Server/Client VI 图标。
- [fix] 输入
bye后,由于服务端主动关闭连接,客户端现在会正确退出。 - [fix] 小幅修复(#5)。
4. 其他仓库
- CSM-API-String-Arguments-Support:本期无
v2025.Febrary发布,已忽略。 - CSM-MassData-Parameter-Support:本期无
v2025.Febrary发布,已忽略。 - CSM-Continuous-Meausrement-and-Logging:本期无
v2025.Febrary发布,已忽略。
按功能变更
1. 功能新增
- 新增 DQMH 风格 CSM 模板,UI 处理器独立于 CSM 消息循环(#386)。
- 新增
Make Bent Wire Straight.vi开发辅助工具(#322)。 - 新增 “Go to State” 字符串常量 RCM(#374)。
- 新增 JKISM State Editor RCM 修复工具(#381)。
- 新增在函数根调板创建 CSM 调板的工具。
- TCP Router 客户端新增 IP/端口输入对话框。
2. 改进优化
- 系统级模块(以
.开头)自动排除于模块列表(#379)。 - CSM 退出流程改进:先停止循环再处理
Macro: Exit(#288)。 - CSM Loop Support 全部 API 改为子程序,降低调用开销。
- INI 插件全部示例重构(#59)。
3. 问题修复
- 修复
CSM - Forward States to CSM.vi无法打破事件结构等待的问题(#387)。 - 修复 INI 中数字后跟反斜杠被错误解析为 ASCII 码的问题(#60)。
- 修复 jkism 2024 适配导致的 State Editor RCM 问题(#384)。
破坏性变更
CSMLS - Add Exit State(s) with Loop Check.vi已标记为废弃(#288)。如果项目中直接使用了该 VI,请在升级后评估是否需要迁移。- 其余本期无明显破坏性变更。
注意:本次 Core 仓库的 Git tag 为
v2025.Febrary(原始拼写有误,与文件名中的 February 不同),Release 链接请参见下方完整变更来源。
升级指引
- 直接通过 VIPM 更新即可完成本次升级。
- 使用
CSMLS - Add Exit State(s) with Loop Check.vi的项目,请检查是否可移除对该废弃 VI 的依赖。 - INI 插件示例已重构,如有参考旧示例的代码,建议对照新示例验证逻辑。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2025.Febrary
- CSM-INI-Static-Variable-Support: https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases/tag/v2025.Febrary
- CSM-TCP-Router-App: https://github.com/NEVSTOP-LAB/CSM-TCP-Router-App/releases/tag/v2025.Febrary
结尾
欢迎大家使用并提出反馈!如有问题,请在 GitHub 上提交 Issue,或加入社区讨论。