Полное руководство по настройке взаимодействия между ведущим и ведомым устройствами в сети CANopen
В сфере промышленной автоматизации протокол CANopen благодаря своей эффективности и гибкости стал популярным выбором для связи между устройствами.

В этой статье доступно разбирается процесс установки связи между ведущим (Master) и ведомым (Slave) узлами CANopen. На реальных примерах сообщений мы подробно рассмотрим настройку PDO Mapping и анализ ошибок, возникающих при конфигурации. Это руководство поможет вам разобраться во всем процессе организации CANopen-связи между главным и подчиненным устройствами.
Процесс установки связи Master/Slave: от инициализации до передачи данных
Основной процесс организации CANopen-взаимодействия между ведущим и ведомым устройствами включает четыре ключевых этапа:
- Инициализация и конфигурация
- Настройка PDO Mapping
- Установка параметров
- Переключение состояний
Ниже процесс будет подробно разобран на примере настройки RPDO1 для управления контрольным словом и целевым моментом ведомого устройства 1 (Slave 1).
Шаг 01: Инициализация узла
Процесс инициализации Master-Slave:
После подачи питания главное устройство (Master) отправляет NMT-команду, переводя подчиненное устройство (Slave) в состояние Pre-operational (предоперационный режим). В этом состоянии поддерживается только SDO-обмен (Service Data Object) для настройки параметров.
Пример NMT-команды от Master:
COB-ID: 0x000
Данные: 80 01
Разбор команды:
0x80: Команда перехода в предоперационный режим
0x01: Идентификатор целевого узла (Node ID = 1)
Шаг 02: Настройка PDO Mapping (отображение объектов PDO)
1. Отключение PDO (во избежание конфликтов при маппинге):
Пример SDO-команды записи от Master:
COB-ID: 0x601
Данные: 23 00 14 01 01 02 00 80
Разбор команды:
0x23: Запись 4 байт
0x1400, суб-индекс 0x01: Параметры связи RPDO1
0x80000201: Отключение COB-ID 0x0201
2. Очистка записей PDO-маппинга:
Пример SDO-команды записи от Master:
COB-ID: 0x601
Данные: 2F 00 16 00 00 00 00 00
Разбор команды:
0x2F: Запись 1 байта
0x1600, суб-индекс 0x00: Количество записей маппинга RPDO1
0x00: Сброс маппинга
3. Маппинг контрольного слова и целевого момента в RPDO1 (суб-индексы 1 и 2):
Пример SDO-команды записи от Master:
Для контрольного слова (0x6040): COB-ID: 0x601
Данные: 23 00 16 01 10 00 40 60
Для целевого момента (0x6071): COB-ID: 0x601
Данные: 23 00 16 02 10 00 71 60
Разбор команды:
0x10: Длина данных 16 бит
0x6040: Индекс контрольного слова
0x6071: Индекс целевого момента
4. Установка количества маппируемых объектов = 2:
Пример SDO-команды записи от Master:
COB-ID: 0x601
Данные: 2F 00 16 00 02 00 00 00
Разбор команды:
0x02: 2 объекта в маппинге
Шаг 03: Настройка параметров связи
Команда SDO-записи от главного устройства (Master):
Настройка типа синхронной передачи:
COB-ID: 0x601
Данные: 2F 00 14 02 01 00 00 00
Разбор команды:
0x1400, суб-индекс 0x02: Параметр типа передачи RPDO1
Значение 0x01: Синхронный циклический режим передачи
Установка времени блокировки RPDO1 (единица измерения 0.1 мс):
COB-ID: 0x601
Данные: 2B 00 14 03 C8 00 00 00
Разбор команды:
0x1400, суб-индекс 0x03: Параметр времени блокировки RPDO1
Значение 0x00C8 (200 в десятичной системе): 200 × 0.1 мс = 20 мс
Шаг 04: Активация PDO-обмена
Команда SDO-записи от главного устройства (Master):
Привязка COB-ID и повторная активация PDO:
COB-ID: 0x601
Данные: 23 00 14 01 01 02 00 00
Разбор команды:
0x23: Запись 4 байт
0x1400, суб-индекс 0x01: Параметры связи RPDO1
0x00000201: Активированный COB-ID = 0x201 (бит 31 = 0 указывает на валидный идентификатор)
PDO Mapping: типовые ошибки и диагностика
Приведём примеры типовых ошибок, возникающих при настройке сети CANopen, и рассмотрим возможные пути их диагностики и решения.
Таблица 1: Ошибки доступа к словарю объектов
Таблица 2: Ошибки ограничений PDO-маппинга
Таблица 3: Ошибки типов данных и форматов
Таблица 4: Ошибки аппаратных и статусных ограничений
Для подключения устройств CANopen к другим промышленным сетям можно использовать промышленные сетевые шлюзы/преобразователи торговых марок Anybus и SSTCOMM.
Чтобы подобрать решение под вашу задачу воспользуйтесь либо функцией "Подбор оборудования путем выбора нужных типов сетей" (справа на экране), либо воспользуйтесь функцией поиска на нашем сайте, либо напишите или позвоните нам и мы подберём нужный шлюз под вашу задачу.