CANNY 5 tiny, Драйвер каналов ввода-вывода

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

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

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

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

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

Ряд драйверов контроллера CANNY 5 tiny в своей работе используют ресурсы драйвера каналов ввода-вывода и, при этом, имеют более высокий приоритет. Таким образом, при использовании ими тех или иных каналов контроллера, доступ драйвера ввода-вывода к этим каналам невозможен.

Примечание: Выходное рабочее напряжение на каналах №№0, 1, 4 и 5 зависит от напряжения питания контроллера, т.е. равняется напряжению питания. Выходное рабочее напряжение на каналах №№2 и 3 не зависит от напряжения питания контроллера и равняется 5В. Все каналы контроллера в режиме входов могут воспринимать сигналы напряжением до 15В.

Регистры драйвера[править]

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

Регистр Ожидаемые значения
Регистр конфигурации канала №0
Регистр конфигурации канала №1
...
Регистр конфигурации канала №5
≥ 1 = установить конфигурацию канала контроллера, определяющую текущий режим и параметры его работы (задается специальной константой из справочника констант);
0 = перевести в нейтральное положение соответствующий каналу контакт контроллера и исключить возможность изменения его состояния из функциональной диаграммы.
Регистр установки периода канала №0
Регистр установки периода канала №1
...
Регистр установки периода канала №5
В режиме входа-счетчика:
1...65535 = период в миллисекундах подсчета числа импульсов на соответствующем контакте контроллера и обновления полученного значения регистре контроля выходного значения канала;
0 = включить канал в режиме счетчика с накоплением.
В режиме широтно-импульсного выхода:
1...65535 = период в миллисекундах генерируемых импульсов на соответствующем контакте контроллера;
0 = прекратить генерацию импульсов и установить потенциал на соответствующем контакте контроллера равным потенциалу состояния «ВЫКЛ» текущей конфигурации канала.
В режиме дискретного входа:
0...65535 = значение игнорируется;
В режиме дискретного выхода:
0...65535 = значение игнорируется;
Регистр установки выходного значения канала №0
Регистр установки выходного значения канала №1
...
Регистр установки выходного значения канала №5
В режиме входа-счетчика:
0...65535 = значение игнорируется.
В режиме широтно-импульсного выхода:
0...65535 = заполнение (скважность) в миллисекундах генерируемых импульсов на соответствующем контакте контроллера.
В режиме дискретного входа:
0...65535 = значение игнорируется;
В режиме дискретного выхода:
1...65535 = установить на соответствующем контакте контроллера электрический потенциал заданный конфигурацией данного канала для состояния «ВКЛ»;
0 = установить на соответствующем контакте контроллера электрический потенциал заданный конфигурацией данного канала для состояния «ВЫКЛ».

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

Регистр Возвращаемые значения
Регистр контроля активности ввода-вывода
1 = в ходе прошедшего цикла выполнения функциональной диаграммы зарегистрировано изменение электрического потенциала на каком-либо контакте контроллера соответствующем каналу, сконфигурированному как активный вход или счетчик импульсов; либо диаграммой было изменено значение регистров выходных каналов или входов-счетчиков;
0 = за прошедший цикл выполнения функциональной диаграммы изменений на активных входах контроллера или изменений значений регистров драйвера не обнаружено.
Регистр перегрузки выхода
1 = на одном или нескольких каналах контроллера включенных как силовой выход, обнаружено короткое замыкание и канал переведен в режим защиты;
0 = ни на одном из каналов контроллера не обнаружено короткого замыкания.
Регистр контроля входного значения канала №0
Регистр контроля входного значения канала №1
...
Регистр контроля входного значения канала №5
В режиме дискретного входа:
1 = на соответствующем контакте контроллера установился электрический потенциал соответствующий полярности данного входа;
0 = на соответствующем контакте контроллера установился электрический потенциал не соответствующий полярности данного входа.
В режиме входа-счетчика:
0...65535 = число импульсов зарегистрированных на соответствующем контакте контроллера за прошедший период времени заданной продолжительности.
В режиме дискретного или широтно-импульсного выхода:
1 = на соответствующем контакте контроллера обнаружен электрический потенциал соответствующий полярности данного выхода в режиме «ВКЛ»;
0 = на соответствующем контакте контроллера обнаружен электрический потенциал не соответствующий полярности данного выхода в режиме «ВКЛ».

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

Каналы автоматически переводятся в нейтральное состояние в следующих случаях:

  • при работе контроллера в режиме загрузки программного обеспечения;
  • при работе контроллера в автономном режиме, если конфигурация канала не задана, задана константой «Нейтральное состояние» или значением «0»;
  • в момент программного сброса или сброса питания контроллера, до перехода в автономный режим и начала исполнения функциональной диаграммы;
  • в случае аварии контроллера или отказа системного программного обеспечения.

Режим дискретного выхода[править]

Канал, сконфигурированный для работы в режиме дискретного выхода, устанавливает на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВКЛ» при записи ненулевого значения в регистр выходного значения канала, и устанавливает на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВЫКЛ» при записи значения «0» в регистр выходного значения канала.

Примечание: Выходное напряжение на каналах №№0, 1, 4 и 5 соответствует напряжению питания контроллера. Выходное напряжение на каналах №№2 и 3 не зависит от напряжения питания контроллера и равняется 5В.

