浅谈西门子plc程序加密和程序块加密及解密

相信大家在使用step7打开一些程序时,常会遇到以下三种plc的加密情况,现根据自己的经历和大家一起分享探讨。
第一种情况。是在硬件组态中,在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程序了。
第三种情况就是我们在打开别人的程序时,遇到的那些加密程序块,又没有源程序的情况下,就只能靠一些解密工具或者其他方式了。这种解密方式在此不做讨论。


2009年诺基亚推出的11款新手机(一)
Aivero高帧率视频流智能分析解决方案
三角法测距原理
高燕婕:Sars疫情十周年 物联网灾难应急受关注
LED行业2018年第一季度业绩报告披露随之而来
浅谈西门子plc程序加密和程序块加密及解密
灵活自支撑的界面层实现自下而上的锌沉积
物联网在燃气行业的应用_如何促进民生发展
比特币20分钟内暴涨428美元,上达两周之内最高点
爱芯元智发布第三代智能视觉芯片AX650N,为智慧生活赋能
如何在iPhone上分享您的驾驶预计到达时间
惠普打印机常见故障排除经验
openDACS第一批开源EDA核心贡献者名单、openDACS V2.0版本在CCF Chip2022正式发布
关于NGC中心的详细使用说明
快讯:网信办:收集汽车数据应取得车主同意 马斯克叫停比特币买车 比特币跳水
高效能的红外接收器电路图设计分析
51单片机我用按键复位和重新上电复位得到的结果不一样是怎么回事?
最佳的音频放大器设计方案介绍
万用表怎么检测电池容量_电池电量
Dreem头戴式设备 助深度睡眠时间提升32%