En electrónica un autómata es un sistema secuencial, aunque en ocasiones la palabra es utilizada también para referirse a un robot. Puede definirse como un equipo electrónico programable en lenguaje no informático y diseñado para controlar, en tiempo real y en ambiente industrial, procesos secuenciales. Sin embargo, la rápida evolución de los autómatas hace que esta definición no esté cerrada.
En la disciplina perteneciente a la informática, se describen tres tipos de autómatas que reconocen tipos diferentes de lenguajes: los autómatas finitos, los autómatas a pila y las máquinas de Turing.
El autómata es la primera máquina con lenguaje, es decir, un calculador lógico cuyo juego de instrucciones se orienta hacia los sistemas de evolución secuencial.
La aparición de los ordenadores a mediados de los 50's inauguró el campo de la lógica programada para el control de procesos industriales. No obstante, aunque estos ordenadores resolvían los inconvenientes de un Sistema cableado o la llamada lógica cableada, presentaban nuevos problemas:
Estos problemas se solucionarían con la aparición del autómata programable o PLC (Controlador Lógico Programable; en inglés Programable Logic Controler).
A mediados de los años 60, General Motors, preocupada por los elevados costos de los sistemas de control a base de relés, de lógica cableada, comenzó a trabajar con Digital en el desarrollo de un sistema de control que evitara los inconvenientes de la lógica programada. El resultado de la colaboración fue un equipo programado, denominado PDP-14, cuyo empleo no tardó en extenderse a otras industrias. En un principio, los autómatas programables solo trabajaban con control discreta ( Si o No ), por lo que los problemas que requerían la manipulación de magnitudes analógicas se dejaron para los tradicionales sistemas de control distribuido.
Resulta curioso anotar que R. E. Moreley, considerado por muchos el padre del autómata programable, trabajando independientemente de las especificaciones de la General Motors desarrolló un equipo que respondía a las necesidades de dicha multinacional.
Hacia la primera mitad de los años 70 los autómatas programables incorporan la tecnología de los microcontroladores, aumentando de este modo sus prestaciones:
La década de los años 80 se caracteriza por la incorporación de los microprocesadores, consiguiendo:
En la actualidad existen autómatas que permiten automatizar a todos los niveles, desde pequeños sistemas mediante autómatas compactos, hasta sistemas sumamente complejos mediante la utilización de grandes redes de autómatas.
Como ya se ha comentado, las primeras aplicaciones de los autómatas programables se dieron en la industria automotriz para sustituir los complejos equipos basados en relés. Sin embargo, la disminución de tamaño y el menor costo han permitido que los autómatas sean utilizados en todos los sectores de la industria. Solo a modo de ejemplo, se mencionan a continuación algunos de los múltiples campos de aplicación.
Un autómata programable se puede considerar como un sistema basado en un microprocesador, siendo sus partes fundamentales la Unidad Central de Proceso (CPU), la Memoria y el Sistema de Entradas y Salidas (E/S).
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. La memoria se divide en dos bloques, la memoria de solo lectura o ROM (Read Only Memory) y la memoria de lectura y escritura o RAM (Random Access Memory).
En la memoria ROM se almacenan programas para el correcto funcionamiento del sistema, como el programa de comprobación de la puesta en marcha y el programa de exploración de la memoria RAM.
La memoria RAM a su vez puede dividirse en dos áreas:
El sistema de Entradas y Salidas recoge la información del proceso controlado (Entradas) y envía las acciones de control del mismo (salidas). Los dispositivos de entrada pueden ser pulsadores, interruptores, finales de carrera, termostatos, presostatos, detectores de nivel, detectores de proximidad, contactos auxiliares, etc.
Por su parte, los dispositivos de salida son también muy variados: Pilotos indicadores, relés, contactores, arrancadores de motores, válvulas, etc. En el siguiente punto se trata con más detalle este sistema para el funcionamiento correcto del PLC.
En general, las entradas y salidas (E/S) de un autómata pueden ser discretas, analógicas, numéricas o especiales.
Las E/S discretas se caracterizan por presentar dos estados diferenciados: presencia o ausencia de tensión, relé abierto o cerrado, etc. Su estado se puede visualizar mediante indicadores tipo LED que se iluminan cuando hay señal en la entrada o cuando se activa la salida. Los niveles de tensión de las entradas más comunes son 5 V cc, 24 V cc/ca, 48 V cc/ca y 220 V ca.
Los dispositivos de salida más frecuentes son relés, transistores y triacs.
Las E/S analógicas tienen como función la conversión de una magnitud analógica (tensión o corriente) equivalente a una magnitud física (temperatura, presión, grado de acidez, etc.) en una expresión binaria de 11, 12 o más bits, dependiendo de la precisión deseada. Esto se realiza mediante conversores analógico-digitales (ADC's).
Las E/S numéricas permiten la adquisición o generación de información a nivel numérico, en códigos BCD, Gray u otros (véase código binario). La información numérica puede ser entrada mediante dispositivos electrónicos digitales apropiados. Por su parte, las salidas numéricas suministran información para ser utilizada en dispositivos visualizadores (de 7 segmentos) u otros equipos digitales.
Por último, las E/S especiales se utilizan en procesos en los que con las anteriores E/S vistas son poco efectivas, bien porque es necesario un gran número de elementos adicionales, bien porque el programa necesita de muchas instrucciones. Entre las más importantes están:
Cuando se pone en marcha el PLC se realizan una serie de comprobaciones:
Una vez efectuadas estas comprobaciones y si las mismas resultan ser correctas, la CPU... inicia la exploración del programa y reinicializa. Esto último si el autómata se encuentra en modo RUN (marcha), ya que de estar en modo STOP (paro) aguardaría, sin explorar el programa, hasta la puesta en RUN.
Al producirse el paso al modo STOP o si se interrumpe la tensión de alimentación durante un tiempo lo suficientemente largo, la CPU realiza las siguientes acciones:
Mientras se está ejecutando el programa, la CPU realiza en sucesivos intervalos de tiempo distintas funciones de diagnóstico (watch-dog en inglés). Cualquier anomalía que se detecte se reflejará en los indicadores de diagnóstico del procesador y dependiendo de su importancia se generará un código de error o se parará totalmente el sistema.
El tiempo total del ciclo de ejecución viene determinado por los tiempos empleados en las distintas operaciones. El tiempo de exploración del programa es variable en función de la cantidad y tipo de las instrucciones así como de la ejecución de subrutinas. El tiempo de exploración es uno de los parámetros que caracteriza a un PLC y generalmente se suele expresar en milisegundos por cada mil instrucciones. Para reducir los tiempos de ejecución, algunas CPU's constan de dos o más procesadores que operan simultáneamente y están dedicados a funciones específicas. También se puede descargar de tareas a la CPU incorporando módulos inteligentes dedicados a tareas específicas.
La misión principal de los equipos de programación, es la de servir de interfaz entre el operador y el autómata para introducir en la memoria de usuario el programa con las instrucciones que definen las secuencias de control.
Dependiendo del tipo de autómata, el equipo de programación produce unos códigos de instrucción directamente ejecutables por el procesador o bien un código intermedio, que es interpretado por un programa residente en el procesador (firmware).
Las tareas principales de un equipo de programación son:
Básicamente existen tres tipos de equipos de programación:
La conexión de la consola u ordenador al autómata programable se realiza mediante una conexión en serie (generalmente la RS-232C o la RS-422).
Además de los equipos de programación, existen numerosos dispositivos que sin formar parte directa del autómata, pueden conectarse al mismo para realizar distintas funciones. Normalmente se conectan a las salidas ASCII o a los canales de comunicación del autómata.
Seguidamente se describen algunos de los equipos periféricos más comunes:
La forma de comunicarse el autómata con sus periféricos puede ser unidireccional, cuando se establece en un solo sentido, o bien bidireccional, cuando se establece en los dos sentidos. Los enlaces para ambos tipos de comunicación suelen ser por lo general del tipo serie, siendo los más empleados los anteriormente mencionados RS-232C y RS-422, ambos de acuerdo con las normas de la EIA (Electronic Industries Association).
El RS-232C es el método de transmisión de datos más difundido, pero tiene la limitación de la distancia máxima de transmisión a 15 metros y la velocidad máxima de transmisión de 19.200 baudios (1 baudio = 1 bit/segundo). El RS-422 resuelve en parte las limitaciones del RS-232C. La distancia de transmisión puede superar un kilómetro y la velocidad puede llegar a 10 Mbaudios.
Para controlar un determinado proceso, el autómata realiza sus tareas de acuerdo con una serie de sentencias o instrucciones establecidas en un programa. Dichas instrucciones deberán haber sido escritas con anterioridad por el usuario en un lenguaje comprensible para la CPU. En general, las instrucciones pueden ser de funciones lógicas, de tiempo, de cuenta, aritméticas, de espera, de salto, de comparación, de comunicación y auxiliares.
Dependiendo del fabricante, los lenguajes de programación son muy diversos, sin embargo, suelen tener alguna relación más o menos directa con los lenguajes Ladder o GRAFCET.
Los programas para autómata pueden realizarse de forma lineal o de forma estructurada. En la programación lineal el programa consta de una serie de instrucciones que se van ejecutando una tras de otra de modo cíclico. Este modo de programación se suele emplear en programas no demasiado complejos o en autómatas que no posean el modo estructurado. Cuando los programas son muy complejos, la programación estructurada es más aconsejable ya que puede dividirse el proceso general en subprogramas con diferentes subprocesos tecnológicos. Otras de las ventajas de este modo de programación es que da un carácter más panorámico al programa, lo que conlleva una más fácil identificación de errores así como una mayor facilidad de comprensión por otros programadores.
Programar un autómata no es realmente algo imposible, pero sí se necesita paciencia. Como ejemplo tenemos un enlace en la sección de enlaces externos que conduce a una página que nos lleva a donde se encuentra un archivo hecho en java con código fuente para que se pueda analizar y comprender de una manera más sencilla cómo funciona un autómata finito determinista (AFD).
Escribe un comentario o lo que quieras sobre Autómata programable (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)