CANNY 5 duo

Материал из CANNY Wiki
Перейти к: навигация, поиск

CANNY 5 duo — компактный программируемый логический контроллер с двумя интерфейсами CAN, ориентированный на автомобильное, бытовое и промышленное применение.

Общие сведения[править]

Также как и контроллеры CANNY 7, CANNY 5 и CANNY 5.2, контроллер CANNY 5 duo может быть отнесен к классу интеллектуальных реле или NanoPLC.

В отличии от контроллеров CANNY 5 и CANNY 5.2, контроллер CANNY 5 duo имеет 2 интерфейса CAN и 3 канала ввода-вывода. Все три канала ввода-вывода контроллера способны работать как в режиме выхода, так и в режиме входа.

К основным особенностям CANNY 5 duo можно отнести:

  • номинальное напряжение питания 9 / 18В;
  • номинальное напряжение каналов ввода-вывода 0 / 12В (18В max);
  • 3 канала ввода/вывода отрицательной полярности с максимальным током каждого из них 120мА, достаточного для управления типовыми автомобильными реле;
  • два интерфейса CAN 2.0B совместимых с ISO-11898, SAE J2411 широко применяемым в автомобилях;
  • встроенные средства управления собственным энергопотреблением контроллера в диапазоне от 5 до 30мА, позволяющие экономно расходовать заряд аккумулятора во время простоя автомобиля;
  • энергонезависимая память программ и шестьдесят четыре 16-и битные ячейки энергонезависимой памяти данных доступные пользовательскому приложению, способные сохранить критически важные данные при сбоях питания;
  • широкий диапазон рабочих температур от -40 до + 85 оС;
  • встроенная защита от высоковольтных выбросов и переполюсовки питания;
  • компактный корпус соответствующий классу защиты IP50 подходит для монтажа и эксплуатации в составе оборудования кабины автомобиля.

Для написания пользовательских программ CANNY 5 duo используется тот же самый графический язык программирования CFD, что применяется для программирования других контроллеров CANNY и та же среда разработки - CANNY Lab.

Для записи программного обеспечения в контроллер требуется либо специальный программатор CANNY PROG, подключаемый к ПК через порт USB, либо использование прямого подключения контроллера к COM-порту ПК.

10 1 1.png

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

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

Устройство и принцип работы[править]

Внешний вид и расположение элементов[править]

Основными конструктивными элементами CANNY 5 duo являются: микроконтроллер (MCU) со вспомогательными цепями, система электропитания всех элементов контроллера, схема согласования электрических уровней каналов ввода-вывода, система электрической защиты, разъемы и индикаторный светодиод, размещенные на единой печатной плате 65 х 23 мм установленной внутри быстроразборного пластикового корпуса.

10 2 1 1.png

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

Наружный разъем Х1 содержит четыре контакта: вход питания +12В, вход питания GND, CAN0-H и CAN0-L.

Наружный разъем Х2 содержит два контакта: CAN1-H и CAN1-L.

Наружный разъем Х3 содержит три контакта, соответствующих каналам №8, №9 и №10 контроллера.

10 2 1 2.png

Программная архитектура[править]

CANNY 5 duo является цифровым программируемым вычислительным управляющим устройством.

В целом, для CANNY 5 duo справедливы общие сведения о программируемых логических контроллерах изложенные в статье программируемый логический контроллер.

Основными элементами CANNY 5 duo являются: арифметическо-логическое устройство (АЛУ), внутренняя память, подсистема управления ходом исполнения команд и система ввода-вывода.

10 2 2 1.png

Арифметическо-логическое устройство — вычислительное ядро CANNY 5 duo. АЛУ обеспечивает исполнение системного программного обеспечения и пользовательских функциональных диаграмм, помещенных во внутреннюю память контроллера.

Внутренняя память контроллера разделяется на энергонезависимую память программ, энергонезависимую память данных и оперативную память данных.

Подсистема управления ходом обработки команд, отвечает за переключение и настройку режимов работы контроллера.

Система ввода-вывода обеспечивает связь контроллера с внешним миром, с использованием как дискретных каналов ввода-вывода, так и стандартных цифровых интерфейсов CAN.

Структура программного обеспечения[править]

Программное обеспечение CANNY 5 duo состоит из: программного загрузчика, системного ПО (операционной системы) и пользовательской функциональной диаграммы.

10 2 3 1.png

Программный загрузчик обеспечивает работу контроллера в режиме загрузки ПО, обеспечивая передачу данных между CANNY 5 duo и персональным компьютером по RS-232, осуществляет проверку целостности и запись переданного от ПК программного обеспечения во внутреннюю память контроллера. Программный загрузчик помещается во внутреннюю память контроллера в процессе его производства и не может быть удален или изменен пользователем.

