<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Генераторы импульсов > CLICK_DEC (OSCAT) |
Вид ФБ в редакторе программ языка FBD:
Входы и выходы ФБ:
Название |
Тип |
Описание |
Входы |
||
IN |
BOOL |
Входной сигнал. |
TC |
TIME |
Время, в течение которого должны пройти импульсы. |
Выходы |
||
Q0 |
BOOL |
Выходной сигнал в случае переднего фронта в IN в течение TC. |
Q1 |
BOOL |
Выходной сигнал в случае 1 импульса в IN в течение TC. |
Q2 |
BOOL |
Выходной сигнал в случае 2 импульсов в IN в течение TC. |
Q3 |
BOOL |
Выходной сигнал в случае 3 импульсов в IN в течение TC. |
ФБ содержит внутренний таймер, который запускается по первому переднему фронту в сигнале IN и останавливается по истечении времени TC, затем по первому переднему фронту в IN вновь запускается на время TC и т.д.
Если в течение одного периода работы таймера во входном сигнале IN прошел только один передний фронт (который, собственно, и запустил таймер), Q0 принимает значение 1 и остается равным 1 до тех пор, пока IN не примет значение FALSE.
Если в течение одного периода работы таймера во входном сигнале IN прошло ровно n=1,2,3 полных импульсов (ровно n передних и ровно n задних фронтов), на соответствующем выходе Q<n> генерируется одиночный импульс длиной 1 цикл.
Если в течение одного периода работы таймера во входном сигнале IN прошло (n+1) передних и n задних фронтов (т.е. n=1,2,3 полных импульсов и передний фронт), выход Q<n> принимает значение 1 и остается равным 1 до тех пор, пока IN не примет значение FALSE.
Следующая диаграмма иллюстрирует алгоритм ФБ:
CLICK_DEC может использоваться для детектирования повторяющегося нажатия клавиш.