首页 > 其他分享 >CanOpen报文详细分析

CanOpen报文详细分析

时间:2024-09-22 12:02:03浏览次数:8  
标签:DLC 字节 CanOpen 报文 OD 详细分析 SDO 数据 ID

一、SYNC

同步帧,由同步生产者定期广播同步帧,为网络提供基本的同步机制。

image

  • CAN-ID:0x80(功能码)
  • 帧类型:标准数据帧
  • DLC:0
  • 数据域:无

二、Error Control

1. 节点守护(node guard)

NMT主机定期向NMT从机发送节点守护请求报文,NMT从机返回自己当前的NMT状态。

image

NMT主机:

  • CAN-ID:0x700(功能码) + Node-ID
  • 帧类型:标准远程帧
  • DLC:0
  • 数据域:无

NMT从机:

  • CAN-ID:0x700(功能码) + Node-ID
  • 帧类型:标准数据帧
  • DLC:1
  • 数据域:
    • 最高位(bit 7):翻转位,首次是0
    • 低7位 [6, 0]:心跳生产者的状态

2. 心跳(heartbeat)

心跳生产者周期性的发送心跳报文到CAN总线上,由对应的心跳消费者接收,心跳生产者在字典0x1017配置,心跳消费者在字典0x1016配置(低16位周期,高16位节点ID)

image

  • CAN-ID:0x700(功能码) + Node-ID
  • 帧类型:标准数据帧
  • DLC:1
  • 数据域:
    • 最高位(bit 7):保留
    • 低7位 [6, 0]:心跳生产者的状态

三、PDO

报文分析的话就按触发方式来区分吧。大概可以分为以下几种:

  1. 无外部报文触发
    • 定时触发(设置事件定时器)
    • 发生改变触发
  2. 同步帧触发
  3. 远程帧触发

1.无外部报文触发

image

  • CAN-ID:功能码(见下表) + Node-ID
  • 帧类型:标准数据帧
  • DLC:数据大小
  • 数据域:dlc个8bit数据

2.同步帧触发

image
image
image

请求方:发送同步帧,详见同步帧

响应方:

  • CAN-ID:功能码(见下表) + Node-ID
  • 帧类型:标准数据帧
  • DLC:数据大小
  • 数据域:dlc个8bit数据

3.远程帧触发

image
image
image

请求方:

  • CAN-ID:功能码(见下表)+ Node-ID
  • 帧类型:标准远程帧
  • DLC: 0
  • 数据域:无

响应方:

  • CAN-ID:功能码(见下表) + Node-ID
  • 帧类型:标准数据帧
  • DLC:数据大小
  • 数据域:dlc个8bit数据

功能码表

COB 功能码值
NMT 0x0
SYNC 0x80
TPDO1 0x180
TPDO2 0x280
TPDO3 0x380
TPDO4 0x480
SDO(tx) 0x580
RPDO1 0x200
RPDO2 0x300
RPDO3 0x400
RPDO4 0x500
SDO(rx) 0x600
HeartBeat 0x700

四、SDO

SDO的download和upload是相对于对象字典(OD)作为参照物的。

SDO启动报文数据域格式:

  1. 第一字节:CS
  2. 第二字节:OD索引低8位
  3. 第三字节:OD索引高8位
  4. 第四字节:OD子索引

1. Fast SDO

Fast SDO旨在用一次报文来完成数据的传输,SDO的第一个报文为启动报文,Fast SDO就是利用启动报文只用了4个字节的数据域来与其他设备建立SDO连接,利用剩下的四个空余字节来传输数据,从而达到一帧完成建立SDO连接 + 数据传输的目的。

client cs 快速取值

取值的不同是因为cs中第三位和第二位表示的是不带数据的字节数,改变第三位和第二位的值就可以指定要传输多少字节的数据。

数据规模 download upload
不指定字节 必须指定字节数 0x40
1字节 0x2F 0x4F
2字节 0x2B 0x4B
3字节 0x27 0x47
4字节 0x23 0x43
应答 0x60 字节数对应的upload值
download

用于修改OD的配置信息

image
image

客户端:

  • CAN-ID:0x600+ Node-ID
  • 帧类型:标准数据帧
  • DLC: 8
  • 数据域:
    • 第一字节:cs(见SDO initiate)
    • 第二字节:OD索引低8位
    • 第三字节:OD索引高8位
    • 第四字节:OD子索引
    • 第5~8字节:传输的数据

服务器:

  • CAN-ID:0x580 + Node-ID
  • 帧类型:标准数据帧
  • DLC:8
  • 数据域:
    • 第一字节:cs(见SDO initiate)
    • 第二字节:OD索引低8位
    • 第三字节:OD索引高8位
    • 第四字节:OD子索引
    • 第5~8字节:全为0(不使用但要有)
