当前位置:首页 >> 能源/化工 >>

PLC软冗余


软件冗余的原理和配置

一、软件冗余基本信息介绍 软件冗余是 Siemens 实现冗余功能的一种低成本解决方案,可以应用于对主备系统切换时间为秒级的控制系统 中。 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 总线链接器等。 系统架构如图 1 所示:

图 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 。 2、系统工作原理 在软冗余系统进行工作时,A、B 控制系统(处理器,通讯、I/O)独立运行,由主系统的 PLC 掌握对 ET200 从站 中的 I/O 控制权。A、B 系统中的 PLC 程序由非冗余(non-duplicated)用户程序段和冗余(redundant backup)用 户程序段组成,主系统 PLC 执行全部的用户程序,备用系统 PLC 只执行非冗余用户程序段,而跳过冗余用户程序段。 软冗余系统内部的运行过程参考图 2。

图 2 软冗余系统内部的运行过程 主系统的 CPU 将数据同步到备用系统的 CPU 需要 1 到几个程序扫描循环,如图 3 所示:

图 3 软冗余同步原理 数据同步所需要的时间取决于同步数据量的大小和同步所采用的网络方式, MPI 方式周期最长, PROFIBUS 方式适 中,Ethernet 网方式最快。同步通信效率见表 1 表 1 同步通信效率

每 60ms 传送 240 个字节数据 每 48ms 传送 240 个字节数据 每 152ms 传送 76 个字节数据 用户需要在初始化程序中 (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 存在被丢失的可能。 3、产品订货信息 软件冗余系统相关产品的订货信息参考表 2。 表 2 软件冗余系统相关产品的订货信息

注: 1) 只有 S7-300 315-2DP(除 CPU314C-2DP、CPU313C-2DP)型号以上的 PLC 才支持软冗余功能,所有的 S7-400 都支持软冗余功能;

2) 主系统与备用系统的 CPU 型号可以不同, 如主系统采用一套 S7-400 系统, 而备用系统采用一套 S7-300 系统; 二、软件冗余系统的调试过程 在计算机上首先安装 STEP7 5.x 软件和软冗余软件包,软冗余软件光盘包括了冗余功能程序块库、不同系统结构 的例子程序和软冗余使用手册。 不同系统结构方式下的功能块: 在安装完软冗余的软件后,可以在 STEP7 当中找到例子程序和功能程序块库,如图 4 所示:

图 4 软件冗余的例子程序 以上图 4 显示的是在 STEP7 中使用 OPEN 菜单打开软冗余的例子程序, 例子程序中采用 MPI 链路实现数据的同步。 在 Libraries 找到不同 CPU 以及不同链接方式下可以使用的功能块,如图 5 所示:

图 5 软件冗余功能块 下面的两个表格分别说明了采用 S7-300,S7-400 进行软件冗余时,可采用的不同网络连接以及所需调用的程序 功能块包,参考表 3 和 4。 表 3 S7 300 进行数据同步使用的程序库

表 4 S7 400 进行数据同步使用的程序库

从以上的表格中可以看到,软冗余系统当中可以采用 MPI、PROFIBUS、Ethernet 三种网络实现主系统和备用系 统之间的数据同步(Redundant-backup link)。 采用 BSEND_400 包中的功能块进行数据同步时,无论数据同步的连接是什么方式,都需要在 STEP7 的 NETPRO 窗 口中组态一个 S7 Connection。除了 BSEND_400 中之外,使用其他功能块: 采用 MPI 网络时,直接使用 PLC 的编程口进行数据同步,不需要进行连接(Connection)的组态,但 MPI 数据同 步的效率低。 采用 PROFIBUS 网络时,需要使用一对 CP 通讯卡(CP342-5 或 CP443-5),在 STEP7 的 NETPRO 窗口中组态主系统 和备用系统之间的 FDL 连接。 采用 Ethernet 网络时,需要使用一对 CP 通讯卡(CP343-1 或 CP443-1),在 NETPRO 窗口中组态主系统和备用系 统之间的 ISO 连接。 冗余功能块的说明参考表 5。 表 5 冗余功能块说明:

注: 1) 用 PROFIBUS 或 Ethernet 方式进行数据同步时,需要在 OB100 当中调用 FB101,而 FB101 内部调用了 FB104、 FC5、FC6,所以您必须手动地将 FB104、FC5、FC6 插入到项目当中,插入的方法是:在程序中调用一次,再将这条语 句删掉。 2) 在 OB100 中调用 FC100 功能块时,PLC 会自动创建一些与 FC100 参数相关的程序段和数据块,所以当你更改 了 FC100 的参数时,应该对 PLC 进行 Reset 操作,再重新下载项目的软硬件到 PLC 当中。 2、实例 例子由两套 315-2DP 和一个 ET200M 从站组成,系统结构如图 6 所示:

图 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 系统的网络结构 以上网络结构中包括了 4 条链路: 用于上位机编程和监控的 MPI 链路; A 站与 ET200 从站 Master Line PROFIBUS 链路; B 站与 ET200 从站 Reserve Line PROFIBUS 链路; 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 功能块参数的说明和例子见表 6,

表 6 FC100 参数说明

