CANopen анализатор v. 1.2.x

Руководство пользователя.

Аннотация

Анализатор траффика сетевого протокола CANopen позволяет интерпретировать события (протоколы и сетевые объекты), предусмотренные спецификацией CiA DS301 для предопределенного распределения идентификаторов (Pre-defined Connection Set) устройств сети. При этом дополнительно отслеживаются полные транзакции всех SDO протоколов: ускоренного, сегментированного и блочного. Анализатор распространяется в виде дополнительного модуля (DLL Plugin) для программы CANwise версий 3.0 и выше. Документация подготовлена с использованием пакета OpenOffice.


Оглавление.

Принятые сокращения.
Изменения в версиях.
Инсталляция, запуск и работа с модулем анализатора.
События CANopen протокола, регистрируемые анализатором.
Коды ошибок CANopen.
Предопределенное распределение идентификаторов.

Принятые сокращения.

CiA: международная организация CAN in Automation - "CAN в автоматизации".
COB-ID: идентификатор коммуникационного объекта.
NMT: Сетевой менеджер: определяет объекты управления CANopen сетью.
PDO: объект данных процесса; обеспечивает обмен компактными данными в режиме жесткого реального времени.
RTR: удаленный запрос объекта.
SDO: сервисный объект данных; обеспечивает обмен большими объемами данных в режиме мягкого реального времени.

Изменения в версиях.

Версия 1.2.x

Регистрируются все события (кадры) CAN сети на канальном уровне. Если кадр не может быть идентифицирован с точки зрения протокола CANopen, то событие интерпретируется как неизвестное (Unknown event). Такая ситуация возникает, если значение COB-ID кадра не соответствует предопределенному распределению идентификаторов CANopen или зарегистрирован кадр расширенного формата (EFF, 29 битовый идентификатор). В предшествующих версиях анализатора большинство неизвестных событий игнорировалось.


Инсталляция, запуск и работа с модулем анализатора.

Процесс инсталляции заключается в записи модуля CANopenAnalyzer.dll в корневую директорию программы CANwise. При поставке в виде дистрибутива этот модуль извлекается путем запуска программы setup_CANopen_analyzer_vers.exe. Номер версии vers задается в виде 1-2-3, где первое число означает главную версию, второе - подверсию, а третье определяет минимальный релиз данной версии-подверсии.

Модуль анализатора загружается с помощью программы CANwise. Анализ запускается/останавливается при нажатии кнопки Start/Stop в окне CANwise. В окно анализатора выводится до 500 последних сетевых событий (CAN кадров). Число записываемых событий в файл журнала ограничено только максимально возможным размером этого файла.

Вверху окна анализатора размещены три кнопки:

Данные выводятся в окно анализатора блоками по две строки на каждое сетевое событие (CAN кадр). В случае, когда событие открывает SDO транзакцию, оно предваряется записью <<<<< SDO transaction begin >>>>>. При завершении SDO транзакции вслед за событием выводится сообщение >>>>> SDO transaction end <<<<<. Строки разбиты на шесть колонок.

В первой колонке размещается порядковый номер зарегистрированного события. Сбрасывается при нажатии кнопки Clear анализатора.

В первой строке второй колонки представлены идентификатор коммуникационного объекта в шестнадцатиричном формате (в случае CANopen протокола должен совпадать с идентификатором CAN кадра); длина поля данных кадра от 0 до 8 байт и номер узла либо "Broadcast" для широковещательного события. Вторая строка содержит описание события (см. ниже отдельные регистрируемые события).

Первая строка третьей колонки содержит класс события (см. ниже классы регистрируемых событий). Во второй строке выводится статус события (см. ниже зарегистрированные ошибки (статус) событий).

Четвертая и пятая колонки содержат наименования и значения параметров, дополнительно характеризующих CANopen событие. Всего может быть выведено до четырех таких описаний (cм. ниже параметры зарегистрированных событий).

В первой строке шестой колонки записываются первичные данные CAN кадра. Они представляются побайтно в шестнадцатиричном формате. Для кадров удаленного запроса RTR выводится только его длина. Вторая строка содержит идентификатор CAN кадра и его временную метку.

Структура записи данных в файл журнала полностью аналогична записи в окно анализатора.


События CANopen протокола, регистрируемые анализатором.

Отслеживание SDO транзакций.

Анализатора отслеживает контекст каждой SDO транзакции от ее инициализации клиентом и до полного завершения. При этом независимо контролируются некоторые параметры протокола и оценивается правильность прохождения основных этапов обмена данными. Нарушения в работе протокола отображаются статусом соответствующего события (см. ниже зарегистрированные ошибки (статус) событий).

Классы регистрируемых событий (Class).

Отдельные регистрируемые события (Event).

Параметры зарегистрированных событий (Parameters description and values).

Зарегистрированные ошибки (статус) событий (Status).


Коды ошибок CANopen.

Коды ошибок при SDO обмене (SDO аборт код).

Аборт код

Описание

0503 0000h

Не изменился мерцающий (toggle) бит.

0504 0000h

Тайм-аут SDO протокола.

0504 0001h

Не верная либо не известная команда протокола.

0504 0002h

Не верный размер блока данных (только для блочного протокола).

0504 0003h

Не верный номер кадра (только для блочного протокола).

0504 0004h

Ошибка CRC (только для блочного протокола).

0504 0005h

Не хватает памяти.

0601 0000h

Запрашиваемый доступ к объекту не поддерживается.

0601 0001h

Попытка чтения только записываемого (WO) объекта.

0601 0002h

Попытка записи только читаемого (RO) объекта.

0602 0000h

Нет такого объекта.

