Открыть сервис

CANopen

CANopen — это коммуникационный протокол и профиль более высокого уровня, базирующийся на стандарте Controller Area Network (CAN). Он предназначен для организации обмена данными между встроенными системами в промышленной автоматизации, мобильной технике, медицинском оборудовании и других областях, где требуется надёжная и детерминированная передача информации в реальном времени. CANopen стандартизирован международным консорциумом CAN in Automation (CiA) и описан в спецификациях EN 50325-4, а также в ряде документов CiA (например, CiA 301, CiA 302).

История

Протокол CANopen был разработан в начале 1990-х годов как часть проекта европейского консорциума ESPRIT (European Strategic Program on Research in Information Technology), направленного на создание унифицированного протокола для автоматизации производственных процессов. Первая версия спецификации была опубликована в 1993 году. В 1995 году управление развитием протокола перешло к организации CAN in Automation (CiA), которая с тех пор поддерживает и развивает стандарт.

CANopen пришёл на смену более ранним и менее стандартизированным решениям, таким как DeviceNet (разработанный компанией Allen-Bradley) и Smart Distributed System (SDS, Honeywell). В отличие от них, CANopen предлагал открытую архитектуру, не привязанную к одному производителю, и более гибкую систему профилей устройств. К началу 2000-х годов протокол стал доминирующим в европейской промышленной автоматизации, особенно в станкостроении, робототехнике и системах управления движением.

Архитектура и принципы работы

Модель OSI и CANopen

CANopen реализует уровни с 3-го по 7-й модели OSI (сетевой, транспортный, сеансовый, представительский и прикладной), используя в качестве физического и канального уровня стандарт CAN (ISO 11898). Физический уровень CAN обеспечивает дифференциальную передачу сигнала по витой паре, скорость до 1 Мбит/с (на коротких расстояниях) и встроенный механизм арбитража на основе приоритетов.

Объектный словарь

Центральным элементом каждого устройства CANopen является объектный словарь (Object Dictionary, OD). Это структурированная база данных, содержащая все параметры, конфигурационные данные и переменные состояния устройства. Каждый объект в словаре имеет уникальный 16-битный индекс и, при необходимости, 8-битный подындекс. Объектный словарь разделён на стандартные области:

Коммуникационные объекты

CANopen определяет несколько типов коммуникационных объектов (Communication Objects, COB), каждый из которых использует свой идентификатор (COB-ID) в поле арбитража CAN-кадра:

Сетевое управление

Сеть CANopen может работать в режиме «мастер-слейв» или «мультимастер». Обычно один узел назначается мастером NMT, который управляет состояниями остальных узлов. Каждое устройство проходит через состояния: инициализация, пред-операционное (доступен только SDO), операционное (доступны PDO и SDO), остановленное. Переходы между состояниями управляются NMT-сообщениями.

Профили устройств

Для обеспечения совместимости устройств разных производителей CANopen использует профили устройств (Device Profiles). Они определяют обязательные и опциональные объекты объектного словаря для конкретного типа оборудования. Наиболее распространённые профили:

Профиль CiA 402 (приводы) является одним из наиболее сложных и широко используемых. Он определяет режимы работы: профиль положения, профиль скорости, профиль крутящего момента, гоминг (поиск нулевой позиции), интерполированный режим и другие.

Применение

CANopen используется в различных отраслях промышленности и техники:

Преимущества и недостатки

Преимущества

Недостатки

Инструменты и реализация

Для разработки и отладки систем CANopen существует множество программных и аппаратных средств:

Сравнение с альтернативами

CANopen часто сравнивают с другими протоколами на основе CAN:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →