Está en la página 1de 59

CURSO:

15FP35CF005
Programación de
autómatas OMRON CJ/CP1

Roberto Álvarez Sindín


Revisión 1.1
Junio 2016
Índice
1. Introducción a los autómatas.................................................................................................................. 1
2. Estructura de un PLC ............................................................................................................................... 2
2.1 Estructura externa ........................................................................................................................... 2
2.2 Estructura interna:........................................................................................................................... 3
3. Dispositivos de E/S del autómata............................................................................................................ 6
4. Conexión y cableado del autómata ......................................................................................................... 7
5. Áreas de memoria ................................................................................................................................. 10
Área de entradas y salidas (CIO) y área de trabajo (W) ........................................................................ 10
Área de relés especiales (SR)................................................................................................................. 12
Área auxiliar (AR)................................................................................................................................... 12
Área de enlace (LR)................................................................................................................................ 12
Área retención (HR)............................................................................................................................... 13
Área de temporizadores y contadores (TC) .......................................................................................... 13
Área de memoria de datos (DM en la serie C y D en las series CP/CJ/CS) ............................................ 13
Direccionamiento de los distintos modelos de PLC .............................................................................. 14
6. Modos e indicadores de funcionamiento ............................................................................................. 20
7. Comunicación con el PLC ...................................................................................................................... 22
8. Resumen de programación básica ........................................................................................................ 23
Instrucciones lógicas básicas (LD, OUT, AND, OR) ................................................................................ 23
Enclavamientos (KEEP, SET, RSET)......................................................................................................... 25
Temporizadores y contadores (TIM, TIMH, TTIM, CNT, CNTR) ............................................................. 27
Flancos (DIFU, DIFD) .............................................................................................................................. 29
Enclavamientos (IL / ILC) ....................................................................................................................... 30
Comparaciones (CMP) ........................................................................................................................... 31
Movimiento de datos (MOV / MOVL) ................................................................................................... 34
Incrementar y decrementar en BCD (INC / DEC) .................................................................................. 35
Desplazamiento de bits (SFT / SFTR) ..................................................................................................... 40
Saltos. JMP(04) y JME(05) ..................................................................................................................... 44
Errores: FAL(06) / FALS(07) / FPD (269) ................................................................................................ 46
Control de programas (Tareas) (TKON/TKOF) ....................................................................................... 49
9. Uso de las instrucciones de expansión.................................................................................................. 52
Anexos: ....................................................................................................................................................... 54
Creación de la tabla de símbolos mediante editor externo .................................................................. 54
Inserción de etiquetas de símbolos en la utilidad SwitchBox ............................................................... 55

Documentación de referencia:
W394-ES2-07 Manual de programación CS/CJ
W474-E1-09 Manual de referencia de instrucciones
W393-E1-14 Manual de operación de la serie CS/CJ
W516-E1-01 Manual de operación del CP1L-EL y CP1L-EM
W451-E1-03 Manual de programación CP1L / CP1H
Disponibles en la web del fabricante del producto:
http://industrial.omron.es/

Contenido adicional:
Lista de reproducción en YouTube:
https://www.youtube.com/playlist?list=PL6w-_JQPzf2G5cTGHG3IOS8rKLKtyhpGY
Blog: http://automatizacioncavanilles.blogspot.com.es/

Este trabajo se distribuye bajo licencia Creative Commons BY-NC-SA


http://creativecommons.org/licenses/by-nc-sa/4.0/
Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

1. Introducción a los autómatas

Debido al tremendo auge de la industria, cada vez las máquinas habilitadas para procesos productivos
eran más grandes y complejas, necesitando armarios eléctricos donde poder ubicar el aparellaje cada
vez más voluminosos y complicados, aumentando las dificultades de reparación de las mismas.

Con la aparición de los semiconductores y los circuitos integrados, paulatinamente se fueron


sustituyendo los relés auxiliares por puertas lógicas, que redujeron considerablemente el espacio, no
contribuyendo, sin embargo, a solventar los problemas de averías, recambios, etc. que seguían
produciéndose.

En 1968, las factorías de automóviles de Ford y General Motors, construyeron conjuntamente el primer
‘Transfer’ controlado electrónicamente. Este equipo electrónico tenía ventaja sobre los automatismos
convencionales basado en relés, temporizadores, etc. de que era fácilmente programable, sin necesidad
de recurrir a ordenadores externos. Se puede decir que éste fue el primer Autómata Programable o PLC
(Program Logic Control) y fue diseñado por Allen Bradley.

No existe un lenguaje común a todos los autómatas, cada marca utiliza el suyo propio. La norma
internacional de estandarización IEC normaliza de los lenguajes de programación entre las diferentes
marcas, de forma que se puedan adaptar entre las diferentes marcas. Lo que sí es igual es el concepto
de trabajo, como todos se basan en esquemas eléctricos, todos los PLC´s son básicamente iguales pero
con diferentes juegos de instrucciones, de esta manera se puede decir que una vez conocida una marca
conoces el resto.

VENTAJAS E INCONVENIENTES

La llegada de estos equipos conlleva una serie de ventajas e inconvenientes:

Ventajas:

 Menor tiempo empleado en la elaboración de proyectos ya que no es necesario dibujar


esquemas, no es necesario simplificar (tiene mucha memoria) y disminuye considerablemente
los materiales.
 Posibilidad de introducir modificaciones sin cambiar el cableado ni aparellaje.
 Menor espacio ocupado por el cuadro eléctrico.
 Menor costo en el montaje.
 Mantenimiento más barato.
 Aumento de fiabilidad del sistema, ya que elimina los contactos eléctricos físicos y móviles.
 Permite la autodetección de averías.
 Control de varias máquinas con un único autómata.
 Versatilidad, en el caso de dejar de trabajar donde está instalado, puede ser reprogramado y
puesto a trabajar en otro lugar.

Inconvenientes:

 Necesidad de un programador.
 Coste más elevado.
 Necesidad de personal especializado.

Programación de autómatas OMRON CJ/CP1 1


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

2. Estructura de un PLC

La mejor opción para el control de procesos industriales es el empleo de autómatas programables. Estos
aparatos se basan en el empleo de un microcontrolador para el manejo de las entradas y salidas. La
memoria del aparato contendrá tanto el programa de usuario que le introduzcamos como el sistema
operativo que permite ejecutar secuencialmente las instrucciones del programa. Opcionalmente, en la
mayoría de los autómatas, también se incluyen una serie de funciones pre-implementadas de uso
general (como reguladores PID).

La mayor ventaja es que si hay que variar el proceso basta con cambiar el programa introducido en el
autómata (en la mayoría de los casos). Otra ventaja es que el autómata también nos permite saber el
estado del proceso, incluyendo la adquisición de datos para un posterior estudio.

2.1 Estructura externa

Todos los autómatas programables, poseen una de las siguientes estructuras:

 Compacta: en un solo bloque están todos los elementos.


 Modular:
A) Estructura americana: separa sólo las E/S del resto del autómata.
B) Estructura europea: cada módulo es una función (fuente de alimentación, CPU, E/S, etc.).

Exteriormente nos encontraremos con cajas que contienen una de estas estructuras, las cuales poseen
indicadores y conectores en función del modelo y fabricante.

Para el caso de una estructura modular se dispone de la posibilidad de fijar los distintos módulos en
raíles normalizados, para que el conjunto sea compacto y resistente.

Los micro-autómatas suelen venir sin caja, en formato kit, ya que su empleo no es determinado y se
suele incluir dentro de un conjunto más grande de control o dentro de la misma maquinaria que se debe
controlar.

Programación de autómatas OMRON CJ/CP1 2


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

2.2 Estructura interna:


Los elementos esenciales, que todo autómata programable posee como mínimo, son:

 Unidad central de proceso (CPU): se encarga de procesar el programa de usuario que le


introduciremos. Para ello disponemos de diversas zonas de memoria, registros, e instrucciones
de programa.

 Sección de entradas: se trata de líneas de entrada, las cuales pueden ser de tipo digital o
analógico. En ambos casos tenemos unos rangos de tensión característicos, los cuales se
encuentran en las hojas de características del fabricante. A estas líneas conectaremos los
sensores.

 Sección de salidas: son una serie de líneas de salida, que también pueden ser de carácter digital
o analógico. A estas líneas conectaremos los actuadores.

ENTRADAS CPU SALIDAS

Tanto las entradas como las salidas están aisladas de la CPU según el tipo de autómata que utilicemos.
Normalmente se suelen emplear optoacopladores en las entradas y relés/optoacopladores en las
salidas. Aparte de estos elementos podemos disponer de los siguientes:

 Unidad de alimentación (algunas CPU la llevan incluida).

 Unidad o consola de programación: que nos permitirá introducir, modificar y supervisar el


programa de usuario.

 Dispositivos periféricos: como nuevas unidades de E/S, más memoria, unidades de


comunicación en red, etc.

 Interfaces: facilitan la comunicación del autómata mediante enlace serie con otros dispositivos
(como un PC).

Veamos a continuación la estructura interna más profundamente:

En los siguientes apartados comentaremos la estructura de cada elemento.

Programación de autómatas OMRON CJ/CP1 3


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

MEMORIA

Dentro de la CPU vamos a disponer de un área de memoria, la cual emplearemos para diversas
funciones:

 Memoria del programa de usuario: aquí introduciremos el programa que el autómata va a


ejecutar cíclicamente.
 Memoria de la tabla de datos: se suele subdividir en zonas según el tipo de datos (como marcas
de memoria, temporizadores, contadores, etc.).
 Memoria del sistema: aquí se encuentra el programa en código máquina que monitoriza el
sistema (programa del sistema o firmware). Este programa es ejecutado directamente por el
microprocesador/microcontrolador que posea el autómata.
 Memoria de almacenamiento: se trata de memoria externa que empleamos para almacenar el
programa de usuario, y en ciertos casos parte de la memoria de la tabla de datos. Suele ser de
uno de los siguientes tipos: EPROM, EEPROM, o FLASH.

Cada autómata divide su memoria de esta forma genérica, haciendo subdivisiones específicas según el
modelo y fabricante.

Para dar respuesta a las distintas demandas, la CPU utiliza distintos tipos de memoria, según sea su
capacidad de almacenamiento, su velocidad de lectura escritura, su volatilidad, etc.

MEMORIA VOLÁTIL NO VOLÁTIL


Lectura/Escritura RAM RAM+Bateria EEPROM
FLASH
Sólo lectura ROM EPROM RAM+EEPROM
Aplicaciones. Datos internos. Memoria del Programa de Programa de usuario. Programa de
Memoria imagen sistema usuario. Datos internos. usuario.
de E/S. (Firmware). Parámetros. Parámetros.

CPU

La CPU es el corazón del autómata programable (microprocesador). Es la encargada de ejecutar el


programa de usuario mediante el programa del sistema (es decir, el programa de usuario es
interpretado por el programa del sistema). Sus funciones son:

 Vigilar que el tiempo de ejecución del programa de usuario no excede un determinado tiempo
