跳到主要内容

状态、切换与典型场景

冗余状态用于判断当前 PLC 的主备角色、链路状态、同步状态和切换原因。冗余功能启用后,PLC 启动或重启、APP 下载完成、冗余链路恢复、配置保存生效等时机,都会触发系统重新判断同步源和主备关系。完成这些操作后,应先确认状态正常,再进行生产运行或切换验证。

状态建立时机

以下操作都可能让系统重新进入冗余状态判断流程:

  • PLC 启动或重启:系统加载冗余配置,发现对端并建立冗余链路。
  • APP 下载完成:runtime 根据 APP 和配置情况判断同步源,并同步到对端。
  • 冗余链路恢复:双方重新发现对端,检查 APP、配置、硬件型号和 runtime 版本。
  • 冗余配置保存生效:配置变更后重新进行链路发现和主备确认。
  • 主备切换或故障恢复:根据当前主备状态、健康度、历史主备记录和仲裁结果更新状态。

状态判断的核心是确认当前哪一台 PLC 应作为同步源和主机。同步源可能来自正在运行的主机、唯一拥有 APP 的设备、最近一次主备记录,或用户后续的人工处理。

冗余状态项

冗余运行状态和 PLC 实例同步状态
状态项说明
本机状态当前 PLC 在冗余系统中的状态,例如主备仲裁进行中、配置模式、主机、备机、主(无冗余)等。
对方状态对端 PLC 的状态,用于确认对方是否在线以及主备关系是否已建立。
仲裁器状态 / 对方仲裁器状态启用冗余仲裁器时显示仲裁器连接状态;未启用时通常显示未设置。
连接模式当前冗余通信方式,例如冗余链路直连。
同步源当前 APP 和配置同步基准。
冗余连接状态显示冗余链路是否已连接、是否工作中或是否无冗余。
状态原因当状态异常、配置校验失败或主备冲突时,显示原因信息。
同步间隔时间最大值 / 最小值显示主备同步周期统计值,用于观察同步稳定性。
重置冗余记录清除当前冗余状态记录,便于重新观察状态变化。
主备切换在主备同步正常时执行主动切换。

PLC 实例同步状态项

状态项说明
PLC 实例名称当前参与冗余同步的 PLC 实例名称和运行状态。
工作冗余链路当前实际承担同步工作的冗余链路编号。
最近一次同步距离最近一次完成同步的时间。
上一次冗余同步间隔上一次同步耗时。
同步间隔时间最大值 / 最小值PLC 实例同步周期的最大值和最小值。

主备切换

主动切换

在主备同步正常时,可在当前主机的冗余配置界面点击主备切换。切换完成后,原主机变为备机,原备机变为主机。

点击主备切换后主备角色互换

自动切换

以下情况可能触发自动切换:

  • 主机掉电或异常停止。
  • 主机 runtime 重启。
  • 主机健康度低于备机,例如关键网口断开、总线模块异常或厂家插件判定需要切换。

切换过程中,备机接管为主机后会应用同步数据、打开必要 IO,并恢复 APP 周期执行。APP 运行应保持连续,仅冗余状态和主备角色发生变化。

典型场景

场景一:冗余启用后下载 APP

  • 目的:验证常规 APP 下载不依赖冗余配置模式,并确认主备同步正常。
  • 操作步骤
    1. 确认两台 PLC 已启用冗余并完成冗余网口 IP 配置。
    2. 确认 IDE 连接到当前主机、链路断开前的主机,或未配对 PLC。
    3. 直接执行下载 APP操作。
    4. 等待系统自动完成 APP 与配置同步。
    5. 查看冗余状态区和 PLC 实例同步状态区。
  • 预期结果:无需进入冗余配置模式即可完成下载;主备 APP 版本一致;备机数据与主机同步;若 APP 配置了网口 IP,主备对应网口地址符合冗余 IP 规则。

场景二:修改冗余配置

  • 目的:验证只有冗余页面配置修改需要进入配置模式。
  • 操作步骤
    1. 进入冗余配置界面。
    2. 进入冗余配置模式。
    3. 修改冗余网络接口、IP 地址交换或无冗余时独立运行等配置。
    4. 点击保存
    5. 按界面提示重启 PLC。
    6. 重新连接后查看冗余状态。
  • 预期结果:配置保存并在重启后生效;系统重新建立冗余链路和主备关系。

场景三:主备手动切换

  • 目的:验证主动切换功能是否有效。
  • 操作步骤
    1. 确认两台 PLC 已建立主备关系,冗余连接状态为冗余工作中
    2. 在当前主机的冗余配置界面点击主备切换
    3. 观察本机状态和对方状态变化。
    4. 检查 APP 运行状态、变量值和网络通信。
  • 预期结果:原备机切换为新主机,原主机切换为备机;APP 运行不中断,数据无丢失,网络通信正常。

场景四:拔掉单根冗余网线

  • 目的:验证双链路配置下单链路故障时的冗余可靠性。
  • 操作步骤
    1. 确认两台 PLC 已建立主备关系,并已配置两条冗余链路。
    2. 拔下主备机之间的一根冗余网线。
    3. 观察冗余状态、工作冗余链路和变量值。
    4. 等待约 30 秒后恢复该网线。
    5. 待状态稳定约 10 秒后,拔下另一根冗余网线并再次观察。
  • 预期结果:两次单链路断开均不触发主备切换;APP 运行和变量值正常;工作冗余链路编号随实际可用链路变化。

场景五:拔掉全部冗余网线

  • 目的:验证全部冗余链路断开时主备设备的状态表现。
  • 操作步骤
    1. 确认两台 PLC 已建立主备关系。
    2. 拔下主备机之间所有冗余网线。
    3. 分别查看主机和备机的冗余状态。
    4. 恢复网线后继续观察主备状态是否恢复。
  • 预期结果:原主机继续运行并显示为主(无冗余);备机显示为 主(无冗余) 或对方不可达状态;恢复链路后重新进入冗余工作状态。

场景六:备机掉电

  • 目的:验证备机掉电不会影响主机持续运行。
  • 操作步骤
    1. 确认两台 PLC 已建立主备关系。
    2. 断开备机电源。
    3. 观察主机状态、APP 运行状态和变量值。
    4. 约 30 秒后恢复备机电源。
  • 预期结果:主机保持运行并显示为主(无冗余),不发生主备切换;备机重新上电并完成同步后,系统恢复冗余工作状态。

场景七:主机掉电

  • 目的:验证主机故障时备机自动接管能力。
  • 操作步骤
    1. 确认两台 PLC 已建立主备关系。
    2. 断开主机电源。
    3. 观察备机状态、APP 运行状态和变量值。
    4. 约 30 秒后恢复原主机电源。
  • 预期结果:原备机自动切换为主机,并进入**主(无冗余)**状态;APP 运行和变量值保持正常;原主机重新上电并同步完成后,系统恢复冗余工作状态。

场景八:健康度触发切换

  • 目的:验证主机健康度下降时的自动切换能力。
  • 操作步骤
    1. 确认两台 PLC 已建立主备关系,且主备的南向、北向或 HMI 网口均处于正常连接状态。
    2. 拔掉主机的某个南向网口、北向网口或 HMI 网线。
    3. 观察主备状态变化和 APP 通信状态。
    4. 约 30 秒后恢复网线。
  • 预期结果:当主机健康度低于备机并满足切换条件时,原备机切换为新主机,原主机切换为备机;APP 运行不中断,数据无丢失,网络通信恢复正常。