7.- El computador en el control de procesos industriales.-

    La aplicación del computador en el control de procesos supone un salto tecnológico enorme que se traduce en la implantación de nuevos sistemas de control en el entorno Industria y posibilita el desarrollo de la navegación espacial. Desde el punto de vista de la aplicación de las teorías de control automático el computador no esta limitado a emular el cálculo realizado en los reguladores analógicos El computador permite la implantación de avanzados algoritmos de control mucho más complejos como pueden ser el control óptimo o el control adaptativo. El objetivo en un principio era sustituir y mejorar los reguladores analógicos, pero este objetivo se fue ampliando dada las capacidades de los computadores en realizar un control integral de las plantas de fabricación, englobando también la gestión de la producción.

Aplicaciones del Computador:

    Las principales aplicaciones industriales del computador son:

    Las ventajas del uso del computador en el control de procesos son múltiples, entre ellas se podría nombrar una mayor eficacia de las operaciones, mayor seguridad y una reducción drástica de las operaciones manuales.

Evolución histórica de la tecnología del control por computador aplicada al control de sistemas continuos:

    El desarrollo de la tecnología del computador aplicada al control de procesos industriales, recibió a finales de los años cincuenta un gran impulso debido a que existían industrias como las refinerías de petrolíferas donde los procesos a controlar en este tipo de plantas son complicados. Los sistemas de control disponibles estaban bastante limitados, implicando en el proceso de fabricación a gran cantidad de mano de obra, como sucedía en la Industria de producción de papel. La calidad de la producción dependía en muchos casos de la experiencia del operario y de su rapidez de reacción ante situaciones anómalas. Era por decirlo un control semiautomático y semimanual. Los operarios eran quienes decidían cuales eran las referencias de mando más adecuadas para el sistema de control analógico.

    El primer trabajo sobre la aplicación del computador al control Industrial aparece en un artículo realizado por Brown y Campbell en el año 1950.

Brown, G.S., Campbell, D.P.: Instrument engineering: its growth and promise in process-control problem [Brown 50].

    En dicho artículo aparece un computador controlando un sistema mediante bucle de realimentación y prealimentación. Los autores asumen que los elementos de cálculo y control del sistema deben ser computadores de cálculo analógicos, pero sugieren el posible uso de un computador digital.

    Las primeras aplicaciones de los computadores digitales al control industrial se realiza a finales de los años 50. La iniciativa no parte como cabría suponer de la industria del control y manufactura, sino de los fabricantes de computadoras y de sistemas electrónicos que buscaban nuevos mercados para dar salida a productos que no se habían terminado de adaptar a las aplicaciones militares.

    La primera instalación industrial de un computador la realiza la compañía de suministro eléctrico "Louisiana Power and Light" que instaló en septiembre de 1958 un ordenador Daystrom para monitorizar la planta de producción de energía en Sterling, Louisiana. Pero este no era un sistema de control industrial. Su función era supervisar el correcto funcionamiento de la instalación.

    El primer computador dedicado a control industrial se instaló en la refinería de Port Arthur, en Texas. La compañía Texaco Company instaló un RW-300 de la casa Ramo-Wooldridge. La refinería comenzó a funcionar controlada en bucle cerrado por computador el 15 de Marzo de 1959.

    En los años 1957-1958 la compañía química Monsanto en cooperación con Ramo-Wooldridge estudian la posibilidad de instalar control por computador. En octubre de 1958 deciden implantar un sistema de control en la planta de la ciudad de Luling, dedicada a la producción de amoniaco. Comenzó a funcionar el 20 de enero de 1960, pero tenían grandes problemas con el ruido que se introducía en las realimentaciones. Este sistema como otros muchos basados en el ordenador RW- 300 no realizaban un control digital directo sobre las plantas, sino que eran sistemas supervisores dedicados a calcular las referencias óptimas de los reguladores analógicos. Este sistema se denomina control analógico-digital (DAC) o control supervisor. Se debe observar que este esquema de control fue protegido por una patente (EXNER Patent), lo cual ha limitado su aplicación.

    En 1961 la Monsanto comienza a diseñar un control digital directo (DCC) para una planta en Texas city y un sistema de control jerarquizado para el complejo petroquímico de Chocolate Bayou. En el control digital directo el computador controla directamente el proceso, tomando medidas del proceso y calculando la acción a aplicar.

    El primer control digital directo se instala en la planta de amoniaco y soda de la compañía Imperial Chemical Industries en Fleetwood (Reino Unido), mediante un ordenador Ferranti Argus 200. Comenzó a funcionar en noviembre de 1962.

    El sistema disponía de 120 bucles de control y efectuaba la medida de 256 variables. Actualmente se utilizan 98 bucles y 224 medidas en esta instalación de Fleetwood. En la instalación se sustituyeron los antiguos reguladores analógicos por el computador digital que realizaba sus mismas funciones.

    Los computadores utilizados en los primeros años 60 combinaban memorias magnéticas y el programa se almacenaba en programadores cíclicos rotativos. En estas primeras aplicaciones la solución de determinados problemas suponía un incremento en el coste del sistema. Esto llevo a que en un mismo computador se implementarán las dos tareas principales supervisión y control digital directo.

    Las dos tareas funcionaban a una escala de tiempo muy diferente. La tarea del control digital directo tenía que tener prioridad sobre la supervisión. El desarrollo del programa se realizaba por personal muy especializado y el lenguaje era puro código máquina. Además aparecían problemas debido al aumento de la cantidad de código, en cambio la capacidad de memoria de los ordenadores era bastante limitada. Lo cual conllevaba que se tenia que descargar parte de la memoria del ordenador para cargar el código de la otra tarea.

    La mejora de los sistemas de control por computador condujo a sistemas que ejecutaban el control digital directo en un ordenador y en el mismo o en otro ordenador se ejecutaba un programa encargado de elaborar las consignas.

    A finales de los años sesenta y principios de los setenta se desarrollan los Minicomputadores que encuentran gran aplicación en el control de procesos industriales. En pocos años el número de ordenadores dedicados a control de procesos pasa de 5000 en 1970 a 50000 en 1975.

    Estos Minicomputadores disponían de una memoria de hasta 124 Kbytes, disco duro y de unidad de disco flexible para almacenamiento.