máximo (tiempo de ciclo máximo). A esta función se le suele denominar Watchdog (perro
guardián). Si se sobrepasó el tiempo máximo de ciclo, se activara la señal de error
correspondiente.
 Ejecutar el programa de usuario.
 Crear una imagen de las entradas, ya que el programa de usuario no debe acceder
directamente a dichas entradas.
 Renovar el estado de las salidas en función de la imagen de las mismas obtenida al final del
ciclo de ejecución del programa de usuario.
 Comprobación del sistema.

Programación de autómatas OMRON CJ/CP1 4


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Para ello el autómata va a poseer un ciclo de trabajo (SCAN), que ejecutará de forma continua:

IMAGEN DE LAS
ENTRADAS ENTRADAS

EJECUCIÓN DEL
PROGRAMA DE
USUARIO

IMAGEN DE LAS
SALIDAS
SALIDAS

WATCHDOG

El Tiempo de Respuesta, es el tiempo necesario para llevar a cabo las distintas operaciones de control.
En particular, el tiempo de respuesta de un sistema (activación de una señal de salida en relación a una
entrada) viene determinado principalmente por:

UNIDADES DE E/S

Las E/S son leídas y escritas dependiendo del modelo y del fabricante, es decir pueden estar incluidas
sus imágenes dentro del área de memoria o ser manejadas a través de instrucciones específicas de E/S.
las veremos más detenidamente en el punto siguiente.

INTERFACES

Todo autómata, salvo casos excepcionales, posee la virtud de poder comunicarse con otros dispositivos
(como un PC). Lo normal es que posea una E/S serie del tipo RS-232 / RS-422, USB ó RJ45. A través de
esta línea se pueden manejar todas las características internas del autómata, incluido la programación
del mismo, y suele emplearse para monitorización del proceso en otro lugar separado.

Programación de autómatas OMRON CJ/CP1 5


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

3. Dispositivos de E/S del autómata

ENTRADAS

La unidad de entradas es el medio por el que el autómata recibe la


información del entorno. Para activar una entrada deberemos enviar un
impulso o bien mantener un valor de tensión en un rango determinado
entre el borne común y la entrada.

Distinguimos dos tipos de entradas al autómata:

 Digitales: La entrada que se introduce sólo tiene 2 valores posibles, ACTIVADO-


DESACTIVADO (0 ó 1). Utilizaremos entradas de este tipo para conectar pulsadores,
selectores, finales de carrera, detectores fotoeléctricos, ...

 Analógicas: En este caso la entrada recibe un valor continuo de tensión o intensidad,


dentro del rango que admite la entrada (normalmente de 4-20 mA o de 0-10 V).
Conectaremos a estas entradas sensores analógicos (nos miden valores continuos), como
las sondas de presión, temperatura, caudalímetros,....

SALIDAS

Son las encargadas de transmitir las órdenes dadas por la CPU del autómata en función de la
programación al sistema automatizado. Nuevamente distinguimos dos tipos de salidas:

 Digitales: Sólo admiten 2 estados posibles, ACTIVADO-DESACTIVADO (0 ó 1). Utilizan


salidas de este tipo las que conectan a relés, contactores, lámparas de señalización, ...

 Analógicas: Admiten valores dentro de un rango continuo de valores posibles. Son salidas
analógicas variadores de velocidad, válvulas de control de flujo, actuadores lineales,
resistencias variables, ... La resolución y el tiempo de respuesta son los parámetros que
determinan la calidad de la unidad analógica.

Las entradas y salidas digitales pueden estar integradas en el propio PLC (modelos compactos CPM2A,
CP1L…), o en unidades específicas de E/S que se acoplan a la CPU (modelos modulares CJ1M, CJ2M…).
Por el contrario, para las analógicas deberemos disponer de un módulo de expansión adicional, (como el
MAD11 para la serie CP que dispone de 2 entradas y 1 salida digitales, de 12 bits de resolución o el
MAD42 de la serie CJ que integra 4E/2S de 13 bits de resolución) y se conectan a través de una bahía de
expansión de periféricos.

Cada vez es más frecuente integrar unidades analógicas, incluso en modelos


básicos, las nuevas CPU de la serie CP1L integran ‘de serie’ dos entradas
analógicas y hay modelos de la serie CP1 que integran hasta 4E/2S
analógicas. Aparte de lo anterior en las unidades de expansión frontal de la
serie CP1 y CJ2 se pueden integrar este tipo de unidades de forma simple.

Existen además entradas y salidas especiales para determinadas aplicaciones, como pueden ser tareas
de interrupción, contaje rápido, entradas y salidas de pulsos, medida de frecuencia… Algunas de ellas
van integradas en la propia CPU de los modelos compactos, mientras que otras es preciso disponer de
unidades de expansión específicas para la función a realizar.

Programación de autómatas OMRON CJ/CP1 6


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

4. Conexión y cableado del autómata

Tomamos como referencia para el cableado un dispositivo compacto, como puede ser la serie CPM2 o
CP1L. Consultar siempre el manual de instalación del autómata antes de realizar ninguna operación.

Alimentación

Distinguimos 2 modelos en cuanto a la alimentación. Con alimentación de CA de 100-240 V y


alimentación a CC de 24 V. En este último caso necesitamos una fuente externa, se recomienda una
fuente con doble aislamiento y un bajo factor de rizado.

La conexión de la fuente de CA se realizará como


se indica en la figura.

Conviene independizar la línea de alimentación


de los autómatas para evitar la caída de tensión
en caso de conectar receptores de gran
potencia.

El trenzado de los cables reduce el ruido de la línea de alimentación.

Conectar la toma de tierra a una puesta a tierra de menos de 100  para proteger al PLC de descargas
eléctricas y operaciones incorrectas.

Entradas

Aunque los contactos de las entradas soportan valores de tensión elevados, como la mayoría de
sensores funcionan a 24 V en corriente continua, es recomendable utilizar esta tensión para alimentar
las entradas, bien utilizando una fuente externa o la que viene integrada en el propio autómata (sólo si
la carga de los dispositivos a conectar no es muy elevada).

En la imagen anterior vemos la conexión de las entradas utilizando una fuente de alimentación externa
con negativo (-) común (en línea discontinua veríamos la conexión con positivo (+) común).

En la siguiente imagen tenemos la forma de conectar la fuente auxiliar de tensión que incorporan los
autómatas de corriente alterna. La conexión es a negativo común, pero puede hacerse con positivo
común de igual forma. Es importante respetar la intensidad máxima que suministra la fuente (300 mA).

Programación de autómatas OMRON CJ/CP1 7


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Uno de los inconvenientes mayores de este tipo de autómatas es que el COMÚN (terminal COM de la
imagen), es compartido por todas las entradas. Esto implica que todos los sensores han de tener las
mismas características, es decir todos han de ser PNP (salida positiva) o todos NPN (salida negativa),
no pudiendo mezclar sensores de distintos tipos (salvo que los hagamos pasar por un relé u otro
dispositivo y cambiemos la polaridad).

Si utilizamos sensores PNP deberemos conectar el terminal negativo (-) de la alimentación al COM. Si
estos son NPN, conectaremos el terminal positivo (+) al conector COM del autómata. Lógicamente, los
pulsadores, finales de carrera y demás dispositivos de entrada mecánicos, se alimentarán de acuerdo a
este esquema (si los sensores son PNP, los pulsadores se alimentan con el terminal +, si son NPN se
alimentarán con el terminal -).

Salidas

Existen modelos con salida a transistor (PNP ó NPN) y con salida a relé. En este último caso, la
intensidad máxima para cada salida es de 2A y de 4A para el común de cada grupo de salidas,
independientemente del valor de tensión y de que sea en alterna o en continua. En los modelos con
salida a transistor, la carga máxima de la salida será de 300 mA y un máximo de 900 mA por común (sólo
en corriente continua).

En el caso de las salidas, tendremos varios comunes (COM), algunos para salidas especiales (la X.00 y la
X.01) que tienen un COM exclusivo, porque normalmente esas salidas son especiales, permitiendo
salidas de pulsos, y otros que son compartidos por varias salidas.

Programación de autómatas OMRON CJ/CP1 8


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Esto permite conectar distintos tipos de actuadores de características diferentes, agrupando los de
características similares a un mismo común. Esto es, puedo tener salidas a 24 V en continua con positivo
o negativo común y, a la vez, otros grupos de salidas a 24, 50 ó 230 V en corriente alterna, dependiendo
de la fuente con la que alimente ese común.

Especificación
Salida Relé
Salida 2 A (24 V cc ó 250 V ca)
Común 4 A / común
Especificación
Salida transistor
Salida 300 mA (4,5 a 30 VDC)
Común 0,9 A / común

Si todos los dispositivos de salida son de características eléctricas similares, puentearé los distintos
comunes, tal y como aparece en la figura anterior.

En el autómata CPM2A/CP1L de corriente alterna, puedo utilizar la fuente de alimentación integrada de


24 V cc para la alimentación de las salidas (respetando la potencia máxima que puede suministrar).

La conmutación rápida de cargas inductivas conectadas a las salidas de relé del PLC pueden provocar
perturbaciones y sobrecorrientes que es preciso controlar, tanto por la durabilidad de los dispositivos de
conmutación como para evitar perturbaciones en el sistema. De acuerdo con la EN61131-2, será
necesario tomar alguna medida si se producen más de 5 conmutaciones por minuto en el conjunto de
las salidas. Las medidas más habituales son:

En caso de receptores que provoquen una alta intensidad de corriente, como podría ser una lámpara
incandescente, se pueden limitar estas corrientes conectando una resistencia en serie o en paralelo
según se muestra en las imágenes siguientes:

Programación de autómatas OMRON CJ/CP1 9


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

5. Áreas de memoria

La memoria del autómata se encuentra dividida en dos áreas fundamentales, cada una con funciones y
características distintas:

 Área de Programa: Donde se almacena el programa del PLC.

 Área de Datos: Se utiliza para almacenar valores o para obtener información sobre el
estado en que se encuentra el autómata.

Esta área se encuentra dividida en varias zonas según las funciones que realizan: CIO, IR, W, SR, AR, HR,
LR, DM (D en la serie CP/CJ), TR, T/C.

Las unidades de memoria en las que podemos trabajar son:

Denominación Valor
Bit 0ó1
Byte 8 bits
Palabra ó Canal 2 bytes ó 16 bits
Doble palabra 4 bytes ó 32 bits
Los autómatas de OMRON trabajan normalmente en canales, esto es, en unidades de 16 bits, aunque
para determinadas operaciones puede utilizar más de un canal.

DIRECCIONAMIENTO

El formato de las direcciones de memoria del autómata comprende dos dígitos separados por un punto,
indicando el número de canal y el bit (XXX.YY) En caso de necesidad, se indicará el área de memoria a
que pertenece:

XXX Número de canal (Registro). Ejemplos:


