CANNY 5.3 MD 1

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

CANNY 5.3 MD1 — компактный, визуально программируемый логический контроллер, предназначенный для управления коллекторными электромоторами постоянного тока, с возможностью изменения направления вращения, напряжением питания 7...16В и пиковым значением тока до 15А. Диагностика и управление работой контроллера с в составе систем управления может осуществляться как с помощью цифровых последовательных интерфейсов, так и трех универсальных дискретных каналов ввода-вывода. Также, силовые каналы контроллера могут быть использованы условно независимо друг от друга для управления раздельной резистивной, емкостной и индуктивной нагрузкой.

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

CANNY•5.3 MD1 — компактный, визуально программируемый логический контроллер, предназначенный для управления коллекторными электромоторами постоянного тока, с возможностью изменения направления вращения, напряжением питания 7...16В и пиковым значением тока до 15А. Диагностика и управление работой контроллера с в составе систем управления может осуществляться как с помощью цифровых последовательных интерфейсов, так и трех универсальных дискретных каналов ввода-вывода. Также, силовые каналы контроллера могут быть использованы условно независимо друг от друга для управления раздельной резистивной, емкостной и индуктивной нагрузкой.

Контроллер снабжен встроенными датчиками тока и температуры, автоматической защитой от перегрузки, перегрева, смены полярности и позволяет регулировать мощность на нагрузке за счет использования ШИМ с частотой до 10 кГц. Предусмотрена обратная связь с электромотором/исполнительным механизмом для диагностики перегрузки/заклинивания/достижения ограничителя. Контроллер снабжен энергонезависимой памятью и средствами ограничения потребления энергии. Программирование контроллера осуществляется в среде CannyLab. Загрузка программного обеспечения в контроллер производится через встроенный интерфейс USB.

ОСТОРОЖНО ГОРЯЧО! При работе контроллера с мощными нагрузками, либо в режиме ШИМ/ВЧ ШИМ, отдельные внутренние элементы контроллера могут разогреваться до температуры более +100оС. Неправильное обращение с контроллером может привести к травме.
ОПАСНОСТЬ КОРОТКОГО ЗАМЫКАНИЯ И ПОЖАРА! Подключение проводников силовой части к контроллеру производите пайкой, при этом используйте провод соответствующий по характеристикам подключаемой нагрузке. Всегда используйте предохранители соответствующего номинала в цепях питания контроллера и нагрузки. Не используйте провода с поврежденной изоляцией. Не допускайте попадания внутрь контроллера влаги или посторонних токопроводящих предметов. При необходимости организуйте достаточный принудительный отвод тепла от силовых элементов контроллера. Не используйте контроллер со следами повреждений. При несоблюдении данных условий может возникнуть короткое замыкание или пожар.


Программируемый логический контроллер CANNY 5.3 MD1 является устройством, обладающим широким функционалом.

По своим функциональным и конструктивным параметрам CANNY 5.3 MD1 может быть отнесен к классу Nano-PLC (интеллектуальных реле) или к классу электронных конструкторов.

К основным особенностям CANNY 5.3 MD1 можно отнести:

  • диапазон напряжений питания (Vext) 7..16В;
  • номинальное напряжение каналов ввода-вывода 0 / напряжение питания (Vext);
  • 3 универсальных каналов ввода/вывода, с максимальным током до 100мА на каждом;
  • один из каналов контроллера может быть сконфигурирован для работы с напряжением 5В и может использоваться для питания внешних датчиков;
  • драйвер управления мотором постоянного тока с максимальным током до 12А, либо 2 независимых силовых выхода на его контактах (поверх драйвера мотора);
  • встроенный интерфейс CAN 2.0B совместимый с ISO-11898, SAE J2411 широко применяемым в автомобилях;
  • поддержка протокола обмена данными UART*;
  • поддержка интерфейса USB, используемого для программирования контроллера;
  • аналого-цифровой преобразователь (АЦП) работающий в диапазоне напряжений 0..16В;
  • встроенные средства управления собственным энергопотреблением контроллера в диапазоне от 1,6 до 24мА;
  • энергонезависимая память программ и шестьдесят четыре 16-и битные ячейки энергонезависимой памяти данных доступные пользовательскому приложению, способные сохранить критически важные данные при сбоях питания контроллера;
  • широкий диапазон рабочих температур от -40 до + 85 оС;
  • компактное исполнение и возможность встраивания в качестве центрального управляющего процессора позволяет создавать уникальные пользовательские устройства.

