本使用手册及样例包目录内所包含文档、PLC程序、机床可执行程序(MPF、SPF、…)、电气图,可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
对于在使用中发生的人员、财产损失本公司不承担任何责任,由使用者自行承担风险。
以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新不做另行通知。
SINUMERIK 840D sl在实际应用中,由于专有技术或工艺的特殊性,需要对PLC CPU或程序块进行保护。本文档主要介绍STEP 7与TIA Portal两种编程平台在PLC保护方面的操作步骤。
硬件 | ||||
工艺 | NCU710 | NCU720 | NCU730 | |
车床 | ● | ● | ● | |
铣床 | ● | ● | ● | |
磨床 | ● | ● | - | |
• 测试软件 STEP 7 V5.6
• 测试软件TIA Portal V15.1
由于TIA Portal软件升级,加密方式也会随之升级。在进行加密程序块时建议提前保存源程序。否则可能由于软件版本的兼容性或误操作导致无法还原程序。
SINUMERIK 840D sl可以通过STEP 7和TIA Portal(SINUMERIK 840D sl版本V4.5及以上)调试PLC程序,根据调试软件的不同可以选择不同的保护方式,下面是两种编程软件保护方式对比。
保护对象 | 保护方式 | STEP 7 | TIA Portal | ||
PLC CPU | 访问保护 | 无保护 | √ | √ | |
读保护 | √ | √ | |||
读写保护 | √ | √ | |||
程序块保护
| 专有技术保护
| 无保护 | √ | √ | |
读保护 | ⅹ | ⅹ | |||
读写保护 | √ | √ | |||
程序块保护
| Block Privacy1)
| 无保护 | √ | ⅹ | |
读保护 | √ | ⅹ | |||
读写保护 | √ | ⅹ | |||
1)STEP 7 软件V5.5.3及以上版本支持,加密程序后,首次下载要求PLC处于STOP状态。
对CPU的权限加密,是传统加密方式,和CPU的固件版本无关,对CPU的读写加密方式分为三个等级,
1) 不加密
2) 写权限加密
3) 读写权限加密
加密CPU需要在STEP7 软件的硬件组态(HW Config)中进行。

首先在组态的NCU中双击CPU 3XX-X XX/XX。

在属性窗口选择”Protection”。

在”Protection level”选择需要的加密等级,三个保护等级只能选择其中之一。
安全型PLC访问保护 | CPU的写保护 | CPU的读写保护 |
|
|
|
增加访问密码的安全等级及安全PLC选项。

注意:密码长度最大8个字符。

设置完成后保存编译下载即可,再次访问PLC时需要首先输入密码才能进入PLC。
使用STEP 7编程工具,如果想对特定的程序块进行加密,可以采用程序块加密方式,此种加密方式分为两种:
Ø KNOW_HOW_PROTECT
Ø Block Privacy
KNOW_HOW_PROTECT加密程序块方式与CPU固件版本无关,主要操作方法是对需要加密的程序块生成源文件,然后对该程序的源文件加入专有技术保护指令,最后再编译源文件生成加密程序块。
操作步骤如下:
打开需要加密的程序块,在“File”中选择“Generate Source”生成源文件。

输入需要生成的源文件名称,此名称可以与被原程序块名称不一致,但是建议最好与原程序块编号对应。

选择加密的程序块。例如FC900,可以同时生成多个程序的源文件。

在项目的站点->CPU->Sources中生成需要进行保护程序块的源文件。

打开源文件,在TITLE的下面一行中加入KNOW_HOW_PROTECT指令,保存关闭即可。

最后编译源文件,如果编译无报错,在项目“BLOCKS”中就可以看到加密的程序块。


