性能调优
扫描周期优化
PLC 扫描周期由 OB 调度器控制,优化方向:
- 减少 OB 中的代码量(拆分到多个 OB)
- 使用更高效的指令(避免字符串操作)
- 减少不必要的 IO 访问
- 合理设置扫描周期(默认 10ms)
实时性能
Windows 硬实时版需要核心隔离配置:
- 使用 ReservedCpuSets 隔离专用核
- 将 EtherCAT NDIS RX 线程绑定到隔离核
- 配置 NIC IRQ 亲和性
- 关闭隔离核上的 Windows 普通线程调度
内存优化
- 使用 ARRAY 而非大块 STRUCT
- 及时释放临时变量(VAR_TEMP)
- 避免递归调用
- 监控 DB 块大小
IO 刷新率
- 本地 IO:默认 1ms 刷新
- EtherCAT IO:1ms 周期(可配置)
- 远程 IO:10-100ms(取决于网络)
- Modbus IO:100-1000ms
通讯瓶颈
- 使用订阅模式而非轮询
- 减少不必要的变量读写
- 批量读写优于单变量
- 监控 DarraLink 18821 通道负载