This documentation is out of date.
The new version of the documentation is here: https://cannylogic.com/docs |
Difference between revisions of "CANNY 7, Discrete IO Driver"
(→Смотри также) |
(→Общее описание) |
||
Line 7: | Line 7: | ||
Режим и параметры работы любого из каналов задаются функциональной диаграммой. В каждый момент времени канал может работать только в одном из возможных режимов, однако допускается динамическое переопределение конфигурации канала из функциональной диаграммы в процессе ее выполнения. | Режим и параметры работы любого из каналов задаются функциональной диаграммой. В каждый момент времени канал может работать только в одном из возможных режимов, однако допускается динамическое переопределение конфигурации канала из функциональной диаграммы в процессе ее выполнения. | ||
− | Ряд драйверов контроллера [[CANNY 7]], а именно [[HR PWM Driver|High Resolution PWM]], [[UART Driver|UART / RS232 / Modbus]], [[LIN Driver|LIN]], [[ | + | Ряд драйверов контроллера [[CANNY 7]], а именно [[CANNY 7, HR PWM Driver|High Resolution PWM]], [[CANNY 7, UART Driver|UART / RS232 / Modbus]], [[CANNY 7, LIN Driver|LIN]], [[CANNY 7, I²C Driver|I²C]], [[CANNY 7, Dallas 1-Wire Driver|Dallas® 1-Wire®]] и [[CANNY 7, IRRC Driver|Infrared Remote Control Driver]], в своей работе используют ресурсы драйвера каналов ввода-вывода и, при этом, имеют более высокий приоритет. Таким образом, при использовании указанными драйверами тех или иных каналов контроллера, доступ драйвера ввода-вывода к этим каналам невозможен. |
=== Регистры драйвера === | === Регистры драйвера === |
Revision as of 12:46, 2 December 2015
Contents
Общее описание
Пользователям CANNY 7 доступны одиннадцать дискретных каналов ввода-вывода общего назначения. Каждый канал физически представлен соответствующим контактом разъема X2 либо разъема X3 контроллера. Записывая и считывая данные соответствующих регистров драйвера, функциональная диаграмма может как управлять электрическим потенциалом на каждом из этих контактов так и получать информацию о текущем значении потенциала каждого из них.
Физические характеристики каналов позволяют подключать к ним различные внешние исполнительные устройства — электромагнитные реле, небольшие электродвигатели, светодиоды. В качестве внешних источников дискретных сигналов способных управлять работой контроллера, возможно использовать механические, электромеханические и электронные кнопки и переключатели, генераторы импульсов, источники напряжения 0-12В и транзисторные выходы различной аппаратуры и т.п.
Режим и параметры работы любого из каналов задаются функциональной диаграммой. В каждый момент времени канал может работать только в одном из возможных режимов, однако допускается динамическое переопределение конфигурации канала из функциональной диаграммы в процессе ее выполнения.
Ряд драйверов контроллера CANNY 7, а именно High Resolution PWM, UART / RS232 / Modbus, LIN, I²C, Dallas® 1-Wire® и Infrared Remote Control Driver, в своей работе используют ресурсы драйвера каналов ввода-вывода и, при этом, имеют более высокий приоритет. Таким образом, при использовании указанными драйверами тех или иных каналов контроллера, доступ драйвера ввода-вывода к этим каналам невозможен.
Регистры драйвера
Параметры, определяющие режим работы и текущее состояние каналов контроллера, задаются для каждого канала независимо друг от друга. Ниже приведено описание допустимых значений регистров управления работой каналов ввода-вывода во всех основных режимах.
Адрес | Ожидаемые значения | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||
|
|
Регистры контроля драйвера каналов ввода-вывода разделяются на содержащие информацию о состоянии драйвера ввода-вывода в целом и на содержащие информацию о состоянии каждого канала индивидуально. Ниже приведено описание возвращаемых значений регистров контроля драйвера каналов ввода-вывода во всех основных режимах работы.
Адрес | Возвращаемые значения | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Регистр контроля активности ввода-вывода |
| |||||||||||||||||||||||||||||
Регистр контроля перегрузки ввода-вывода |
| |||||||||||||||||||||||||||||
|
|
Нейтральное состояние канала
Каналы автоматически переводятся в нейтральное состояние в следующих случаях:
- при работе контроллера в режиме загрузки программного обеспечения;
- при работе контроллера в автономном режиме, если конфигурация канала не задана, задана константой «Нейтральное состояние» или значением «0»;
- в момент программного сброса или сброса питания контроллера, до перехода в автономный режим и начала исполнения функциональной диаграммы;
- в случае аварии контроллера или отказа системного программного обеспечения.
Электрически, нейтральное положение канала («воздух») эквивалентно высокоомному входу, внутренне соединенному с контактом GND контроллера резистором номинала ~200 кОм.
Режим дискретного выхода
Канал, сконфигурированный для работы в режиме дискретного выхода, устанавливает на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВКЛ» при записи ненулевого значения по адресу регистра выходного значения канала, и устанавливает на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВЫКЛ» при записи значения «0» по адресу регистра выходного значения канала.
Конфигурация канала для работы в данном режиме, определяется константой, задающей комбинацию параметров, определяющих электрический потенциал и силу тока на контакте соответствующего канала контроллера в положениях «ВКЛ» и «ВЫКЛ».
Параметр | Перечень допустимых значений |
---|---|
Тип канала | Дискретный выход. |
Состояние «ВКЛ» | плюс (1мА); ПЛЮС (100мА); минус (1мА); МИНУС (100мА);воздух. |
Состояние «ВЫКЛ» | плюс (1мА); ПЛЮС (100мА); минус (1мА); МИНУС (100мА);воздух. |
Именованные константы, представляющие доступные пользователю комбинации параметров конфигурации каналов, содержатся в разделе «Конфигурация каналов ввода-вывода» справочника констант CannyLab, доступ к которому осуществляется через контекстное меню входа функционального блока, имеющего тип «Константа».
Для перевода канала контроллера в режим дискретного выхода, необходимо в соответствующий каналу адрес «Регистр конфигурации канала №ХХ» скопировать значение константы, соответствующей выбранному режиму работы.
Примечание: | Для канала работающего в конфигурации дискретного выхода так же возможно получить значение, соответствующее фактическому текущему электрическому потенциалу на контакте данного канала, что позволяет использовать канал в режиме обратной связи. |
Пример функциональной диаграммы выполняющей ежесекундное поочередное переключение электрических потенциалов с +12В(100 мА) на GND(1 мА) на контактах контроллера, соответствующих каналам №0 и №1.
Режим широтно-импульсного выхода
Канал сконфигурированный для работы в режиме широтно-импульсного выхода, генерирует на соответствующем контакте контроллера широтно-импульсный сигнал заданной полярности, частоты и заполнения импульсов. В данном режиме канал работает асинхронно функциональной диаграмме, что позволяет добиться большей стабильности временных параметров генерируемого сигнала, чем при организации широтно-импульсного генератора средствами функциональной диаграммы.
Конфигурация канала для работы в данном режиме, определяется константой, представляющей комбинацию параметров, определяющих электрический потенциал и силу тока на контакте, в активной «ВКЛ» и пассивной «ВЫКЛ» фазе генерации соответствующего канала контроллера, и парой числовых значений, определяющих частоту и заполнение генерируемых импульсов в миллисекундах.
Параметр | Перечень допустимых значений |
---|---|
Тип канала | Широтно-импульсный выход. |
Состояние «ВКЛ» | плюс (1мА); ПЛЮС (100мА); минус (1мА); МИНУС (100мА);воздух. |
Состояние «ВЫКЛ» | плюс (1мА); ПЛЮС (100мА); минус (1мА); МИНУС (100мА);воздух. |
Именованные константы, представляющие доступные пользователю комбинации параметров конфигурации каналов, содержатся в разделе «Конфигурация каналов ввода-вывода» справочника констант CannyLab, доступ к которому осуществляется через контекстное меню входа функционального блока, имеющего тип «Константа».
Для перевода канала контроллера в режим широтно-импульсного выхода, необходимо:
- в соответствующий каналу адрес «Регистр конфигурации канала №ХХ» скопировать значение константы, соответствующей выбранному режиму работы;
- в соответствующий каналу адрес «Регистр периода канала №ХХ» скопировать числовое значение от 0 до 65565, устанавливающее период генерируемых импульсов в мс;
- в соответствующий каналу адрес «Регистр выходного значения канала №ХХ» скопировать числовое значение от 0 до 65565, устанавливающее заполнение генерируемых импульсов в мс.
Функциональная диаграмма выполняющая ежесекундное переключение электрического потенциала с +12В(100 мА) на GND(1 мА) на контакте контроллера соответствующем каналу №0:
Режим дискретного входа
Канал, сконфигурированный для работы в режиме дискретного входа, возвращает значение «1» в регистре своего входного значения, если на соответствующем контакте контроллера установился электрический потенциал соответствующий состоянию «Полярность входа»; и возвращает значение «0» в регистре входного значения, когда на соответствующем контакте контроллера установился электрический потенциал не соответствующий состоянию «Полярность входа».
Конфигурация канала для работы в данном режиме, определяется константой, представляющей комбинацию параметров, определяющих электрический потенциал на контакте принимаемый за состояние «1» соответствующего канала контроллера, наличие и потенциал внутренней «подтяжки» контакта контроллера, чувствительность и активность канала в режиме пониженного энергопотребления контроллера.
Параметр | Перечень допустимых значений |
---|---|
Тип канала | Дискретный вход. |
Полярность входа | ПЛЮС; МИНУС. |
Подтяжка | плюс; минус; воздух. |
Режим ожидания | активный; пассивный. |
Чувствительность | максимум (0 мс); высокая (20 мс); норма (200 мс); низкая (700 мс). |
Изменение потенциала на контакте канала, находящегося в режиме активного ожидания, приведет к немедленному автоматическому выходу контроллера из режима пониженного энергопотребления. Изменение потенциала на контакте канала, находящегося в режиме пассивного ожидания, не повлияет на режим энергопотребления контроллера.
Чувствительность канала определяет его «защиту от дребезга», т.е. задает временной интервал, в течение которого электрический потенциал на соответствующем каналу контакте контроллера должен оставаться неизменным, для того чтобы считаться установившимся и изменить состояние регистра входного значения канала.
Именованные константы, представляющие доступные пользователю комбинации параметров конфигурации каналов, содержатся в разделе «Конфигурация каналов ввода-вывода» справочника констант CannyLab, доступ к которому осуществляется через контекстное меню входа функционального блока, имеющего тип «Константа».
Для перевода канала контроллера в режим дискретного входа, необходимо в соответствующий каналу адрес «Регистр конфигурации канала №ХХ» скопировать значение константы, соответствующей выбранному режиму работы. Пример функциональной диаграммы, включающей встроенный зеленый светодиод контроллера при поступлении и удержании в течение не менее 200мс на соответствующем каналу №0 контакте контроллера, потенциала GND:
Режим счетчика
Канал сконфигурированный для работы в режиме счетчика, возвращает в регистре своего выходного значения число, соответствующее количеству переключений электрического потенциала на соответствующем контакте контроллера из состояния противоположного параметру «Полярность входа» в состояние соответствующее параметру «Полярность входа» за прошедший период времени заданной продолжительности. Таким образом, канал в данном режиме исполняет функцию счетчика передних фронтов сигнала или частотомера.
В данном режиме канал работает асинхронно функциональной диаграмме, что позволяет добиться большей точности определения временных параметров исследуемого сигнала и измерять сигнал большей частоты, чем при организации счетчика импульсов средствами функциональной диаграммы.
Конфигурация канала для работы в данном режиме, определяется константой, представляющей комбинацию параметров, определяющих электрический потенциал, при появлении которого на контакте соответствующего канала контроллера регистрируется передний фронт сигнала, наличие и потенциал внутренней «подтяжки» контакта контроллера.
Конфигурация канала для работы в данном режиме задается комбинацией следующих параметров:
Параметр | Перечень допустимых значений |
---|---|
Тип канала | Вход-счетчик. |
Полярность входа | ПЛЮС; МИНУС. |
Подтяжка | плюс; минус; воздух. |
В режиме счетчика, канал всегда находится в активном ожидании с максимальной чувствительностью. Подсчет драйвером числа изменений состояния такого канала ведется асинхронно.
Именованные константы, представляющие доступные пользователю комбинации параметров конфигурации каналов, содержатся в разделе «Конфигурация каналов ввода-вывода» справочника констант CannyLab, доступ к которому осуществляется через контекстное меню входа функционального блока, имеющего тип «Константа».
Для перевода канала контроллера в режим входа-счетчика, необходимо:
- в соответствующий каналу адрес «Регистр конфигурации канала №ХХ» скопировать значение константы, соответствующей выбранному режиму работы;
- в соответствующий каналу адрес «Регистр периода канала №ХХ» скопировать числовое значение от 0 до 65565, устанавливающее период подсчета импульсов в мс;
При ненулевом значении в регистре периода, значение в регистре входного значения канала обновляется один раз в период и содержит число импульсов зарегистрированное счетчиком за прошедший период.
Подсчет счетчиком импульсов ведется с переполнением. Это означает, что при достижении значения 65565 и последующем увеличении на единицу, значение счетчика устанавливается равным нулю, но каждый последующий импульс вновь увеличивает значение счетчика на единицу.
Пример функциональной диаграммы тахометра с разрешающей способностью 100 оборотов в минуту, подсчитывающем число импульсов на соответствующем каналу №0 контакте контроллера:
Примечание: | Если период установлен равным нулю, то счетчик непрерывно ведет подсчет импульсов с накоплением результата в регистре выходного значения канала. В данном режиме значение, этого регистра сбрасывается лишь в результате переполнения регистра. |
Эквивалентные принципиальные электрические схемы
Эквивалентные электрические принципиальные схемы для каждого возможного состояния канала ввода-вывода контроллера приведены в таблице:
Состояние канала | Эквивалентная электрическая принципиальная схема |
---|---|
«воздух» | |
«плюс (1мА)» | |
«ПЛЮС (100мА)» | |
«минус (1мА)» | |
«МИНУС (100мА)» | |
«подтяжка воздух» | |
«подтяжка плюс» | |
«подтяжка минус» |
Электрическая защита
Для каналов работающих в конфигурациях дискретного выхода и широтно-импульсного выхода, чей ток в состоянии «ВКЛ» или «ВЫКЛ» существенно превысит значение 100мА, системное программное обеспечение контроллера реализует автоматическую защиту от короткого замыкания. Защита реализована в виде переключения замкнутого канала в нейтральный режим, последующего периодического импульсного тестового включения и автоматического возврата к заданной пользователем конфигурации при обнаружении устранения замыкания. Данная защита работает в полностью автоматическом режиме и не требует конфигурации пользователем.