Стандартные функциональные блоки

<< Click to Display Table of Contents >>

Navigation:  Проект > Элементы дерева объектов > Палитра ФБ > Служебные > Программа ST >

Стандартные функциональные блоки

 

Функциональный блок

Расшифровка

Триггеры

RS -  триггер с доминантой выключения

SR - триггер с доминантой включения

Детекторы импульсов

R_TRIG - генерирует импульс продолжительностью один цикл по переднему фронту входного сигнала

F_TRIG -  генерирует импульс продолжительностью один цикл по заднему фронту входного сигнала

Счётчики

CTU (CTU_DINT, CTU_LINT,CTU_UDINT, CTU_ULINT) - реализует функцию инкрементального счётчика

CTD (CTD_DINT, CTD_LINT,CTD_UDINT, CTD_ULINT) - реализует функцию декрементального счётчика

CTUD (CTUD_DINT, CTUD_LINT, CTD_ULINT) - реализует функцию реверсивного счётчика

Таймеры

TP - таймер

TON - таймер с задержкой включения

TOF - таймер с задержкой выключения

 

Триггеры

RS. Триггер с доминантой выключения.

Sluzhebnie_ST_Script_image10

Пример объявления:

trig1:RS;

Пример использования:

trig1(S:=in,R1:=in1);

out:=trig1.Q1;

SR. Триггер с доминантой включения.

Sluzhebnie_ST_Script_image9

Пример объявления:

trig1:SR;

Пример использования:

trig1(S1:=in,R:=in1);

out:=trig1.Q1;

Детекторы импульсов

R_TRIG

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

Sluzhebnie_ST_Script_image11

Внимание. Правильная работоспособность данного функционального блока возможна только в режиме периодического опроса ФБ.

Пример объявления:

Fr:R_TRIG;

Пример использования:

FR(CLK:=in);

out:=FR.Q;

F_TRIG

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

Sluzhebnie_ST_Script_image12

Внимание. Правильная работоспособность данного функционального блока возможна только в режиме периодического опроса ФБ.

Пример объявления:

Fr:F_TRIG;

Пример использования:

FR(CLK:=in);

out:=FR.Q;

Счетчики

CTU (CTU_DINT, CTU_LINT,CTU_UDINT, CTU_ULINT)

Функциональный блок реализует функцию инкрементального счетчика.

Sluzhebnie_ST_Script_image13

Пример объявления:

Count:CTU;

Пример использования:

Count(CU:=in,R:=Res,PV:=U);

out:=Count.Q;

cnt:=Count.CV;

CTD (CTD_DINT, CTD_LINT,CTD_UDINT, CTD_ULINT)

Блок реализует функцию декрементального счетчика.

Sluzhebnie_ST_Script_image14

Пример объявления:

Count:CTD;

Пример использования:

Count(CD:=in,LD:=LOAD,PV:=U);

out:=Count.Q;

cnt:=Count.CV;

CTUD (CTUD_DINT, CTUD_LINT, CTD_ULINT)

Блок реализует функцию реверсивного счетчика. Блок объединяет в себе функциональность блока CTU и CTD.

Sluzhebnie_ST_Script_image15

Пример объявления:

Count:CTUD;

Пример использования:

Count(CU:=in,CD:=in1,R:=res,LD:=load,PV:=5);

out:=Count.QU;

out1:=Count.QD;

cnt:=Count.CV;

Таймеры

Sluzhebnie_ST_Script_image16

TP

Функциональный блок таймер.

Sluzhebnie_ST_Script_image17

Пока IN равен False, Q также False, выход ET=0. По переднему фронту на входе IN таймер запускается – на выходе Q устанавливается True, на выходе ET начинается отчет времени. По достижению времени равному заданному PT отчет прекращается, выход Q переходит в False. Таким образом таймер формирует импульс длительностью PT.

Внимание. Правильная работоспособность данного функционального блока возможна только в режиме периодического опроса ФБ.

Пример объявления:

Timer1:TP;

Пример использования:

Timer1(In:=in1,PT:=T#5s);

out:=Timer1.Q;

out3:=Timer1.Et;

TON

Таймер с задержкой включения.

Sluzhebnie_ST_Script_image18

Пока IN равен False, таймер выключен, выход Q=False, выход ET=0. Когда IN становится равным TRUE, таймер запускается – на выходе ET начинается отчет времени. Когда значение на ET станет равным значению, заданному в PT, отчет времени прекращается, выход Q становится равным True. В этом состоянии таймер будет находится до тех пор пока на IN=True. Как только IN=False, ET обнуляется, выход Q принимает значение False. Таким образом выход Q устанавливается с задержкой равной PT, относительно фронта входа IN. На рисунке представлена диаграмма работы таймеры. В момент времени t2, таймер не включился, так как импульс IN стал равным False, до того как значение времени

Внимание. Правильная работоспособность данного функционального блока возможна только в режиме периодического опроса ФБ.

Пример объявления:

Timer1:TON;

Пример использования:

Timer1(In:=in1,PT:=T#5s);

out:=Timer1.Q;

out3:=Timer1.Et;

TOF

Таймер с задержкой выключения.

Sluzhebnie_ST_Script_image19

Пока IN=False, таймер выключен, выход Q=False, выход ET=0. Когда IN становится равным True, выход Q также принимает значение True. Как только вход IN снова становится равным False, таймер запускается, начинается отчет времени на выходе ET. При достижении значения заданного PT, счет прекращается, выход Q становится равен False. Таким образом таймер сбрасывает выход Q через время PT, относительно заднего фронта входа IN. На рисунке представлена диаграмма работы таймера. В момент времени t2, выход остался равным True, так как следующий фронт на входе IN возник до того как значение времени ET достигло PT.

Внимание. Правильная работоспособность данного функционального блока возможна только в режиме периодического опроса ФБ.

Пример объявления:

Timer1:TOF;

Пример использования:

Timer1(In:=in1,PT:=T#5s);

out:=Timer1.Q;

out3:=Timer1.Et;

 

Ссылки:

Описание стандарта