Что такое CANopen

CANopen — это открытый сетевой протокол верхнего уровня, который используется для подключения встраиваемых устройств в бортовых транспортных и промышленных сетях. Он основан на протоколе реального времени CAN и применяется для связи датчиков, исполнительных механизмов и программируемых логических контроллеров.

Типичные области применения CANopen включают системы управления перемещением, сборочные, сварочные и транспортировочные агрегаты.

Структура стандартов CANopen состоит из нескольких уровней:

  • физический уровень;

  • канальный уровень;

  • сетевой уровень;

  • транспортный уровень;

  • прикладной уровень.

Для понимания функционирования сети CANopen данные делятся на функциональные и технологические. Функциональные данные описывают целевое функционирование системы, а технологические обеспечивают работу сети и её конфигурацию.

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

Идентификатор

CANopen построен на верхнем уровне CAL (CAN Application Layer), с использованием регламента и протоколов связи CAL. CANopen представляет только часть функций CAL, оптимизированных для упрощённых систем, работающих в режиме реального времени.

CANopen определяет таблицу назначений, которая является идентификатором по умолчанию. В предопределенных настройках соединения структурированно адресное пространство для 11 бит

11-битный идентификатор (COB-ID) состоит из:

  • Node ID 7-битный номер узла

  • FC 4-битный код функции

../_images/canopen-tel.svg

Подробнее об идентификаторе в сети CANopen смотри в разделе «Идентификатор (COB-ID)»

Службы связи CANopen

Для передачи данных доступны два сервиса:

  • PDO (Process Data Objects) Для быстрой передачи данных процесса без накладных расходов протокола. Дополнительно смотри раздел «Process Data Objects (PDO)»

  • SDO (Service Data Objects) Для доступа к словарю и передачи сервисных данных (например, смена адреса, скорости или загрузка конфигурации). Дополнительно смотри раздел «Service Data Objects (SDO)»

Профили CiA

Протокол CANopen является совершенным протоколом, основанным на CAN. Это один из протоколов, определенных и поддерживаемых CiA (CAN-in-Automation). Он разработан на основе протокола CAL (прикладной уровень CAN) с использованием подмножества CAL протокола связи и обслуживания.

В CiA разработаны ряд профилей описывающих протокол CANopen. Основным профилем является DS301, который включает в себя коммуникационный уровень протокола и описание структуры связи CANopen. На рисунке ниже представлена связь между стандартом CAN и протоколом CANopen в виде модели OSI:

../_images/canopen-cia.svg

CANopen использует объектно-ориентированный способ определения устройства. Каждое устройство представлено набором объектов и которые доступны через CAN сеть.

Другие профили дополняют и расширяют CiA DS301. В данном руководстве описана архитектура устройств CANopen в соответствии с прикладным профилем CiA 401 (Профиль устройства для универсальных модулей ввода-вывода) но так же дополненная другими профилями CiA. Смори «Профили CiA CANopen» в разделе «Литература и источники»