CTD
Bloco contador descrescente. A cada transição de subida da entrada CD, o valor de CV irá decrementar até atingir o valor zero. A saída Q ficara ativa quando CV for igual ou menor que zero. A entrada LD quando ativada faz CV igual a PV.
Bloco
CTD
+-------------+
BOOL ---|CD Q|--- BOOL
| |
BOOL ---|LD CV|--- INT
| |
INT ---|PV |
+-------------+
Parâmetros
Nome |
Classe |
Tipo |
Descrição |
CD |
Entrada |
BOOL |
Entrada de contagem |
LD |
Entrada |
BOOL |
Reset |
PV |
Entrada |
INT |
Valor de preset |
Q |
Saída |
BOOL |
Saida de Preset atingido |
CV |
Saída |
INT |
Valor da contagem |
Exemplo
Declaração de Variáveis
Nome |
Tipo |
Descrição |
|---|---|---|
pulse |
BOOL |
evento de contagem |
count |
INT |
Contador |
reset |
BOOL |
reset do contador |
my_counter |
CTD |
Instância do bloco CTD |
Código ST
(* Exemplo de ativação do bloco CTD dentro da POU *)
(* ... *)
my_counter(CD:= pulse, LD:= reset, PV:= 100); (* Ativação da instancia do bloco *)
if (my_counter.Q) then (* testa se atingiu o valor da contagem *)
(* trata contagem atingida *)
(* ... *)
end_if;
(* ... *)