Что такое CANopen ================= .. contents:: :depth: 1 :local: CANopen — это открытый сетевой протокол верхнего уровня, который используется для подключения встраиваемых устройств в бортовых транспортных и промышленных сетях. Он основан на протоколе реального времени CAN и применяется для связи датчиков, исполнительных механизмов и программируемых логических контроллеров. Типичные области применения CANopen включают системы управления перемещением, сборочные, сварочные и транспортировочные агрегаты. Структура стандартов CANopen состоит из нескольких уровней: - физический уровень; - канальный уровень; - сетевой уровень; - транспортный уровень; - прикладной уровень. Для понимания функционирования сети CANopen данные делятся на функциональные и технологические. Функциональные данные описывают целевое функционирование системы, а технологические обеспечивают работу сети и её конфигурацию. В целом, CANopen — это мощный инструмент для создания надёжных и эффективных систем управления, особенно в автомобильной и промышленной отраслях. Идентификатор ------------- CANopen построен на верхнем уровне CAL (CAN Application Layer), с использованием регламента и протоколов связи CAL. CANopen представляет только часть функций CAL, оптимизированных для упрощённых систем, работающих в режиме реального времени. CANopen определяет таблицу назначений, которая является идентификатором по умолчанию. В предопределенных настройках соединения структурированно адресное пространство для 11 бит 11-битный идентификатор (COB-ID) состоит из: * Node ID 7-битный номер узла * FC 4-битный код функции .. figure:: /img/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: .. figure:: /img/canopen-cia.svg CANopen использует объектно-ориентированный способ определения устройства. Каждое устройство представлено набором объектов и которые доступны через CAN сеть. Другие профили дополняют и расширяют CiA DS301. В данном руководстве описана архитектура устройств CANopen в соответствии с прикладным профилем CiA 401 (Профиль устройства для универсальных модулей ввода-вывода) но так же дополненная другими профилями CiA. Смори "Профили CiA CANopen" в разделе "Литература и источники"