Início / Descargas / Omron / Autómatas / CP1 / CTBL tabla de comparación de valor de encoder en autómata CP1L

CTBL tabla de comparación de valor de encoder en autómata CP1L

  • Publicado: 18 Mayo 2014
  • Autómatas
  • Leído Visto: 7450 veces

En este documento vamos a ver como trabajar con la instrucción CTBL(882) para realizar la la comparación del Contador de Alta Velocidad (CAV) de un autómata CP1L al que le hemos conectado un encoder

El conexionado y configuración del encoder se explicó en un documento anterior.

CTBL (881)

CTBL(882) se utiliza para registrar una tabla de comparación y realizar comparaciones (independientemente del ciclo de SCAN) del valor actual del CAV. En función de estas comparaciones se ejecutarán tareas de interrupción que saltarán independientemente del ciclo de SCAN a ejecutar esta interrupción inmediatamente.

P: El valor del CAV viene especificado por el parámetro (P) donde se le dice el puerto donde esta conectado el encoder, esto dependerá del modelo de PLC

C: Aquí se le indica como queremos que trabaje la tabla de comparación

T: La estructura de la tabla de comparación dependerá del tipo de comparación que se efectúe. 

- Tabla comparación de valores objetivos

- Tabla de comparación de rango de  valores con 8 rangos

Se puede comparar con valores objetivos o con rangos.

Para asignar los valores de comparación de la tabla se utiliza doble canal.

Tabla comparación de valores objetivos

La comparación del CAV se realiza con un único valor que se indicará en la tabla. La tarea de interrupción correspondiente se activará y ejecutará una sola vez cuando el valor actual coincida con un valor objetivo.

Se le indicará el número de comparaciones que queremos realizar (TB) y podemos hacer desde 1 a 48 comparaciones

IMPORTANTE:  todos los valores de la tablan han de estar en Hexadecimal

IMPORTANTE:  al indicarle el número de tarea de interrupción podemos decirle que la realice cuando el valor del CAV incrementa o decrementa

 

Tabla de comparación de rango de  valores con 8 rangos: 

La comparación del CAV se realiza con un rango de valores  límite inferior y un límite superior) que se indicará en la tabla. La tarea de interrupción correspondiente se activará y ejecutará una sola vez cuando el valor actual alcance el rango configurado. 

IMPORTANTE:  la tarea de interrupción no se va a ejecutar mientras se este dentro del rango, solo cuando se entra en el rango

Siempre va a trabajar con 8 rangos de comparacion.

IMPORTANTE:  todos los valores de la tablan han de estar en Hexadecimal

IMPORTANTE:  si no se van a utilizar todos los rangos  hay que poner #FFFF en el número de interrupción de los que no utilicemos

 

En el ejemplo vamos a trabajar con una tabla comparación de valores objetivos.

Le vamos a decir que el encoder vaya incrementando el valor de CAV y cuando llegue a un determinado valor (por ejemplo 350 pulsos) active a ON un salida, luego esa salida la podremos a OFF mediante un pulsador.

Creamos la siguiente estructura de programa:

- Un programa principal donde tendremos la instrucción CTBL y la puesta a OFF de la salida

- Una tarea de Interrupción (Número 10) que se ejecutará una al alcanzar el valor de comparación de la tabla y pondrá a ON la salida

 

 Para crear la tarea de interrupción ha que crear un nuevo programa e indicarle que será una tarea de interrupción, en nuestro caso la número 10

 

IMPORTANTE: En el programa de la tarea de interrupción hay que poner siempre al final de programa la instrucción END

La instrucción CTBL la configuramos de la siguiente manera

P = #0000 - Utilizamos el CAV0 del CP1L pero dependerá del modelo de autómata y del puerto al que se conecte el encoder 

C = #0000 - Queremos registrar la tabla con valores objeto e iniciar la comparación. Se podría solamente carta la tabla (#0001) y luego iniciar la comparación con la instrucción INI(880) cuando se considere oportuno

T = D100 Tabla de comparación (Todos los valores han de ir en Hexadecimal)

D100 = 0001  -  Número de comparaciones a realizar , en nuestro caso solo una 

D101 = 015E - Primer canal del valor objeto. lo ponemos 015E que es 350 en Hexadecimal

D102 = 0000 - Segundo canal del valor objeto. Lo dejamos a 0000

D103 = 0000A - le indicamos la tarea de interrupción es la 10

Si ejecutamos el programa y activamos el bit W0.04 que activa la tabla de comparación, al llegar al valor 350 se ejecutará la tarea de interrupcion 10 poniendo la salida 10.00

Si pulsamos activamos el bit w0.05 pone a OFF el bit 10.00