Блог
I. Структура протокола

1. Физический уровень
Протокол CANopen основан на технологии шины CAN. Его физический уровень определяет, как сигналы передаются по шине, включая электрические характеристики и среду передачи. Обычно используется витая пара, которая эффективно сопротивляется электромагнитным помехам и обеспечивает стабильную передачу сигналов.
В плане электрических характеристик шина CAN использует дифференциальную передачу сигналов. Логический сигнал представлен разницей напряжений между двумя линиями (CAN_H и CAN_L). Например, когда CAN_H примерно на 2В выше, чем CAN_L, это представляет логическую «1» (рецессивный); когда CAN_H примерно на 2В ниже, чем CAN_L, это представляет логический «0» (доминантный). Такая дифференциальная передача значительно повышает устойчивость к помехам, что делает её подходящей для промышленных сред.
2. Канальный уровень
a. Типы кадров:
Канальный уровень CANopen отвечает за формирование кадров, обнаружение и обработку ошибок. Он определяет четыре типа кадров: кадр данных, кадр запроса, кадр ошибки и кадр перегрузки. Кадры данных содержат фактические данные и состоят из поля арбитража, поля управления, поля данных, поля CRC, поля ACK и поля конца кадра. Поле арбитража определяет приоритет доступа к шине; меньший идентификатор соответствует более высокому приоритету. Когда несколько узлов пытаются отправить данные одновременно, механизм арбитража гарантирует, что узел с более высоким приоритетом может занять шину первым.
b. Обнаружение и обработка ошибок:
Канальный уровень CANopen обладает высокой способностью обнаружения ошибок. Циклический избыточный код (CRC) используется для проверки целостности поля данных. Если ошибка обнаружена, принимающий узел отправляет кадр ошибки. Получив кадр ошибки, передающий узел повторно отправляет кадр данных для обеспечения надёжной передачи.
3. Прикладной уровень
a. Словарь объектов:
Словарь объектов является ядром прикладного уровня CANopen. Это организованная коллекция объектов, каждый из которых имеет уникальный индекс и под-индекс. Он содержит все передаваемые параметры, конфигурационную информацию и рабочий статус устройства. Например, в приводе двигателя словарь объектов может включать скорость двигателя, пределы крутящего момента и режимы работы. Доступ и управление словарём объектов позволяют различным устройствам обмениваться данными и координировать функции.
b. Объекты связи:
CANopen определяет несколько объектов связи, таких как Объекты данных процесса (PDO) и Объекты сервисных данных (SDO). PDO используются для быстрой передачи данных в реальном времени. Сопоставляя данные из словаря объектов с PDO, данные могут передаваться по шине без сложного анализа протокола, повышая эффективность. Например, в управлении суставами робота PDO могут быстро передавать данные о положении и скорости двигателя. SDO используются для чтения/записи словаря объектов, позволяя настраивать устройство и регулировать параметры. Например, SDO могут удалённо устанавливать скорость или ускорение двигателя.
II. Обзор связи

1. Методы связи
a. Мастер-слейв связь:
В сети CANopen обычно есть один мастер-узел (например, PLC) и несколько слейв-узлов (например, датчики, исполнительные механизмы). Мастер-узел управляет сетевым обменом, отправляя команды и запрашивая данные. Слейв-узлы отвечают в соответствии с инструкциями мастера. Например, мастер-узел может отправить команду для чтения температуры с датчика, и датчик возвращает текущую температуру через шину CAN.
b. Мульти-мастер связь:
CANopen также поддерживает мульти-мастер связь, где несколько мастер-узлов могут одновременно конкурировать за управление шиной. В этом режиме каждый мастер-узел может активно отправлять данные. Когда несколько узлов передают одновременно, механизм арбитража определяет, какой узел имеет приоритет для занятия шины. Например, в распределённой системе управления несколько контроллеров могут выступать в качестве мастер-узлов и независимо отправлять управляющие команды слейв-узлам в соответствии с фактическими требованиями.
c. Скорость связи:
CANopen поддерживает различные скорости связи, включая 10 Кбит/с, 20 Кбит/с, 50 Кбит/с, 100 Кбит/с, 125 Кбит/с, 250 Кбит/с, 500 Кбит/с и 1 Мбит/с. Пользователи могут выбрать подходящую скорость в зависимости от сценария применения. Обычно более высокие скорости (например, 500 Кбит/с или 1 Мбит/с) выбираются для коротких дистанций и приложений с высокой реальностью времени, таких как управление движением роботов на высокой скорости, тогда как более низкие скорости (например, 100 Кбит/с или 125 Кбит/с) предпочтительны для длинных дистанций или сильно загруженных сетей для обеспечения стабильности.
2. Механизм связи PDO
a. Сопоставление PDO:
PDO передают данные словаря объектов по шине через сопоставление. Пользователи могут настраивать сопоставление PDO, чтобы выбрать, какие данные словаря объектов передавать. Например, в системе управления движением положение, скорость и крутящий момент двигателя могут быть сопоставлены с PDO для быстрой передачи данных в реальном времени.
b. Синхронная и асинхронная передача:
PDO могут передаваться синхронно или асинхронно. При синхронной передаче все узлы отправляют или получают PDO при получении синхронизирующего сигнала, что подходит для согласованных операций с несколькими узлами, таких как управление движением с несколькими осями. Асинхронная передача позволяет узлам независимо отправлять или получать PDO, обеспечивая гибкость для менее критичных ко времени приложений.
3. Механизм связи SDO
a. Операция чтения:
Когда мастер-узел должен прочитать параметр из словаря объектов слейва, он отправляет запрос SDO на чтение, содержащий индекс и под-индекс объекта. Слейв отвечает запрошенными данными. Например, чтобы прочитать настройку частоты с привода, мастер отправляет запрос SDO на чтение, и привод возвращает текущую частоту.
b. Операция записи:
Мастер-узел отправляет запрос SDO на запись с индексом, под-индексом и данными для записи. Слейв записывает данные в соответствующее место словаря объектов и отвечает для подтверждения успеха. Например, мастер может установить открытие клапана через запрос SDO на запись.
III. Сценарии применения
1. Автоматизированные производственные линии:
В автомобильной, электронной и других автоматизированных производственных линиях CANopen соединяет роботов, датчики и исполнительные механизмы. Точное управление связью обеспечивает эффективную сборку, контроль качества и другие процессы, повышая производительность и качество продукции.
2. Интеллектуальная логистика и складирование:
В умных складах шаттлы, штабелёры и конвейеры используют CANopen для согласованной работы. Система может планировать транспортировку, хранение и сортировку в реальном времени, улучшая использование пространства, снижая затраты и повышая интеллектуальность операций.
3. Системы управления лифтами:
CANopen обеспечивает безопасную работу и эффективную диспетчеризацию лифтов. Контроллеры кабины, дверей и дисплеи этажей обмениваются информацией в реальном времени через CANopen, обеспечивая плавную работу, точную остановку и диагностику неисправностей, предоставляя пассажирам безопасный и комфортный опыт.