Skip to main content

冗余控制系统

通过使用冗余 PLC 保护您的主动控制器 (PLC),您可以提高控制系统的可靠性。

冗余 PLC 可以在运行时随时接管应用程序的执行。活动和备用 PLC 的角色可以在两个控制器之间动态切换。这使得避免系统故障或显著减少其影响成为可能。冗余控制系统提高了关键工业设备甚至小型机器的可靠性、可用性和运行连续性。

rdncy_img_overview.png

该图显示了一个自动化场景,包括开发环境、两个 PLC 的冗余控制系统以及通过现场总线连接的机器环境。该应用程序在两个 PLC 上并行运行:一个 PLC 正在运行 (1),而另一个 PLC 处于待机模式 (2)。处于待机模式的 PLC 还读取连接的现场总线系统(示例中为 EtherCAT)的输入,并通过冗余链路 (3) 与主动 PLC 持续同步。这允许备用 PLC 在发生故障时立即处于活动状态,并且可以不受任何干扰地控制现场总线 (4)

默认情况下,冗余链路 (3) 使用 TCP 或 UDP。但是,也可以根据要求通过制造商特定的通信组件提供

さらに、ビジュアライゼーションをブラウザ上で CODESYS WebVisu として実行する場合、冗長制御システムと連携させることができます。これにより、切り替えが発生した場合でも、ビジュアライゼーションクライアントはほぼ中断することなく動作し続けます。

注意

YouTube-32x32.png Video clip "Redundancy using the example of two Raspberry Pis with CODESYS Control for Raspberry Pi SL"

该视频旨在向您概述此功能。的功能范围 CODESYS Redundancy Configuration 可以看出,可能与当前的功能范围有所不同。

功能的基本原则

应用程序开发人员首先将应用程序下载到第一个 PLC,并在那里创建启动应用程序。启动时,第二个 PLC 与该控制器同步,还会启动应用程序

下载并初始化启动应用程序后,PLC 已准备好执行第一个任务周期。随后,所有注册的存储器区域(所有 IEC 数据)都传输到第二个 PLC。从那时起,冗余处于活动状态,两个 PLC 同步执行应用程序任务。任务执行通过消息同步,消息在每个 IEC 任务之前和之后通过冗余链路交换。

没有固定或首选的主动 PLC。操作模式由启动顺序决定:首先启动的 PLC 通过冗余链路向另一个 PLC 发送消息。如果未收到响应,则启动的 PLC 仍会加载启动应用程序并在独立模式下运行

如果备用 PLC 未在配置的时间内收到来自活动 PLC 的消息,则它将假定主动 PLC 出现故障,它将切换到独立模式。它将控制现场总线 I/O。相反,如果未收到来自备用 PLC 的消息,则主动 PLC 也会切换到独立模式

如果更换第一个 PLC 并重新启动,则它会与当前处于独立模式的另一个 PLC 同步,如上所述,因此进入待机模式。

待机 PLC 可以切换到仿真模式。然后不会激活冗余,但现场总线将保持停用状态,就像待机模式一样。主动 PLC 切换到独立模式。可以通过重新同步或重新启动 PLC 来结束仿真模式。然后,PLC 切换回待机模式,除非在同步或重启期间出现错误。

如果在启动应用程序更新期间、注册存储区域的传输期间或冗余周期期间发生错误,则 PLC 会切换到错误模式。之后,需要重新同步或重新启动

用户界面

附加组件: CODESYS Redundancy Configuration

rdncy_img_redundancy_ui.png
. 目的:
  • 标签: 冗余状态

    在运行时, CODESYS 监控冗余系统并显示那里的当前状态。您还可以在那里访问最重要的冗余命令,例如,命令在状态之间切换

  • 选项卡: 冗余设置

    在这里,您可以配置冗余链路的通信设置并定义相关的任务和监视程序。

  • 选项卡: 一般的

  • 选项卡: 可视化

    在这里,您可以在 PLC 上运行的 Web 服务器之间配置冗余链接。因此,您可以连接可视化,这些可视化以以下方式运行 CODESYS WebVisu 在浏览器中,使用冗余控制系统。

  • 标签: 注册区域

    在这里,您可以管理应在运行时同步的数据和区域。

  • 标签: 日志

    列出来自 PLC 记录器的历史冗余事件

. 支持以下现场总线:
  • EtherCAT (CODESYS GmbH 堆)

  • PROFINET

  • CANopen

您可以在中配置现场总线 冗余配置 上的对象 将军 的选项卡 冗余设置 选项卡。

有关更多信息,请参阅: 一般的

库:Redundancy

这个 Redundancy Implementation 库,其中包括 Redundancy 库,提供 POU,例如 SwitchToActive 或者 SwitchToStandby 这样您就可以以编程方式访问冗余组件。例如,你可以使用 SwitchToActive 在活动模式下对 PLC 的切换进行编程。

图书馆:VisuRedundancy

这个 VisuRedundancy 库实现了可视化的冗余链接,并提供功能块,例如用于监控活动。

运行时系统

安装

运行时系统为控制系统的冗余操作提供了两个主要组件:

  • 为了冗余地操作控制系统, CmpRedundancy 冗余组件以及操作冗余链路的附加组件可在 运行时系统 PLC 的数量。这个附加组件是特定于设备的,但 IP 链接是常见的: CmpRedundancyConnectionIP

    该组件处理所有用于管理冗余操作的功能,包括角色分配(活动/备用)、数据同步和监控通信状态。

  • 冗余链路组件

    该组件特定于设备,可在两个控制器之间建立物理和逻辑连接。大多数设备使用基于 IP 的连接,该连接通过 CmpRedundancyConnectionIP 组件。

功能性

  • 将两个 PLC 链接到冗余系统

  • 同步冗余数据

  • 切换 PLC 的运行状态

  • 在记录器中记录冗余事件

    注意

    运行时发生的事件由运行时系统的记录器记录在两个设备上。

1. 例子

配置文件 *.cfg 对于一个运行时 CODESYS Control Win 存储在 ProgramData.

[CmpRedundancyConnectionIP]
Link1.IpAddressLocal=192.168.56.1 ; IP address of redundancy link of local PLC
Link1.IpAddressPeer=192.168.56.101 ; IP address of redundancy link of peer PLC
Link1.Port=1205

[CmpRedundancy]
BootupWaitTime=5000
TcpWaitTime=2000
StandbyWaitTime=50 ; This timeout depends on the quality of real time task and communication system
LockTimeout=20 ; Maximum time of timer lock
Bootproject=Application ; Name of your CODESYS application
RedundancyTaskName=MainTask ; Task name in your CODESYS application
PlcIdent=1 ; PlcIdent=2 on other PLC



启动应用程序

引导应用程序以相同方式存储在两个 PLC 上。当您想要更新引导应用程序时,只需将其下载到活动的 PLC 中即可。

要执行更新,只需将新的启动应用程序加载到活动控制器即可。备用控制器在同步期间自动接收更新版本。