This documentation is out of date.

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

CANNY 7, Discrete IO Driver

From CANNY Wiki
Revision as of 07:34, 30 December 2015 by MEGA (Talk | contribs) (Общее описание)


Jump to: navigation, search

Genegal Description

Users CANNY 7 has eleven discrete input-output general purpose channels available. Each channel is physically presented to the appropriate pins of connector X2 or X3. Writing and reading data of the respective drivers registers, the functional diagram can manage the electric potential in each of these contacts and get information about current value of potential on each of them.

Channels physical characteristics allows to connect to them a variety of external actuators - electromagnetic relays, small motors, LEDs. As an external digital input signals it is possible to use a mechanical, electromechanical, and electronic buttons and switches, pulse generators, voltage source 0-12V and transistor outputs of various equipment , etc.

Channels operation mode and parameters specified by function diagram. At any given time, the channel can only work in one of the possible modes, but it is possible to dynamic override the channel configuration from the functional diagram during execution.

A number of CANNY 7 controller drivers, specifically High Resolution PWM, UART / RS232 / Modbus, LIN, I²C, Dallas® 1-Wire® и Infrared Remote Control Driver, in their operation use input-output channels resources and, thus, have a higher priority. Thus, when using these drivers of certain channel controller, IO driver access to these channels is not possible.

Регистры драйвера

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

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

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

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

Нейтральное состояние канала

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

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

Электрически, нейтральное положение канала («воздух») эквивалентно высокоомному входу, внутренне соединенному с контактом GND контроллера резистором номинала ~200 кОм.

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

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

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

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

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

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

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

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

6 6 4 1.png

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

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

6 6 5 1.png

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

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

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

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

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

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

6 6 5 2.png

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

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

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

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

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

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

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

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

6 6 6 1.png

Режим счетчика

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

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

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

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

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

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

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

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

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

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

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

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

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

Equivalent circuit diagrams

Equivalent circuit diagrams for each possible state of the input-output channel shown in the table below:

Channel state Equivalent circuit diagram
«air»
6 6 9 1.png
«plus (1mA)»
6 6 9 2.png
«PLUS (100mA)»
6 6 9 3.png
«minus (1mA)»
6 6 9 4.png
«MINUS (100mA)»
6 6 9 5.png
«pull up air»
6 6 9 6.png
«pull up plus»
6 6 9 7.png
«pull up minus»
6 6 9 8.png


Электрическая защита

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

Смотри также

CANNY 7

CANNY 7, HR PWM Driver