155.05 = Canal 155, bit 05
YY Número de bit (entre 00 y 15). HR 12.15 = Canal 12, bit 15 del área HR

Área de entradas y salidas (CIO) y área de trabajo (W)


El área CIO comprende los canales asociados a las entradas y salidas físicas del autómata (las
incorporadas y las posibles mediante unidades de expansión) y los relés internos, que no se
corresponden con E/S físicas, pero que son gestionadas de igual forma y se utilizan normalmente para
almacenar estados u operaciones intermedias. En la serie CS/CJ/CP además de los relés internos aparece
además un área de trabajo (W) que amplía el área de trabajo interna.

El acceso a estas áreas de memoria puede hacerse bit a bit o con todo el canal. Aunque se puede hacer,
no es preciso indicar que se trabaja con esta área, por ejemplo 20.01. En el caso de los CJ/CP sí que es
necesario indicar el área de trabajo W, por ejemplo W20.01.

Es un área de memoria volátil, esto es, en caso de falta de alimentación o cambio de modo de
operación, no retiene el estado en que se encuentran.

Programación de autómatas OMRON CJ/CP1 10


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Los distintos modelos compactos como CPM2A/CP1L se definen por el número de puntos de E/S que
llevan incorporados (hay modelos entre 10 y 60 puntos de E/S integradas en la misma carcasa).
Tomando como referencia un modelo intermedio, con 30 puntos de E/S, de las que 18 son entradas y 12
salidas. Las direcciones físicas vienen indicadas en la carcasa, junto a unos leds que indican su estado.

Ejemplo: Modelo CPM2A/CP1L de 30 puntos E/S


Entradas (12 + 6 = 18 entradas)
CPM2A /CP1L
00, 01, 02, …, 11 12 entradas Observemos que aunque OMRON trabaja
Canal 0 normalmente con canales (16 bits), no
CPM2A /CP1L todas las direcciones se corresponden con
00, 01, 02, …, 05 6 entradas entradas o salidas físicas. Así en las
Canal 1
entradas sólo utiliza 12 bits (del 00 al 11) y
Salidas (8 + 4 = 12 salidas) en las salidas sólo 8 (del 00 al 07). Las
CPM2A Canal 10 direcciones no utilizadas, podrán usarse
00, 01, 02, …, 07 8 salidas como relés internos, aunque no es
CP1L Canal 100
recomendable.
CPM2A Canal 11
00, 01, 02, 03 4 salidas
CP1L Canal 101

Las unidades de expansión, que según el modelo pueden conectarse a la CPU, irán tomando los canales
de direccionamiento en función de la posición que tengan. Por ejemplo, para un CP1L de 40 E/S con 3
unidades de expansión, las direcciones de E/S que adoptará cada módulo serían:

Esto es, cada unidad adoptará el primer canal disponible de entradas o salidas a partir del 2 en el caso
de las entradas y del 102 en el caso de las salidas.

Programación de autómatas OMRON CJ/CP1 11


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Área de relés especiales (SR)


Son relés de señalización de funciones especiales, relacionadas con el
funcionamiento del autómata, tales como condiciones de servicio
(primer ciclo de scan, siempre ON u OFF), temporizaciones (relojes de
pulsos a varias frecuencias), diagnosis (señalización o anomalías),
comparaciones, comunicaciones…

Aunque puede usarse el bit correspondiente, no es necesario


conocerlo, aparece al insertar un nuevo contacto. Destacamos los
siguientes.

(Para el CPM2A, son bits que ocupan un área concreta, que dependen del modelo. En la serie CS/CJ/CP
no están en las mismas direcciones, si no que ya utilizan un área de configuración CF y también el área
auxiliar AR)

Bit Nombre Función


CP1L CPM2A
Pulso de primer ciclo de scan. Manda un pulso la primera
A200.11 253.15 P_First_Cycle
vez que se pone en marcha el autómata.
Pulso de siempre ON. Mantiene la señal activa de forma
CF113 255.13 P_On
permanente.
Pulso de siempre OFF. Mantiene la señal desactivada de
CF114 255.14 P_Off
forma permanente.
CF003 255.03 P_ER Indicador de error de ejecución de instrucción.
CF005 255.05 P_GT Bit de comparación (Mayor que >)
CF006 255.06 P_EQ Bit de comparación (Igual que =)
CF007 255.07 P_LT Bit de comparación (Menor que <)
CF104 254.00 P_1min Pulso de reloj de 1 minuto
CF102 252.02 P_1s Pulso de reloj de 1 segundo
CF101 255.01 P_0_2s Pulso de reloj de 0.2 segundos

Área auxiliar (AR)


Contiene bits de control e información del autómata y los periféricos, como pueden ser los puertos de
comunicaciones, puerto de periféricos, memorias externas… Se trata de un área de memoria de
retención, esto es, ante un corte eléctrico o cambio de estado, mantiene el valor ON/OFF que tenían al
volver a ser puestos en servicio. Se divide en dos bloques:

 Señalización: errores de configuración y almacenamiento de datos del sistema.

 Memorización y gestión de datos

Área de enlace (LR)


Se utiliza para el almacenamiento e intercambio de datos entre dos o más autómatas en la serie C
(CPM2A, CQM1H…). En el caso del CPM2A, no tiene capacidad de red sin una tarjeta de comunicación
adicional, sólo se puede utilizar conectando dos autómatas en forma PC Link (1:1) directamente por el
puerto serie.

Programación de autómatas OMRON CJ/CP1 12


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Es un tipo de memoria volátil, pierde su estado ante un corte de alimentación o cambio de estado del
autómata. Los bits de esta área que no se utilizan pueden ser empleados como bits de trabajo.

En otros modelos de la serie CS/CJ/CP es posible establecer comunicación por RS422/485


interconectando hasta 9 equipos, pero ya no se utiliza el área LR, si no que se reservan una serie de
canales en el área CIO.

Área retención (HR)


Se utiliza para almacenamiento y manipulación de datos internos. Se gestiona igual que el área IR y su
principal característica es que se trata de una memoria retentiva, esto es, mantiene su estado ON/OFF
ante fallos de alimentación o cambios de estado del PLC.

Es necesario especificar que direccionamos un relé de esta área indicándolo delante mediante HR (por
ejemplo: H2.01).

Área de temporizadores y contadores (TC)


Es el área reservada para el uso de temporizadores (TIM, TIMH…) y contadores (CNT, CNTR…) y es
compartida por ambos en la serie C, es decir, no puede haber un temporizador y un contador con la
misma dirección (si tenemos un temporizador TIM01, no podemos tener un contador CNT01). En el caso
del CPM2A, tendremos hasta 256 temporizadores/contadores.

