Caminho:  Equipamentos (Dispositivos) > CFW300-2 > Ladder > Counter >

CTD

Contador de Contagem Decrescente

Previous pageReturn to chapter overviewNext page

Bloco de contagem regressiva de pulsos de entrada.

 

Representação Ladder

 

CTD_block

 

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

 

wpshelp_common_fig_note

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

 

CTD_flowchart

 

Diagrama de Funcionamento

 hardwarecounterctd_fig2

 

Exemplo em Ladder

 

CTD_example01

 

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

 

CTD_example02

 

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

 

CTD_example03

 

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.

 

CTD_example04

 

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;