Bloque de conteo progresivo y regresivo de pulsos de entrada.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
CU |
BOOL |
Identificador de pulsos para incrementador |
|
CD |
BOOL |
Identificador de pulsos para disminuidor |
|
R |
BOOL |
Carga el valor cero en CV |
|
LD |
BOOL |
Carga el valor de PV en CV |
|
PV |
WORD UINT |
Valor de referencia |
|
VAR_OUTPUT |
ENO |
BOOL |
Habilitación de salida |
QU |
BOOL |
El señalizador del contador alcanzó el valor máximo de conteo (PV) |
|
QD |
BOOL |
Señalizador del contador reseteado |
|
CV |
WORD UINT |
Valor de conteo actual |
|
VAR |
CTUD_INST_0 |
CTUD |
Instancia de acceso a la estructura del bloque |
|
¡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 tiene un valor TRUE en EN, actúa como un bloque CTD y un bloque CTU al mismo tiempo, actuando sobre el mismo contador CV. O sea: incrementa CV hasta llegar a PV para flancos de subida en CU y disminuye CV hasta llegar a cero para flancos de subida en CD. Una transición positiva en R carga cero en CV, mientras un flanco de subida en LD carga el valor de PV en CV. En caso de que CV tenga valor cero, QD recibe TRUE, y en caso de que CV tenga valor igual a PV, QU recibe TRUE.
El valor de ENO pasa al próximo bloque Ladder el valor de EN.
Diagrama de Flujo del Bloque

Diagrama de Funcionamiento

Ejemplo en Ladder

El ejemplo de arriba exhibe el bloque deshabilitado, con todas sus variables internas reseteadas. Aunque los controles externos estén activados, tales valores no serán pasados a la instancia del bloque.

Al ser activado, el bloque identifica el valor de PRESET, cargándolo en PV, e identifica que la salida está con el valor cero, habilitando la salida QD. Finalizada la ejecución, la salida ENO será activada.

A cada flanco de subida identificado en CU, el valor de CV es incrementado hasta llegar al valor de PV, cuando la salida QU es habilitada. Finalizada la ejecución, la salida ENO será activada.

A cada flanco de subida identificado en CD, el valor de CV es disminuido. Siendo CV de un valor intermediario a cero y a PV, ambas salidas, QD y QU, son desactivadas. Finalizada la ejecución, la salida ENO será activada.

Un valor TRUE en R resetea CV, mientras que un valor TRUE en LD carga el valor de PV para CV. Como podemos notar, R prevalece sobre LD, restando CV y habilitando la salida QD. Finalizada la ejecución, la salida ENO será activada.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje 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;
|
|---|