Skip to content

CAN

约 429 字大约 1 分钟

2025-04-16

CAN总线;Controller Area Network;控制器局域网 起源与汽车领域控制,元件过多连接混乱控制线异常多、乱,于是衍生出总线的形式,一根线让所有连接的设备都可以收发

labelimg

SDO

Service Data Object 服务数据对象 主要用于设备的配置和参数管理,比如读取或修改设备配置参数

PDO

Process Data Object 过程数据对象 用于实时数据传输,比如传感器、执行器状态 允许输在设备之间高效高速传播

RPDO:发送控制命令到电机(目标位置) TPDO:电机发送状态反馈到主控(状态、当前位置)

CANopen协议中,节点有四种基本状态:

  1. 初始化状态(Initialization):
    • 节点刚上电或复位后的状态
    • 不能进行PDO通信
    • 只能进行SDO通信来配置参数
  2. 预操作状态(Pre-operational):
    • 节点可以接收和发送SDO消息
    • 可以配置PDO参数
    • 不能进行PDO通信
    • 适合进行参数配置和初始化
  3. 操作状态(Operational):
    • 节点可以进行所有类型的通信
    • 包括SDO和PDO通信
    • PDO可以正常传输数据
    • 适合正常运行时的状态
  4. 停止状态(Stopped):
    • 节点只能接收NMT命令
    • 不能进行PDO通信
    • 可以接收SDO消息

首先需要让节点进入预操作状态(0x80)来配置PDO参数 配置完PDO后,需要让节点进入操作状态(0x01)才能开始PDO通信

电机的相关操作 可以在初始化中完成,比如锁定电机,设置PP模式,