Camino:  Equipo (Dispositivos) > LDW900 > Ladder > Counter >

CTD

Contador de Decremento

Previous pageReturn to chapter overviewNext page

Bloque de conteo regresivo de pulsos de entrada.

 

Representación Ladder

 

CTD_block

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

CD

BOOL

Identificador de pulsos

LD

BOOL

Carga el valor de PV en CV

PV

WORD UINT

Valor de configuración inicial

VAR_OUTPUT

Q

BOOL

Señalizador de contador reseteado

CV

WORD UINT

Valor de conteo actual

VAR

CTD_INST_0

CTD

Instancia de acceso a la estructura del bloque

 

 

wpshelp_common_fig_note

¡NOTA!

 

Algunos dispositivos permiten configurar parámetros de usuário, mas estos deben configurarse para su uso en los campos PV y CV, para eso, seleccione un tipo de datos compatible (WORD o UINT). Para más información ver el tema correspondiente.

 

Operación

 

Este bloque, cuando identifica un flanco de subida en CD, disminuye la variable CV hasta que llegue a cero. Mientras CV sea igual a cero, la salida Q permanecerá en nivel TRUE. Al detectar nivel alto en LD, el bloque carga el valor de PV en CV.

 

Diagrama de Flujo del Bloque

 

CTD_flowchart

 

Diagrama de Funcionamiento

 hardwarecounterctd_fig2

 

 

Ejemplo en Ladder

 

CTD_example01

 

El ejemplo de arriba exhibe las condiciones iniciales de la rutina. Como CV posee el valor cero, la salida Q es habilitada.

 

CTD_example02

 

El valor de la variable PV fue alterado para 20, no obstante, aún no fue cargado.

 

CTD_example03

 

Al identificar el nivel TRUE en LD, el bloque carga el valor de PV para CV. Como este valor es mayor que cero, la salida Q es deshabilitada.

 

CTD_example04

 

A cada flanco de subida identificado en CD, el valor de COUNT es disminuido hasta llegar a cero, cuando la salida Q es habilitada.

 

Ejemplo en ST

 

 El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje 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;