TIA Portal编程环境下专有技术保护的实现

1. 概述

TIA Portal为程序块提供 KNOW_HOW_PROTECT 保护功能。如果没有使用正确密码打开使用此保护功能的块时,仅块接口参数 InputOutput InOut Static 和块注释可见,而无法显示接口参数TempConstant、程序代码和网段注释。此时被保护的程序块也不能被修改。若使用正确的密码打开程序块时,可以显示所有的接口参数、注释和程序代码。此时被保护的程序块是可以被修改。

各控制器所支持的程序块保护的功能如表1-1所示。

1-1不同控制在STEP 7TIA 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

2. 硬件和软件需求

 硬件:CPU315-2PN/DP  V3.2

 软件:TIA Portal V13  Update 6 

3. 配置步骤

3.1 组态S7-300

打开TIA Portal V13切换到项目视图,新建一个名为FB1_PROTECT的项目,在此项目下双击“添加新设备”选项添加一个名为PLC_1S7-300站,并选择CPU的类型为CPU315-2PN/DP。插入后CPU的以太网接口保持缺省的值(缺省IP192.168.0.1,缺省子网掩码:255.255.255.0)。完成后选择菜单“项目 > 保存”保存硬件配置。

3.2 编写FB1功能块

双击项目树下 PLC_1 > 程序块>添加新块”,在弹出的添加新块的窗口中选择要添加的块,类型为FB(函数块);编程语言为LAD;块的名称为“PROTECT_FB1”。点击“确定”按钮就创建了FB1块且同时进入其程序编辑器环境

定义FB1的接口区:接口变量xykbTemp1的数据类型都为整型,xInput参数;yOutput参数;kbConstant参数;Temp1Temp参数,如图1-1所示。

1-1 TIA Portal FB1 接口区定义

编写FB1程序:在程序编辑器中编写一个一次函数y = kx + b的程序;此函数为线性函数的表达式。通过此功能块的接口区的定义实现由直线的x轴中的坐标可以计算出其对应的y轴的坐标。程序如图1-2所示。编写完程序后选择菜单“项目> 保存 ”保存所编写的程序。

图5-8 TIA Portal 下 FB1 的 LAD 程序代码.png

1-2 TIA Portal FB1 LAD 程序代码

3.3 添加程序块保护功能

添加程序块保护功能:选择项目树下要设置为受到专有技术保护的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的提示信息。若不输入任何密码,单击取消按钮也会打开程序编辑器,但此时由于功能块被保护,所以只显示接口区InputOutputInOutStatic的参数而且程序代码也是被隐藏,如图1-5所示。

1-4密码不正确时的提示信息

图5-11 无密码时被保护程序块的状态.png

1-5无密码时被保护程序块的状态

3.4 修改被保护功能块的密码

若在状态栏中存在已打开了的FB1程序编辑器,那么需要关闭此编辑器窗口。关闭的方法是右键单击状态栏中存在已打开了的FB1程序编辑器,在弹出的菜单中选择关闭如图1-6所示。

图5-12 关闭已打开了的FB1的程序编辑器.png

1-6关闭已打开了的FB1的程序编辑器

关闭后选择项目树中要修改密码的专有技术保护的功能块FB1,然后在“编辑”(Edit) 菜单中选择专有技术保护”(Know-how protection) 命令,将打开专有技术保护”( Know-how protection) 对话框。在弹出的对话框中单击更改” (Change) 按钮,然后在更改密码窗口中的在旧密码”(Old) 字段中输入旧密码,在新密码”(New) 字段中输入新密码,在确认”(Confirm) 字段中再次输入新密码。单击确定确认输入,单击确定”(OK)关闭专有技术保护”(Know-how protection) 对话框。

3.5 去除程序块保护功能

若在状态栏中存在已打开了的FB1程序编辑器,那么需要与3.4一样先关闭FB1程序编辑器, 关闭后选择项目树中要删除专有技术保护的功能块FB1,然后在“编辑”(Edit) 菜单中选择专有技术保护”(Know-how protection) 命令,将打开专有技术保护”( Know-how protection) 对话框,在弹出的对话框中禁用复选框隐藏代码(专有技术保护)”(Hide code (know-how protection)),输入原密码单击确定即可删除专有技术保护。