如果需要解密,只需把源文件的KNOW_HOW_PROTECT指令删除,重新编译源文件即可。
注意:使用此种方法加密,一定要保存好自己的源文件,如果源文件丢失,无法解密加密的程序块。
使用 S7 Block Privacy 可对 FC 块或 FB 块提供保护,根据保护方式,加密的块可以通过设置的密码解密,也可对程序块永久加密。
Block Privacy程序块加密方式对于NCU固件版本和STEP 7软件版本均有要求。
Ø NCU固件版本要求>=V3.2
Ø STEP 7 V5.5 SP3以上
Ø Simatic Manager在英文或德文语言环境下
Ø 密码最短12位
Ø 只能对FB、FC加密,而且程序块不能为空。
建议加密程序块前生成加密程序块的源文件,这样在因加操作失误或进行了永久加密的情况下,还可以解密程序。
Block Privacy保护程序块步骤:
打开项目,在硬件组态中首先查看NCU 的固件版本。

下图中红框中NCU,均支持Block Privacy加密。

选中”Blocks”文件夹,选择右键菜单:Block Privacy…

勾选需要加密的程序块,选择右键菜单’Encrypt Block…。

保护方式选择
可解密的保护方式 | 永久保护方式 | 写保护方式 |
|
|
|
说明:
Ø SINUMERIK key: 对于 SINUMERIK 840D sl,必须勾选 。
Ø Also encrypt decompilation information: 若加密块需要解锁,必须勾选。
密码要求:
用户自定义密码:密匙要求至少是 12 个字母或数字的组合,其中,至少有一个是字母。 密匙最大可达 24 个字符。
系统建议密码:24*3位数字密码,需要复制密钥储存以备之后解锁。
例如:
121 021 138 061 234 045 177 137 208 113 171 229 110 050 179 150 208 087 097 050 106 109 144 103


加密成功,加密的块显示红色,不能编辑。


首次下载加密程序块时需要注意,NCU PLC开关必须置于2(PLC STOP),否则加密程序块无法下载。当加密程序下载成功后,PLC开关回拨至0,最后通过HMI执行NCK复位或PO即可。



说明:当再次下载加密程序块时PLC不需要处于STOP状态,如果解密重新加密后,首次下载PLC同样需要处于STOP状态。
通过TIA Portal调试统系版本大于V4.5的SINUMERIK 840D sl 时,可以采用Portal提供方法的对CPU进行访问保护。
CPU的保护分为三个等级:
Ø 无保护
Ø 写保护
Ø 读/写保护
操作步骤:
打开项目,进入“项目视图”,然后选择“设备视图”,找到需要保护的NCU硬件组态。

双击NCU中的PLC,在常规属性窗口找到“保护”。

在保护功能区选择自己需要的保护方式:无保护、写保护、读/写保护,密码要求不大于8个字符。密码设置成功后,重新编译硬件下载即可,如果选择了读/写保护,再次访问NCU时,需要提供设置的密码才能进入。
Tia Portal专有技术保护只能对FB与FC非空程序块保护。操作步骤如下:
选择需要保护的程序,右击属性菜单选择“专用技术保护”。


在定义保护对话框输入密码“确定”。注意,密码不能大于8个字符。

加密完成后在程序块图标的左下角显示锁的标志。

再次访问加密程序块,需要提供密码才能编辑程序。

加密的程序块可以直接下载到PLC中。无需把PLC运行状态切换到STOP状态。
解密程序块时,要求加密的程序块处于关闭状态,然后右击,在菜单中选择“专有技术保护”。

在对话框中输入旧密码,选择“删除”即可解密程序块。如果同时在“旧密码”、“新密码”和“确认密码”中输入密码可以对程序块重新加密。

注意,如果双击加密程序块,只能进行访问操作,不能解密程序。
程序块的专有技术保护在需要保护的程序块“属性”中,同样可以进行。

选择“保护”。

单击“专有技术保护”的保护弹出保护密码输入框,输入设定的密码“确定”即可加密程序。


注意,如果加密程序正在编辑中,在右键菜单中无法找到“专用技术保护”。
Qin Li Bin Gu Xiang Qing
2019.12.27
版本 | 日期 | 修改内容 |
V1.0 | 2019.12.27 | 初稿 |