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

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

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

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

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

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

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

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

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

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

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

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

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

При включении контроллера, все силовые выходные элементы каналов находятся в выключенном состоянии. На контактах контроллера соответствующих каналам 0..9 устанавливаются потенциал 12В/1мА на контакте соответствующем каналу 10 — очень слабый отрицательный потенциал («воздух»).

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

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

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

Параметр Перечень допустимых значений
Тип канала Дискретный.
Состояние «ВКЛ» плюс (1мА); МИНУС (120мА).
Состояние «ВЫКЛ» МИНУС (120мА); плюс (1мА).

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

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

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

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

9 6 4 1.png

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

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

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

9 6 5 1.png

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

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

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

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

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

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

9 6 5 2.png

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

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

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

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

Изменение потенциала на контактах каналов №№2, 8, 9, если их конфигурация отлична от нейтрального состояния, приведет к немедленному автоматическому выходу контроллера из режима пониженного энергопотребления при нахождении контроллера в нём.

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

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

9 6 6 1.png

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

Каналы 2, 8, 9 и 10 контроллера могут быть сконфигурированы для работы в режиме входа-счетчика. Канал сконфигурированный для работы в режиме счетчика, возвращает в регистре своего выходного значения число, соответствующее количеству переключений электрического потенциала на соответствующем контакте контроллера из состояния «Низкий уровень» в состояние «Высокий уровень», или наоборот, за прошедший период времени заданной продолжительности. Таким образом, канал в данном режиме исполняет функцию счетчика передних, либо задних, фронтов сигнала или частотомера, при этом он всегда находится в активном ожидании с максимальной чувствительностью и работает асинхронно функциональной диаграмме, что позволяет добиться большей точности определения временных параметров исследуемого сигнала и измерять сигнал большей частоты, чем при организации счетчика импульсов средствами функциональной диаграммы.

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

Параметр Перечень допустимых значений
Тип канала Вход-счетчик.
Фиксируемое значение передний (восходящий) фронт; задний (нисходящий) фронт.

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

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

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

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

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

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

9 6 7 1.png

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

Эквивалентные принципиальные электрические схемы[править]

Эквивалентные электрические принципиальные схемы для каждого возможного состояния канала ввода-вывода контроллера приведены в таблице:

Состояние канала Эквивалентная электрическая принципиальная схема
Канал №0
Канал №1
Канал №3
Канал №4
Канал №5
Канал №6
Канал №7
9 6 8 1.png
Канал №2
Канал №8
9 6 8 2.png
Канал №9
9 6 8 4.png
Канал №10
9 6 8 3.png



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

CANNY 5.2

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

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