跳到主要内容

SoE - 伺服驱动协议

什么是 SoE?

SoE (Servo Drive Profile over EtherCAT) 是基于 IEC 61800-7-204 (SERCOS III) 标准的高性能运动控制协议。

SoE 是一个专为伺服驱动器设计的应用层协议,特别适合需要高精度、高响应速度的运动控制场景。

协议定位

SoE 是 EtherCAT 对 SERCOS III 标准的直接集成,让 SERCOS 伺服驱动器可以无缝接入 EtherCAT 网络。

SoE 与 CoE 的区别

特性SoECoE (CiA 402)
技术来源SERCOS III 运动控制标准CANopen 通用标准
参数寻址IDN (16位标识符)索引 + 子索引
实时性能极高(为运动控制优化)
主要应用高端伺服、数控系统通用伺服、自动化设备
厂商支持主要是 SERCOS 联盟成员几乎所有 EtherCAT 设备
复杂度较复杂(完整运动控制栈)中等
互操作性SERCOS 设备间高度统一设备间差异较大

核心概念

IDN (Identification Number)

SoE 使用 IDN 而不是对象字典索引来标识参数:

  • S-x-xxxx — 标准 SERCOS IDN(示例:S-0-0134)
  • P-x-xxxx — 产品特定 IDN(示例:P-0-1000)

IDN 结构

  • S/P:标准/产品特定
  • 第1位:参数类型(0=标准,1-7=扩展)
  • 后4位:参数编号

常用标准 IDN

控制和状态

IDN名称类型说明
S-0-0134Master Control WordUINT16主站控制字(启动、停止等)
S-0-0135Drive Status WordUINT16驱动器状态字(运行、故障等)
S-0-0142Control Unit Cycle TimeUINT32控制周期时间
S-0-0143Drive Cycle TimeUINT32驱动器周期时间

位置控制

IDN名称类型说明
S-0-0035Position Command ValueINT32位置指令值
S-0-0040Position Feedback ValueINT32位置反馈值
S-0-0051Position Feedback 2 ValueINT32第二位置反馈(双编码器)

速度和扭矩

IDN名称类型说明
S-0-0036Velocity Command ValueINT32速度指令值
S-0-0040Velocity Feedback ValueINT32速度反馈值
S-0-0084Torque Command ValueINT16扭矩指令值
S-0-0085Torque Feedback ValueINT16实际扭矩反馈

诊断和状态

IDN名称类型说明
S-0-0095Diagnostic MessageSTRING当前诊断信息
S-0-0011Class 1 DiagnosticUINT16一级诊断代码
S-0-0012Class 2 DiagnosticUINT16二级诊断代码

SoE 通信服务

实时通信(AT - Acyclic Telegram)

用于循环数据交换(位置、速度、扭矩等):

  • 通过 PDO 映射
  • 每个控制周期更新
  • 延迟极低

非实时通信(AT - Acyclic Telegram)

用于参数读写、配置和诊断:

  • 通过 Mailbox 传输
  • 支持读取、写取、命令执行
  • 用于启动、配置、监控

SoE 服务类型

服务代码说明
Read Request0x01读取 IDN 数据,获取状态、参数
Read Response0x81读取响应,返回数据
Write Request0x02写入 IDN 数据,修改参数
Write Response0x82写入响应,确认写入
Emergency0x04紧急通知,故障报警

SoE 驱动器状态机

SoE 定义了标准的驱动器状态转换:

状态说明特点
S0 - 未就绪初始化状态驱动器上电
S1 - 待机参数设置就绪可配置参数
S2 - 准备运行通信同步就绪等待使能
S3 - 运行电机使能运行接受运动指令
S4 - 故障错误状态需要故障恢复

支持 SoE 的主要厂商

厂商产品系列特点
Bosch RexrothIndraDriveSERCOS 标准的主要推动者
SiemensSINAMICS S120高端伺服系统
YaskawaSigma-7高性能伺服
KollmorgenAKD先进运动控制
Schneider ElectricLexium工业伺服驱动

SoE vs CoE - 如何选择?

有哪个用哪个, SoE方便多了

技术优势

标准化程度高

SERCOS 协会严格定义了:

  • 参数命名和编号
  • 状态机转换逻辑
  • 数据类型和单位
  • 错误代码定义

不同厂商的 SoE 驱动器具有高度一致性。

实时性能优异

  • 支持 62.5μs 控制周期
  • 确定性通信延迟
  • 硬件时间戳
  • 分布式时钟同步

功能完整

内置完整的运动控制功能:

  • 位置、速度、扭矩控制模式
  • 电子齿轮和凸轮
  • 限位和安全功能
  • 插补和轨迹规划

诊断能力强

  • 分级诊断系统
  • 详细的错误描述
  • 实时监控能力
  • 故障历史记录

Darra SDK 中的 SoE 支持

Darra SDK 提供完整的 SoE 协议支持:

功能特性

功能说明
IDN 读写支持所有标准和产品特定 IDN
循环数据自动映射 SoE PDO
状态机管理自动驱动器状态转换
诊断解析解析 SERCOS 诊断信息
多轴同步支持多轴时间同步控制

设备识别

SDK 自动识别 SoE 设备并加载相应配置。

如何学习 SoE 开发?

  1. 阅读 IEC 61800-7 标准文档
  2. 参考驱动器厂商的 SoE 参数列表
  3. 使用 Darra SDK 的 SoE 示例代码
  4. 实际连接 SoE 驱动器进行测试

总结

SoE 是 EtherCAT 在高端运动控制领域的重要协议,它将 SERCOS 的成熟技术与 EtherCAT 的高性能结合,为数控机床、机器人等应用提供了卓越的解决方案。

虽然 SoE 比 CoE 更复杂,但在需要极致性能的场合,这些额外的复杂度是值得的。