Bonfiglioli CM‑CAN CANopen 通讯模块
硬件安装
机械安装:断电拆下变频器上盖板;安装 PE 接地弹片 M4 螺丝;CM‑CAN 插入 Slot‑B 插槽,M2 螺丝锁紧到 PE 弹片;敲开盖板预制开孔引出 X310 DB9 接头,复原盖板。
X310 DB9 接口引脚(ISO 11898‑2 高速 CAN)
| 引脚 | 信号 | 说明 |
| 外壳 | 屏蔽 | 接 PE |
|1,2 |CAN‑L | 并联 |
|7,8 |CAN‑H | 并联 |
|3,6 |CAN‑GND | 地 |
|9 |+5V 输出 |
|4,5 |NC | 空置 |
终端电阻拨码 S1:总线物理首尾节点 S1=ON;中间全部 OFF,禁止同时使用板载拨码和外部插头终端。
线缆:CAN‑Bus 专用双绞编织屏蔽线缆,屏蔽层两端大面积接 PE;动力电缆与通讯电缆物理分隔布线。
基础总线参数
参数 385 CAN Baud rate 波特率,整条总线所有节点波特率必须保持一致
| 设置 | 波特率 | 最大总线长度 |
|1 |10kBaud |5000m |
|2 |20kBaud |2500m |
|3 |50kBaud |1000m |
|4 |100kBaud |500m |
|5 |125kBaud |500m |
|6 |250kBaud |250m(出厂默认) |
|7 |500kBaud |100m | |8 |1000kBaud |25m |
参数 387 CAN Node Number 节点地址
0:CANopen 接口禁用(出厂默认);
1‑127:从站节点号;修改参数后变频器自动复位生效;CANopen 总线最多支持 127 节点。
参数 388 CAN Error Behaviour 总线故障行为(DS402 对象 0x6007/0)| 值 | 模式 | 功能 | |---|---|---| |0 |No reaction | 维持当前运行点,不动作 | |1 |Error | 报故障,变频器停机 | |2 |Switch‑off | 状态切 “已合闸”,按停机斜坡停止 | |3 |Quick stop | 执行快停斜坡停机 |
模式 2/3 生效前提:412=1状态机总线控制模式。
总线故障代码:
F20‑21:CAN Bus‑OFF 总线关闭
F20‑22:Guarding 监护失败
F20‑23:Error‑State 错误状态
F23‑nn:Heartbeat 心跳失败,nn = 故障节点 ID
CANopen 对象字典
对象字典分 4 大类:通讯对象 0x1nnn、通用对象 0x6nnn、设备控制对象 0x60xx、速度模式对象 0x604x、厂商自定义对象 0x2000/0x2nnn。
4.1 通讯对象 0x1nnn(DS301)
0x1000 Device Type 设备类型:设备配置为 DS402 驱动器(0x00001615)
0x1001 Error Register 错误寄存器(8bit 位编码):通用错误、电流、电压、温度、通讯故障等。
0x1008‑0x100A:厂商设备名、硬件版本、软件版本(字符串只读)。
0x1014 Emergency ID 紧急报文 COB‑ID;默认128+NodeID。
0x1016 Consumer Heartbeat Time:最多监控 3 个外部节点心跳超时。
0x1017 Producer Heartbeat Time:本机向外发送心跳周期,0 = 关闭。
0x1018 Identity 对象:Vendor‑ID=0x000000D5。
Emergency 紧急报文格式:8 字节,标准 CiA 紧急码 + 邦飞利内部故障码。
4.2 PDO 过程数据对象(2 个 RxPDO,2 个 TxPDO)
传输类型固定 255(事件触发),不支持 SYNC 同步模式。
|PDO |COB‑ID 默认 | 默认映射内容 |
|RxPDO1 (接收 1) |512+NodeID |0x6040 控制字 |
|RxPDO2 (接收 2) |768+NodeID |0x6040 控制字 + 0x6042 目标转速 (RPM) |
|TxPDO1 (发送 1) |384+NodeID |0x6041 状态字(事件触发,状态变化发送) |
|TxPDO2 (发送 2) |640+NodeID |0x6041 状态字 +0x6044 实际转速;支持抑制时间 50ms,事件时间 1000ms |
PDO 可以通过设置 COB‑ID 最高 bit=1 关闭该 PDO;
转速单位:RPM,依靠极数对象 0x604D 完成 RPM ↔ 内部 Hz 频率换算。
4.3 SDO 服务数据对象
Server‑SDO:0x1200;Rx‑SDO ID =1536+NodeID;Tx‑SDO ID=1408+NodeID;支持 Expedited 快速传输。
两种访问变频器参数方式
厂商对象 0x2nnn(推荐)
Index = 0x2000 + 变频器参数号;Subindex = 数据集编号;
数据集 0‑4:写入 EEPROM;数据集5‑9 仅 RAM(断电丢失,用于周期写给定,保护 EEPROM,EEPROM 约 100 万次擦写寿命)。
小数参数:放大整数传输,例 10.5Hz 传输 1050。
厂商复合对象 0x2000(备选):Subindex01=int/uint;02=long;03=string,报文更繁琐。
SDO Abort 中止错误码,标准 CiA DS301 错误码,对应参数不存在、只读、运行不可写、数据集错误等。
4.4 DS402 驱动控制对象
0x6060/0x6061 Operation mode:本模块仅支持速度模式 = 2,其它模式忽略。
0x6040 Control Word 控制字;0x6041 Status Word 状态字,严格遵循 DS402 DRIVECOM 状态机。
0x604D Pole number 电机极数(不是极对数,极对数 ×2),用于 RPM 与 Hz 换算。
0x6042 Target velocity 目标转速(RPM);0x6044 Control effort 实际转速(RPM 只读)。
0x6046 最小 / 最大转速;0x6048加速(Δspeed/Δtime);0x6049减速。

