TC2实现加密程序的几种方法.docx
第PAGE1页
TC2
TC2实现加密程序的几种方法
作者:朱守防
职务:华东区技术支持工程师
邮箱:shoufang.zhu@
日期:2021-01-13
摘要:
对于编程人员来说,有时候为了保护自己的劳动成果,不愿意代码被别人看到,于是就会想要对程序进行加密。TwinCAT2软件提供了几种加密程序的方法,本文将对其进行详细描述。
附件:
序号
文件名
备注
1
P
Pro项目加密
历史版本:
2021-01-13
朱守防
文档创建
免责声明:
我们已对本文档描述的内容做测试。但是差错在所难免,无法保证绝对正确并完全满足您的使用需求。本文档的内容可能随时更新,如有改动,恕不事先通知,也欢迎您提出改进建议。
参考信息:
目录
TOC\o1-3\h\z\u1. 软硬件版本 3
1.1. 倍福Beckhoff 3
1.1.1. 控制器硬件 3
1.1.2. 控制软件 3
2. 准备工作 3
2.1. 安装TC2环境的PC 3
3. 操作步骤 3
3.1. UserGroupLevel实现加密部分程序 3
3.2. Password实现对整个项目程序加密 6
3.3. 程序语言转换 7
3.4. 几种库文件的格式区别 7
软硬件版本
倍福Beckhoff
控制器硬件
TwinCAT控制制器,PC或者EPC,包括:
嵌入式控制器:CX5020-0125(IMG版本:CX1800-0411-0007v3.92)
工控机:C6xxx、CP2xxx、CP6xxx等
控制软件
TwinCAT2.1Build2305
准备工作
安装TC2环境的PC
准备安装TC2软件的PC。
操作步骤
UserGroupLevel实现加密部分程序
使用UserGroupPasswords功能实现对程序部分加密。新建程序中包含MAIN主程序,POU1_1~POU1_7其它7个空程序。右键对应程序,选择ObjectProperties分别设置各个程序的读写权限。POUs、DataTypes、Visualizations、Resources中的每个内容的访问权限都可以分配给各级用户。
步骤1-0:MAIN程序UserLevel0为FullAccess,其余UserLevel为ReadAccess。即MAIN程序可以被所有的UserLevel访问,对UserLevel1~7为只读权限。
步骤1-1:POU1_1程序UserLevel0~7均为ReadAccess。即该程序可以被所有的UserLevel以只读权限访问。
步骤1-2:POU1_2程序UserLevel0,2~7均为ReadAccess。即该程序可以被UserLevel0,2~7以只读权限访问,UserLevel1无法访问。
步骤1-3:POU1_3程序UserLevel0,3~7均为ReadAccess。即该程序可以被UserLevel0,3~7以只读权限访问,UserLevel1~2无法访问。
步骤1-4:POU1_4程序UserLevel0,4~7均为ReadAccess。即该程序可以被UserLevel0,4~7以只读权限访问,UserLevel1~3无法访问。
步骤1-5:POU1_5程序UserLevel0,5~7均为ReadAccess。即该程序可以被UserLevel0,5~7以只读权限访问,UserLevel1~4无法访问。
步骤1-6:POU1_6程序UserLevel0,6~7均为ReadAccess。即该程序可以被UserLevel0,6~7以只读权限访问,UserLevel1~5无法访问。
步骤1-7:POU1_7程序UserLevel0,7均为ReadAccess。即该程序可以被UserLevel0,7以只读权限访问,UserLevel1~6无法访问。
备注:Level0为最高权限,仅有Level0权限下可以对现有程序的权限设置进行修改。
Password实现对整个项目程序加密
使用Password加密方式可以实现对整个项目加密,加密分为两种,一种可以分别设置读加密(程序只允许读取不允许修改)和写加密(程序允许修改),另一种对项目整体加密,解密后程序允许修改。如果不希望密码被破解,可以在密码中加入中文或者特殊字符。
方式一:读写密码分开设置,不勾选Encryptprojectwiththispassword,设置读密码为Password,设置写密码为WriteProtectionPassword。打开项目时需要分别输入读密码和写密码;
方式二:勾选Encryptprojectwiththispassword,此时只需要设置Pass