Camino:  Equipo (Dispositivos) > PLC300 > Ladder > Hardware >

READENC4

Lector de Vueltas de Encoder

Previous pageReturn to chapter overviewNext page

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

 

READENC4_block

 

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

 

READENC4_flowchart

 

Ejemplo en Ladder

 

READENC4_example01

 

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;