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

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
CU |
BOOL |
Identificador de pulsos para incrementador |
|
CD |
BOOL |
Identificador de pulsos para decrementador |
|
R |
BOOL |
Carrega o valor zero em CV |
|
LD |
BOOL |
Carrega o valor de PV em CV |
|
PV |
WORD UINT |
Valor de referência |
|
VAR_OUTPUT |
ENO |
BOOL |
Habilitação de saída |
QU |
BOOL |
Sinalizador de contador estourado |
|
QD |
BOOL |
Sinalizador de contador zerado |
|
CV |
WORD UINT |
Valor de contagem atual |
|
VAR |
CTUD_INST_0 |
CTUD |
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 tem um valor TRUE em EN, atua como um bloco CTD e um bloco CTU ao mesmo tempo, atuando sobre o mesmo contador CV. Ou seja: incrementa CV até chegar a PV para bordas de subida em CU e decrementa CV até chegar a zero para bordas de subida em CD. Uma transição positiva em R carrega zero em CV, enquanto uma borda de subida em LD carrega o valor de PV em CV. Caso CV tenha valor zero, QD recebe TRUE, e caso CV tenha valor igual a PV, QU recebe TRUE.
O valor de ENO repassa para o próximo bloco Ladder o valor de EN.
Fluxograma do Bloco

Diagrama de Funcionamento

Exemplo em Ladder

O exemplo acima exibe o bloco desabilitado, com suas variáveis internas todas zeradas. Ainda que os controles externos estejam ativados, esses valores não são repassados para a instância do bloco.

Ao ser ativado, o bloco identifica o valor de PRESET, carregando-o em PV, e identifica que a saída está com o valor zero, habilitando a saída QD. Finalizada a execução, a saída ENO é ativada.

A cada borda de subida identificada em CU, o valor de CV é incrementado até chegar ao valor de PV, quando a saída QU é habilitada. Finalizada a execução, a saída ENO é ativada.

A cada borda de subida identificada em CD, o valor de CV é decrementado. Sendo CV de um valor intermediário a zero e PV, ambas as saídas QD e QU são desativadas. Finalizada a execução, a saída ENO é ativada.

Um valor TRUE em R reseta CV, enquanto um valor TRUE em LD carrega o valor de PV para CV. Como podemos notar, R prevalece sobre LD, restando CV e habilitando a saída QD. Finalizada a execução, a saída ENO é ativada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR PRESET : UINT := 30; COUNT : UINT; CTUD_INST_0 : FB_CTUD; END_VAR
CTUD_INST_0.EN := DI1; CTUD_INST_0( CU:=DI2, CD:=DI3, R:=DI6, LD:=DI7, PV:=PRESET); COUNT := CTUD_INST_0.CV; DO1 := CTUD_INST_0.ENO;
|
|---|