CANopen PDO и коммуникационный профиль - PullRequest
1 голос
/ 14 января 2009

Если данные содержат более одного значения, как мне узнать, что представляют эти значения? И как мне разбить данные на отдельные значения? Прав ли я сказать, что взаимосвязь между PDO и данными, которые должны быть переданы, определены в профиле связи?

(Я благодарю Матли за то, что он объяснил, что интерфейс API CAN , вероятно, имеет функции для получения идентификатора, длины данных и данных сообщения CANopen . можно было бы определить, является ли кадр PDO, и получить идентификатор узла отправителя из COB-ID.)

Ответы [ 2 ]

2 голосов
/ 14 января 2009

Отношение между PDO и данными определено в записях отображения PDO в Словаре объектов. Но это, вероятно, не самый простой способ выяснить.

Поскольку я не знаю, с каким устройством вы пытаетесь установить связь, я не могу дать вам никакой информации о его выводе данных. Вам придется ознакомиться с документацией на устройство или спросить производителя. Однако, если, например, у вас есть универсальный модуль ввода-вывода, полностью совместимый с конкретным профилем устройства (например, 401 для универсальных модулей ввода-вывода), он, вероятно, будет иметь сопоставления по умолчанию в соответствии с этим профилем устройства.

Я рекомендую прочитать CiA DS 301, а также любой подходящий профиль устройства. Эти документы доступны от CiA

0 голосов
/ 07 июля 2014

В OD есть два места, где вы можете получить всю необходимую информацию о PDO, которые вращаются вокруг автобуса. Это при условии, что вы знаете все подключенные узлы:

  1. Параметры PDO (R: 0x14xx и T: 0x18xx). В каждом субиндексе 1 вы найдете COB-ID , который использует конкретный PDO.
  2. Отображение PDO (R: 0x16xx и 0x1Axx): каждый субиндекс, превышающий 0, содержит отображение одного словарного объекта и его местоположение в 8-байтовом массиве этого PDO.

Для получения дополнительной информации:

Обмен данными процесса с PDO («Объекты данных процесса»)

...