(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 个部分,如图 8 所示: A.在循环程序块(OB1 或 OB35)的开始调用 FB101,并将 CALL_POSITION 置为 TRUE B.可以在 DB5 中得到控制字(DBW10)和状态字 DBW8 的信息。分析状态字中的信息,如果当前站为备用系统,则 跳过冗余程序段。 C.冗余程序段。该处为您的冗余程序段

D.在循环程序块(OB1 或 OB35)的结尾调用 FB101,将 CALL_POSITION 置为 FALSE,停止系统冗余程序段。

图 8 冗余程序举例 程序执行如下: ?第一步(A)启动系统的冗余数据同步功能 ?第二步(B)根据状态字判断是否为主系统,为主系统时才执行第三步,否则跳到第四步 ?第三步(C)为冗余的程序段 第四步(D)停止系统的冗余数据同步。 通过对 OB35 中的程序在线监控,得知当前冗余功能成功与否,如图 9 所示:

图 9 FB101 状态值 图 9 显示,FB101 的返回值 Return_VAL 和 Ext_INFO 为 0,说明冗余功能正常。 通过 FB101 的背景数据块中的状态字和控制字, 可以知道系统的运行的情况和当前哪个系统为主系统, 哪个为备 用系统,状态字的定义如图 10 所示:

图 10 软件冗余状态字 可以通过写控制字中对应的位, 起停备用系统与主系统之间的冗余通讯, 也可以实现主系统与备用系统之间的手

动切换,如图 11 所示:

图 11 软件冗余控制字 通过设定 DB5.DBX10.0 为 1,实现主系统与备用系统的手动切换。 (8)在 OB86 中调用诊断功能块 FC 102 ‘SWR_DIAG’,当系统出现 PROFIBUS 总线错误时,该功能块返回诊断信 息,供 FB101 使用。 (9)插入 FB101 内部调用的 FB104,FC5、FC6 等功能块,将所有的程序块下载到 PLC 当中。 (10)在组态软件 WinCC 中创建两个 MPI 链接,分别与主系统和备用系统进行链接,并生成对应的 Tag 变量,如图 12 所示:

图 12 WINCC 中创建连接

利用 WINCC 的向导功能可以创建冗余的连接,通常的情况下, A、B 站冗余的数据连接 WINCC 建立的冗余连接, A 站数据连接 WINCC 专一与 A 站建立的连接,B 站数据连接 WINCC 专一与 B 站建立的连接。


相关文章:
PLC软冗余
PLC软冗余_能源/化工_工程科技_专业资料。软件冗余的原理和配置 一、软件冗余基本信息介绍 软件冗余是 Siemens 实现冗余功能的一种低成本解决方案,可以应用于对主备...
PLC冗余的分类及区别
在工业系统中,对关键的、危险的或停止(故障)后对人员安全或设备损伤 有重大隐患的控制部分经常使用冗余控制器或冗余系统。 下面就让艾驰商城小编 对 PLC 冗余的...
西门子PLC实现软冗余的原理
修改系统参数后要对 CPU 进行复位,重新下载全部项目 到 PLC软冗余系统与其他系统连接 软冗余系统在实际应用中还会涉及到与其他系统进行数据通信、 连接上位监 ...
PLC软冗余指南
PLC软冗余指南_信息与通信_工程科技_专业资料。PLC软冗余指南PLC 系统软件冗余的说明与实现 软件冗余基本信息介绍 软件冗余是 Siemens 实现冗余功能的一种低成本解决...
西门子PLC软冗余导读入门
b_id=4&a_id=734516&s_id=0&num=31 作为一名 S7 PLC 热线工程师,面对众多类型的问题,软冗余无疑最“漫长”或者说最“困难”的问题之一。 究其原因,...
西门子S7-300软冗余指南
西门子S7-300软冗余指南_IT/计算机_专业资料。PLC 系统软件冗余的说明与实现 软件冗余基本信息介绍软件冗余是 Siemens 实现冗余激激的一种低成本解决方案,可以应用于...
PLC冗余
PLC 冗余可以分为软件冗余和硬件冗余两种。 硬件冗余实现方式下对硬件型号有所要求,连接方式也不同,但对软 件并无特殊要求。 总是一个为 master,另一个为 ...
S7-300软冗余调试总结--WINCC组态
S7-300软冗余调试总结--WINCC组态_专业资料。S7300软冗余的WINCC组态,可实现自动/手动切换主备PLC站。当硬件组态和 PLC 编程完成以后,我们需要把软冗余系统和 WINC...
哪些模块可以用于软冗余系统?
描述 软件冗余 (SWR) 是一个软件包, 用于将 S7-300 和 S7-400 系列的标准 CPU 配 置成容错控制器。软冗余系统的控制器是 S7-300 和 S7-400 系列标准的...
PLC软冗余系统在城市污水处理工程中的应用
PLC 软冗余系统在城市污水处理工程中的应用 技术分类: 可编程器件 现代电子技术 桂跃武 | 2010-07-27 4 硬件选型 无为县城污水处理工程变配电间站软冗余系统选用...
更多相关标签:
plc软件冗余系统 | plc冗余系统 | plc冗余 | 西门子plc冗余系统 | plc冗余是什么意思 | 西门子冗余plc组态 | wincc连接冗余plc | 施耐德冗余plc |