Конфигурация канала для работы в данном режиме, определяется константой, определяющей электрический потенциал на контакте соответствующего канала контроллера в положениях «ВКЛ» и «ВЫКЛ».

Параметр Перечень допустимых значений
Тип канала Дискретный выход.
Состояние «ВКЛ»* ПЛЮС; МИНУС (сила тока зависит от характеристик используемого канала контроллера)
Состояние «ВЫКЛ»* МИНУС; ПЛЮС (сила тока зависит от характеристик используемого канала контроллера)
Примечание: * - смотри эквивалентные электрические схемы каналов.

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

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

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

Пример функциональной диаграммы выполняющей ежесекундное поочередное переключение электрических потенциалов с +5В(20 мА) на GND(1 мА) на контактах контроллера, соответствующих каналам №2 и №3.

13 6 4 1.png

Режим широтно-импульсного выхода[править]

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

13 6 5 1.png

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

Параметр Перечень допустимых значений
Тип канала Широтно-импульсный выход.
Состояние «ВКЛ»* ПЛЮС; МИНУС (сила тока зависит от характеристик используемого канала контроллера).
Состояние «ВЫКЛ»* МИНУС; ПЛЮС (сила тока зависит от характеристик используемого канала контроллера).
Примечание: * - смотри эквивалентные электрические схемы каналов.

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

Для перевода канала контроллера в режим широтно-импульсного выхода, необходимо:

  • в соответствующий каналу «Регистр конфигурации канала №ХХ» передать значение константы, соответствующей выбранному режиму работы;
  • в соответствующий каналу «Регистр периода канала №ХХ» передать числовое значение от 0 до 65535, устанавливающее период генерируемых импульсов;
  • в соответствующий каналу «Регистр выходного значения канала №ХХ» передать числовое значение от 0 до 65535, устанавливающее заполнение генерируемых импульсов.
Примечание: При использовании режима увеличения разрешения системного таймера период и заполнение измеряется в 0,1 миллисекунды, иначе — в целых в миллисекундах.

Функциональная диаграмма постоянно выполняющая ежесекундное переключение электрического потенциала с GND(1мА) на +5В(20мА) на контакте контроллера соответствующем каналу №2:

13 6 5 2.png

ВНИМАНИЕ! В отличие от CANNY 7, каналы CANNY 5 tiny не имеют интеллектуальной защиты от короткого замыкания или перегрузки. Цепи каналов защищены лишь токоограничительными сгораемыми резисторами (см. схемы). Во избежание выхода каналов из строя, избегайте прямого подключения каналов с включенным выходным потенциалом GND к силовым цепям положительной полярности!

Режим дискретного входа[править]

Канал, сконфигурированный для работы в режиме дискретного входа, возвращает значение «1» в регистре своего входного значения если на соответствующем контакте контроллера установился электрический потенциал, соответствующий состоянию «ВКЛ» для выбранной полярности входа, и возвращает значение «0» в регистре входного значения, когда на соответствующем контакте контроллера установился электрический потенциал, не соответствующий состоянию «ВКЛ» данного входа.

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

Параметр Перечень допустимых значений
Тип канала Дискретный вход.
Полярность входа ПЛЮС; МИНУС.
Режим ожидания активный; пассивный.

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

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

Пример функциональной диаграммы, включающей встроенный зеленый светодиод контроллера при поступлении и удержании в течение не менее 200мс на соответствующем каналу №0 контакте контроллера, потенциала GND:

13 6 6 1.png

Режим счетчика[править]

При включении режима входа-счетчика передних (восходящих) или задних (нисходящих) фронтов любого из каналов контроллера, CANNY 5 tiny позволяет, асинхронно функциональной диаграмме, производить автоматический подсчет изменения потенциалов соответствующей направленности входного сигнала.

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

Конфигурация канала для работы в данном режиме задается комбинацией следующих параметров:

Параметр Перечень допустимых значений
Тип канала Вход-счетчик.
Полярность входа ПЛЮС; МИНУС.

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

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

Сконфигурированный для работы в режиме входа-счетчика канал возвращает в регистре своего входного значения число импульсов, соответствующее: суммарному количеству переключений электрического потенциала на соответствующем контакте контроллера из состояния GND в состояние >=2.5...7.5 вольт, в зависимости от напряжения питания контроллера, при включенном регистре счетчика передних фронтов; суммарному количеству переключений электрического потенциала на соответствующем контакте контроллера из состояния >=2.5...7.5, в зависимости от напряжения питания контроллера, вольт в состояние GND, при включенном регистре счетчика задних фронтов.

Для перевода канала контроллера в режим входа-счетчика, необходимо:

  • в соответствующий каналу «Регистр конфигурации канала №ХХ» передать значение константы, соответствующей выбранному режиму работы;
  • в соответствующий каналу «Регистр периода канала №ХХ» передать числовое значение от 0 до 65535, устанавливающее период подсчета импульсов в мс;

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

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

Пример функциональной диаграммы тахометра с разрешающей способностью 100 оборотов в минуту, подсчитывающем число импульсов на соответствующем каналу №0 контакте контроллера CANNY5 tiny:

13 6 7 1.png


Смотри также[править]

CANNY 5 tiny

CANNY 7

CANNY 7, Драйвер каналов ввода-вывода