乐于分享
好东西不私藏

西门子博途ADD-IN插件-Safety Signal Checker :安全与质量守护者,让程序更可靠

西门子博途ADD-IN插件-Safety Signal Checker :安全与质量守护者,让程序更可靠
安全程序里误用了一个非安全信号——这个错误在调试阶段很难发现,但在安全审核时可能直接导致验收不通过。
上一篇介绍了7个工程效率类 Add-In,它们帮你「写得更快」。这一篇聚焦的4个插件,目标是让你「写得更好、更安全」——涵盖功能安全信号审查、自动化测试创建、测试日志可读化、以及程序知识产权保护。
如果说工程效率类插件解决的是「体力活太多」的问题,安全与质量类插件解决的是「出了事谁负责」的问题。前者是加分项,后者是兜底线,后者虽然不如前者那样立竿见影地提升效率,但一旦涉及安全认证或知识产权纠纷,它们的价值就会被瞬间放大。

一、Safety Signal Checker:安全信号的「守门员」

在西门子故障安全(Failsafe)PLC 程序中,安全逻辑和非安全逻辑在同一个 CPU 内执行,但它们之间有严格的隔离规则。安全程序块(F-FB、F-FC)只能操作安全信号,非安全信号一旦被安全程序引用,就构成了潜在的功能安全违规。
问题是——一个大型安全项目中,安全程序可能嵌套调用几十个块,引用了成百上千个变量。靠人工逐行审查所有交叉引用,工作量巨大且容易遗漏。
Safety Signal Checker 就是为这个审查任务定制的自动化工具。右键安全 PLC → Add-Ins → Safety Signal Checker → 选择「Show usages of non safety signals」——插件会在几秒内扫描整个安全程序,列出所有被错误引用的非安全信号。

Safety Signal Checker 核心功能

| 功能 | 说明 |

|------|------|

| 全项目扫描 | 一键扫描所有安全PLC的非安全信号使用 |

| 分组查看 | 按信号类型(DB成员/PLC变量)或安全块分组 |

| 写入过滤 | 仅显示「被安全程序写入」的非安全信号(最高风险) |

| 实时更新 | 修改后点击「Update from TIA Portal」刷新结果 |

| 版本覆盖 | V18-V19 (V1.0.1) / V20 (V2.0.0) / V21 (V3.0.0) |

安全程序可以引用非安全信号,但只能「读取」不能「写入」。Safety Signal Checker 的过滤功能可以精准区分这两种情况,让你优先处理最高风险的写入违规。
一个真实场景:某产线安全PLC负责急停回路和光幕保护,编程工程师在安全FB中引用了一个普通的HMI状态变量用于触发报警。这个变量并非安全信号,在仿真和调试阶段一切正常——但安全审核时被查出,整改涉及重新修改安全程序结构、连带影响已封装的多个安全功能块,最终延期两周交付。
Safety Signal Checker 跑一次扫描只需几秒钟。对那些需要提交TÜV或第三方安全认证的项目,把扫描结果作为自检记录附件,本身就是工程严谨性的直接体现。这个插件从V18到V21持续迭代了三个大版本,也侧面反映了西门子对安全领域自动化工具体验的持续投入。

二、TestCreation:测试用例不用手写

TIA Portal 从 V15 开始引入了 TestSuite(测试套件)功能,允许对 PLC 程序进行自动化的单元测试和集成测试。但原生的测试用例创建过程仍然比较繁琐——你要手动指定测试环境(哪些块参与测试)、定义测试输入值、配置期望输出、逐个建立测试用例。
TestCreation 插件通过一个向导式的交互界面,将这个过程简化了至少一半。它自动根据选中的 FB/FC 创建测试调用的环境框架——包括生成测试用的背景 DB、初始化测试输入参数、预填期望的返回值。你只需要在这个框架上微调测试数据和断言条件,而不是从零搭建。

TestCreation 使用流程

  1. 在项目树中选中要测试的 FB 或 FC
  2. 右键 → Add-Ins → Test Creation → 打开向导
  3. 选择要测试的块接口参数(输入/输出/静态变量)
  4. 配置初始值和期望值(支持表格批量编辑)
  5. 插件自动生成 TestSuite 的调用环境和测试用例框架
  6. 在 TestSuite 面板中运行测试,查看通过/失败结果
该插件支持 V17-V20(V1.6.2),尤其适合需要频繁回归测试的场景——比如标准库开发、多版本兼容性验证、或者在修改核心算法后快速验证是否破坏了现有功能。
需要说明的是,TestCreation 生成的是测试「框架」而非完整的测试用例。你仍然需要根据业务逻辑定义具体的输入值和期望输出。但框架的价值在于它帮你完成了测试工程中最枯燥的部分——创建测试环境、关联被测试的块、建立接口映射。原本需要 20 分钟的搭建工作,用这个插件 2 分钟就能进入「填写测试数据」阶段。

三、TestSuite LogConverter:让测试日志可读

