TIA Portal为程序块提供 KNOW_HOW_PROTECT 保护功能。如果没有使用正确密码打开使用此保护功能的块时,仅块接口参数 Input、Output、 InOut 、Static 和块注释可见,而无法显示接口参数Temp、Constant、程序代码和网段注释。此时被保护的程序块也不能被修改。若使用正确的密码打开程序块时,可以显示所有的接口参数、注释和程序代码。此时被保护的程序块是可以被修改。
各控制器所支持的程序块保护的功能如表1-1所示。
表1-1不同控制在STEP 7(TIA Portal)下所支持的程序块保护功能
编程环境 |
编程语言 |
保护方式 |
适用的控制器 |
STEP 7 (TIA Portal) |
§ LAD / FBD / STL § S7-SCL § S7-GRAPH |
专有技术保护 (密码保护) |
S7-300/400 |
§ LAD / FBD § S7-SCL |
S7-1200 (V4) |
||
§ LAD / FBD / STL § S7-SCL |
S7-1500 |
硬件:CPU315-2PN/DP V3.2
软件:TIA Portal V13 Update 6
打开TIA Portal V13切换到项目视图,新建一个名为FB1_PROTECT的项目,在此项目下双击“添加新设备”选项添加一个名为PLC_1的S7-300站,并选择CPU的类型为CPU315-2PN/DP。插入后CPU的以太网接口保持缺省的值(缺省IP:192.168.0.1,缺省子网掩码:255.255.255.0)。完成后选择菜单“项目 > 保存”保存硬件配置。
双击项目树下 “PLC_1 > 程序块>添加新块”,在弹出的添加新块的窗口中选择要添加的块,类型为FB(函数块);编程语言为LAD;块的名称为“PROTECT_FB1”。点击“确定”按钮就创建了FB1块且同时进入其程序编辑器环境。
定义FB1的接口区:接口变量x、y、k、b和Temp1的数据类型都为整型,x为Input参数;y为Output参数;k和b为Constant参数;Temp1为Temp参数,如图1-1所示。
图1-1 TIA Portal 下 FB1 接口区定义
编写FB1程序:在程序编辑器中编写一个一次函数y = kx + b的程序;此函数为线性函数的表达式。通过此功能块的接口区的定义实现由直线的x轴中的坐标可以计算出其对应的y轴的坐标。程序如图1-2所示。编写完程序后选择菜单“项目> 保存 ”保存所编写的程序。
图1-2 TIA Portal 下 FB1 的 LAD 程序代码
添加程序块保护功能:选择项目树下要设置为受到专有技术保护的块FB1。在“编辑”(Edit) 菜单中,选择“专有技术保护”(Know-how protection) 命令,将打开“专有技术保护”( Know-how protection) 对话框如图1-3所示。在弹出的对话框中单击“定义” (Define), 打开“定义密码”(Define password) 对话框。在“新密码” (New) 字段中输入密码“123456”;在“确认”(Confirm) 字段中输入相同的密码“123456”,。单击“确定”,确认输入。单击“确定”(OK),关闭“专有技术保护”(Know-how protection) 对话框。此时所选块FB1受到专有技术保护。
图1-3 TIA Portal 下专有技术保护窗口
此时,在项目树下FB1功能块变为保护状态。双击打开FB1块时,会弹出访问保护窗口,在此窗口中要求输入FB1功能块的保护密码。若输入正确的密码“123456”,单击“确定”按钮即可打开被保护的源程序,而且此时可以对源程序进行修改操作。若输入不正确密码,单击“确定”按钮会弹出如图1-4的提示信息。若不输入任何密码,单击“取消”按钮也会打开程序编辑器,但此时由于功能块被保护,所以只显示接口区Input、Output、InOut和Static的参数而且程序代码也是被隐藏,如图1-5所示。
图1-4密码不正确时的提示信息
图1-5无密码时被保护程序块的状态
若在状态栏中存在已打开了的FB1程序编辑器,那么需要关闭此编辑器窗口。关闭的方法是右键单击状态栏中存在已打开了的FB1程序编辑器,在弹出的菜单中选择“关闭” 如图1-6所示。
图1-6关闭已打开了的FB1的程序编辑器
关闭后选择项目树中要修改密码的专有技术保护的功能块FB1,然后在“编辑”(Edit) 菜单中选择“专有技术保护”(Know-how protection) 命令,将打开“专有技术保护”( Know-how protection) 对话框。在弹出的对话框中单击“更改” (Change) 按钮,然后在更改密码窗口中的在“旧密码”(Old) 字段中输入旧密码,在“新密码”(New) 字段中输入新密码,在“确认”(Confirm) 字段中再次输入新密码。单击“确定”确认输入,单击“确定”(OK)关闭“专有技术保护”(Know-how protection) 对话框。
若在状态栏中存在已打开了的FB1程序编辑器,那么需要与3.4一样先关闭FB1程序编辑器, 关闭后选择项目树中要删除专有技术保护的功能块FB1,然后在“编辑”(Edit) 菜单中选择“专有技术保护”(Know-how protection) 命令,将打开“专有技术保护”( Know-how protection) 对话框,在弹出的对话框中禁用复选框“隐藏代码(专有技术保护)”(Hide code (know-how protection)),输入原密码单击“确定” 即可删除专有技术保护。