Bloco de contagem regressiva de pulsos de entrada.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
CD |
BOOL |
Identificador de pulsos |
LD |
BOOL |
Carrega o valor de PV em CV |
|
PV |
WORD UINT |
Valor de configuração inicial |
|
VAR_OUTPUT |
Q |
BOOL |
Sinalizador de contador zerado |
CV |
WORD UINT |
Valor de contagem atual |
|
VAR |
CTD_INST_0 |
CTD |
Instância de acesso à estrutura do bloco |
|
NOTA!
Alguns dispositivos permitem configurar parâmetros do usuário, mas estes precisam ser configurados para utilização nos campos PV e CV, selecionando um tipo de dado compatível (WORD ou UINT). Para mais informações consultar o tópico correspondente. |
Funcionamento
Este bloco, quando identifica uma borda de subida em CD, decrementa a variável CV até que a mesma seja zero. Enquanto CV for igual a zero, a saída Q permanece em nível TRUE. Ao detectar nível alto em LD, o bloco carrega o valor de PV em CV.
Fluxograma do Bloco

Diagrama de Funcionamento

Exemplo em Ladder

O exemplo acima exibe as condições iniciais da rotina. Como CV possue o valor zero, a saída Q é habilitada.

O valor da variável PV foi alterado para 20, porém ainda não foi carregado.

Ao identificar o nível TRUE em LD, o bloco carrega o valor de PV para CV. Como este valor é maior que zero, a saída Q é desabilitada.

A cada borda de subida identificada em CD, o valor de COUNT é decrementado até chegar a zero, quando a saída Q é habilitada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR PRESET : UINT := 20; COUNT : UINT; CTD_INST_0 : FB_CTD; END_VAR
CTD_INST_0.CD := DI1; CTD_INST_0(LD:=DI2, PV:=PRESET); COUNT := CTD_INST_0.CV; DO1 := CTD_INST_0.Q;
|
|---|