在由命令触发进行显式切换,或由故障引起的主站到待机站隐式失效转移期间,从站间也会进行切换,或者 DP从站接口模块自动进行失效转移。例如,当在 DP 主站或 DP 主站的 DP 总线上检测到故障时,则 DP 从站自动进行失效转移。在此DP 从站的切换期间内,在 DP 从站上冻结Zui近输出的 PIO 数值(参见上图)。如果 DP 从站已经自动失效转移到先前待机站的 DP主站,并且如果该站点还没有完成其从主机模式到待机模式的失效转移,则将先前完整传送到待机站的Zui新 PIO 输出至信号模块。站特定的主机到待机切换可能需要数个周期,这取决于故障的性质。一旦完成主机到待机的切换,便会输出由新主机确定的PIO(参见上图)。切换也可能在单个周期内即完成,这需要zuijia通讯环境、较小的数据量以及类似于“CPU处于 STOP 模式”(在S7-400 中)的故障。在实例中,我们特意选择了一个需要 5 周期故障恢复的情况图示说明切换过程。所有手动触发的切换都将进行优化。例如,直到完成 PIO 传递后,才会立即触发切换。并在维修之后恢复软冗余要恢复软冗余(例如在 CPU故障之后),则必须将所有组态数据和整个程序从编程设备或存储卡装载到备用 CPU 内。 启动 CPU。常规信息线电压在 CPU 处于STOP 运行模式的情况下恢复后,第二个 CPU 将立即以单机模式(主站)工作。 处于 STOP 模式的 CPU 的 Profibus激活,且不会启用输出。CPU 从 STOP 运行模式切换到 RUN 运行模式时,Profibus将切换到第二条链并启用输出。只有线电压在 CPU 处于 STOP 运行模式的情况下恢复后,才会发生此行为。软冗余的工作原理4.2软冗余的状态字结构SIMATIC S7 的软冗余24 功能手册, 04/2010, A5E02171569-024.2软冗余的状态字结构以下简要说明了状态字的位分配状况。 状态字位于 FB 101 'SWR_ZYK'背景数据块的DBW 8中。软冗余的控制字结构以下简要说明了控制字的位分配状况。 控制字位于 FB 101 'SWR_ZYK'背景数据块的DBW 10中。如果要在用户级锁定主站备用站切换,必须对控制字中的位 11.0 置位。 备用设备会将 0写入到冗余 DP 从站接口模块 IM153-2 的 PIO 中。此状态将保留至重新启用冗余(通过设置控制字中的位 11.1)。如果设置了“启用主站备用站切换”(Enable Master reservechange-over),则控制字中的控制位将在置位后自动复位为“0”。变化在状态字中可见。说明如果要在用户级锁定主站备用站切换,必须对控制字中的位 11.0 置位。 备用设备会将 0写入到冗余 DP从站接口模块 IM 153-2 的 PIO 中。此状态将保留至重新启用冗余(通过设置控制字中的位 11.1)。如果设置了“启用主站备用站切换”(Enable Master reservechange-over),则控制字中的控制位将在置位后自动复位为“0”。变化在状态字中可见。使用软冗余的规则以下章节对使用功能性软冗余组态和编程系统时应该遵守的所有规则进行了汇总。硬件配置规则● 带有冗余DP 从站接口模块(例如 IM 153-2)的 ET 200M 分布式 I/O 设备的组态在两个站上必须相同。为了防止不一致性,即便做了很微小的改动,也要将整个 DP 主站系统从第一个站复制到第二个站的 DP 主站。 通过选择编辑 >插入冗余副本来复制数据。执行编辑 > 插入冗余副本菜单命令,确保两个站上 DP 从站上的 I/O地址保持一致。如果打算仅在一个站上使用 ET 200 分布式 I/O 设备(例如 ET 200B),在复制DP主站系统之后组态这些设备(请参阅 具有软冗余的系统是如何运行的? (页 19)一章中的描述)。●切记:在配置硬件时,只能将连续区域用于软冗余,例如输出 0 到 20、从 50 到 100的位存储器地址区、从 1 到 6 的 DP从站等等。● 软冗余支持单独的 PROFIBUS DP 主站系统。 如果需要多个 DP主站系统,必须实现多个软冗余的实例,即需要多个冗余子程序。● PROFIBUS DP 中的有效波特率对于冗余 DP从站接口模块,软冗余只支持从 187.5 KBaud 到 12 MBaud 的波特率。用户程序规则●用户程序结构如果两个站中的用户程序只是部分冗余,则将创建程序结构,使其冗余设备的程序组件与非冗余设备的程序组件区分开来。建议:在不同的组织块中调用设备冗余和非冗余部分的程序:– 在 OB1 中调用设备的非冗余部分– 在 OB35 中调用设备的冗余部分●冗余用户程序冗余用户程序包含在 FB 101 ‘SWR_ZYK’的两个块调用中。 FB 101 ‘SWR_ZYK’的第一次调用返回参数 CALL_POSITION = TRUE,而第二次调用返回参数CALL_POSITION =FALSE。 ● 通讯如果使用 S7 连接进行冗余链接和其它通讯任务,则作业编号 R_ID 必须大于 2。作业编号R_ID= 1 和 R_ID=2 则预留给软冗余。如果使用 ‘FB 103 ’SWR_SFCCOM' 进行通讯,则作业编号 R_ID> 8000 0000H 的通讯块 SFC 65 ‘X_SEND’ 和 SFC 66 ‘X_RCV’ 将用于软冗余。如果使用FB104“SWR_AG_COM”进行通讯,则软冗余将使用作业编号 R_ID >8000 0000H 的通讯块FC5“AG_SEND”和 FC6“AG_RCV”。如果使用 FB 105‘ SWR_SFBCOM’ (BSEND,BRCV)进行通讯,则应该始终在连接组态中将“Send operating statusmessages”设置为“Yes”,以便可以尽可能早的检测到所有通讯故障。● 使用定时器和计数器通常,由于 S7 定时器和 S7计数器不能进行更新,不能在冗余软件组件中使用。请改用 IEC 定时器和 IEC 计数器。将定时器的时间设置为小于其 OB周期时间,或者小于从主机站到待机站的传送时间,则毫无意义。 在这种情况下可以使用 S7定时器。如果所需时间较长,或者计数器在用,则必须确保在切换时能够准确地检测到用于启动定时器/计数器的输入信号边沿。 可以通过将 1脉冲设置为 0 或将 0 脉冲设置为 1,使得持续时间长于切换时间来达到此效果。如果无法满足此条件,则必须在主机站和待机站上始终触发信号沿评估。 而不会更新相应的 IEC 定时器/计数器。 此时却可以使用 S7定时器和 S7 计数器来处理这种情况。装卸软冗余块● 正确生成软冗余多背景数据块的前提条件:在 S7项目中安装了软冗余所使用的所有SFC 和 SFB 系统功能。●对启动块“SWR_START”中的组态进行修改后,必须删除下列块,以激活新参数并防止发生故障:DB_WORK_NO 软冗余的工作DBDB_SEND_NO 软冗余的发送 DBDB_RCV_NO 软冗余的接收 DBDB_A_B_NO 在冗余软件与 A站软件非冗余组件之间进行数据交换的 DBDB_B_A_NO 在冗余软件与 B 站软件非冗余组件之间进行数据交换的DB软冗余的工作原理4.4 使用软冗余的规则SIMATIC S7 的软冗余28 功能手册, 04/2010,A5E02171569-02OB 86(机架故障)不允许在 OB 86 的本地变量前 20个字节内插入任何变量,这是由于软冗余将使用该变量并对其进行修改。软冗余中的 PIO如果为 PIO 中并不包括的 FC100“SWR_START”输出进行任何参数分配,则会导致I/O访问错误。主机到待机的切换在主机到待机的切换阶段,系统将临时性地使用两个主机站或两个待机站。通过控制位实现主机到待机的切换通过控制位触发主机到待机切换之后,主机站和待机站上的状态可能会不正确。如果在进行切换时从站发生故障,就会出现这种情况。 要解决这一状况,需要通过控制位重新进行主机到待机的切换。如果仅一个 CPU 处于RUN(单机模式)则可能会发生以下状况:将重新集成的冗余 DP 从站的活动接口分配给了处于 STOP 状态下的 CPU。在重新集成冗余 DP 从站之前,必须确认其中一个 CPU 已经关闭(POWER OFF)。关闭 DP从站如果没有采取其它措施,则在关闭 DP 从站之后将触发主机到待机的失效转移。 在下面的程序实例中介绍了可防止切换的措施。 假设条件:I 1.0 是为防止失效转移的开关。 也可以通过操作员输入或其它类似途径实现。OB 86实例,关闭从站而不触发切换:软冗余的块库安装了可选软件包之后,便可以在 STEP 7 中使用 SWR_LIB 库。 可以在SIMATICManager 通过菜单命令文件 > 打开 > 库访问此库SWR_LIB 库包含有五个块数据包。在这些数据包中,有两个用于 S7-300,三个用于S7-400。通常设置其中一个数据包,以满足两站互连所需连接类型和网络的要求。S7-300 的块数据包选择数据包... 用于网络... 连接类型... 注释XSEND_300 MPI 未组态的连接 与 CPU 上 MPI 接口的网络连接AG_SEND_300PROFIBUS FDL 连接 通过 CP 342-5 进行网络连接工业以太网 ISO 连接 通过 CP 345-1进行网络连接S7-400 的块数据包选择数据包... 用于网络 ... 连接类型... 注释XSEND_400 MPI 未组态的连接与 CPU 上 MPI 接口的网络连接AG_SEND_400 PROFIBUS FDL 连接 通过 CP 443-5进行网络连接工业以太网 ISO 连接 通过 CP 443-1 进行网络连接MPI 通过 CPU 的 MPI接口进行网络连接PROFIBUS 通过 CP 443-5 进行网络连接BSEND_400工业以太网S7 连接通过 CP 443-1进行网络连接块软件包中的内容每个块软件包中包含可用于交互式操作的四个块。请勿将不同块软件包中的块组合在一起使用,因为这可能会在站点上引发故障。V1.2 和 V1.2 SP3 之间的兼容性● 可以使用软冗余V1.2 SP3 的块来替换前一版本的块,而无需重新编译用户程序。● 在用户程序中将库分区 SWR_AGSEND_300 或SWR_AGSEND_400 中的块更新到V1.2 SP3 时,还必须一并升级 STEP 7 中“SIMATIC_NET_CP”库内的AG-Send (FC5) 和 AG-Receive (FC 6) 块。
块软件包 XSEND_300 和 XSEND_400的内容块 注释FC 100 'SWR_START' 必须在启动程序 OB 100 中调用该块。FB 101‘SWR_ZYK’必须在循环程序或时间控制的程序中调用该块。 必须在执行冗余用户程序前/后调用该块。FC 102 'SWR_DIAG' 必须在诊断 OB86 中调用该块。FB 103 'SWR_SFCCOM' 该块支持数据传送,并在 FB 101 ‘SWR_ZYK’中进行后台调用。必须在两个 CPU 中都装载此块。块软件包 AGSEND_300 和 AGSEND_400 中的内容块 注释FC100 'SWR_START' 必须在启动程序 OB 100 中调用该块。FB 101 'SWR_ZYK'必须在循环程序或时间控制的程序中调用该块。 必须在执行冗余用户程序前/后调用该块。FC 102 'SWR_DIAG' 必须在诊断 OB86 中调用该块。FB 104 'SWR_AG_COM' 该块支持数据传送,并在 FB 101 ‘SWR_ZYK’中进行后台调用。必须在两个 CPU 中都装载此块。