COB-ID的简单理解分析

转载地址:https://blog.csdn.net/jiesunliu3215/article/details/108446470

这里CAN-id和COB-ID是不一样的,参考https://blog.csdn.net/wojiuguowei/article/details/125376319?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-125376319-blog-108446470.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=3
在这里插入图片描述
COB-ID可以理解是CAN-ID。
CANopen 将 CANbus 11 位元的 ID 分为 4 位元的功能码及 7 位元的 CANopen 节点 ID。
这个理解没什么问题。
举个例子,0x1FF是一个PDO的COB-ID,分解一下是0011 1111111,前4个是3,是功能码,表示TPDO1。后7个是节点ID(Node ID),0x7F,127。
再来一个。0x701,分解下,1110 0000001,前4个是14,功能码,表示网络控制-错误控制。后7个是节点ID,1。

NMT:
切换状态机用的
SDO cmd:
data[0]: 0x2F 0x2B 0x23命令 是写入指定位置(primeIndex+subIndex)几个字节的命令

namespace SDOCmd
{
UNS16 W1 = 0x002F; //write 1 byte
UNS16 W2 = 0x002B; //2
UNS16 W3 = 0x0027;
UNS16 W4 = 0x0023; //4
UNS16 WOK = 0x0060; //write ok

UNS16 Read = 0x0040; //read n byte
UNS16 R1 = 0x004F; //return read 1 byte
UNS16 R2 = 0x004B; //2
UNS16 R3 = 0x0047;
UNS16 R4 = 0x0043; //4
UNS16 ERR = 0x0080; //ok
}
分析:
cobid=func+nodeid=PDO1tx+nodeid
cobid=0x180(或其他0x200,0x280等)+nodeid
实际0x180=0011 000 0000 func=0x03= #define PDO1tx 0x03

SDO格式:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值