Nunca he presenciado una buena conversación de bar que fuese directamente al grano. Y este blog no va a ser una excepción. Comenzaré con unas generalidades con las que poder entretener la espera mientras nos sirven las cervezas (en la barra) y podamos sentarnos en nuestra mesa y comenzar a meternos en faena.
¿Para qué sirve un autómata?
A esta pregunta suelo contestar con la misma respuesta que cuando mis hijos eran pequeños y me preguntaban, después de responderles a la pregunta previa sobre mi trabajo: ¿y qué hace un ingeniero, papá?
Los autómatas sirven para hacer que las máquinas trabajen solas. En la medida de lo posible, claro está.
En una visión simplificada podemos ver una máquina como un conjunto de mecanismos movidos por una serie de accionadores, que disponen de una serie de detectores y sensores para conocer su estado y de unos mandos e indicaciones para ser gobernados por humanos (¡u otras máquinas!). Entre los accionadores podemos encontrar, sin pretensiones de exhaustividad, motores, cilindros, resistencias calefactoras, bombas... Entre los sensores detectores de todo tipo (inductivos, capacitivos...), finales de carrera, presostatos, células de carga, fotocélulas, termómetros, encóders... un abanico mucho más extenso todavía, si cabe. Y entre los mandos desde los conocidos, y nunca bien estimados, pulsadores, interruptores y pilotos hasta donde nos alcancen los límites de nuestra imaginación.
El problema que tienen que resolver los autómatas es conseguir accionar los elementos apropiados en cada momento del trabajo de una máquina (o instalación) en función de toda la información disponible de sus sensores y de su estado.
¿Cómo lo resuelven? Mediante el hardware adecuado para controlar los accionadores y captar la información de los sensores y mediante el programa (software) adecuado. La primera parte nos la proporciona el fabricante de los autómatas (y los de la aparamenta eléctrica siendo más generales), de la segunda parte nos ocuparemos nosotros.
¿Pero cómo trabaja?
En una primera y simplificada visión el autómata trabaja realizando ciclos repetitivos de forma indefinida. En cada ciclo hace 3 tareas:
La realidad es un poco más compleja porque, normalmente, hay varios ciclos como el anterior ejecutándose a la vez en el autómata además de otros procesos encargados de las comunicaciones (muy importantes en los modernos autómatas) y otras tareas administrativas del propio autómata. Normalmente se llaman TAREAS y, aunque lo acabe de decir, no se ejecutan a la vez en el autómata sino que comparten el tiempo de ejecución del procesador del autómata entre ellas (normalmente sólo una tarea se ejecuta en el autómata en cada momento). Pero no es ahora tiempo de saber cuándo y cómo comienzan y se interrumpen cada tarea.
¡Ah! Veo que nos han servido ya la ronda. Vayamos a nuestra mesa y comencemos...
¿Pero cómo trabaja?
En una primera y simplificada visión el autómata trabaja realizando ciclos repetitivos de forma indefinida. En cada ciclo hace 3 tareas:
- Lectura de las entradas. El hardware dedicado a captar la información de los sensores se encarga de ver cómo están todos ellos, convirtiendo las señales eléctricas que de ellos recibe en valores numéricos (o binarios) y escribiendo en la memoria del autómata dichos valores.
- Ejecución del programa completo. El programa guardado en el autómata se ejecuta de principio a fin. Este programa lee sus datos de la memoria, que incluirán el estado de los sensores, actualizados en el paso 1, el estado de las salidas, del ciclo anterior también guardadas en la memoria, y el estado de otras variables internas de la aplicación también guardadas en la memoria. Con todos esos datos el programa debe generar el nuevo estado que tendrán los accionadores de la máquina y cuantas variables necesite. Todo ello el programa lo escribe en la memoria del autómata.
- Escritura de las salidas. El hardware dedicado a controlar los accionadores lee el estado que tienen en la memoria del autómata (generados por el programa) y los convierte en las señales eléctricas apropiadas para cada accionador.
La realidad es un poco más compleja porque, normalmente, hay varios ciclos como el anterior ejecutándose a la vez en el autómata además de otros procesos encargados de las comunicaciones (muy importantes en los modernos autómatas) y otras tareas administrativas del propio autómata. Normalmente se llaman TAREAS y, aunque lo acabe de decir, no se ejecutan a la vez en el autómata sino que comparten el tiempo de ejecución del procesador del autómata entre ellas (normalmente sólo una tarea se ejecuta en el autómata en cada momento). Pero no es ahora tiempo de saber cuándo y cómo comienzan y se interrumpen cada tarea.
¡Ah! Veo que nos han servido ya la ronda. Vayamos a nuestra mesa y comencemos...