TIA Portal TestSuite 运行后会生成测试日志,但原生格式是 XML 结构的工程文件,直接阅读并不友好。发给非技术人员(项目经理、质量审核员)看,基本没人能读懂。
TestSuite LogConverter 将这些测试日志转换为标准的CSV(逗号分隔值)或XML格式。CSV 可以在 Excel 中直接打开、筛选、做数据透视;XML 可以被脚本和其他工具解析。
实际应用中最常见的需求是「把最近一次测试的通过/失败结果导出为表格,附在项目交付报告里」。有了 LogConverter,这个流程从「截图拼贴」变成「右键导出 → 打开 Excel → 调整列宽 → 打印」。
CSV 格式的另一个好处是支持版本对比。如果你在调试不同阶段的软件版本时都运行了同一套 TestSuite,可以把每个版本的测试结果导出为 CSV,然后用 Excel 或 Python 脚本做 diff 对比——哪些测试用例从通过变失败、哪些失败修复了,一目了然。这种追溯性对于医疗器械、核电等需要严格验证记录的行业尤其重要。

日志转换说明

| 项目 | 内容 |

|------|------|

| 输入 | TestSuite 原始测试日志 |

| 输出 | CSV(Excel可读)/ XML(脚本可解析) |

| 支持版本 | V17-V20 |

| 典型用途 | 测试报告归档、质量审核、回归测试对比 |

四、KnowHowProtect:代码资产的「保险柜」

SCL(结构化控制语言)是 TIA Portal 中功能最强的编程语言,很多工程师会把核心算法、专有工艺逻辑写在 SCL 块中。但这些代码默认是明文存储的——任何能打开项目的人都能看到全部逻辑。
KnowHowProtect 插件为 SCL 程序块提供了一种「不可逆」的知识产权保护:加密后的程序块,其源代码在任何情况下都无法被查看,只能正常编译和执行。这对于交付给客户的标准化设备程序、外发给合作方的控制模块来说,是防止技术泄露的底线保障。
需要注意:KnowHowProtect 自 2024 年起已标记为废弃(Obsolete),其功能已合并至STEP7 Engineering Assistant V4.0.0( Engineering Assistant 的新版本)。如果你使用的是 V18-V20,可以直接用 Engineering Assistant V4.0 中的「Protection」功能来保护 SCL 代码,无需单独安装 KnowHowProtect。
对于西门子这个合并策略,从工程角度看是合理的——将「批量工程操作」和「代码保护」合并在一个工具中,避免了功能碎片化。不过这也意味着需要把 Engineering Assistant 升级到 V4.0.0(V19-V21),旧版不包含 Protection 功能。
🔥

KnowHowProtect 使用提醒

  • ⚠️ 保护操作不可逆——加密后永远无法解密查看源代码
  • ⚠️ 加密前必须保存原始源代码到独立的安全位置
  • ⚠️ 加密后的块仍然可以正常编译、下载和执行
  • ⚠️ V18+ 用户建议直接使用 STEP7 Engineering Assistant V4.0 的 Protection 功能替代
选配建议
这四个插件的适用性取决于你的项目类型:
做安全PLC项目的工程师——Safety Signal Checker 是必装项。安全审核中被查出非安全信号误用,重则项目返工、轻则罚款延误。这个插件几秒钟就能帮你规避这种风险。此外,如果你同时使用 Safety Administration(安全管理)功能进行 F 程序的签名和校验,Signal Checker 的输出可以作为安全签名的前置检查环节,在签名前自动验证安全信号的完整性。
开发标准库或核心算法的团队——TestCreation + KnowHowProtect 是最佳组合。前者保证代码质量通过持续测试验证,后者保护核心知识产权不被泄露。对于向客户交付「黑盒」功能块的设备商来说,KnowHowProtect(或 Engineering Assistant V4.0 的 Protection)是保护专有算法的唯一途径。
重视交付文档完整性的项目——TestSuite LogConverter 让测试结果从「计算机日志」变成「人可读的验收报告」,提升项目的专业度。尤其是在需要向最终用户或监理方提交 FAT/SAT 报告的项目中,CSV 格式的测试日志可以直接嵌入验收文书。

| 资源 | 链接/说明 |

|------|-----------|

| TIA Add-Ins 官方汇总 | [SIOS 109773999](https://support.industry.siemens.com/cs/document/109773999) |

| 推荐安装方式 | TIA Package Manager → 搜索插件名 → 一键安装 |

| 已废弃插件 | KnowHowProtect → 功能已并入 STEP7 Engineering Assistant V4.0 |

| 上一篇 | [第1篇:7个工程效率神器](公众号查看历史文章) |

觉得有用的话,欢迎点赞、在看、转发,让更多工程师建立「安全与质量」的工具意识。

Portal 的「隐藏功能」远不止菜单栏上那些。

相关推荐
西门子博途必装插件 · 第1篇:7个工程效率神器,告别重复手工操作
西门子博途项目升级工具:TIA Portal Project Upgrader,你听过吗?
西门子驱动器提效工具:TIA Portal Mass Operation Tool——批量操作方案