Aparte del numero de temporizador / contador, deberemos indicar el valor de preselección hasta el que
queremos que alcance, normalmente será un valor numérico, que introduciremos precedido de una
almohadilla (# para indicar que es un valor decimal). También puede direccionarse a un canal o un DM.

En los modelos CS/CJ/CP ya no comparten la misma área de memoria temporizadores y contadores, por
lo que pueden tener el mismo número identificativo y el número de temporizadores y contadores que
se pueden utilizar es muy superior (hasta 4096 temporizadores y 4096 contadores en un CJ1M ó un
CP1L con CPU M).

Área de memoria de datos (DM en la serie C y D en las series CP/CJ/CS)


Se trata de memorias de 16 bits que se direccionan como un canal (no puede seleccionarse sólo un bit de
esta área). Nos permiten gestionar valores numéricos en operaciones o utilizables para operaciones con
E/S analógicas.

Es un área retentiva, mantiene el valor en caso de corte de tensión.

Se almacena aquí el registro de errores y los datos de configuración del autómata (modo de
conexión, estado en el arranque, puerto de comunicaciones…).

Programación de autómatas OMRON CJ/CP1 13


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Direccionamiento de los distintos modelos de PLC


MAPEADO DE MEMORIA CPM2A

Nombre Nº de puntos Canal nº Bit nº Función


160 puntos Estos bits se pueden utilizar como un
Bits de entrada 000 a 009 00000 a 00915
(10 canales) terminal de E/S externas. Los bits no
E/S y bits utilizados como canales de E/S se
160 puntos
internos Bits de salida 010 a 019 01000 a 01915 pueden utilizar como bits de trabajo.
(10 canales)
(IR)
928 puntos IR 020 a IR 049 IR 02000 a IR 04915 Estos bits se pueden utilizar para
Bits de trabajo
(58 canales) IR 200 a IR 227 IR 20000 a IR 22715 cualquier propósito en el programa.

448 puntos
Bits auxiliares especiales (SR) SR 228 a SR 255 SR 22800 a SR 25515 Estos bits son para funciones específicas.
(28 canales)
Estos bits almacenan temporalmente el
Bits de memoria temporal (TR) 8 puntos --- TR 0 a TR 7 estado ON/OFF de los puntos de
bifurcación del circuito.
Estos bits se pueden utilizar para
cualquier cometido en el programa, e
320 puntos
Bits de retención (HR) HR 00 a HR 19 HR 0000 a HR 1915 incluso se pueden utilizar para
(20 canales) almacenar estados ON/OFF en caso de
corte de alimentación.
Estos bits tienen funciones específicas, e
384 puntos incluso se pueden utilizar para
Bits auxiliares (AR) AR 00 a AR 23 AR 0000 a AR 2315
(24 canales) almacenar estados ON/OFF en caso de
corte de alimentación.
Estos bits se utilizan para E/S de datos de
256 puntos
Bits de enlace (LR) LR 00 a LR 15 LR 0000 a LR 1515 enlace 1:1. También se pueden utilizar
(16 canales) como bits de trabajo.
Bits para temporizadores y contadores.
Temporizador/Contador
256 puntos TIM/CNT 000 a TIM/CNT 255 No utilizar el mismo número para
(TIM/CNT) temporizador y contador.

DM 0000 a DM 1999 La memoria de datos utiliza unidades de


Lectura /
2.026 canales canal (16-bits) para almacenar datos en
Escritura DM 2022 a DM 2047 caso de fallo de alimentación.
Area de
Memoria almacenaje de 22 canales DM 1000 a DM 1021 Estas memorias de datos no pueden ser
de datos historia de error accedidas para escritura desde el
(DM) programa del PLC, aunque sí desde un
Sólo lectura 456 canales DM 6144 a DM 6599 periférico externo.
Area de Sólo se puede trabajar con la palabra
configuración del 56 canales DM 6600 a DM 6655 (canal) completa.
PLC
Funciones de bit

Bits de E/S

Estos bits están asignados a terminales de entrada y salida y reflejan el estado ON/OFF de puntos de entrada y salida. Para el
CPM1, los bits de entrada comienzan en 00000 y los de salida en 01000.

Bits de trabajo (IR)

Estos bits se pueden utilizar para cualquier función en programas, pero no se pueden utilizar para entrada o salida a terminales
de E/S.

Bits auxiliares especiales (SR)

Estos bits se utilizan para almacenar selecciones y valores actuales para todas las funciones, así como para indicadores
asociados con la operación del CPM2A.

Bits de memoria temporal (TR)

Programación de autómatas OMRON CJ/CP1 14


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Estos bits almacenan temporalmente el estado ON/OFF de puntos de bifurcación del circuito, si no se pueden escribir, sin
alteración, diagramas de relés complejos. El bit sólo se utiliza cuando se programa en nemónico. No es necesario tener en
cuenta los bits TR cuando se programa con diagramas de relés, dado que todo el proceso se efectúa interna y
automáticamente.

Los mismos bits TR en el mismo bloque de instrucción no se pueden utilizar más de una vez, pero sí en diferentes bloques.

Los bits TR no se pueden utilizar para monitorizar el estado ON/OFF mediante las funciones de monitorización de dispositivos
periféricos.

Bits de retención (HR)

Estos bits retienen el estado ON/OFF incluso cuando la fuente de alimentación del CPM1 está desconectada o cuando se
arranca y para la operación. Estos bits se utilizan exactamente igual que bits de trabajo.

Bits auxiliares (AR)

Estos bits retienen las funciones primarias, tales como indicadores, asociadas con la operación del CPM2A. El bit retiene el
estado ON/OFF cuando se desconecta la alimentación del CPM2A o cuando se para y arranca la operación.

Bits de enlace (LR)

Estos bits se pueden utilizar para intercambiar datos con PLCs remotos en conexiones 1:1 entre CPM1s así como entre un
CPM2A y un CQM1 o un C200HS.

Temporizador/Contador (TIM/CNT)

Este es un temporizador/contador utilizado con instrucciones TIM, TIMH(15), CNT y CNTR(12). Dado que el número es el mismo
para ambas instrucciones, no utilizar el mismo número dos veces, incluso para diferentes instrucciones.

El número de temporizador/contador se designa como dato de canal, cuando se utiliza el valor de temporizador/contador,
mientras que se designa como dato de bit, cuando el temporizador/contador se utiliza como un Indicador de tiempo/contaje
Alcanzado.

Memoria de datos (DM)

Se accede a los datos en unidades de canal. Los contenidos de la memoria de datos se retienen si se desconecta la fuente de
alimentación del CPM2A o si la operación se arranca y se para. De DM 0000 a DM 1999 y de DM 2022 a DM 2047 se pueden
utilizar para cualquier función, pero el resto de canales están asignados a funciones específicas. Sin embargo, de DM 1000 a DM
1021 están disponibles para programas mientras no se hayan designado para almacenar el histórico de errores por los bits 00 a
03 de DM 6654.

Área de bits (SR)

Los bits SR se utilizan para almacenar las selecciones y valores actuales para todas las funciones, incluyendo indicadores de
estado de operación de CPM2A, indicadores de inicio de operación, destinos de salida de pulso de reloj, selección analógica,
contadores de alta velocidad e interrupciones de modo de contador.

Programación de autómatas OMRON CJ/CP1 15


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

MAPEADO DE MEMORIA CJ1M

Programación de autómatas OMRON CJ/CP1 16


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

ESPECIFICACIONES CP1L (SÓLO USB)

Programación de autómatas OMRON CJ/CP1 17


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

ESPECIFICACIONES CP1L (ETHERNET)

Programación de autómatas OMRON CJ/CP1 18


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Distribución de las áreas de memoria del CJ1M y CP1L

Programación de autómatas OMRON CJ/CP1 19


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

6. Modos e indicadores de funcionamiento


El autómata presenta tres modos de funcionamiento, que se pueden configurar en el SETUP del PLC o a
través de la consola o el software de programación. No hay un interruptor que controle el modo de
funcionamiento de forma externa, ha de hacerse a través del puerto de comunicaciones.

STOP/PROG: Detiene el funcionamiento de los programas. En este modo se realiza la transferencia


de los programas al autómata.

RUN: Es el modo normal de funcionamiento. El autómata ejecuta el programa de forma


autónoma en función de las E/S. No existe comunicación con el software.

MONITOR: Es igual al modo RUN, pero con comunicaciones a través del cable de programación,
normalmente se utilizará para probar y monitorizar un nuevo programa.

El estado y comportamiento del PLC, según cada uno de los modos de funcionamiento se resume en la
siguiente tabla:

Modo de operación PROGRAM RUN MONITOR


Ejecución del programa Parado En ejecución En ejecución
Refresco de E/S En ejecución En ejecución En ejecución
Estado de las E/S externas OFF Según programa Según programa
Memoria remanente Mantenida
Memoria E/S Según programa Según programa
Memoria no remanente Borrada

Podemos conocer el modo en que se encuentra el PLC mediante cuatro indicadores luminosos tipo LED,
visibles sobre la carcasa frontal, en el CPM2A hay 4 led.

PWR: Led verde que nos indica si el autómata tiene alimentación eléctrica.

RUN: Led verde que nos indicará si el autómata se encuentra en los modos de funcionamiento o
monitorización.

COMM: Indicador ámbar que parpadeará de modo rápido cuando existe comunicación con el
software de programación.

ERR/ALM: Indicador rojo que se enciende cuando se ha producido un error o alarma en la


configuración del autómata. Si está parpadeante (FALS) el PLC seguirá funcionando.

Otros elementos del


autómata CPM2A
pueden verse en la
imagen, junto con su
función:

Programación de autómatas OMRON CJ/CP1 20


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

En los CP1L tendremos 6 LED de estado, la conexión será por cable USB o RJ45 y tendremos uno o dos
módulos de ampliación en los que podremos conectar distintos interfaces de comunicación (RS232,
RS485, RJ45 o panel de operación).

CP1L (USB)

CP1L (Ethernet)

Programación de autómatas OMRON CJ/CP1 21


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

7. Comunicación con el PLC

Tradicionalmente los PLC de Omron se han comunicado por RS232 utilizando protocolos específicos. En
los últimos modelos se impone la comunicación por USB y por RJ45.

Modelo Conexión Protocolo por defecto Descripción


CPM2A DB9 SYSMAC WAY Protocolo propietario de Omron para la comunicación
CQM1H RS232 / RS422 entre PC y PLC mediante puerto serie.
Comunicación a 9600 baudios (7 bits, impar, 2)
CP1E USB-B USB Comunicación con el PLC por USB, requiere la carga del
CP1L driver para poder comunicarse con CX Programmer
CP1L-E RJ45 Ethernet (FINS/TCP) Comunicación Ethernet con la IP del PLC o conexión
directa por RJ45 sin necesidad de saber la IP.
CJ1M DB9 Toolbus Protocolo propietario de Omron poco documentado.
RS232 / RS422 Transmite en binario (no caracteres ASCII).
La comunicación es a 19200 baudios
CJ2M (3x) USB-B USB Comunicación con el PLC por USB, requiere la carga del
RJ45 Ethernet / IP driver para poder comunicarse con CX Programmer
Comunicación Ethernet con la IP del PLC o conexión
directa.

Otros protocolos de comunicación que aparecen requieren una tarjeta dedicada en el PC para
establecer la comunicación, como en el caso de Controller Link.

El ajuste de comunicación se hará, en función del modelo de PLC,


seleccionando el tipo de red a utilizar y haciendo los ajustes mediante la
pantalla de configuración de la comunicación, pulsando sobre el botón
‘Configuraciones’ del desplegable ‘Tipo de red’

Búsqueda y comunicación automática

Es una utilidad muy práctica que permite a CX Programmer conectarse de forma automática a un PLC sin
necesidad de conocer las características del puerto de comunicación del mismo, ya que va probando los
diferentes protocolos y configuraciones posibles hasta establecer la comunicación.

En función del modelo y el puerto de comunicación utilizado hay varias formas de utilizar este sistema,
desde el menú ‘PLC’ o desde la barra de herramientas:

(1) Para todos los autómatas con comunicación por puerto serie DB9
(2) Para el CP1L-E hay una utilidad exclusiva para localizarlo a través de Ethernet (requiere CX
Programmer 9.3 o superior)
(3) Para los autómatas con comunicación por puerto Ethernet/IP
Usando estas opciones, se buscará al PLC conectado y se descargará el programa que tenga cargado y
sus configuraciones en CX Programmer.

Programación de autómatas OMRON CJ/CP1 22


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

8. Resumen de programación básica

Instrucciones lógicas básicas (LD, OUT, AND, OR)

LD (Load) y LD NOT (Load Not)


(LD) Leer bit: Determina el estado del bit (B) como una condición de
ejecución para posteriores operaciones del programa. Si el bit (B)
está activo nos dará continuidad esa línea de programa, si no lo está,
se detendrá la ejecución en ese punto.

(LD NOT) Leer bit negado: Determina el estado inverso del bit (B)
como una condición de ejecución para posteriores operaciones del
programa. Si el bit (B) está activo no nos dará continuidad esa línea
de programa, deteniendo la ejecución en ese punto, si no lo está, dará continuidad.

OUT y OUT NOT


(OUT) salida: Pone a ON el bit designado para una condición de ejecución ON y lo
pone a OFF para una condición de ejecución OFF. Esto es, sólo si los contactos
previos a la salida tienen continuidad, la salida se activará.

(OUT NOT) salida negada: Pone a OFF el bit designado para una condición de
ejecución ON y lo pone a ON para una condición de ejecución OFF. Esto es, la salida
se activará sólo si los contactos previos no tienen continuidad.

Programas de ejemplo:

Programa Equivalente eléctrico

Al activar la entrada 01 (pulsador NA), se activará la salida 10.01. Para que la


salida se mantenga activa deberemos mantener activa la entrada.

Similar al anterior, pero usando en la entrada 01 un pulsador NC. En este


caso, la salida 10.01 estará activa hasta que accionemos el pulsador 01. La
salida permanecerá activa sólo mientras no estemos accionado el pulsador.

Los ejemplos utilizando entrada y salidas negadas no tienen equivalente eléctrico. En los casos anteriores,
negando la entrada o la salida, el circuito se comportará de forma contraria, salvo que neguemos ambas de forma
simultánea (doble negación = afirmación).

AND (Función Y): Contactos en serie.


La función AND (Y), implica que deben cumplirse las condiciones simultáneamente para tener
continuidad en la línea del programa. Eléctricamente equivale a disponer de dos contactos en serie.
Pueden utilizarse indistintamente con las entradas o salidas negadas.

Programación de autómatas OMRON CJ/CP1 23


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

OR (Función O): Contactos en paralelo.


La función OR (O), implica que basta con que se cumpla una de las condiciones para tener continuidad
en la línea del programa. Eléctricamente equivale a disponer de dos contactos en paralelo. Pueden
utilizarse indistintamente con las entradas o salidas negadas.

DUPLICACIÓN DE SALIDAS
Con las mismas condiciones de ejecución pueden ponerse múltiples salidas en paralelo, esto es, una
misma condición del programa puede activar varias salidas de forma simultánea. (Nota: una misma
condición puede activarme más de una salida, lo que no está permitido es utilizar la misma salida en dos
puntos distintos del programa).

Las funciones AND y OR, así como las salidas en paralelo pueden combinarse.

Programas de ejemplo:

Programa Equivalente eléctrico

Para que se active la salida 1001, han de estar activadas simultáneamente


las entradas 01 y 02

En este caso bastará que sólo una de las entradas, 01 ó 02 esté activa para
que se active la salida 1001.

En este caso, activando la entrada 01, se conectarán simultáneamente las


salidas 1001 y 1002.

Programa Equivalente eléctrico

Por último, para que se active la salida, será necesario que estén activas la
entrada 03 y además o bien la 01 ó la 02 ó ambas a la vez.

Programación de autómatas OMRON CJ/CP1 24


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Enclavamientos (KEEP, SET, RSET)

Con Instrucciones Lógicas


Podemos utilizar una salida, física o no, de forma similar a como se utilizan los contactos auxiliares de
los contactores o relés para hacer un enclavamiento. De esta forma, bastará dar un pulso para activar
una salida y con otro pulso, en otra entrada, para desactivarla.

El programa será una traducción casi literal de un circuito eléctrico, utilizando una marca de la propia
salida en paralelo (función OR) con el pulsador de marcha, y los pulsadores de de marcha y paro
conectados en serie (función AND).

Función mantener KEEP (11)

Esta función realiza el enclavamiento de un bit, activado por una entrada de set (S) y desactivado
por una entrada de reset (R). Es equivalente al ejemplo anterior, pero resumido en una única función. En
caso de recibir señales simultáneas por ambas entradas, siempre predomina el reset sobre el set.

Funciones SET y RSET

Función SET: Pone el bit operando a ON cuando la condición de ejecución es ON.

Función RSET: Pone el bit operando a OFF cuando la condición de ejecución es ON.

A diferencia de otros PLC, en caso de simultaneidad de señales a un mismo bit, siempre


predominará el RSET sobre el SET.

Esquema eléctrico Funcionamiento

Circuito eléctrico
S1 Paro (NC) 01
S2 Marcha (NA) 02
K1 Contactor 10.01
Pulsando en S2 (entrada 02), cerramos el
circuito que alimenta la bobina del contactor
K1 (salida 10.01), realimentándose mediante
un contacto auxiliar (10.01).
Al pulsar el paro S1 (entrada 01) cortamos la
alimentación, desactivándose la bobina del
contactor.

Programación de autómatas OMRON CJ/CP1 25


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Programa con el autómata Descripción


Instrucciones lógicas
Si lo asimilamos a un circuito eléctrico, estando
activo S1 (01) (lo está por ser un contacto NC),
al pulsar sobre S2 (02) activaremos la salida de
K1 (1001). Al dejar de pulsar S2, la
alimentación se mantiene por el contacto
auxiliar de K1.
Para detenerlo bastará con pulsar S1.
Función KEEP
Usando la función KEEP, al recibir un pulso por
la entrada de set (S) se enclavará 10.01. Al
recibirlo por la entrada de reset (R), se
desenclavará. Como la entrada de reset (01) es
un NC, hemos de negarla ya que si no siempre
estará reseteando.

Funciones SET / RSET


Como vemos, no es más que la función KEEP
desligada en dos funciones para la conexión y
desconexión por separado.
Estas instrucciones se encuentran en todas las
marcas de autómatas.

Cerrados físicos, negados lógicos.

En el esquema anterior tenemos que el pulsador de paro (S1) es un cerrado físico, esto es, en
condiciones normales de funcionamiento dará continuidad y cuando se pulse, interrumpirá el circuito.
Como vemos, este contacto se programa utilizando instrucciones lógicas como ABIERTO, del mismo
modo que el pulsador de marcha (S2), que es, sin embargo, un contacto normalmente abierto. Esta sería
la programación correcta para que funcionamiento del circuito sea el que queremos.

Sin embargo, cuando utilizamos las funciones KEEP o SET y RSET, utilizamos la entrada negada de S1, ya
que si no, al tratarse de un cerrado físico, nos activaría la entrada de reset, impidiendo activar el
circuito.

Lo que no podemos cambiar en ningún caso es el tipo de entrada que tenemos conectada al PLC,
dependiendo de nuestra estrategia de programación pondremos un contacto de forma normal o de
forma negada, depende de las funciones usadas o de la funcionalidad que queramos en el sistema.

No debemos confundir los contactos normalmente cerrados con entradas de programa negadas,
dependerá de cada caso. Como orientación, si sólo usamos un Ladder con instrucciones lógicas, los
contactos cerrados se programarán sin negar, mientras que si usamos funciones (KEEP, SET/RSET), los
contactos cerrados deberán negarse.

Programación de autómatas OMRON CJ/CP1 26


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Temporizadores y contadores (TIM, TIMH, TTIM, CNT, CNTR)


Como hemos visto en las áreas de memoria, para la serie C disponemos de 512 temporizadores /
contadores, no pudiendo existir un temporizador y un contador con el mismo número. En la serie
CS/CJ/CP, no tendremos esa limitación y además el número de temporizadores/contadores es mucho
más elevado (4096 de cada tipo).

No es posible asignar un nombre de variable a los temporizadores o contadores en la tabla de variables


ni en la serie C, ni en los CP1 ó CJ1. Esa posibilidad sólo se puede hacer a partir de la serie CJ2.

Temporizador a la conexión TIM/TIMH

Formato de datos admitido:


N Nº temporizador 000-511 (serie C) 000-4096 (serie CJ)
S Valor seleccionado Canal, IO, AR, DM, HR, # BCD

Es un temporizador a la conexión que se activa cuando su condición de ejecución es ON, y se resetea (al
valor seleccionado) cuando la condición de ejecución se pone en OFF. Una vez activado, TIM mide en
unidades de 0,1 segundo desde el valor.

El TIMH es un temporizador rápido, igual que el anterior y trabaja con unidades de 0,01s.

Si la condición de ejecución permanece en ON lo suficiente para que transcurra el tiempo fijado en TIM,
se pondrá a ON el indicador de finalización del número de TC utilizado y permanecerá en dicho estado
hasta que se resetee TIM (es decir, hasta que su condición de ejecución se ponga en OFF). El valor que
se muestra en el temporizador es el que resta hasta alcanzar el valor de consigna, con lo que este tipo
de temporizador realmente está descontando el tiempo.

Temporizador totalizador TTIM(087)

Formato de datos admitido:


N Nº temporizador 000-511 (serie C) 000-4096 (serie CJ)
S Valor seleccionado Canal, IO, AR, DM, HR, # BCD

A diferencia del temporizador normal, que se resetea cada vez que deja de cumplirse la condición de
ejecución, el TTIM mantiene el valor de contaje, acumulando el tiempo total que la entrada ha estado
activa, hasta que sea reseteado mediante la entrada de la función.

Además hay que tener en cuenta que el valor que se muestra será el acumulado, esto es, no
decrementa como los temporizadores normales, sino que incrementa y acumula el valor.

La llamada a los bits asociados a los temporizadores se ha de hacer con T más el número de
temporizador (ejemplo correcto T0051, en vez del incorrecto TIM0051).

Programación de autómatas OMRON CJ/CP1 27


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Contador CNT

Formato de datos admitido:


N Nº contador 000-511 (serie C) 000-4096 (serie CJ)
SV Valor seleccionado Canal, IO, AR, DM, HR, # BCD

CNT se utiliza para descontar a partir del valor fijado (SV) cuando la condición de ejecución en el impulso
de entrada pase de OFF a ON, el valor del temporizador será reducido en uno, siempre que CNT se
ejecute con una condición de ejecución ON. Si la condición de ejecución no ha cambiado, o lo ha hecho
de ON a OFF, el valor del CNT no cambiará. El indicador de finalización para un contador se pone a ON
cuando alcanza cero y permanecerá en ON hasta que el contador se resetee. El contador se resetea
(puesta a cero) con una entrada de reset, R. Cuando R pasa de OFF a ON, se resetea al valor fijado.

Contador reversible CNTR (12)

Formato de datos admitido:


N Nº contador 000-511 (serie C) 000-4096 (serie CJ)
SV Valor seleccionado Canal, IO, AR, DM, HR, LR, # BCD

Se trata de un contador reversible y circular, disponiendo de dos condiciones de ejecución una que
incrementa, otra que resta, y la entrada de reset. Se activará al alcanzar el valor prefijado (SV) y el
cero. Si el contador recibe simultáneamente impulsos por el incremento y el decremento, no modificará
su valor.

La llamada a los bits asociados a los contadores se ha de hacer con C más el número de contador normal
o reversible (ejemplo correcto C0051, en vez del incorrecto CNT0051).

Temporizadores y contadores en modo binario

Al trabajar en BCD el valor de temporizadores y contadores está limitado a un rango de #0000 a #9999,
sin embargo es posible usarlos en modo binario, con lo que el rango llegará hasta &65535 en decimal (o
#FFFF en headecimal). Este funcionamiento se puede ajustar en las propiedades del PLC, pero ambos
modos de funcionamiento son incompatibles, o trabajan en binario o en BCD. De hecho las
instrucciones son diferentes, TIMX, TIMHX, TTIMX, CNTX y CNTRX, son las instrucciones equivalentes a
las anteriores en modo binario.

Si cambiamos el modo de
funcionamiento, tendremos que
cambiar las instrucciones ya que
daría error.

Programación de autómatas OMRON CJ/CP1 28


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Flancos (DIFU, DIFD)


Los flancos ponen a ON un bit durante un ciclo de scan (el tiempo que tarda en completarse el
programa), cuando la condición de ejecución (los bits de entrada a la intrucción) pasan de OFF a ON
(flanco ascendente DIFU(13)) o de ON a OFF (flanco descendente DIFD(14)). Se utilizan cuando queremos
dar únicamente un pulso de señal, independientemente del tiempo que el bit de entrada esté activo.

Flanco ascendente DIFU (13)

DIFU(013) pone en ON el bit designado (B) durante un ciclo de scan cuando la señal de entrada pasa a
ON.

Flanco descencendente DIFD (14)

DIFD(014) pone en ON el bit designado (B) durante un ciclo de scan cuando la señal de entrada pasa a
OFF.

En los autómatas de las series CP1 y CJ1/CJ2, se pueden usar las funciones DIFU y DIFD, además también
es posible utilizar flancos sin necesidad de definirlos como función y además se pueden seleccionar
directamente al introducir los contactos. Cuando se utilicen esos contactos aparecerán con una flecha
que indica si se trata de un flanco ascendente () o descendente ().

Flanco ascendente del bit 0.01

Flanco descendente del bit 0.00

Programación de autómatas OMRON CJ/CP1 29


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Enclavamientos (IL / ILC)


Enclavamientos IL(02) e ILC(03)

IL(02) se utiliza siempre junto con ILC(03) para crear enclavamientos. Si la condición de ejecución de
IL(02) es ON, el programa se ejecutará como está escrito, con una condición de ejecución ON utilizada
para iniciar cada línea de instrucción desde el punto en que se encuentra IL(02) hasta la siguiente
ILC(03). Si la condición de ejecución para IL(02) es OFF, la sección enclavada entre IL(02) y ILC(03) se
tratará como se indica en la siguiente tabla:

Elemento Comportamiento
Salidas Puesta a OFF
Temporizadores Reseteo
Contadores Se mantiene el valor, pero no reciben impulsos
KEEP Se mantiene el estado del bit
Resto de instrucciones No se ejecutan las instrucciones y todos los bits y
canales de IR, AR, LR, HR y SR escritos como operandos
en las instrucciones se ponen a OFF.

IL(02) y ILC(03) no han de usarse exactamente por parejas. IL(02) se puede utilizar varias veces en una
columna, con cada IL(02) creando una sección enclavada hasta la siguiente ILC(03). ILC(03) no se puede
utilizar a no ser que haya al menos una IL(02) entre ella y cualquier ILC(03) anterior.

Ejemplo de Aplicación

Comprueba cómo se comportan las diferentes instrucciones en caso de estar enclavadas.

Programación de autómatas OMRON CJ/CP1 30


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Comparaciones (CMP)
Función Comparar: CMP (20) (Todos los modelos de PLC)

Compara Cp1 y Cp2 y envía el resultado a los indicadores GR, EQ y LE en el área SR

Áreas de datos de operandos:

Formato datos admitido


er
Cp1: 1 canal a comparar IO, AR, DM, HR, TC, LR, #

Cp2: 2º canal a comparar IO, AR, DM, HR, TC, LR, #

Bits de comparación:

P_GT Mayor que (>)


P_GE Mayor o igual que (≥) (No disponible en CPM2)
P_EQ Igual que (=)
P_LT Menor que (<)
P_LE Menor o igual que (≤) (No disponible en CPM2)
P_On Bit de Siempre ON

En las series CS/CJ/CP pueden usarse las comparaciones como un contacto más (igual que un LD, OR o
AND) e incluirse dentro del esquema de forma que crearán una condición de ejecución ON cuando el
valor sea cierto.

Las opciones de comparación posibles, junto con la forma de = Igual que...


introducirlas en nemónico, serán: <> Distinto que...
> Mayor que...
>= Mayor o igual que...
< Menor que...
<= Menor o igual que...

Programación de autómatas OMRON CJ/CP1 31


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Ejemplo de aplicación:

Vamos a activar diferentes salidas en función del valor que tenga un contador. Definimos un contador
CNT 001 y le damos el valor BCD #010

Realizamos una comparación al valor decimal #05 de modo que dependiendo del valor en el contador,
se nos activen distintas salidas:

Cuando sea menor que el valor comparado, activa 10.02

Cuando sea igual que el valor comparado, activa 10.03

Cuando sea mayor que el valor comparado, activa 10.01

Para que me realice lo comparación en todo momento, utilizo el bit de Siempre ON (P_on) que esta
siempre activo. También podríamos haber utilizado una entrada o una marca cualquiera, de forma que
sólo compare en función de que esté o no activa esa entrada o marca. Así mismo, en vez de comparar
valores numéricos, podríamos haber comparado dos canales completos, un canal con un valor
numérico, etc.

Programa del ejemplo (para la serie C):

(Nota el bit siempre activo P_on y los bits de comparación no se


escriben, se seleccionan del desplegable al introducir un nuevo
contacto)

Programación de autómatas OMRON CJ/CP1 32


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

El mismo programa para la serie CS/CJ/CP, haciendo la comparación como contactos:

Los comparadores en este caso se introducen como una instrucción y la sintaxis será:

Comparador (espacio) Primer comparando (espacio) Segundo comparando <= #05 C1

En el ejemplo de la imagen: la comparación será cierta cuando el valor del contador sea mayor o igual
que 5, ya que debe interpretarse la instrucción como (#05 ≤ C1)

Programación de autómatas OMRON CJ/CP1 33


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Movimiento de datos (MOV / MOVL)


Mover: MOV (21) / MOVL (498)

Áreas de datos de operandos:

Formato datos admitido

S: Canal (valor) inicial IR, AR, DM, HR, TC, LR, #

D: Canal de destino IR, AR, DM, HR, TC

Función:

Mueve el contenido de S (Source = Origen) a D (Destination = Destino). El movimiento se realiza en la


palabra completa, sin alterar el orden ni el contenido (en el caso de que se tratase de un canal o palabra
completos). También puede utilizarse para introducir un valor concreto en un contador o temporizador.

Dependiendo de la aplicación se utilizará en su variante diferencial @MOV, para que sólo se ejecute una
vez en el cambio de la condición de OFF a ON. Si no es diferencial se ejecutará cada vez que se escanea
(varias veces en un segundo, dependiendo del programa).

Con MOVL se transfiere una doble palabra (32 bits) en cada operación de movimiento.

Ejemplo de aplicación:

Dispongo de dos entradas con las que selecciono dos tiempos diferentes para el temporizador

I0.01 Temporizador de 5 segundos (#050)


I0.02 Temporizador de 10 segundos (#100)
En función de la entrada que se active, la 01 o la 02, se desplazará el valor de cada una de ellas a un DM,
que será el que deberá leer el temporizador TIM01. No es necesario que las entradas de selección de
tiempos permanezcan activas, bastará un pulso para que desplacen el valor deseado al DM, de todos
modos se hace el movimiento con la instrucción diferencial (@MOV).

Con la entrada 00 iniciamos el temporizador que, en función del tiempo registrado en el DM tardará
más o menos tiempo en activar una salida (10.01).

Programación de autómatas OMRON CJ/CP1 34


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Programa del ejemplo

Nota: el programa mostrado es para un PLC de la serie C, si se usa un CJ/CP se deberán escribir las áreas
de datos como D en vez de DM.

Incrementar y decrementar en BCD (INC / DEC)


Incrementar en BCD INC (38)

Cuando la entrada de alimentación está activa, incrementará el canal destino (Wd). Si no se utiliza en
forma diferencial (@INC), el valor del canal Wd aumentará a cada ciclo de scan (varias veces en un
segundo, dependiendo del programa), por lo que habrá que combinarla con DIFU (flanco ascendente) o
DIFD (flanco descendente) para aumentar el valor una sola vez.

Áreas de datos de operandos:

Formato datos admitido

Wd: Canal de incremento (BCD) CIO, SR, AR, DM, HR, LR

Programación de autómatas OMRON CJ/CP1 35


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Decrementar en BCD DEC (39)

Cuando la entrada de alimentación está activa, reducirá el valor del canal destino (Wd). Funciona
igual que la función anterior (INC), pero disminuyendo el valor del canal de destino.

Áreas de datos de operandos:

Formato datos admitido

Wd: Canal de decremento (BCD) CIO, SR, AR, DM, HR, LR

En las series CJ/CS y los nuevos CP1 la instrucción se escribe de otra forma (++/- -) en binario y (++B/- -
B) en BCD, junto con las variantes diferenciales (@++/@- -) que sólo incrementan/decrementan cuando
cambia el valor del bit que activa la función. También existe la posibilidad de usar doble palabra para los
datos (++L/--L y ++BL/--BL), incrementando el valor de contaje.

En la imagen podemos comparar la diferencia de funcionamiento de variante normal y diferencial, en su


valor normal incrementa/decrementa 1 en cada ciclo siempre que la condición esté a ON, mientas que
en la variante diferencial sólo en el ciclo inmediatamente posterior a cambiar la condición de OFF a ON.

Ejemplo de Aplicación

Supongamos una línea de producción múltiple con varias cintas en


paralelo, en la que queremos conocer la producción del conjunto
de todas las líneas, de forma que al alcanzar un valor determinado
se actúe (por ejemplo llenado paralelo de productos, de forma que
al llegar a 50 la caja está llena y se debe poner otra).

Se nos plantean aquí varios problemas importantes. Por un


lado todos los detectores deben enviar la señal al mismo sistema
que se utilice como contador, por otro, cabe la posibilidad de que
aparezcan señales simultáneas (dos detectores enviando la señal
al mismo tiempo), lo que podría falsearnos las medidas.

Con la función incrementar (INC) solventamos estos


problemas ya que a cada detección se nos enviará un pulso,
incluso si dos de los detectores están mandando al señal a la vez, por esta razón no pondremos las
entradas en paralelo ya que se superpondrían.

Programación de autómatas OMRON CJ/CP1 36


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Poniendo las entradas en


paralelo, se pueden
superponer las señales,
perdiendo pulsos de
detección.

Una vez que hemos alcanzado el valor consignado, hemos de poner a 0 el DM, utilizando la orden MOV
y moviendo el valor 0 al DM10, lo que hacemos en el ejemplo con una comparación llevada a un KEEP,
para después resetearlo con una entrada.

Para un programa con sólo dos detectores (podrían incluirse más con más funciones @INC), tendríamos:

0.00 Réset contador


0.01 Entrada detector Línea 1
0.02 Entrada detector Línea 2
10.01 Salida activada al alcanzar el valor
253.13 P_On Bit siempre ON, para la comparación
255.06 P_EQ Bit de comparación (Igual que)

El programa utilizando la opción diferencial @INC:

Programación de autómatas OMRON CJ/CP1 37


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

El mismo programa anterior utilizando los flancos ascendentes (DIFU) de las entradas de los detectores.
Como vemos, al tener que definir los flancos, se incrementan las líneas de programa.

Programación de autómatas OMRON CJ/CP1 38


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

El mismo programa para los autómatas serie CP1L / CJ1M, utilizando las funciones @++B y las
comparaciones de la serie CS/CJ/CP.

Observaciones:
Si no se usa la función ++B en su variante diferencial @++B, mientras esté activo el detector mandará un
pulso y por tanto un incremento en cada ciclo de scan (varias decenas por segundo).

La 'Salida' activa el MOV del valor #00 al canal D10, por lo que hasta que no reseteemos esta, seguirá
mandando el valor #00, por lo que aunque se detecten nuevas piezas no se incrementará el valor en el
D10 (realmente se incrementará, pero será sobreescrito con el #00 inmediatamente). La comparación
puede hacerse con la función CMP, tal y como figura en el ejemplo anterior.

Si no se indica que será en BCD, la instrucción se ejecutará en modo binario, con lo que el contaje
utilizará los 16 bits del canal permitiendo un contaje mayor, de -32768 hasta +32767.

Programación de autómatas OMRON CJ/CP1 39


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Desplazamiento de bits (SFT / SFTR)


Función Registro de Desplazamiento SFT (10)

Función:

SFT(10) se controla por tres condiciones de ejecución, I (estado a desplazar ON =1 u OFF = 0), P (pulso de
condición de desplazamiento) y R (Reset o puesta a OFF = 0).

Cada vez que recibimos un pulso por la entrada P, se va a desplazar el estado del bit de la entrada I una
posición a la izquierda. Es decir, si la entrada I está en (ON = 1), a cada pulso (flanco de subida de la
entrada P), este valor se irá desplazando a la izquierda. Si la entrada I se mantiene activa se irán
poniendo a 1 todos los bits del canal. Si la entrada I está en (OFF = 0), a cada pulso de la entrada P, se
irán poniendo a 0 todos los bits del canal. La última posición de la izquierda se pierde con cada pulso
recibido.

Bit más significativo Canal Final Bit menos significativo Bit más significativo Canal Inicial Bit menos significativo

Sentido del desplazamiento de datos en varios canales contiguos

St designa el canal de la derecha del registro de desplazamiento; E designa el de la izquierda. El registro


de desplazamiento incluye los dos canales anteriores y todos los comprendidos entre ambos. El mismo
canal puede designarse para St y E para crear un registro de desplazamiento de 16 bits (es decir, un
canal).

Cuando se activa la entrada de reset R (se pone a ON = 1), todos los bits en el registro de
desplazamiento se pondrán a (OFF = 0) y el registro no operará hasta que R se ponga en OFF de nuevo.

Áreas de datos de operandos:

Formato datos admitido


St: Canal inicial IR, AR, HR, LR
E: Canal final IR, AR, HR, LR

Programación de autómatas OMRON CJ/CP1 40


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Programa de ejemplo:

Registro de desplazamiento SFT(10)

Registro de desplazamiento que a intervalos de 1 segundo (255.02 = P_1s. Bit de pulsos de 1 segundo)
activa alternativamente las salidas del canal 10.

Al activar la entrada 01, comienza una secuencia que va activando alternativamente las salidas del canal
10, desde la 10.00 hasta la 10.07, a intervalos de 1 segundo.

Si la entrada 01 permanece activada, al completar la secuencia, el sistema se detiene. Por el contrario, si


la activación de la entrada 01 se limita a un pulso, la secuencia se reinicia continuamente, existiendo una
pausa de un segundo adicional entre la activación de la salida 10.07 y el reinicio de la secuencia con la
salida 10.00.

En cualquier momento del proceso podemos “resetear” el sistema activando la entrada 02, lo que
detiene la secuencia, desactivando todas las salidas.

Programación de autómatas OMRON CJ/CP1 41


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Registro de Desplazamiento Reversible SFTR (84)

Función:

SFTR(84) se utiliza para crear un registro de desplazamiento de uno o varios canales que puede
desplazar datos a derecha o izquierda. Para crear un registro de un canal, designar el mismo canal para
St y E. El canal de control indica la dirección de desplazamiento, el estado a escribir en el registro, el
impulso de desplazamiento y la entrada de reset. El canal de control se desglosa como sigue:

Los datos en el registro de desplazamiento serán desplazados un bit en la dirección indicada por el bit
12, desplazando un bit a CY y el estado del bit 13 en el otro extremo siempre que SFTR(84) se ejecute
con una condición de ejecución ON, el bit de reset esté en OFF y el bit 14 en ON. No se ejecuta nada si la
condición de ejecución es OFF o si el bit 14 está en OFF. Si SFTR(84) se ejecuta con la condición de
ejecución ON y el bit de reset (bit 15) en ON,el registro de desplazamiento completo incluido CY se pone
a cero.

Áreas de datos de operandos:

Formato datos admitido


C: Canal de control IR, AR, DM, HR, LR
St: Canal inicial IR, AR, DM, HR, LR
E: Canal final IR, AR, DM, HR, LR

Programación de autómatas OMRON CJ/CP1 42


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Ejemplo de aplicación:

Registro de desplazamiento reversible SFTR(84)

En este ejemplo utilizamos como canal de control el 30, del que sólo necesitamos los bits 12, 13,14 y 15,
controlados por las entradas:

Entrada Bit de control Acción a realizar


Dirección del desplazamiento (Activado de LSB a MSB, desactivado al
00 30.12
contrario)
Estado a desplazar (Activado pone a 1 las salidas, desactivado, las pone
01 30.13
a 0)
Impulso (Es necesario que esté activado para que a cada pulso de la
02 30.14
entrada 04 avance un bit por el canal)
Reset (Si está activado, al recibir un pulso por 04, pondrá a 0 todo el
03 30.15
canal)
En función del estado del canal de control (30), realizará el
04 --
desplazamiento de los bits

En el ejemplo utilizamos la función en modo diferencial @SFTR, de modo que sólo realiza un pulso por
cada ciclo de Scan, si no, nos actuaría sobre todos los canales a la vez.

Avance del desplazamiento (LSB a MSB, esto es de 10.00 hacia 10.15): Entrada 00 activada, entrada 01
activada si quiero que me active la salida, desactivada si no, entrada 02 activada. Ahora a cada pulso que
demos a la entrada 04 avanzará un bit el registro de desplazamiento.

Retroceso del desplazamiento (MSB a LSB, esto es de 10.15 hacia 10.00): Igual que el anterior, pero
con la entrada 00 desactivada.

Reset: Con las entradas 02 y 03 activadas (independientemente del estado de 00 y 01), mandar un pulso
con la entrada 04.

Programación de autómatas OMRON CJ/CP1 43


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Saltos. JMP(04) y JME(05)

Número de Salto
# (00 hasta 99) en BCD Serie C
# (00 hasta FF) ó &(00 hasta 255) Serie CJ/CP

JMP(04) se utiliza siempre junto con JME(05) para crear saltos, es decir para saltar de un punto a otro
del diagrama de relés. JMP(04) define el punto desde el que se salta; JME(05) define el punto destino
del salto.

Cuando la condición de ejecución para JMP(04) es ON, no se ejecuta ningún salto y el programa se
ejecuta como está escrito. Cuando la condición de ejecución para JMP(04) es OFF, se realiza un salto a
JME(05) con el mismo número de salto, no ejecutándose las instrucciones entre los puntos de salto y se
ejecuta la instrucción que haya después de JME(05).

Esta instrucción permite reducir el ciclo de scan


del programa (el tiempo de ejecución), ya que las
instrucciones entre los saltos sólo se ejecutarán
en función de que las condiciones de salto estén
activas.

En la serie C tendremos un máximo de 100 saltos, del #00 al #99 anotados en BCD, mientras que los
CJ/CP dispondremos de hasta 255 saltos, anotados en hexadecimal (del #00 al #FF) o en decimal (del &0
al &255).

El estado de temporizadores, contadores y demás bits utilizados entre las instrucciones de salto, no
cambiarán si la condición de salto no está activa.

Las instrucciones de salto afectan a los flancos DIFU y DIFD, pudiendo permanecer más de un ciclo de
scan activas en función de las condiciones de ejecución del salto.

Salto número 00

Este salto puede utilizarse tantas veces como se quiera e incluso utilizar varios JMP con un único JME.
Sin embargo, la utilización del salto 00 aumentará el ciclo de scan del programa.

Programación de autómatas OMRON CJ/CP1 44


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Ejemplo de Aplicación

Programación de autómatas OMRON CJ/CP1 45


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Errores: FAL(06) / FALS(07) / FPD (269)


En la serie CS/CJ las opciones diagnóstico de errores son más completas que en la anterior serie C,
apareciendo nuevas instrucciones y con la posibilidad de forzar la simulación de errores para la
depuración del sistema.

En esta serie el registro de errores almacena un máximo de 20 avisos, a partir de este número se irán
sobrescribiendo, con su código de error. Los registros de error se pueden consultar directamente en la
pestaña de error del PLC y también acceder al área de memoria correspondiente (canales A100 hasta
A199, cada error ocupa 5 canales).

Áreas de memoria:

Cuando se cumplan las condiciones de


error definidas por el usuario
(condiciones de ejecución de FAL(006) o
FALS(007)) se ejecutará la instrucción de
alarma de fallos y se llevarán a cabo los
siguientes procesos:

1. Los indicadores de error FAL (A40215) o FALS (A40106) se ponen en ON.


2. El código de error correspondiente se escribe en A400.
3. El código de error y la hora en que se produjo se almacenan en el registro de errores.
4. El indicador de error situado en la parte delantera de la CPU se encenderá o emitirá destellos.
5. Si se ha ejecutado FAL(006), la CPU continuará funcionando. Si se ha ejecutado FALS(007), la
CPU dejará de funcionar, (se detendrá la ejecución del programa).

Errores no fatales FAL(06)

Los errores FAL(06) son no fatales y permiten que el PLC siga en funcionamiento, pueden borrarse
mediante la misma instrucción FAL con el número 0 o apagando y encendiendo el PLC.

Errores FAL definidos por el usuario Errores FAL de sistema

Para borrar un determinado error FAL es necesario mandar la función FAL con el número N = 0 indicando el nº de error a borrar
(#0001 a #01FF) o con (#FFFF) para borrarlos todos.
Los errores FAL ponen a 1 el bit correspondiente de A360.01 a A390.15 (los 511 posibles códigos de error definibles por el
usuario)
Los errores no fatales de sistema leen se almacenan en el A529, según la taba de errores del PLC.

Programación de autómatas OMRON CJ/CP1 46


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Errores fatales FALS(07)

Los errores FALS(07) detienen el funcionamiento del PLC y no podrá volver a iniciarse la ejecución del
programa hasta que desaparezca la causa del error.

Errores FALS definidos por el usuario Errores FALS de sistema

Para borrar un determinado error FALS es necesario mandar la función FALS con el número N = 0 indicando el nº de error a
borrar (#0001 a #01FF) o con (#FFFF) para borrarlos todos.
Los errores fatales de sistema leen se almacenan en el A529, según la taba de errores del PLC.

Tabla de errores FAL Tabla de errores FALS

Bit de puesta OFF de las salidas (A500.15)

En las serie CJ/CP se puede forzar la puesta a 0 de las salidas, por ejemplo como respuesta a una parada
de emergencia o a un error programado. Para ello basta con activar el bit A500.15. Además al hacerlo un
indicador del PLC INH se activará para señalizar el disparo de este bit. Hay que adoptar las debidas
precauciones ya no se interrumpe la ejecución del programa y al desactivarlo las salidas recuperan su
estado normal, de acuerdo con el programa ejecutado.

Programación de autómatas OMRON CJ/CP1 47


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Ejemplo de Aplicación:

Con el error leve (FAL), el autómata sigue


funcionando (10.01 está activo) y puede
borrarse bien desde el programa, la consola
de programación, o utilizando la marca o
entrada de borrado (en el ejemplo la entrada
1.00).

Con un error grave FALS, el autómata se


detendrá (10.02 está desactivado). Hasta que
no se borre el error (y se corrija la causa que
lo ha provocado) desde el programa o
mediante una consola de programación (hay
que acceder físicamente al autómata), no
podrá volver a ponerse en servicio.

Para resetear el fallo primero habrá que


poner el autómata en modo STOP/PROG.

Programación de autómatas OMRON CJ/CP1 48


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Control de programas (Tareas) (TKON/TKOF)


Existen dos tipos fundamentales de programas (tareas):

 Tares cíclicas: Se ejecutan una vez en cada ciclo de scan, siempre que estén habilitadas.

 Tareas de interrupción: Sólo se ejecutan en determinadas condiciones, mientras la condición de


ejecución esté habilitada. En ocasiones sólo se ejecutarán durante un ciclo de scan.

En los PLC Omron de la serie CP/CS/CJ (no está disponible para la los autómatas antiguos de la serie C),
se pueden cargar varios programas que se ejecutarán de forma cíclica, por tareas de interrupción o
pueden ser llamados desde otro programa o tarea. Esta organización permite una mejor estructura y
más claridad en desarrollo y seguimiento de los programas.

Desde el árbol de proyectos podemos crear un nuevo


programa (las opciones disponibles dependerán del
modelo de PLC utilizado, SFC sólo está disponible en la
gama CJ y superiores, mientras que en texto
estructurado sólo se podrá usar a partir de la serie CP).

Los nuevos programas por defecto NO tienen asignada una tarea


de ejecución, esto es, NO se ejecutan a menos que sean llamados
desde alguna otra rutina. Si se trata de un programa que se debe
ejecutar de forma cíclica o por interrupciones, deberemos
indicarlo.

Editando las propiedades del programa (menú


en botón derecho sobre el nombre) podremos
asignarlo a una tarea cíclica o de interrupción.

Por defecto las tareas cíclicas están siempre activas, a partir de la Tarea cíclica 00 el resto de programas
se irán ejecutando desde la tarea de menor número a la de mayor de forma secuencial.

Sin embargo, desde la ventana de propiedades


del programa se puede indicar que una tarea
concreta no esté activa de forma automática,
desmarcando la pestaña ‘Inicio de operación’.

En ese caso, ese programa (tarea) no se ejecutará


hasta que sea llamado desde otro programa
mediante las instrucciones de control de programa TKON/TKOF que habilitan y deshabilitan la ejecución.

Programación de autómatas OMRON CJ/CP1 49


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

El control de tareas cíclicas sólo puede hacerse desde otras tareas (programas) cíclicos, NO puede
hacerse desde tareas de interrupción ya que daría un error.

El número de tares admitidas depende del modelo de PLC, en el CJ1M y CP1L dispone de 32 tareas
cíclicas y 255 de interrupción, mientras que en el CJ2M tendremos hasta 128 tareas cíclicas.

Nota: Las instrucciones de tareas que se encuentran en standby NO se ejecutarán, pero se mantendrá
su estado de E/S. Cuando una tarea se devuelve a su estado ejecutable, las instrucciones se ejecutarán
con el estado de E/S mantenido.

TASK ON TKON(820) / @TKON(820) TASK OFF TKOF(821) / @TKOF(821)

Convierte la tarea especificada en ejecutable. Pone la tarea especificada en modo de


espera.

Si el número de a tarea especificada (n) es Si el número de a tarea especificada (n) es


menor que el de la tarea desde la que se menor que el de la tarea desde la que se
llama (m), (m<n) la tarea se ejecutará en el llama (m), (m<n) la tarea quedará
mismo ciclo de scan. deshabilitada en el mismo ciclo de scan.

En caso contrario (m>n), la tarea será En caso contrario (m>n), la tarea será
habilitada, pero no se ejecutará hasta el deshabilitada en el siguiente ciclo de scan.
siguiente ciclo de scan.

Para controlar el estado en que se encuentran las tareas cíclicas se pueden consultar los bits TK00 a
TK31, que estarán activos (1) cuando la tarea se ejecuta y desactivados (0) cuando está detenida.

Ejemplo de aplicación

Creamos un nuevo programa al que asignamos la tarea cíclica 3,


desmarcando la pestaña de inicio de operación.

En esa tarea creamos un programa como el siguiente, que incrementa


1 unidad cada segundo y activa el bit 10.01.

Programación de autómatas OMRON CJ/CP1 50


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

En el programa principal (tarea cíclica 00) insertamos las instrucciones de control de programa de esa
tarea (03) y comprobamos su funcionamiento.

Al activar el programa comprobamos que inicialmente NO se producen incrementos en D10, hasta que
la habilitemos mediante el bit 0.00. A partir de entonces comenzará a contar a la vez que el bit 10.01
parpadea. Si ponemos el bit 0.00 a OFF, el programa seguirá funcionando de la misma forma hasta que
con el bit 0.01 deshabilitemos la ejecución del programa.

Realizar la secuencia anterior varias veces, comprobando que en ocasiones el bit 10.01 puede quedar
activo, incluso cuando la tarea está deshabilitada.

Con la tarea deshabilitada no se activa la salida ni se incrementa D10.

Habilitando y deshabilitando el programa puede quedar el bit 10.01 activo incluso con el control de
programa deshabilitado.

Programación de autómatas OMRON CJ/CP1 51


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

9. Uso de las instrucciones de expansión (cortesía de Joaquim Rosell Carbonell)


Introducción

Los modelos más básicos de autómatas, como los CPM2A, tienen una memoria de instrucciones
relativamente limitada y no incluyen por defecto todas las instrucciones que pueden ejecutar, ya que
solo incorporan aquellas de uso más común. Por ejemplo, la instrucción PID(-) puede ser ejecutada por
los autómatas aunque por defecto no venga instalada en él, por la tanto es necesario “cargarla”
previamente.

A estas instrucciones que se pueden ejecutar pero que hay que cargar se las denomina Instrucciones de
Expansión. Los pasos que hay que seguir para cargarlas se detallan a continuación:

1. Selección de las instrucciones a cargar

El primer paso es seleccionar que instrucciones de expansión hay que cargar. Para ello se hace doble clic
sobre “Instrucciones de Expansión” dentro del desplegable del proyecto de la izquierda. Se abre una
ventana y en ella seleccionamos qué “Instrucción” queremos cargar y en qué “Hueco de Expansión”.
Esto se consigue haciendo clic en “Añadir” o “Eliminar”.

En el ejemplo se ha cargado la instrucción PID en el hueco 17.

2. Configuración del autómata

A continuación hay que indicarle al autómata que vamos a usar


instrucciones que no vienen instaladas por defecto. Para hacerlo
abrimos la ventana de “Configuración” del desplegable del
proyecto.

Programación de autómatas OMRON CJ/CP1 52


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

En la pestaña “Arranque” seleccionamos la opción “Configuración de Usuario” dentro del submenú


“Instrucciones de expansión”.

Una vez seleccionado se carga SOLO la “Configuración” en el


autómata. (El “Programa” también se puede cargar, lo que NO debe
cargarse son las “Instrucciones de Expansión”).

A continuación desconectamos el autómata, esperamos a que se


apague del todo y lo volvemos a encender. Ahora ya podemos
mandarle las funciones de expansión.

Seleccionamos “Funciones de Expansión”, “Programa” si queremos,


pero NO la “Configuración”, ya que si lo hacemos nos dará error.

Y ahora ya podremos usar las instrucciones de expansión cargadas.

Programación de autómatas OMRON CJ/CP1 53


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Anexos:

Creación de la tabla de símbolos mediante editor externo


La edición de la tabla de símbolos es, en general, bastante engorrosa ya que hay que crearlos uno a uno,
bien cuando se edita el programa o bien directamente desde el editor.

Mediante una utilidad de hoja de cálculo como puede ser Microsoft Excel, podemos hacerlo de una
forma mucho más cómoda. Para ello crearemos una tabla con 4 columnas con los datos Nombre, tipo,
dirección y comentario (el comentario no es obligatorio, pero sí muy recomendable ya que se usa en la
utilidad SwitchBox). Sería como lo siguiente:

Copiaremos las celdas en el portapapeles, iremos a la tabla de símbolos de CX Programmer y con el


botón derecho del ratón seleccionaremos en ‘Pegar’. Se abrirá una ventana en la que podremos
modificar la posición de las celdas, si estuvieran mal organizadas.

Tras pulsar en ‘Aceptar’ quedarán incorporados a la tabla de símbolos y los podremos seleccionar
directamente en el editor de programas del proyecto:

Programación de autómatas OMRON CJ/CP1 54


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Inserción de etiquetas de símbolos en la utilidad SwitchBox


Es posible insertar etiquetas de forma automática para que nos sea más fácil trabajar con el simulador
de OMRON. Existen 3 métodos para hacerlo.

Siempre que lo hagamos desde CX-Programmer, lo que se va a importar como etiqueta en SwitchBox es
el comentario que hayamos metido en el símbolo o en el programa. Si no hemos introducido
comentarios, no se importarán.

Método 1: Importar desde el programa (ONLINE)

En este caso deberás estar conectado al simulador y se importan sólo los comentarios del programa (no
los símbolos), estén o no en la tabla de símbolos. En la Utilidad SwitchBox seleccionamos (si no estamos
conectados al PLC no nos aparecerá dicha opción.

File > Comments > Import >>> Import From PLC

De esta forma los comentarios de los contactos se incorporan al SwitchBox, lo que facilita mucho el
seguimiento y simulación del programa.

Programación de autómatas OMRON CJ/CP1 55


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Método 2: Importar desde la tabla de símbolos (OFFLINE)

Se importarán sólo las direcciones y los comentarios que haya en la tabla de símbolos. No es necesario
que esté conectado el simulador al programa.

Después de copiar la tabla de símbolos, en la Utilidad SwitchBox seleccionamos

File > Comments > Import >>> Import From Clipboard

Los comentarios de la tabla de símbolos se incorporarán directamente a las direcciones en el SwitchBox

Programación de autómatas OMRON CJ/CP1 56


Roberto Álvarez Sindín. IES Cavanilles. Alicante Curso 15FP35CF005

Método 3: Importar desde un archivo de texto

Es el procedimiento más cómodo ya que en los casos anteriores se necesita que previamente se hayan
introducido los comentarios asociados a los contactos en el programa o en la tabla de símbolos (cosa
que por otro lado es muy recomendable).

Bastará con crear un archivo de textos con el bloc de notas o programa similar introduciendo los datos
de la siguiente forma:

(espacio) Tabulador Tipo Tabulador Dirección Tabulador Comentario (Salto de línea)

 Tipo: BOOL ó CHANNEL


 Dirección: En formato canal.bit o DM (ejemplos: 10.01, 1.00, T01, D10…)
 Comentario: Será la etiqueta que aparecerá identificando al bit o canal.

Ejemplo de archivo válido (a la derecha la imagen que muestra los símbolos de formato):

BOOL 1.00 TERMICO


BOOL 1.01 PARO
BOOL 1.02 MARCHA
CHANNEL T01 TEMPORIZADOR
BOOL 10.01 KM1

Una vez dado el formato al archivo se guarda en formato TXT. Desde SwitchBox seleccionamos:

File > Comments > Import >>> Import From Comment File

Con el botón Reference localizaremos la ruta al


archivo de texto.

Programación de autómatas OMRON CJ/CP1 57

También podría gustarte