Bloque que ejecuta el conteo de los pulsos de encoder.
Representación Ladder

Estructura del Bloque
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
COUNT_SRC |
BYTE |
Determina cuál encoder será utilizado en la conteo de los pulsos |
|
PRESET |
BOOL |
Atribuye el valor de PV a CV |
|
RESET# |
BYTE |
Escoge el control del reset de CV |
|
RESET_VAR |
BOOL |
En caso de que la elección de RESET# sea por variable, realizará el reset de CV cuando sea en valor TRUE |
|
SAVE# |
BYTE |
Escoge el control de guardado del contador |
|
SAVE_VAR |
BOOL |
En caso de que la elección de SAVE# sea por variable, realizará el guardado de CV en SV cuando sea en valor TRUE |
|
REF_CNT |
LREAL |
Valor de pulso de referencia para habilitación de salida |
|
PV |
LREAL |
Valor de configuración inicial |
|
RESTART |
LREAL |
Valor de referencia para reset automático de CV |
|
VAR_OUTPUT |
Q |
BOOL |
Habilitación de la salida |
RESET_OCC |
BOOL |
Señalizador de reset |
|
SAVE_OCC |
BOOL |
Señalizador de guardado |
|
CV |
LREAL |
Valor del contador de pulsos |
|
SV |
LREAL |
Valor del contador guardado por última vez |
|
VAR |
READENC5_INST_0 |
READENC5 |
Instancia de acceso a la estructura del bloque |
Operación
Este bloque, cuando identifica un flanco de subida en EN, resetea sus salidas y realiza el conteo de los pulsos del encoder especificado en COUNT_SRC mientras está habilitado. Ese valor de conteo es almacenado en CV.
El control especificado en RESET# resetea el contador cuando es activado, mientras que el control especificado en SAVE#, cuanto es activado, almacena el valor de CV en SV. Cada uno de esos controles ajusta su respectivo señalizador (RESET_OCC o SAVE_OCC) por un ciclo de scan.
El bloque también permite configurar un reset automático, cuando CV alcanza el valor de RESTART.
El valor de Q es activado por un ciclo de scan cuando CV alcanza el valor de REF_CNT.
Fluxograma do Bloco

Ejemplo en Ladder

El ejemplo de arriba realiza la lectura del codificador 1, almacenar el valor en CONTADOR, con referencia de conteo REF y controlos de RESET e SAVE realizados por las variables LOAD_ZERO y SAVE_COUNT, respectivamente. Cuando COUNTER es igual a REF, la salida Q se activa por uno ciclo de scan.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR LOAD_PRESET, LOAD_ZERO, SAVE_COUNT : BOOL; REF1, PRESET_VALUE, RESTART : LREAL; FLAG_RESET, FLAG_SAVE : BOOL; COUNTER, COUNTER_SAVED : LREAL; FB_READENC5_INST_0 : FB_READENC5; END_VAR
FB_READENC5_INST_0( EN:=DI1, COUNT_SRC:=1, PRESET:=LOAD_PRESET, RESET:=0, RESET_VAR:=LOAD_ZERO, SAVE:=0, SAVE_VAR:=SAVE_COUNT, REF_CNT:=REF1, PV:=PRESET_VALUE, RESTART:=RESTART, RESET_OCC=>FLAG_RESET, SAVE_OCC=>FLAG_SAVE, CV=>COUNTER, SV=>COUNTER_SAVED, Q=>DO1);
|
|---|