第一种情况。是在硬件组态中,在CPU属性中按照保护等级设置密码,将CPU中程序锁住,不影响CPU的正常运行。这种情况是往往是程序设计编程人员出于安全和知识产权的保护等目的而进行的设置。常见的加密方式有三种。
1、程序可读出,数据可修改,运行可监视,只是程序不可更改。(出于安全考虑)
2、数据可修改,运行可监视,程序即不能读出也不能修改。(出于安全考虑,也为保护知识产权)
3、程序、数据、运行均不可读出、监视和更改。(安全性最高)方法:在硬件组态中打开CPU的protection(保护)选项,选择所需加密方式,设置密码后保存编译重新下载硬 件组态就可以了。注意:如何设置密码忘记或丢失,那么只有通过编程软件在线连接PLC,清空PLC程序,(包括程序块,系统块和数据块)然后将备份的程序重新下载。
1、在STEP7中打开要加密的程序块,点击菜单“文件/生成源文件(File/Generate source)”,
2、关闭程序块,在项目管理器中打开“源文件(source)”,打开生成的源文件。
3、在程序块的声明部分,TITLE行下面的一行中输入“KNOW_HOW_PROTECT”。
4、执行菜单命令“文件/保存(File/Save)”然后“文件/编译(File/Compile)”。
5、编译成功后,可在“块”中看到加锁的程序块。
6、解除密码,打开相应的“源文件”,把“KNOW_HOW_PROTECT”删除,然后编译即可。
注意,保存好源文件,否则已加密的程序块将无法打开。同时,你用SCL源程序编译完成后,删除SCL源程序就行了。别人没SCL源程序,打开你程序中的块时就只能显示成STL程序了。
第三种情况就是我们在打开别人的程序时,遇到的那些加密程序块,又没有源程序的情况下,就只能靠一些解密工具或者其他方式了。这种解密方式在此不做讨论,有兴趣的朋友可以自我探讨一下。