CanOpen--SDO 数据帧分析

CanOpen--SDO 数据帧分析

  • [1 介绍](#1 介绍)
    • [1.1 概述](#1.1 概述)
    • [1.2 主站与从站](#1.2 主站与从站)
  • [2 数据帧详细分析](#2 数据帧详细分析)
    • [2.1 主站发送的请求帧 (Client → Server)](#2.1 主站发送的请求帧 (Client → Server))
    • [2.2 从站响应的确认帧 (Server → Client)](#2.2 从站响应的确认帧 (Server → Client))
    • [2.3 命令字](#2.3 命令字)
    • [2.4 小端格式:低字节在前](#2.4 小端格式:低字节在前)
  • [3 其他示例](#3 其他示例)
  • 参考

1 介绍

1.1 概述

在 CANopen 中,SDO (Service Data Object) 用于主站与从站之间的参数配置和数据传输。当需要向对象字典索引 0x6083 写入值 100 时,需要使用 SDO 写操作。

1.2 主站与从站

在上位机与伺服电机的通信系统中,上位机通常是主站(Master),而伺服电机作为执行机构,通常作为从站(Slave)运行。

主站(Master):发起通信请求、发送控制指令、协调数据交换的设备。

从站(Slave):响应主站请求、执行指令、反馈状态信息的设备。

2 数据帧详细分析

假设条件:

从站节点ID:1

对象字典索引:0x6083

子索引:0x00 (通常默认)

写入值:100 (0x64)

2.1 主站发送的请求帧 (Client → Server)

COB-ID:0x600 + NodeID = 0x601

数据帧内容:

Byte 说明
0 0x23 写入4字节数据的命令字
1-2 0x83 0x60 索引 0x6083 (小端格式)
3 0x00 子索引 0x00
4-7 0x64 0x00 0x00 0x00 值 100 (小端格式,4字节)

完整数据帧

复制代码
601 23 83 60 00 64 00 00 00

2.2 从站响应的确认帧 (Server → Client)

COB-ID:0x580 + NodeID = 0x581

成功数据帧内容

Byte 说明
0 0x60 写操作成功的响应
1-2 0x83 0x60 索引 0x6083 (小端格式)
3 0x00 子索引 0x00
4-7 0x64 0x00 0x00 0x00 值 100 (小端格式,4字节)

完整数据帧

复制代码
581 23 83 60 00 64 00 00 00

示例错误帧

完整数据帧

复制代码
581 80 83 60 00 06 00 00 05 

0x80:表示错误响应

2.3 命令字

  • 请求帧命令字 0x23:

    0x2:表示写请求

    0x3:表示数据大小指定为4字节

  • 响应帧命令字 0x60:

    表示写操作成功完成

2.4 小端格式:低字节在前

索引 0x6083 → 传输为 0x83 0x60

值 100 (0x00000064) → 传输为 0x64 0x00 0x00 0x00

3 其他示例

60FF index 发送 数值 1000 数据帧分析

从站节点ID: 1 (示例)

COB-ID: 0x600 + NodeID = 0x601

对象字典索引: 0x60FF

子索引: 0x00 (默认)

写入值: 1000 (0x000003E8)

数据帧结构

Byte 说明
0 0x23 写入4字节数据的命令字
1 0xFF 索引低字节 (0xFF)
2 0x60 索引高字节 (0x60)
3 0x00 子索引
4 0xE8 数据字节0 (1000的低字节)
5 0x03 数据字节1
6 0x00 数据字节2
7 0x00 数据字节3

完整报文

shell 复制代码
ID: 0x601
Data: 23 FF 60 00 E8 03 00 00

参考

1、机器人开发--CanOpen

相关推荐
NYKJ.Co19 天前
开疆智能CCLinkIE转Canopen网关连接UV紫外灯配置案例
canopen·cclinkie
NYKJ.Co20 天前
开疆智能CCLinkIE转CANopen网关连接GBS20机器人配置案例
机器人·canopen·cclinkie
工控小楠1 个月前
CANopen转EtherCAT协议转换案例解析
ethercat·can协议·canopen
hlpinghcg1 个月前
CanFestival移植到STM32G4
stm32·canopen
JIANGHONGZN2 个月前
当PLC遇上电焊机器人:EtherCAT转CANopen上演工业级“语言翻译官”
工业控制·工业自动化·ethercat·协议网关·canopen
JIANGHONGZN2 个月前
污水处理厂逆袭:Ethernet/IP 转 CANopen 开启“智净”时代
工业自动化·ethernetip·协议网关·canopen·工业自动化与控制
JIANGHONGZN2 个月前
革新锅炉厂智能控制——Ethernet IP转CANopen协议网关的工业互联新方案
ethernetip·协议网关·canopen·工业通讯·工业自动化与控制
newtonltr2 个月前
CANopen TPDO 配置详解:对象 1800h、1A00h 与实践指南
stm32·canopen
林磊教育5 个月前
Zynq移植canopen协议站canfestival+控制电机运动
zynq·canopen·canfestival