云霓AI · 技术专栏

工业装备控制系统软件服务的实话:PLC/HMI 程序、驱动参数、网络组态。这一层别人不碰的,我们讲清楚。

程序打不开,先别急着说"被加密了"——S7 的三把锁你分清了吗

技术专栏 2026-11-12 03:40#工业控制#西门子#程序保护#加密

一台 S7-1200,博图连上去 弹一句"无访问权限"

很多人到这里就下结论 说程序被加密了没救了

先别急。S7-1200 / S7-1500 的保护不是一个锁,至少是三层,三层的性质完全不同,处置方式也不同。

分不清就动手 轻则白忙一场 重则把能恢复的东西也弄坏

第一层:访问保护(全 CPU 的锁)

现象:整个"程序块"带锁图标,一个块也点不开,硬件组态同样看不到。这层锁是原厂机制里先看的一层。

这层锁在 CPU 的保护与安全设置里 是原厂机制 作用是挡住所有在线访问

持有口令,在博图里输入后就能正常访问,能看也能上载,三层里这把锁的边界是明确的。

谁能处理:知道口令的人。就这么简单,也就这么难——口令往往在离职工程师手里,或者那家早已联系不上的集成商手里。

口令没了走正路 凭设备权属证明找原厂 原厂有既定的处置渠道

第二层:块级保护(know-how 保护)

现象:块清单能打开,点进某个块只看到接口和注释区,逻辑区锁着,显示"已受 know-how 保护"。

这层锁是写程序的人主动加的 锁的是逻辑看不看得到 不是程序读不读得出来

关键点:块级保护不影响上载和备份,整个程序照样可以完整读出来、存下来、运行正常。

也就是说,如果你的目的只是"把程序备份住",这层锁根本不挡路,很多人在这里白担心了半年。

只有想看懂某段逻辑 或者要改程序时 这层锁才真正拦人

这时候绕不开原作者,要么找他要授权,要么照着设备行为反向梳理逻辑——后者慢,但合规。

第三层:防拷贝保护(绑定序列号的锁)

现象:程序在原来那台 CPU 上运行正常,换一台同型号 CPU 就报错,提示块序列号不匹配。

这层锁把程序和那台 CPU 的序列号绑在一起 目的是防止程序被整个拷到别处用

坑在哪:CPU 换新后,程序必须在有源工程的情况下重新编译下载,才能在新 CPU 上重新绑定。

如果源工程丢了 只剩那块带锁的存储卡 程序读出来了也未必能在新 CPU 上跑起来

所以买二手带程序的设备、或者打算换 CPU 之前,先确认有没有源工程,这一步比比价重要。

一个常见的翻车顺序

一台 2015 年前后投运的 S7-1200 设备,CPU 前面板电池鼓包后更换,程序当时读出备份了一份。

后来厂里换了台同型号 CPU 把备份下载进去 设备一上电就报序列号不匹配

这才想起来原程序带防拷贝保护,而源工程早在几年前的电脑换新时没了。

备份做得没错 错在没人核过程序带不带序列号绑定

所以这张判断表要配一个动作:备份归档时,顺手在台账里记一行"有无访问口令、有无 know-how、有无防拷贝",三个格子填清楚,后面换 CPU 的人才不会踩同一脚。

一张 10 秒判断表

你看到的现象 是哪层锁 能不能自己处理
整个程序块全带锁图标,一个都点不开 访问保护 有口令就行;没口令凭权属证明找原厂
块清单能开,逻辑区显示 know-how 保护 块级保护 不影响备份和上载;要改逻辑才需要原作者
换同型号 CPU 就报序列号不匹配 防拷贝保护 需要源工程重新编译;没源工程先别换

我们的边界,写在前面

我们明确不提供绕过原厂授权保护 不破解密码

这三层锁里,我们能帮的是:授权链条清晰时,把能备份的程序完整读出、校验、归档;把口令在手的程序整理成可交接的状态;源工程齐全时把程序迁到新 CPU。备份包里我们还会多写一页:这台设备带哪几层锁、缺哪把钥匙,让下一个接手的人不用重新摸一遍。

口令没了、加密锁死了——先做技术评估,能做的说能做,做不了的直接说做不了。

什么情况下你不需要找我们

口令在你们自己人手里 登录进去程序完好 自己备份一份就够

程序本来就有源工程、文档齐全、厂家响应正常——也不必找我们。

只有一种情况值得打个电话:程序读不出来,又说不清是哪层锁,而设备还在生产线上不能停。

一句实在话:公司是新的,但团队在电气和软件这两行做了三十多年。锁分得清是这行的基本功——连三层锁都没分清就催你下单的,你可以把电话挂了。

← 返回专栏