CAN-идентификатор и COB-ID
Здравствуйте, я студент, изучающий канопен. Какая связь между COB-ID и идентификатором CAN в Canopen? Я прочитал на домашней странице CIA, что COB-ID не является CAN ID, но я не понимаю его.
Например, если PDO передается по шине CAN, он будет преобразован из кадра CANopen в кадр CAN. Не будет ли CAN-идентификатор преобразован с использованием идентификатора узла COB-ID? В настоящее время идентификатор COB-ID изменяется в зависимости от кода функции, но это более запутанно, поскольку идентификатор CAN имеет только один идентификатор на устройство.
Подводя итог моему вопросу, мне интересно, как CANopen преобразует идентификаторы при отправке сообщений по шине CAN.
2 ответа
ID узла и COB ID это разные вещи.
ID узла - это жестко закодированный идентификатор устройства CANopen (в разъеме).
COB ID - это идентификатор CAN (11 бит или 29 бит) и RTR
бит 1: для запроса, 0: для данных
Идентификатор CAN содержит в себе приоритет.
В некоторых (?) Стандартах CANopen, таких как CiA-301, некоторые диапазоны или значения COB-ID зарезервированы.
Смотрите: https://en.wikipedia.org/wiki/CAN_bus
https://www.can-cia.org/standardization/specifications/ CiA-301 V4.2.0 §7.3.5 (для загрузки необходимо иметь логин, но он бесплатный)
Node-ID - это, по сути, имя устройства в строке банок. Если вы хотите управлять устройством, вам нужно связаться с ним с этим именем. Каждое устройство имеет свой собственный Node-ID, поэтому вы можете управлять каждым устройством по отдельности. Вы можете создать это имя, и вы можете изменить, если хотите. Устройства обычно поставляются с идентификатором узла по умолчанию. Вы можете увидеть это в техническом описании устройства. Например, идентификатор узла по умолчанию = 1.
COB-ID (идентификаторы) содержат Node-ID (идентификаторы), и существует стандарт для COB-ID (ов).
Как видно из таблицы по ссылке. Если вы хотите использовать PDO для отправки и получения данных, например, вы хотите использовать PDO1, а идентификатор вашего устройства равен 1.
Таким образом, ваш COB-ID равен 180+Node-id=181(вы можете получить данные (информацию) с устройства) с PDO1
и 200+ идентификатор узла =201(Вы можете отправить данные (команду) на устройство) с PDO1