(* - находится в разработке)

Для создания пользовательских программ CANNY 5.3 MD1, как и для программирования других контроллеров CANNY, используется графический язык программирования CFD. Разработка программ осуществляется в интегрированной среде разработки CannyLab.

Язык CFD позволяет быстро создавать эффективные пользовательские приложения — функциональные диаграммы, а бесплатная интегрированная среда разработки CannyLab версии 1.34 или выше, содержит средства редактирования, отладки и записи программного обеспечения в CANNY 5.3 MD1.

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

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

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

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

Основными конструктивными элементами CANNY 5.3 MD1 являются: микроконтроллер (MCU) и микросхема драйвера мотора постоянного тока, смонтированные на оборотной стороне платы, и кварцевый резонатор, разъем miniUSB, трансмиттер CAN, изменитель тока - на лицевой. На плате контроллера, по одной из коротких сторон, имеются 4 силовых контактных отверстия для подключения питания и мотора постоянного тока, а по противоположной короткой стороне установлены 4-контактный (X1), на который выведены контакты питания контроллера и интерфейса CAN, и 3-контактный (X3) разъемы, на который выведены универсальные каналы ввода-вывода.

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

На оборотной стороне платы, со стороны разъемов, находится контакт АЦП 0..16В, который позволяет использоваться АЦП отдельно или через какой-либо контакт 3-контактного разъема, путем установки перемычки на соответствующих контактных площадках, расположенных напротив каждого из его контактов.

15 2 1 1.jpg  15 2 1 2.jpg

15 2 1 3.png

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

Напряжение питания контроллера CANNY 5.3 MD1 лежит в диапазоне от 7В до 16В и осуществляется через специальные контакты 4-контактного разъема X1.

Примечание: Питание мотора постоянного тока осуществляется отдельно от питания контроллера и подается через специальные контакты (контактные отверстия).

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

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

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

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

15 2 3 1.png

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

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

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

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

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

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

15 2 4 1.png

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

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

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

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

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

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

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

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

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

Переход в данный режим происходит автоматически, при подключении контроллера к внешнему питанию 7...16В, при отсутствии USB соединения.

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

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

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

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

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

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

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

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

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

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

15 4 2 1.png

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

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

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

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

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

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

Задание таких параметров производится в форме записи специальных констант в один или в несколько определенных регистров контроллера, в зависимости от того, конфигурацию какого из ресурсов требуется задать. Например, передачей константы со значением «260» в регистр, расположенный по адресу 1349 задается режим работы канала №8 в качестве стандартного положительного выхода, т.е. задаются выходные потенциалы канала в состоянии "ВКЛ" и "ВЫКЛ": во включенном состоянии потенциал на канале соответствует напряжению питания с током 100мА, а в выключенном состоянии - подтяжке к минусу (GND с током 1мА).

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

15 4 3 1.PNG

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

15 4 3 2.PNG

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

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

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

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

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

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

Пользователям CANNY 5.3 MD1 доступны три дискретных канала ввода-вывода общего назначения. Каждый канал физически представлен соответствующим контактом на 3-контактном разъеме контроллера. Записывая данные в соответствующие регистры каналов драйвера, функциональная диаграмма может управлять электрическим потенциалом на каждом из этих контактов. Считывая данные регистров каналов ввода-вывода, диаграмма может получать информацию о текущем значении потенциала каждого из них.

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

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

Драйвер UART / RS232 / Modbus[править]

Основная статья: CANNY 5.3 MD1, Драйвер UART - RS232 - Modbus

Контроллеры CANNY 5.3 MD1 имеют два независимых аппаратных интерфейса UART, поддерживающих работу в асинхронном полудуплексном режиме приема/передачи данных, который может быть использован для связи контроллеров друг с другом или с внешним оборудованием поддерживающим данный протокол связи. Интерфейс UART1 задействует канал №9 (TX1/RX1), а интерфейс UART2 - канал №10 (TX2/RX2) контроллера. Каналы могут быть задействованы независимо друг от друга и иметь индивидуальные настройки скорости передачи данных, типа и конфигурации используемого протокола, подтяжки линии. Наличие двух интерфейсов UART, способных работать в полудуплексном режиме, позволяет, при необходимости, организовать на их основе один интерфейс, работающий в дуплексном режиме.