Un computador para un solo proceso:

    En la década de lo sesenta la complejidad y prestaciones de los sistemas de control se incrementan gracias al empleo de circuitos integrados y en particular los microprocesadores.

    El desarrollo en la década de los 70 del microprocesador permite que llegue a ser rentable el dedicar un computador para el control de un solo proceso. Aplicaciones del ordenador al control de procesos que antes no eran rentables instalarlas, dado que el control analógico era mucho más barato, se vuelven competitivas. Incluso esta reducción de costes permite que se empiecen a desarrollar sistemas de control por computador encargados de controlar una sola máquina eléctrica.

    Además de la razón económica, una de las razones que impedía que se implantará los controles digitales sobre máquinas eléctricas era la excesiva rapidez de los accionamientos electromecánicos, con constantes de tiempo en muchos casos bastante inferiores al segundo (comparemos con los procesos químicos). Esto hacia imposible que un computador calculará el algoritmo de control en el período de muestreo marcado por el diseño del controlador.

    Los primeros controles digitales se implantan sobre máquinas de corriente continua, que presentan un modelo matemático muy sencillo de tratar. Los esfuerzos se vuelcan en el desarrollo de controles digitales sobre motores síncronos y asíncronos que permitieran obtener a los accionamientos prestaciones de precisión y dinámica de par comparables a los de continua, con el objeto de utilizar un motor mucho más barato (asíncrono) que no presentará los problemas de los motores de continua.

    Los primeros controles digitales consistían en la simple emulación programada de los algoritmos de control clásicos, pero la aplicación de las modernas técnicas del control ha permitido desarrollar aplicaciones de control vectorial, las cuales, en accionamientos de motores asíncronos proporcionan una calidad en la respuesta dinámica superior a los accionamientos de motores de corriente continua. En el momento actual existe toda una amplia gama de microcontroladores especializados en el control de máquinas eléctricas.

Control en tiempo real:

    Los requisitos del control de tiempo real se manifiestan en una de sus características principales: las restricciones temporales a que esta sometido. Estas son inherentes al funcionamiento de los sistemas de tiempo real. Para tareas periódicas de control, vienen impuestas por el período de muestreo con que se debe ejecutar el algoritmo de control. Para otro tipo de tareas periódicas como pueden ser tareas de tratamiento de datos, tareas gráficas o de supervisión, tareas de comunicación los restricciones temporales no son tan estrictas y muchas veces el diseñador de las aplicaciones dispone de un margen donde elegir.

    Estas restricciones temporales también implican prioridad de ejecución, siendo comúnmente las tareas dedicadas al control las más frecuentes y por lo tanto las que se deben ejecutar con mayor prioridad, interrumpiendo en el caso de los sistemas monoprocesadores a todas las demás tareas. También pueden existir tareas de control que se ejecuten con períodos grandes como en las aplicaciones de control de variables lentas como la temperatura, existiendo algunas otras tareas con períodos de ejecución menor. Pero la tarea de control es la más crítica dado que es la que actúa de interface con el proceso y debe garantizar su correcto funcionamiento.

    Para las tareas activada como respuesta a eventos, las restricciones vienen impuestas por los márgenes de seguridad y buen funcionamiento del proceso a controlar. Por ejemplo las acciones que se deben producir ante la aparición de una parada de emergencia, deberán producirse en un tiempo mínimo que intente garantizar al máximo la seguridad de los operarios en primer lugar y del proceso controlado en segundo lugar.

    Las aplicaciones de control militar, misiles, sistemas de tiro, sistemas anti-misiles se pueden considerar igual o más críticas que algunas aplicaciones industriales (no olvidemos las centrales nucleares). Por lo cual se establece también la necesidad de que los sistemas de control de tiempo real incorporen mecanismos que garanticen una alta tolerancia a fallos.

    Se puede establecer una nueva clasificación entre sistemas de tiempo real críticos y acríticos. Los sistemas de tiempo real críticos son aquellos en que los plazos de respuesta de todas las tareas deben respetarse bajo cualquier circunstancia. En estos sistemas el incumplimiento de un plazo de respuesta, podría acarrear un mal funcionamiento o un accidente en el proceso o aplicación militar controlada. En los sistemas de tiempo real acríticos se puede incumplir ocasionalmente el plazo de respuesta de alguna tarea.

    Hilando más fino, en un sistema de tiempo real se debe distinguir entre tareas críticas (control, emergencia…) y acríticas (representación gráfica, tratamiento de datos)

