CAN 报文由 7 个不同的位域组成,而 CANopen 就是规定其中的仲裁域(11 位标识符) 和数据域(8 字节数据) 的使用情况,11 位标识符和 8 字节数据在 CAN 帧中的位置如下图所示:

图1.1 CANopen的标识符和数据在CAN帧中的位置

CANopen 协议中的各种通讯对象通过 11 位标识符中的功能码部分(10-7 位) 进行分别,比如主节点发送 NMT 控制命令功能码为 0000,SDO 的功能码为 1011(发送) 和 1100(接收) 。CAN 网络中各个从节点的 ID 用节点 ID(6-0 位) 表示,最多可以有127 个从节点。

不同通讯对象对 8字节数据的使用及各字节代表的意义不同。

(1) 过程数据对象(PDO) :8 个字节全部用来传输实时数据。

(2) 服务数据对象(SDO) :使用 8 个字节,各字节表示的意义如表 1-1。

表1-1 SDO对象数据字节的使用

字节0

字节1~2

字节3

字节4~7

SDO命令字

对象索引

对象子索引

数据值

(3) 网络管理对象(NMT) :NMT 对象使用 2 字节数据,心跳报文使用 1 字节数

据,表示的意义如表1-2和1-3。

表1-2 NMT对象数据字节的使用

标识符

字节0

字节1

0x000

命令字

从节点ID

表1-3 心跳报文数据字节的使用

标识符

字节0

0x700+Node_ID

从节点状态

CANopen 协议作为 CAN 总线的应用层协议,主要对 CAN 报文中可用于报文控制的 11/29 位 CAN-ID 和 8 字节数据进行定义,实现应用层功能。

CANopen 协议使用 11/29 位 CAN-ID 对报文进行分类,协议支持的报文有以下几类:

1. SDO(服务数据对象)报文。SDO 报文的主要用途是主从节点的数据交互。使用 SDO 报文进行通信时,接收报文的节点需要回送报文进行应答,因此 SDO报文实现的是一种面向连接的可靠性通信。关于 SDO 报文通信的详细定义和处理流程将在后面讨论

2. PDO(过程数据对象)报文。PDO 报文的主要用途与 SDO 报文类似,也是用于主从节点数据交互。与 SDO 报文的主要区别在于,使用 PDO 报文通信时,接收报文的节点不需要回送应答;另外 PDO 报文对数据的访问方式与 SDO 报文不同,PDO 报文的数据访问效率比 SDO 报文更高,因此 PDO 报文常用于需要频繁操作的数据,以及需要高效率传输的数据。PDO 报文可采用同步方式或者异步方式进行传输。当需要同步传输 PDO 报文时,设备的对象字典需要支持同步周期字典项(索引值 0x1006)。

3. NMT(网络管理)报文。该报文的主要功能是进行网络管理,CANopen 主节点通过发送 NMT 报文控制从节点的启动,停止,运行等状态切换,从节点通过NMT 报文(具体来说是心跳报文)来通知主节点自己上线或者下线。

4. 特殊功能报文,主要包括同步报文,紧急事件报文,时间邮戳报文等。

