CAN 标识符和 COB-ID

问题描述 投票:0回答:3

您好,我是一名学习canopen的学生。 Canopen中的COB-ID和CAN标识符有什么关系? 我在CIA主页上看到COB-ID不是CAN ID,但是我不明白

例如,如果一个 PDO 通过 CAN 总线传输,它将从 CANopen 帧转换为 CAN 帧。 CAN标识符不会使用COB-ID的节点ID进行转换吗? 此时的COB-ID根据功能码的不同而有所不同,但比较混乱的是CAN标识符每个设备只有一个。

总结一下我的问题,我想知道 CANopen 在通过 CAN 总线发送消息时如何转换标识符。

can-bus canopen
3个回答
5
投票

Node ID和COB ID是不同的东西

节点 ID 是 CANopen 设备(在连接器中)的硬编码 ID。

COB ID 是 CAN 标识符(11 位或 29 位)和 RTR

bit 1:请求,0:数据

CAN 标识符本身包含优先级。

在一些(?)CANopen 标准中,如 CiA-301,一些 COB-ID 范围或值被保留。

见: https://en.wikipedia.org/wiki/CAN_bus#Frames

https://www.can-cia.org/standardization/specifications/ CiA-301 V4.2.0 §7.3.5 (要下载你需要登录,但它是免费的)


3
投票

Node-ID基本上就是can行中的设备名称。如果你想控制设备,你需要用那个名字来访问它。每个设备都有不同的节点 ID,因此您可以单独控制每个设备。您可以创建该名称,并且可以根据需要进行更改。这些设备通常带有默认的节点 ID。您可以在设备的数据表中看到它。例如,默认 Node-ID=1。

COB-ID(s) 包含 Node-ID(s) 并且 COB-ID(s) 有一个标准。

COB-ID

正如您在链接上看到的表格。如果你想使用 PDO 发送和接收数据,例如你想使用 PDO1 并且你的设备的节点 ID 是 1.

所以你的 COB-ID 是 180+Node-id=181(你可以从设备中获取数据(信息))与 PDO1

和 200+node-id=201(您可以将数据(命令)发送到设备)与 PDO1


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.