TP
Temporizador de pulso: numa transição de subida na entrada IN, ativa a saída Q e a mantém ativa durante o tempo PT, ignorando alterações de IN enquanto a contagem estiver em curso. É um bloco de função (mantém estado entre scans; requer instância).
Biblioteca: IEC_STD · Namespace: IEC · Tipo: bloco de função
Bloco de função
TP
+-----+
IN----|> |---Q
| |
PT----| |---ET
+-----+
Quando ocorre uma transição de subida na entrada IN o temporizador é ativado, iniciando a contagem do tempo programado em PT. Durante a contagem a saída Q permanece ativa, e o tempo transcorrido é atualizado em ET.
Uma vez iniciada, a contagem não pode ser interrompida. Deste modo, qualquer mudança de estado na entrada IN durante a contagem não tem efeito, não interrompendo a contagem corrente.
Ao término da contagem a saída Q fica inativa, e ET assume o tempo total transcorrido — neste caso, o tempo equivalente ao programado em PT. Nesta condição, se a entrada IN ficar inativa, ET é zerado.
Diagrama de tempo:
+--------+ +-+ +----------+ ++ ++
IN | | | | | | || ||
--+ +--------+ +--------+ +-----++-+++-----
t0 t1 t2 t3 t4 t5 t6 t7
+----+ +----+ +----+ +----+
Q | | | | | | | |
--+ +---+--------+ +-----+ +-----+-----+ +-----
t0 t0+PT t1 t2 t2+PT t4 t4+PT t5 t6 t6+PT
t0+PT t1 t2+PT t4+PT t5
PT +---+ + +-----+ +
: / | /| / | /|
ET : / | / | / | / |
: / | / | / | / |
: / | / | / | / |
0-+ +--------+ +-----+ +-----+ +------
t0 t1 t2 t4 t5 t6 t7
Detalhes:
Nos tempos t0, t2, t4 e t6 ocorre uma transição de subida da entrada
IN, iniciando a contagem.No tempo t3 ocorre uma transição de descida da entrada
IN, mas o bloco já está com a contagem ativa, não interrompendo a contagem corrente.Nos tempos t0+PT, t2+PT, t4+PT e t6+PT ocorre o término da contagem, tornando a saída
Qinativa.Nos tempos t1, t2+PT, t5 e t6+PT, já ocorreu o término da contagem e, como a entrada
INestá inativa,ETé zerado.
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
IN |
IN |
BOOL |
FALSE |
— |
Entrada de habilitação: a transição de subida dispara a temporização. |
PT |
IN |
TIME |
T#0ms |
— |
Tempo desejado para a temporização (duração do pulso). |
Q |
OUT |
BOOL |
FALSE |
— |
Saída do pulso; permanece ativa durante a temporização. |
ET |
OUT |
TIME |
T#0ms |
— |
Tempo transcorrido na temporização. |
Observações
A contagem, uma vez iniciada, não é reiniciada por novas transições de
INaté o término do pulso corrente.ETsó é zerado quandoINestá inativa após o término da contagem.
Ver também
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
inp_IN : BOOL; (* Entrada IN *)
inp_PT : TIME; (* Entrada PT *)
my_TP : TP; (* Instância do bloco TP *)
END_VAR
(* Exemplo de ativação do bloco TP dentro da POU *)
inp_IN := TRUE; (* habilita o temporizador *)
inp_PT := T#30s; (* define o tempo de contagem *)
my_TP(IN := inp_IN, PT := inp_PT); (* ativa a instância do bloco TP *)
IF (inp_IN = TRUE) AND (my_TP.Q = FALSE) THEN (* testa se o tempo expirou via saída Q *)
(* trata pulso TP encerrado *)
;
END_IF;