v2025.March: IDE消息功能与接口浏览器

【v2025.March 精简公告】CSM v2025.March 已发布并推送至 VIPM。本期重点:全新接口浏览器对话框统一管理项目中所有 CSM 模块、字符串常量 RCM 新增脚本编辑器、API String 支持 VISA/IVI/Tag 数据类型,以及 INI 插件新增 UTF-8/GB2312 编码支持。

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

版本亮点

  • 新增接口浏览器对话框(Interface Browser Dialog,#399),在 IDE 中统一浏览和管理项目中所有 CSM 模块,大幅提升多模块项目的开发体验。
  • 字符串常量 RCM 新增脚本编辑器#396),方便直接编辑 CSM 脚本。
  • 新增列出子模块名称 API(#406)、设置同步消息回复超时 API(#392)等多项新 API。
  • API String 新增 VISA/IVI/Tag 数据类型支持(#78)。
  • INI 插件新增 UTF-8 与 GB2312 编码支持(#66)。
  • TCP Router 新增异步消息/注册/注销支持(#4)。

按仓库变更

1. Communicable-State-Machine

功能改动(重点)

IDE 功能(重要)

  • [add] #399 新增”接口浏览器对话框”,用于在 IDE 中管理项目中所有 CSM 模块。
  • [add] #396 在字符串常量的 RCM 中新增”脚本编辑器”。

核心(Core)

  • [update] #413 若消息调用期间发生错误,且 Error Handler 中无响应,调用方仍能收到原始消息响应,而不会阻塞。
  • [fix] #411 修复系统级模块状态注册的问题。

API

  • [add] #406 新增列出子模块名称的 API。
  • [add] #392 新增设置同步消息等待回复超时时间的 API。
  • [add] #394 新增可刷新 CSM 消息队列的边界情况 API。
  • [update] CSM - Module VI Reference.vi 现在会缓存 VI 引用。
  • [update] #390#391 重构调板与图标。感谢 @ZhaoLi-an。
  • [update] 移除非 CSM 支持 API 的 inline,减少加载时间。
  • [fix] 修复多个同步消息在队列中时 CSM - Module Status.vi 消息数量计数错误的问题。

模板(Template)

  • [update] #389UI: Front Panel State 中选择大小写不敏感匹配模式。感谢 @ZhaoLi-an。

Addon

  • [fix][CSMLS] #419 修复带 loop support 的 macro 消息无法获取 resp/async-resp 的问题。感谢 @wulei2LabVIEW。
  • [fix][CSM File Logger] 如果日志文件路径不存在,现在会递归创建所有必要目录。

工具(Tool)

  • [add] #417 新增启用”保留连线值”(retain wire value)选项的工具。
  • [add] #408 在 Debug Console 和日志查看器中新增 RCM,可直接跳转到日志对应的 CSM 状态。
  • [update] Debug Console 提供选项,可自动将 safe string 转换为普通字符串。
  • [update] #404#403#402 更新多项 RCM 条目。
  • [fix] #420#421 小幅 bug 修复。感谢 @wulei2LabVIEW。

2. CSM-API-String-Arguments-Support

功能改动(重点)

  • [add] #78 新增 VISA/IVI/Tag 数据类型支持。

3. CSM-INI-Static-Variable-Support

功能改动(重点)

  • [update] #66 支持 GB2312 和 UTF-8 编码的 INI 文件。
  • [update] #64 更新文档与示例。

4. CSM-TCP-Router-App

功能改动(重点)

  • [add] #4 支持异步消息、注册与注销。
  • [update] #8 移除 GlobalStop Library,支持多个客户端实例同时运行。

5. CSM-Continuous-Meausrement-and-Logging

功能改动(重点)

  • [update] #19 提示用户使用 CSM 工具进行调试。

6. 其他仓库

  • CSM-MassData-Parameter-Support:本期无 v2025.March 发布,已忽略。

按功能变更

1. 功能新增

  • 接口浏览器对话框(Interface Browser Dialog),统一管理项目中所有 CSM 模块(#399)。
  • 字符串常量 RCM 脚本编辑器(#396)。
  • 列出子模块名称 API(#406)。
  • 设置同步消息回复超时 API(#392)。
  • 刷新 CSM 消息队列边界情况 API(#394)。
  • API String 支持 VISA/IVI/Tag 数据类型(#78)。
  • INI 插件支持 GB2312/UTF-8 编码(#66)。
  • TCP Router 支持异步消息/注册/注销(#4)。

2. 改进优化

  • CSM - Module VI Reference.vi 缓存 VI 引用,避免重复查找。
  • 调板与图标重构,界面更整洁(#390#391)。
  • Debug Console 新增 safe string 自动转换与日志跳转 RCM(#408)。
  • TCP Router 移除 GlobalStop Library,支持多客户端并发(#8)。
  • CSM File Logger 自动递归创建日志路径目录。

3. 问题修复

  • 修复系统级模块状态注册问题(#411)。
  • 修复多同步消息时消息数量计数错误。
  • 修复 CSMLS 宏消息无法获取响应的问题(#419)。

破坏性变更

本期无破坏性变更。

升级指引

本期升级无特殊操作,直接通过 VIPM 更新即可。

如果项目使用了同步消息,可以考虑使用新增的超时设置 API(#392)为关键消息设置合理的超时值,提升系统健壮性。

完整变更来源

Release

结尾

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