This documentation is out of date.

The new version of the documentation is here: https://cannylogic.com/docs

Difference between revisions of "CANNY 7"

From CANNY Wiki
Jump to: navigation, search
[unchecked revision][unchecked revision]
(Системные ресурсы и режимы работы)
Line 1: Line 1:
'''CANNY 7''' — miniature [[programmable logic controller]] designed for automotive, domestic and industrial use
+
'''CANNY 7''' — miniature [[PLC | programmable logic controller]] designed for automotive, domestic and industrial use
  
 
== General Information ==
 
== General Information ==

Revision as of 19:35, 20 November 2015

CANNY 7 — miniature programmable logic controller designed for automotive, domestic and industrial use

General Information

Due to limited external channels, programmable logic controller CANNY7 may be attributed to a class of smart relays or Nano PLC. However CANNY7 capable of solving many automation, control and monitoring tasks.

Unique features combination allow us to call CANNY7, the first programmable logic controller oriented for automotive applications These features are:

  • rated power supply and IO channels voltage 0 / 12V (18V max);
  • the maximum output current of each of the 11 IO channels +/- 120mA, sufficient to control usual automotive relay;
  • CAN 2.0B Interface, compliant with ISO-11898, SAE J2411 widely used in modern cars;
  • built-in energy consumption management in the range of 5 to 60 mA, helps conserve battery power during periods of inactivity in a car;
  • EEPROM for applications and sixty-four 16-bit nonvolatile memory data cells, available to user application to preserve critical data during a power failure;
  • wide operating temperature range from -40 to + 85 ° C;
  • Integrated surge protection and short circuit protection
  • compact housing complaint to IP50 enclosure protection specification is suitable for installation and operation as part of a car cabin equipment;
  • specialised packages of system and application software to use with automotive CAN and LIN networks.

To develop custom software for CANNY7, created a graphical programming language CFD, allowing to quickly create effective user applications-Functional Diagrams. Free IDE CannyLab, contains tools for editing, debugging and writing software in to the controller. Writing software in to the controller does not require any special equipment. Will need only a PC with a USB port version 1.1 or higher, CannyLab environment installed on it and ordinary miniUSB cable . Controllers' memory available user is enough to accommodate the program, consisting of several hundred functional blocks, which allows for fairly sophisticated algorithms. Each of the 11 IO channels able operate in any of the 98 modes that define the voltage, current, and temporal parameters of the input and output signals. In addition, some of the channels can be configured to operate in digital mode, to transmit / receive data of such protocols as 1-Wire, I2C, RS-232, LIN, CAN. The configuration of each channel can be set and adjusted from the user application. Two-colour LED controlled from the user application is useful to indicate the mode of the controller and debugging.

Design and functional operation

The appearance and layout

The main constructional parts of CANNY 7 are: a micro controller (MCU) with the auxiliary circuits, the power supply system for all controllers' elements, IO channels level matching circuit, electric protection system, connectors and LED, based on a single print board 65 x 23 mm mounted inside quick-open plastic casing. The controller has three external connectors and one internal. To connect the controller to the power supply and external devices, the kit includes a set of jumper harness.

Наружный разъем Х1 содержит четыре контакта: вход питания +12В, вход питания GND, CAN-H и CAN-L. Наружный разъем Х2 содержит восемь контактов, соответствующих первым восьми каналам контроллера, начиная с канала №0 и заканчивая каналом №7. Наружный разъем Х3 содержит три контакта, соответствующих каналам №8, №9 и №10 контроллера. Внутренний разъем USB1 контроллера служит для подключения интерфейсного кабеля miniUSB связывающего контроллер с ПК.

800px

Software Architecture

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

800px

Арифметическо-логическое устройство — вычислительное ядро CANNY 7. АЛУ обеспечивает исполнение системного программного обеспечения и пользовательских функциональных диаграмм, помещенных во внутреннюю память контроллера. Внутренняя память контроллера разделяется на энергонезависимую память программ, энергонезависимую память данных и оперативную память данных. Подсистема управления ходом обработки команд, отвечает за переключение и настройку режимов работы контроллера. Система ввода-вывода обеспечивает связь контроллера с внешним миром, с использованием как дискретных каналов ввода-вывода, так и стандартных цифровых интерфейсов CAN / LIN / RS232 / USB.

Software Structure

250px

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

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

Operation modes

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

Software download mode

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

Autonomous mode

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

Sleep mode

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

Runtime Environment

Presentation of the functional diagram

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

The order of execution

450px

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

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

Access to hardware resources

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

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

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

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

center

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

center

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

System Registers

System Registers

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

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

Discrete Inputs and Outputs

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

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

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

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

High Resolution PWM

Основная статья: Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)

Два из одиннадцати каналов ввода-вывода (Канал №1 и Канал №2) CANNY 7 поддерживают работу в режиме высокочастотного широтно-импульсного модулятора. Каналы могут быть задействованы независимо друг от друга и иметь независимые настройки скважности сигнала и подтяжки линии, однако, период высокочастотного ШИМ является параметром, общим для обоих каналов. В режиме ВЧ ШИМ, временные параметры ШИМ – период и скважность задаются в диапазоне от 2 до 20000 микросекунд, с шагом 1 микросекунда.

В режиме ВЧ ШИМ канал имеет фиксированную полярность импульсов — GND 100мА. Генерация может вестись как в режиме открытого коллектора – подтяжка линии отсутствует или внешняя, так и в режиме с внутренней подтяжкой к +12В (задается установкой значения в соответствующем регистре). В данном режиме канал работает асинхронно функциональной диаграмме, что позволяет добиться максимальной стабильности временных параметров генерируемого сигнала.