Системное программное обеспечение CANNY 5 duo распространяется производителем в виде файлов формата CCX и содержит операционную систему и набор драйверов, обеспечивающих исполнение пользовательской функциональной диаграммы и её взаимодействие с ресурсами контроллера. Модификация пользователем содержимого данных файлов не допускается. Содержимое различных файлов CCX может быть многократно записано пользователем в контроллер.

Пользовательская функциональная диаграмма создается и модифицируется пользователем в интегрированной среде разработки CannyLab и, после записи в контроллер, задает алгоритм его работы в автономном режиме. Пользовательские диаграммы могут быть многократно записаны в контроллер и сохранены из среды CannyLab в файлы формата CFD.

Режимы работы[править]

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

Режим загрузки ПО[править]

В данном режиме, контроллер функционирует под управлением встроенного программного загрузчика, выполняющего запись системного программного обеспечения и функциональной диаграммы в контроллер по командам CannyLab. Вход в режим осуществляется при подключении контроллера к ПК с помощью специального программатора или в соответствие со схемой подключения к ПК из раздела Общие сведения о контроллере.

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

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

Выход из данного режима происходит автоматически, при разрыве соединения контроллера с ПК. Если в момент выхода из режима загрузки ПО, энергонезависимая память программ контроллера содержала корректно записанное системное программное обеспечение, то при очередном подключении питания контроллер переходит в автономный режим работы.

Автономный режим[править]

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

Переход в данный режим происходит автоматически, при подключении контроллера к внешнему питанию 12В, в отсутствие посторонних потенциалов на выводах CAN0-L и CAN0-H контроллера.

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

Автономный режим пониженного энергопотребления[править]

Данный режим является вариантом обычного автономного режима, в котором после каждого цикла исполнения функциональной диаграммы, контроллер делает паузу в работе, снижая своё энергопотребление до минимального. Таким образом, контроллер работает в пульсирующем режиме, периодически «засыпая» и «просыпаясь».

Включением, отключением и настройкой параметров данного режима управляет функциональная диаграмма.

Использование данного режима актуально при разработке систем, ориентированных на батарейное питание, таких как бортовое автомобильное оборудование.

Среда исполнения функциональных диаграмм[править]

Представление функциональной диаграммы[править]

Созданная в среде CannyLab графическая функциональная диаграмма, непосредственно перед записью в контроллер автоматически обрабатывается транслятором, который выполняет проверку диаграммы на непротиворечивость, определяет порядок выполнения функциональных блоков и преобразует диаграмму в исполняемый код — последовательность машинных команд АЛУ контроллера CANNY 5 duo.

Порядок исполнения[править]

Исполняемый код диаграммы, при записи в контроллер, память которого уже содержит системное программное обеспечение, включается в последовательность машинных команд системного ПО. Таким образом, общая последовательность команд контроллера с загруженным системным ПО и функциональной диаграммой, будет состоять из: процедуры инициализации, исполняемой однократно после каждого сброса контроллера и исполняемого кода функциональной диаграммы, обрамленного процедурами управления ресурсами контроллера, и помещенного в бесконечно исполняемый цикл – цикл выполнения диаграммы.

10 4 2 1.png

Некоторые драйверы, включенные в состав системного ПО контроллера, например драйвер CAN, требуют безотлагательной реакции контроллера на возникающие в процессе приема и передачи данных программные события. Программный код таких драйверов обрабатывается контроллером асинхронно, параллельно с основным потоком исполнения. На время обработки асинхронных вызовов драйверов, исполнение основного цикла выполнения диаграммы кратковременно приостанавливается.

Доступ к ресурсам контроллера[править]

Все доступные пользователю из функциональной диаграммы ресурсы: системные ресурсы контроллера, подсистема ввода-вывода и дополнительные драйверы включенные в состав системного ПО, отображаются на защищенное адресное пространство внутренней памяти контроллера. Данное адресное пространство разделено на регистры чтения (контроля) и регистры записи.

Пользователь имеет возможность указать регистр чтения в качестве источника входных данных практически любого функционального блока на диаграмме и, тем самым, извлечь и использовать при реализации собственных алгоритмов сведения, полученные контроллером из внешнего мира. Например информацию об электрическом потенциале на каком-либо контакте контроллера, или содержимое пакета данных принятого контроллером из CAN.

