第七章 软件冗余的原理和配置
7.1 软件冗余基本信息介绍
软件冗余是Siemens实现冗余功能的一种低成本解决方案,可以应用于对主备系统切换时间为秒级的控制系统中。
7.1.1系统结构
Siemens软件冗余系统的软件、硬件包括:
(1)1套STEP7编程软件(V5.2或更高)加软冗余软件包(V1.x);
(2)2套PLC控制器及I/O模块,可以是S7-300(313C-2DP,314C-2DP,31X-2DP)或S7-400(全部S7-400系列CPU)系统;
(3)3条通讯链路,主系统与从站通讯链路(PROFIBUS 1)、备用系统与从站通讯链路(PROFIBUS 2)、主系统与备用系统的数据同步通讯链路(MPI 或 PROFIBUS 或
Ethernet);
(4)若干个ET200M从站,每个从站包括2个IM153-2接口模块和若干个I/O模块;Y-Link不能用于软冗余系统;
(5)除此之外,还需要一些相关的附件,用于编程和上位机监控的PC-Adapter(连接在计算机串口)或CP5611(插在主板上的PCI槽上)或CP5511(插在笔记本的PCMIA槽里)、PROFIBUS电缆、PROFIBUS总线链接器等。
系统架构如图7-1所示:
图7-1软冗余的系统架构
可以看出,系统是由两套独立的S7-300或S7-400 PLC系统组成,软冗余能够实现:
主机架电源、背板总线等冗余;PLC处理器冗余;PROFIBUS现场总线网络冗余(包括通讯接口、总线接头、总线电缆的冗余);ET200M站的通讯接口模块IM153-2冗余。
软冗余系统由A和B两套PLC控制系统组成。开始时,A系统为主,B系统为备用,当主系统A中的任何一个组件出错,控制任务会自动切换到备用系统B当中执行,这时,B系统为主,A系统为备用,这种切换过程是包括电源、CPU、通讯电缆和IM153接口模块的整体切换。系统运行过程中,即使没有任何组件出错,操作人员也可以通过设定控制字,实现手动的主备系统切换,这种手动切换过程,对于控制系统的软硬件调整,更换,扩容非常有用,即Altering Configuration and Application Program in RUN Mode 。
7.1.2 系统工作原理
在软冗余系统进行工作时,A、B控制系统(处理器,通讯、I/O)独立运行,由主系统的PLC掌握对ET200从站中的I/O控制权。A、B系统中的PLC程序由非冗余(non-duplicated)用户程序段和冗余(redundant backup)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。
软冗余系统内部的运行过程参考图7-2。
图7-2软冗余系统内部的运行过程
主系统的CPU将数据同步到备用系统的CPU需要1到几个程序扫描循环,如图7-3所示:
图7-3软冗余同步原理
数据同步所需要的时间取决于同步数据量的大小和同步所采用的网络方式,MPI方式周期最长,PROFIBUS方式适中,Ethernet网方式最快。同步通信效率见表7-1
表7-1同步通信效率
PROFIBUS 网络 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 1.5 Mbaud WWW.PLCJS.COM——可编程控制器技术门户 |
Ethernet 以太网 WWW_P※LCJS_COM-PLC-)技.术_网 10 MBaud WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
MPI网络 WWW_PLC※JS_COM-PmLC-技.术_网 187.5 kBaud WW.W_PLCJS_COM-PLC-技.术_网 |
每60ms 传送240个字节数据 P.L.C.技.术.网——可编程控制器技术门户 |
每48ms 传送 240个字节数据 WWW_PL※CJS_COM-PLC-技.术_网 |
每152ms 传送76个字节数据 WWW_PLCJS@_COM%-PLC-技.术_网 |
用户需要在初始化程序中(OB100)定义冗余部分的数据区,该数据区可以包括:一个 过程映象区(process image area),一个定时器区(IEC timer area),一个计数器区(IEC counter area),一个 位地址区(memory address area)和一个 数据块区(data block area),S7-300同步的最大数据量为8 kBytes,S7-400同步的最大数据量64kBytes。
主备系统的切换时间 = 故障诊断检测时间 + 同步数据传输时间 + DP从站切换时间
如果CPU的故障是停机或断电,则故障诊断为大约100-1000毫秒,315-2DP同步1000字节的数据所需的时间大约为200-300ms,8个DP从站的切换时间在100ms左右。可以在软冗余手册当中找到关于切换时间的具体说明。
无论控制程序循环扫描到哪里,当前激活的系统(即主系统)随时都会接收并处理报警信息,这样,在主系统A与备用系统B进行切换过程中产生的alarm存在被丢失的可能。
7.1.3 产品订货信息
软件冗余系统相关产品的订货信息参考表7-2。
表7-2软件冗余系统相关产品的订货信息
产品名称 W1WW_P4LCJS_COM-PLC-技.术_网 |
订货号 WWW_PLCJS@_COM%-PLC-技.术_网 |
描述 WWW_P※LCJS_COM-PLC-)技.术_网 |
CPU 系列 WWcW_PLCJS_COM-PLC-技.术_网 | ||
CPU314C-2DP WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
6ES7 314-6CF00-0AB0 WW.W_PLCJS_COM-PLC-技.术_网 |
S7-300系列只能够实现软件冗余,无硬件冗余的功能。 plcjs.技.术_网 |
CPU313C-2DP WWW_P※LCJS_CO※M-PLC-技-.术_网 |
6ES7 313-6CE00-0AB0 WWcW_PLCJS_COM-PLC-技.术_网 | |
CPU 31x-2DP W1WW_P4LCJS_COM-PLC-技.术_网 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
6ES7 315-2AFxx-0AB0 WWW_PL※CJS_COM-PLC-技.术_网 6ES7 315-2AG10-0AB0 W1WW_P4LCJS_COM-PLC-技.术_网 6ES7 316-2AGxx-0AB0 WWW_P※LCJS_CO※M-PLC-技-.术_网 6ES7 318-2AJxx-0AB0 P.L.C.技.术.网——可编程控制器技术门户 | |
CPU 412-1 WWW_PL※CJS_COM-PLC-技.术_网 CPU 412-2 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
6ES7 412-1XFxx-0AB0 WWW_PL※CJS_COM-PLC-技.术_网 6ES7 412-1FK03-0AB0 ——可——编——程——控-制-器-技——术——门——户 6ES7 412-2XGxx-0AB0 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
S7-400全系列的CPU都可以应用于软冗余系统; plcjs.技.术_网 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 S7-400 H系列的CPU属于硬件冗余方式,相对于软冗余,硬件冗余系统切换速度快,主备CPU中的数据和事件保证完全一致,适于高可靠性应用场合,成本较高 WWW_P※LCJS_COM-PLC-)技.术_网 |
CPU 413-1 WW.W_PLCJS_COM-PLC-技.术_网 CPU 413-2DP WWW_P※LCJS_COM-PLC-)技.术_网 |
6ES7 413-1XGxx-0AB0 WW.W_PLC※JS_C,OM-PL,C-技.术_网 6ES7 413-2XGxx-0AB0 WWW_PL※CJS_COM-PLC-技.术_网 | |
CPU 414-1 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 6ES7 414-1XGxx-0AB0 WWW_PL※CJS_COM-PLC-技.术_网 6ES7 414-2XGxx-0AB0 WWW_P※LCJS_COM-PLC-)技.术_网 6ES7 414-2XJxx-0AB0 W1WW_P4LCJS_COM-PLC-技.术_网 6ES7 414-3XJxx-0AB0 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) | ||
CPU 416-1 WWW_P※LCJS_CO※M-PLC-技-.术_网 CPU 416-2DP WWW.PLCJS.COM——可编程控制器技术门户 CPU 416-3DP WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) CPU 417-4 plcjs.技.术_网 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
6ES7 416-1XJxx-0AB0 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 6ES7 416-2XKxx-0AB0 plcjs.技.术_网 6ES7 416-2XLxx-0AB0 WWcW_PLCJS_COM-PLC-技.术_网 6ES7 416-3XLxx-0AB0 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) 6ES7 417-4XLxx-0AB0 ——可——编——程——控-制-器-技——术——门——户 | |
CP 通讯处理器系列(数据同步 Redundant-backup link) WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) | ||
CP 342-5 PROFIBUS通讯模块 plcjs.技.术_网 |
6ES7 342-5DA00-0XE0 WWW_PLCJS@_COM%-PLC-技.术_网 6GK7 342-5DA02-0XE0 WWcW_PLCJS_COM-PLC-技.术_网 |
P.L.C.技.术.网——可编程控制器技术门户 |
CP 343-1 Ethernet 通讯模块 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
6GK7 343-1BA00-0XE0 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 6GK7 343-1EX11-0XE0 ——可——编——程——控-制-器-技——术——门——户 |
WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
CP 443-5 Extended PROFIBUS通讯模块 plcjs.技.术_网 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
6EK7 443-5DXxx-0XE0 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
CP 443-1 ISO Ethernet 通讯模块 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
6EK7 443-1BXxx-0XE0 WWW_PL※CJS_COM-PLC-技.术_网 WWW_PLCJS@_COM%-PLC-技.术_网 |
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
ET200系列 WW.W_PLCJS_COM-PLC-技.术_网 | ||
2x DP slave interface IM 153-2 W1WW_P4LCJS_COM-PLC-技.术_网 |
6ES7 153-2AA02-0XB0 W1WW_P4LCJS_COM-PLC-技.术_网 6ES7 153-2AB01-0XB0 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
适于ET200M的所有数字量、模拟量 I/O 模板 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
参照S7-300选型样本和STEP 7的硬件组态窗口中ET200文件夹中的I/O模块 WWW_PLCJS_COM-PLC-技.术_网 |
S7-300 模板手册的下载路径: WW.W_PLCJS_COM-PLC-技.术_网 WWW_PLCJS@_COM%-PLC-技.术_网 |
CP 341 WWW_PL※CJS_COM-PLC-技.术_网 |
6ES7 341-1xH01-0AE0 plcjs.技.术_网 |
串口通讯模板 WWW_PLCJS_COM-PLC-技.术_网 |
FM 350 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
6ES7 350-1AH0x-0AE0 WWW.PLCJS.COM——可编程控制器技术门户 |
计数器功能模板 WWW_PLCJS_COM-PLC-技.术_网 |
相关软件及附件 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) | ||
STEP7 编程软件 plcjs.技.术_网 |
6ES7810-4CC07-0YA5 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
软冗余软件包(Software Redundancy) WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
6ES7862-0AC01-0YA0 WWcW_PLCJS_COM-PLC-技.术_网 |
包括冗余功能块的安装软件和授权 WWcW_PLCJS_COM-PLC-技.术_网 |
PROFIBUS标准电缆 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
6XV1 830-0EH10 ——可——编——程——控-制-器-技——术——门——户 |
按米订货 WWW_PL※CJS_COM-PLC-技.术_网 |
RS485总线连接器 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
6ES7 972-0BA12-0XA0 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
PROFIBUS网络连接头 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
CP5611通讯卡 WWW_PLC※JS_COM-PmLC-技.术_网 |
6GK1 561-1AA00 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
进行编程和上位机监控的通讯卡 WWW.PLCJS.COM——可编程控制器技术门户 |
注:
1) 只有S7-300 315-2DP(除CPU314C-2DP、CPU313C-2DP)型号以上的PLC才支持软冗余功能,所有的S7-400都支持软冗余功能;
2) 主系统与备用系统的CPU型号可以不同,如主系统采用一套S7-400系统,而备用系统采用一套S7-300系统;
7.2 软件冗余系统的调试过程
在计算机上首先安装STEP7 5.x软件和软冗余软件包,软冗余软件光盘包括了冗余功能程序块库、不同系统结构的例子程序和软冗余使用手册。
7.2.1 不同系统结构方式下的功能块:
在安装完软冗余的软件后,可以在STEP7当中找到例子程序和功能程序块库,如图7-4所示:
图7-4 软件冗余的例子程序
以上图7-4显示的是在STEP7中使用OPEN菜单打开软冗余的例子程序,例子程序中采用MPI链路实现数据的同步。在Libraries找到不同CPU以及不同链接方式下可以使用的功能块,如图7-5所示:
图7-5 软件冗余功能块
下面的两个表格分别说明了采用S7-300,S7-400进行软件冗余时,可采用的不同网络连接以及所需调用的程序功能块包,参考表7-3和7-4。
表7-3 S7?300进行数据同步使用的程序库
Select this package P.L.C.技.术.网——可编程控制器技术门户 |
For this network plcjs.技.术_网 |
And this connection type WWcW_PLCJS_COM-PLC-技.术_网 |
Remarks WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
XSEND_300 WWW_PL※CJS_COM-PLC-技.术_网 |
MPI P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
Permanently configured connection WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
Network connected to MPI interface of CPU WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
AG_SEND_300 P.L.C.技.术.网——可编程控制器技术门户 |
PROFIBUS WWW_PLCJS_COM-PLC-技.术_网 |
FDL connection WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
Network connected via CP342?5 P.L.C.技.术.网——可编程控制器技术门户 |
WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
Industrial Ethernet WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
ISO connection WWW_P※LCJS_CO※M-PLC-技-.术_网 ——可——编——程——控-制-器-技——术——门——户 |
Network connected via CP345?1 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
表7-4 S7?400进行数据同步使用的程序库
Select this package WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
For this network plcjs.技.术_网 |
And this connection type WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
Remarks WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
XSEND_400 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
MPI plcjs.技.术_网 |
Permanently configured connection WWcW_PLCJS_COM-PLC-技.术_网 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
Network connected to MPI interface of CPU plcjs.技.术_网 |
AG_SEND_400 WWW_PL※CJS_COM-PLC-技.术_网 |
PROFIBUS WWW_P※LCJS_COM-PLC-)技.术_网 |
FDL connection WW.W_PLCJS_COM-PLC-技.术_网 |
Network connected via CP443?5 WW.W_PLCJS_COM-PLC-技.术_网 |
P.L.C.技.术.网——可编程控制器技术门户 |
Industrial Ethernet P.L.C.技.术.网——可编程控制器技术门户 |
ISO connection W1WW_P4LCJS_COM-PLC-技.术_网 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
Network connected via CP443?1 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
BSEND_400 WWcW_PLCJS_COM-PLC-技.术_网 |
MPI WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
S7 connection WWcW_PLCJS_COM-PLC-技.术_网 |
Network connected to MPI interface of CPU WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
WW.W_PLCJS_COM-PLC-技.术_网 |
PROFIBUS W1WW_P4LCJS_COM-PLC-技.术_网 |
WW.W_PLCJS_COM-PLC-技.术_网 |
Network connected via CP 443?5 WWW.PLCJS.COM——可编程控制器技术门户 |
plcjs.技.术_网 |
Industrial Ethernet WWcW_PLCJS_COM-PLC-技.术_网 |
WWW_PL※CJS_COM-PLC-技.术_网 |
Network connected via CP 443?1 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
从以上的表格中可以看到,软冗余系统当中可以采用MPI、PROFIBUS、Ethernet 三种网络实现主系统和备用系统之间的数据同步(Redundant-backup link)。
采用BSEND_400包中的功能块进行数据同步时,无论数据同步的连接是什么方式,都需要在STEP7的NETPRO窗口中组态一个 S7 Connection。除了BSEND_400中之外,使用其他功能块:
l 采用MPI网络时,直接使用PLC的编程口进行数据同步,不需要进行连接(Connection)的组态,但MPI数据同步的效率低。
l 采用PROFIBUS网络时,需要使用一对CP通讯卡(CP342-5或CP443-5),在STEP7的NETPRO窗口中组态主系统和备用系统之间的FDL连接。
l 采用Ethernet网络时,需要使用一对CP通讯卡(CP343-1或CP443-1),在NETPRO窗口中组态主系统和备用系统之间的ISO连接。
冗余功能块的说明参考表7-5。
表7-5冗余功能块说明:
名称 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
描述 WWW_PL※CJS_COM-PLC-技.术_网 |
FC 100 ‘SWR_START’ P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
初始化程序块,定义系统运行的参数。 WWW_P※LCJS_COM-PLC-)技.术_网 |
FB 101 ‘SWR_ZYK’ WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
循环调用的数据同步功能块,将主系统中的冗余数据复制到备用系统当中 WWW_PLCJS@_COM%-PLC-技.术_网 |
FC 102 ‘SWR_DIAG’ WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
诊断功能块,在OB86中调用,将得到的诊断数据提供给FB101使用。 P.L.C.技.术.网——可编程控制器技术门户 |
FB 103 ‘SWR_SFCCOM’ WWW.PLCJS.COM——可编程控制器技术门户 |
在该块内部调用 SFC 65 ‘X_SEND’ 和 SFC 66 ‘X_RCV’功能块,实现采用MPI网络的数据同步。 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
FB 104 ‘SWR_AG_COM’ WWW_P※LCJS_COM-PLC-)技.术_网 |
在该块内部调用FC 5 ‘AG_SEND’, FC 6 ‘AG_RCV’,实现采用PROFIBUS或Ethernet网络的数据同步。 W1WW_P4LCJS_COM-PLC-技.术_网 |
FB 105 ‘SWR_SFBCOM’ W1WW_P4LCJS_COM-PLC-技.术_网 |
在该块内部调用SFB 12 ‘BSEND’ and SFB 13 ‘BRCV’功能块,实现MPI或PROFIBUS或Ethernet网络的数据同步,只能在S7-400 中调用。 WWcW_PLCJS_COM-PLC-技.术_网 |
DB_WORK_NO WWW_PLCJS@_COM%-PLC-技.术_网 |
冗余软件块使用的数据区,用户不需要生成该数据块,也不使用该数据块中的数据; WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
DB_SEND_NO ——可——编——程——控-制-器-技——术——门——户 |
用于主系统发送同步数据到备用系统的发送数据区(包括了主系统的M、T、C、DB等区域的数据),用户不需要生成该数据块,也不使用该数据块中的数据; WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
DB_RCV_NO WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
用于备用系统接收来自主系统的同步数据的接收数据区,用户不需要生成该数据块,也不使用该数据块中的数据; WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
DB_A_B_NO WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
从A站到B站,非冗余同步的数据的收发区; WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
DB_B_A_NO P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
从B站到A站,非冗余同步的数据的收发区; plcjs.技.术_网 |
DB_COM_NO WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
FB101的背景数据块,包括了数据同步链路的状态,控制等信息,用户需要生成该数据块,DBW8为状态字,DBW10为控制字,; WWW_PL※CJS_COM-PLC-技.术_网 |
FC 5 ‘AG_SEND’ WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
PROFIBUS网络中,实现FDL链接,在FB104内部调用的发送块,用户需要生成该程序块,并下载到PLC当中。 WWW_PLCJS@_COM%-PLC-技.术_网 |
FC 6 ‘AG_RCV’ WW.W_PLCJS_COM-PLC-技.术_网 |
PROFIBUS网络中,实现FDL链接,在FB104内部调用的接收块,用户需要生成该程序块,并下载到PLC当中。 ——可——编——程——控-制-器-技——术——门——户 |
注:
1) 用PROFIBUS或Ethernet方式进行数据同步时,需要在OB100当中调用FB101,而FB101内部调用了FB104、FC5、FC6,所以您必须手动地将FB104、FC5、FC6插入到项目当中,插入的方法是:在程序中调用一次,再将这条语句删掉。
2) 在OB100中调用FC100功能块时,PLC会自动创建一些与FC100参数相关的程序段和数据块,所以当你更改了FC100的参数时,应该对PLC进行Reset操作,再重新下载项目的软硬件到PLC当中。
7.2.2 实例
例子由两套315-2DP和一个ET200M从站组成,系统结构如图7-6所示:
图7-6 系统配置
除了实现冗余功能的3条PROFIBUS网络外,还有一条MPI网络用于上位机监视和控制程序的调试。
以下是生成该例子程序的步骤,可以根据系统的配置情况进行参照:
(1)插入两个S7-300的站,A 和 B ,在A站和B站的硬件组态窗口中,插入315-2DP时,要分别创建相互独立的PROFIBUS网络(如 A站为Master_Line、B站为Reserve_Line),使用网络的默认参数,速率为1.5M,并都将站地址设定为2,A站和B站的PROFIBUS DP集成通讯口设定为主站模式(Master Mode)。
(2)分别在A、B站中插入CP342-5模块,连接到同一个PROFIBUS网络上(Sychronization_Line),地址分别为4、5,将CP342-5设定为No DP方式,并记录CP342-5的硬件地址256。
(3)分别在A、B站的硬件组态窗口中插入一个ET200从站(一个IM153-2模块和一个16入/16出的数字量模板),DP的地址为3。
(4) 进入STEP7的网络组态窗口NETPRO中,选中A站的CPU点击鼠标右键,插入一个新的链接,选择FDL Connection,点击Apply,弹出链接属性窗口,记录链接的ID,设定LSAP为17,18,存盘编译网络组态。系统的网络结构如图7-7所示:
图7-7 系统的网络结构
以上网络结构中包括了4条链路:
l 用于上位机编程和监控的MPI链路;
l A站与ET200从站Master Line PROFIBUS链路;
l B站与ET200从站Reserve Line PROFIBUS链路;
l A站和B站之间进行数据同步的Synchronization Line PROFIBUS链路。
可以通过点击图中的状态读取按钮,获取当前FDL链接的状态,上图的左下角显示当前在线读取FDL的状态为OK。
(5)在A站的Block中插入OB1(主循环程序块)、OB35(定时中断组织块)、OB100(暖启动调用程序块)、OB80(在主系统与备用系统切换时间超时时,调用该块)、OB82 (DP-Slave ET200站上的IM153-2模块出错报警,调用该功能块)、OB83 (DP从站的接口模块与主站链接断开或链接重新建立时调用该块)、OB85(程序运行出错或DP从站连接失败调用该块)、OB86(主从站通讯出错调用该块)、OB87(通讯失败调用该块)、OB122(外围设备访问出错调用该块)、OB121等组织块,并对其中的OB100、OB35、OB86进行编程。
(6)在OB100中我们调用FC 100 ‘SWR_START’进行软冗余的初始化,有几个参数需要特别注意,LADDR应当和CP342-5的硬件地址相一致,例子程序为256,VERB_ID必须和在NETPRO中创建的FDL链路的ID号一致,例子程序为1,DB_COM_NO建议仍采用DB5。
FC100功能块参数的说明和例子见表7-6,
表7-6 FC100 参数说明
参数名 ——可——编——程——控-制-器-技——术——门——户 |
数据类型 WWW_PL※CJS_COM-PLC-技.术_网 |
描述 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
例子 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
AG_KENNUNG P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
字符型 WW.W_PLCJS_COM-PLC-技.术_网 |
A站应当填 ‘A’ ——可——编——程——控-制-器-技——术——门——户 B站应当填 ‘B’ WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
‘A’ P.L.C.技.术.网——可编程控制器技术门户 |
DB_WORK_NO WWW_PLC※JS_COM-PmLC-技.术_网 |
数据块名称 WWW_PLCJS_COM-PLC-技.术_网 |
软冗余功能实现所需要使用的内部数据块,用户不用生成该块,也无需读写其中的数据 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
DB1 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
DB_SEND_NO WWW_P※LCJS_COM-PLC-)技.术_网 |
数据块名称 WWW.PLCJS.COM——可编程控制器技术门户 |
存放发送数据所使用的内部数据块,AàB或BàA,用户不用生成该块,也无需读写其中的数据 WWW_PLC※JS_COM-PmLC-技.术_网 |
DB2 WWW_PLC※JS_COM-PmLC-技.术_网 |
DB_RCV_NO WWW_PLC※JS_COM-PmLC-技.术_网 |
数据块名称 WWcW_PLCJS_COM-PLC-技.术_网 |
存放接收数据所使用的内部数据块,A?B或B?A,用户不用生成该块,也无需读写其中的数据 ——可——编——程——控-制-器-技——术——门——户 |
DB3 P.L.C.技.术.网——可编程控制器技术门户 |
MPI_ADR ——可——编——程——控-制-器-技——术——门——户 |
整型 WWW_PLCJS_COM-PLC-技.术_网 |
对方站的MPI站地址,进行MPI网络数据同步时才有意义 P.L.C.技.术.网——可编程控制器技术门户 |
2 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
LADDR WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
整型 WWW_PLC※JS_COM-PmLC-技.术_网 |
CP通讯处理器组态的硬件地址,采用PROFIBUS或Ethernet网络进行数据同步时才有意义 WWW_PL※CJS_COM-PLC-技.术_网 |
256 WW.W_PLCJS_COM-PLC-技.术_网 |
VERB_ID WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
整型 P.L.C.技.术.网——可编程控制器技术门户 |
网络链接的ID号,在NETPRO窗口中组态的链接的ID值,如FDL Connection、ISO Connection或S7 Connection。 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
1 WWW_PLCJS@_COM%-PLC-技.术_网 |
DP_MASTER_SYS_ID WWW.PLCJS.COM——可编程控制器技术门户 |
整型 WW.W_PLCJS_COM-PLC-技.术_网 |
DP主站网络的ID号,你可以在NETPRO窗口中双击链接ET200M从站紫色的PROFIBUS主从网络,获取该ID值。 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
1 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
DB_COM_NO P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
数据块名称 WWW_PLC※JS_COM-PmLC-技.术_网 |
FB101所用使用的背景数据块,需用户生成该块,并可以读取状态字DBW8和控制字DBW10,获取系统信息或手动切换主备系统 WWW_PLCJS@_COM%-PLC-技.术_网 |
DB5 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
DP-KOMMUN WWW.PLCJS.COM——可编程控制器技术门户 |
整型 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
确定链接ET200从站的DP通讯口类型: WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) 1. 使用CPU上集成DP通讯口链接ET200从站; WWW.PLCJS.COM——可编程控制器技术门户 2. 使用CP通讯卡上的DP通讯口链接ET200从站; WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
1 WWW_P※LCJS_COM-PLC-)技.术_网 |
ADR_MODUS ——可——编——程——控-制-器-技——术——门——户 |
整型 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
CPU分配I/O地址的矩阵的增量,不同CPU的地址矩阵不同: ——可——编——程——控-制-器-技——术——门——户 1, if base addresses 0, 1, 2, 3 ... WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) 4, if base addresses 0, 4, 8, 12 ... WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
1 WWcW_PLCJS_COM-PLC-技.术_网 |
PAA_FIRST WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
整数 ——可——编——程——控-制-器-技——术——门——户 |
ET200M站第一个输出字节的地址 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 WWW_PL※CJS_COM-PLC-技.术_网 |
0 WWW_PLC※JS_COM-PmLC-技.术_网 |
PAA_LAST WWW_PLCJS_COM-PLC-技.术_网 |
整型 ——可——编——程——控-制-器-技——术——门——户 |
ET200M站最后一个输出字节的地址,PAA_FIRST 到 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) PAA_LAST的字节范围必须是ET200M站上连续定义的。 W1WW_P4LCJS_COM-PLC-技.术_网 WWW_PL※CJS_COM-PLC-技.术_网 |
4 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
MB_NO WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
整型 WW.W_PLCJS_COM-PLC-技.术_网 |
冗余的M数据区的起始字节地址 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
20 WWW_PL※CJS_COM-PLC-技.术_网 |
MB_LEN WWW_P※LCJS_COM-PLC-)技.术_网 |
整型 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
冗余的M数据区的字节个数,如MB_NO为20,MB_LEN为30,则MB20-MB49这个数据段为冗余数据区; WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
30 WWW_PLCJS@_COM%-PLC-技.术_网 |
IEC_NO WWW_PLCJS@_COM%-PLC-技.术_网 |
整型 WWW.PLCJS.COM——可编程控制器技术门户 |
冗余的IEC定时器、IEC计数器所使用的起始背景数据块 WWW_P※LCJS_COM-PLC-)技.术_网 |
111 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
IEC_LEN WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
整型 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
冗余的IEC定时器、IEC计数器所使用的背景数据块的个数,如IEC_NO设为111,IEC_LEN设为7,则DB111-DB117为存放冗余同步定时器、计数器的背景数据去 WW.W_PLCJS_COM-PLC-技.术_网 |
7 WWW_PL※CJS_COM-PLC-技.术_网 |
DB_NO WWcW_PLCJS_COM-PLC-技.术_网 |
整型 ——可——编——程——控-制-器-技——术——门——户 |
冗余的起始数据块 WW.W_PLCJS_COM-PLC-技.术_网 |
8 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
DB_NO_LEN WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
整型 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
冗余的数据块个数,如DB_NO为8,DB_NO_LEN为2,则DB8-DB9为冗余的数据块 WWW_PLCJS@_COM%-PLC-技.术_网 |
2 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
SLAVE_NO WWW_P※LCJS_CO※M-PLC-技-.术_网 |
整型 plcjs.技.术_网 |
ET200从站的最低站地址 ——可——编——程——控-制-器-技——术——门——户 |
3 WWW.PLCJS.COM——可编程控制器技术门户 |
SLAVE_LEN P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
整型 WWW_PLCJS@_COM%-PLC-技.术_网 |
ET200从站的个数,如SLAVE_NO为3,SLAVE_LEN为2,则该软冗余系统连接了站号为3,4的两个ET200从站,站号必须连续。 WWW_P※LCJS_COM-PLC-)技.术_网 |
WWcW_PLCJS_COM-PLC-技.术_网 |
SLAVE_DISTANCE ——可——编——程——控-制-器-技——术——门——户 |
整型 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
确定所链接ET200从站上IM153-2模块的PROFIBUS DP站地址: WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) 1. 2块IM153-2模块的DP口使用相同的站地址; WW.W_PLCJS_COM-PLC-技.术_网 2. 2块IM153-2模块的DP口的站地址为n和n+1; WWW_P※LCJS_CO※M-PLC-技-.术_网 |
1 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
DB_A_B_NO ——可——编——程——控-制-器-技——术——门——户 |
数据块名称 plcjs.技.术_网 |
通过数据同步链路(Redundency Link),A、B站之间还能进行一些非冗余数据通讯,即2个PLC之间的普通数据交换,该参数即定义从A站到B站,交换的非冗余数据块。 WWW_PLCJS_COM-PLC-技.术_网 |
DB11 P.L.C.技.术.网——可编程控制器技术门户 |
DB_A_B_NO_LEN WWW_PLCJS_COM-PLC-技.术_网 |
WORD WWW_PLCJS_COM-PLC-技.术_网 |
A站到B站,非冗余数据块中交换的Word字数,如DB_A_B_NO设为DB11,DB_A_B_NO_LEN设为. W#16#64,则A站的DB11.DBW0-DB11.DBW198被复制到B站的DB11.DBW0-DB11.DBW198,因为W#16#64代表16进制64,即一共复制100个数据字。 WW.W_PLCJS_COM-PLC-技.术_网 |
W#16#64 WWcW_PLCJS_COM-PLC-技.术_网 |
DB_B_A_NO WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
数据块名称 WWW.PLCJS.COM——可编程控制器技术门户 |
该参数即定义从B站到A站,交换的非冗余数据块。 WWW_P※LCJS_COM-PLC-)技.术_网 |
DB12 WWW.PLCJS.COM——可编程控制器技术门户 |
DB_B_A_NO_LEN WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
WORD P.L.C.技.术.网——可编程控制器技术门户 |
B站到A站,非冗余数据块中交换的Word字数,如DB_B_A_NO设为DB12,DB_B_A_NO_LEN设为. W#16#64,则B站的DB12.DBW0-DB12.DBW198被复制到A站的DB12.DBW0-DB12.DBW198,因为W#16#64代表16进制64,即一共复制100个数据字。 W1WW_P4LCJS_COM-PLC-技.术_网 |
W#16#64 P.L.C.技.术.网——可编程控制器技术门户 |
RETURN_VAL WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
WORD WWW_P※LCJS_COM-PLC-)技.术_网 |
调用FC100的返回值,为0代表正常,其他返回值您可以在错误代码表中找到对应的错误原因。 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
MW2 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
EXT_INFO P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
WORD WWW_PLCJS_COM-PLC-技.术_网 |
FC100中内部调用的一些功能块所返回的错误代码 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
MW4 plcjs.技.术_网 |
(7) 一般建议将非冗余程序段编写在OB1当中,而将冗余程序段编写在OB35当中,这里使用的是OB35的默认属性,即每100ms中断触发一次,可以根据实际的需要在CPU属性中修改中断的时间间隔。在OB35里调用FB 101 ‘SWR_ZYK’ 功能块,FB101块中封装了冗余功能的程序段,实现冗余功能。调用FB101时,你可以在线地读出RETURN_VAL参数的数值,如果为0,说明冗余链接正常。如果为8015说明数据同步的连接不成功,这是一个常见的错误,原因可能是CP342-5之间的FDL链接建立的不正确或物理链路不通,或者是FC100的VERB_ID参数与NETPRO中的链接ID号不一致。当执行”SWR_START”程序块时,系统分配这些数据区,不能用S7的定时器和计数器,只能使用IEC标准的定时器和计数器。可以在软冗余手册的第三章第9节找到对应的诊断信息。OB35中的程序可以分为4个部分,如图7-8所示:
A.在循环程序块(OB1或OB35)的开始调用FB101,并将CALL_POSITION置为TRUE
B.可以在DB5中得到控制字(DBW10)和状态字DBW8的信息。分析状态字中的信息,如果当前站为备用系统,则跳过冗余程序段。
C.冗余程序段。该处为您的冗余程序段
D.在循环程序块(OB1或OB35)的结尾调用FB101,将CALL_POSITION置为FALSE,停止系统冗余程序段。
图 7-8 冗余程序举例
程序执行如下:
第一步(A)启动系统的冗余数据同步功能 à
第二步(B)根据状态字判断是否为主系统,为主系统时才执行第三步,否则跳到第四步à
第三步(C)为冗余的程序段 à
第四步(D)停止系统的冗余数据同步。
通过对OB35中的程序在线监控,得知当前冗余功能成功与否,如图7-9所示:
图7-9 FB101 状态值
图7-9显示,FB101的返回值Return_VAL和Ext_INFO为0,说明冗余功能正常。
通过FB101的背景数据块中的状态字和控制字,可以知道系统的运行的情况和当前哪个系统为主系统,哪个为备用系统,状态字的定义如图7-10所示:
图7-10 软件冗余状态字
可以通过写控制字中对应的位,起停备用系统与主系统之间的冗余通讯,也可以实现主系统与备用系统之间的手动切换,如图7-11所示:
图7-11软件冗余控制字
通过设定DB5.DBX10.0为1,实现主系统与备用系统的手动切换。
(8)在OB86中调用诊断功能块FC 102 ‘SWR_DIAG’,当系统出现PROFIBUS总线错误时,该功能块返回诊断信息,供FB101使用。
(9)插入FB101内部调用的FB104,FC5、FC6等功能块,将所有的程序块下载到PLC当中。
(10)在组态软件WinCC中创建两个MPI链接,分别与主系统和备用系统进行链接,并生成对应的Tag变量,如图7-12所示:
图7-12 WINCC中创建连接
利用WINCC的向导功能可以创建冗余的连接,通常的情况下, A、B站冗余的数据连接WINCC建立的冗余连接,A站数据连接WINCC专一与A站建立的连接,B站数据连接WINCC专一与B站建立的连接。
CPU 414-3DP
6ES7 414-1XGxx-0AB0
6ES7 414-2XGxx-0AB0
6ES7 414-2XJxx-0AB0
6ES7 414-3XJxx-0AB0
CPU 416-1
CPU 416-2DP
CPU 416-3DP
CPU 417-4
6ES7 416-1XJxx-0AB0
6ES7 416-2XKxx-0AB0
6ES7 416-2XLxx-0AB0
6ES7 416-3XLxx-0AB0
6ES7 417-4XLxx-0AB0
CP 通讯处理器系列(数据同步 Redundant-backup link)
CP 342-5 PROFIBUS通讯模块
6ES7 342-5DA00-0XE0
6GK7 342-5DA02-0XE0
CP 343-1 Ethernet 通讯模块
6GK7 343-1BA00-0XE0
6GK7 343-1EX11-0XE0
CP 443-5 Extended PROFIBUS通讯模块
6EK7 443-5DXxx-0XE0
CP 443-1 ISO Ethernet 通讯模块
6EK7 443-1BXxx-0XE0
ET200系列
2x DP slave interface IM 153-2
6ES7 153-2AA02-0XB0
6ES7 153-2AB01-0XB0
适于ET200M的所有数字量、模拟量 I/O 模板
参照S7-300选型样本和STEP 7的硬件组态窗口中ET200文件夹中的I/O模块
S7-300 模板手册的下载路径:
CP 341
6ES7 341-1xH01-0AE0
串口通讯模板
FM 350
6ES7 350-1AH0x-0AE0
计数器功能模板
相关软件及附件
STEP7 编程软件
6ES7810-4CC07-0YA5
软冗余软件包(Software Redundancy)
6ES7862-0AC01-0YA0
包括冗余功能块的安装软件和授权
PROFIBUS标准电缆
6XV1 830-0EH10
按米订货
RS485总线连接器
6ES7 972-0BA12-0XA0
PROFIBUS网络连接头
CP5611通讯卡
6GK1 561-1AA00
进行编程和上位机监控的通讯卡
注:
1) 只有S7-300 315-2DP(除CPU314C-2DP、CPU313C-2DP)型号以上的PLC才支持软冗余功能,所有的S7-400都支持软冗余功能;
2) 主系统与备用系统的CPU型号可以不同,如主系统采用一套S7-400系统,而备用系统采用一套S7-300系统;
7.2 软件冗余系统的调试过程
在计算机上首先安装STEP7 5.x软件和软冗余软件包,软冗余软件光盘包括了冗余功能程序块库、不同系统结构的例子程序和软冗余使用手册。
7.2.1 不同系统结构方式下的功能块:
在安装完软冗余的软件后,可以在STEP7当中找到例子程序和功能程序块库,如图7-4所示:
图7-4 软件冗余的例子程序
以上图7-4显示的是在STEP7中使用OPEN菜单打开软冗余的例子程序,例子程序中采用MPI链路实现数据的同步。在Libraries找到不同CPU以及不同链接方式下可以使用的功能块,如图7-5所示:
图7-5 软件冗余功能块
下面的两个表格分别说明了采用S7-300,S7-400进行软件冗余时,可采用的不同网络连接以及所需调用的程序功能块包,参考表7-3和7-4。
表7-3 S7?300进行数据同步使用的程序库
Select this package P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
For this network W1WW_P4LCJS_COM-PLC-技.术_网 |
And this connection type WWW_PL※CJS_COM-PLC-技.术_网 |
Remarks WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
XSEND_300 WW.W_PLCJS_COM-PLC-技.术_网 |
MPI WWW_P※LCJS_COM-PLC-)技.术_网 |
Permanently configured connection P.L.C.技.术.网——可编程控制器技术门户 WWW_PLC※JS_COM-PmLC-技.术_网 |
Network connected to MPI interface of CPU WW.W_PLCJS_COM-PLC-技.术_网 |
AG_SEND_300 WWW_PLCJS@_COM%-PLC-技.术_网 |
PROFIBUS ——可——编——程——控-制-器-技——术——门——户 |
FDL connection WWW_PLC※JS_COM-PmLC-技.术_网 |
Network connected via CP342?5 WWW_PLC※JS_COM-PmLC-技.术_网 |
WWW_PLC※JS_COM-PmLC-技.术_网 |
Industrial Ethernet WWW_PL※CJS_COM-PLC-技.术_网 |
ISO connection ——可——编——程——控-制-器-技——术——门——户 P.L.C.技.术.网——可编程控制器技术门户 |
Network connected via CP345?1 WWW_PLC※JS_COM-PmLC-技.术_网 |
表7-4 S7?400进行数据同步使用的程序库
Select this package WWW.PLCJS.COM——可编程控制器技术门户 |
For this network W1WW_P4LCJS_COM-PLC-技.术_网 |
And this connection type WWW_PLCJS@_COM%-PLC-技.术_网 |
Remarks WWW_P※LCJS_COM-PLC-)技.术_网 |
XSEND_400 WWcW_PLCJS_COM-PLC-技.术_网 |
MPI WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
Permanently configured connection P.L.C.技.术.网——可编程控制器技术门户 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
Network connected to MPI interface of CPU WWW_PLCJS@_COM%-PLC-技.术_网 |
AG_SEND_400 WWW.PLCJS.COM——可编程控制器技术门户 |
PROFIBUS WW.W_PLCJS_COM-PLC-技.术_网 |
FDL connection WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
Network connected via CP443?5 WWW.PLCJS.COM——可编程控制器技术门户 |
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
Industrial Ethernet WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
ISO connection W1WW_P4LCJS_COM-PLC-技.术_网 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
Network connected via CP443?1 WWW.PLCJS.COM——可编程控制器技术门户 |
BSEND_400 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
MPI WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
S7 connection WWW.PLCJS.COM——可编程控制器技术门户 |
Network connected to MPI interface of CPU WWW_P※LCJS_COM-PLC-)技.术_网 |
WWW_PLCJS@_COM%-PLC-技.术_网 |
PROFIBUS plcjs.技.术_网 |
WWW_PLCJS_COM-PLC-技.术_网 |
Network connected via CP 443?5 plcjs.技.术_网 |
WWW_P※LCJS_CO※M-PLC-技-.术_网 |
Industrial Ethernet WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
——可——编——程——控-制-器-技——术——门——户 |
Network connected via CP 443?1 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
从以上的表格中可以看到,软冗余系统当中可以采用MPI、PROFIBUS、Ethernet 三种网络实现主系统和备用系统之间的数据同步(Redundant-backup link)。
采用BSEND_400包中的功能块进行数据同步时,无论数据同步的连接是什么方式,都需要在STEP7的NETPRO窗口中组态一个 S7 Connection。除了BSEND_400中之外,使用其他功能块:
l 采用MPI网络时,直接使用PLC的编程口进行数据同步,不需要进行连接(Connection)的组态,但MPI数据同步的效率低。
l 采用PROFIBUS网络时,需要使用一对CP通讯卡(CP342-5或CP443-5),在STEP7的NETPRO窗口中组态主系统和备用系统之间的FDL连接。
l 采用Ethernet网络时,需要使用一对CP通讯卡(CP343-1或CP443-1),在NETPRO窗口中组态主系统和备用系统之间的ISO连接。
冗余功能块的说明参考表7-5。
表7-5冗余功能块说明:
名称 ——可——编——程——控-制-器-技——术——门——户 |
描述 W1WW_P4LCJS_COM-PLC-技.术_网 |
FC 100 ‘SWR_START’ WWW_PLCJS_COM-PLC-技.术_网 |
初始化程序块,定义系统运行的参数。 WWW.PLCJS.COM——可编程控制器技术门户 |
FB 101 ‘SWR_ZYK’ WWW.PLCJS.COM——可编程控制器技术门户 |
循环调用的数据同步功能块,将主系统中的冗余数据复制到备用系统当中 WWW_PLC※JS_COM-PmLC-技.术_网 |
FC 102 ‘SWR_DIAG’ WWW_P※LCJS_CO※M-PLC-技-.术_网 |
诊断功能块,在OB86中调用,将得到的诊断数据提供给FB101使用。 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
FB 103 ‘SWR_SFCCOM’ WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
在该块内部调用 SFC 65 ‘X_SEND’ 和 SFC 66 ‘X_RCV’功能块,实现采用MPI网络的数据同步。 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
FB 104 ‘SWR_AG_COM’ WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
在该块内部调用FC 5 ‘AG_SEND’, FC 6 ‘AG_RCV’,实现采用PROFIBUS或Ethernet网络的数据同步。 WWW.PLCJS.COM——可编程控制器技术门户 |
FB 105 ‘SWR_SFBCOM’ WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
在该块内部调用SFB 12 ‘BSEND’ and SFB 13 ‘BRCV’功能块,实现MPI或PROFIBUS或Ethernet网络的数据同步,只能在S7-400 中调用。 WWcW_PLCJS_COM-PLC-技.术_网 |
DB_WORK_NO WW.W_PLCJS_COM-PLC-技.术_网 |
冗余软件块使用的数据区,用户不需要生成该数据块,也不使用该数据块中的数据; WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
DB_SEND_NO P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
用于主系统发送同步数据到备用系统的发送数据区(包括了主系统的M、T、C、DB等区域的数据),用户不需要生成该数据块,也不使用该数据块中的数据; P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
DB_RCV_NO WW.W_PLCJS_COM-PLC-技.术_网 |
用于备用系统接收来自主系统的同步数据的接收数据区,用户不需要生成该数据块,也不使用该数据块中的数据; WWW_PLC※JS_COM-PmLC-技.术_网 |
DB_A_B_NO WWW_P※LCJS_CO※M-PLC-技-.术_网 |
从A站到B站,非冗余同步的数据的收发区; WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
DB_B_A_NO P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
从B站到A站,非冗余同步的数据的收发区; WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
DB_COM_NO WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
FB101的背景数据块,包括了数据同步链路的状态,控制等信息,用户需要生成该数据块,DBW8为状态字,DBW10为控制字,; WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
FC 5 ‘AG_SEND’ WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
PROFIBUS网络中,实现FDL链接,在FB104内部调用的发送块,用户需要生成该程序块,并下载到PLC当中。 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
FC 6 ‘AG_RCV’ plcjs.技.术_网 |
PROFIBUS网络中,实现FDL链接,在FB104内部调用的接收块,用户需要生成该程序块,并下载到PLC当中。 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
注:
1) 用PROFIBUS或Ethernet方式进行数据同步时,需要在OB100当中调用FB101,而FB101内部调用了FB104、FC5、FC6,所以您必须手动地将FB104、FC5、FC6插入到项目当中,插入的方法是:在程序中调用一次,再将这条语句删掉。
2) 在OB100中调用FC100功能块时,PLC会自动创建一些与FC100参数相关的程序段和数据块,所以当你更改了FC100的参数时,应该对PLC进行Reset操作,再重新下载项目的软硬件到PLC当中。
7.2.2 实例
例子由两套315-2DP和一个ET200M从站组成,系统结构如图7-6所示:
图7-6 系统配置
除了实现冗余功能的3条PROFIBUS网络外,还有一条MPI网络用于上位机监视和控制程序的调试。
以下是生成该例子程序的步骤,可以根据系统的配置情况进行参照:
(1)插入两个S7-300的站,A 和 B ,在A站和B站的硬件组态窗口中,插入315-2DP时,要分别创建相互独立的PROFIBUS网络(如 A站为Master_Line、B站为Reserve_Line),使用网络的默认参数,速率为1.5M,并都将站地址设定为2,A站和B站的PROFIBUS DP集成通讯口设定为主站模式(Master Mode)。
(2)分别在A、B站中插入CP342-5模块,连接到同一个PROFIBUS网络上(Sychronization_Line),地址分别为4、5,将CP342-5设定为No DP方式,并记录CP342-5的硬件地址256。
(3)分别在A、B站的硬件组态窗口中插入一个ET200从站(一个IM153-2模块和一个16入/16出的数字量模板),DP的地址为3。
(4) 进入STEP7的网络组态窗口NETPRO中,选中A站的CPU点击鼠标右键,插入一个新的链接,选择FDL Connection,点击Apply,弹出链接属性窗口,记录链接的ID,设定LSAP为17,18,存盘编译网络组态。系统的网络结构如图7-7所示:
图7-7 系统的网络结构
以上网络结构中包括了4条链路:
l 用于上位机编程和监控的MPI链路;
l A站与ET200从站Master Line PROFIBUS链路;
l B站与ET200从站Reserve Line PROFIBUS链路;
l A站和B站之间进行数据同步的Synchronization Line PROFIBUS链路。
可以通过点击图中的状态读取按钮,获取当前FDL链接的状态,上图的左下角显示当前在线读取FDL的状态为OK。
(5)在A站的Block中插入OB1(主循环程序块)、OB35(定时中断组织块)、OB100(暖启动调用程序块)、OB80(在主系统与备用系统切换时间超时时,调用该块)、OB82 (DP-Slave ET200站上的IM153-2模块出错报警,调用该功能块)、OB83 (DP从站的接口模块与主站链接断开或链接重新建立时调用该块)、OB85(程序运行出错或DP从站连接失败调用该块)、OB86(主从站通讯出错调用该块)、OB87(通讯失败调用该块)、OB122(外围设备访问出错调用该块)、OB121等组织块,并对其中的OB100、OB35、OB86进行编程。
(6)在OB100中我们调用FC 100 ‘SWR_START’进行软冗余的初始化,有几个参数需要特别注意,LADDR应当和CP342-5的硬件地址相一致,例子程序为256,VERB_ID必须和在NETPRO中创建的FDL链路的ID号一致,例子程序为1,DB_COM_NO建议仍采用DB5。
FC100功能块参数的说明和例子见表7-6,
表7-6 FC100 参数说明
参数名 WWW_P※LCJS_COM-PLC-)技.术_网 |
数据类型 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
描述 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
例子 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
AG_KENNUNG WWW_P※LCJS_COM-PLC-)技.术_网 |
字符型 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
A站应当填 ‘A’ WWW.PLCJS.COM——可编程控制器技术门户 B站应当填 ‘B’ WWW_PLC※JS_COM-PmLC-技.术_网 |
‘A’ WWW_PLC※JS_COM-PmLC-技.术_网 |
DB_WORK_NO WWW_PLCJS@_COM%-PLC-技.术_网 |
数据块名称 P.L.C.技.术.网——可编程控制器技术门户 |
软冗余功能实现所需要使用的内部数据块,用户不用生成该块,也无需读写其中的数据 ——可——编——程——控-制-器-技——术——门——户 |
DB1 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
DB_SEND_NO WWW_PLCJS_COM-PLC-技.术_网 |
数据块名称 WWW_PLC※JS_COM-PmLC-技.术_网 |
存放发送数据所使用的内部数据块,AàB或BàA,用户不用生成该块,也无需读写其中的数据 W1WW_P4LCJS_COM-PLC-技.术_网 |
DB2 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
DB_RCV_NO WWW_P※LCJS_CO※M-PLC-技-.术_网 |
数据块名称 WWW_P※LCJS_COM-PLC-)技.术_网 |
存放接收数据所使用的内部数据块,A?B或B?A,用户不用生成该块,也无需读写其中的数据 WWW.PLCJS.COM——可编程控制器技术门户 |
DB3 plcjs.技.术_网 |
MPI_ADR plcjs.技.术_网 |
整型 plcjs.技.术_网 |
对方站的MPI站地址,进行MPI网络数据同步时才有意义 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
2 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
LADDR WWW_P※LCJS_CO※M-PLC-技-.术_网 |
整型 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
CP通讯处理器组态的硬件地址,采用PROFIBUS或Ethernet网络进行数据同步时才有意义 WW.W_PLCJS_COM-PLC-技.术_网 |
256 WWW_PLCJS_COM-PLC-技.术_网 |
VERB_ID WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
整型 P.L.C.技.术.网——可编程控制器技术门户 |
网络链接的ID号,在NETPRO窗口中组态的链接的ID值,如FDL Connection、ISO Connection或S7 Connection。 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
1 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
DP_MASTER_SYS_ID WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
整型 WWW.PLCJS.COM——可编程控制器技术门户 |
DP主站网络的ID号,你可以在NETPRO窗口中双击链接ET200M从站紫色的PROFIBUS主从网络,获取该ID值。 W1WW_P4LCJS_COM-PLC-技.术_网 |
1 plcjs.技.术_网 |
DB_COM_NO P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
数据块名称 WWW_PLCJS_COM-PLC-技.术_网 |
FB101所用使用的背景数据块,需用户生成该块,并可以读取状态字DBW8和控制字DBW10,获取系统信息或手动切换主备系统 W1WW_P4LCJS_COM-PLC-技.术_网 |
DB5 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
DP-KOMMUN WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
整型 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
确定链接ET200从站的DP通讯口类型: WWW_PLCJS@_COM%-PLC-技.术_网 1. 使用CPU上集成DP通讯口链接ET200从站; WWW_PLCJS_COM-PLC-技.术_网 2. 使用CP通讯卡上的DP通讯口链接ET200从站; WWcW_PLCJS_COM-PLC-技.术_网 |
1 WWcW_PLCJS_COM-PLC-技.术_网 |
ADR_MODUS WWW_PL※CJS_COM-PLC-技.术_网 |
整型 WWcW_PLCJS_COM-PLC-技.术_网 |
CPU分配I/O地址的矩阵的增量,不同CPU的地址矩阵不同: WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) 1, if base addresses 0, 1, 2, 3 ... plcjs.技.术_网 4, if base addresses 0, 4, 8, 12 ... WWW_PLC※JS_COM-PmLC-技.术_网 |
1 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
PAA_FIRST WWW_PLCJS_COM-PLC-技.术_网 |
整数 WWW_PLC※JS_COM-PmLC-技.术_网 |
ET200M站第一个输出字节的地址 WWW_P※LCJS_CO※M-PLC-技-.术_网 ——可——编——程——控-制-器-技——术——门——户 |
0 WWW_PLC※JS_COM-PmLC-技.术_网 |
PAA_LAST ——可——编——程——控-制-器-技——术——门——户 |
整型 WWW_PLC※JS_COM-PmLC-技.术_网 |
ET200M站最后一个输出字节的地址,PAA_FIRST 到 WWW.PLCJS.COM——可编程控制器技术门户 PAA_LAST的字节范围必须是ET200M站上连续定义的。 WWW_PLCJS@_COM%-PLC-技.术_网 W1WW_P4LCJS_COM-PLC-技.术_网 |
4 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
MB_NO WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
整型 WWW_P※LCJS_COM-PLC-)技.术_网 |
冗余的M数据区的起始字节地址 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
20 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
MB_LEN WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
整型 WWW.PLCJS.COM——可编程控制器技术门户 |
冗余的M数据区的字节个数,如MB_NO为20,MB_LEN为30,则MB20-MB49这个数据段为冗余数据区; WWW.PLCJS.COM——可编程控制器技术门户 |
30 WWW_PL※CJS_COM-PLC-技.术_网 |
IEC_NO WWW_PL※CJS_COM-PLC-技.术_网 |
整型 WWW_P※LCJS_COM-PLC-)技.术_网 |
冗余的IEC定时器、IEC计数器所使用的起始背景数据块 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
111 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
IEC_LEN WW.W_PLCJS_COM-PLC-技.术_网 |
整型 WWW_PLCJS@_COM%-PLC-技.术_网 |
冗余的IEC定时器、IEC计数器所使用的背景数据块的个数,如IEC_NO设为111,IEC_LEN设为7,则DB111-DB117为存放冗余同步定时器、计数器的背景数据去 ——可——编——程——控-制-器-技——术——门——户 |
7 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
DB_NO WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
整型 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
冗余的起始数据块 WWW_PLC※JS_COM-PmLC-技.术_网 |
8 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
DB_NO_LEN WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
整型 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
冗余的数据块个数,如DB_NO为8,DB_NO_LEN为2,则DB8-DB9为冗余的数据块 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
2 WWW_PLCJS_COM-PLC-技.术_网 |
SLAVE_NO WWcW_PLCJS_COM-PLC-技.术_网 |
整型 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
ET200从站的最低站地址 WWcW_PLCJS_COM-PLC-技.术_网 |
3 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
SLAVE_LEN WWW_PLCJS_COM-PLC-技.术_网 |
整型 W1WW_P4LCJS_COM-PLC-技.术_网 |
ET200从站的个数,如SLAVE_NO为3,SLAVE_LEN为2,则该软冗余系统连接了站号为3,4的两个ET200从站,站号必须连续。 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
SLAVE_DISTANCE WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
整型 WWW_PLCJS_COM-PLC-技.术_网 |
确定所链接ET200从站上IM153-2模块的PROFIBUS DP站地址: WWW_PLCJS_COM-PLC-技.术_网 1. 2块IM153-2模块的DP口使用相同的站地址; WW.W_PLC※JS_C,OM-PL,C-技.术_网 2. 2块IM153-2模块的DP口的站地址为n和n+1; WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
1 WWW_P※LCJS_COM-PLC-)技.术_网 |
DB_A_B_NO W1WW_P4LCJS_COM-PLC-技.术_网 |
数据块名称 WWW_PLCJS@_COM%-PLC-技.术_网 |
通过数据同步链路(Redundency Link),A、B站之间还能进行一些非冗余数据通讯,即2个PLC之间的普通数据交换,该参数即定义从A站到B站,交换的非冗余数据块。 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
DB11 WWW_PLCJS_COM-PLC-技.术_网 |
DB_A_B_NO_LEN WWW_PLCJS@_COM%-PLC-技.术_网 |
WORD WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
A站到B站,非冗余数据块中交换的Word字数,如DB_A_B_NO设为DB11,DB_A_B_NO_LEN设为. W#16#64,则A站的DB11.DBW0-DB11.DBW198被复制到B站的DB11.DBW0-DB11.DBW198,因为W#16#64代表16进制64,即一共复制100个数据字。 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
W#16#64 WWcW_PLCJS_COM-PLC-技.术_网 |
DB_B_A_NO WWcW_PLCJS_COM-PLC-技.术_网 |
数据块名称 WWW.PLCJS.COM——可编程控制器技术门户 |
该参数即定义从B站到A站,交换的非冗余数据块。 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
DB12 WW.W_PLCJS_COM-PLC-技.术_网 |
DB_B_A_NO_LEN WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
WORD WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
B站到A站,非冗余数据块中交换的Word字数,如DB_B_A_NO设为DB12,DB_B_A_NO_LEN设为. W#16#64,则B站的DB12.DBW0-DB12.DBW198被复制到A站的DB12.DBW0-DB12.DBW198,因为W#16#64代表16进制64,即一共复制100个数据字。 WWW.PLCJS.COM——可编程控制器技术门户 |
W#16#64 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
RETURN_VAL ——可——编——程——控-制-器-技——术——门——户 |
WORD WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
调用FC100的返回值,为0代表正常,其他返回值您可以在错误代码表中找到对应的错误原因。 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
MW2 WWcW_PLCJS_COM-PLC-技.术_网 |
EXT_INFO WWW.PLCJS.COM——可编程控制器技术门户 |
WORD WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
FC100中内部调用的一些功能块所返回的错误代码 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
MW4 ——可——编——程——控-制-器-技——术——门——户 |
(7) 一般建议将非冗余程序段编写在OB1当中,而将冗余程序段编写在OB35当中,这里使用的是OB35的默认属性,即每100ms中断触发一次,可以根据实际的需要在CPU属性中修改中断的时间间隔。在OB35里调用FB 101 ‘SWR_ZYK’ 功能块,FB101块中封装了冗余功能的程序段,实现冗余功能。调用FB101时,你可以在线地读出RETURN_VAL参数的数值,如果为0,说明冗余链接正常。如果为8015说明数据同步的连接不成功,这是一个常见的错误,原因可能是CP342-5之间的FDL链接建立的不正确或物理链路不通,或者是FC100的VERB_ID参数与NETPRO中的链接ID号不一致。当执行”SWR_START”程序块时,系统分配这些数据区,不能用S7的定时器和计数器,只能使用IEC标准的定时器和计数器。可以在软冗余手册的第三章第9节找到对应的诊断信息。OB35中的程序可以分为4个部分,如图7-8所示:
A.在循环程序块(OB1或OB35)的开始调用FB101,并将CALL_POSITION置为TRUE
B.可以在DB5中得到控制字(DBW10)和状态字DBW8的信息。分析状态字中的信息,如果当前站为备用系统,则跳过冗余程序段。
C.冗余程序段。该处为您的冗余程序段
D.在循环程序块(OB1或OB35)的结尾调用FB101,将CALL_POSITION置为FALSE,停止系统冗余程序段。
图 7-8 冗余程序举例
程序执行如下:
第一步(A)启动系统的冗余数据同步功能 à
第二步(B)根据状态字判断是否为主系统,为主系统时才执行第三步,否则跳到第四步à
第三步(C)为冗余的程序段 à
第四步(D)停止系统的冗余数据同步。
通过对OB35中的程序在线监控,得知当前冗余功能成功与否,如图7-9所示:
图7-9 FB101 状态值
图7-9显示,FB101的返回值Return_VAL和Ext_INFO为0,说明冗余功能正常。
通过FB101的背景数据块中的状态字和控制字,可以知道系统的运行的情况和当前哪个系统为主系统,哪个为备用系统,状态字的定义如图7-10所示:
图7-10 软件冗余状态字
可以通过写控制字中对应的位,起停备用系统与主系统之间的冗余通讯,也可以实现主系统与备用系统之间的手动切换,如图7-11所示:
图7-11软件冗余控制字
通过设定DB5.DBX10.0为1,实现主系统与备用系统的手动切换。
(8)在OB86中调用诊断功能块FC 102 ‘SWR_DIAG’,当系统出现PROFIBUS总线错误时,该功能块返回诊断信息,供FB101使用。
(9)插入FB101内部调用的FB104,FC5、FC6等功能块,将所有的程序块下载到PLC当中。
(10)在组态软件WinCC中创建两个MPI链接,分别与主系统和备用系统进行链接,并生成对应的Tag变量,如图7-12所示:
图7-12 WINCC中创建连接
利用WINCC的向导功能可以创建冗余的连接,通常的情况下, A、B站冗余的数据连接WINCC建立的冗余连接,A站数据连接WINCC专一与A站建立的连接,B站数据连接WINCC专一与B站建立的连接。