Интерактивный CANopen конфигуратор v. 1.4.x

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

Аннотация

Интерактивный CANopen конфигуратор предоставляет возможность редактирования отдельных записей объектного словаря устройства, поддерживающего стандарт CiA DS301. Объектный словарь загружается из электронной спецификации устройства (EDS), отвечающей стандарту CiA DS306. Конфигуратор распространяется в виде дополнительного модуля (DLL Plugin) для программы CANwise версий 3.0 и выше. Документация подготовлена с использованием пакета OpenOffice.


Оглавление.

Принятые сокращения.
Изменения в версиях.
Инсталляция и запуск программы.
Выбор slave устройства.
Поддерживаемые типы данных.
Особенности чтения (upload) и записи (download) данных.

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

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

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

Версия 1.2.x

Устранена обязательность передачи сервером размера данных в Initiate SDO Upload протоколе (см. ниже новый пункт «Особенности чтения (upload) и записи (download) данных»).

Внесено изменение в алгоритм сканирования сети с целью обнаружения узлов, находящихся в состоянии останова. Для этого в сеть передается NMT команда Reset Node текущего узла, которая предваряет SDO запрос типа устройства.

Для улучшения интерактивности внесены некоторые изменения в интерфейс конфигуратора.

Версия 1.3.x

Согласно стандарту DS306 Version 1.3 ключевое слово ObjectType, задающее тип CANopen объекта, является опционным. Все объекты, в описании которых опущено поле ObjectType, считаются относящимися с типу VAR. В предшествующих версиях конфигуратора это поле полагалось обязательным и при его отсутствии возникала ошибка NOT all mandatory fields defined.

Версия 1.3.3.

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

Версия 1.3.5.

Добавлено поле ввода, задающее время задержки после NMT команды Reset Node при сканировании CAN сети.

При загрузке EDS файла поле значения объекта по записи заполняется значением по умолчанию.

Версия 1.4.0.

В EDS таблице введена кнопка выбора записи объектного словаря для операций группового чтения. Добавлены две кнопки: Sel all выбирает все записи, Desel all снимает выбор всех записей.


Инсталляция и запуск программы.

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

Модуль конфигуратора загружается с помощью программы CANwise. Работа конфигуратора в CAN сети возможна после нажатия кнопки Start в окне CANwise.

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


Загрузка EDS и работа с устройством.

Конфигуратор загружает из EDS файла описание всех объектов (индексов и субиндексов объектного словаря), относящихся к типу "переменная" (VAR). Все объекты, в описании которых опущено ключевое слово ObjectType, считаются относящимися с типу VAR. При этом не осуществляется какого-либо анализа состоятельности EDS в целом. Для проверки EDS файла на полное соответствие стандарту CiA Draft Standard DS306 следует использовать тест соотвествия - CANopen conformance test. Объекты, в описании которых обнаруживаются грубые ошибки (например, не поддерживаемые конфигуратором типы объекта или данных) игнорируются. Обязательными полями каждой записи являются DataType и AccessType.

Загруженный EDS файл отображается в виде таблицы (далее - EDS таблица) каждая строка которой содержит описание одного объекта. Данные объекта отображаются колонками следующим образом:

Выбор slave устройства.

Для выбора рабочего slave устройства нужно произвести операцию сканирования сети (кнопка Scan Network). Полное сканирование сети (127 узлов) занимает до двух минут. После его выполнения в список устройств, расположенный ниже таблицы EDS, помещается информация обо всех обнаруженных в сети CANopen устройствах. Этот список состоит из двух колонок: номер узла сети (колонка Node) и соответствующий ему тип устройства (колонка Device type). Последний является считанным из устройства значением объекта 0x1000.

Строки таблицы устройств помечены светло-зеленым либо оранжевым цветом. Cветло-зеленый цвет соответствует устройствам, тип которых совпадается со значением по умолчанию объекта 0x1000 в EDS файле. Выбор slave устройства осуществляется двойным щелчком левой кнопки мыши или нажатием клавиши Enter на любой из светло-зеленых строк. Если в сети имеется несколько устройств одного типа (с одинаковым значением объекта 0x1000), возможно переключение рабочего slave устройства без перезагрузки EDS.


Поддерживаемые типы данных.

Данные фиксированной длины:

Данные переменной длины:

Максимальная длина данных – 80 байт.


Особенности чтения (upload) и записи (download) данных.

В протоколе Initiate SDO Upload ответ сервера (CANopen slave модуля) может не содержать размера данных. При этом клиент сможет принять число байт, которое не должно превышать максимально возможного для данных заданного типа (80 байт для VISIBLE_STRING, от 1 до 8 байт для данных фиксированой длины). Если же сервер указал размер данных, он также не должен превышать максимально возможного. При нарушении этого условия клиент завершает SDO транзакцию abort-кодом 0x06070012 (не подходящий тип данных, превышена длина параметра) и устанавливает статус транзакции “Invalid server data size”. При получении каждого сегмента данных клиент осуществляет проверку того, что полное число принятых байт не превысило указанного сервером либо максимально возможного. Если это условие нарушается, клиент завершает SDO транзакцию abort-кодом 0x06070012 (не подходящий тип данных, превышена длина параметра) и устанавливает статус транзакции “Invalid server data size”. В рамках SDO Upload протокола допускается передача данных нулевой длины.

При инициировании записи (Initiate SDO Download Protocol) клиент (CANopen конфигуратор) всегда указывает отличный от нуля размер передаваемых данных. Для данных типа VISIBLE_STRING этот размер определяется динамически по числу введенных символов, но не более 80 байт, что следует учитывать, если сервер ожидает VISIBLE_STRING определенного  размера. Данные нулевого размера не передаются и возвращается ошибка “Err: empty data”.