Содержание
1. Обмен данными с использованием SDO
2. Обмен данными с использованием PDO
5. Настройка параметров связи CANopen
1. Обмен данными с использованием SDO
Важной характеристикой устройства CANopen является объектный словарь (Object Dictionary, OD) — это таблица, в которой хранятся данные конфигурации и процесса для всех типов устройств. Для прямого доступа к устройствам CANopen можно использовать сервисные объекты данных (Service Data Objects, SDO). С помощью SDO можно считывать и записывать данные в объектный словарь, используя индекс и подиндекс, определённые в OD. Как правило, SDO применяется для доступа к параметрам устройства CANopen.
SDO позволяет напрямую читать или записывать данные по определённому адресу. В EasyBuilder Pro для доступа к данным с помощью SDO выберите нужный тип данных (8-битный, 16-битный или 32-битный) и введите соответствующие значения индекса и подиндекса.
Например, чтобы считать данные по индексу 2200 и подиндексу 01 (16-битные данные), введите 220001 для типа устройства SDO_16bit.
Обратите внимание: подиндекс не является обязательным параметром. Если подиндекс не указан, используйте значение 00.
2. Обмен данными с использованием PDO
В протоколе CANopen процессные объекты данных (Process Data Objects, PDO) представляют собой другой способ обмена данными. Данные для передачи или приёма из объектного словаря могут быть скопированы в поле данных PDO. Таким образом, человеко-машинный интерфейс (HMI), взаимодействуя с PDO, может читать или записывать данные в объектный словарь. Как правило, PDO лучше подходит для данных, которые изменяются динамически.
В ПЛК PDO делятся на два типа:
- RPDO (Receive PDO) — приём данных от HMI к ПЛК;
- TPDO (Transmit PDO) — передача данных от ПЛК к HMI.
Использование SDO и PDO в HMI:
- SDO: чтение и запись параметров устройства CANopen по индексу и подиндексу.
- PDO: чтение и запись параметров устройства CANopen по адресу устройства.
3. Чтение TPDO и запись RPDO
Каждый PDO содержит 8 байт данных. Для чтения или записи 16-битных или 32-битных данных используйте тип устройства PDO. Для работы с байтовыми данными используйте тип устройства PDO (Byte).
При работе с данными PDO необходимо выбирать тип устройства и адрес в зависимости от структуры данных PDO. Например, для TPDO_1, который содержит следующие данные: 16 бит, 8 бит и 32 бита, используется следующая схема адресации.
Для отображения данных на HMI в EasyBuilder Pro применяются следующие типы устройств:
- TPDO_1[0] (16-битные данные)
- TPDO_1(Byte)[2], TPDO_1(Byte)[3] (8-битные данные)
- TPDO_1[2] (32-битные данные)
Числа в квадратных скобках указывают на адрес
4. Чтение RPDO
Для удобного мониторинга и записи данных в адрес RPDO на HMI (например, при использовании числового объекта) в EasyBuilder Pro предусмотрена возможность считывания данных из объектного словаря через SDO.
Необходимо определить отображение данных (data mapping) в объектном словаре на странице настроек RPDO. HMI будет отображать данные RPDO посредством процесса чтения SDO.
В настройках RPDO отображение данных должно включать следующие параметры:
-
Индекс (Index)
-
Подиндекс (Subindex)
-
Длина данных (Data Length)
Эти параметры позволяют HMI корректно считывать данные из RPDO.
5. Настройка параметров связи CANopen
Общие параметры
Протокол и идентификатор узла (Protocol & Node ID):
-
CAN Bus 2.0A:
-
Идентификатор узла (Node ID) в диапазоне от 1 до 0xFF.
-
Команды, отправляемые от TPDO/RPDO, выбираются по коду функции (Function Code) и идентификатору узла (Node ID).
-
Пример для TPDO1:
-
Код функции = 0x180
-
Node ID = 0x01
-
Команда для чтения TPDO1: 0x180 + 0x01 = 0x181
-
-
-
CAN Bus 2.0B:
-
Команды также выбираются по коду функции и идентификатору узла.
-
Пример: 0x10001800 + 0x01 = 0x10011800
-
Скорость передачи данных (Baud Rate):
-
Должна быть установлена такая же, как на устройстве CANopen.
Параметры связи
-
Отправка команды NMT START:
-
Инициализирует сеть CANopen. Устройство переходит в рабочее состояние (Operational State).
-
-
Время обновления и режим циклической связи (TPDO):
-
Время обновления (Update Time):
-
При работе с устройствами, отправляющими сигналы периодически, если HMI не получает новые данные в течение установленного времени обновления, оно отправляет команду на чтение данных.
-
-
Режим циклической связи (Cycle Communication Mode):
-
При работе с устройствами, которые передают данные периодически и не принимают команды от HMI, необходимо выбрать этот режим. В этом случае HMI не будет отправлять запросы на чтение данных.
-
-
Пример работы режима обновления:
-
Устройство отправляет сообщение каждые 100 мс.
-
Время обновления HMI установлено на 150 мс.
-
Если в течение 150 мс не поступает новое сообщение, HMI отправляет запрос на чтение данных.