canopen 报文格式_CANopen协议报文处理相关推荐

  1. canopen 报文格式_CANopen协议介绍

    1.CANopen协议简介 从OSI 网络模型的角度来看,CAN总线只定义了OSI网络模型的第一层(物理层) 和第二层(数据链路层),而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软 ...

  2. 【计算机网络】网络层 : BGP 协议 ( BGP 协议简介 | BGP 协议信息交换 | BGP 协议报文格式 | BGP-4 常用报文 | RIP 、OSPF、BGP 协议对比 )

    文章目录 一.路由选择协议分类 二.BGP 协议 简介 三.BGP 协议 信息交换过程 三.BGP 协议 报文格式 四.BGP 协议 特点 五.BGP-4 协议的 四种报文 六.RIP .OSPF.B ...

  3. http详解 请求报文格式和响应报文格式

    题外话: <Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元>相信过去BTC的人,信不信未来的PI,了解一下,唯一一个高度与之持平的项目 HTTP 工作原理 超文本传 ...

  4. Http请求报文格式和响应报文格式

    HTTP请求报文格式 客户端连上服务器后,向服务器发出获取某个Web资源的消息,称之为客户端向服务器发送了一个HTTP请求. HTTP请求报文主要由请求行.请求头部.请求正文3部分组成.例如,GET ...

  5. web网络和http协议(了解域名和网页,制作第一个网页,了解http协议,流程和请求报文格式)

    文章目录 web网络和http协议 了解域名 早期使用HOST文件解析域名 现在DNS(Domain Name system 域名系统) 域名的概述 域名空间结构 域名介绍 域名注册 域名注册步骤 网 ...

  6. 带你一文看懂--应用层、传输层的协议,HTTP协议及实现,UDP和TCP的报文格式以及为什么3次握手和4次挥手

    网络基础:TCP/IP四层模型中的典型协议--理解网络通信的流程原理 应用层协议:负责应用程序之间的数据沟通 网络版计算器:客户端向服务端传递两个数字以及一个运算符,服务端收到数据进行解析得到数字与运 ...

  7. MQTT协议 -- 消息报文格式

    虽然学习协议是枯燥的,但是熟悉协议本身却是很重要的事情.如果能把其细节弄清楚,并且配合一些实验来学习,就不会那么枯燥了. 消息报文格式 MQTT协议是应用层协议,需要借助TCP/IP协议进行传输,类似 ...

  8. 三菱MELSEC 1帧协议报文格式。

    关于三菱 MC 1E协议报文说明: 是不是1E协议可以发送:D100 .报文: 01ff0A00 64 00 00 00 20 44   0200 试试,返回报文:810000000000 报文格式: ...

  9. TCP/IP报文格式

    TCP/IP报文格式 修改浏览权限 | 删除 1.IP报文格式 IP协议是TCP/IP协议族中最为核心的协议.它提供不可靠.无连接的服务,也即依赖其他层的协议进行差错控制.在局域网环境,IP协议往往被 ...

最新文章

  1. random输出1到10之间_第43P,随机数,Python内置库之random
  2. PowerBI 2019.12更新完美收官2019
  3. linux内核优化脚本,linux内核高级优化脚本
  4. 解决 /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6)
  5. 今天我们谈一下HTML标签中的map标签的用法和使用场景
  6. matlab定积分矩形法实验,MATLAB实验三 定积分的近似计算
  7. 对单片机毕业设计的理解
  8. HTML第五章课后作业,第五章 组合逻辑电路 课后习题答案详解 资料资料资料.pdf...
  9. python alpha通道_python – 使用matplotlib和alpha通道组合图片和绘图
  10. 【论文阅读】Stroke Controllable Fast Style Transfer with Adaptive Receptive Fields
  11. 2017计算机信息类ei,2017年EI收录的中国期刊目录更新了!
  12. 五、python函数、装饰器、内置函数、json及模块
  13. 帮我写一段能实时获取经纬度和具体地区的python代码
  14. MCAD,MCSD资料
  15. 用python制作条形图时出现“posx and posy should be finite values”问题的解决方法
  16. 贝叶斯网络--概率推理
  17. 算法学习-数组的相关操作,简单的数据结构逆天的难度,扮猪吃老虎(持续更新中)
  18. 计算机音乐会议,ICMC2017国际计算机音乐会议亮相上海
  19. 数据结构 C语言实现冒泡排序
  20. 安装WIN7的系统后鼠标键盘动不了怎么回事????

热门文章

  1. fx5u模拟量如何读取_三菱fx5u模拟量输入接线
  2. Django 可重用注册登录系统
  3. Java工作小组名称_小组名称和口号
  4. dis的前缀单词有哪些_以ir dis为前缀的单词各20个,要多种词性
  5. python爬虫和医学数据_【爬虫】(八)Python之爬虫和数据小解析
  6. matlab 狄利克雷函数代码,狄利克雷函数
  7. 一文学会回溯算法解题技巧
  8. 个人项目-网络电话呼叫客户端 (一)
  9. (原创)六度拓扑(www.6dtop.com)---超乎想像的人际关系网络
  10. 360惊天后门曝光:“盗梦盒子”重现江湖