v2024.June: 全局日志过滤与参数API增强
【v2024.June 精简公告】CSM v2024.June 已发布并推送至 VIPM。本期带来了响应超时时间可配置功能(#277)、Debug Console 历史记录增强(#278),以及 INI 插件的大规模功能扩充,包括变量操作符、Cluster 读取 API、调试工具等多项重要新增。
2024 年 6 月的 CSM v2024.June 更新已经推送到 VIPM。如果你觉得 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
版本亮点
- 响应超时可配置(#277):同步消息响应超时时间现在可以通过
LabVIEW.ini修改,满足不同部署环境的需求。 - API String 布尔与浮点格式配置:新增独立的布尔字符串设置 API(#43)和浮点精度设置 API(#42),开发者可以按应用需求定制输出格式。
- INI 插件重大扩充:新增变量操作符语法(#20)、Cluster 元素读取 API(#24)、临时变量永久化 API(#21)等多项重要功能。
- API String 标签值对支持(#48):Boolean、Integer、Float、Complex 类型现在支持
tag:value对形式,提升可读性。 - INI 插件调试工具(#33):新增专属调试工具,可在运行时查看和管理所有 INI 变量。
按仓库变更
1. Communicable-State-Machine
功能改动(重点)
- 响应超时可配置(#277):同步消息的响应超时时间现在可通过
LabVIEW.ini文件修改,无需修改代码即可适应不同的网络延迟或系统负载场景。 - Debug Console 历史增强(#278):Debug Console 历史记录条数大幅增加,更长时间的调试历史得以保留。
- 新增关键字支持(#275):
,和;字符已加入关键字列表,增强脚本解析能力。 - CSM - Mermaid Tool 工具按钮:新增工具按钮直接打开 CSM Mermaid 可视化工具。
- 修复 LoopSupport bug(#280):修复了
CSMLS - Remove Loop Tag and previous State(s) to Break.vi中的 bug。
文档与图标(简述)
- 示例更新(#274)。
- 所有内嵌 OpenG 子 VI 标记为子程序(subroutine),减少不必要的执行开销。
2. CSM-API-String-Arguments-Support
功能改动(重点)
- 布尔字符串设置 API(#43):新增独立 API 用于设置 Boolean 类型的真/假字符串表示,支持自定义格式(如
true/false、yes/no、1/0等)。 - 浮点精度设置 API(#42):新增独立 API 用于配置浮点数的输出精度。
- 标签值对支持(#48):Boolean、Integer、Float 和 Complex 类型现在支持
tag:value对形式,使 API String 内容更具可读性。 - 浮点带单位字符串支持(#41):浮点字符串现在支持携带物理单位后缀(如
10.5 mV)进行正确解析。 - 修复 cluster 标签值对模式 bug(#44):修复了 cluster 在
tag:value模式下的多处解析问题。 - 修复模板名称问题(#46、#47):修复了在 “File » New VI” 对话框中模板名称显示错误的问题。
文档与图标(简述)
- 与核心库版本同步更新。
3. CSM-INI-Static-Variable-Support
功能改动(重点)
- 变量操作符语法(#20):
CSM - Populate Configuration Variables.vi支持>> value -><variable>操作符语法,可以将计算结果直接写入变量。 - Cluster 元素读取 API(#24):新增
CSM - Read Cluster Elements From Session.vi和CSM - Read Cluster Elements From Key.vi,简化从配置中读取 Cluster 数据的流程。 - API String 转 Cluster 工具:新增
Convert API String to Cluster(Default in Session).vim和Convert API String to Cluster(Default in Key).vim,提供更便捷的转换入口。 - 临时变量永久化(#21):
CSM - Mark All Temp Variables as Permanent.vi允许将所有临时变量一次性标记为永久变量。 - 卸载配置文件 API(#35):新增
CSM - Unload Configuration Variable File.vi,支持在运行时卸载已加载的配置文件。 - INI 变量调试工具(#33):新增专属调试工具,可在运行时查看和管理当前所有配置变量的值。
- 仅列出永久变量选项(#22):新增选项支持只列出永久变量,而不显示临时变量。
- “All Temp Variable to Default Ini(F)” 选项:新增批量将临时变量写入默认 INI 文件的选项。
- 配置文件路径终端:新增终端控件显示所有已加载配置文件的路径,便于调试。
- 移除严格类型支持(#29):去掉了”strict support types”选项,简化使用。
- 修复多处问题:修复了默认 INI 不存在时的加载错误(#27)、
#注释未被跳过的问题(#38),以及多个边角和细节问题(#26、#30、#31、#32、#34)。
文档与图标(简述)
- 与核心库版本同步更新。
4. 其他仓库
- CSM-MassData-Parameter-Support:本期无该版本发布,已忽略。
- CSM-TCP-Router:本期无该版本发布,已忽略。
按功能变更
1. 功能新增
- 响应超时时间可通过
LabVIEW.ini配置(#277)。 - Debug Console 历史容量增加(#278)。
- API String 新增布尔字符串设置 API(#43)和浮点精度设置 API(#42)。
- API String 支持 Boolean/Integer/Float/Complex 的
tag:value对格式(#48)。 - API String 支持带物理单位的浮点字符串解析(#41)。
- INI 插件新增变量操作符语法(#20)、Cluster 读取 API(#24)、临时变量永久化 API(#21)、卸载配置文件 API(#35)及 INI 变量调试工具(#33)。
- CSM Mermaid Tool 工具按钮。
,和;加入关键字列表(#275)。
2. 改进优化
- INI 插件仅列出永久变量的选项(#22)。
- 内嵌 OpenG 子 VI 标记为子程序,减少执行开销。
- 配置文件路径终端控件,提升调试可见性。
3. 问题修复
- 修复 LoopSupport 中的 break VI bug(#280)。
- API String 修复 cluster
tag:value模式解析问题(#44)。 - API String 修复模板名称在 New VI 对话框中显示错误(#46、#47)。
- INI 插件修复默认 INI 不存在时的加载错误(#27)。
- INI 插件修复
#注释字符被包含到读取结果的问题(#38)。 - INI 插件修复多个边角和细节问题(#26、#30、#31、#32、#34)。
破坏性变更
- INI 插件移除严格类型支持(#29):如果代码依赖”strict support types”的行为,升级后需要相应调整。
升级指引
- 通过 VIPM 更新到 v2024.June 版本。
- 若需要调整同步消息超时时间,在
LabVIEW.ini中添加对应配置键(参考 VI 描述中的说明)。 - 若在 INI 插件中依赖了”strict support types”,升级后请检查配置读取逻辑是否需要调整。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2024.June
- CSM-API-String-Arguments-Support: https://github.com/NEVSTOP-LAB/CSM-API-String-Arguments-Support/releases/tag/v2024.June
- CSM-INI-Static-Variable-Support: https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases/tag/v2024.June
结尾
欢迎大家使用并提出反馈!本次 INI 插件的大规模扩充使得配置管理更加灵活强大。如果你有好的想法或发现了问题,欢迎在 GitHub 提交 Issue 参与讨论!