upload

用于读取OD的配置信息

image
image

客户端:

  • CAN-ID:0x600+ Node-ID
  • 帧类型:标准数据帧
  • DLC: 8 (不能是4)
  • 数据域:
    • 第一字节:cs(见SDO initiate)
    • 第二字节:OD索引低8位
    • 第三字节:OD索引高8位
    • 第四字节:OD子索引
    • 第5~8字节:全为0(不使用但要有)

服务器:

  • CAN-ID:0x580 + Node-ID
  • 帧类型:标准数据帧
  • DLC:8
  • 数据域:
    • 第一字节:cs(见SDO initiate)
    • 第二字节:OD索引低8位
    • 第三字节:OD索引高8位
    • 第四字节:OD子索引
    • 第5~8字节:传输的数据

标签:DLC,字节,CanOpen,报文,OD,详细分析,SDO,数据,ID
From: https://www.cnblogs.com/xddisme/p/18425144

相关文章

  • 【HTTP】HTTP报文格式和抓包
    文章目录HTTP是什么HTTP报文格式抓包工具抓包工具的原理抓包结果请求响应IP,数据链路层,DNS…都是理论为主,TCP/UDP虽然有一些时间,但课堂内容不多HTTP理论和实践同样重要,未来作为web开发程序猿(写网站),HTTP就是咱们工作中最常用到的东西,吃饭的饭碗HTTP是什么......
  • 【FAT32文件系统详细分析 (格式化SD nandSD卡)】
    ......
  • ModbusTCP报文详解
    ModbusTCP与ModbusRtu(ASCI)数据帧的区别总结:ModbusTCP就是在ModbusRtu(ASCI)基础上去掉CRC,再加上六个0一个6ModbusTCPMBAP报文头域长度描述客户机服务器事务处理标识符2字节Modbus请求/响应事务处理的识别客户机启动服务器从接收的请求中重新复制协议标识符2字节0=M......
  • 广播报文中可以包含哪些数据
    广播中包含的数据SDK里面定义了广播数据结构体ble_advdata_t,该结构体描述了广播可以包含的数据,ble_advdata_t定义如下:整理结构体如下表所示:下表中的数据类型都是可以添加到广播报文中的,一般建议在广播数据包中至少包含设备名称、flags、外观和首要服务的UUID列表数据类型......
  • 广播数据包报文格式
    BLE报文由不同的域组成,如果域的长度超过一个字节,就涉及到先传输字节的低位还是高位的问题,这里分字节序和比特序:字节序:大多数的多字节域都是从低字节开始传输。但是,并不是所有的多字节域都是从低字节开始传输。比特序:各个字节传输时,每个字节都是从低位开始。前导:前导是一个8bi......
  • 超详细全面的宿舍管理系统课程设计(详细分析及源码分享)
    第一章系统概述    宿舍管理查询软件是一个教育单位不可缺少的部分它的内容对于学校的决策者和管理者来说都至关重要所以宿舍管理查询软件应该能够为用户提供充足的信息和快捷的查询手段。以前各个学校的学生宿舍管理基本上都是靠手工进行,但随着各个学校的规模增大,有关......
  • 【Python脚本】自定义Payload的ICMP报文发送
    原创Evan运维小站OpsStationICMP(InternetControlMessageProtocol)是一种网络层协议,主要用于在IP主机、网关之间传递控制消息。通常,ICMP报文具有固定的格式,并用于发送错误报告或与网络诊断相关的消息。标准ICMP报文不包含用户定义的payload内容。但是,你可以通过发送一个"......
  • 【FAT32文件系统详细分析 (格式化SD nandSD卡)】
    ......
  • qt5.15.2+opencv4.10+VS2019_64 均值滤波,高斯滤波算法详细分析
    目录 一.加载图像二.灰度图像三.均值滤波1.均值滤波均值滤波算法(MeanFiltering):    参数含义:    一句话总结:均值滤波特点:应用场景:缺点:2.高斯滤波高斯滤波算法(GaussianBlur):        高斯滤波计算过程:    参数含义:    ......
  • 电脑pe是什么意思_电脑pe系统作用详细分析
    有些小白很好奇,电脑pe是什么意思?所谓的电脑pe系统其实就是当我们的电脑出现问题而不能进入正常系统时候的一种“紧急备用”系统。如果需要重装操作系统的话,以往采用光盘使用的比较多,随着技术的进步,用u盘制作一个pe启动盘去安装系统比较方便,只需要用u盘制作好pe启动盘就可以帮......