2. ctrlX AUTOMATION硬件与系统架构
ctrlX AUTOMATION 的硬件体系并不是“一个控制器加若干模块”的简单堆叠,而是围绕统一实时数据骨干构建的分层架构。理解这套架构的关键,是先分清四类硬件各自的职责边界:ctrlX CORE 负责逻辑运算与运动控制,ctrlX DRIVE 负责功率变换与电机闭环,ctrlX I/O 负责现场信号采集与输出,实时通信总线则把三者连成具有确定时序的整体。冗余硬件选型原则,本质上是在这套架构上回答“哪些环节允许中断、中断多久、如何切换”的问题。
一、ctrlX CORE:控制中枢与实时内核
ctrlX CORE 是整机的控制中枢,典型形态包括 X3、X5、X7 等不同算力等级。它运行 ctrlX OS(基于 Linux 的实时化系统),在同一硬件上并行承载实时任务与非实时任务。实时侧运行 PLC 逻辑、运动学插补与轴同步;非实时侧运行 Web 服务、数据记录、OPC UA 通信与容器化应用。这种“同一设备、双域并行”的结构,使控制与信息化不必再靠额外工控机拼接。
选型时首先看三个量:实时任务周期、轴数与插补复杂度、以及是否需要冗余。以示例参数说明:若一条包装线需要 8 根伺服轴做电子凸轮同步,插补周期设为 1 ms,则 CPU 需在每毫秒内完成凸轮曲线计算、位置环给定与总线报文组装。此时应选择 X5 及以上等级,并预留约 30% 的 CPU 余量,避免后续增加轴数或视觉触发时出现周期抖动。若只是几十点开关量逻辑,X3 即可满足。
二、ctrlX DRIVE:驱动层与功率接口
ctrlX DRIVE 是单轴/多轴伺服驱动系列,负责电流环、速度环、位置环的闭环执行,并通过实时总线接收 ctrlX CORE 下发的给定值、回传实际位置与状态字。它支持多编码器接口与安全功能(如 STO、SLS),在冗余系统中还承担“安全状态可被独立触发”的角色。驱动选型关注连续电流、峰值电流、供电电压与制动电阻配置,而不是只看功率标称值。
举例:某轴负载惯量折算后需要连续转矩 2.5 N·m、峰值 7 N·m,电机转矩常数 1.2 N·m/A,则连续电流约 2.1 A、峰值约 5.8 A。选型时应选连续电流 ≥ 2.5 A、峰值 ≥ 7 A 的驱动模块,并核对直流母线电压与再生能量是否超过制动电阻吸收能力。这一步若忽略,会在频繁启停时出现母线过压报警。
三、ctrlX I/O:现场信号层
ctrlX I/O 采用模块化插片结构,包含数字量、模拟量、温度、计数、安全 I/O 等模块,通过背板或总线耦合器接入实时网络。它的价值在于把现场传感器、执行器、安全回路统一到同一数据模型中,使 PLC 变量、驱动状态与 I/O 点位共享同一时间基准。对于高可用场景,安全 I/O 模块与普通 I/O 应分属不同耦合器或不同支路,避免单点故障同时切断安全与工艺信号。
四、实时通信总线:确定性的来源
ctrlX AUTOMATION 的实时通信以 EtherCAT 为主干,配合 OPC UA 承担非实时数据交换。EtherCAT 的“飞读飞写”机制使报文在从站间不停留,整帧在一个周期内遍历所有节点,因此周期抖动小、同步精度高。工程上应把运动控制与高速 I/O 放在 EtherCAT 域,把诊断、配方、云端上传放在 OPC UA 域,两者通过 ctrlX CORE 内部数据层交换,而不是让非实时流量挤占实时带宽。
五、冗余硬件选型原则
高可用不是把所有部件都做双份,而是按“故障影响面”分级。可遵循四条原则:
- 按停机代价定冗余等级。若单次停机损失以分钟计且可接受重启,采用单控制器加快速恢复即可;若停机涉及人身安全或整线报废,则控制器、总线、供电都需冗余。
- 冗余边界要覆盖“共因故障”。双控制器若共用同一路 24 V 电源或同一交换机,电源故障仍会同时失效。冗余必须延伸到供电、网络路径与接地。
- 切换时间必须小于工艺允许中断时间。EtherCAT 环网线缆冗余可在 1 个周期内完成路径切换;控制器冗余热备切换通常在数十毫秒级。选型时要拿这两个数字与工艺允许值对比。
- 安全功能独立于冗余。STO、安全 I/O 应走独立安全通道,不能依赖普通冗余控制器是否在线,否则冗余失效时安全功能一并丧失。
六、架构落地时的检查要点
完成选型后,建议按以下顺序核对:先确认实时域与非实时域的流量是否分离;再确认 EtherCAT 拓扑(线型、环网或分支)与从站数量是否在周期预算内;然后核对驱动连续/峰值电流与制动电阻;最后验证冗余路径是否真正独立,并用拔线、断电、强制故障三种方式实测切换时间与安全状态。只有这三类故障注入都通过,架构才算真正可用。
把 ctrlX CORE、ctrlX DRIVE、ctrlX I/O 与实时总线看作一条从“决策”到“执行”再到“感知”的闭环链,冗余选型就是在链上找出不可中断的环节并为其准备替代路径。理解这条链的时序与边界,后续的编程、调试与故障排查才有统一的参照。