CANopen – представляет собой открытый сетевой стандарт обмена данными построенный на модели OSI и использующий первые два уровня шины CAN bus.  Протокол CANopen, благодаря ряду своих преимуществ, пригоден для использования в быстродействующих системах управления с обратной связью.

Поскольку разработка стандарта шины CAN bus прекратилась на первых двух уровнях модели  OSI (физический и канальный) это сделало невозможным использование подобных структур для связи оборудования и различных SCADA-систем, распределенных систем управления. В связи с этим появилось множество протоколов обмена использующих шину CAN bus и свой прикладной уровень. Одним из самых интересных подобных решений и стал протокол CANopen.

В основе протокола CANopen лежит документ DS.301, который определяет конфигурирование и функционирование систем. Все функции протокола распределены между так называемыми сервисами. Сервисы осуществляют обмен данными между собой, реализуя одноранговую сеть.

Сервисный примитив представляет собой некую языковую конструкцию,  благодаря которой приложения могут взаимодействовать с прикладным уровнем. Для CANopen свойственно четыре типа таких примитивов:

  1. Запрос приложения, вызывающий сервис.
  2. Индикация. Публикует сообщения о внутренних событиях.
  3. Ответ приложению от прикладного уровня.
  4. Подтверждение. Не что иное, как результат ранее заданных запросов.

Сервисы протокола CANopen так же разделяют на следующие категории:

  1. локальный выполняет запросы без взаимодействия с себе подобными.
  2. неподтвержденный выполняется несколькими аналогичными.
  3. подтвержденный вовлекает лишь один объект того-же ранга.
  4. сервис, инициированный провайдером использует лишь локальный объект.

Любое устройство в протоколе состоит из трех частей:

  1. коммуникационный интерфейс для шины CAN bus.
  2. словарь объектов.
  3. интерфейс к устройствам ввода-вывода и прикладная программа.

Коммуникационный интерфейс позволяет получить доступ к шине CAN bus .Словарь объектов содержит в себе типы данных и интерфейсы, используемые для обмена. Прикладная программа обеспечивает внутреннее управление функциями.

Под объектами понимаются типы данных, профили устройств, регистр ошибок. Каждый объект в словаре адресуется 16-битным индексом.

Поддерживаемые типы данных: Boolean, Integer, UnsignedN, Float, Date, Time.

CANopen поддерживает передачу синхронных и асинхронных сообщений. Поддерживается принцип передачи: ведущий/ведомый, клиент/сервер, производитель/потребитель.

Tags

 
Поделиться в Ok Ok Ok Ok Share for Odnoklassniki Ok Ok

0 Комментариев

Вы можете первым оставить свой комментарий.

Оставить комментарий

 




 

Вы же не робот? *