CANopen DS402 - 驱动器与运动控制设备Profile规范
概述
CANopen Device Profile for Drives and Motion Control (DSP 402) 是CAN in Automation (CiA)制定的驱动器与运动控制设备规范。本文档是草案版本(Version 2.0, 2005年3月),不建议用于实施。
核心概念
通过配置标准化
DSP 402通过定义对象字典来标准化驱动器和运动控制设备的通信行为。关键概念:
- 对象字典:设备的功能模型,包含所有可访问的参数
- 索引(Index)和子索引(Sub-index):对象字典中条目的唯一标识符
- PDO映射:过程数据对象映射,定义哪些对象可以通过PDO传输
访问驱动器的方式
驱动器通过标准CANopen服务访问:
- SDO (Service Data Object):用于参数配置和诊断
- PDO (Process Data Object):用于实时数据传输
- NMT (Network Management):用于网络管理
驱动器架构
基本结构
┌─────────────────────────────────────────┐
│ CANopen Stack │
├─────────────────────────────────────────┤
│ Object Dictionary │
│ ┌──────────┬──────────┬──────────┐ │
│ │ Common │ Device │ Factor │ │
│ │ Entries │ Control │ Group │ │
│ ├──────────┼──────────┼──────────┤ │
│ │ Profile │ Profile │ Profile │ │
│ │ Position │ Homing │ Velocity │ │
│ │ Mode │ Mode │ Mode │ │
│ ├──────────┼──────────┼──────────┤ │
│ │ Profile │ Cyclic │ Interpo- │ │
│ │ Torque │ Sync │ lated Pos│ │
│ └──────────┴──────────┴──────────┘ │
├─────────────────────────────────────────┤
│ Motor Data & Drive Data │
└─────────────────────────────────────────┘
公共条目(Common Entries)
通用对象字典条目
| 索引 | 名称 | 说明 |
|---|---|---|
| 1000h | Device type | 设备类型 |
| 1001h | Error register | 错误寄存器 |
| 67FFh | Single device type | 单一设备类型 |
电机与驱动器数据
| 索引 | 名称 | PDO | 说明 |
|---|---|---|---|
| 6007h | Abort connection option code | - | 断开连接选项码 |
| 603Fh | Error code | - | 错误码 |
| 6402h | Motor type | - | 电机类型 |
| 6403h | Motor catalog number | - | 电机型号 |
| 6404h | Motor manufacturer | - | 电机制造商 |
| 6502h | Supported drive modes | - | 支持的驱动器模式 |
设备控制(Device Control)
状态机
DSP 402定义了标准的八状态机:
Power Off → Ready to Switch On → Switched On → Op. Enabled
↑ ↓ ↓ ↓
Fault → Fault Stop ← Quick Stop ← Operation Mode
↓
Halt
关键控制字
| 索引 | 名称 | 类型 | 说明 |
|---|---|---|---|
| 6040h | Controlword | UNSIGNED16 | 控制字 |
| 6041h | Statusword | UNSIGNED16 | 状态字 |
操作模式
| 索引 | 名称 | 说明 |
|---|---|---|
| 6060h | Modes of operation | 操作模式选择 |
| 6061h | Modes of operation display | 当前操作模式显示 |
支持的运行模式:
- 位置模式 (Profile Position Mode)
- 速度模式 (Profile Velocity Mode)
- 定长模式 (Cyclic Synchronous Position Mode)
- 插值位置模式 (Interpolated Position Mode)
- 扭矩模式 (Profile Torque Mode)
- 回转模式 (Homing Mode)
功能选项码
| 索引 | 名称 | 说明 |
|---|---|---|
| 605Bh | Shutdown option code | 关机选项 |
| 605Ch | Disable operation option code | 禁用操作选项 |
| 605Ah | Quick stop option code | 快速停止选项 |
| 605Dh | Halt option code | 停止选项 |
| 605Eh | Fault reaction option code | 故障反应选项 |
位置组(Position Group)
单位换算相关对象
| 索引 | 名称 | 说明 |
|---|---|---|
| 6089h | Position notation index | 位置记数索引 |
| 608Ah | Position dimension index | 位置维度索引 |
| 608Bh | Velocity notation index | 速度记数索引 |
| 608Ch | Velocity dimension index | 速度维度索引 |
| 608Fh | Position encoder resolution | 位置编码器分辨率 |
| 6090h | Velocity encoder resolution | 速度编码器分辨率 |
| 6091h | Gear ratio | 齿轮比 |
| 6092h | Feed constant | 进给常数 |
各运行模式详解
1. 位置模式(Profile Position Mode)
输入数据:
- 607Ah:目标位置 (Target position)
- 607Bh:位置范围限制 (Position range limit)
- 607Dh:软件位置限制 (Software position limit)
- 607Fh:最大轮廓速度 (Max profile velocity)
- 6080h:最大电机转速 (Max motor speed)
- 6081h:轮廓速度 (Profile velocity)
- 6082h:终点速度 (End velocity)
- 6083h:轮廓加速度 (Profile acceleration)
- 6084h:轮廓减速度 (Profile deceleration)
- 6085h:快速停止减速度 (Quick stop deceleration)
- 6086h:运动轮廓类型 (Motion profile type)
输出数据:
- 6062h:位置请求值 (Position demand value)
- 6063h:实际位置* (Position actual value*)
- 6064h:实际位置 (Position actual value)
2. 原点回归模式(Homing Mode)
输入数据:
- 607Ch:原点偏移 (Home offset)
- 6098h:回归方法 (Homing method)
- 6099h:回归速度 (Homing speeds)
- 609Ah:回归加速度 (Homing acceleration)
支持的回归方法:
- 使用正极限开关
- 使用负极限开关
- 使用参考点输入
- 等
3. 位置控制功能(Position Control Function)
监控参数:
- 6065h:跟随误差窗口 (Following error window)
- 6066h:跟随误差超时 (Following error time out)
- 6067h:位置窗口 (Position window)
- 6068h:位置窗口时间 (Position window time)
- 60F4h:实际跟随误差 (Following error actual value)
- 60FAh:控制努力 (Control effort)
4. 插值位置模式(Interpolated Position Mode)
插入数据记录:
- 60C0h:插入子模式选择 (Interpolation sub mode select)
- 60C1h:插入数据记录 (Interpolation data record)
- 60C2h:插入时间周期记录 (Interpolation time period record)
- 60C3h:插入同步定义 (Interpolation sync definition)
- 60C4h:插入数据配置记录 (Interpolation data configuration record)
5. 速度模式(Velocity Mode)
输入数据:
- 6042h:目标速度 (Target velocity)
- 6047h:速度最小/最大值 (Velocity min/max)
- 6048h:速度加速/减速度记录 (Velocity acceleration/deceleration record)
输出数据:
- 6043h:速度请求值 (Velocity demand value)
- 6044h:控制努力 (Control effort)
- 606Bh:速度请求值* (Velocity demand value*)
- 606Ch:实际速度 (Velocity actual value)
6. 扭矩模式(Torque Mode)
输入数据:
- 6071h:目标扭矩 (Target torque)
- 6072h:最大扭矩 (Max torque)
- 6073h:最大电流 (Max current)
- 6087h:扭矩斜率 (Torque slope)
- 6088h:扭矩轮廓类型 (Torque profile type)
输出数据:
- 6074h:扭矩请求值 (Torque demand value)
- 6077h:实际扭矩 (Torque actual value)
- 6078h:实际电流 (Current actual value)
- 6079h:直流链路电压 (DC link circuit voltage)
因子组(Factor Group)
DSP 402定义了物理单位与内部单位之间的转换关系:
| 物理量 | 维度索引 | 表示索引 |
|---|---|---|
| 长度/距离 | 01h (m) | 根据需求 |
| 面积 | A0h (m²) | - |
| 体积 | A1h (m³) | - |
| 时间 | A2h (s) | - |
| 功率 | 24h (W) | - |
| 转速 | A3-A5h (rev/s, rev/min, rev/h) | - |
| 角度 | 10h (rad) | - |
| 速度 | A6h (m/s) | - |
| 扭矩 | A9h (N·m) | - |
| 温度 | 05h (K), 2Dh (°C) | - |
| 电压 | 26h (V) | - |
| 电流 | 04h (A) | - |
| 百分比 | Abh (%) | - |
| 频率 | 20h (Hz) | - |
前缀表示法
| 前缀 | 因子 | 符号 | 索引 |
|---|---|---|---|
| exa | 10^18 | E | 12h |
| peta | 10^15 | P | 0Fh |
| tera | 10^12 | T | 0Ch |
| giga | 10^9 | G | 09h |
| mega | 10^6 | M | 06h |
| kilo | 10^3 | k | 03h |
| hecto | 10^2 | h | 02h |
| deca | 10^1 | da | 01h |
| deci | 10^-1 | d | FFh |
| centi | 10^-2 | c | FEh |
| milli | 10^-3 | m | FDh |
| micro | 10^-6 | µ | FAh |
| nano | 10^-9 | n | F7h |
| pico | 10^-12 | p | F4h |
| femto | 10^-15 | f | F1h |
| atto | 10^-18 | a | EEh |
关联规范
- CANopen-DS301应用层与通信协议规范 - CANopen应用层基础
- CiA-306-CANopen链路层服务规范 - 链路层服务
- CANopen-DS404测量设备与闭环控制器设备规范 - 测量设备规范
- CANopen-DS406编码器设备规范 - 编码器规范
应用参考
DSP 402广泛应用于以下领域:
- 工业机器人控制
- 数控机床
- 自动化生产线
- 车辆驱动系统
- 电梯控制
- 风力发电变桨系统