Bloque que lee el valor de pulsos de un encoder de acuerdo con un tipo de lectura escogido, exhibiendo al usuario su posición actual en vueltas, así como la velocidad en RPM.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
SOURCE# |
BYTE |
Fuente de conteo |
|
PPR |
WORD |
Número de pulsos correspondiente a una vuelta |
|
FILTER |
REAL |
Constante de tiempo del filtro de entrada |
|
VAR_OUTPUT |
ENO |
BOOL |
Habilitación de salida |
SPEED |
REAL |
Velocidad de rotación en RPM |
|
POSITION |
REAL |
Posición actual del encoder en vueltas |
|
VAR |
READENC4_INST_0 |
READENC4 |
Instancia de acceso a la estructura del bloque |
Operación
Este bloque, cuando tiene un valor TRUE en EN, obtiene el número de pulsos contados en el encoder desde la energización del PLC300, conforme es seleccionado en SOURCE#, y calcula el número de vueltas absolutas a través del argumento PPR, insertando el resultado en POSITION. El valor de SPEED es calculado por medio de una base interna de tiempo del bloque. Además de eso, el bloque permite el filtrado de la señal con un filtro de salida determinado por FILTER.
Cuando EN tiene valor FALSE, POSITION y SPEED permanecen inalterados.
El valor de ENO pasa al próximo bloque Ladder el valor de EN, luego de finalizada la operación.
Compatibilidad
Equipo |
Versión |
PLC300 |
2.10 o superior |
Diagrama de Flujo del Bloque

Ejemplo en Ladder

El ejemplo de arriba, al identificar un flanco de subida en DI1, obtiene el número de pulsos en el encoder encendido en conformación de cuadratura en las entradas rápidas desde la energización del equipo. PULSES_IN_TURN es el valor de pulsos para completar una vuelta. TURNS almacena el valor de los pulsos interpretado como vueltas, de acuerdo con PULSES_IN_TURN, y SPEED almacena la velocidad actual del encoder. El bloque finaliza exitosamente y la salida ENO es activada.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR PULSES_IN_TURN : WORD; TAU_FILTER : REAL; SPEED : REAL; TURNS : REAL; READENC4_INST_0 : FB_READENC4; END_VAR
READENC4_INST_0.EN := DI1; READENC4_INST_0(Source:=1, PPR:=PULSES_IN_TURN, FILTER:=TAU_FILTER); SPEED := READENC4_INST_0.SPEED; TURNS := READENC4_INST_0.POSITION; DO1 := READENC4_INST_0.ENO;
|
|---|