plcSTEP7中对程序块加密
在plcSTEP7中对程序块加密 ,您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和 IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:
1.打开程序编辑窗口LAD/FBD/STL;
2.将要进行加密保护的程序块天生转换为源代码文件(通过选择菜单 File—>Generate source 天生);
3.在LAD/FBD/STL 窗口中封闭您的程序块,并在SIMATIC Manager项目治理窗口的source文件夹中打开上一步所天生的source文件;
4.在程序块的声明部分,TITLE行下面的一行中输进” KNOW_HOW_PROTECT”;
5.存盘并编译该source文件(选择菜单FileSave,FileCompile);
6.现在就完成了您程序块的加密保护;
取消对程序块的加密保护
1.打开程序块的Source源文件;
2.删除文件中的KNOW_HOW_PROTECT;
3.存盘并编译该source文件;
4.现在程序块的加密保护已经取消。
注释:如没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的;
一、海为PLC通讯特点:
1、内置多种通讯协议:HaiwellPLC各种型号的主机都内置ModbusRTU/ASCII协议、自由通讯协议以及海为公司的HaiwellBus高速通讯协议;
2、通讯端口可扩展:HaiwellPLC各种型号的主机均自带2个通讯口(一个为RS-232,另一个为RS-485),用通讯扩展模块可扩展至5个通讯口,每个通讯端口均可用于用于编程和联网,通讯端口相互立,均可作为主站也可作产从站;
3、为便利的通讯指令系统:使您无论使用何种通讯协议都只需一条通讯指令便可完成复杂的通讯功能,编程简单而程序简洁,无须再为通讯端口冲突、发送接收控制、通讯中断处理等问题烦恼,可以在程序中混合使用各种协议轻松完成您所需的各种数据交换;
西门子变频器采用西门子的USS通讯协议,根据西门子变频器说明书与通讯有关的主要参数如下:
P0003:=3用户访问级(级)
P0700:=5选择命令源(通过COM链路的USS设置)
P1000:=5频率设定值的选择(通过COM链路的USS设定)
P2009:=1USS规格化,使能规格化如果P2009设置为1,数值是以十进制数的形式发送,即4000(十进制)(=0FA0hex)等于40.00Hz。
P2010:=6USS波特率(9600波特)
P2011:=1USS地址,为变频器一个的串行通讯地址。
P2012:=2USS协议的PZD(过程数据)长度
P2013:=127USS协议的PKW长度,可变长度
通讯报文的结构
每条报文都是以字符STX(=02hex)开始,接着是长度的说明(LGE)和地址字节(ADR)。然后是采用的数据字符。报文以数据块的检验符(BCC)结束。
STXLGEADR12……….NBCC
|<采用的数据字符>|
西门子的详细USS通讯协议请参考西门子变频器手册。
三、海为PLC与西门子变频器通讯程序
因为西门子变频器采用西门子的USS通讯协议,所以海为PLC采用COMM自由通讯协议与其通讯。
例子完成3项操作命令,变频器地址设为1,通讯格式9600,8,E,1
1、停止运行:
根据西门子变频器说明书,停止运行命令为:020601047A00007B,共8字节,该命令返回8字节。
命令串放在初始寄存器值表“停止命令”中(V1020-V1027,见下图),采用COMM.LB指令只发送低字节方式发送数据。
命令串放在初始寄存器值表“停止命令”中
2、改变频率命令:
根据西门子变频器说明书,改变频率命令为:020601047FxxxxMM,共8字节,该命令返回8字节。因为频率是需要动态改变,所以BBC码MM由程序运算获得放在V1007中。
命令串放在初始寄存器值表“改变频率命令”中(V1000-V1006,见下图),采用COMM.LB指令只发送低字节方式发送数据。
命令串放在初始寄存器值表“改变频率命令”中
3、读运行频率:
根据西门子变频器说明书,输出频率参数为r0024(变频器实际的输出频率),读运行频率命令为:020A011000001,共12字节,该命令返回16字节。
命令串放在初始寄存器值表“读运行频率”中(V1050-V1061,见下图),采用COMM.LB指令只发送低字节方式发送数据。
程序图如下:
命令串放在初始寄存器值表“读运行频率”中
一、海为plc通讯特点:
1、内置多种通讯协议:haiwellplc各种型号的主机都内置modbusrtu/ascii协议、自由通讯协议以及海为公司的haiwellbus高速通讯协议;
2、通讯端口可扩展:haiwellplc各种型号的主机均自带2个通讯口(一个为rs-232,另一个为rs-485),用通讯扩展模块可扩展至5个通讯口,每个通讯端口均可用于用于编程和联网,通讯端口相互立,均可作为主站也可作产从站;
3、为便利的通讯指令系统:使您无论使用何种通讯协议都只需一条通讯指令便可完成复杂的通讯功能,编程简单而程序简洁,无须再为通讯端口冲突、发送接收控制、通讯中断处理等问题烦恼,可以在程序中混合使用各种协议轻松完成您所需的各种数据交换;
二、西门子变频器通讯协议介绍
西门子变频器采用西门子的uss通讯协议,根据西门子变频器说明书与通讯有关的主要参数如下:
p0003:=3用户访问级(级)
p0700:=5选择命令源(通过com链路的uss设置)
p1000:=5频率设定值的选择(通过com链路的uss设定)
p2009:=1uss规格化,使能规格化如果p2009设置为1,数值是以十进制数的形式发送,即4000(十进制)(=0fa0hex)等于40.00hz。
p2010:=6uss波特率(9600波特)
p2011:=1uss地址,为变频器一个的串行通讯地址。
p2012:=2uss协议的pzd(过程数据)长度
p2013:=127uss协议的pkw长度,可变长度
通讯报文的结构
每条报文都是以字符stx(=02hex)开始,接着是长度的说明(lge)和地址字节(adr)。然后是采用的数据字符。报文以数据块的检验符(bcc)结束。
stxlgeadr12……….nbcc
|<采用的数据字符>|
西门子的详细uss通讯协议请参考西门子变频器手册。
三、海为plc与西门子变频器通讯程序
因为西门子变频器采用西门子的uss通讯协议,所以海为plc采用comm自由通讯协议与其通讯。
例子完成3项操作命令,变频器地址设为1,通讯格式9600,8,e,1
1、停止运行:
根据西门子变频器说明书,停止运行命令为:020601047a00007b,共8字节,该命令返回8字节。
命令串放在初始寄存器值表“停止命令”中(v1020-v1027,见下图),采用comm.lb指令只发送低字节方式发送数据。
命令串放在初始寄存器值表“停止命令”中
2、改变频率命令:
根据西门子变频器说明书,改变频率命令为:020601047fxxxxmm,共8字节,该命令返回8字节。因为频率是需要动态改变,所以bbc码mm由程序运算获得放在v1007中。
命令串放在初始寄存器值表“改变频率命令”中(v1000-v1006,见下图),采用comm.lb指令只发送低字节方式发送数据。
命令串放在初始寄存器值表“改变频率命令”中
3、读运行频率:
根据西门子变频器说明书,输出频率参数为r0024(变频器实际的输出频率),读运行频率命令为:020a011000001,共12字节,该命令返回16字节。
命令串放在初始寄存器值表“读运行频率”中(v1050-v1061,见下图),采用comm.lb指令只发送低字节方式发送数据。
程序图如下:
命令串放在初始寄存器值表“读运行频率”中