INTRODUCCIÓN A LOS CONTROLADORES LÓGICOS PROGRAMABLES (*) (*) Como el título lo indica, este apunte trata los conceptos básicos de los controladores lógicos programables. El material fue pensado para ser complementado, necesariamente, con las copias de determinados capítulos del Manual de Usuario del PLC S7-200 de Siemens y que forman parte de este dossier. 1.- PRESENTACIÓN Un Controlador Lógico Programable (PLC), es un microprocesador de aplicación específica para el control de procesos industriales. Podríamos decir que programado adecuadamente es la implementación (síntesis) programada de un sistema lógico. Nacen en la década del 70. En la Figura 1 se muestra un esquema típico de un sistema de control de lazo cerrado de un proceso industrial. Se pretende que el sistema simbolizado con el bloque Planta, presente un comportamiento determinado. La unidad de control ve, por medio de los sensores como se comporta la planta y en función de esto decide sus salidas, que son las señales de control que vuelven a la planta. Figura 1 Un PLC es una unidad de control que incluye total o parcialmente las interfases con las señales de proceso. En la Figura 2 se muestra una parte ampliada del esquema anterior. Un PLC incluye el bloque Unidad de Control y uno o más de los dispositivos y bloques dibujados. Esto es: conversores A/D-D/A, relés, llaves, teclado, indicadores luminosos, salidas 7 segmentos, etc. Otra característica de un PLC es su hardware estándar con capacidad de conexión directa a las señales de campo (valores de tensión y corriente industriales, transductores, sensores, etc.) y programable por el usuario. Ventajas: Flexibilidad en la implementación (ampliación, modificación y depuración) Permite el uso por parte de idóneos (no especialistas) Gran rendimiento y sofisticación si lo usan especialistas Comunicación con otros PLCs y con computadoras de procesos. Gran robustez para uso industrial (polvo, temperatura, humedad, vibraciones, ruido, etc.) 1
ENTRADAS DIGITALES SALIDAS DIGITALES ENTRADAS ANALÓGICAS SALIDAS ANALÓGICAS Figura 2 La tendencia actual en el control de procesos complejos es utilizar PLC en red o como periféricos de un ordenador, con lo cual se combinan la potencia de cálculo del ordenador y la facilidad de interfaces estándar que ofrece el PLC. El sistema así integrado ofrece las siguientes características: Sistema programable con una gran potencia de cálculo Gran cantidad de software estándar para manipulación de datos y gestión de la producción Interfaces estándares de ordenador para estaciones gráficas, utilizadas para monitorear el proceso. Control descentralizado con inteligencia distribuida, sin interrupción de todo el proceso ante fallas del procesador central. Sistemas de comunicación estándar (LAN o WAN) Facilidad de interfaz con la planta Mantenimiento fácil por secciones. Posibilidad de visualizar el proceso en tiempo real. Flexibilidad para hacer cambios. Programación sencilla a nivel de secciones. 2.- ARQUITECTURA INTERNA En forma genérica podemos esquematizar la estructura interna de un PLC como lo indica la Figura 3 2.1.- Unidad Central de Proceso Está estructurada en base a un microprocesador, es la encargada de ejecutar el programa del usuario y de producir las transferencias de datos desde las entradas y hacia las salidas. También es la encargada de gestionar la comunicación con otros periféricos. Toma las instrucciones una a una de la memoria, las decodifica y las ejecuta. En general el funcionamiento es tipo interpretado y la decodificación puede ser programada o cableada La primera opción, más económica, es frecuente en PLCs de menor complejidad mientras que la segunda, con diseños propios del fabricante, se utilizan tecnologías tipo custom para autómatas de mayor complejidad y logrando mejores tiempos de respuesta. 2
2.2.- Memoria del Controlador Figura 3 En general podemos dividir la demanda de memoria en dos grandes grupos: Datos del proceso Señales de planta, entradas y salidas Variables internas Datos alfanuméricos y constantes Datos de control Programa del usuario Configuración del PLC (cantidad de entradas/salidas conectadas, modo de funcionamiento, etc.) Para dar respuesta a esta demanda, los controladores hacen uso de distintos tipos de memoria según sea su capacidad de almacenamiento, su velocidad de acceso, su volatilidad, etc. En la tabla siguiente se muestra un esquema de los tipos de memoria y la posible aplicación dentro de un PLC. MEMORIA Volátil No Volátil Lectura/escritura RAM Sólo lectura ROM EPROM Datos Monitor Programa internos Intérprete usuario Aplicaciones Memoria imagen E/S RAM + Batería RAM + EEPROM Programa usuario Datos internos Parámetros EEPROM Programa usuario Parámetros En un PLC, la memoria interna es la que almacena el estado de las variables que maneja el autómata: entradas, salidas, contadores, temporizadores, marcas, señales de estado, etc. Esta memoria interna está caracterizada por la cantidad de bits que utiliza (1) : 1 En nuestra materia, utilizaremos sólo parámetros que utilizan un bit para su almacenamiento, excepción hecha con los temporizadores, que utilizan más de un bit y que sí utilizaremos. 3
Posiciones de 1 bit Memoria imagen de entradas/salidas digitales ( Ej.: I0.2, Q1.2) (2) Marcas (Ej.: M23.8) Variables (Ej.: V12.5) Relés (ej.: S3.2) Posiciones de 8 bits (Byte-B), 16 bits (Palabra-W) o 32 bits (Palabra doble-d) Memoria imagen de entradas/salidas digitales (ej.: IB2, QB6) Entradas analógicas (ej.: AIW5) Salidas analógicas (ej.: AQW12) Marcas (ej.: MD18) Variables (ej.: VW12) Temporizadores (ej.: T32) Contadores (ej.: C20) Acumuladores (ej.: AC3) Para el procesamiento de la información proveniente de las entradas, el PLC utiliza lo que está almacenado en lo que se llama memoria imagen, que es la entrada inmovilizada durante el ciclo de procesamiento. Después de ejecutar cada ciclo, la CPU ordena el intercambio de señales entre las interfases E/S y la memoria imagen, de forma que, mientras dura la ejecución del ciclo (y los cálculos correspondientes), los estados y valores de las entradas considerados para el cómputo no son los actuales de la planta, sino los almacenados en la memoria imagen leídos en el ciclo anterior. De igual forma, los resultados obtenidos no son enviados directamente a la interfaz de salida, sino a la memoria imagen de salida (ó imagen del proceso), transfiriéndose a la interfase, al terminar el ciclo. 2.3.- Interfaces de Entrada Salida Establecen la comunicación con la planta, permiten ingresar la información proveniente de los sensores, interruptores, etc. (entradas) y enviar información a motores, bombas, electrovalvulas y accionamientos en general. Para esto, las interfases deben filtrar, adaptar y codificar adecuadamente las señales. Las señales pueden clasificarse según distintas características: Por tipo: - Analógicas - Digitales Por la tensión de alimentación: - Corriente continua (estáticas de 24-110V) - Corriente continua a colector abierto (PNP o NPN) - Corriente alterna (60-110-220V) - Salidas por relé (libres de tensión) Por el aislamiento: - Con separación galvánica (ej. optoacopladas) - Acoplamiento directo En los PLCs más sencillos encontramos una gama más limitada de opciones: 2 Lo expresado entre paréntesis, es la notación utilizada por el PLC Siemens para representar distintos parámetros (entradas, salidas, marcas, etc.) 4
Entradas: Corriente continua 24 o 48 v Corriente alterna 110 o 220 V Analógicas de 0-10Vcc ó 4-20mA Salidas: Por relé Estáticas por triac a 220VCA máximo Analógicas de 0-10Vcc ó 4-20mA 2.4.- Fuente de alimentación En general poseen dos tipos de fuentes de alimentación independiente: Alimentación del PLC (CPU, memorias e interfaces) Alimentación de las entradas y de las salidas (a veces por separado) 3.- CICLO DE FUNCIONAMIENTO Los controladores lógicos programables son máquinas secuenciales que deben modelar sistemas que son, muchas veces, de evolución concurrente. El PLC entonces, ejecuta en forma correlativa las instrucciones que están indicadas en el programa del usuario almacenado en su memoria. En general podemos decir que lee las entradas provenientes de la planta, ejecuta el programa con esos valores de entradas y genera las salidas (acciones) que controlan la planta. Esta secuencia se ejecuta continuamente para conseguir el control actualizado del proceso. En términos generales, la secuencia de operación del autómata se puede dividir en tres fases principales: Lectura de señales desde la interfaz de entradas Procesado del programa para la obtención de las señales de control Escritura de señales en la interfaz de salidas En particular, el PLC Siemens que utilizaremos sigue el siguiente ciclo. Un ciclo Escribir salidas Leer entradas Ejecutar autodiagnóstico de la CPU Ejecutar el programa de usuario Procesar las peticiones de comunicación Leer las entradas digitales. Al principio de cada ciclo se leen los valores actuales de las entradas digitales y las graba luego como imagen de las entradas. 5
Ejecutar el programa de usuario. En esta fase, la CPU ejecuta el programa desde la primera instrucción hasta la última (END). Peticiones de comunicación. Durante esta fase del ciclo, la CPU procesa los mensajes que hubiera recibido por la interfase de comunicación. Autodiagnóstico. Durante el autodiagnóstico se comprueba el firmware de la CPU y la memoria del programa, así como el estado de los módulos de ampliación. Escribir los valores de la imagen del proceso en las salidas digitales. El tiempo total que el PLC emplea para ejecutar u ciclo de operación se llama tiempo de ejecución de ciclo o más sencillamente tiempo de ciclo (scan time ). Para un determinado PLC, el tiempo de ciclo depende de: a) el número de entradas/salidas afectadas, b) la longitud del programa usuario y c) el número y tipo de periféricos conectados al plc. Los tiempos empleados en chequeos y comprobaciones (autodiagnóstico) son del orden de 1 a 2 ms, valores similares se emplean en la atención de periféricos externos. Los tiempos de ejecución de instrucciones se miden en microsegundos s), resultando que el tiempo de ejecución del programa, depende del número y tipo de instrucciones. Este tiempo es un parámetro importante del PLC y se lo expresa en milisegundos por cada mil instrucciones ( ms/k). Como dijimos, esto dependerá del tipo de instrucciones elegidas, por lo que el fabricante suele indicar las que utilizó como base de cálculo y las proporciones de ellas utilizadas en el programa muestra. Son comunes valores de 5 a 15 ms/k, aunque con una tendencia muy marcada a su disminución (menos de 1 ms/k). Para un plc estándar, con unas 1000 instrucciones, podemos esperar un tiempo de ciclo total de 20 ms. Por último, para el cálculo de los tiempos finales, se deberán tener en cuenta una limitante importante, como lo es la lectura/escritura de señales de planta en las interfaces. Éstas incorporan retardos elevados en las conmutaciones entre otros, debido a los filtros, por lo que valores típicos de frecuencias de trabajo son 100 Hz o menor. Imagen del proceso de las entradas y salidas Como se mencionara anteriormente, los accesos a las entradas y salidas se efectúan generalmente a través de las respectivas imagen de entrada e imagen del proceso y no de forma directa. Es decir, el proceso accede a registros donde se almacenan una réplica de las entradas y el resultado del proceso. Las razones principales de este procedimiento son: 1. Al leer desde la interfase las entradas al comienzo del ciclo y grabarlas en la imagen de entrada, se sincronizan y congelan estos valores durante la fase de proceso. Finalmente, la imagen del proceso pasa a la interfase de salida cuando se finaliza la ejecución del ciclo. Este procedimiento da estabilidad al sistema. 2. El programa de usuario tiene tiempos de acceso mucho menores a las imágenes que a las entradas y salidas físicas, con lo cual acelera su tiempo de ejecución. 3. Las entradas y salidas digitales son elementos que admiten señales binarias (sólo una línea binaria c/u) a las que se debe acceder en formato de bit. Sin embargo, la imagen del proceso permite acceder a ella en formato de bits, byte, palabra y palabra doble, lo que aumenta la flexibilidad y potencia de proceso. 4. En la imagen del proceso, puede haber direcciones no utilizadas como salidas físicas, que pueden utilizarse como marcas internas adicionales (variables internas). 4.- PROGRAMACION DEL PLC Los PLCs admiten varios lenguajes de programación, que podemos clasificar en : Algebraicos o Lenguajes booleanos 6
Gráficos o Lista de instrucciones (en Siemens AWL) o Lenguajes de alto nivel o Diagrama de contactos (en Siemens KOP) o Diagrama de funciones/bloques o Intérprete GRAFCET GRAfico Funcional de Control de Estados y Trancisiones (similar a diagramas de Petri) En los PLCs que se utilizarán en el Laboratorio, están disponibles los lenguajes diagrama de contactos (KOP) y lista de instrucciones (AWL). 4.1.- Temporizadores Un temporizador es un dispositivo capaz de retardar una orden de salida (activación o desactivación) durante un tiempo, en respuesta a una señal de mando de entrada. Haremos referencia a tres funciones distintas de temporización: q Impulso. La salida se mantiene activa mientas dure la señal de mando (entrada) hasta un cierto tiempo máximo denominado tiempo de impulso, Figura 4 a). q Retardo de (a la) conexión. La salida se retarda (demora la subida de la salida) hasta que transcurra el tiempo de retardo, Figura 4 b). q Retardo de (a la) desconexión. La salida conecta al mismo tiempo que se activa la entrada y se mantiene hasta un tiempo (tiempo de desconexión) de caer aquella, Figura 4 c). Figura 4 En el PLC 215 de Siemens, que utilizaremos en el laboratorio, tenemos disponibles temporizadores del tipo retardo a la conexión y viene especificado como sigue: Txx IN TON PT 7
Donde: - Txx es la referencia al tipo de temporizador (y también el nombre simbólico) que hemos elegido (ej. T32, T101, etc). Cada temporizador tiene asociada una base de tiempo o resolución (en ms) que se consigna en una tabla del manual. Por ejemplo: Tipo temporizador Base [ms] T32, T96 1 T33 a T36 10 T37 a T63 100 - IN es la línea de habilitación, la que se deberá energizar en el momento que se desee que comience a temporizar. - PT es el valor de preselección. Este es un valor que el usuario define y coloca en el mismo diagrama para determinar el valor final de la cuenta. La función que relaciona estos parámetros es TiempoTotal = PT Basedetiempo En la Figura 5 - (a) se muestra el diagrama ladder de un temporizador excitado por el contacto I1.2, con una valor de preselección PT=20. Además, con un contacto normal abierto asociado al temporizador, se excita una salida Q3.1. [ ms] Se ha utilizado un temporizador T35 que, por manual, tiene una base de tiempo (o resolución) de 10 ms. En la Figura 5 -(b) se muestra el diagrama de evolución en el tiempo de los parámetros involucrados. (a) (b) Figura 5 Con este programa se logra que, luego de 200 milisegundos de que se cierra el contacto I1.2, se cierra el contacto T35 asociado al temporizador T35 y esto resulta en la excitación de la bobina Q3.1. En el diagrama también se observa que T35 baja (se abre el contacto T35) al bajar la señal de habilitación IN del temporizador (cuando se abre I1.2). 8
5.- PROBLEMA Programar un PLC para que comande una luz L tal que, al pulsar P, se encienda por 10 minutos. Disponer también otro pulsador A que, si se pulsa antes de transcurrido los 10 minutos de temporizado, apague la luz L. En la Figura 6, se dibuja el esquema del sistema y la red de Petri que describe el comportamiento pedido. Figura 6 La RdeP dibujada, puede llevarse al PLC aplicando los métodos visto en clases, sobre síntesis de una red de Petri en un PLC. Sin embargo, dada la simplicidad del problema, en este caso se llevará a un diagrama ladder en forma directa aplicando una lógica de contactos (método tradicional generalmente utilizado por idóneos en fábrica). La Figura 7 muestra el diagrama referido, realizado con el editor del STEP 7 Micro WIN (ambiente para la programación del PLC 215 de Siemens) P I0.0 A I0.1 L Q0.0 Se utilizó un Temporizador T40 cuya base de tiempo es de 100 ms Figura 7 Queda para el alumno, la realización del diagrama ladder a partir de la RdeP de Figura 6. Tener presente que la simulación a partir de las redes de Petri puede presentar aleatorios. Estos pueden eliminarse, dividiendo el programa en dos partes: a) el que representa el disparo de las transiciones y b) el que representa el marcado y desmarcado de los lugares. 9