跳到主要内容

性能调优

扫描周期优化

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 通道负载