v2025.Q4: PPL支持与文档更新
【v2025.Q4 精简公告】CSM v2025.Q4 已发布并推送至 VIPM。本期为 2025 年度收官版本,亮点包括:lvlibp/PPL 支持正式完善、CSM Data Core 调试信息增强、全局日志新增消息类型与调用链展示、脚本 VI 扩展能力、新增多项管理 API,以及各插件文档与稳定性全面提升。
2026 年 1 月的 CSM v2025.Q4 更新已经推送到 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
版本亮点
- lvlibp/PPL 支持正式完善(#502、#499):修复异步运行时 lvlibp 崩溃问题,全系插件同步完善 PPL 支持。
- CSM Data Core 调试增强(#588):新增
Current State和Remaining States字段,调试时可直接看到模块当前状态与剩余状态队列。 - 全局日志能力扩展(#596、#561、#520):新增消息日志类型、Logger 退出日志及剩余日志数量统计、模块创建时的调用链信息。
- 脚本 VI 增强:
CSM - Run Script.vi支持=> VariableName赋值语法和wait指令,脚本编写能力大幅扩展。 - 新增多项关键 API(#543、#552):
CSM - Resolve Module Name.vi支持从 worker/chain 节点名解析模块名,CSM - Drop Broadcast Registry.vi支持清除所有注册关系。 Macro: Exit行为强化(#555):开始处理Macro: Exit后不再处理任何消息,退出流程更确定。
按仓库变更
1. Communicable-State-Machine
功能改动(重点)
核心(Core)
- [feature] #502 支持模块打包为 lvlibp(正式完善)。
- [add] #588 在 CSM Data Core 中增加
Current State和Remaining States,便于调试。 - [update] #504 不再使用全局变量作为变更标志。
- [update] #555 CSM 开始处理
Macro: Exit状态后,不再处理任何消息。 - [update] #584 为 CSM 错误添加更详细的信息。
- [fix] #499 修复 CSM 模块打包为 lvlibp 后异步运行时的关键错误。
参数(Argument)
- [update] #545 ErrStr 现在支持 Warning,Warning 被忽略并转换为空字符串。
- [update] #501 关键错误改用 ErrString 表示。
- [update] #498 SafeString 现在以
<SafeStr>参数类型前缀开头。
全局日志(Global Log)
- [add] #596 新增消息日志类型(Message Log Type)。
- [add] #561 新增
<Logger Thread Exit>日志并显示剩余日志数量。 - [add] #520 在”模块创建”日志中展示 CSM 模块的调用链信息。
API
- [add] 支持
CSM - Run Script.vi中的=> VariableName语法,可在脚本中赋值给变量。 - [add] 在
CSM - Run Script.vi中新增wait指令。 - [add] #543 新增
CSM - Resolve Module Name.vi,可从 worker/chain 节点名解析出模块名。 - [add] #552 新增
CSM - Drop Broadcast Registry.vi,清除所有广播注册关系。 - [fix] #549 顶层 VI 重启后重置
CSM - Module VI Reference.vi的缓存。 - [fix] #548 修复
CSM - Remove Module in Broadcast Registry.vi。
属性(Attribute)
高级模式(Advance Modes)
- [fix] #540 修复 Chain 模式默认不允许使用 VI Reference 的问题。
- [fix] #560、#556 Management API 现在可以在 Worker 模式和 Chain 模式下正常工作。
- [fix] #557 修复 chain/worker 模式的内部注册规则删除问题。
调试工具(Debug Tools)
- [add] 新增示例浏览器工具(Example Browser Tool)。
- [add] #496 Debug Console 新增脚本运行功能。
- [update] #461 Logviewer 改用全局日志事件队列。
文档与图标(简述)
- 新增更多测试用例,覆盖 CSM 全部特性。
- 调板与文档持续完善。
2. CSM-API-String-Arguments-Support
功能改动(重点)
- [feature] #95 支持 lvlibp。
- [update] #99
Query Data as API String Arguments.vim支持叶节点名称搜索。 - [fix] #98 不检查
(),避免相关 bug。 - [fix] #100 Enum 类型中,空字符串现在会转换为参考枚举值。
- [fix] #102 Cluster 类型在
Data To API String Arguments.vi的无 tag 模式中,所有元素均会被使用。 - [fix] #104 若 API String 与任何枚举选项均不匹配,现在会抛出错误。
3. CSM-INI-Static-Variable-Support
功能改动(重点)
4. CSM-MassData-Parameter-Support
功能改动(重点)
- [feature] #26 MassData 支持 lvlibp(正式完善)。
- [update] 文档更新。
5. CSM-TCP-Router-App
功能改动(重点)
- 同步 CSM Core 版本升级,与核心变更保持一致。
6. CSM-Continuous-Meausrement-and-Logging
功能改动(重点)
- [update] UI 模块与说明文字小幅更新。
- [update] #40 在
Macro: Exit中使用 List Module API。
按功能变更
1. 功能新增
- CSM Data Core 新增
Current State/Remaining States调试字段(#588)。 - 全局日志新增消息类型、Logger 退出日志与调用链信息(#596、#561、#520)。
- 脚本 VI 支持
=> VariableName赋值语法和wait指令。 - 新增
CSM - Resolve Module Name.vi(#543)和CSM - Drop Broadcast Registry.vi(#552)。 - Debug Console 新增脚本运行功能(#496)。
- 新增示例浏览器工具(Example Browser Tool)。
- API String
Query Data as API String Arguments.vim支持叶节点名称搜索(#99)。
2. 改进优化
Macro: Exit处理期间不再接收任何外部消息(#555)。- CSM 错误信息更详细(#584)。
- SafeString 参数类型现以
<SafeStr>前缀开头(#498)。 - ErrStr 支持 Warning 并转换为空字符串(#545)。
- Logviewer 迁移至全局日志事件队列(#461)。
- INI
Sync to File.vi性能持续提升(#87)。
3. 问题修复
- 修复 Chain 模式默认不允许 VI Reference 的问题(#540)。
- 修复 Management API 在 Worker/Chain 模式下不可用的问题(#560、#556)。
- 修复 CSM Attribute 大小写敏感问题(#533)。
- 修复 CSM Attribute TagDVR 缓存错误(#535)。
- 修复顶层 VI 重启后 VI Reference 缓存未清除的问题(#549)。
- 修复
CSM - Remove Module in Broadcast Registry.vi(#548)。 - 修复 chain/worker 模式内部注册规则删除问题(#557)。
- API String 修复 Enum 空字符串转换(#100)、Cluster 无 tag 模式元素遗漏(#102)、枚举不匹配时不报错(#104)等多项问题。
- INI 修复打包为 exe 后的路径问题(#92)。
破坏性变更
- SafeString 格式变更(#498):SafeString 参数现以
<SafeStr>前缀开头。如果项目中有手动解析 SafeString 格式的代码,升级后需更新相关逻辑。 Macro: Exit行为变更(#555):开始处理Macro: Exit后不再处理任何消息。若项目依赖”在 Exit 过程中仍可接收消息”的行为,请在升级前评估并调整。- API String 枚举不匹配现在报错(#104):以前枚举不匹配会静默失败,现在会抛出错误。请检查 API String 枚举参数的合法性。
- 其余本期无破坏性变更。
升级指引
- 直接通过 VIPM 更新即可完成本次升级。
- 重点检查:如果项目使用 SafeString 参数,确认
<SafeStr>前缀变更(#498)不影响现有解析代码。 - 重点检查:如果项目中的多模块退出依赖特定时序,重新回归
Macro: Exit不再处理消息的新行为(#555)。 - 重点检查:使用 API String 枚举类型的项目,确认所有枚举参数字符串均合法,避免新的错误报告(#104)影响运行。
- 使用 Chain 模式或 Worker 模式且依赖 Management API 的项目,升级后建议全量回归相关功能(#560、#556)。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2025.Q4
- CSM-API-String-Arguments-Support: https://github.com/NEVSTOP-LAB/CSM-API-String-Arguments-Support/releases/tag/v2025.Q4
- CSM-INI-Static-Variable-Support: https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases/tag/v2025.Q4
- CSM-MassData-Parameter-Support: https://github.com/NEVSTOP-LAB/CSM-MassData-Parameter-Support/releases/tag/v2025.Q4
- CSM-TCP-Router-App: https://github.com/NEVSTOP-LAB/CSM-TCP-Router-App/releases/tag/v2025.Q4
- CSM-Continuous-Meausrement-and-Logging: https://github.com/NEVSTOP-LAB/CSM-Continuous-Meausrement-and-Logging/releases/tag/v2025.Q4
结尾
欢迎大家使用并提出反馈!如有问题,请在 GitHub 上提交 Issue,或加入社区讨论。