Примечание: В режиме высокочастотного широтно-импульсного модулятора электрическая защита канала от короткого замыкания находится в отключенном состоянии! Перегрузка или короткое замыкание каналов контроллера находящихся в режиме ВЧ ШИМ может привести к выходу канала контроллера из строя!

UART / RS232 / Modbus driver

Основная статья: Драйвер UART / RS232 / Modbus

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

Реализация UART в контроллерах CANNY7 позволяет организовать последовательный прием и передачу данных по одному проводу в полудуплексном режиме. Таким образом CANNY7 может иметь 2 независимых подключения с использованием протокола UART. Контроль состояния канала передачи данных должен осуществляться пользователем из функциональной диаграммы. Если канал свободен, то устройство может начать передачу данных, в противном случае устройство должно дождаться освобождения линии.

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

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

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

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

CAN driver

Основная статья: Драйвер CAN

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

LIN driver

Основная статья: Драйвер LIN

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

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

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

I2C driver

Основная статья: Драйвер I2C

В качестве линий связи (SDA и SCL) может быть назначена любая пара каналов контроллера CANNY 7. При этом, данные каналы должны быть подтянуты к напряжению 5В резисторами номиналом от 1 кОм до 10 кОм снаружи. Особенность реализации протокола I²C в контроллерах CANNY7 состоит в том, что CANNY7 может выступать только в качестве ведущего (Master) узла сети и обмен данными между устройствами, который может быть как одно- так и двунаправленным, происходит отдельными сеансами, с максимальной длиной сообщения I²C внутри одного сеанса равной 16 байтам, т. е. открытие одновременно несколько сеансов с разными устройствами не допускается. Скорость обмена фиксированная и составляет 100 кбит/с. Общее число ведомых устройств на линии может достигать нескольких десятков.

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

Dallas 1-Wire driver

Основная статья: Драйвер Dallas® 1-Wire®

Контроллер CANNY7 может быть использован в качестве ведущего (MASTER) узла в однопроводной сети передачи данных Dallas 1-Wire.

Для подключения контроллера CANNY7 к шине 1-Wire может использоваться любой из его каналов ввода-вывода. При этом, данный канал должен быть снаружи подтянут к напряжению 5В резистором номиналом от 3 кОм до 7 кОм. Последовательно переназначая канал драйвера, можно организовать до 11 независимых подключений 1-Wire. При этом адресация устройств и обращение к устройству по адресу не предусмотрена, поэтому, к каналу контроллера в режиме 1-Wire возможно подключение лишь одного ведомого (SLAVE) устройства в каждый момент времени.

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

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

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

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

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

EEPROM Non-volatile Memory Driver

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

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

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

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

Infrared Remote Control Driver

Основная статья: Драйвер пульта ИК ДУ

Контроллер CANNY7 позволяет принимать и передавать команды инфракрасных пультов дистанционного управления (ИК ДУ) в широко распространенных форматах NEC и extended NEC. Работа драйвера возможна в трех режимах: только прием, только передача или прием/передача. Для приема и передачи используются два любых канала контроллера.

При передаче команд ИК ДУ, используемый для этого канал контроллера CANNY7 генерирует только модулирующий сигнал. Для формирования пакетов импульсов контроллеру требуется наличие несущей частоты, источником которой может выступать как один из каналов ВЧ ШИМ CANNY7, так и внешний генератор ШИМ. Прием команд ИК ДУ требует наличия внешнего демодулятора, например TSOP1736 или аналогичного.

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

Specifications

Electrical characteristics and environmental requirements

Напряжение питания 9...18 В
Потребляемый ток: в рабочем режиме (не более) 55 мА
в энергосберегающем режиме (не более) 5,5 мА
Максимальный ток каждого канала в режиме выхода +120 мА / -120 мА
Сопротивление канала в режиме входа 4 кОм или 200 кОм
Диапазон рабочих температур -40оС...+85оС
Степень защищенности от пыли и влаги IP50

Защита электрических цепей:

  • от короткого замыкания канала — программная;
  • от перегрузки канала — внутренними токоограничительными сгораемыми резисторами;
  • от смены полярности источника питания — внутренним диодом;
  • схема подавления высоковольтных выбросов при коммутации индукционной нагрузки каналов с №0 по №7: диод и варистор;
  • схема подавления высоковольтных выбросов при коммутации индукционной нагрузки каналов с №8 по №10 — отсутствует.

Safety Precautions

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

Installation and connection

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

Не допускается попадание влаги на контакты выходных соединителей и внутренние элементы контроллера. Запрещается использование контроллера при наличии в атмосфере кислот, щелочей и иных агрессивных веществ.

Установка контроллера и прокладка кабелей подключаемых к нему должна производиться на расстоянии не менее 0.3 метра от высоковольтных силовых линий и источников сильных электромагнитных излучений — мощных реле, контакторов, газоразрядных ламп. Не допускается попадания влаги на корпус контроллера в месте его установки.

Transportation and storage

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

Транспортирование и хранение должны осуществляться при температуре окружающего воздуха от минус -40 до +85 °С и относительной влажности воздуха – до 80%, с соблюдением мер защиты от ударов и вибраций. В воздухе не должны присутствовать кислоты, щелочи и иные агрессивные вещества. Контроллеры следует хранить на стеллажах.