Стоит отметить, что с появлением CAN FD, CANopen FD, как стандарт CANopen следующего поколения, может играть все более важную роль.
По сравнению с шиной CAN и протоколом J1939, протокол CANopen добавляет следующие шесть основных концепций:
Существует 3 режима взаимодействия устройства и узла: ведущий/ведомый, клиент/сервер и производитель/потребитель.
Протоколы, используемые для связи, например, для конфигурирования узлов (SDO) или передачи данных в реальном времени (PDO) и т. д.
Одно устройство поддерживает разные состояния. Ведущий" узел может изменять "ведомый" узел, включая такие операции, как сброс.
Каждое устройство имеет OD с записями, определяющими конфигурацию устройства и т.д., доступ к которым можно получить через SDO.
EDS - это стандартный формат файлов для записей OD, который позволяет сервисным инструментам обновлять устройства.
Описываются независимые от производителя модули ввода/вывода (CiA 401) и управление движением (CiA 402).
В сети CANopen необходимо взаимодействовать с несколькими устройствами, например, в системе промышленной автоматизации может быть роботизированная рука с несколькими узлами серводвигателей и узлом интерфейса управления/ПК. Для облегчения коммуникации в CANopen существует три режима, каждый из которых тесно связан с обсуждаемым нами протоколом CANopen. Ниже приводится краткое описание трех режимов:
Один из узлов (например, интерфейс управления) выступает в роли ведущего приложения или ведущего контроллера. Он запрашивает данные от ведомых устройств, таких как серводвигатели. Этот процесс используется для диагностики или управления состоянием. В стандартных приложениях может быть от 0 до 127 ведомых. Обратите внимание: в одной сети CANopen может быть несколько хост-контроллеров, использующих один и тот же канальный уровень.Пример услуги: NMT
Клиент отправляет серверу запрос на данные, а сервер отвечает запрошенными данными. Например, используйте этот режим, когда ведущему приложению необходимо получить данные из OD ведомого устройства. Чтение с сервера - это "загрузка", а "запись" - "скачивание" (термин используется с точки зрения сервера).Пример обслуживания: SDO
03 Потребитель/производитель
В этом режиме узлы-производители передают данные в сеть, а узлы-потребители их потребляют. Производители отправляют эти данные по запросу (модель pull) или без специального запроса (модель push).Пример сервиса: Сердечный ритм