CANopen: протокол для приводов и сервоприводов
Механизмы PDO и SDO
CANopen определяет два принципиально разных механизма обмена данными. PDO (Process Data Objects) — короткие сообщения до 8 байт с высоким приоритетом на шине, предназначенные для передачи рабочих данных технологического процесса в реальном времени: скорости, тока, статуса. Устройства делятся на производителей (передают PDO) и потребителей (принимают) — TPDO для передачи, RPDO для приёма. SDO (Service Data Objects) — механизм доступа к словарю объектов устройства для чтения и записи параметров, реализованный по схеме клиент-сервер: SDO-клиент отправляет запрос (индекс и субиндекс в словаре объектов), SDO-сервер отвечает содержимым. SDO медленнее PDO и имеет более низкий приоритет на шине, зато позволяет передавать данные большего объёма, чем 8 байт за одно сообщение.
Скорость передачи
Максимальная скорость передачи данных в сети на основе CAN составляет до 1 Мбит/с на частоте 8 МГц, но реальная используемая скорость снижается на больших расстояниях между устройствами для сохранения надёжности передачи — это стандартный компромисс для любой сети на основе дифференциального сигнала по витой паре.
Структура идентификатора сообщения
Стандарт CANopen делит 11-битный идентификатор кадра CAN на 4-битный код функции и 7-битный идентификатор узла (node ID). Такое распределение по умолчанию сортирует кадры по приоритету через код функции — аварийные сообщения (EMCY) получают наивысший приоритет и передаются раньше остальных за счёт выигрыша в арбитраже на шине, что критично для быстрой реакции системы на нештатную ситуацию.
CANopen и DeviceNet — в чём разница
Оба протокола реализованы поверх одного и того же физического уровня CAN и во многом похожи по набору сервисов передачи данных и общему принципу работы — фактически DeviceNet тоже является одной из реализаций верхнего уровня поверх CAN, наравне с CANopen. Различия — в конкретной организации-разработчике стандарта и деталях структуры сообщений, а не в фундаментальной архитектуре. Подробнее — в отдельном материале про DeviceNet и EtherNet/IP.
Реальное применение в приводах
CANopen особенно распространён в сервоприводах — в частности, у Delta Electronics профиль устройства CANopen может быть реализован даже поверх другого транспортного протокола, например EtherCAT, что на практике встречается в линейке сервоприводов этого производителя. Для общепромышленных насосных частотников поддержка CANopen встречается заметно реже, чем Modbus, поскольку типовая насосная задача не требует той скорости и детерминированности, которую даёт CAN-сеть для координации движения.
Нужна помощь с настройкой CANopen?
Опишите оборудование и задачу — поможем разобраться с настройкой сети.
Получить консультациюЧастые вопросы
Похожие материалы
DeviceNet и EtherNet/IP — разбор протоколов. EtherCAT — принцип работы. Delta DVP-SV2 с поддержкой CANopen — карточка модели. Все материалы — раздел совместимости.