第一种:在硬件配置中激活CPU的在线访问功能
【一】STEP7在线功能的密码保护是为了阻止对CPU的访问,使用密码保护可以:(1)保护CPU中的用户程序和数据防止未经授权的更改(写保护)(2)保护用户程序中的专有知识(读保护)(3)阻止可能损害进程的在线功能【二】想要激活CPU的密码保护需要进行以下操作:(1)在硬件组态中双击CPU打开CPU的属性。(2)选择"保护"选项卡并在这里设置所需的保护等级。(3)为保护等级3(读/写保护)设定一个密码(4)点击OK按钮关闭对话框编译并保存硬件组态。(5)将硬件组态下载至CPU。说明:根据所设定的保护等级,每个在线功能在执行前都会进行检查以确保所选择的保护等级下该功能是否允许执行,从保护等级2开始,在执行特定功能前必须输入访问密码。根据设定保护等级,可以执行诊断功能并读取变量声明表。例如,保护等级3允许读取诊断缓冲区,可以通过"PLC> Access Authorization > Setup"直接调出输入密码的对话框,除非SIMATICManager会话终止或则使用 "PLC > Access Authorization >Cancel"取消密码输入,否则不会出现的密码查询。
第二种:通过SFC109激活CPU在线访问功能
【一】通过在程序中调用系统功能块SFC 109 "PROTECT"来更改CPU的保护等级 ,通过SFC109的MODE参数选择"PROTECT",可以选择3种级别的保护等级:(1)以MODE=0调用SFC 109:设置保护等级为 1,如果禁用密码授权,可以通过以MODE=0调用 SFC 109 将其启用。(2)以MODE=1调用SFC 109:设置保护等级为2,这意味着具有有效密码的用户可以删除通过调用SFC 109 设置的写保护,如果启用密码授权,可以通过以MODE=1调用 SFC 109 将其禁用。(3)以MODE=12 调用 SFC 109:设置保护等级为 3,无需密码授权。 这意味着如果设置了读写保护,拥有有效的密码也不能将其禁用。 如果以MODE=12调用 SFC 109是在建立授权连接后,则调用SFC 109 调用对该连接无效。【二】注意:(1)以MODE=12 调用 SFC 109 “PROTECT” 仅适用于固件版本 V3.2.7 的 S7-300 CPU和固件版本V3.3.7ET 200 CPU。 使用参数MODE=12,无需密码授权便可设置保护级等级为3。 下图显示了以参数“W#16#C”(对应于MODE=12)调用SFC 109 “PROTECT”,用以在没有密码授权的情况下设置保护等级3(读/写保护)。- 知道有效密码,也无法取消通过 SFC 109 设置的读/写保护。
- 只有在使用 MODE=0 或 MODE=1 调用 SFC 109后,才能通过输入有效密码来激活读/写保护。
第三种:加密块保护(STEP7 V5.5以上)
在 STEP7 V5.5版本中,可以提供块保护的加密功能,在离线和在线情况下,加密功能和功能块程序代码。【一】下面描述了如何使用 “S7 Block Privacy”程序进行对块的保护加密的步骤。(1)使用 STEP7 V5.5 的块的保护加密功能,必须先安装“S7 BlockPrivacy”程序。(2)安装完成后,在SIMATIC Manager“Tools>Block protection...”,选择“ BlockProtection”功能。(3)在 SIMATIC Manager 中选中块文件夹,主菜单中选择“Tools>Blockprotection”功能。或者选中块文件夹后,右键弹出菜单中选择“ Blockprotection”功能。(4)在“S7 Block Privacy”对话窗口,打开层次树,显示使用“ S7 Block Privacy”程序进行保护的块的列表。“ S7 Block Privacy ”仅可以加密 FBs 和 FCs。(5)右键点击块,在弹出菜单中选择加密功能 “ Encrypt block ..”。(6)在“ Block Encyrption ”对话窗口,必须输入至少12个字符密码,在下一行重新输入密码,点击 ok确认。 注意:上图中检查 “ Also encrypt decompilation information”选项是启用的,如果没有启用此选项,在加密之后,将不能取消加密此功能块。程序代码将yongjiu加密。(7)点击 “ OK ”确认信息,当打开块的加密功能,将不能查询与编辑程序代码。注意:加密完成后,只有通过输入密码后,允许对块进行代码编辑,建议保存好密码。(8)如果想一次加密多个块, 选中左侧复选框,将所有块一次全部加密,点击块文件夹左侧复选框,选择所有的文件,重复完成4~7步骤。【二】在 SIMATIC Manager上,被加密的块将被标记成红色和一个钥匙图示,下面将描述取消加密块的步骤。(1)在SIMATIC Manager上,选中块文件夹,在主菜单中选择“ Tool>Block protection”功能。或者右键点击块文件夹,在弹出菜单中点击“ User protection ...”功能。(2)在“ S7 Block Privacy ”对话窗口,打开层次树,选中想取消加密的块。(3)右键点击块,选择 “取消加密”。(4)当出现“ Block Encryption ”对话窗口,输入密码后点击 OK 确认。(5)关闭“ S7 Block Privacy ”程序,被选中的块已经取消加密并且可以编辑程序