Apuntes Automatas Programables Siemens y Omron
Short Description
Download Apuntes Automatas Programables Siemens y Omron...
Description
Curso de Autómatas Programables Siemens y Omron. 120h.
Formadores: Luis Alberto Rodríguez Soto.
Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
AUTÓMATAS PROGRAMABLES ÍNDICE: 1
INTRODUCCIÓN A LOS AUTÓMATAS PROGRAMABLES.
2
CONSTITUCIÓN DE UN AUTÓMATA PROGRAMABLE.
3
SISTEMAS Y CÓDIGOS DE NUMERACIÓN.
4
SENSORES Y TRANSDUCTORES.
5
ACTUADORES.
6
MONTAJE DEL AUTÓMATA PROGRAMABLE.
7
LENGUAJES DE PROGRAMACIÓN DE LOS PLCS
8
INTRODUCCIÓN A LA PROGRAMACIÓN.
9
PROGRAMACIÓN AUTÓMATAS SIEMENS.
10 INSTRUCCIONES AUTÓMATAS SIEMENS. 11 PROGRAMACIÓN AUTÓMATAS OMRON. 12 INSTRUCCIONES AUTÓMATAS OMRON. 13 ANEXOS.
pág. 2 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
1.- Introducción a los Autómatas Programables.
pág. 3 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
1.- Introducción a los autómatas programables. 1.1.- Definición de autómata programable. Entendemos por Autómata Programable, o PLC (Controlador Lógico Programable), toda máquina electrónica, diseñada para controlar en tiempo real y en medio industrial procesos secuenciales. Su manejo y programación puede ser realizada por personal eléctrico o electrónico sin conocimientos informáticos. Realiza funciones lógicas: series, paralelos, temporizaciones, contajes y otras más potentes como cálculos, regulaciones, etc. Otra definición de autómata programable sería una «caja» en la que existen, por una parte, unos terminales de entrada (o captadores) a los que se conectan pulsadores, finales de carrera, fotocélulas, detectores...; y por otra, unos terminales de salida (o actuadores) a los que se conectarán bobinas de contactores, electroválvulas, lámparas..., de forma que la actuación de estos últimos está en función de las señales de entrada que estén activadas en cada momento, según el programa almacenado. 1.2.- Automatismos. Mandos programados. Se denomina automatización a la incorporación de un dispositivo tecnológico (automatismo) que se encarga de controlar el funcionamiento de la máquina o proceso.
La automatización de una máquina o proceso productivo simple tiene como consecuencia la liberación física y mental del hombre de dicha labor. Entendemos por «automatismo» el dispositivo físico (ya sea eléctrico, neumático electrónico, etc.) que realiza esta función controlando su funcionamiento. pág. 4 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
La incorporación de la automatización tiene como ventajas: ¾ Sube la calidad y homogeneidad. ¾ Baja stock (just in time). ¾ Sube productividad. ¾ Bajan costes. ¾ Adaptación a pequeñas series. 1.3.- Características de las distintas tecnologías de automatización: ¾ Tecnología cableada: • Necesita mucho espacio. • Poco flexibles. • Averías difíciles. • Difícil de implementar. ¾ Tecnología programada: • Miniordenadores, PCs :
No adaptado a medio industrial.
Programación compleja.
Costo elevado.
Mantenimiento complejo.
• Autómata programable:
Adaptado a medio industrial.
Programación sencilla.
Mantenimiento sencillo.
Modular (fácil de ampliar).
Memoria programable (facilita cambios).
Pequeñas dimensiones.
pág. 5 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
2.- Constitución de los Autómatas Programables.
pág. 6 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
2.- Constitución de los autómatas programables. Existen dos estructuras básicas para los autómatas programables: 9 Compacta: Consiste en una única pieza en la que se integran todos los elementos. Hace del PLC un producto robusto.
pág. 7 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
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.
9 Modular: en los que la CPU, la fuente de alimentación, las entradas, las salidas, etc..., son cada una un módulo que se elige en función de la aplicación requerida. Deben existir compatibilidades.
pág. 8 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
La estructura básica de un autómata programable es la descrita en los siguientes puntos. ¾ Sección de entradas: Pueden ser digitales o analógicas. A estas líneas conectaremos los sensores (captadores) ¾ Sección de salidas: También pueden ser de carácter digital o analógico. A estas líneas conectaremos los actuadores.
¾ Unidad central de proceso (CPU): Se encarga de procesar el programa que el usuario ha introducido. La CPU toma, las instrucciones programadas por el usuario y las va ejecutando, cuando llega al final de la secuencia de instrucciones, la CPU vuelve al principio y sigue ejecutándolas de manera cíclica. Para ello, dispone de diversas zonas de memoria, registros, e instrucciones de programa. ¾ Dispositivos periféricos: Como nuevas unidades de E/S, más memoria, unidades de comunicación en red, etc... ¾ Unidad de alimentación (algunas CPU's la llevan incluida). ¾ Consola de programación: Nos permitirá introducir, modificar y supervisar el programa de usuario. Tiende a desaparecer, debido a que la mayoría se programan a partir del PC mediante programas específicos facilitados por cada fabricante. ¾ Interfaces: facilitan la comunicación del autómata con otros dispositivos (como un PC), autómatas, etc...
pág. 9 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
pág. 10 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
2.1.- Fuente de alimentación. Es la encargada de convertir la tensión de la red, 220V corriente alterna, a baja tensión de corriente continua, normalmente a 24V. Siendo esta la tensión de trabajo en los circuitos electrónicos que forma el autómata. 2.2.- Unidad Central de Proceso o CPU. La CPU realiza el control interno y externo del autómata y la interpretación de las instrucciones del programa. A partir de las instrucciones almacenadas en la memoria y de los datos que recibe de las entradas, genera las señales de las salidas. Otra de las funciones de la CPU es la de encargarse de la comunicación con los distintos periféricos. En la memoria ROM (memoria de solo lectura Read Only Memory) se almacenan programas para el correcto funcionamiento del sistema (programa que le indica al autómata cual es su función => fabricante), como el programa de comprobación de la puesta en marcha y el programa de exploración de la memoria RAM. La memoria RAM (memoria de lectura y escritura Random Access Memory) a su vez puede dividirse en dos áreas: ¾
Memoria de datos, en la que se almacena la información de los estados de las entradas y salidas y de variables internas.
¾
Memoria de usuario, en la que se almacena el programa con el que trabajará el autómata. Organizada en registros y palabras formadas por un número determinado de bits que depende del tipo de procesador que emplea el autómata (8, 16, 32,…).
En el frontal de la CPU se encuentra la llave de cambio de estado (Run, Prog, Test), los leds de diagnóstico, puertos de comunicación y switches (interruptores) para configurar la CPU. La CPU recibe las órdenes del operario por medio de la consola de programación y el módulo de entradas. Posteriormente las procesa para enviar respuestas al módulo de salidas. Contiene las siguientes partes: ¾ Temporizadores y contadores. ¾ Memoria de programa. ¾ Memoria de datos. ¾ Memoria imagen de entrada. ¾ Memoria de salida.
pág. 11 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
2.3.- Módulo de entrada. Es al que se unen los captadores (interruptores, finales de carrera, pulsadores,...). Tiene por función adaptar las tensiones de trabajo a las del autómata proporcionar separación eléctrica entre los circuitos lógicos y los de potencia (E/S optoacopladas) e identificar las direcciones de las E/S mediante soporte físico. Los captadores se pueden clasificar atendiendo a la naturaleza del dispositivo conectado a la entrada del autómata como: ¾ Captadores Pasivos. Son aquellos que cambian su estado lógico, activado no activado, por medio de una acción mecánica. Estos son los Interruptores, pulsadores, finales de carrera, etc.
¾ Captadores Activos. Son dispositivos electrónicos que necesitan ser alimentados por una tensión para que varíen su estado lógico. Este es el caso de los diferentes tipos de detectores (Inductivos, Capacitivos, Fotoeléctricos). Muchos de estos aparatos pueden ser alimentados por la propia fuente de alimentación del autómata.
Cada cierto tiempo el estado de las entradas se transfiere a la memoria imagen de entrada. La información recibida en ella, es enviada a la CPU para ser procesada de acuerdo a la programación.
pág. 12 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Los módulos de entrada pueden a su vez ser de varios tipos: ¾ Entradas digitales: Son las más usadas. Sólo admiten valores TODO (con tensión) o NADA (sin tensión). Pueden ser de 24Vcc (las más típicas), de 110Vca (antiguamente en maniobras) 230Vca 24Vca, TTL. ¾ Entradas analógicas: Trabajan con conversores A/D, a su vez pueden ser:
señales
analógicas,
emplean
•
De tensión: Son las más comunes. Pueden ser de -10 a +10 V: Bipolares. De 0 a +10V, 1 a +5V: Unipolares.
•
De corriente: de – 20 a 20 mA: Bipolares. De 4 a 20 mA: Unipolares.
2.4.- Módulo de salidas. Es el encargado de activar y desactivar los actuadores (bobinas de contactores, lámparas, motores pequeños,...). La información enviada por las entradas a la CPU, una vez procesada, se envía a la memoria de imagen de salidas, de donde se envía a la interface de salidas para que estas sean activadas. Según el tipo de proceso a controlar por el autómata, podemos utilizar diferentes módulos de salidas. Existen tres tipos bien diferenciados: ¾
A relés: son usados en circuitos de corriente continua y corriente alterna. Están basados en la conmutación mecánica, por la bobina del relé, de un contacto eléctrico normalmente abierto. Son salidas lentas, tienen una vida menor que las de transistor y pueden trabajar con mayor intensidad que las salidas de transistor.
¾
A triac: se utilizan en circuitos de corriente continua y corriente alterna que necesitan maniobras de conmutación muy rápidas.
pág. 13 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
¾
A transistores a colector abierto: son utilizados en circuitos que necesiten maniobras de conexión / desconexión muy rápidas. El uso de este tipo de módulos es exclusivo de los circuitos de corriente continua.
2.5.- Terminal de programación. El terminal o consola de programación es el que permite comunicar al operario con el sistema. Las funciones básicas de éste son las siguientes: ¾
Transferencia y modificación de programas.
¾
Verificación de la programación.
¾
Información del funcionamiento de los procesos.
Como consolas de programación pueden ser utilizadas las construidas específicamente para el autómata, tipo calculadora o bien un ordenador personal, PC, que soporte un software específicamente diseñado para resolver los problemas de programación y control. Las programadoras son exclusivas y caras motivo por el cual están actualmente en desuso. 2.6.- Periféricos. Los periféricos no intervienen directamente en el funcionamiento del autómata, pero sin embargo facilitan la labor del operario. Los más utilizados son: ¾
Impresoras.
¾
Cartuchos de memoria EPROM.
¾
Visualizadores de operación.
¾
Memorias EEPROM.
¾
Teclados.
pág. 14 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
2.7.- Principio de funcionamiento del autómata. La mayoría de los autómatas actuales se basan en el concepto de la ejecución cíclica de las instrucciones ubicadas en su memoria. El programa es una serie de instrucciones grabadas en la memoria, un ciclo de proceso consiste inicialmente en la consideración de una serie de entradas que seguidamente serán fijadas para todo el ciclo. Después, el autómata ejecuta una instrucción tras otra hasta finalizar el programa y finalmente se definen las órdenes a aplicar sobre las salidas. El ciclo se reproduce así indefinidamente. Al tiempo que tarda en ejecutarse este ciclo se le denomina tiempo de respuesta (scan) o tiempo de ciclo. Un PLC una vez conectado a la red eléctrica tiene básicamente dos modos de funcionamiento: 1. Stop. En este modo no se ejecuta el programa de control. 2. Run. En este modo el programa de control se está ejecutando de manera indefinida (ciclo de scan) hasta que o bien el PLC pasa al modo Stop o bien se desconecta de la alimentación. Ciclo de scan: 9 Primero se leen los estados en las entradas, y se memorizan en la imagen de proceso de las entradas (PAE). 9 Con estas informaciones trabaja luego el programa de control cuando se ejecuta. De acuerdo a la lógica definida en el programa se modifica el estado de las salidas depositadas en la imagen de proceso de las salidas (PAA). 9 En la última etapa del ciclo, los estados memorizados en la PAA se transfieren a las salidas físicas. Seguidamente comienza de nuevo el ciclo. Un ciclo dura normalmente entre 3 y 10ms. La duración depende del número y tipo de instrucciones utilizadas. El ciclo consta de dos partes principales: 1. Tiempo del sistema operativo, normalmente 1ms, corresponde con las fases 1 y 3. 2. Tiempo para ejecutar las instrucciones, corresponde con la fase 2. El ciclo sólo se ejecuta cuando el PLC se encuentra en estado RUN.
pág. 15 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
pág. 16 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
3.- Códigos de Numeración.
pág. 17 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
3.- Códigos de numeración. Los números se pueden representar en distintos sistemas de numeración que se diferencian entre si por su base. Así el sistema de numeración decimal es de base 10, el binario de base 2, el octal de base 8 y el hexadecimal de base 16. El diseño de todo sistema digital responde a operaciones con números discretos y por ello necesita utilizar los sistemas de numeración y sus códigos. En los sistemas digitales se emplea el sistema binario debido a su sencillez. Cualquier número de cualquier base se puede representar mediante la siguiente ecuación polinómica:
N = a 1 ⋅ b n + a 2 ⋅ b n − 1 + a 3 ⋅ b n − 2 + ... + a 0 ⋅ b 0 + a − 1 ⋅ b − 1 + ... Siendo b la base del sistema de numeración. Se cumplirá que b>1; ai es un número perteneciente al sistema que cumple la siguiente condición: 0 ≤ ai signo negativo. Exponente: 2128-127 = 21 = 2 Mantisa: 1+6291456 .2-23 = 1 + 0,75 = 1,75 Resultado: -1,75 .2 = -3,5. En coma flotante se pueden representar: ¾ Infinito (∞) (e = 255, M = 0, s = 0). ¾ -3,402823.1038 => -1,175494.10-38. ¾ 0 (e=0). ¾ 1,175494.1038 => 3,402823.1038. ¾ -infinito(-∞) (e = 255, M = 0, s = 1). ¾ NaN (e = 255, M ≠ 0), número no válido.
pág. 28 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.- Sensores y Transductores
pág. 29 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.- Sensores y transductores. En todo proceso de automatización es necesario captar las magnitudes de planta, para poder así saber el estado del proceso que estamos controlando. Para ello se emplean los sensores y transductores, términos que se suelen emplear como sinónimos aunque el transductor engloba algo más amplio.
Se puede definir un transductor como un dispositivo que convierte el valor de una magnitud física en una señal eléctrica codificada, ya sea en forma analógica o digital. No todos los transductores tienen por qué dar una salida en forma de señal eléctrica (ejemplo: un termómetro), pero para aplicaciones industriales como las que nos ocupan suele ser lo más frecuente. 4.1.- Estructura de un transductor. Si nos limitamos a los transductores que se emplean para conectar a autómatas programables, a través de las interfaces adecuadas, podemos distinguir las siguientes partes que los componen: ¾ Elemento sensor o captador. Convierte las variaciones de una magnitud física en variaciones de una magnitud eléctrica (señal). ¾ Tratamiento de la señal. Si existe, realiza la función de modificar la señal obtenida para obtener una señal adecuada (filtrado, amplificación, etc.). ¾ Etapa de salida. Comprende los circuitos necesarios para poder adaptar la señal al nivel requerido para la carga exterior.
pág. 30 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Según la forma de codificar la magnitud medida, podemos realizar la siguiente clasificación: ¾ Analógicos: aquellos que proporcionan un valor de tensión o corriente entre un rango previamente fijado (normalmente 0-10 V o 4-20 mA). ¾ Digitales: aquellos que proporcionan una señal codificada en pulsos o en alguna codificación digital (como BCD, binario, etc.). ¾ Todo-nada (Binarios): aquellos que únicamente poseen dos estados, los cuales están separados por un valor umbral de la variable detectada. Ejemplos: finales de carrera. Tabla de transductores:
Magnitud detectada
Transductor
Características
Posición lineal o angular
Potenciómetro Encoders
Analógico Digital
Desplazamiento o deformación
Galga extensométrica
Analógico
Velocidad lineal o angular
Dinamo tacométrica Encoders Detector inductivo u óptico
Analógico Digital Digital
Aceleración
Acelerómetro
Analógico
Fuerza y par
Medición indirecta por galgas o trafos diferenciales
Analógicos
Presión
Membrana + detector desplazamiento Piezoeléctrico
Analógico Analógico
Caudal
De turbina Magnético
Analógico Analógico
Temperatura
Termopar Resistencias PT100 Resistencias NTC Resistencias PTC Bimetálicos
Analógico Analógico Analógico Todo-nada Todo-nada
Presencia o proximidad
Inductivo Capacitivo Óptico Ultrasónico
Todo-nada/analógico Todo-nada Todo-nada/analógico Analógico pág. 31
Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.2.- Sensores interruptores. Son dispositivos eléctricos, neumáticos o mecánicos situados al final del recorrido de un elemento móvil, como por ejemplo una cinta transportadora, con el objetivo de enviar señales que puedan modificar el estado de un circuito. Internamente pueden contener interruptores normalmente abiertos (NA o NO en inglés), cerrados (NC) o conmutadores dependiendo de la operación que cumplan al ser accionados, de ahí la gran variedad de finales de carrera que existen en mercado. Generalmente estos sensores están compuestos por dos partes: un cuerpo donde se encuentran los contactos y una cabeza que detecta el movimiento. Su uso es muy diverso, empleándose, en general, en todas las máquinas que tengan un movimiento rectilíneo de ida y vuelta o sigan una trayectoria fija, es decir, aquellas que realicen una carrera o recorrido fijo, como por ejemplo ascensores, montacargas, robots, etc.
4.3.- Sensores de proximidad inductivos. Un sensor de proximidad detecta un objeto, metálico o no, sin necesidad de tener contacto físico con él. Se basa en la variación de los campos eléctricos (capacitivos) o electromagnéticos (inductivos). Es capaz de abrir o cerrar un circuito eléctrico. Las características que definen un sensor de proximidad son: ¾ Distancia de detección nominal (Sn): Rango de operación. Distancia a la que el interruptor de proximidad detecta al objeto patrón. No tiene en cuenta las tolerancias de fabricación ni las condiciones (temperatura, alimentación,…). ¾ Distancia de detección real (Sr). Distancia de detección medida con el objeto patrón en condiciones reales (tensión de alimentación, temperatura ambiente …). Debe mantenerse en el rango de 0.9Sn < Sr < 1.1Sn.
pág. 32 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
¾ Distancia de detección útil (Su). Distancia de detección medida con el objeto considerando fluctuaciones en la tensión de alimentación, temperatura,… Debe mantenerse en el rango de 0.9Sr < Su < 1.1Sr. ¾ Distancia diferencial (Histéresis). Es la diferencia de distancias entre la posición de actuación, cuando el objeto se acerca, y la distancia de reposición, cuando el objeto se aleja. Se expresa en % de la distancia de detección nominal (Sn). Evita el efecto de rebotes. Sn
Histéresis
Los sensores inductivos pueden ser de distintos tipos: ¾ De dos hilos. ¾ De tres hilos. ¾ De cuatro hilos.
pág. 33 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.4.- Sensores de proximidad capacitivos. El principio de funcionamiento es la variación de la capacidad de un condensador en respuesta a la variación de alguna magnitud física. Si el objeto es metálico se forma un condensador entre él y las dos placas. La capacidad aumenta al acercarse el objeto a las placas. Si el objeto es aislante, al acercarse a las placas aumenta la constante dieléctrica y por tanto la capacidad (todos los líquidos y sólidos no conductores tienen un valor de la constante dieléctrica mayor que la del aire).
pág. 34 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.5.- Sensores fotoeléctricos. El principio de funcionamiento se basa en el cambio del comportamiento eléctrico de un componente en presencia o no de luz. Están formados por un elemento que recibe emisiones luminosas y las transforma en una señal eléctrica. La luz puede provenir de un elemento fotoemisor colocado en el mismo sistema o del ambiente externo. Pueden trabajar en el espectro de luz visible o en el infrarrojo cercano.
4.5.1.- Las fotocélulas. Son elementos sensores formados por un emisor de luz y una fotocélula de detección. Características generales: ¾ Detección de cualquier tipo de material (plástico, papel, metal, opaco, transparente) ¾ Distancias de detección desde centímetros hasta metros. ¾ Protección contra perturbaciones electromagnéticas. ¾ Tipos de salida: Semiconductor y relé. ¾ Tiempos de respuesta relativamente altos. ¾ Dos modos de funcionamiento: función luz (recepción de luz equivale a salida activada) o función sombra (sin recepción de luz equivale a salida activada). ¾ Tensión de alimentación: 24 – 230VAC, 10 – 30VDC.
pág. 35 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Procedimientos de detección: ¾ Detección por bloqueo de la luz emitida 1. Barrera. 2. Reflex. 3. Reflex polarizado. ¾ Detección por reenvío de la luz emitida 1. Proximidad. 2. Proximidad con borrado del plano posterior. 4.5.2.- Barreras. Características:
Emisor y receptor en cajas separadas.
Gran alcance.
Dirección precisa y fiable.
Adaptada a los entornos difíciles.
Requiere una alineación precisa del emisor y el receptor
pág. 36 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.5.3.- Reflex. Características:
Emisor y receptor en la misma caja.
Instalación sencilla.
El reflector debe ser más pequeño que el objeto a detectar.
Requiere un posicionamiento preciso del detector.
Hay que evitar reflexiones parásitas.
4.5.4.- Reflex polarizado. Características:
Emisor y receptor en la misma caja.
Permite detectar objetos altamente reflectantes.
El haz se emite polarizado verticalmente. El objeto reflectante cambia el ángulo de polarización por lo que el receptor solamente acepta rayos polarizados horizontalmente.
pág. 37 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.6.- Ejemplos de automatizaciones. Control de la posición de cada pieza debajo de la herramienta.
Medición de la velocidad o posición del sistema de arrastre.
pág. 38 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
4.7.- Codificadores ópticos rotativos. Son captadores de posición angular. Partes: ¾ Un eje al que se le transmite el movimiento. ¾ Un disco con una o varias pistas de zonas transparentes y opacas, sujeto al eje. ¾ Elementos captadores (fotodiodos) y emisores (LEDs) de luz situados en caras opuestas del disco. ¾ Circuitos de acondicionamiento de las señales de salida.
La luz incide en los fotodiodos cada vez que entre éstos y los emisores se interpone una zona transparente. Los fotodiodos generan una tensión cuando reciben luz por tanto la salida se activa y desactiva en función de la posición del disco.
pág. 39 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Ventajas: x
La posición de un móvil queda completamente controlada por el sistema de procesamiento en lugar de realizarse físicamente por medio de captadores instalados en la máquina.
x
Adecuada respuesta a los cambios bruscos de velocidad.
x
Alta inmunidad a las condiciones del entorno de trabajo.
Desventajas: x
La vida útil, la fiabilidad y la velocidad de respuesta están limitadas por las partes mecánicas.
x
Puede haber dificultad para su instalación en el sistema.
x
Incrementales. Proporcionan a la salida impulsos de tensión fija, proporcionales a la posición y/o velocidad de giro del eje. Pueden ser:
Tipos:
Unidireccionales. Permiten medir la velocidad angular o la posición del eje en un solo sentido de giro. Poseen una sola pista, un solo par emisor-receptor y, en ocasiones, un agujero de referencia de la posición. La frecuencia de la señal de salida es proporcional a la velocidad de giro. La posición se controla por el número de impulsos a partir del índice.
pág. 40 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
x
Bidireccionales. Permiten medir la velocidad de giro y la posición del eje para ambos sentidos de giro. Poseen una o dos pistas con los agujeros desfasados 90º y dos fotodetectores.
Absolutos. Permiten determinar la posición del eje mediante un código. Los discos poseen n pistas concéntricas divididas en segmentos opacos y transparentes, intercalados de forma adecuada para formar un código binario. Cada pista tiene un par emisor-receptor. Cada posición del eje coincide con un código binario.
pág. 41 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.- Actuadores.
pág. 42 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.- Actuadores. 5.1.- Introducción. En electricidad, se denomina automatismo al circuito que es capaz de realizar secuencias lógicas sin la intervención del hombre. Los automatismos se utilizan tanto en el sector industrial como en el doméstico, para operaciones como arranque y control de maquinaria, riego automático,… Los automatismos pueden ser cableados o programados (PLC). Nosotros nos limitaremos en este tema a los automatismos industriales cableados. 5.2.- Contactores. El contactor es un dispositivo electromagnético, que se puede controlar a distancia para cerrar o abrir circuitos de potencia. Podemos distinguir dos estados del contactor: ¾ Trabajo: Estado en el que se provoca su funcionamiento (estado de excitación) ¾ Reposo: Estado en el que el contactor no actúa.
pág. 43 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.2.1.- Clasificación de los contactores. Los contactores se pueden clasificar según distintos criterios: 5.2.1.1.- Según el tipo de accionamiento. ¾ Contactores neumáticos. Su principio de funcionamiento está basado en la acción de gases que ejercen presión. ¾ Contactores mecánicos. En estos contactores su activación se origina por medio de procesos mecánicos (muelles,…) ¾ Contactores hidráulicos. El sistema de accionamiento es un líquido (aceite, agua,…) ¾ Contactores electromagnéticos. El accionamiento se produce a través de un electroimán. 5.2.1.2.- Según la clase de corriente. ¾ Contactores de corriente alterna. La bobina del circuito magnético es alimentada con corriente alterna. ¾ Contactores de corriente continua. La bobina de su circuito magnético se alimenta con corriente continua. 5.2.1.3.- Según los límites de tensión. ¾ Contactores de alta tensión. Son los que sus contactos son capaces de soportar tensiones superiores a 1000V. ¾ Contactores de baja tensión. Sus contactos soportan como máximo tensiones de 1000V. 5.2.1.4.- Según el tipo de servicio. ¾ Contactores AC1 (cosφ>=0,9): cargas puramente resistivas para calefacción eléctrica. ¾ Contactores AC2 (cosφ=0,6): motores síncronos (de anillos rozantes) para mezcladoras, centrífugas. ¾ Contactores AC3 (cosφ=0,3): motores asíncronos (rotor jaula de ardilla) en servicio continuo para aparatos de aire acondicionado, compresores, ventiladores. ¾ Contactores AC4 (cosφ=0,3): motores asíncronos (rotor jaula de ardilla) en servicio intermitente para grúas, ascensores. En función de la categoría el número de maniobras del contactor podrá ser: 1. Servicio permanente: el contactor permanece conectado circulando por sus contactos principales la intensidad de empleo ininterrumpidamente por tiempo indefinido y superior a 8 horas. 2. Servicio de 8 horas: los polos del contactor pueden permanecer cerrados durante un tiempo suficiente alcanzando el equilibrio térmico, pero que no sobrepase las 8 horas sin interrupción. Al final de este periodo de tiempo, el contactor debe haber efectuado por lo menos, una desconexión en carga.
pág. 44 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
3. Servicio temporal: los polos del contactor pueden permanecer cerrados durante un tiempo insuficiente para que el circuito principal alcance el equilibrio térmico, pero permanece en reposo un tiempo suficiente para que el circuito principal se enfríe hasta adquirir la temperatura ambiente. En este tipo de servicio 10, 30, 60, 90 minutos se consideran valores normales. 4. Servicio intermitente: este servicio presenta períodos de trabajo y reposo, de duración constante y definida, es decir, ciclos de trabajo iguales compuestos cada uno de ellos por un tiempo de conexión y un tiempo de desconexión, siendo insuficiente la duración de cada tiempo para que el circuito principal alcance el equilibrio térmico. 5.2.2.- Partes de un contactor. El contactor dispone de las siguientes partes: Bobina, circuito magnético y contactos eléctricos.
5.2.2.1.- Bobina. Es el elemento del contactor que puede ser controlado a distancia cuando se aplica tensión a sus bornes. Está formado por hilo esmaltado de pequeño diámetro y muchas espiras, bobinado sobre un carrete de material aislante.
Bobinas de un contactor.
Los dos extremos de la bobina están etiquetados como A1 y A2 (antiguamente A y B). pág. 45 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Las bobinas pueden estar fabricadas para trabajar a una tensión concreta (12V, 24V, 48V, 230V,…), este valor viene indicado en la propia bobina. 5.2.2.2.- Circuito magnético. Consta de dos partes, la culata (núcleo) y el martillo (armadura). La culata es la parte fija y en ella se aloja la bobina del contactor. El martillo es la parte móvil. Ambas partes se mantienen separadas en reposo debido a un resorte.
Culata y martillo de un contactor.
5.2.2.3.- Contactos eléctricos. Están unidos a la parte móvil del circuito magnético. Cuando el martillo se desplaza, también lo hacen los contactos, abriendo los que están cerrados y cerrando los que están abiertos.
Contactos de un contactor.
En un contactor se pueden encontrar dos tipos de contactos: Los de fuerza y los de mando, también denominados auxiliares. Los contactos de fuerza están diseñados para un mayor poder de corte y se encargarán por tanto de controlar las cargas de potencia. Los de contactos de mando se utilizan para tareas auxiliares y de control. pág. 46 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Los contactos de fuerza serán indicados con un único número 1-2, 3-4, 5-6 y son normalmente abiertos.
Contactos principales
Contactos de mando (auxiliares)
Contactos principales y de mando de un contactor.
Contactos principales de un contactor.
Los de mando tienen números de 2 cifras 13-14, 23-24, 31-32,… y pueden ser normalmente abiertos o normalmente cerrados. A los contactores se les puede añadir contactos auxiliares normales o incluso temporizados.
Bloques de contactos auxiliares. pág. 47 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.2.3.- Principio de funcionamiento del contactor. Hans Christian Oersted (1777-1851) observó que al igual que un imán, una corriente que circula por un cable desvía la aguja de una brújula, que tiende a orientarse perpendicularmente al cable. Dado que las corrientes eléctricas producen campos magnéticos, el experimento de Oersted puso de manifiesto la relación entre electricidad y magnetismo (electromagnetismo). Al conectar una bobina a la red eléctrica, ésta se comporta como un electroimán, moviéndose el circuito magnético y con éste sus contactos (los contactos abiertos se cierran y los cerrados se abren), si se deja de aplicar tensión a la bobina ésta deja de estar excitada con lo que los contactos vuelven al estado inicial. 5.2.4.- Contactores auxiliares. Se denominan contactores auxiliares a aquellos que no tienen contactos principales (de potencia). Tienen el mismo aspecto físico que los contactores de potencia, pero con la diferencia de estar dotados únicamente de contactos de mando (auxiliares).
Contactor de potencia y contactor auxiliar.
pág. 48 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.2.5.- Relés. Disponen de un circuito electromagnético y un conjunto de contactos, su funcionamiento es idéntico al del contactor. Se diferencian de éstos en su tamaño, ya que los relés tienen un tamaño menor que los contactores. Por lo general el circuito electromagnético y los contactos de un relé se encuentran en un cabezal que se enchufa sobre un zócalo en el que están los bornes de conexión.
Aspecto de un relé.
Funcionamiento del relé.
pág. 49 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.2.6.- Simbología eléctrica. La simbología para representar a un contactor y a un relé son las mismas, sólo difiere en las letras de designación de los mismos. Identificador Símbolo
Elemento Relé
Contacto r
Bobina.
K, KA
K, KM
Contactos de fuerza.
K, KA
K, KM
Contacto de mando NA (NO)
K, KA
K, KM
Contacto de mando NC (NC)
K, KA
K, KM
5.2.7.- Elección de un contactor. Elegir un contactor para una aplicación concreta significa fijar la capacidad de un aparato para establecer, soportar e interrumpir la corriente en el receptor que se desea controlar, en unas condiciones de utilización establecidas, sin recalentamientos ni desgaste excesivo de los contactos. Cuando se va a elegir un contactor hay que tener en cuenta, entre otros factores, lo siguiente: ¾ Tensión de alimentación de la bobina. Puede ser continua o alterna, siendo ésta última la más habitual, y con tensiones de 12V, 24V, 48V, 110V o 230V. ¾ Número de maniobras, es decir, número de veces que el circuito electromagnético va a abrir y cerrar. Podemos necesitar un contactor que cierre una o dos veces al día, o quizás otro que esté continuamente abriendo y cerrando sus contactos. Hay que tener en cuenta el arco eléctrico que se produce cada vez que esto ocurre y el consiguiente deterioro. − Clase 0 Número de maniobras por hora menor o igual a 6. − Clase I Número de maniobras por hora menor o igual a 30. − Clase II Número de maniobras por hora menor o igual a 150. − Clase III Número de maniobras por hora menor o igual a 600. − Clase IV Número de maniobras por hora menor o igual a 1200. pág. 50 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
¾ Categoría de servicio. (UNE-EN60947.4.1) La categoría de servicio está relacionada con el poder de ruptura del contactor. Las normas han determinado 4 categorías de servicio para aplicaciones de corriente alterna y 5 para aplicaciones en corriente continua: ¾ Intensidad de los contactos principales. Uno de los datos imprescindibles es la intensidad que pueden soportar los contactos principales: − Intensidad nominal térmica (Ith): es la corriente que pueden soportar los polos o contactos principales de un contactor durante un mínimo de 8 horas sin que su temperatura sobrepase los límites fijados por las normas. − Intensidad de empleo o servicio (Ie): es la corriente que puede operar y está definida por la categoría de empleo (AC1, AC2, DC1,…) y la temperatura ambiente. Por lo tanto es conveniente el uso de catálogos de fabricantes en los que se indican las distintas características de los contactores en función del modelo. Otros parámetros de interés son: ¾ El poder de ruptura de un aparato, designa la mayor intensidad de corriente que puede cortar un aparato en unas condiciones de empleo dadas. ¾ El poder de conexión expresa la mayor corriente que este aparato es capaz de cerrar a una temperatura dada y en las características prescritas de empleo y funcionamiento sin que existan deterioros.
pág. 51 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.2.8.- Temporizadores o relés temporizados. Son unos dispositivos que se utilizan en los circuitos de mando y cuya misión es abrir o cerrar contactos transcurrido un tiempo desde que son activados o desactivados.
Relés temporizados.
Según su funcionamiento pueden ser: ¾ Temporizador a la conexión o al trabajo. Cuando la bobina es alimentada comienza el proceso de temporización. Después de transcurrido el tiempo temporizado sus contactos cambian de posición. Si en el proceso de temporización la tensión a la bobina se corta la temporización se inicia.
ON
Bobina OFF Cerrado Abierto
Contacto NA
Cerrado Abierto
Contacto NC
pág. 52 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
¾ Temporizador a la desconexión o al reposo. Cuando la bobina es alimentada los contactos actúan como si de un relé normal se tratase. Una vez desconectada la bobina es cuando comienza el proceso de temporización. Después de transcurrido el tiempo temporizado sus contactos cambian de posición.
ON
OFF
Bobina
Cerrado
Contacto NA Abierto Cerrado Abierto
Contacto NC
pág. 53 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.3.- Electroneumática. Neumática es la técnica que utiliza el aire comprimido como vehículo para transmitir energía Algunas aplicaciones de la neumática: •
Accionamiento de válvulas para aire, agua o productos químicos.
•
Accionamiento de puertas pesadas o calientes.
•
Descarga de depósitos en la construcción, fabricación de acero, minería e industrias químicas.
•
Apisonamiento en la colocación de hormigón.
•
Pintura por pulverización.
•
Sujeción y movimiento en la industria maderera.
•
Máquinas de embotellado y envasado.
•
Manipuladores neumáticos.
5.3.1.- Elementos de una instalación neumática. Un compresor que garantiza una presión neumática al circuito, es el que genera el aire comprimido. Se elige según la capacidad de presión necesarias para el circuito (bares).
Como el aire comprimido se coge del exterior es conveniente que pase por un filtro para eliminar las partículas de polvo que lleva.
pág. 54 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
A partir de tener el aire limpio se distribuye a las zonas necesarias, para alimentar a las electroválvulas que son las que controlan los actuadores como los cilindros.
Las electroválvulas que controlan siguientes:
el movimiento de los cilindros son las
pág. 55 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Aspecto de una electroválvula de cinco vías.
pág. 56 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Las válvulas de dos posiciones son las más utilizadas y dependiendo del tipo de accionamiento que lleven para cada posición, se pueden distinguir dos tipos válvulas biestables o monoestables: 5.3.2.- Válvulas monoestables: Llevan un accionamiento de electroimán para una posición y un accionamiento de muelle para la otra, que es la posición estable.
Mientras activemos la bobina de la electroválvula esta se posiciona en la posición 1, al dejar de activar la bobina la electroválvula vuelve a la posición 2 que es la posición de reposo por la acción del muelle.
5.3.3.- Válvulas biestables. Son válvulas en las cuales tienen los dos estados estables pos 1 y pos 2, esto significa que llevan dos bobinas o accionamientos electroimán una, para posicionar la pos 1 y otro para posicionar la pos 2.
Los cilindros, convierten energía neumática a energía mecánica con el desplazamiento del embolo. Los más típicos son de simple efecto, o de doble efecto.
pág. 57 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.3.4.- Cilindro de simple efecto
pág. 58 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
5.3.5.- Cilindro de doble efecto.
5.3.6.- Circuitos ejemplo. 5.3.6.1.- Control de la presión y de la velocidad de los émbolos. El regulador con antirretorno es el elemento que se utiliza para regular la velocidad y presión de los émbolos tanto en la acción de extensión como contracción. Siempre se coloca el regulador cuando quiero controlar la velocidad del embolo en la tubería de escape de aire, haciendo que el escape de aire pase por el regulador y así controlo el movimiento del embolo.
Este ejemplo tiene dos estranguladores E1 y E2. E1 controla la recogida del cilindro, mientras que E2 controla la salida del cilindro.
pág. 59 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
pág. 60 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
6.- Montaje del Autómata programable.
pág. 61 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
6.- Montaje del autómata programable. Los sistemas de automatización S7-200 se pueden disponer en un armario eléctrico o en un raíl DIN. Es posible montarlos de forma horizontal o vertical. Un sistema de automatización S7-200 se puede conectar a un módulo de ampliación utilizando uno de los métodos siguientes: ¾ Un cable plano con el correspondiente conector está incorporado en el módulo de ampliación para poder conectarlo fácilmente a la CPU o a otro módulo de ampliación. ¾ Con objeto de flexibilizar aún más el montaje, se ofrecen también cables de conexión para los módulos de ampliación. La figura siguiente muestra dos ejemplos típicos de disposición.
6.1.- Espacio necesario para montar una CPU S7-200. Al planificar la disposición de los módulos en el bastidor se deberán respetar las siguientes reglas: 9 Para las CPUs S7-200 y los módulos de ampliación se ha previsto la ventilación por convección natural. Por lo tanto, se deberá dejar un margen mínimo de 25 mm por encima y por debajo de las unidades para garantizar su ventilación. El funcionamiento continuo a una temperatura ambiente máxima y con una carga muy elevada reduce la vida útil de cualquier dispositivo electrónico. 9 Para el montaje vertical, la temperatura ambiente máxima se reduce en 10°C. La CPU se debe montar debajo de los módulos de ampliación. Si el montaje se efectúa en un raíl DIN vertical es preciso utilizar un tope. 9 Para el montaje horizontal o vertical en un armario eléctrico, se deben prever 75mm. 9 Al planificar la disposición de los módulos, prevea suficiente espacio para el cableado de las entradas y salidas, así como para las conexiones de los cables de comunicación.
pág. 62 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
6.2.- Montaje en un raíl DIN Las CPUs S7-200 y los módulos de ampliación se pueden montar en un raíl DIN estándar.
6.3.- Dimensiones del armario eléctrico Las CPUs S7-200 y los módulos de ampliación disponen de orificios para facilitar su montaje en armarios eléctricos. En la figura siguiente se indican las dimensiones necesarias para montar las diversas CPUs S7-200 y los módulos de ampliación.
pág. 63 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
6.4.- Reglas de carácter general Los puntos siguientes constituyen reglas de carácter general para la instalación y el cableado de los Micro-PLCs S7-200: 9 Al cablear un Micro-PLC S7-200 es necesario respetar todos los reglamentos, códigos y normas eléctricas vinculantes. Instale y utilice el equipo conforme a todas las normas nacionales y locales vigentes. Diríjase a las autoridades locales para informarse acerca de qué reglamentos, códigos o normas rigen en el lugar de instalación. 9 Utilice siempre cables con una sección adecuada para la intensidad. Los S7-200s aceptan cables con sección de 1,50 mm2 a 0,50 mm2. 9 No apriete excesivamente los bornes de tornillo, pues podrían pasarse de rosca. 9 Utilice siempre un cable lo más corto posible (apantallado o blindado, como máximo 500 metros, sin pantalla o blindaje, 300 metros). 9 Separe el cableado de corriente alterna y el cableado de corriente continua de alta tensión y rápida conmutación de los cables de señal de baja tensión. 9 Identifique y disponga adecuadamente el cableado hacia los S7-200s. 9 Instale dispositivos de supresión de sobretensiones apropiados en el cableado susceptible de recibir sobretensiones causadas por rayos. 9 Ninguna alimentación externa deberá aplicarse a una carga de salida en paralelo con una salida de corriente continua (DC). En caso contrario puede circular corriente inversa a través de la salida a menos que se instale un diodo u otra barrera.
pág. 64 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
7.- Lenguajes de Programación de los PLCs.
pág. 65 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
7.- Lenguajes de programación de los PLCs. Cuando surgieron los autómatas programables, lo hicieron con la necesidad de sustituir a los enormes cuadros de maniobra construidos con contactores y relés. Por lo tanto, la comunicación hombre-máquina debería ser similar a la utilizada hasta ese momento. El lenguaje usado debería ser interpretado con facilidad por los mismos técnicos electricistas que anteriormente estaban en contacto con la instalación. Estos lenguajes han evolucionado en los últimos tiempos, de tal forma que algunos de ellos ya no tienen nada que ver con el típico plano eléctrico a relés. 7.1.- Lenguaje a contactos: LD (Ladder Diagram) ó KOP. Es el que más similitudes tiene con el utilizado por un electricista al elaborar cuadros de automatismos. Muchos autómatas incluyen módulos especiales de software para poder programar gráficamente de esta forma.
Diagrama KOP Siemens.
Diagrama KOP Omron. pág. 66 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
El esquema de contactos (KOP) es un lenguaje de programación gráfico con componentes similares a los elementos de un esquema de circuitos. Al programar con KOP, se crean y se disponen componentes gráficos que conforman un segmento de operaciones lógicas. Para crear programas se dispone de los siguientes elementos:
Contactos: Representan un interruptor por el que la corriente puede circular. La corriente circula por un contacto normalmente abierto sólo cuando el contacto está cerrado (es decir, cuando su valor lógico es "1"). De forma similar, la corriente circula por un contacto normalmente cerrado o negado (NOT) sólo cuando el contacto está abierto (es decir, cuando su valor lógico es "0"). Bobinas Representan un relé o una salida excitada por la corriente. Cuadros Representan una función (por ejemplo, un temporizador, un contador o una operación aritmética) que se ejecuta cuando la corriente llega al cuadro.
Un segmento comprende esos elementos, representando un circuito completo. La corriente circula desde la barra de alimentación izquierda (representada en el editor KOP mediante una línea vertical en el lado izquierdo de la ventana) a través de los contactos cerrados para excitar las bobinas o los cuadros.
7.2.- Lenguaje por Lista de Instrucciones: IL ó AWL. En los autómatas de gama baja es el único modo de programación. Consiste en elaborar una lista de instrucciones o nemónicos que se asocian a los símbolos y su combinación en un circuito eléctrico a contactos. Este tipo de lenguaje es en algunos casos la forma más rápida de programación e incluso la más potente.
AWL Siemens.
AWL Omron. pág. 67
Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
7.3.- Plano de Funciones: FBD ó FUP. El plano de funciones lógicas resulta especialmente cómodo de utilizar a técnicos habituados a trabajar con circuitos de puertas lógicas, ya que la simbología utilizada en ambos es equivalente. El editor FBD o FUP (Diagrama de funciones) de permite visualizar las operaciones en forma de cuadros lógicos similares a los circuitos de puertas lógicas.
7.4.- GRAFCET. Es el llamado Gráfico de Orden Etapa Transición. Diseñado especialmente para resolver problemas de automatismos secuenciales. Las acciones son asociadas a las etapas y las condiciones a cumplir a las transiciones. Este lenguaje resulta enormemente sencillo de interpretar por operarios sin conocimientos de automatismos eléctricos. Muchos de los autómatas que existen en el mercado permiten la programación en GRAFCET. También podemos utilizarlo para resolver problemas de automatización de forma teórica y posteriormente convertirlo a planos de contactos.
pág. 68 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
8.- Introducción a la programación.
pág. 69 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
8.- Introducción a la programación. 8.1.- Los relés. El propósito de un PLC es reemplazar los circuitos lógicos representados por relés mecánicos, por esto es útil ver cómo funcionan. Un relé es básicamente un switch electromecánico. Aplicando un voltaje determinado a la bobina se genera un campo magnético que atrae al elemento de contacto a su posición de cerrado. Por lo general, los voltajes y corrientes utilizados para accionar el circuito de la bobina del relé se denominan señales, y permiten manejar lógicas de control en rangos de voltajes que no involucran peligro, y son los adecuados para ser generados por circuitos de control. En resumen, a través de un relé se pueden separar los circuitos de baja potencia de los circuitos de alta potencia. 8.2.- Reemplazar relés. Ahora utilizaremos un PLC en lugar del relé anterior. Lo primero que se debe realizar es la creación de un diagrama de contactos. Esto se debe hacer debido a que el PLC no entiende un programa esquemático. Este sólo reconoce código. Afortunadamente la mayoría de los PLCs tienen un software que es capaz de convertir el diagrama de contactos a código. Esto nos evita la tediosa tarea de aprender el código de los PLCs. 8.2.1.- Primer paso. Lo primero es trasladar todas las partes del esquema usando símbolos que sean entendibles al PLC. Un PLC no entiende términos como interruptor, relé, motor. Algo más cómodos al PLC resultan los términos entrada, salida, bobina, contacto. No es necesario especificar cual es el tipo de la entrada o de la salida, sólo hay que ser cuidadoso en definir cuales son las entradas y las salidas. Primero se reemplazará la batería con un símbolo. Este símbolo es común a todos los diagramas de contactos. El símbolo se denomina barras de alambre y se visualiza como dos líneas verticales. Las líneas se ubican a ambos lados del diagrama. La barra de la izquierda se asume como voltaje positivo (+) y la de la derecha como la referencia o tierra. La corriente se tomará como fluyendo de izquierda a derecha, al igual que el flujo lógico. Seguidamente se define el símbolo de entrada. Este símbolo es utilizado como contacto de un relé. El símbolo de salida es usado como la bobina del relé.
pág. 70 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
8.2.2.- Segundo paso. Debemos indicar al PLC dónde está la localización de cada uno de los elementos del diagrama. En otras palabras debemos entregar todas las direcciones de dispositivos. Las direcciones son asignadas previamente según procedimientos establecidos por cada fabricante. 8.2.3.- El paso final. Ahora resta convertir el esquema en una secuencia lógica de eventos. El programa debe decir que se debe hacer cuando se lleve a efecto algún evento, como por ejemplo el cambio de estado de la entrada.
pág. 71 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.- Programación autómatas Siemens.
pág. 72 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.- Progamación autómatas Siemens.
pág. 73 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.1.- Direcciones absolutas y simbólicas. A los operandos de las operaciones se les pueden asignar direcciones absolutas o simbólicas. Una dirección absoluta utiliza el área de memoria y un bit o un byte para identificar la dirección. Una dirección simbólica utiliza una combinación de caracteres alfanuméricos para identificar una dirección (simbólica) o un valor (una constante simbólica). Ejemplos de cómo el editor de programas visualiza las direcciones: • I0.0 Dirección absoluta con indicación del área de memoria y el número de dirección (editor de programas SIMATIC) • #ENTRADA1 Las variables locales van precedidas de un signo #. • ENTRADA1 Nombre del símbolo global. • ??.? ó ???? Los signos de interrogación rojos indican una dirección no definida (que se debe definir antes de compilar el programa). 9.2.- Ámbito global y ámbito local. Los valores simbólicos que se asignan en la tabla de símbolos (o tabla de variables globales) tienen ámbito global. Los valores simbólicos que se asignan en la tabla de variables locales tienen ámbito local. 9.3.- Símbolos globales. En los programas SIMATIC, los símbolos globales se asignan utilizando la tabla de símbolos. No es necesario asignar los símbolos antes de utilizarlos en el programa. La asignación de los símbolos se puede efectuar en cualquier momento. 9.4.- Variables locales. Las variables locales se asignan en la tabla de variables locales de la respectiva unidad de organización del programa (UOP), limitándose su ámbito a la UOP donde fueron creadas. Cada unidad de organización del programa tiene su propia tabla de variables locales. Si utilizamos un mismo nombre para una dirección tanto a nivel local como global, tendrá prioridad su uso local. En otras palabras, si el editor de programas detecta en la tabla de variables locales una definición de una variable para un determinado bloque del programa, se utilizará esa definición. Si no se localiza ninguna definición, el editor de programas comprobará la tabla de símbolos (tabla de variables globales).
pág. 74 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Ejemplo: BombaON se define en calidad de símbolo global, definiéndose también como variable local en SBR2, pero no en SBR1.Al compilarse el programa, la definición global de BombaON se utiliza en SBR1, en tanto que su definición local se usa en SBR2. Las variables locales utilizan la memoria L temporal de la CPU, en lugar de ocupar la memoria de programas en la CPU. Las subrutinas que utilizan sólo parámetros de variables locales o ningún tipo de parámetros se pueden copiar, siendo posible utilizarlas en más de un programa. No es necesario usar variables locales. Ésta es sólo una opción para las técnicas de programación avanzadas. Si deseamos utilizar un parámetro en varias unidades de organización del programa, puede resultar más conveniente definirlo en calidad de símbolo global en la tabla de símbolos (tabla de variables globales) y no como variable local, puesto que, de lo contrario, sería preciso asignarlo por separado a la tabla de variables locales de cada unidad de organización del programa.· Puesto que las variables locales utilizan la memoria temporal, es preciso inicializar las variables locales de una unidad de organización del programa cada vez que se llame a esta última, puesto que no es seguro que la variable local conserve un valor de datos de una a otra.· La tabla de símbolos globales soporta una constante simbólica global (asignación directa de un nombre simbólico a un valor de constante). La tabla de símbolos locales no soporta constantes simbólicas. Para poder utilizar la tabla de variables locales de STEP 7-Micro/WIN se necesita una CPU 221, 222, 224, o bien una CPU 226. 9.5.- Organizar programas. Elementos básicos de un programa de control. El programa de control de una CPU S7-200 comprende los siguientes tipos de unidades de organización del programa (UOP): 9 Programa principal. En el programa principal (denominado OB1) se depositan las operaciones que controlan la aplicación. Las operaciones del programa principal se ejecutan de forma secuencial en cada ciclo de la CPU. 9 Subrutinas. Una subrutina comprende un juego opcional de operaciones depositado en un bloque por separado que se ejecuta sólo cuando se llama desde el programa principal, desde una rutina de interrupción, o bien desde otra subrutina. 9 Rutinas de interrupción. Una rutina de interrupción comprende un juego opcional de operaciones depositado en un bloque por separado que se ejecuta sólo cuando ocurre el correspondiente evento de interrupción. STEP 7-Micro/WIN organiza el programa de usuario, incorporando fichas para cada unidad de organización del programa. La primera ficha corresponde siempre al programa principal (OB1), siguiéndole las subrutinas y/o las rutinas de interrupción que se hayan creado opcionalmente.
pág. 75 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.5.1.- Terminar las unidades de organización del programa Puesto que el programa se encuentra estructurado (cada unidad de organización del programa ocupa una ficha por separado), se sabe exactamente donde terminan el OB1 o las diversas subrutinas y rutinas de interrupción. El compilador termina cada unidad de organización del programa con una operación END, MEND, RET o RETI, según sea necesario. No incluiremos estas operaciones en el programa de usuario. Si insertamos una operación END, MEND, RET o RETI en el programa, el compilador devolverá un error. 9.5.2.- Subrutinas. Las subrutinas se adecuan para funciones que se deban ejecutar varias veces. Así, en vez de tener que escribir la lógica de la función en cada posición del programa principal donde aquella se deba ejecutar, basta con escribirla sólo una vez en una subrutina y llamar a la subrutina desde el programa principal cada vez que se necesite. Ello aporta varios beneficios: a. Se reduce la longitud total del programa. b. El tiempo de ciclo también se acorta, puesto que el código se ha retirado del programa principal (donde se evalúa en cada ciclo, así se ejecute o no). La subrutina se puede invocar de forma condicional, por lo que no se evalúa durante los ciclos en los que no se llame a la misma. c. Las subrutinas se pueden transportar fácilmente, permitiendo aislar una función y copiarla a otros programas sin necesidad de efectuar cambios o con sólo pocas modificaciones. La utilización de la memoria V limita la portabilidad de las subrutinas, porque la asignación de direcciones de un programa en la memoria V puede estar en conflicto con la asignación en otro programa. En cambio, las subrutinas que utilizan la tabla de variables locales para todas las asignaciones de direcciones se pueden transportar muy fácilmente, puesto que no presentan el riesgo de conflictos de direcciones. 9.5.3.- Rutinas de interrupción. Las rutinas de interrupción se pueden programar para gestionar eventos de interrupción predefinidos: las rutinas de interrupción no son invocadas por el programa principal, sino que el sistema operativo de la CPU las llama cuando ocurre el correspondiente evento de interrupción. Puesto que no es posible saber con anterioridad cuándo el sistema llamará a una rutina de interrupción, no es deseable que ésta escriba en la memoria que se pueda estar utilizando en otra parte del programa. Con la tabla de variables locales se puede asegurar que las rutinas de interrupción utilicen únicamente la memoria temporal, de manera que no sobrescriban los datos de otra parte del programa.
pág. 76 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.6.- Componentes del proyecto y su funcionamiento. En STEP 7-Micro/WIN, el proyecto permite integrar en el programa todas las informaciones necesarias para comunicarse con una CPU y para cargar el programa en esa CPU. Un proyecto comprende los siguientes componentes básicos: Bloque de programa El bloque de programa incluye el código ejecutable y los comentarios. El código ejecutable comprende un programa principal (OB1), así como subrutinas y/o rutinas de interrupción (opcionales). El código se compila y se carga en la CPU, pero no los comentarios del programa. Tablas de símbolos Las tablas de símbolos permiten utilizar el direccionamiento simbólico para la programación. En algunos casos es más conveniente programar con símbolos, puesto que facilitan el entendimiento del programa. El programa compilado que se carga en la CPU convierte todos los símbolos a direcciones absolutas. Las informaciones contenidas en la tabla de símbolos no se cargan en la CPU. Tablas de estado Las tablas de estado permiten observar cómo se ven afectados los valores del proceso a medida que se ejecuta el programa de usuario. Las tablas de estado no se cargan en la CPU. Su única función consiste en vigilar la actividad de la CPU (real o simulada). Bloque de datos El bloque de datos comprende datos (valores iniciales de memoria, valores de constantes) y comentarios. Los datos se compilan y se cargan en la CPU, pero no los comentarios. Bloque de sistema El bloque de sistema comprende los datos de configuración, tales como los parámetros de comunicación, las áreas remanentes, los filtros de las entradas analógicas y digitales, los valores de las salidas en caso de un paso a STOP y las informaciones sobre la protección con contraseña. Las informaciones contenidas en el bloque de sistema se cargan en la CPU. Referencias cruzadas En la ventana de referencias cruzadas se pueden visualizar tablas donde figuran los operandos utilizados en el programa, así como las áreas de memoria ya asignadas (bits y bytes usados). Mientras se está editando un programa en modo RUN también se pueden observar los números de los flancos positivos y negativos (EU, ED) que el programa está utilizando actualmente. Las referencias cruzadas y las informaciones sobre los bits y bytes usados no se cargan en la CPU.
pág. 77 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.7.- Reglas para construir segmentos sencillos, en serie y paralelos en KOP. Cada segmento debe comenzar con un contacto. Un segmento no se puede terminar nunca con un contacto. Un segmento no puede comenzar con una bobina. Las bobinas se utilizan para terminar un segmento. Un solo segmento puede contener varias bobinas, en tanto que las bobinas se encuentren en ramificaciones paralelas de ese segmento en particular. No se puede disponer más de una bobina en serie (es decir, en una sola línea horizontal de un segmento no puede haber varias bobinas). Si un cuadro (función) tiene una salida de habilitación ENO, la circulación de corriente continúa detrás del cuadro. Ello significa que después del cuadro se pueden disponer más operaciones. En un mismo circuito de un segmento se pueden conectar en serie varios cuadros que dispongan de salidas ENO. Si un cuadro no tiene ENO no se puede colocar ninguna otra operación después del mismo. 9.7.1.- Tamaño máximo de los segmentos. La ventana del editor de programas se puede considerar como una cuadrícula compuesta por celdas (las celdas son las áreas donde se pueden disponer las operaciones, asignar un valor al parámetro o trazar líneas). Dentro de esa cuadrícula, un segmento individual puede comprender como máximo de 32 celdas horizontales o 32 celdas verticales. Si desea modificar el tamaño de la cuadrícula, se debe hacer clic con el botón derecho del ratón en el editor de programas y elegir el comando del menú "Opciones". 9.7.2.- Introducir operaciones en KOP. Para trazar líneas entre los elementos de un segmento y la barra de alimentación izquierda puede utilizar los respectivos botones de la barra de herramientas ("Línea horizontal" y "Línea vertical"), o bien pulsar la tecla CTRL simultáneamente con una de las teclas con flecha (IZQUIERDA, DERECHA, ARRIBA o ABAJO) cuando sea necesario completar un segmento.
pág. 78 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.8.- Seleccionar una operación. 9.8.1- Arrastrar y soltar desde el árbol de operaciones. Primero debemos seleccionar la operación que queremos realizar del arból situado a la izquierda.
Una vez seleccionada la operación se debe arrastrar la operación hasta la posición deseada (pichamos con el botón izquierdo del ratón sobre ella y la desplazamos hasta nuestra ventana de edición de programas sin dejar de pulsar el botón).
pág. 79 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Finalmente soltamos la operación seleccionada en la posición deseada (soltando el botón del ratón). 9.8.2- Hacer doble clic desde el árbol de operaciones. Situaremos el cursor en la posición deseada en la ventana del editor de programas. Alrededor de esa posición aparecerá un cuadro de selección.
En el árbol de operaciones, navegaremos hasta la operación deseada y hacemos doble clic sobre ella.
Tras hacer doble clic, la operación aparecerá en la ventana del editor de programas.
pág. 80 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.8.3- Utilizar botones de la barra de herramientas o teclas de función. Situamos el cursor en la posición deseada en la ventana del editor de programas. Alrededor de esa posición aparecerá un cuadro de selección como se explicó en el anterior punto. Seguidamente hacemos clic en el botón deseado en la barra de herramientas.
También tenemos la opción de pulsar la tecla de función apropiada (F4=contacto, F6=bobina, F9=cuadro) para insertar una operación genérica. Esta operación genérica no se puede direccionar, por lo que causará errores de compilación. Es preciso seleccionar un tipo de operación específico.
Aparecerá una lista desplegable. Nos desplazamos por la lista o introducimos las primeras letras para navegar hasta la operación deseada. Haga doble clic en la operación o pulse la tecla INTRO para insertar la operación. 9.9.- Introducir direcciones en KOP. Cuando un elemento se introduce en KOP, los parámetros se representan inicialmente con signos de interrogación, por ejemplo (??.?), o bien (????). Éstos indican que el parámetro no se ha asignado todavía. Para los parámetros de un elemento se puede asignar un valor constante o una dirección absoluta, simbólica o variable bien sea cuando se introduce el elemento o bien posteriormente. El programa no se compilará correctamente si contiene parámetros que no se hayan asignado aún.
pág. 81 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Se puede seleccionar el comando de menú Herramientas -> Opciones y activar la casilla de verificación Habilitar la edición de operandos tras insertar la operación para situar el cursor automáticamente en el parámetro que desea editar.
Para asignar una constante (por ejemplo, 100) o una dirección absoluta (por ejemplo, I0.1), tecleamos el valor deseado en el campo de dirección de la operación. (Utilizaremos el ratón o la tecla INTRO para seleccionar el área de dirección). 9.10.- Introducir comentarios de programa en KOP. En el editor KOP hay cuatro tipos de comentarios. 9 Comentarios de los componentes del proyecto. 9 Título de segmento. 9 Comentarios de segmento. 9 Propiedades de los componentes del proyecto.
Para introducir los comentarios de las unidades de organización del programa (comentarios UOP, componentes del proyecto), haga clic en el cuadro gris encima del segmento 1.
pág. 82 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Los comentarios UOP se pueden mostrar u ocultar haciendo clic en el botón "Mostrar/ocultar comentarios UOP"
O bien seleccionando y deseleccionando la opción Ver -> Comentarios UOP. Un comentario UOP puede comprender 4.096 caracteres como máximo. Los comentarios UOP son opcionales. Si están visibles, encabezarán siempre la UOP y se visualizarán antes del primer segmento. Para añadir título de segmento situaremos el cursor en cualquier punto del título de la línea de título del segmento e introduciremos un título que identifique a ese segmento del programa. Un título de segmento puede comprender 127 caracteres como máximo. Para añadir comentarios de segmento, haremos clic en el cuadro gris debajo del segmento 1. Allí podremos introducir un comentario que identifique a ese segmento del programa, describiendo el contenido del mismo. Los comentarios de segmento se pueden mostrar u ocultar haciendo clic en el botón "Mostrar/ocultar comentarios de segmento" o bien seleccionando y deseleccionando la opción Ver > Comentarios de segmento.
Un comentario de segmento puede comprender 4.096 caracteres como máximo. 9.11.- Editar los elementos de un programa KOP. 9.11.1.- Cortar, copiar, insertar o borrar varios segmentos. Es posible seleccionar varios segmentos adyacentes, bien sea arrastrando el ratón o utilizando la tecla MAYÚS junto con las teclas FLECHA ARRIBA y FLECHA ABAJO. La selección se puede cortar, copiar, pegar o borrar. Utilice los botones de la barra de herramientas, elija el respectivo comando del menú Edición o haga clic con el botón derecho del ratón para acceder a un menú contextual que ofrece diferentes opciones de edición.
pág. 83 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Como se muestra más abajo, sitúe el cursor en el borde izquierdo del editor y, a continuación, haga clic para comenzar a arrastrar varios segmentos. No es posible seleccionar sólo una parte de un segmento. Si intenta hacerlo, se seleccionará automáticamente el segmento entero.
9.11.2.- Editar celdas, operaciones, direcciones y segmentos. Si hacemos clic en una celda vacía del editor de programas, aparecerá un cuadro indicando la celda seleccionada. Podemos utilizar el menú contextual para pegar allí una selección en la celda vacía, o bien para insertar una nueva fila, columna, línea vertical o segmento. Asimismo, podemos borrar el segmento desde la posición de la celda vacía. Si hacemos clic en una operación, aparecerá un cuadro alrededor de la operación seleccionada. Podemos utilizar el menú contextual para cortar, copiar o pegar una selección en la operación, o bien para insertar o borrar (según corresponda) una fila, columna, línea vertical o segmento en esa posición.
pág. 84 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Si hacemos clic en un parámetro de una operación, aparecerá un cuadro alrededor del campo para indicar el parámetro seleccionado. Podemos utilizar el menú contextual para deshacer lo que hemos introducido, cortar, copiar o pegar información, o bien para seleccionar rápidamente el contenido del campo ("Seleccionar todo"). Asimismo, podemos hacer doble clic para seleccionar todo.
Si hacemos clic en un título de segmento, podremos editar el título del proyecto. Podemos utilizar el menú contextual para seleccionar todo, para deshacer lo que hayamos introducido, para modificar el segmento entero, para cortar, copiar o pegar el contenido del portapapeles en el segmento, así como para insertar un nuevo segmento, o bien para borrar el segmento existente. A través de este menú también es posible acceder al cuadro de diálogo "Opciones". Para cortar, copiar o pegar una selección podemos utilizar también los botones de la barra de herramientas, las combinaciones de teclas estándar de Windows o los comandos del menú Edición.
pág. 85 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.11.3.- Borrar elementos. Las celdas individuales se pueden borrar utilizando las teclas SUPR o RETROCESO. Las filas, columnas, líneas verticales y segmentos se pueden borrar utilizando los comandos del menú Edición o pulsando el botón derecho del ratón para acceder al menú contextual.
Para poder seleccionar correctamente una línea vertical que se desee borrar, el cursor se deberá situar siempre en la celda que se encuentra a la izquierda de esa línea vertical.
pág. 86 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.12.- Compilación. Para compilar, utilizaremos los botones de la barra de herramientas o bien el menú CPU.
"Compilar" permite compilar un solo elemento del proyecto. La ventana visualizada (Editor de programas, Bloque de sistema o Bloque de datos) es la que se compila cuando se elige esta opción. Las otras dos ventanas no se compilan. "Compilar todo" compila el bloque de programa, el bloque de sistema y el bloque de datos. La opción "Compilar todo" se puede seleccionar en cualquiera de esas ventanas. Al compilar, en la ventana de resultados se indicarán los posibles errores que hayan ocurrido. Si se detectan errores, se indicará tanto su ubicación (segmento, fila y columna) como su tipo. Haga doble clic en un error para acceder en el editor de programas al correspondiente segmento donde se ha presentado el error.
pág. 87 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.13.- Guardar proyectos. Para guardar un proyecto puede utilizar el botón "Guardar" de la barra de herramientas.
O bien los comandos "Guardar" o "Guardar como" del menú Archivo.
"Guardar" permite almacenar rápidamente los cambios efectuados en el proyecto. (No obstante, la primera vez que guardemos un proyecto, será preciso confirmar o modificar las selecciones estándar respecto al nombre y al directorio del proyecto actual). "Guardar como" sirve para cambiar el nombre y/o el directorio del proyecto actual. Por defecto, STEP 7-Micro/WIN le da el nombre "Project1.mwp" a un proyecto que se cree por primera vez. Este nombre se puede aceptar o modificar. Si lo aceptamos, el nombre estándar del siguiente proyecto se incrementará automáticamente a "Project2.mwp." " El directorio estándar de los proyectos de STEP 7-Micro/WIN es una carpeta llamada "Projects" incluida en el directorio "Microwin". No es obligatorio aceptar este directorio estándar.
pág. 88 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.14.- Comunicación. La forma de establecer la comunicación entre el PC donde se ejecute STEP 7-Micro/WIN y la(s) CPU(s) depende de la configuración del hardware. Si no se utiliza más que un cable PC/PPI para el enlace entre el PC y la CPU, basta con conectar el cable y aceptar los parámetros estándar asignados en STEP 7Micro/WIN para el PC y la CPU a la hora de instalar el software STEP 7-Micro/WIN. En cualquier momento es posible establecer la comunicación o modificar los parámetros de la misma. A continuación se indican las tareas necesarias generalmente para establecer la comunicación: 9 Conectamos un cable entre la CPU y el PC donde se ejecute STEP 7Micro/WIN. Para crear un enlace PC/PPI simple, ajustamos los interruptores DIP a 9600 bit/s, DCE, 11 bits. 9 Opcional: verificar que la CPU seleccionada en STEP 7-Micro/WIN concuerda con el tipo de la CPU real. 9 Si utilizamos una conexión PC/PPI simple, podemos aceptar el protocolo de comunicación estándar ofrecido en el cuadro de diálogo "Ajustar interface PG/PC" durante la instalación de STEP 7-Micro/WIN. 9 Opcional: verificar la configuración (dirección de estación, velocidad de transferencia, etc.) de la CPU en la ficha Puerto(s) del Bloque de sistema. En caso necesario, efectuar los cambios deseados y cargar en la CPU el bloque de sistema modificado. 9.14.1.- Comprobar la red de comunicación. En STEP 7-Micro/WIN, hacemos clic en el icono "Comunicación" de la barra de navegación.
O bien elegimos el comando de menú Ver > Componente > Comunicación.
pág. 89 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
En el lado derecho del cuadro de diálogo "Comunicación", hacemos clic en el texto "Haga doble clic para actualizar".
Si la comunicación se ha establecido correctamente entre el PC y los dispositivos que integran la red, se visualizará una lista de los mismos (con sus tipos de modelo y direcciones de estación). STEP 7-Micro/WIN sólo se comunica con una CPU a la vez. Un cuadro rojo aparecerá alrededor de la CPU comunicada actualmente con STEP 7-Micro/WIN. Podemos hacer doble clic en una CPU diferente para establecer la comunicación con ella. 9.15.- Cargar un programa en la CPU. Si la comunicación se ha establecido correctamente entre el PC donde se ejecuta STEP 7-Micro/WIN y una CPU, el programa de usuario se puede cargar en esa CPU. Cuando un bloque de programa, un bloque de datos o un bloque de sistema se carga del PC en la CPU, sobrescribirá el que se encuentra actualmente en la CPU (si ya existe uno allí). Nos debemos Cerciorar de que deseamos sobrescribir el bloque contenido en la CPU antes de iniciar el proceso de carga. Seguiremos los pasos que se describen más abajo. i. Antes de cargar en la CPU, vigilaremos que ésta se encuentre en modo STOP. Examinaremos el LED indicador del modo de operación de la CPU. Si la CPU no está en modo STOP, haremos clic en el botón "STOP" de la barra de herramientas o elegiremos el comando de menú CPU>STOP. ii. Haremos clic en el botón "Cargar en CPU" de la barra de herramientas o elegiremos el comando de menú Archivo>Cargar en CPU. Aparecerá el cuadro de diálogo "Cargar en CPU". iii. Por defecto, las casillas de verificación "Bloque de programa", "Bloque de datos" y "Configuración CPU" (el bloque de sistema) aparecerán seleccionadas la primera vez que elijamos el comando Cargar en CPU. Si no necesitamos cargar un bloque en particular, retiraremos la marca de verificación en cuestión. pág. 90 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
iv. Hacemos clic en "Aceptar" para iniciar el proceso de carga. v. Si la carga se ha efectuado correctamente, aparecerá el siguiente mensaje de confirmación "Carga finalizada correctamente". Seguimos con el paso xii. vi. Si el valor de STEP 7-Micro/WIN respecto al tipo de CPU no concuerda con la CPU real, se visualizará el siguiente mensaje de advertencia: "El tipo seleccionado de CPU para el proyecto no concuerda con el de la CPU remota. ¿Desea continuar la operación de carga?" vii. Para corregir el tipo de CPU, elegimos "No" con objeto de finalizar el proceso de carga. viii. En la barra de menús, elegimos el comando CPU->Tipo para acceder al cuadro de diálogo "Tipo de CPU". ix. Podemos seleccionar el tipo correcto en la lista desplegable, o bien hacer clic en el botón "Leer CPU" para que STEP 7-Micro/WIN lea automáticamente el valor correcto. x. Hacemos clic en "Aceptar" para confirmar el tipo de CPU y salir del cuadro de diálogo. xi. Reiniciamos el proceso de carga haciendo clic en el botón "Cargar en CPU" de la barra de herramientas o eligiendo el comando de menú Archivo >Cargar en CPU. xii. Tras haber concluido correctamente la carga deberemos cambiar la CPU de STOP a RUN nuevamente antes de poder ejecutar el programa en la CPU. Hacemos clic en el botón "RUN" de la barra de herramientas o elegimos el comando de menú CPU->RUN para cambiar la CPU nuevamente a modo RUN. 9.16.- Corregir errores de compilación y de carga en la CPU. Cuando un programa se compila o cuando se carga en la CPU, las informaciones del compilador y los posibles mensajes de error se visualizan automáticamente en la ventana de resultados. Por lo general, los mensajes incluyen el segmento, la columna y la fila donde se ha detectado el error, así como el número de error y su descripción. Haremos doble clic en un mensaje para visualizar en el editor de programas el segmento que contiene el error correspondiente. Si hemos cerrado la ventana de resultados, ésta se puede visualizar nuevamente eligiendo el comando de menú Ver->Marco->Ventana de resultados.
pág. 91 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.17.- Funciones de comprobación y observación. Tras haber establecido la comunicación entre la CPU y la unidad de programación en la que se está ejecutando STEP 7-Micro/WIN y después de haber cargado un programa en la CPU, podremos utilizar las funciones de diagnóstico incorporadas en la barra de herramientas "Test". Para seleccionar las herramientas de comprobación, hacemos clic en los botones de esa barra, o bien elegimos los comandos correspondientes del menú "Test".
9.17.1.- ¿Qué es el "estado"? El término 'estado' se refiere a la visualización de informaciones acerca del valor actual de los datos de la CPU y de la circulación de corriente a medida que el programa se ejecuta en la CPU. En las ventanas "Tabla de estado" y "Estado del programa" es posible leer, escribir y forzar valor de datos de la CPU. A medida que se ejecuta el programa de control, los cambios dinámicos de los datos de la CPU se pueden visualizar de tres maneras: Tabla de estado. Visualiza los datos de estado en una tabla. En cada fila se indica un valor de la CPU a vigilar. Es posible asignar una dirección de la memoria, el formato, el valor actual y el nuevo valor (si se utiliza el comando "Escribir"). Vista de curva. Los datos de estado de la CPU se pueden plotear durante un período definido. Es posible conmutar entre las vistas de tabla y de curva de las tablas de estado existentes. Los nuevos datos de curvas también pueden asignarse directamente en la vista de curva. Estado del programa. Los datos de estado se pueden visualizar en el editor de programas. Los valores actuales de la CPU se visualizan próximos a las instrucciones AWL, o bien a los diagramas KOP o FUP que hacen referencia a los datos. En los diagramas KOP también se muestra la circulación de corriente, indicándose qué ramas están siendo energizadas. Las ventanas "Estado de programa" y "Vista de estado" (o "Vista de curva") pueden ejecutarse simultáneamente. Si los datos de la CPU se escriben o se fuerzan en la ventana "Tabla de estado", los cambios efectuados se aplicarán también a la ventana "Estado del programa". Igualmente, si los datos de la CPU se escriben o se fuerzan en la ventana "Estado del programa", los cambios efectuados se aplicarán también a la ventana "Tabla de estado".
pág. 92 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.17.2.- Requisitos previos para visualizar los datos de estado Antes de poder observar los datos de estado o comprobar el programa, deberá realizar las tareas siguientes: 9 Compilar el programa. 9 Establecer la comunicación entre STEP 7-Micro/WIN y la CPU. 9 Cargar el programa en la CPU. 9 Para visualizar la actualización continua del estado, la CPU deberá estar en modo RUN. En caso contrario, sólo se visualizarán los cambios de las E/S (si ocurren). Puesto que el programa de la CPU no se está ejecutando, los cambios efectuados en las E/S no tendrán el efecto esperado en la lógica al visualizarse el estado del programa. 9 Si se encuentra en una parte del programa que no se esté ejecutando (por ejemplo, en una subrutina, en una rutina de interrupción o en una sección que se haya saltado utilizando una operación JMP), el estado no se visualizará, puesto que el código no se está rastreando. Tras cargar el programa en la CPU, cámbiela nuevamente a modo RUN. En caso contrario, se obtendrán informaciones acerca del estado en modo STOP, pero la CPU no podrá ejecutar el programa, por lo que no será posible visualizar el estado. 9.17.3.- Métodos de recoger el estado en la ventana del editor de programas. Haga clic en el botón "Estado del programa", o bien elija el comando de menú Test -> iniciar estado del programa para visualizar en el editor de programas el estado de los datos contenidos en la CPU. El estado se comienza a recoger en el modo que se haya seleccionado antes. Para más información, consulte la descripción que aparece más abajo.
En KOP y FUP, existen dos métodos de recoger los datos de estado del programa. La marca de verificación del estado se activa o se desactiva eligiendo el comando de menú Test -> Utilizar estado de ejecución. Esta marca deberá estar activada antes de comenzar a recoger el estado del programa. 9 Estado de ejecución (estando activado el comando de menú Test -> Utilizar estado de ejecución) 9 Estado de fin de ciclo (estando desactivado el comando de menú Test -> Utilizar estado de ejecución)
pág. 93 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Lectura sencilla (sólo en tablas de estado). Utilice esta función si desea obtener una "instantánea", es decir, una sola actualización de todos los valores del programa. Por defecto, el estado de tabla rastrea continuamente la CPU para actualizar el estado. Si el estado de tabla está OFF y hace clic en una tabla de estado, se habilitará el botón "Lectura sencilla".
Forzar. Las direcciones se pueden forzar en el editor de programas mientras se está ejecutando la función "Estado del programa", así como en la tabla de estado. Para forzar una dirección en el estado del programa, haga clic con el botón derecho del ratón en un parámetro y elija el comando "Forzar" del menú contextual. Para forzar una dirección de la tabla de estado a un valor determinado, deberá estipular primero el valor deseado, bien sea leyéndolo (si desea forzar el valor actual), o bien introduciéndolo (si desea forzar la dirección a un nuevo valor). Si utiliza la función "Forzar", el valor se reaplicará a la dirección en cada ciclo hasta que la dirección se desfuerce nuevamente. La función "Forzar" se impone a las operaciones directas de lectura o de escritura. Asimismo, tiene prioridad sobre las salidas que deban adoptar un valor específico cuando la CPU pase a modo STOP. En tal caso, la salida se ajusta al valor forzado y no al valor configurado. Simule una condición lógica forzando direcciones de la memoria V o M en formato de bytes, palabras o palabras dobles, direcciones AI o AQ en formato de palabras en límites de byte pares (por ejemplo, AIW6 o AIW14), o bien entradas y salidas (direcciones de bits I y Q). Es posible forzar simultáneamente 16 direcciones (V, M, AI o AQ), así como todas entradas y salidas (todas las direcciones de bits I y Q).
Desforzar. En el estado del programa y en la tabla de estado, seleccione una dirección y haga clic en el botón "Desforzar". Alternativamente puede seleccionar (hacer clic en) un parámetro y pulsar luego el botón derecho del ratón para visualizar el menú contextual de las funciones Forzar y Desforzar.
pág. 94 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Desforzar todo. Elija esta función si desea desforzar todas las direcciones. No es necesario que seleccione las direcciones individuales antes de utilizar la función "Desforzar todo".
Leer todo (sólo en tablas de estado). Si utiliza la función "Leer todo", en la columna "Valor actual" de la(s) tabla(s) de estado se visualizará un icono de candado junto a todas las direcciones que se hayan forzado de forma explícita o implícita, o bien que se hayan forzado parcialmente de forma implícita.
pág. 95 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.18.- Tipos de memoria y propiedades.
Área
I
Q
Descripción Entradas digitales e imagen del proceso de las entradas. Salidas digitales e imagen del proceso de las salidas.
Acceso a bits
Acceso a bytes
Acceso a palabras
Acceso a dobles palabras
Puede ser remanente
Se puede forzar
lectura / escritura
lectura / escritura
lectura / escritura
lectura / escritura
no
sí
lectura / escritura
lectura / escritura
lectura / escritura
lectura / escritura
no
sí
M
Marcas internas.
lectura / escritura
lectura / escritura
lectura / escritura
lectura / escritura
sí
sí
SM
Marcas especiales (SM0 a SM29 son de sólo lectura)
lectura / escritura
lectura / escritura
lectura / escritura
lectura / escritura
no
no
V
Memoria de variables
lectura / escritura
lectura / escritura
lectura / escritura
sí
sí
T
Valores actuales y bits de temporizadores
Bit T lectura / escritura
no
no
Valor actual T ‐ sí Bit T ‐ no
no
C
Valores actuales y bits de contadores
Bit C lectura / escritura
no
lectura / escritura Valor actual T lectura / escritura Valor actual C lectura / escritura
no
Valor actual C ‐ sí Bit C ‐ no
no
HC
Valores actuales de contadores rápidos
no
no
sólo lectura
no
no
AI
Entradas analógicas
no
no
no
no
sí
AQ
Salidas analógicas
no
no
no
no
sí
AC
Acumuladores
no
no
no
L
Memoria de variables locales
no
no
S
SCR
lectura / escritura lectura / escritura
no
no
lectura / escritura lectura / escritura lectura / escritura
no sólo lectura sólo escritura lectura / escritura lectura / escritura lectura / escritura
lectura / escritura lectura / escritura lectura / escritura
Hay tres modos de direccionar los operandos en el programa: 9 Directo. 9 Simbólico. 9 Indirecto.
pág. 96 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.18.1.- Direccionamiento directo. El S7-200 almacena información en diferentes áreas de la memoria que tienen direcciones unívocas. Es posible indicar explícitamente la dirección a la que se desea acceder. El programa puede acceder entonces directamente a la información. En el direccionamiento directo se indican el área de memoria, el tamaño y la dirección. Ejemplo: VW790 se refiere a la dirección 790 de la memoria V. Para acceder a un bit en un área de memoria es preciso indicar la dirección del mismo, compuesta por un identificador de área, la dirección del byte y el número del bit precedido de un punto. La figura siguiente muestra un ejemplo de direccionamiento de un bit (denominado también direccionamiento "byte.bit"). En el ejemplo, el área de memoria y la dirección del byte (I=entrada y 3 = byte3) van seguidas de un punto decimal (".") que separa la dirección del bit (bit 4).
Utilizando el formato de dirección de byte se puede acceder a los datos de la mayoría de las áreas de memoria (V, I, Q, M, S y SM) en formato de bytes, palabras o palabras dobles. La dirección de un byte, de una palabra o de una palabra doble de datos en la memoria se indica de forma similar a la dirección de un bit. Esta última está compuesta por un identificador de área, el tamaño de los datos y la dirección inicial del valor del byte, de la palabra o de la palabra doble, como muestra la figura siguiente.
pág. 97 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Para acceder a los datos comprendidos en otras áreas de la memoria (por ejemplo, T, C, HC y acumuladores) es preciso utilizar una dirección compuesta por un identificador de área y un número de elemento.
9.18.2.- Direccionamiento simbólico. El direccionamiento simbólico utiliza una combinación de caracteres alfanuméricos para identificar una dirección. Una constante simbólica utiliza un nombre simbólico para identificar un número constante o un valor de un carácter ASCII. En los programas SIMATIC, los símbolos globales se asignan utilizando la tabla de símbolos. En los programas IEC, los símbolos globales se asignan utilizando la tabla de variables globales. Si ha asignado direcciones simbólicas en la tabla de símbolos SIMATIC, puede conmutar entre la representación absoluta (por ejemplo, I0.0) o simbólica (por ejemplo, "Bomba1") de las direcciones de los parámetros. La función "Direccionamiento simbólico" se activa/desactiva en el menú Ver. Si junto al comando aparece una marca de verificación, significa que la función está activada. En caso contrario, todas las direcciones se visualizarán sólo de forma absoluta.
pág. 98 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.18.3.- Direccionamiento indirecto. El direccionamiento indirecto utiliza un puntero para acceder a los datos de la memoria. Los punteros son valores de palabra doble que señalan a una dirección diferente en la memoria. Como punteros sólo se pueden utilizar direcciones de la memorias V y L, o bien los acumuladores (AC1, AC2 y AC3). Para crear un puntero se debe utilizar la operación Transferir palabra doble, con objeto de transferir la dirección indirecta a la del puntero. Los punteros también se pueden transferir a una subrutina en calidad de parámetros. El S7-200 permite utilizar punteros para acceder a las siguientes áreas de memoria: I, Q, V, M, S, T (sólo el valor actual) y C (sólo el valor actual). El direccionamiento indirecto no se puede utilizar para acceder a un bit individual ni para acceder a las áreas de memoria AI, AQ, HC, SM o L. Para acceder indirectamente a los datos de una dirección de la memoria es preciso crear un puntero a esa dirección, introduciendo para ello un carácter "&" y la dirección a la que se desea acceder. El operando de entrada de la operación debe ir precedido de un carácter "&" para determinar que a la dirección indicada por el operando de salida (es decir, el puntero) se debe transferir la dirección y no su contenido. Introduciendo un asterisco (*) delante de un operando de una operación, se indica que el operando es un puntero. En el ejemplo que muestra la figura, *AC1 significa que AC1 es el puntero del valor de palabra indicado por la operación Transferir palabra (MOVW). En este ejemplo, los valores almacenados en VB200 y VB201 se transfieren al acumulador AC0.
MOVD &VW200, AC1 Crea un puntero transfiriendo la dirección de VB200 (dirección del byte inicial de VW200) a AC1. MOVW *AC1, AC0 Transfiere a AC0 el valor de palabra al que señala el puntero AC1.
pág. 99 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Como muestra la figura siguiente, es posible modificar el valor de los punteros. Puesto que los punteros son valores de 32 bits, para cambiarlos es preciso utilizar operaciones de palabra doble. Las operaciones aritméticas simples, tales como sumar o incrementar, se pueden utilizar para modificar los valores de los punteros.
MOVD &VW200 , AC1 Crea el puntero transfiriendo la dirección de VB200 (dirección del byte inicial de VW200) a AC1. MOVW *AC1, AC0 Transfiere a AC0 el valor de palabra al que señala el puntero AC1 (VW200). +D +2, AC1 Suma 2 al acumulador para señalar a la siguiente dirección de palabra. MOVW *AC1, AC0 Transfiere a AC0 el valor de palabra al que se señala el puntero AC1 (VW200)
9.19.- Rangos de direcciones de la memoria de las CPUs. STEP 7-Micro/WIN identifica el modelo de CPU cuando se ejecuta cualquier operación de comunicación con la misma. Al crear el programa, se deberá tener en cuenta que tanto las entradas y salidas como las áreas de memoria que se hayan introducido sean válidas para la CPU donde se desea cargar el programa. Si intentamos cargar en la CPU un programa que acceda a entradas y salidas o a áreas de memoria no comprendidas en el rango de su CPU S7-200, aparecerá un mensaje de error. Acceso en formato de
Bit (Byte.bit)
Byte
Área de memoria
CPU 221
CPU 222
V
0.0 ‐ 2047.7
0.0 ‐ 2047.7
I Q M SM S T C L
0.0 ‐ 15.7 0.0 ‐ 15.7 0.0 ‐ 31.7 0.0 ‐ 179.7 0.0 ‐ 31.7 0 ‐ 255 0 ‐ 255 0.0 ‐ 59.7
0.0 ‐ 15.7 0.0 ‐ 15.7 0.0 ‐ 31.7 0.0 ‐ 299.7 0.0 ‐ 31.7 0 ‐ 255 0 ‐ 255 0.0 ‐ 59.7
VB
0 ‐ 2047
0 ‐ 2047
CPU 224
0.0 ‐ 5119.7 V 1.22 0.0 ‐ 8191.7 V 2.00 0.0 ‐ 10239.7 XP 0.0 ‐ 15.7 0.0 ‐ 15.7 0.0 ‐ 31.7 0.0 ‐ 549.7 0.0 ‐ 31.7 0 ‐ 255 0 ‐ 255 0.0 ‐ 59.7 0 ‐ 5119 V 1.22 0 ‐ 8191 V 2.00 0 ‐ 10239 XP
CPU 226
0.0 ‐ 5119.7 V 1.23 0.0 ‐ 10239.7 V 2.00 0.0 ‐ 15.7 0.0 ‐ 15.7 0.0 ‐ 31.7 0.0 ‐ 549.7 0.0 ‐ 31.7 0 ‐ 255 0 ‐ 255 0.0 ‐ 59.7 0 ‐ 5119 V 1.23 0 ‐ 10239 V 2.00 pág. 100
Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron. Acceso en formato de
Palabra
Palabra doble
Área de memoria
CPU 221
CPU 222
CPU 224
CPU 226
IB QB MB SMB SB LB AC
0 ‐ 15 0 ‐ 15 0 ‐ 31 0 ‐ 179 0 ‐ 31 0 ‐ 59 0 ‐ 3
0 ‐ 15 0 ‐ 15 0 ‐ 31 0 ‐ 299 0 ‐ 31 0 ‐ 59 0 ‐ 3
0 ‐ 15 0 ‐ 15 0 ‐ 31 0 ‐ 549 0 ‐ 31 0 ‐ 59 0 ‐ 3
VW
0 ‐ 2046
0 ‐ 2046
IW QW MW SMW SW T C LW AC AIW AQW
0 ‐ 14 0 ‐ 14 0 ‐ 30 0 ‐ 178 0 ‐ 30 0 ‐ 255 0 ‐ 255 0 ‐ 58 0 ‐ 3 0 ‐ 30 0 ‐ 30
0 ‐ 14 0 ‐ 14 0 ‐ 30 0 ‐ 298 0 ‐ 30 0 ‐ 255 0 ‐ 255 0 ‐ 58 0 ‐ 3 0 ‐ 30 0 ‐ 30
VD
0 ‐ 2044
0 ‐ 2044
ID QD MD SMD SD LD AC HC
0 ‐ 12 0 ‐ 12 0 ‐ 28 0 ‐ 176 0 ‐ 28 0 ‐ 56 0 ‐ 3 0 ‐ 5
0 ‐ 12 0 ‐ 12 0 ‐ 28 0 ‐ 296 0 ‐ 28 0 ‐ 56 0 ‐ 3 0 ‐ 5
0 ‐ 15 0 ‐ 15 0 ‐ 31 0 ‐ 549 0 ‐ 31 0 ‐ 59 0 ‐ 3 0 ‐ 5118 V 1.22 0 ‐ 8190 V 2.00 0 ‐ 10238 XP 0 ‐ 14 0 ‐ 14 0 ‐ 30 0 ‐ 548 0 ‐ 30 0 ‐ 255 0 ‐ 255 0 ‐ 58 0 ‐ 3 0 ‐ 62 0 ‐ 62 0 ‐ 5116 V 1.22 0 ‐ 8188 V 2.00 0 ‐ 10236 XP 0 ‐ 12 0 ‐ 12 0 ‐ 28 0 ‐ 546 0 ‐ 28 0 ‐ 56 0 ‐ 3 0 ‐ 5
0 ‐ 5118 V 1.23 0 ‐ 10238 V 2.00 0 ‐ 14 0 ‐ 14 0 ‐ 30 0 ‐ 548 0 ‐ 30 0 ‐ 255 0 ‐ 255 0 ‐ 58 0 ‐ 3 0 ‐ 62 0 ‐ 62 0 ‐ 5116 V 1.23 0 ‐ 10236 V 2.00 0 ‐ 12 0 ‐ 12 0 ‐ 28 0 ‐ 546 0 ‐ 28 0 ‐ 56 0 ‐ 3 0 ‐ 5
9.20.- Variables locales. La tabla de variables locales del editor de programas se puede utilizar para asignar variables que existan únicamente en una subrutina o en una rutina de interrupción individual Las variables locales se pueden usar como parámetros que se transfieren a una subrutina, lo que permite incrementar la portabilidad y la reutilización de la subrutina. Cada unidad de organización del programa tiene su propia tabla de variables locales con 64 bytes de la memoria L. Las tablas de variables locales permiten definir variables con ámbito limitado: una variable local sólo es válida en la unidad de organización del programa donde se haya creado.
pág. 101 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
En cambio, los símbolos globales, válidos en todas las unidades de organización del programa, sólo se pueden definir en la tabla de símbolos/tabla de variables globales. En los casos en que se pueda utilizar un mismo nombre simbólico tanto para un símbolo global como para una variable local, la definición local tiene prioridad en la unidad de organización del programa donde se haya definido la variable local, en tanto que la definición global se usa en las demás unidades de organización del programa. En la tabla de variables locales se deben asignar un tipo de declaración (TEMP, IN, IN_OUT u OUT) y un tipo de datos. El editor de programas asigna automáticamente direcciones de la memoria L a todas las variables locales. La asignación de direcciones simbólicas de una tabla de variables locales asocia un nombre simbólico a una dirección de la memoria L donde se guarda el valor de datos en cuestión. La CPU no pone a "0" los valores de datos de las variables locales. Las variables locales utilizadas se deben inicializar en el programa. 9.20.1.- Tipos de declaración de las variables locales. El tipo de variable local asignada depende de la unidad de organización del programa donde se efectúe la asignación. El programa principal (OB1), las rutinas de interrupción y las subrutinas pueden utilizar variables temporales (TEMP). Las variables temporales sólo estarán disponibles mientras se está ejecutando el bloque, pudiéndose sobrescribir cuando se haya completado el mismo. Las subrutinas también pueden utilizar parámetros de llamada (IN, IN_OUT, OUT). Tipos de declaraciones: • IN. Parámetro de entrada suministrado por la unidad de organización del programa invocante. • OUT. Parámetro de salida devuelto a la unidad de organización del programa invocante. • IN_OUT. Parámetro cuyo valor es suministrado por la unidad de organización del programa invocante, modificado por la subrutina invocada y devuelto luego a la unidad de organización del programa invocante. • TEMP. Variable que se almacena temporalmente en la pila de datos locales. Cuando la unidad de organización del programa se haya ejecutado por completo, el valor de la variable temporal ya no se encuentra disponible. Las variables temporales no conservan su valor entre las ejecuciones de las unidades de organización del programa.
pág. 102 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.20.2.- Mostrar y ocultar la tabla de variables locales. Si arrastramos la barra horizontal divisoria hacia el extremo superior de la ventana del editor de programas, la tabla de variables locales ya no se verá, aunque se encuentra todavía allí. Arrastraremos la barra divisoria hacia abajo para visualizar nuevamente la tabla de variables locales.
Resulta más eficiente efectuar asignaciones en la tabla de variables locales antes de utilizar las variables locales en el programa. El límite máximo de parámetros de entrada/salida en cada llamada a subrutina es de 16. Si intentamos cargar un programa que exceda este límite, se devolverá un error. 9.20.3.- Introducir la primera asignación de una variable local. Para efectuar una asignación en una tabla de variables locales, seguiremos los siguientes pasos: 1. Verificamos que en el editor de programas se visualice la unidad de organización del programa correcta. En caso necesario, haremos clic en la ficha correspondiente a la unidad deseada. (Puesto que cada unidad de organización del programa tiene su propia tabla de variables locales) 2. Si la tabla de variables locales está oculta, arrastraremos hacia abajo la barra divisoria horizontal para poder visualizarla.
pág. 103 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
3. Seleccionamos una fila que tenga el tipo de declaración correcto para el tipo de variable que deseamos definir, y en la columna "Nombre", tecleamos el nombre de la variable. Si hacemos una asignación en el OB1 o en una rutina de interrupción, la tabla de variables locales contendrá únicamente variables TEMP. Si hacemos una asignación en una subrutina, la tabla de variables locales contendrá variables IN, IN_OUT, OUT y TEMP. No es necesario que introduzcamos un signo de número (#) antes del nombre en la tabla de variables locales. Las variables locales sólo deben ir precedidas de un signo de número en el código del programa. Los nombres de las variables locales pueden contener máximo 23 caracteres alfanuméricos y de subrayado, incluyendo también el juego ampliado de caracteres (ASCII 128 a 255). El primer carácter debe ser una letra. No se permite utilizar palabras clave en calidad de nombres simbólicos. Los nombres contenidos en la tabla de variables locales se cargan y se guardan en la memoria de la CPU. La utilización de nombres de variables largos podría reducir la capacidad de memoria disponible para almacenar el programa. 4. Situamos el puntero del ratón en el campo "Tipo de datos" y hacemos clic con objeto de seleccionar del cuadro de lista el tipo de datos apropiado para la variable local. 9.20.4.- Efectuar asignaciones adicionales en una tabla de variables locales. En las tablas de variables locales del OB1 y de las rutinas de interrupción se visualizan filas predefinidas con variables TEMP. Éste es el único tipo de declaración que se puede utilizar en el OB1 y en las rutinas de interrupción. Para agregar más filas a la tabla, haga clic en una celda de la última fila y pulse la tecla INTRO para desplazarse por esa fila y luego hacia abajo, donde se insertará automáticamente una nueva fila. En las tablas de variables locales de las subrutinas se visualiza una serie de filas predefinidas con tipos de declaración en el siguiente orden: IN, IN_OUT, OUT y TEMP. Este orden no se puede modificar. Las variables locales deben tener en la tabla el mismo orden que utilizarán los correspondientes operandos cuando éstos se asignen a la operación de llamada a la subrutina. Si desea agregar variables locales adicionales, haga clic con el botón derecho del ratón en una fila existente y utilice el menú contextual para insertar otra variable local del mismo tipo que el de la fila donde ha hecho clic. Elija el comando de menú Insertar>Fila para insertar la nueva fila arriba de la fila seleccionada, o bien Insertar>Fila abajo para insertarla debajo.
pág. 104 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Ejemplo de una tabla de variables locales.
pág. 105 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
9.20.5.- Tipos de datos. Si se hacen asignaciones en una tabla de variables locales, se debe definir un tipo de datos para cada una de las variables locales. Si se asigna explícitamente un tipo de datos a un valor, STEP 7-Micro/WIN recibe instrucciones precisas de cuánta memoria se debe poner a la disposición de ese valor (por ejemplo, el valor 100 se podría almacenar en calidad de BYTE, WORD (palabra) o DWORD (palabra doble)) y de cómo representar el valor (¿El valor 0 se debe tratar como valor BOOL (booleano) o como valor numérico?). Tipos de datos simples BOOL BYTE BYTE WORD INT DWORD DINT
Tamaño del tipo de datos 1 bit 8 bits 8 bits 16 bits 16 bits 32 bits 32 bits
REAL
32 bits
STRING
2 a 255 bytes
Tipos de datos complejos
Descripción
Área
Valor booleano Byte sin signo Byte con signo Entero sin signo Entero con signo Entero doble sin signo Entero doble con signo Valor de 32 bits en coma flotante (IEEE) Literal de constante ASCII almacenado en la memoria de la CPU como byte de longitud de 1 cadena seguido de bytes de datos ASCII
0 a 1 0 a 255 ‐128 a +127 0 a 65.535 ‐32768 a +32767 0 a 4294967295 ‐2147483648 a +2147483647 +1,175495E‐38 a +3,402823E+38 ‐1,175495E‐38 a ‐3,402823E+38
Descripción
TON
Temporizador con retardo al conectar
TOF
Temporizador con retardo al desconectar
TP CTU CTD CTUD
Caracteres ASCII 128 a 255
Temporizador por impulsos Contador ascendente Contador descendente Contador ascendente‐descendente
Área 1ms 10ms 100ms 1ms 10ms 100ms 1ms 10ms 100ms 0 a 255 0 a 255 0 a 255
T32, T96 T33 a T36, T97 a T100 T37 a T63, T101 a T255 T32, T96 T33 a T36, T97 a T100 T37 ‐ T63, T101 ‐ 255 T32, T96 T33 a T36, T97 a T100 T37 ‐ T63, T101 ‐ 255
pág. 106 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Marcas especiales. SM0.0
Siempre ON.
SM0.1
Primer ciclo.
SM0.2
Datos remanentes perdidos.
SM0.3
Alimentación .
SM0.4
30 s OFF / 30 s ON .
SM0.5
0,5 s OFF / 0,5 s ON.
SM0.6
OFF 1 ciclo / ON 1 ciclo.
SM0.7
Selector en posición RUN .
SM1.0
Resultado de la operación = 0.
SM1.1
Desbordamiento o valor no válido.
SM1.2
Resultado negativo.
SM1.3
División por 0.
SM1.4
Tabla llena.
SM1.5
Tabla vacía.
SM1.6
Error de conversión de BCD a binario.
SM1.7
Error de conversión ASCII a hexadecimal.
pág. 107 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
10.- Instrucciones autómatas Siemens.
pág. 108 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
10.- Instrucciones autómatas Siemens. 10.1.- Operaciones lógicas con bits. Estas operaciones leen el valor direccionado de la memoria o de la imagen del proceso si el tipo de datos es I o Q. El contacto normalmente abierto (LD, A, O) se cierra (ON) si el bit es igual a 1. El contacto normalmente cerrado (LDN, AN, ON) se cierra (ON) si el bit es igual a 0. El contacto NOT (NOT) cambia el estado de la entrada de circulación de corriente. La corriente se detiene al alcanzar el contacto NOT. Si no logra alcanzar el contacto, entonces hace circular la corriente. El contacto Detectar flanco positivo (EU) permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 0 a 1 (de “off" a “on"). El contacto Detectar flanco negativo (ED) permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 1 a 0 (de “on" a “off"). La operación Asignar (=) escribe el nuevo valor del bit de salida en la imagen del proceso.
Las operaciones Poner a 1 (S) y Poner a 0 (R) activan (ponen a 1) o desactivan (ponen a 0) el número indicado de E/S (N) a partir de la dirección indicada (bit). Es posible activar o desactivar un número de entradas y salidas (E/S) comprendido entre 1 y 255. Si la operación Poner a 0 indica un bit de temporización (T) o un bit de contaje (C), se desactivará el bit de temporización o de contaje y se borrará el valor actual del temporizador o del contador, respectivamente.
pág. 109 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
La operación Posicionar dominante biestable (SR) es un flip-flop en el que domina la señal “posicionar". Si tanto la señal “posicionar" (S1) como la señal “rearmar" (R) son verdaderas, la salida (OUT) será verdadera. El parámetro “bit" indica el parámetro booleano que está activado ("posicionado") o desactivado ("rearmado"). La salida opcional refleja el estado de señal del parámetro “bit". Tabla de verdad para la operación Posicionar dominante biestable:
Operación SR
S1
R
Out (bit)
0
0
Estado anterior
0
1
0
1
0
1
1
1
1
La operación Rearmar dominante biestable (RS) es un flip-flop en el que domina la señal “rearmar". Si tanto la señal “posicionar" (S) como la señal “rearmar" (R1) son verdaderas, la salida (OUT) será falsa. El parámetro “bit" indica el parámetro booleano que está activado ("posicionado") o desactivado ("rearmado"). La salida opcional refleja el estado de señal del parámetro “bit". Tabla de verdad:
Operación RS
S
R1
Out (bit)
0
0
Estado anterior
0
1
0
1
0
1
1
1
0
pág. 110 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
10.2.- Operaciones de comparación. La operación Comparar bytes se utiliza para comparar dos valores: IN1 e IN2. Las comparaciones de bytes no llevan signo. Las comparaciones incluyen: 9 IN1 = IN2 9 IN1 >= IN2 9 IN1 IN2 9 IN1 < IN2 9 IN1 IN2. En KOP, el contacto se activa si la comparación es verdadera. La operación Comparar enteros se comparar dos valores: IN1 e IN2.
utiliza para
Las comparaciones de enteros llevan signo. Ejemplo: 16#7FFF > 16#8000. La operación Comparar enteros dobles se utiliza para comparar dos valores: IN1 e IN2. Las comparaciones de palabras dobles llevan signo. Ejemplo: 16#7FFFFFFF > 16#80000000. La operación Comparar reales se utiliza para comparar dos valores: IN1 e IN2. Las comparaciones de números reales llevan signo.
La operación Comparar cadenas compara dos cadenas de caracteres ASCII: IN1=IN2
IN1IN2
Si la comparación es verdadera: En KOP, la corriente circula por el contacto de comparación. pág. 111 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
La longitud máxima de una cadena de constantes es de 126 bytes. La longitud máxima de dos cadenas combinadas es de 242 bytes. Formato del tipo de datos STRING de constante ASCII: Una cadena es una secuencia de caracteres. Cada uno de ellos se almacena en un byte diferente. El primer byte de la cadena define la longitud de la misma, es decir, el número de caracteres. Si la cadena de constantes se introduce directamente en el editor de programas o en el bloque de datos, se deberá indicar entre comillas ("cadena de constantes"). El mapa de memoria siguiente muestra el formato de un tipo de datos STRING. La cadena puede tener una longitud comprendida entre 0 y 254 caracteres. La longitud máxima de una cadena es de 255 bytes (254 caracteres, más el byte de longitud).
10.3.- Temporizadores. 10.3.1.- Temporizador como retardo a la conexión. La operación Temporizador como retardo a la conexión (TON) cuenta el tiempo al estar activada (ON) la entrada de habilitación. Si el valor actual (Txxx) es mayor o igual al valor de preselección (PT), se activará el bit de temporización (bit T). El valor actual del temporizador como retardo a la conexión se borra cuando la entrada de habilitación está desactivada (OFF). El temporizador continúa contando tras haber alcanzado el valor de preselección y para de contar cuando alcanza el valor máximo de 32767. Se dispone de temporizadores TON, TONR y TOF con tres resoluciones. La resolución viene determinada por el número del temporizador que muestra la tabla siguiente. El valor actual resulta del valor de contaje multiplicado por la base de tiempo. Por ejemplo, el valor de contaje 50 en un temporizador de 10ms equivale a 500ms.
pág. 112 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
La operación Temporizador como retardo a la conexión con memoria (TONR) cuenta el tiempo al estar activada (ON) la entrada de habilitación. Si el valor actual (Txxx) es mayor o igual al valor de preselección (PT), se activará el bit de temporización (bit T). El valor actual del temporizador como retardo a la conexión con memoria se mantiene cuando la entrada está desactivada (OFF). El temporizador como retardo a la conexión con memoria sirve para acumular varios períodos de tiempo de la entrada en ON. Para borrar el valor actual del temporizador como retardo a la conexión con memoria se utiliza la operación Poner a 0 (R). El temporizador continúa contando tras haber alcanzado el valor de preselección y para de contar cuando alcanza el valor máximo de 32767. La operación Temporizador como retardo a la desconexión (TOF) se utiliza para retardar la puesta a 0 (OFF) de una salida durante un período determinado tras haberse desactivado (OFF) una entrada. Cuando la entrada de habilitación se activa (ON), el bit de temporización se activa (ON) inmediatamente y el valor actual se pone a 0. Cuando la entrada se desactiva (OFF), el temporizador cuenta hasta que el tiempo transcurrido alcanza el valor de preselección. Una vez alcanzado éste, el bit de temporización se desactiva (OFF) y el valor actual detiene el contaje. Si la entrada está desactivada (OFF) durante un tiempo inferior al valor de preselección, el bit de temporización permanece activado (ON). Para que la operación TOF comience a contar se debe producir un cambio de ON a OFF. Si un temporizador TOF se encuentra dentro de una sección SCR y ésta se encuentra desactivada, el valor actual se pone a 0, el bit de temporización se desactiva (OFF) y el valor actual no cuenta.
Temporizador
TONR
TON, TOF
Resolución
Valor máximo
Nº de temporizador
1ms
32,767s
T0, T64
10ms
327,67s
T1-T4, T65-T68
100ms
3276,7s
T5-T31, T69-T95
1ms
32,767s
T32, T96
10ms
327,67s
T33-T36, T97-T100
100ms
3276,7s
T37-T63, T101-T255
pág. 113 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Para seleccionar los temporizadores KOP, procederemos de la manera siguiente: 1. Hacemos clic en el campo del nombre del temporizador e introducimos un número de temporizador. 2. Si el número de temporizador introducido no es válido, se indicará el valor de base de tiempo "???". 3. Situamos el cursor sobre el cuadro del temporizador y esperamos hasta que aparezca el rótulo informativo del temporizador. En la lista, buscamos los números válidos para este tipo de temporizador. 4. Si el número de temporizador introducido es válido, el valor de base de tiempo se indicará en el cuadro del temporizador, por ejemplo: "10ms". No se pueden compartir números iguales para los temporizadores TOF y TON. Por ejemplo, no puede haber tanto un TON T32 como un TOF T32. Los temporizadores como retardo a la conexión se utilizan para temporizar un solo intervalo. La operación Poner a 0 (R) se puede utilizar para inicializar cualquier temporizador. Esta operación arroja los siguientes resultados: Bit de temporización = OFF y valor actual = 0. 10.3.- Operaciones de conversión. La operación Convertir byte en entero (BTI) convierte el valor de byte (IN) en un valor de entero y deposita el resultado en la variable indicada por OUT. El byte no tiene signo. Por tanto, no hay ampliación de signo.
La operación Convertir entero en byte (ITB) convierte el valor de entero (IN) en un valor de byte y deposita el resultado en la variable indicada por OUT. Se convierten los valores comprendidos entre 0 y 255. Todos los demás valores producen un desbordamiento y la salida no se ve afectada. La operación Redondear (ROUND) convierte un valor de real (IN) en un valor de entero doble y deposita el resultado redondeado en la variable indicada por OUT. Si la fracción es 0,5 o superior, el número se redondeará al próximo entero superior.
pág. 114 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
10.4.- Contadores. La operación Incrementar contador (CTU) empieza a contar adelante a partir del valor actual cuando se produce un flanco positivo en la entrada de contaje adelante CU. Si el valor actual (Cxxx) es mayor o igual al valor de preselección (PV), se activa el bit de contaje (Cxxx). El contador se inicializa cuando se activa la entrada de desactivación (R) o al ejecutarse la operación Poner a 0. El contador se detiene cuando el valor de contaje alcance el valor límite superior (32.767). Rangos de contaje: Cxxx=C0 hasta C255. Puesto que cada contador dispone sólo de un valor actual, no se podrá asignar un mismo número a varios contadores. (Las operaciones Incrementar contador, Incrementar/decrementar contador y Decrementar contador acceden a un mismo valor actual). La operación Decrementar contador (CTD) empieza a contar atrás a partir del valor actual cuando se produce un flanco negativo en la entrada de contaje atrás CD. Si el valor actual Cxxx es igual a cero, se activa el bit de contaje (Cxxx). El contador desactiva el bit de contaje (Cxxx) y carga el valor actual con el valor de preselección (PV) cuando se activa la entrada de carga (LD). El contador se detiene cuando alcanza el valor "0" y el bit de temporización Cxxx se activa. La operación Incrementar/decrementar contador (CTUD) empieza a contar adelante cuando se produce un flanco positivo en la entrada de contaje adelante CU, y empieza a contar atrás cuando se produce un flanco positivo en la entrada de contaje atrás CD. El valor actual Cxx del contador conserva el contaje actual. El valor de preselección PV se compara con el valor actual cada vez que se ejecuta la operación de contaje.Cuando se alcanza el valor máximo (32.767), el siguiente flanco positivo en la entrada de contaje adelante invertirá el contaje hasta alcanzar el valor mínimo (-32.768). Igualmente, cuando se alcanza el valor mínimo (-32.768), el siguiente flanco positivo en la entrada de contaje atrás invertirá el contaje hasta alcanzar el valor máximo (32.767).Si el valor actual (Cxx) es mayor o igual al valor de preselección PV, se activa el bit de contaje Cxx. En caso contrario, se desactiva el bit. El contador se inicializa cuando se activa la entrada de desactivación (R) o al ejecutarse la operación Poner a 0. El contador adelante/atrás se detiene al alcanzar el valor de preselección (PV).
pág. 115 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
10.5.- Operaciones aritméticas. Las operaciones Sumar reales (+R) y Restar reales (-R) suman/restan dos números reales de 32 bits, dando como resultado un número real de 32 bits. En KOP: IN1 + IN2 = OUT IN1 - IN2 = OUT Marcas especiales: 9 SM1.0. Resultado cero. 9 SM1.1. Desbordamiento. 9 SM1.2. Resultado negativo. SM1.1 se utiliza para indicar errores de desbordamiento y valores no válidos. Si se activa SM1.1, el estado de SM1.0 y de SM1.2 no será válido y no se alterarán los operandos de entrada originales. Si SM1.1 y SM1.2 no se activan durante una operación de división, la operación aritmética habrá finalizado con un resultado válido, y tanto SM1.0 como SM1.2 contendrán un estado válido. La operación Multiplicar reales (*R) multiplica dos números reales de 32 bits, dando como resultado un número real de 32 bits (OUT).La operación Dividir reales (/R) divide dos números reales de 32 bits, dando como resultado un cociente de número real de 32 bits. En KOP: IN1 * IN2 = OUT. IN1 / IN2 = OUT. Marcas especiales: 9 SM1.0. Resultado cero. 9 SM1.1. Desbordamiento. 9 SM1.2. Resultado negativo. 9 SM1.3. División por cero.
SM1.1 indica errores de desbordamiento y valores no válidos. Si se activa SM1.3 durante una operación de división, permanecerán inalterados los demás bits aritméticos de estado, así como los operandos de entrada originales. SM1.1 se utiliza para indicar errores de desbordamiento y valores no válidos. Si se activa SM1.1, el estado de SM1.0 y de SM1.2 no será válido y no se alterarán los operandos de entrada originales. Si SM1.1 y SM1.3 no se activan durante una operación de división, la operación aritmética habrá finalizado con un resultado válido, y tanto SM1.0 como SM1.2 contendrán un estado válido. pág. 116 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Las operaciones Incrementar byte y Decrementar byte suman/restan 1 al byte de entrada (IN) y depositan el resultado en la variable indicada por OUT.Las operaciones Incrementar byte y Decrementar byte no llevan signo. En KOP:
IN + 1 = OUT.
IN - 1 = OUT. Marcas especiales: 9 SM1.0. Resultado cero. 9 SM1.1. Desbordamiento.
10.6.- Operaciones transferencia. La operación Transferir byte (MOVB) transfiere el byte de entrada (IN) al byte de salida (OUT), sin modificar el valor original.
La operación Invertir bytes de una palabra intercambia el byte más significativo y el byte menos significativo de una palabra (IN).
10.7.- Operaciones lógicas. La operación Invertir byte (INVB) forma el complemento a 1 del valor del byte de entrada IN y carga el resultado en la dirección de la memoria OUT.
pág. 117 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
La operación Combinación Y con bytes (ANDB) combina los bits correspondientes de dos valores de entrada (IN1 e IN2) mediante Y, y carga el resultado en una dirección de la memoria (OUT).
La operación Combinación O con bytes (ORB) combina los bits correspondientes de dos valores de entrada (IN1 e IN2) mediante O, y carga el resultado en una dirección de la memoria (OUT).
La operación Combinación O-exclusiva con bytes (XORB) combina los bits correspondientes de dos valores de entrada (IN1 e IN2) mediante O-exclusiva, y carga el resultado en una dirección de la memoria (OUT).
10.8.- Operaciones de control. La operación FOR (FOR) ejecuta las operaciones que se encuentren entre FOR y NEXT. Es preciso indicar el valor del índice o el contaje actual del bucle (INDX), el valor inicial (INIT) y el valor final (FINAL). La operación NEXT marca el final del bucle FOR y pone a "1" el primer valor de la pila. Las operaciones FOR/NEXT repiten un bucle del programa un número determinado de veces. Cada operación FOR exige una operación NEXT. Los bucles FOR/NEXT pueden anidarse (situar un bucle FOR/NEXT dentro de otro) hasta una profundidad de ocho niveles. Ejemplo: si el valor de INIT es 1 y si el de FINAL es 10, las operaciones que se encuentren entre FOR y NEXT se ejecutarán 10 veces, incrementando el valor de contaje INDX en 1, 2, 3, ...10. Si el valor inicial es mayor que el valor final, no se ejecuta el bucle. Después de ejecutarse las operaciones que se encuentran entre FOR y NEXT, se incrementa el valor de INDX y el resultado se compara con el valor final. Si INDX es mayor que el valor final, se finaliza el bucle.
pág. 118 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
La operación Saltar a meta (JMP) deriva la ejecución del programa a la meta indicada (n). Al saltar, el primer valor de la pila es siempre un "1" lógico. La operación Definir meta (LBL) indica la dirección de la meta de salto (n). La operación Saltar a meta se puede utilizar en el programa principal, en las subrutinas o en las rutinas de interrupción. La operación de salto y la meta correspondiente deben encontrarse siempre en el mismo segmento lógico (es decir, bien sea en el programa principal, en la subrutina, o bien en la rutina de interrupción). Desde el programa principal no se puede saltar a una meta que se encuentre en una subrutina o en una rutina de interrupción. Tampoco es posible saltar desde una subrutina o una rutina de interrupción a una meta que se encuentre fuera de ella. La operación Saltar a meta se puede utilizar en un segmento SCR, pero la correspondiente operación Definir meta debe encontrarse en ese mismo segmento SCR. 10.9.- Reloj. La operación Leer reloj de tiempo real (TODR) lee la hora y fecha actuales del reloj de hardware y carga ambas en un búfer de tiempo de 8 bytes (que comienza en la dirección T). La operación Ajustar reloj de tiempo real (TODW) escribe en el reloj de hardware la hora y fecha actuales que están cargadas en un búfer de tiempo de 8 bytes (que comienza en la dirección T). Todos los valores de la fecha y la hora se deben codificar en BCD (por ejemplo, 16#02 para el año 2002) La CPUS7-200 no comprueba si el día de la semana coincide con la fecha. Así puede ocurrir que se acepten fechas no válidas, por ejemplo el 30 de febrero. Asegúrese de que los datos introducidos sean correctos. No utilice nunca las operaciones TODR y TODW en el programa principal y en una rutina de interrupción a la vez. Si se está procesando una operación TODR/TODW y se intenta ejecutar simultáneamente otra operación TODR/TODW en una rutina de interrupción, ésta no se procesará. SM4.3 se activa indicando que se han intentado dos accesos simultáneos al reloj (error no fatal 0007).El reloj de tiempo real del S7-200 utiliza sólo los dos dígitos menos significativos para representar el año. Por tanto, el año 2000 se representa como "00". El S7-200 no utiliza la información relativa al año de ninguna forma. No obstante, si en los programas de usuario se utilizan operaciones aritméticas o de comparación con el valor del año, se deberá tener en cuenta la representación de dos dígitos y el cambio de siglo. pág. 119 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Formato del búfer de tiempo de 8 bytes (T): Byte T
Descripción
Datos de byte
0
Año (0 a 99)
Año actual (valor BCD)
1
Mes (1 a 12)
Mes actual (valor BCD)
2
Día (1 a 31)
Día actual (valor BCD)
3
Hora (0 a 23)
Hora actual (valor BCD)
4
Minuto (0 a 59)
Minuto actual (valor BCD)
5
Segundo (0 a 59)
Segundo actual (valor BCD)
6
00
Reservado – ajustado siempre a 00
7
Día de la semana (1 a 7) Día actual de la semana, 1=domingo (valor BCD)
pág. 120 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
11.- Programación autómatas Omron.
pág. 121 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
11.- Programación autómatas Omron. 11.1.- Instrucciones básicas. Ahora estudiaremos algunas de las instrucciones básicas en detalle para saber cual es la función de cada una de ellas. 11.1.1.- Load. La instrucción Load (LD) es un contacto normalmente abierto. Esta es llamada en algunas ocasiones “examine if on” (XIO). El símbolo de la instrucción Load se muestra abajo.
Este símbolo se utiliza cuando se necesita la existencia de una señal de entrada para que el símbolo se active. Cuando una entrada física se enciende podemos decir que esta instrucción es “verdadera”. Entonces se examina una entrada esperando una señal. Si la entrada está físicamente encendida el símbolo también lo estará. La condición de encendido se puede referir como estado lógico 1. Hay que recordar que los relés internos no existen físicamente, sino que corresponden a relés simulados por software. 11.1.2.- LoadBar. La instrucción LoadBar es un contacto normalmente cerrado. También se le denomina Loadnos o “examine if closed” (XIC). El símbolo de la instrucción LoadBar se muestra abajo.
Este símbolo se utiliza cuando no se necesita la existencia de una señal de entrada para que el símbolo se active. Cuando la entrada física se apaga podemos decir que esta instrucción es verdadera. En resumen desde el punto de vista lógico, la instrucción LoadBar corresponde a la negación de la instrucción Load.
Estado lógico
Contacto NA
Contacto NC
0
FALSO
VERDADERO
1
VERDADERO
FALSO
Tabla de verdad de la instrucción contacto.
pág. 122 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
11.1.3.- Out. La instrucción Out también se llama OutputEnergize. Su función es almacenar el estado de la bobina del relé al que está conectada la salida. El símbolo de esta instrucción se muestra abajo.
Cuando este símbolo está en la trayectoria de un peldaño en que todas sus instrucciones previas son verdaderas, su estado también será verdadero. Que la instrucción sea verdadera quiere decir que la salida asociada está físicamente encendida. 11.1.4.- OutBar. Esta instrucción es la opuesta de la instrucción Out. Cuando este símbolo se encuentra en una trayectoria de un peldaño cuyas instrucciones previas están en estado falso el valor que tomará la instrucción será verdadero. Hay que notar que algunas marcas de PLC no cuentan con esta instrucción.
pág. 123 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.- Instrucciones autómatas Omron.
pág. 124 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.- Instrucciones autómatas Omron. 12.1.- Condiciones normalmente abierta y normalmente cerrada Toda condición de un diagrama de relés es ON u OFF dependiendo del estado del bit operando asignado. Una condición normalmente abierta está en ON si el bit asignado está en ON, y en OFF si el bit está en OFF. Una condición normalmente cerrada está en ON si el bit asignado está en OFF, y en OFF si el bit está en ON. Generalizando, se utiliza una condición normalmente abierta si desea hacer algo cuando un bit esté en ON, y utiliza una condición normalmente cerrada si se ha de ejecutar una acción cuando un bit esté en OFF.
12.2.- LOAD y LOAD NOT. La primera condición para comenzar una línea lógica en un diagrama de relés corresponde a la instrucción LOAD o LOAD NOT. Cada una de estas instrucciones necesita una línea de código nemónico. En los siguientes ejemplos, se utiliza “Instrucción” como comodín que sustituye a cualquier instrucción de la parte derecha del diagrama y descritas más adelante en este manual.
pág. 125 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.3.- AND y AND NOT.
12.4.- OR y OR NOT Cuando dos o más condiciones en líneas separadas se juntan, la primera condición corresponde a una instrucción LOAD o LOAD NOT; el resto de las condiciones corresponden a instrucciones OR u OR NOT. El siguiente ejemplo, muestra tres condiciones correspondientes a las siguientes instrucciones: LOADNOT,ORNOT, y OR. Cada una de estas instrucciones necesita una línea de código nemónico.
12.5.- OUTPUT y OUTPUT NOT La forma más sencilla de presentar en una salida el resultado de la combinación de condiciones de ejecución es programarla directamente con las instrucciones OUTPUT y OUTPUT NOT. Estas instrucciones controlan el estado del bit operando designado de acuerdo con la condición de ejecución.
pág. 126 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.6.- Codificación de múltiples instrucciones de salida Si existe más de una instrucción a la derecha ejecutadas con la misma condición, se codifican consecutivamente a continuación de la condición de la línea de instrucción. En este ejemplo, la última línea de instrucción contiene una condición más que corresponde a una AND con el bit 00004.
12.7.- SET y RESET Las instrucciones SET y RESET son muy parecidas a OUTPUT y OUTPUTNOT excepto que sólo cambian el estado de sus bits operandos para condiciones de ejecución ON. Ninguna instrucción afectará el estado de su bit operando cuando la condición de ejecución es OFF. SET pondrá a ON el bit especificado cuando la condición de ejecución sea ON, pero a diferencia de OUTPUT, SET no pondrá el bit a OFF cuando la condición sea OFF. RESET pondrá a OFF el bit especificado cuando la condición de ejecución sea ON, pero a diferencia de OUTPUT NOT, RESET no pondrá el bit a ON cuando la condición sea OFF. En el siguiente ejemplo, IR 10000 se pondrá a ON cuando IR 00100 esté en ON y permanecerá en ON hasta que IR 00101 se ponga en ON, independientemente del estado de IR 00100. Cuando IR 00101 se pone en ON, RESET pondrá a OFF a IR 10000.
pág. 127 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.8.- DIFFERENTIATE UP y DIFFERENTIATE DOWN. Las instrucciones DIFFERENTIATE UP y DIFFERENTIATE DOWN se utilizan para poner a ON el bit operando durante un scan. La instrucción DIFFERENTIATE UP pone a ON el bit durante 1 scan después de que la condición de ejecución pase de OFF a ON; La instrucción DIFFERENTIATE DOWN pone a ON el bit durante 1 scan después de que la condición de ejecución pase de ON a OFF.
12.9.- KEEP. La instrucción KEEP se utiliza para mantener el estado del bit operando basado en dos condiciones de ejecución. Para esto, la instrucción KEEP se conecta a dos líneas de instrucción. Cuando la condición de ejecución al final de la primera línea es ON, el bit operando de la instrucción KEEP se pone en ON. Cuando la condición de ejecución al final de la segunda línea es ON, el bit operando de la instrucción KEEP se pone en OFF. El bit operando para la instrucción KEEP mantendrá su estado ON u OFF aunque esté dentro de una sección enclavada del diagrama. En el ejemplo siguiente, HR0000 se pondrá en ON cuando IR00002 esté en ON y IR 00003 esté en OFF. HR 0000 permanecerá en ON hasta que IR 00004 o IR 00005 se ponga en ON.
pág. 128 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.10.- Instrucciones diferenciadas La mayoría de las instrucciones están disponibles en forma diferenciada y en forma no diferenciada. Las instrucciones diferenciadas se distinguen por una @ delante del nemónico de la instrucción. Una instrucción no diferenciada se ejecuta cada vez que es escaneada siempre que su condición de ejecución sea ON. Una instrucción diferenciada se ejecuta sólo una vez después de que su condición de ejecución pase de OFF a ON. Si la condición de ejecución no ha cambiado o ha cambiado de ON a OFF desde la última vez que fue escaneada la instrucción, ésta no se ejecutará. Los dos ejemplos siguientes muestran cómo funciona con MOV(21) y @MOV(21), las cuales se utilizan para mover los datos de la dirección indicada por el primer operando a la dirección designada por el segundo.
pág. 129 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.11.- TEMPORIZADOR -- TIM
El rango de SV es de 000.0 a 999.9. No se escribe el punto decimal. Cada número de TC se puede utilizar como definidor en sólo una instrucción de TIM0 CNT. Los números de TC van de 000 a 511 en los PLCs CQM1 y de 000 a 127 en los PLCs CPM1/CPM1A/SRM1. Si se va a utilizar TIMH(15), de TC 000 a TC 015 para los PLCs CQM1 y de TC 000a TC003 en los PLCsCPM1/CPM1A/SRM1 no deberían utilizarse para TIM. Un temporizador se activa cuando su condición de ejecución se pone en ON y se resetea (a SV) cuando la condición de ejecución se pone en OFF. Una vez activado, TIM mide en unidades de 0.1 segundo desde el SV. 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). La siguiente figura ilustra la relación entre la condición de ejecución para TIM y el indicador de finalización asignado.
Los temporizadores en secciones de programa enclavadas se resetean cuando la condición de ejecución para IL(02) es OFF. Los cortes de alimentación también resetean los temporizadores. Si se desea un temporizador que no se resetee bajo estas condiciones, se pueden contar los impulsos de reloj de los bits de reloj del área SR para generar un temporizador utilizando un contador. pág. 130 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.12.- CONTADOR – CNT.
Todo número de TC sólo se puede utilizar como definidor en una instrucción TIM o CNT. Los números de TC van de 000 a 511 en los PLCs CQM1 y de 000 a 127 en los PLCs CPM1/CPM1A/SRM1. CNT se utiliza para descontar a partir del SV cuando la condición de ejecución en el impulso de contaje, CP, pase de OFF a ON, es decir, el valor presente (PV) será reducido en uno siempre que CNT se ejecute con una condición de ejecución ON para CP y la condición de ejecución fuera OFF para la última ejecución. Si la condición de ejecución no cambió o cambió de ON a OFF, el PV de CNT no cambiará. El indicador de finalización para un contador se pone a ON cuando el PV alcanza cero y permanecerá en ON hasta que el contador se resetee. CNT se resetea con una entrada de reset, R. Cuando R pasa de OFF a ON, el PV se resetea a SV. El contador no descuenta mientras la entrada R está en ON. El PV para CNT no se resetea en secciones de programa enclavadas o por cortes de alimentación. Los cambios en las condiciones de ejecución, el indicador de finalización y el PV se muestran en la siguiente figura.
pág. 131 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
En el siguiente ejemplo, CNT se utiliza para crear temporizadores ampliados contando los impulsos de los bits de reloj del área SR. CNT 001 cuenta el número de veces que el bit de reloj de 1 segundo (SR 25502) pasa de OFF a ON. Se utiliza IR 00000 para controlar las veces que CNT está operando. Dado que en este ejemplo el SV para CNT 001 es 700, el indicador de finalización para CNT 002 se pone a ON cuando se cuenta 700 veces un segundo, es decir después de transcurridos 11 minutos y 40 segundos. Esto hará que IR 01602 se ponga a ON.
pág. 132 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.13.- CONTADOR REVERSIBLE - CNTR(12).
12.14.- TEMPORIZADOR DE INTERVALO -- STIM(69).
Nota STIM(69) es una instrucción de expansión en PLCs SRM1. En código de función 69 es el establecido por defecto, pero puede ser cambiad en PLCs SRM1 si se desea. pág. 133 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
Limitaciones (CQM1). C1 debe ser de 000 a 008 ó de 010 a 012. Si C1 es de 000 a 005, no se puede utilizar una constante mayor de 0255 para C3. Si C1 es de 006 a 008, no se pueden utilizar ni constantes ni de DM 6143 a DM6655 paraC2 oC3. Si C1 es de 010 a 012, tanto C2 como C3 se deben seleccionar a 000. Limitaciones (CPM1/CPM1A/SRM1) C1 debe ser 000, 003, 006 ó 010. Si C1 es 000 ó 003, no se puede utilizar una constante mayor que 0049 para C3. Si C1 es 006, no se pueden utilizar ni constantes ni deDM6143 aDM6655 para C2 o C3. Si C1 es 010, tanto C2 como C3 deben seleccionarse a 000. Descripción STIM(69) se utiliza para controlar temporizadores de intervalo realizando cuatro funciones básicas: arrancar el temporizador para una interrupción de llamada única, arrancar el temporizador para interrupciones programadas, parar el temporizador y leer el PV del temporizador. Seleccionar el valor de C1 para especificar cuál de estas funciones se realizará y cuál de los tres temporizadores de intervalo se utilizará, como se muestra en la siguiente tabla.
pág. 134 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.15.- Instrucciones de transferencia de datos. 12.15.1.- MOVER -- MOV(21).
En el siguiente ejemplo se utiliza @MOV(21) para copiar el contenido de IR 001 a HR 05 cuando IR 00000 pasa de OFF a ON.
pág. 135 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
12.16.- Instrucciones de comparación. 12.16.1.- COMPARAR -- CMP(20).
Para comparar un valor con el PV de un temporizador o contador, el valor debe estar en BCD. Cuando la condición de ejecución es OFF, CMP(20) no se ejecuta. Cuando la condición de ejecución es ON, CMP(20) compara Cp1 y Cp2 y envía el resultado a los indicadores GR, EQ y LE en el área SR. Prestar atención si se colocan otras instrucciones entre CMP(20) y la operación que acceda a los indicadores EQ, LE y GR ya que puede cambiar el estado de dichos indicadores.
En el siguiente ejemplo se muestra cómo salvar inmediatamente el resultado de la comparación. Si el contenido de HR 09 es mayor que 010, 00200 se pone en ON; si los dos contenidos son iguales, 00201 se pone en ON; si el contenido de HR 09 es menor que 010, 00202 se pone en ON. En algunas aplicaciones, sólo una de las tres salidas será necesaria, siendo innecesario el uso de TR 0. Con este tipo de programación, 00200, 00201 y 00202 se cambian sólo cuando se ejecuta CMP(20).
pág. 136 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
pág. 137 Luis Alberto Rodríguez Soto. Rubén Freiría González.
Curso de autómatas programables Siemens y Omron.
13.- Anexos.
pág. 138 Luis Alberto Rodríguez Soto. Rubén Freiría González.
View more...
Comments