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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7 6 4 1.png

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

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

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

7 6 5 1.png

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

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

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

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

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

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

7 6 5 2.png

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

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

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

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

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

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

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

7 6 6 1.png

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

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

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

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

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

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

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

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

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

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

7 6 7 1.png

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

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

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

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



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

CANNY 5

CANNY 5 nano

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

CANNY 7

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