|
Entrada encoder |
Índice |
La variable Encoder_cnt (ConEnc en anteriores) (32 bit) en el área sm es la que lleva la cuenta/posición. Para ponerla a cero hay que escribir en ella (no hay eje Z). El eje Z se implementa en la entrada E0 para las versiones CP121_302 con BIOS 2.53, CP122_305c2 con BIOS 2.01 y CP124 BIOS 1.00 (solo lectura). A partir de CP121 2.56, CP122 2.04 y CP124 1.03 el eje Z se habilita con ConEncUseZ (= 1) (sm0.7) permitiendo poner en cero la cuenta cada vuelta de encoder.
A partir de los modelos con BIOS CP121 2.60b, CP122 2.10c, CP123 2.20b y 3.00, CP124 1.06 la entrada de encoder es distinta:
CP121, CP122, CP123, C124
Usa entradas digitales con función alternativa para entrada de encoder. Por esto el encoder debe alimentarse por arriba de los 12v (las entradas son para el rango de 12v a 24v).
Variables asociadas:
La cuenta/posición (Encoder_cnt) es lineal, es decir va desde -2147483648 a 2147483647. Puede escribirse Encoder_cnt para asignar un estado inicial, o activar el eje Z para volver a cero con cada vuelta.
El modelo CP220 tiene una entrada dedicada (no es función alternativa de entradas digitales) para encoder, que simultáneamente mide frecuencia. En teoría admite hasta 1MHz.
También provee alimentación para el encoder de 12v.
Variables de lectura:
Variables de configuración (las digitles se activan con un 1):
QEI_Pulses (32 bit): pulsos por vuelta del encoder/máximo contaje
QEI_Pos_Ini (32 bit): posición (o valor) inicial encoder
QEI_CAPTURE_A (digital): solo cuenta pulsos del canal A, B es dirección
QEI_NO_RESET (digital): entrada Z deshabilitada; cuenta hasta QEI_Pulses
QEI_Pos_Set (digital): hace QEI_Pos = QEI_Pos_Ini
QEI_SWAP (digital): intercambia canales A y B
QEI_INV_Z (digital): invierte polaridad entrada Z
QEI_CONFIG (digital): Inicia configuración según parámetros QEI_
Para que la configuración (en cualquier
momento)
sea asumida
es necesario poner en 1 a QEI_CONFIG,
pero no se llegará a leer, pues inmediatamente vuelve a 0.
El procdimiento es asignar el valor a una o mas variables (QEI_Pulses, QEI_Pos_Ini, QEI_CAPTURE_A, QEI_NO_RESET, QEI_Pos_Set, QEI_SWAP, QEI_INV_Z), según sea necesario. Para que estas asignaciones sean asumidas se debe escribir un 1 en QEI_CONFIG.
El valor normal para QEI_Pulses es 2147483647 (2³¹), lo que permite un amplio rango de contaje de ±2147483647. El comportamiento de contaje en avance y retroceso se ve en los siguientes gráficos:

Cuenta ascendente. Cuando la contidad de pulsos en la entrada (Pulses) supera a QEI_Pulses, vuelve a empezar desde cero. El valor final (Cnt) es el remanente multiplicado por 4 (todo el contaje está magnificacdo por cuatro).
Ejemplo. Supogamos que QEI_Pulses vale 1900 y se aplican 2000 pulsos. El valor final (Cnt) será 400.

Cuenta descendente. Cuando la contidad de pulsos en la entrada (Pulses) supera a QEI_Pulses, vuelve a empezar desde QEI_Pulses x 4. El valor final (Cnt) es el remanente multiplicado por 4, pero contando desde QEI_Pulses x 4.
Ejemplo. Supogamos que QEI_Pulses vale 1900 y se aplican 2000 pulsos. El valor final (Cnt) será 7200.
(1)A partir de CP121 2.63, CP122 2.12, CP123 2.22, CP124 1.10 no se usa EncoderOn. La función de encoder está independizada (coexiste con las entradas digitales) y se le pueden asociar interrupciones.
(2)Esta función ha sido reemplazada.
(3)Puede variar de un equipo a otro. Consultar especificaciones del que corresponda.
(4)Disponible a partir del CP123 3.00. Consultar en cada modelo con revisión posterior a éste modelo.