3. 冗余系统硬件与网络规划

冗余系统能否真正实现“故障不停机”,硬件与网络规划是根基。软件冗余机制再完善,如果服务器单电源、单网卡,或者两台交换机之间只有一条链路,故障切换依然会失败。本节围绕四个相互关联的规划对象展开:服务器选型、网络冗余拓扑、交换机配置,以及终端总线与系统总线的分离设计。

一、服务器选型:从“够用”到“可切换”

WinCC冗余系统通常采用两台服务器构成“主-备”或“主-主”结构。选型时不能只看单机性能,而要同时满足三个条件:单机可独立承载全部监控负荷、两台服务器硬件规格一致、关键部件全部冗余。

以某中型化工装置为例,I/O点数约8000点,归档变量约12000个,历史数据保存周期为1年。按经验估算,单台服务器需满足:CPU不少于8核、主频2.4GHz以上;内存32GB(归档量较大时建议64GB);系统盘采用两块SSD组成RAID1,数据盘采用4块SAS硬盘组成RAID10;配置双电源模块,分别接入两路独立UPS。两台服务器应选用同一型号、同一批次,避免因驱动或固件差异导致冗余同步异常。

需要特别注意的是,冗余服务器之间需要一条独立的“冗余同步链路”,通常使用交叉网线或专用交换机直连,不经过终端总线。这条链路用于状态同步、归档同步和故障检测,带宽建议不低于1Gbps。若该链路中断,备用服务器会误判主服务器故障,可能引发双主冲突。

二、网络冗余拓扑:双星型与环网的选择

WinCC冗余系统的网络冗余通常有两种典型拓扑:双星型和环网。双星型结构使用两台核心交换机,每台服务器和每个操作员站都分别连接到两台交换机,形成“双上行”。环网结构则使用支持冗余环协议的交换机组成闭合环,任一链路断开后可在毫秒级内重构。

对于终端总线(连接服务器与操作员站),推荐采用双星型拓扑,因为终端总线的节点数量相对固定,双星型布线清晰、故障定位容易。对于系统总线(连接服务器与PLC),若PLC分布范围较广,可采用环网拓扑,利用光纤组成冗余环,减少布线成本。

无论采用哪种拓扑,都必须遵循一个原则:任意单点故障(单台交换机、单条网线、单个网卡)不应导致通信中断。这意味着服务器和操作员站都需要配置双网卡,分别接入两台交换机;两台交换机之间需要两条互联链路,并启用链路聚合或生成树协议。

WinCC冗余系统双星型网络拓扑(终端总线 + 系统总线) 主服务器 双网卡 · 双电源 · RAID 备用服务器 双网卡 · 双电源 · RAID 冗余同步链路 1Gbps 终端总线交换机 A VLAN 10 · 冗余环 终端总线交换机 B VLAN 10 · 冗余环 链路聚合 / 生成树 操作员站 1 双网卡 操作员站 2 双网卡 操作员站 3 双网卡 操作员站 4 双网卡 系统总线交换机 A VLAN 20 · 光纤环 系统总线交换机 B VLAN 20 · 光纤环 PLC 1 双网口 PLC 2 双网口 服务器链路 终端总线 系统总线 冗余同步

三、交换机配置:VLAN、冗余协议与端口安全

交换机是冗余网络的“关节”,配置不当会直接破坏冗余效果。核心配置包括四项:

  • VLAN划分:终端总线使用VLAN 10,系统总线使用VLAN 20,冗余同步链路使用VLAN 30。三个VLAN之间默认不互通,避免广播风暴跨网段扩散。若服务器需要同时访问终端总线和系统总线,可在服务器网卡上配置VLAN子接口。
  • 冗余协议:若采用环网,需启用RSTP/MSTP或厂商私有环协议(如西门子HRP)。以RSTP为例,需将两台核心交换机之一配置为根桥,另一台为备份根桥,并设置合理的Hello Time(默认2秒)和Max Age(默认20秒)。
  • 链路聚合:两台交换机之间的互联链路建议配置LACP链路聚合,将两条物理链路捆绑为一条逻辑链路,既增加带宽又提供链路冗余。
  • 端口安全:在接入端口上启用端口安全,限制每个端口学习的MAC地址数量,防止非法设备接入或MAC地址泛洪攻击。

以下是一个基于西门子SCALANCE交换机的配置片段示例,用于说明VLAN和RSTP的关键参数:

# 创建VLAN
vlan 10
 name TerminalBus
vlan 20
 name SystemBus
vlan 30
 name SyncLink

# 配置上行端口为Trunk,允许VLAN 10/20/30通过
interface gigabitethernet 0/1
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30

# 配置接入端口
interface gigabitethernet 0/2
 switchport mode access
 switchport access vlan 10

# 启用RSTP并设置优先级
spanning-tree mode rstp
spanning-tree priority 4096

# 配置链路聚合
interface range gigabitethernet 0/23-0/24
 channel-group 1 mode active

配置完成后,应通过交换机命令行查看生成树状态,确认根桥选举正确、阻塞端口符合预期。例如执行 show spanning-tree,检查“Root ID”是否指向规划中的根桥,“Blocking”端口是否出现在备用链路上。

四、终端总线与系统总线设计:物理隔离与逻辑隔离

终端总线连接服务器与操作员站,承载画面刷新、报警确认、趋势查询等交互数据;系统总线连接服务器与PLC,承载过程值、归档变量、控制命令等实时数据。两者必须隔离,原因有三:

  1. 流量特征不同:终端总线突发流量大(如画面切换时批量读取归档),系统总线要求周期性、低抖动。混在一起会导致PLC通信延迟。
  2. 故障域不同:操作员站网卡故障或广播风暴不应影响PLC通信。
  3. 安全等级不同:系统总线直接关联控制层,需要更严格的访问控制。

物理隔离是最彻底的方式:使用独立的交换机、独立的网线、独立的网卡。若受限于机柜空间或成本,至少应使用VLAN进行逻辑隔离,并在交换机上配置ACL,只允许服务器的系统总线网卡访问PLC所在VLAN。

在服务器侧,双网卡应分别绑定到终端总线和系统总线,不要使用“网卡绑定”将两块网卡合并为一个逻辑网卡。因为冗余同步链路需要独立的IP地址,且终端总线与系统总线的故障切换策略不同。建议的IP规划示例如下:

设备网卡VLAN示例IP用途
主服务器NIC110192.168.10.11终端总线
主服务器NIC220192.168.20.11系统总线
主服务器NIC330192.168.30.11冗余同步
备用服务器NIC110192.168.10.12终端总线
备用服务器NIC220192.168.20.12系统总线
备用服务器NIC330192.168.30.12冗余同步
冗余同步链路建议使用独立的交换机或直连,不要与终端总线共用交换机。若必须共用,应在交换机上为VLAN 30配置高优先级QoS,确保同步报文优先转发。
常见错误:两台服务器使用相同的IP地址但不同的网卡。这会导致ARP冲突和冗余切换失败。每台服务器的每个网卡都必须有唯一IP,且同一VLAN内两台服务器的IP不能重复。

最后,完成硬件与网络规划后,应形成一份《冗余系统网络规划表》,至少包含:设备名称、网卡编号、VLAN ID、IP地址、子网掩码、网关、交换机端口、冗余协议参数。这份表格是后续WinCC冗余组态和故障排查的基础依据。规划阶段多花一小时,调试阶段可能少花一整天。