Hardware y software de los sistemas de tiempo real:

    Todo estas consideraciones conllevan que el hardware y el software de los sistemas de tiempo real deban cumplir una serie de condiciones. En el hardware conduce al desarrollo de los elementos adecuados que sirvan de interface con el proceso y de gestión de las restricciones temporales. Así se van desarrollando periféricos especializados como tarjetas de adquisición de datos con conversores analógico/digitales y digitales/analógicos. Tarjetas con relojes de alta precisión que unidos a sistemas de interrupciones evolucionados permiten atender correctamente los requisitos temporales de las aplicaciones de control en tiempo real.

    En los años 70 se desarrollan nuevos sistemas de computación repartidos que podían adoptar estructuras centralizadas o distribuidas. En los sistemas centralizados las decisiones del control las toma el computador central, pero alrededor de él se acoplan una serie de periféricos, algunos de ellos especializados capaces de realizar determinadas tareas. Estos periféricos intercambian datos con y reciben ordenes del ordenador central por medio de una red de comunicaciones.

    Los sistemas descentralizados o distribuidos consisten en un conjunto de unidades de control que pueden tomar decisiones autónomas, intercomunicándose por medio de una red de comunicaciones.

    Desde el punto de vista del software los lenguajes y también las metodologías de desarrollo de las aplicaciones deben suministrar las herramientas y mecanismos necesarios para que los sistemas de control de tiempo real cumplan todas las características de restricciones temporales, tolerancia a fallos y seguridad de funcionamiento.

Los primeros programadores utilizaban directamente el lenguaje ensamblador, dado que permitían un uso eficiente de los muy limitados recursos disponibles entonces. Visto desde la perspectiva de los medios actuales su empleo hace costosa la programación y prácticamente imposible la modificación. Además es un lenguaje demasiado dependiente de la máquina en concreto.

    Los siguientes pasos consistieron en añadir extensiones a los lenguajes de programación clásicos de los años 70 como el Fortran (Process Fortran), el Basic y el Algol. Estos cuentan con la ventaja de poseer un nivel de abstracción más alto, pero dependen del sistema operativo para las funciones de concurrencia y temporización, además suele ser necesario realizar algunas funciones en ensamblador. A estos lenguajes se le añade una serie de funciones y mecanismos:

    El camino andado ha conducido al desarrollo de los lenguajes concurrentes (Modula-2, Occam, Ada). En estos, las funciones que posibilitan la gestión de la concurrencia y de las restricciones temporales forma parte del propio lenguaje. Además permiten el acceso a recursos de bajo nivel evitando el uso del ensamblador.

    El lenguaje Modula-2 es un descendiente del Modula y del Pascal. Las funciones de concurrencia y restricciones temporales se realizan en un módulo especifico denominado núcleo. Es un lenguaje que se muestra adecuado para el desarrollo de aplicaciones de tamaño pequeño a medio. El lenguaje Occam es un lenguaje asociado a la plataforma Transputer. No es adecuado para el desarrollo de grandes aplicaciones.

    Estos dos lenguajes están prácticamente abandonados, en el caso del Occam al dejarse de fabricar el transputer. El lenguaje que se ha convertido en un estándar para el desarrollo de sistemas de tiempo es el lenguaje ADA.

    Su nombre rinde honor a Lady Ada de Lovelanle, la cual fue colaboradora de Charles Babbage. El ADA, cuyo primer estándar se definió en 1983, se diseño y desarrolló por encargo del Departamento de defensa de los Estados Unidos, orientado a la programación y desarrollo de sistemas empotrados. ADA integra la noción de tipo abstracto y un mecanismo que permite expresar la cooperación y comunicación entre procesos. Sus principales características son:

    ADA es un lenguaje definido para el desarrollo y programación de aplicaciones complejas como pueden ser las aplicaciones de control de ingenios militares. El ADA se ha convertido en una de las opciones disponibles para el desarrollo de sistemas de tiempo real en el ámbito industrial, sobre todo en Europa. Las limitaciones detectadas en el estándar del año 83 fueron corregidas en el estándar del 95. El ADA 95 permite la programación orientada a objetos, presenta mejoras en el tratamiento de la concurrencia y tiempo real. También se definieron anexos especializados en aplicaciones distribuidas, sistemas de información…