长春西门子PLC模块代理商
在 STEP7 V5.5 版本中,可以提供块保护的加密功能,在离线和在线情况下,加密功能和功能块程序代码。下表描述了如何使用“S7 Block Privacy” 程序进行对块的保护加密及取消保护加密功能
序号 | 步骤 |
1 | 准备: 使用 STEP7 v5.5 的块的保护加密功能,必须通过 STEP 7DVD 安装 “S7 Block Privacy”程序。
安装完成后,在SIMATIC Manager中 “Tools>Block protection...”,选择“ BlockProtection” 功能 |
2 | 在 SIMATICManager 中选中块文件夹,主菜单中选择 “Tools>Blockprotection”功能。或者选中块文件夹后,右键弹出菜单中选择 “ Block protection”功能 |
3 | 在 “S7Block Privacy”对话窗口,打开层次树,显示使用 “ S7 Block Privacy ”程序进行保护的块的列表。“ S7Block Privacy ”仅可以加密 FBs 和 FCs |
4 | 右键点击块,在弹出菜单中选择加密功能 “ Encrypt block ..”。 |
5 | 在 “ BlockEncyrption ”对话窗口,必须输入至少12个字符密码,在下一行重新输入密码,点击 ok 确认。 注释: |
6 | 点击 “ OK”确认信息,当打开块的加密功能,将不能查询与编辑程序代码。 注释: |
7 | 如果想一次加密多个块, 选中左侧复选框,将所有块一次全部加密,点击块文件夹左侧复选框,选择所有的文件,重复完成4~7步骤。 |
在 SIMATIC Manager 上,被加密的块将被标记成红色和一个钥匙图示,下表将描述取消加密块的相关内容。
45632073
序号 | 步骤 |
1 | 在 SIMATICManager上,选中块文件夹,在主菜单中选择 “ Tool>Block protection”功能。或者右键点击块文件夹,在弹出菜单中点击 “ User protection ...”功能 |
2 | 在 “ S7Block Privacy ”对话窗口,打开层次树,选中想取消加密的块。 |
3 | 右键点击块,选择“取消加密”。 |
4 | 当出现 “Block Encryption ”对话窗口,输入密码后点击 OK 确认 |
5 | 关闭 “ S7Block Privacy ”程序,被选中的块已经取消加密并且可以编辑程序。 |
更多信息
在 “ S7 Block Privacy ”程序窗口,按F1帮助获得更多关于块加密信息。
注释
通过 “ Know_How_Protect”命令为块加密块的源程序是可以编辑,更多关于可用信息请参见条目号:10025431 。
编程环境
此 FAQ 创建在 STEP7 v5.5 程序环境
由于PLC 编程软件的不同,西门子S7-200与S7-300/400系列PLC用于梯形图编程的指令有所区别,具体如表9-1.3所示。图中有部分指令为非通用,只能在S7-200中使用(或只能在S7-300/400中使用)。
(1)触点装载指令
在S7-200 PLC中,与其他公司的PLC-样,对于与梯形图的母线相连接的开始触点,需要采用触点装载指令LD作为开始。在S7-300/400中,则是直接以逻辑运算指令代替触点装载指令(见图9-1.6)。
[例1]对于图9-1.6所示的梯形图,在S7-200中的指令表程序为:
在S7-300/400中的指令表程序为:
Network 1
A IO.I
A 10.2
AN 10.3
= MO.O
Network 2
A(
O IO.I
0 10.2
O I0.3
)
AN I0.4
MO.1
(2)括号的使用
与数学运算一样,在S7-300/400PLC中,逻辑运算遵守“先与后或”的原则进行,对于需要先进行“或”运算的场合,需要通过括号来调整运算的先后次序,括号的意义与数学运算相同。在PLC编程时,对于左括号“(”,应紧跟逻辑指令代码之后,如“A(”、“O(”等;右括号应单独作为一个指令行,参见例9-1中在S7-300/400中的指令表程序。(信息来源:www.dqjsw.com.cn)
(3)“异或”与“同或”指令
当需要对两个信号进行“异或”或者“同或”运算时,在S7-300/400PLC中可以直接使用“异或”与“同或”指令。
【例2】对于图9-1.7所示的梯形图,在S7-200中由于没有“异或”、“同或”指令,编程时只能使用“堆栈”操作指令“OLD”实现,指令表程序如下:但在S7-300/400中则可以直接使用“异或”、“同或”指令实现,指令表程序如下:
Networkl
XI0.1
XI0.2
=
Network2
X I0.1
XN 10.2
= MO.1
(4)结果“置位”、“清除”、“保存”指令
在S7-300/400PLC中,利用指令SET、CLR、SAVE可以直接对当前的逻辑运算结果进行置位、复位与保存操作。
力了可靠地检测、保存、记忆S7程序中的逻辑运算、数学运算指令的执行结果状态,在S7-300/400PLC中,设有一个专用的16位状态寄存器。状态寄存器中有2个状态位与逻辑指令的结果有关。
①RLO位:RLO位称为“逻辑运算结果”状态位,用于存放逻辑运算、逻辑比较指令的执行结果:
②BR位:BR位称为“布尔运算结果”状态位。当处理的程序段中既有位逻辑运算,又有字逻辑运算时,BR用于存放字逻辑运算指令的执行状况,当“字逻辑”运算指令被正确执行时,该位为“1”,否则为“0”。
通过指令SET、CLR,可以无条件将PLC的逻辑指令执行结果状态寄存器的RLO位直接设置成“1”或“0”,而不论前面的执行情况任何。通过指令SAVE,则可以将RLO位的状态写入到BR中。CPU故障,模块信息显示:I/O访问错误,读取。
程序已经下载的PLC中,SF指示灯始终红灯,检测模块信息如上,
这是什么意思,怎样解决?
答:1、用hardware configuration的硬件诊断诊断模块是否在线。
2、如果不在线,检查硬件连接。
3、如果在线,检查软件配置,比如侧面插板(A,B,C,D)的配置和step 7中硬件配置一样;IO点的配置情况是否和程序中的访问变量一致。
4、外部连线也顺便检查一下,看看有没有断线,或短路。
如果还不行的话,这种情况常见于间接寻址,比如,寻址到了不存在的地址,就发生了地址越界,你应该多察看自己的程序。你要仔细检查一下程序,并编译看否有错误,删除那些有问题的功能(FC)。
如果还不行以下供参考:
1.用通信电缆连接S7-300CPU,再使用SIMATIC Manager管理器打开项目文件,与CPU“在线(Online)”后,打开“Module Inbbbbation”窗口,查看“diagnostic Buffer”(即CPU的诊断缓冲区)标签内的历史记录。再仔细分析错误原因。可初步判断是硬件故障还是软件故障。
2.重新下载一次硬件组态和程序,排除硬件组态和软件程序问题。
3.从软件编程角度来判断故障,如下载错误处理组织块:OB81(电源故障),OB82(诊断中断)、OB83(插入/取出模块中断)、OB86(机架故障或分布式I/O的站故障)、OB87(通信错误)、OB121(编程错误)、OB122(I/O访问错误),将这些组织块依次下载到CPU中使之出现错误进入STOP状态。
4.从硬件安装连接来判断故障,如:1.检查供电源是否正常;2.检查一下背板总线连接是否正常,3.检查各模块外部连接是否有异常;4.检查各模块安装是否有松动,周围是否有振动。5.机架上是否有模块已经损坏。
FB2可以使用FB1背景数据块中的静态变量吗?怎么调用?如果不行是要定义成全局变量吗?
答:静态变量是FB专有的,其是与背景块一一对应,可以这么说静态变量就是FB的背景数据块。其作用就是背景数据块的作用,背景块的作用就是,我自己编自己的FB,我在声明表里定义好自己的静态变量,使用很方便不用考虑使用其它全局变量时,要知道哪个是空的,哪个是别人用过的,就是重叠问题。尤其是多人编一个系统时就更有用了,用FC就没有这个优势。每次调用功能块( FB )时,会被分配一个背景数据块。此 FB 的实际参数和静态参数都被存储在该背景数据块中。在 FB 中声明的变量决定背景数据块的结构。背景指定了功能块的调用 。
FB2可以使用FB1背景数据块中的静态变量,但需要满足以下条件:(用多重背景时应注意的问题):
1.在管理多重背景的功能块的变量声明表中,为被调用的功能块的每一次调用定义一个静态(STAT)变量,以被调用的功能块的名称(如FB1)作为静态变量的数据类型。
2.应生成需要调用的功能块(如FB1)。
3.在管理多重背景的功能块(如FB2)必须设置为多重背景功能。
4.必须有一个背景数据块(如DB1)分配给管理多重背景的功能 。背景数据块中的数据是自动生成。
5.多重背景只能声明静态变量(声明类型为“STAT”)。