Библиотека CANopen позволяет разрабатывать программное обеспечение мастер и слейв устройств, совместимых со спецификациями CiA 301 и EN50325-5.
Библиотека поддерживает LSS responder устройства согласно CiA 305.
Программное обеспечение библиотеки написано на языке ANSI-C с учетом переносимости на различные платформы.
Для доступа к сети на канальном уровне библиотека использует API драйвера CHAI (http://can.marathon.ru/page/prog/chai).
Зависимости кода библиотеки от среды исполнения (таймер, критические секции, работа с энергонезависимой памятью) выделены в отдельные модули.
Общий исходный код библиотеки не зависит от конкретной платформы и одинаков как для приложений, встраиваемых в микроконтроллеры, так и для задач, работающих под управлением операционных систем общего назначения: Windows, Linux и других. Базовая среда разработки для ОС Windows: MS Visual Studio 2015
Основные характеристики и функциональность библиотеки
- Библиотека обеспечивает работу приложений в режиме жесткого реального времени. Ее архитектура основана на повторно–входимых компонентах, которые допускают асинхронное обращение к ним со стороны прикладной программы.
- Раздел объектного словаря для коммуникаций реализует полное реконфигурирование в соответствии со стандартами CiA 301 и EN50325-5.
- Инициализация всех коммуникационных объектов производится согласно предопределенному распределению CAN идентификаторов.
- CANopen SDO протокол поддерживается во всех предусмотренных стандартом режимах: ускоренном, сегментированном и блочном.
- Реализованы все виды PDO протоколов (cyclic, acyclic, synchronous, asynchronous, RTR only). Может использоваться как статическое, так и динамическое PDO отображение.
- Протокол синхронизации SYNC обеспечивает работу как с SYNC счетчиком, так и без его использования. Поддерживаются все протоколы сетевого менеджера (NMT).
- Реализованы протоколы контроля ошибок: сердцебиения (Heartbeat) и охраны узла (Node Guarding). Поддерживается протокол начальной загрузки Boot-up.
- Реализовано полное семейство LSS протоколов, включая Fastscan.
- Для слейв устройств возможна работа по нескольким CAN шинам (до восьми) в режиме ”холодного” резервирования.
- CANopen слейв также поддерживает стандарт EN50325-5: функционально безопасные коммуникации на основе CANopen.
Программные модули библиотеки
Библиотека состоит из модулей (программных и заголовочных файлов на языке программирования Си), которые реализуют стек протоколов CANopen. Разработчик конечного приложения (CANopen профиля) подключает необходимые модули к своему проекту.
Ограничения библиотеки
- Максимальный размер любого объекта не должен превышать 7FFFFFFFh байт (2 Гб).
- Минимальное значение периода CANopen таймера составляет 100 микросекунд (частота не более 10 КГц).
- Действующие версии стандарта CANopen поддерживают работу только с 11-битовыми CAN идентификаторами. 29-битовые идентификаторы являются зарезервированными и не используются в протоколе CANopen. Все входящие CAN кадры с 29-битовыми идентификаторами игнорируются.
Версия информации в формате .pdf