CAN标识符和COB-ID

问题描述:

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

例如,如果PDO通过CAN总线传输,它将从CANopen帧转换为CAN帧。使用COB-ID的节点ID不能转换CAN标识符吗? 此时,COB-ID根据功能代码而有所不同,但更加令人困惑的是,CAN标识符每个设备只有一个。

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

+0

在互联网上的研究的问题,我“这个问题太广泛了,因为它没有关注具体的程序问题。顺便说一下,看看这里,它可能会帮助你:http://www.microcontrol.net/download/appnotes/td-03011e.pdf – Juan

+0

请编辑该问题,以限制它到一个具有足够的细节识别的具体问题一个适当的答案。避免一次询问多个不同的问题。请参阅[如何提问](https://*.com/help/asking)页面以获得帮助,以澄清此问题 – Sand

+0

Re,“如果PDO通过CAN总线传输,它将从CANopen帧转换为CAN帧“。不,因为CANOpen框架是一个CAN框架。 –

节点ID和COB ID是不同的东西。

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

COB ID是CAN标识(11个比特或29个比特)和RTR

位1:用于请求,0:用于数据

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

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

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

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

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

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

COB-ID

正如你所看到的链接放在桌子上。如果你想使用PDO的发送和接收数据,例如要使用PDO1和设备的节点ID为1

所以你的COB-ID是180 +节点ID = 181(你可以得到与PDO1数据从设备(信息))

和200 +节点ID = 201 PDO1(您可以发送数据(命令)设备)