SAÙL ARMANDO LLAMAS LÒPEZ
Autómata.
(Del lat. automaton < gr. automatos, que se mueve por sí mismo.)
1. s. m. TECNOLOGÍA Máquina que imita la forma y los movimientos de un ser animado el museo de autómatas decimonónicos.
2. coloquial Persona débil de carácter, que actúa de forma mecánica o que está dominada por otra.
3. INFORMÁTICA Representación de un algoritmo.
Otra definición de Autómata.
m. ingen. e inform. Instrumento o aparato que encierra dentro de sí el mecanismo que le imprime determinados movimientos. También, la entidad abstracta que se obtiene al prescindir de la naturaleza física y disposición espacial de sus partes, quedando un conjunto de estados no especificados físicamente, entradas de datos o impulsos y salidas de resultados o acciones vinculados por determinadas reglas.
Máquina que imita la figura y los movimientos de un ser animado.
fig.Persona que se deja dirigir por otra.
sustantivo masculino 1
El androide reproduce la forma y los movimientos de un ser animado.
Introducción.
En la Teoría de los lenguajes formales, 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:
·
Mala adaptación al entorno industrial.
·
Coste elevado de los equipos.
·
Necesidad de personal informático para la realización de los
programas.
·
Necesidad de personal especializado para el mantenimiento.
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).
Desarrollo histórico.
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 sólo 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:
·
Realización de operaciones aritméticas.
·
Comunicación con los ordenadores.
·
Incremento de la capacidad de memoria.
·
Mejoras en los lenguajes de programación.
·
Posibilidad de entradas y salidas analógicas.
·
Posibilidad de utilizar redes de comunicaciones.
La década de los años 80 se caracteriza por la incorporación de los microprocesadores, consiguiendo:
·
Alta velocidad de respuesta.
·
Reducción de las dimensiones.
·
Gran capacidad de almacenamiento de datos.
·
Lenguajes de programación más potentes: contactos, bloques
funcionales, GRAFCET (GRAFica de Control de Etapa de Transición).
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.
Aplicaciones.
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. Sólo a modo de ejemplo, se mencionan a continuación
algunos de los múltiples campos de aplicación.
Automóvil
1.
Cadenas de montaje, soldadura, cabinas de pintura, etc.
2.
Máquinas herramientas: Tornos, fresadoras, taladradoras, etc.
Plantas químicas y petroquímicas
1.
Control de procesos (dosificación, mezcla, pesaje, etc).
2.
Baños electrolíticos, oleoductos, refinado, tratamiento de aguas
residuales, etc.
Metalurgia
Control de hornos, laminado, fundición, soldadura, forja, grúas,
Alimentación
Envasado, empaquetado, embotellado, almacenaje, llenado de
botellas, etc.
Papeleras y madereras
Control de procesos, serradoras, producción de conglomerados y
de laminados, etc.a
Producción de energía
Centrales eléctricas, turbinas, transporte de combustible,
energía solar, etc.
Tráfico
Regulación y control del tráfico, ferrocarriles, líneas de
metro, etc
Domótica
Iluminación, temperatura ambiente, sistemas anti robo, comodidad
y bienestar en el hogar, etc.
Fabricación de Neumáticos
·
Control de calderas, sistemas de refrigeración , prensas que
vulcanizan los neumáticos.
·
Control de las máquinas para el armado de las cubiertas,
extrusoras de goma.
·
Control de las máquinas para mezclar goma.
El autómata programable
Estructura general
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:
·
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.
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.
Sistema de entradas y salidas.
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 tipoLED 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:
·
Entradas para termopar y termorresistencia: Para el control de
temperaturas.
·
Salidas de trenes de impulso: Para el control de motores
paso a paso (PAP).
·
Entradas y salidas de regulación P+I+D (Proporcional + Integral
+ Derivativo): Para procesos de regulación de alta precisión.
·
Salidas ASCII: Para la comunicación con periféricos inteligentes (equipo de
programación, impresora, PC, etc.).
Ciclo de funcionamiento.
Cuando se pone en marcha
el PLC se realizan una serie de comprobaciones:
1.
Funcionamiento de las memorias.
2.
Comunicaciones internas y externas.
3.
Elementos de E/S.
4.
Tensiones correctas de la fuente de alimentación.
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:
·
Detiene la exploración del programa.
·
Pone a cero, es decir, desactiva todas las salidas.
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.
Equipos de programación.
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:
·
Introducción de las instrucciones del programa.
·
Edición y modificación del programa.
·
Detección de errores.
·
Archivo de programas (cintas, discos).
Básicamente existen tres
tipos de equipos de programación:
1.
Consola con teclado y pantalla de tubo de rayos catódicos (CRT) o de cristal
líquido (LCD).
2.
Programador manual, semejante a una calculadora de bolsillo, más
económico que la anterior.
3.
Ordenador personal con el software apropiado.
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).
Equipos periféricos.
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:
·
Módulos de ampliación de entradas y salidas: Necesarios para
aquellos procesos en los que la estructura de E/S del autómata sea
insuficiente.
·
Módulos de tratamiento de datos: Son pequeños ordenadores que
manejan distintos datos (contaje, tiempo, estado de E/S, etc.), para la
elaboración de informes, gráficos, etc.
·
Impresoras.
·
Visualizadoresalfanuméricos.
·
Lectores de código de barras.
La forma de comunicarse el autómata con sus periférícos puede
ser unidireccional, cuando se establece en un sólo 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-232Cy 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.
Programación del autómata.
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 automata no es realmente algo imposible, pero si 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 mas sencilla como funciona un automata finito deterministico (AFD).