Регистр записи может быть использован в качестве получателя выходных данных любого функционального блока на диаграмме. Таким образом, пользователь осуществляет управление ресурсами контроллера из функциональной диаграммы, получая возможность воздействовать на объекты внешнего мира. Например, переключить внешнее реле, изменив электрический потенциал на одном из контактов контроллера, к которому подключена его обмотка; включить контрольный светодиод; задать режим работы CAN; отправить пакет данных.

Порядок использования большинства ресурсов контроллера включает в себя задание пользователем необходимых параметров их работы, например скорости обмена данными по CAN и т.д.

Задание таких параметров производится в форме записи специальных констант в один или в несколько определенных регистров контроллера, в зависимости от того, конфигурацию какого из ресурсов требуется задать. Например, передачей константы со значением 1 в регистр, расположенный по адресу 1027 задает настройки драйвера CAN0 для работы с шиной на скорости 125кБод.

В среде CannyLab, для удобства пользователя, все доступные регистры контроллера поименованы, как и все специальные константы, использующиеся при взаимодействии с ресурсами контроллера. Поэтому для пользователя CannyLab данная операция будет выглядеть как установка константы с именем «CAN 125» в регистр с именем «Регистр установки конфигурации CAN0».

10 4 3 1.png

Аналогичным образом, по появлению значения «1» в регистре расположенном по адресу 1184 («Регистр входного значения канала №8»), мы можем узнать о приложении отрицательного электрического потенциала к контакту №1 разъема Х3 контроллера.

10 4 3 2.png

Ресурсы контроллера[править]

Системные ресурсы и режимы работы[править]

Основная статья: CANNY 5 duo, Системные ресурсы и режимы работы

Системные ресурсы контроллера отображаются на группу регистров чтения и группу регистров записи. Обращаясь к данным регистрам из функциональной диаграммы, можно получить востребованные в практическом применении сведения о текущем состоянии контроллера и управлять режимами его работы. Список регистров системных ресурсов находится в разделе «Состояние контроллера» справочника регистров, который доступен пользователю через контекстное меню элементов «Регистр чтения» и «Регистр записи».

Драйвер каналов ввода-вывода[править]

Основная статья: CANNY 5 duo, Драйвер каналов ввода-вывода

Пользователям CANNY 5 duo доступны три дискретных канала ввода-вывода общего назначения. Каждый канал физически представлен соответствующим контактом разъема X3 (Каналы №№8, 9 и 10) контроллера. Записывая и считывая данные соответствующих регистров драйвера, функциональная диаграмма может как управлять электрическим потенциалом на каждом из этих контактов так и получать информацию о текущем значении потенциала каждого из них.

Физические характеристики каналов позволяют подключать к ним различные внешние слаботочные цепи управления или, при использовании внешнего защитного диода, небольшие электромагнитные реле. В качестве внешних источников дискретных сигналов способных управлять работой контроллера, возможно использовать механические, электромеханические и электронные кнопки и переключатели, генераторы импульсов, источники напряжения 0-12В, транзисторные выходы различной аппаратуры и т.п.

Драйвер CAN[править]

Основная статья: CANNY 5 duo, Драйвер CAN

Контроллеры CANNY 5 duo имеют два независимых интерфейса CAN. Два специальных контакта разъема X1, использующиеся драйвером интерфейса CAN0 (CAN0-H и CAN0-L), и контакты разъема X2, использующиеся драйвером интерфейса CAN1 (CAN1-H и CAN1-L), предназначены для подключения к цифровой информационной шине CAN.

Драйвер шлюза CAN[править]

Основная статья: CANNY 5 duo, Драйвер шлюза CAN

Используя драйвер шлюза CAN возможно организовать высокоскоростную асинхронную ретрансляцию сообщений между аппаратными CAN-интерфейсами контроллера, с возможностью автоматической модификации ретранслируемых сообщений по динамически задаваемым диаграммой правилам.

Параметры пользовательской конфигурации[править]

Основная статья: CANNY 5 duo, Параметры пользовательской конфигурации

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

Энергонезависимая память (ЭНП)[править]

Основная статья: CANNY 5 duo, Энергонезависимая память (ЭНП)

Для предотвращения потери критически важной информации о состоянии пользовательской диаграммы (настройки, коды, текущие режимы работы и т. п.) при сбросе питания либо рестарте, в CANNY 5 duo предусмотрен доступ на чтение и запись из пользовательской диаграммы ко встроенной энергонезависимой памяти контроллера.

Пользователю доступны 64 шестнадцатибитные ячейки энергонезависимой памяти, доступ к которым осуществляется с помощью соответствующих регистров чтения и записи.