三种 CANopen 控制模式
硬件端子 S1IND 硬件使能优先级最高!总线不能替代硬件安全使能。
模式 0:Control via contacts(端子控制,412=0)
启停命令全部来自 DI 端子;CANopen 控制字无效;仅状态字反馈驱动器状态。状态机简化:就绪 / 运行使能 / 故障。
模式 1:Control via state‑machine(DRIVECOM 完整状态机,412=1,标准 CANopen 控制)
完整 DS402 状态机:断电初始化→合闸禁止→就绪合闸→运行使能→快停→故障。
控制字 bit0‑bit7 执行状态跳转:Switch‑on、Quick‑Stop、Operation‑enable、Fault‑Reset 故障复位;
参数392 State‑transition5:从运行使能切回就绪的停机行为:0 自由滑行、1 直流制动(仅限 V/F)、2 斜坡停机出厂默认;
Quick‑Stop 快停逻辑:执行快停斜坡,到达零速后保持直流制动,达到保持时间后切断输出。
故障发生后内部 15s 屏蔽时间,故障复位指令必须等待该时间。
模式 2:Control via remote contacts 虚拟端子模式(412=2)
控制字每 bit 映射硬件数字输入 S1IND~S6IND,总线虚拟 DI;硬件 S1IND 依然必须硬件给到使能;驱动器行为完全等同于硬件端子接线。
给定源逻辑
1 = 只用内部给定;2 = 只用 CAN 总线目标转速给定;3 = 内部 + 总线给定叠加; 可监视实际值参数:
228:内部参考频率 (Hz)
282:CAN 总线参考频率 (Hz)
283:斜坡输出总参考频率 (Hz)
故障、警告
警告字270为 16bit 位编码,Bit13=Sysbus 系统总线警告;
CANopen 专属故障 F20‑xx、F23‑xx 心跳故障;Emergency 报文上报故障。