Объем приемного и передающего буферов данных драйвера UART CANNY 5.3 MD1 составляет 64 байта.

Реализация протокола RS-232 в контроллерах CANNY 5.3 MD1, при использовании обоих каналов UART данных, позволяет организовать обмен данными с другим RS-232 устройством в дуплексном режиме, т.е. по одному каналу выполнять отправку данных, а по другому одновременно осуществлять прием данных.

Протокол Modbus в контроллерах CANNY 5.3 MD1 реализуется как поверх UART, так и поверх RS-232. В качестве ADU (Application Data Unit) используется компактный двоичный вариант - Modbus RTU. Проверка целостности данных осуществляется с помощью автоматически рассчитываемой контрольной суммы (CRC). Размер пакета ограничен 64 байтами включая CRC.

Примечание: Для корректной работы всех протоколов на базе UART / RS-232 необходимо, чтобы контакты GND устройств, совершающих обмен данными, были приведены к единому потенциалу ("общая земля").

Драйвер UART / RS232 в своей работе использует ресурсы каналов контроллера, но имеет более высокий приоритет чем драйвер дискретного ввода-вывода. Таким образом, при активации того или иного интерфейса UART / RS232, для задействованных в его работе каналов, изменение значений в связанных с ними регистрах драйвера дискретного ввода-вывода будет проигнорировано контроллером.

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

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

Два специальных контакта контроллера CANNY 5.3 MD1, CAN-H и CAN-L, предназначены для подключения к цифровой информационной шине CAN.

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

Основная статья: CANNY 5.3 MD1, Драйвер LIN

Два канала ввода-вывода CANNY 5.3 MD1, которые могут быть переданы под управление драйвера UART/RS-232 (Канал №9 и Канал №10), могут быть использованы для организации приема-передачи данных как два независимых канала драйвера LIN.

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

Драйвер LIN в своей работе использует ресурсы каналов контроллера, но имеет более высокий приоритет чем драйвер дискретного ввода-вывода. Таким образом, при активации драйвера LIN, для задействованных в его работе каналов, изменение значений в связанных с ними регистрах драйвера дискретного ввода-вывода будет проигнорировано контроллером.

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

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

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

Грамотное использование пользовательских параметров существенно повышает гибкость и универсальность решений на базе контроллера, позволяя конечному пользователю, не имеющему навыков работы с CannyLab, вносить безопасные изменения в работу алгоритма контроллера используя простой пользовательский интерфейс.

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

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

Для исключения потери критически важной информации (состояния контроллера, состояния внешних устройств и т. п.) при сбросе питания, в контроллере CANNY 5.3 MD1 предусмотрено наличие энергонезависимой памяти. Сохраненные в ней значения будут доступны после восстановления питания контроллера в специальных регистрах.

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

Примечание: Работа с энергонезависимой памятью не требует какой-либо специальной предварительной конфигурации.

Драйвер мотора / силовых выходных каналов[править]

Основная статья: CANNY 5.3 MD1, Драйвер мотора / силовых выходных каналов

Основным назначением контроллера CANNY 5.3 MD1 является управление мощными моторами постоянного тока. Кроме того, контроллер может использовать силовые контакты управления моторами в качестве силовых дискретных каналов, с возможностью гибкой настройки параметров их работы.

Используя CANNY 5.3 MD1 в режиме драйвера мотора, пользователь может управлять двигателем с помощью минимального набора регистров, что делает работу с контроллером простой, понятной и комфортной.

Режим силовых выходных каналов CANNY 5.3 MD1 может использоваться как для управления силовой внешней нагрузкой, так и для работы с моторами постоянного тока, при этом каналы могут работать в режимах ШИМ, в том числе и высокочастотного ШИМ.

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

Аналого-цифровой преобразователь (АЦП)[править]

Основная статья: CANNY 5.3 MD1, Аналого-цифровой преобразователь (АЦП)

Один специальный контакт на оборотной стороне контроллера CANNY 5.3 MD1 предназначен для работы в качестве аналого-цифрового преобразователя с разрешением 12 бит, и позволяет измерять напряжения в диапазоне 0...16В. При необходимости АЦП может быть выведен на любой из контактов 3-контактного разъема путем установки специальной перемычки на против выбранного канала контроллера.

АЦП контроллера активен постоянно и не требует предварительной конфигурации или дополнительного включения.