0604 0041h

Объект не может быть отображен в PDO.

0604 0042h

Полная длина отображаемых объектов превышает максимальный размер PDO (64 бита).

0604 0043h

Общая несовместимость параметров.

0604 0047h

Общая внутренняя несовместимость в устройстве.

0606 0000h

Отказ в доступе из-за аппаратной ошибки.

0607 0010h

Неподходящий тип данных или длина сервисного параметра.

0609 0030h

Значение параметра вне диапазона (только для записи данных).

0609 0031h

Значение параметра превышает верхний предел.

0609 0032h

Значение параметра превышает нижний предел.

0609 0036h

Максимальное значение меньше минимального.

0800 0000h

Общая ошибка.

0800 0020h

Данные не могут быть переданы приложению.

0800 0021h

Данные не могут быть переданы приложению из-за особенностей локального управления.

0800 0022h

Данные не могут быть переданы приложению вследствие текущего состояния устройства.

0800 0023h

Не удалось динамически сгенерировать объектный словарь или нет объектного словаря.

0800 0024h

Нет данных.


Коды ошибок объекта срочного сообщения (Emergency).

Код ошибки (hex)

Назначение

00xx

Сброс либо отсутствие ошибки.

10xx

Общая ошибка.

20xx

Ток.

21xx

Ток на входе в устройство.

22xx

Ток внутри устройства.

23xx

Выходной ток.

30xx

Напряжение.

31xx

Напряжение питания.

32xx

Напряжение внутри устройства.

33xx

Выходное напряжение.

40xx

Температура.

41xx

Температура окружающей среды.

42xx

Температура устройства.

50xx

«Железо» устройства.

60xx

Программное обеспечение устройства.

61xx

Встроенное программное обеспечение.

62xx

Программное обеспечение пользователя.

63xx

Данные.

70xx

Дополнительные модули.

80xx

Мониторинг.

81xx

Коммуникации.

8110

Переполнение CAN (потеря объекта)

8120

CAN в пассивном к ошибке состоянии.

8130

Ошибка протокола охраны работоспособности устройства либо протокола сердцебиения.

8140

Выход из состояния отключение от шины (bus-off).

8150

Коллизия передаваемых COB-ID идентификаторов.

82xx

Ошибка протокола

8210

PDO не может быть обработано из-за ошибки длины данных.

8220

Превышен превышает максимальный размер PDO (64 бита).

90xx

Внешняя ошибка.

F0xx

Дополнительные функции.

FFxx

Определяется конкретным типом устройства.




Предопределенное распределение идентификаторов.

Широковещательные объекты.

Идентификатор широковещательных объектов не зависит от номера узла CAN сети.

COB-ID

Назначение

Индекс объекта

0

NMT объекты.

---

128 (80h)

Объект синхронизации SYNC.

1005h, 1006h

256 (100h)

Объект временной метки Time Stamp.

1012h, 1013h


Объекты класса равный-к-равному (peer-to-peer).

Идентификатор объектов равный-к-равному зависит от номера узла CAN сети.

COB-ID

Назначение

Индекс объекта

129 (81h) – 255 (FFh)

Объекты срочного сообщения (EMCY) для узлов сети 1-127.

1014h, 1015h

385 (181h) – 511 (1FFh)

Первые передаваемые PDO (TPDO1) для узлов сети 1-127.

1800h

513 (201h) – 639 (27Fh)

Первые принимаемые PDO (RPDO1) для узлов сети 1-127.

1400h

641 (281h) – 767 (2FFh)

Вторые передаваемые PDO (TPDO1) для узлов сети 1-127.

1801h

769 (301h) – 895 (37Fh)

Вторые принимаемые PDO (RPDO1) для узлов сети 1-127.

1401h

897 (381h) – 1023 (3FFh)

Третьи передаваемые PDO (TPDO1) для узлов сети 1-127.

1802h

1025 (401h) – 1151 (47Fh)

Третьи принимаемые PDO (RPDO1) для узлов сети 1-127.

1402h

1153 (481h) – 1279 (4FFh)

Четвертые передаваемые PDO (TPDO1) для узлов сети 1-127.

1803h

1281 (501h) – 1407 (57Fh)

Четвертые принимаемые PDO (RPDO1) для узлов сети 1-127.

1403h

1409 (581h) – 1535 (5FFh)

SDO, передаваемые от сервера клиенту для узлов сети 1-127.

1200h

1537 (601h) – 1663 (67Fh)

SDO, передаваемые от клиента серверу для узлов сети 1-127.

1200h

1793 (701h) – 1919 (77Fh)

Протоколы контроля ошибок - сердцебиения и охраны узла - для узлов сети 1-127.

1016h, 1017h


Прочие объекты.

COB-ID

Назначение

2020

Ответ от LSS slave (сервис установки уровня).

2021

Запрос от LSS master (сервис установки уровня).


Идентификаторы ограниченного использования.

Идентификаторы ограниченного использования не должны применяться в любых конфигурируемых коммуникационных объектах, будь то SYNC, TIME-STAMP, EMCY, PDO или дополнительные SDO.

COB-ID

Назначение

0

NMT объекты.

1

Зарезервирован.

257 (101h) – 384 (180h)

Зарезервированы.

409 (581h) – 1535 (5FFh)

SDO по умолчанию, передаваемые от сервера клиенту.

1537 (601h) – 1663 (67Fh)

SDO по умолчанию, передаваемые от клиента серверу.

1760 (6E0h)

Зарезервирован.

1793 (701h) – 1919 (77Fh)

Протоколы контроля ошибок.

2020 (780h) – 2047 (7FFh)

Зарезервированы.