AUTOMATIZACION DE PROCESOS INDUSTRIALES

Automatizaci´on de Procesos Industriales Ingeniero de Organizaci´on. Curso 1o Jose Mari Gonz´alez de Durana Dpto. I.S.A

Views 128 Downloads 2 File size 593KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Automatizaci´on de Procesos Industriales Ingeniero de Organizaci´on. Curso 1o

Jose Mari Gonz´alez de Durana Dpto. I.S.A., EUITI e ITT - UPV/EHU Vitoria-Gasteiz Febrero 2002

2

Cap´ıtulo 1 Introducci´ on La Automatizaci´on se compone de todas las teor´ıas y tecnolog´ıas encaminadas de alguna forma a sustituir el trabajo del hombre por el de la m´aquina. En este cap´ıtulo daremos unas ideas muy generales sobre esta ´area, tan amplia y compleja, y posteriormente las desarrollaremos a lo largo del curso. Conceptualmente, la automatizaci´on se basa en una reiterada aplicaci´on del mecanismo de feedback y, por ello, est´a en ese sentido relacionada con las Teor´ıas de Control y de Sistemas. En cuanto a su aspecto tecnol´ogico, puede decirse que siempre ha estado “a la u ´ltima”, adoptando en cada momento hist´orico los m´as recientes avances. Siendo nuestro objetivo automatizar ciertos procesos, parece claro que primero hemos saber c´omo funcionan esos procesos. Como veremos, el tipo de automatizaci´on a implantar depende del tipo de porceso a automatizar: no da lo mismo automatizar un proceso continuo que un proceso gobernado por eventos. Debido a la gran cantidad de procesos distintos que funcionan actualmente, consideraremos s´olo los m´as importantes desde el punto de de la automatizaci´on, y obtendremos modelos con sus caracter´ısticas esenciales. Los procesos y modelos que iremos estudiando en cap´ıtulos posteriores son: Procesos continuos (tiempo continuo y/o discreto) Procesos comandados por eventos Procesos de fabricaci´on Aparte de las explicaciones dadas en clase sobre los procesos industriales y de su estudio, puede ser un complemento interesante su observaci´on real, in situ, realizando visitas a algunas empresas. Pero no es suficiente con aprender a automatizar cada proceso. En una moderna factor´ıa todos los procesos est´an conectados entre s´ı y desde la gesti´on de la empresa se pueden controlar y supervisar algunos o todos los procesos, a trav´es de redes locales y buses de comunicaci´on. Tambi´en pueden estar en conexi´on los diferentes departamentos de la empresa, e incluso empresas diferentes a trav´es de redes propias o de Internet. Es por ello interesante describir cada proceso como inscrito en el marco 3

´ CAP´ITULO 1. INTRODUCCION

4

jer´arquico que representa la estructura completa de la empresa. En este marco, las redes locales y los buses de comunicaci´on cobran especial inter´es.

1.1.

Perspectiva hist´ orica

Se cree que cuando el homo sapiens domin´o el fuego, comenz´o a usarlo como elemento calefactor y para condimentar alimentos. Tuvo que pasar mucho tiempo, hasta la Edad del Bronce, para que lo empleara en la obtenci´on de metales y en la cer´amica dando as´ı lugar a los que podr´ıamos llamar primeros procesos de fabricaci´on de la historia. Pero el fuego no ha sido la u ´nica fuente de energ´ıa de la antig¨ uedad. Hacia el a˜ no 2000 a. de J.C. se utiliza por primera vez la energ´ıa e´olica para mover embarcaciones dotadas de velas y, hacia el 1000 a. de J.C., los fenicios atravesaban el Mediterr´aneo con sus nav´ıos. M´as tarde, sobre el 50 a. de J.C., los Romanos empiezan a utilizar la energ´ıa hidr´aulica para la extracci´on de agua por medio de la noria. Durante la edad media se utiliz´o mucho, en pr´acticamente toda Europa, la energ´ıa generada por los molinos de viento. La invenci´on de la m´aquina de vapor por James Watt hacia 1750 es el acontecimiento que marca el inicio de la Revoluci´on Industrial, que dura hasta finales de siglo. Las tecnolog´ıas productivas nacen en ese momento: la maquina de vapor se emplea r´apidamente para mover las bombas de extracci´on de agua en las minas de carb´on de Gales y en la automatizaci´on de los telares en Manchester. Durante este per´ıodo, con las de m´aquinas de vapor y luego con las de combusti´on interna y los motores el´ectricos, se van produciendo cambios progresivos en los procesos de producci´on. Las m´aquinas herramienta ganan potencia y precisi´on, lo que a su vez permite fabricar productos de mayor calidad. Surgen as´ı los primeros talleres mec´anicos que producen m´aquinas algunas de las cuales llevan ya rudimentarios sistemas de control. En el siglo XX, aunque ya no se denomine asi, contin´ ua la revoluci´on industrial con un desenfrenado avance tecnol´ogico y cient´ıfico. La evoluci´on de la t´ecnica es permanente, con una sucesi´on interminable de inventos y aplicaciones, muchos de los cuales (pensemos sin ir m´as lejos en el autom´ovil y en los electrodom´esticos) se han convertido en herramientas b´asicas para hombre actual. Todo este desarrollo ha sido consecuencia de una premisa fundamental: la existencia de fuentes de energ´ıa inagotables y baratas. Pero su veracidad se ha puesto en entredicho con la crisis del petr´oleo iniciada en las u ´ltimas d´ecadas del siglo XX. Los sistemas productivos no han sido ajenos a todos estos avances. La empresa, motor del desarrollo del sector privado e incluso del sector p´ ublico, se ve obligada casi siempre a incorporar las u ´ltimas tecnolog´ıas en sus procesos o de lo contrario corre el peligro que quedar r´apidamente obsoleta. Algunas teor´ıas, tecnolog´ıas y ´areas tecnol´ogicas cuyo avance ha favorecido la evoluci´on de los procesos productivos son las siguientes Teor´ıas

´ 1.1. PERSPECTIVA HISTORICA

5

• Teor´ıas de Control y de Sistemas • Teor´ıa de la se˜ nal • Sistemas de eventos discretos • M´aquinas de estado • Redes de Petri • Gr´aficos etapa-transici´on (grafcet) • Cartas de estado (statechart) Tecnolog´ıas • Neum´atica • Hidr´aulica • Electr´onica • Microprocesadores • Ordenadores • Aut´omatas programables • Rob´otica • Comunicaciones • Desarrollo del software Areas tecnol´ogicas • Automatizaci´on de las m´aquinas-herramienta • Control de procesos por computador • Dise˜ no asistido por computador (CAD) • Fabricaci´on asistida por computador (CAM) • Fabricaci´on integral por computador (CIM) • Control de procesos distribu´ıdo • C´elulas flexibles de mecanizado y de montaje Cabe aqu´ı decir que el crecimiento de Rob´otica no ha sido t´an r´apido como vaticinaban ciertas predicciones realizadas en los primeros a˜ nos de la d´ecada de los 80. Quiz´as esto se deba a la carest´ıa de los equipos y a la no tan evidente importancia de su flexibilidad como en principio se cre´ıa: si un robot va a hacer siempre la misma tarea, resulta m´as econ´omico utilizar otro sistema menos flexible y m´as especializado. Por ello, en tareas repetitivas que no requieren mucha precisi´on resulta aconsejable utilizar manipuladores (neum´aticos por ejemplo) en vez de robots. En otras tareas m´as complejas (tales como la soldadura por laser) que precisan el seguimiento de trayectorias complejas, s´ı que el robot sigue siendo insustituible.

´ CAP´ITULO 1. INTRODUCCION

6

1.2.

La empresa productiva

Una empresa productiva es un ente socioecon´omico capaz de adecuar parcialmente dos flujos esenciales que concurren en el mercado: producci´on y consumo. Por un lado, por medio de estudios de mercado, determina las necesidades del consumidor y le transfiere los productos que demanda y, por otro, produce los productos que le va a trasferir. [3, p.3]. Hay otras empresas, de servicios, en las que los productos se sustituyen por servicios. As´ı que toda empresa puede considerarse como formada por dos subsistemas, uno de los cuales se encarga de medir las necesidades de los consumidores y de trasferirles los productos que las satisfagan y el otro que se encarga de la producci´on. La empresa es, por tanto, un elemento productivo en el mercado pero puede verse tambi´en como elemento consumidor (de materias primas) en el mismo. La empresa se articula en departamentos o secciones de los que los m´as importantes tradicionalmente vienen siendo los siguientes: Finanzas Gesti´on Compras Almac´en de materias primas Producci´on Almac´en de productos terminados Ventas Todos estos departamentos no son, ni mucho menos, los u ´nicos existentes sino que a su vez se articulan en otros departamentos y secciones que en funci´on del tama˜ no de la empresa esa pueden ser de mayor o menor complejidad. Los nombres pueden cambiar seg´ un sea el contexto en que se enmarque o se estudie la empresa. La actividad de la empresa se puede representar por medio de un diagrama de bloques en el que los bloques son los procesos y las flechas son los flujos de entrada y salida de cada proceso. En la figura se han representado los principales bloques y flujos de la empresa. Los flujos que las flechas representan son: =⇒ flujos de producto −→ flujos de capital · · · . flujos de control (´ordenes y medidas) Obs´ervese que todos los bloques reciben flechas (´ordenes) del bloque de gesti´on y env´ıan flechas (medidas) al mismo. El bloque de gesti´on es el m´as importante en el sentido de que controla a todos los dem´as.

1.2. LA EMPRESA PRODUCTIVA Almacén de materias primas

Producción

7 Almacén de productos terminados

Gestión

Compras

Finanzas

Ventas

MERCADO

Figura 1.1: Esquema de la empresa productiva

El diagrama de bloques puede dividirse en dos partes. La parte superior que se encarga de la generaci´on del producto (gesti´on de producci´on) y la parte inferior que se encarga llevar el producto al mercado y de obtener el beneficio (gesti´on de mercado o mercadotecnia). Cada uno de estos bloques se subdivide a su vez de otros bloques, subprocesos, con sus flujos asociados. El objetivo de la empresa es maximizar el beneficio.

1.2.1.

El proceso productivo

Un proceso productivo es una serie de operaciones que se realizan sobre unas materias primas (o productos m´as elementales) para obtener un producto terminado, listo para su utilizaci´on. Una definici´on descriptiva de proceso productivo puede resultar muy complicada, puesto que hay muchas clases de procesos, siendo en cambio m´as sencillo dar una definici´on de tipo “entrada-salida”: Un proceso productivo es un sistema din´ amico de control cuya entrada es un flujo de producto (materias primas) y cuya salida es otro flujo de productos (productos terminados). Materias primas-

Proceso productivo

Productos terminados-

´ CAP´ITULO 1. INTRODUCCION

8

Con una definici´on as´ı perdemos toda noci´on de lo que sucede por dentro del proceso pero en cambio capturamos lo esencial desde el punto de vista productivo: flujos de producto de entrada y de salida (flechas) y c´omo se relacionan entre s´ı (bloque). Sin embargo el bloque o “funci´on” que relacona ambos flujos no es simple sino que es un complejo sistema movido por eventos. Un proceso productivo se compone internamente de diferentes subprocesos m´as simples conectados entre s´ı, cada uno de los cuales se puede considerar tembi´en como un sistema din´amico de control o proceso. Por tanto, hemos de tener una idea de cuales son y c´omo funcionan (o sea cuales son sus modelos matem´aticos) los sistemas de control o procesos m´as simples porque de ese modo podremos entender despu´es c´omo funcionan los procesos de fabricaci´on. Los procesos productivos est´an catalogados como sistemas complejos en la Teor´ıa de Sistemas. La complejidad surge de la interconexi´on de unos procesos con otros y de la naturaleza estoc´astica de muchos de los eventos que dirigen la evoluci´on del sistema. Cada proceso est´a conectado con otros procesos internos y externos a la empresa, que pueden ser de muy distinta naturaleza y, en general, se compone de subprocesos m´as simples interrelacionados entre si. Materia prima -

Proceso

Producto terminado-

Cada proceso productivo va asociado a un producto. Si queremos fabricar otro producto deberemos cambier el proceso. Sin embargo, para un producto terminado dado y para la misma materia prima, el proceso puede no ser u ´nico: en general, un mismo producto se puede fabricar de muchas formas diferentes.

1.2.2.

Operaciones b´ asicas de fabricaci´ on

Los procesos de fabricaci´on m´as simples se llaman operaciones b´ asicas. Algunas de ellas son: Procesado de un elemento Montaje Movimiento de material Almacenamiento Inspecci´on y control Procesado de un elemento Es un proceso que se aplica a un solo producto, bien sea una pieza elemental o bien un conjunto de piezas ya montado. Son de este tipo los procesos de mecanizado, los de pintura, los tratamientos t´ermicos, etc. Materia prima Mecanizado

Pieza -

1.2. LA EMPRESA PRODUCTIVA

9

Proceso de montaje Cuando un producto (terminado o no) se compone de varios elementos, la serie de operaciones necesarias para unir todas las piezas formando el producto terminado se llama proceso de montaje.

Mat. prima 1Mecanizado 1

Pieza 1Montaje Producto-

Mat. prima 2Mecanizado 2

1.2.3.

Pieza 2-

Tipos de procesos

Si en nuestro hogar echamos una mirada a nuestro alrededor y observamos los objetos que nos rodean, veremos que la gran mayor´ıa de ellos son el resultado o producto de alg´ un proceso de fabricaci´on y nos daremos cuenta que deben existen multitud de ellos. Incluso, con un poco de imaginaci´on y ciertos conocimientos t´ecnicos, podemos adivinar cual ha sido el proceso para fabricar un determinado producto o, mejor dicho, los posibles procesos, ya qye tambi´en nos daremos cuenta enseguida de que hay muchas formas de fabricar el mismo producto. Ahora bien, tras muchos a˜ nos de experiencia, se han afianzado cuatro tipos estandar de procesos: Job Shops Producci´on por lotes L´ıneas de producci´on Producci´on continua Job Shops Es un tipo de producci´on que permite fabricar una amplia gama de productos en series de tama˜ no peque˜ no o mediano. Los productos suelen ser conjuntos de componentes, posiblemente complicados o de alta tecnolog´ıa, montados. Se utiliza para la fabricaci´on de ciertas m´aquinas herramientas, robots, aviones, aeronaves y algunos prototipos. Suelen exigir mano de obra muy especializada y mucho tiempo para el dise˜ no de los procesos y para la preparaci´on de la maquinaria y los equipos humanos de montaje. Por todo ello, los tiempos de producci´on son elevados y los costes tambi´en.

10

´ CAP´ITULO 1. INTRODUCCION

Producci´ on por lotes Est´a orientada a la fabricaci´on de lotes de tama˜ no medio de un determinado producto. La producci´on de cada lote se hace de una tirada y, una vez terminado un lote, el departamento de fabricaci´on env´ıa una orden de control indicando si se puede pasar a fabricar otro lote del mismo o de otro producto, en funci´on de la demanda. La maquinaria y el personal han de estar preparados para realizar con celeridad las operaciones de cambio de lote. Es quiz´as el tipo de producci´on que se emplea para fabricar mayor n´ umero de productos. Las industrias de calzado, muebles, electrodom´estcos, m´aquina-herramienta y otras muchas, lo utilizan. L´ıneas de producci´ on Estos procesos son el resultado de la evoluci´on de la producci´on en cadena, ideada por Henry Ford. Se utiliza para producir grandes series de unos pocos productos, que suelen estar formados mediante el montaje de piezas. El producto se desplaza colocado en cintas trasportadoras, en carros o en otros elementos de transporte y va pasando por estaciones de trabajo en cada una de las cuales se le aplica un determinado proceso. Si en una planta se utilizan varias lineas de producci´on, los productos pueden pasar de una l´ınea a otra, existiendo muchas configuraciones posibiles, asi como diferentes m´etodos y mecanismos de transferencia. Se suenen utilizar zonas o recipientes a modo de peque˜ nos almacenes, para el almacenamiento intermedio de productos semielaborados, y alimentadores de piezas para los procesos. B´asicamente hay dos tipos de l´ıneas: lineas de proceso y l´ıneas de montaje. En las primeras, un producto o materia prima va pasando por distintos porcesos que lo van transformando hasta llegar al producto final. Un ejemplo lo tenemos en el mecanizado de piezas. Las l´ıneas de montaje se utilizan para fabricar productos formados por conjuntos de piezas montados. Quiz´as sea la fabricaci´on de autom´oviles el ejemplo m´as t´ıpico de este tipo de producci´on. Se fabrican grandes series de unos pocos modelos. Otros ejmplos son la fabricaci´on de ciertos productos de gran consumo como neum´aticos, bombillas, bicicletas, envases de pl´astico, etc. En este tipo de fabricaci´on se dise˜ na toda la factor´ıa en funci´on del producto a fabricar, por lo que un cambio de producto suele exigir el cierre de aquella o, al menos, una completa remodelaci´on de la misma. Producci´ on continua Es el tipo indicado cuando se desea producir pocos productos, de naturaleza simple (no compuestos de muchas piezas) y en grandes cantidades. Se puede ver como un flujo continuo de producto sobre el que se van realizando una serie de operaciones o procesos. Por un lado entra la materia prima y por otro sale el producto final (figura 1.2).

1.2. LA EMPRESA PRODUCTIVA Materia prima

Proceso 1

11

Proceso 2

Proceso 3

Producto final

Figura 1.2: Proceso de producci´on continua

Este tipo de producci´on se aplica sobre todo en las industrias qu´ımicas, petroqu´ımicas, textiles, de pl´astico y de laminaci´on de acero.

1.2.4.

Ubicaci´ on de los procesos

La disposici´on de los procesos dentro de la planta de producci´on es importante porque de ella dependen muchos factores del proceso de producci´on asi como la comodidad del personal, los cableados de alimentaci´on y buses de comunicaciones, etc. Los programas simulaci´on (estoc´astica) de procesos pueden ayudar mucho en el dise˜ no de la distribuci´on en planta. Tradicionalmente se consideran cuatro posibilidades de ubicaci´on Producto en posici´on fija Por clases de procesos En flujo de producto Por tecnolog´ıa de grupo Producto en posici´ on fija Cuando el producto es muy grande, muy pesado o, por alguna otra raz´on, no debe moverse, hay que ubicar las herramientas y los otros equipos de fabricaci´on en la zona m´as id´onea para, en su momento, incidir en el producto. A veces se precisa realizar obras e instalaciones especiales para poner todo en una buena disposici´on. Es la disposici´on m´as indicada en las industrias naval y aeron´autica. Por clases de procesos Las m´aquinas de producci´on se ubican en zonas o locales de la factor´ıa por clases de procesos. En cada zona o local s´olo se realiza un proceso. Es una distribuci´on que se implanta mucho para procesos de mecanizado de piezas: la misma pieza va pasando por las distintas zonas hasta finalizar su mecanizado. Resulta un tipo de fabricaci´on muy flexible puesto que se puede cambiar el proceso simplemente a˜ nadiendo o quitando ciertas m´aquinas. En flujo de producto Los elementos que intervienen en la producci´on se disponen a lo largo del flujo de producto. Por ejemplo, a lo largo de una l´ınea de montaje en una fabricaci´on de

´ CAP´ITULO 1. INTRODUCCION

12

l´ıneas dedicadas o a lo largo del flujo de producto una producci´on continua. No es f´acil hacer cambios en el proceso. Por tecnolog´ıa de grupo Esta distribuci´on est´a indicada para factor´ıas con gran diversidad de productos y pretende ser una combinaci´on de las dos anteriores. Se basa en clasificar en familias las piezas a fabricar (sin inportar el producto en el que ir´an montadas) por su semejanza en su dise˜ no y fabricaci´on. Con esto sepuede conseguir organizar la producci´on en dos partes: 1) por clases de procesos, (que fabricar´ıa las familias de piezas) y 2) en flujo de producto (que fabricar´ıa el resto de las piezas y har´ıa los montajes pertinentes).

1.3.

El proceso en feedback

La realimentaci´on o feedback es el artificio b´asico del control. Aunque suponemos que el tema es ya conocido por el lector, creemos conveniente recapacitar sobre su funcionamiento, por ser b´asico para muchas de las partes que se tratar´an m´as adelante. Lo haremos (por razones hist´oricas) a partir del primer mecanismo que lo incorpor´o: el governor de Watt.

1.3.1.

El regulador de Watt

Aunque se conocen algunas aplicaciones de aparatos que funcionaban siguiendo el principio de la realimentaci´on y que datan de ´epocas muy antiguas, se puede decir que el primer sistema de control industrial de la historia fu´e el regulador (governor ) inventado (o al menos adaptado) por James Watt hacia 1788 para su m´aquina de vapor. Veamos, a modo ilustrativo, su esquema. En la figura aparece la pieza quiz´as mas importante que suele llamarse “regulador de bolas” y que ejerce a la vez captador, regulador y actuador. ω(t) El operador o maquinista controla la posici´on xC del punto superior del cuadril´atero articuC lado fijando as´ı la consigna de velocidad ωref . El eje dibujado est´a unido al eje de rotaci´on de la m´aquina de vapor. Si la velocidad ω(t) de ´esta aumenta, entonces, debido a la fuerza B centr´ıfuga, las bolas B se separan y el v´ertice inferior A del cuadril´atero articulado, m´ovil, act´ ua cerrando la v´alvula de salida de vapor de la caldera. Se establece as´ı un proceso en A Actuador “feedback” que se puede explicar con el diaválvula grama de bloques siguiente. El regulador de x bolas hace las funciones del punto de suma y de los bloques captador y actuador.

1.3. EL PROCESO EN FEEDBACK xC - m  + Controlador (ωref ) −

13

x-

V´alvula

p-

M´aquina

r ω(s)-

6

Captador  La tarea que realiza este controlador es simple y efectiva: el controlador abre o cierra la la v´alvula en funci´on de la diferencia e entre la medida xA de la salida (variable controlada) y la entrada xC (referencia). Si e es cero entonces la medida de la salida es igual a la referencia, es decir, el valor de la variable controlada es el deseado y la salida del actuador es cero (no act´ ua); en caso contrario el controlador mover´a la v´alvula en sentido de apertura o de cierre, dependiendo de que el valor e sea positivo o negativo. Es f´acil acoplar mec´anicamente el punto A a la v´alvula de modo que esta se abra si e > 0. De este modo se consigue que la velocidad de rotaci´on ω(t) del eje de la m´aquina se mantenga m´as o menos constante, incluso aunque se produzcan variaciones en la potencia entregada o en la presi´on p de la caldera.

1.3.2.

Esquema de regulaci´ on en feedback

El artificio que hace funcionar al regulador de Watt es la realimentaci´on o feedback. Una vez entendamos c´omo funciona podremos comprobar, quiz´as con asombro, que no s´olo puede aplicarse a la m´aquina de vapor sino que puede servir de base para controlar otros sistemas f´ısicos de muy diferente naturaleza tales como sistemas econ´omicos y sistemas productivos. Adem´as, la realimentaci´on aparece a veces como un componente b´asico en muchos procesos de la Naturaleza, incluso en los seres vivos. d(t) yref

- +m(t)- C − 6 ym (t)

x(t)-

A

?v(t) u(t)- m - P +

r y(t) -

M  Figura 1.3: Esquema de regualcion en feedback

Los elementos esenciales que aparecen en el regulador de Watt y que configuran todo mecanismo de control con realimentaci´on (figura 1.3) son los siguientes: y

ref −→ Entrada de referencia o de consigna

d(t)

−→ Entrada perturbadora y(t)

−→ Salida

´ CAP´ITULO 1. INTRODUCCION

14

C Controlador. Es el dispositivo que toma la diferencia (t) entre la entrada de referencia yref y la medida ym (t) de la respuesta, la procesa y, como resultado del proceso, env´ıa est´ımulos x(t) sobre el actuador. Realmente es un procesador de se˜ nal. A Actuador. Act´ ua, con la potencia necesaria, sobre la planta. P Planta o Proceso: es el sistema a controlar (la m´aquina de vapor en el regulador de Watt). M Medidor. Es un aparato para medir, normalmente en forma el´ectrica, el valor de la salida y(t). La idea del control es simple: con la entrada de referencia yref el operador fija el valor deseado para la variable de salida y(t) (a controlar); el controlador recibe en su entrada la diferencia (t) entre la entrada yref de referencia y la medida ym (t) de dicha salida en un instante t1 , de modo que si esa diferencia es positiva (ym < yref ) entonces, tras el proceso de la se˜ nal (t), enviar´a est´ımulos x(t) al actuador para que ´este ejerza una acci´on v(t) sobre la planta con el f´ın de que el valor de la salida y(t) vaya aumentando para t > t1 . Cuando en otro instante t2 > t1 la diferencia e sea negativa, la acci´on del controlador ser´a la inversa, es decir, ejercer´a una acci´on v(t) sobre la planta tal que el valor de la salida y(t) vaya disminuyendo para t > t2 . En adecuadas condiciones, si el controlador se dise˜ na correctamente, es posible conseguir que el valor de la salida se mantenga, m´as o menos, igual al valor de la entrada de referencia incluso en presencia de la perturbaci´on d(t).

1.3.3.

El significado del control

Controlar un sistema din´amico significa conducirlo, llevarlo, gobernarlo o comardarlo, de tal manera que su trayectoria o evoluci´on en el tiempo se aproxime a una fijada de antemano, mediante la actuaci´on sobre unos elementos del sistema llamados controles. Asi, un ch´ofer controla la trayectoria de un veh´ıculo girando el volante, pisando el acelerador y los frenos y moviendo el cambio de marchas. De forma m´as imprecisa, el gobierno de una naci´on dispone de ciertos controles, como los salarios, los impuestos, el valor de la moneda, etc., para controlar la evoluci´on de la tasa de inflaci´on. La Teor´ıa de Control estudia los sistemas que son de alg´ un modo controlables as´ı como los problemas relacionados con este control. Un sistema de control es una entidad u objeto provisto de unos terminales de entrada (controles), por los cuales puede recibir est´ımulos, y otros de salida, por de que emite su respuesta. Esta definici´on permite representar gr´aficamente un sistema de control como una caja negra o bloque con flechas de entrada y de salida. La figura 1.4 representa un sistema monovariable, es decir, con una entrada y una salida. El sistema objeto de control suele denominarse Planta o Proceso, de acuerdo con sus aplicaciones en ingenier´ıa.

´ INDUSTRIAL 1.4. LA AUTOMATIZACION Entrada-

Bloque

15 Salida -

Figura 1.4: Sistema

1.3.4.

El control en la empresa

El esquema de regulaci´on en feedback es aplicable a muchos de los procesos de la empresa, dando lugar a diferentes clases de control seg´ un sea la aplicaci´on. Algunos de ellos son: Control de producci´on Control de calidad Control de presupuestos Control de procesos Los elementos esenciales del control van a seguir siendo siempre la medida de variables del proceso a controlar, la realimentaci´ on de las variable medidas, la comparaci´on con una consigna previamente establecida y, en funci´on de esta u ´ltima, la actuaci´ on sobre el proceso.

1.4.

La automatizaci´ on industrial

Automatizar un proceso es conseguir que, aplicando el mecanismo de feedback, funcione sin intervenci´on humana. Como veremos, esta idea resulta muy clara en el caso del control de procesos cont´ınuos, pero tambi´en se ve que funciona en el caso de otros tipos de control, como es el caso de los procesos movidos por eventos.

1.4.1.

T´ ecnicas de control

Atendiendo a la t´ecnica utilizada para procesar se˜ nales, el bloque de control C de la figura 1.3 se puede realizar f´ısicamente mediante t´ecnicas anal´ogicas t´ecnicas digitales T´ ecnicas anal´ ogicas Es el m´etodo m´as antiguo de los dos y dio lugar a las t´ecnicas de control cl´asicas. El proceso anal´ogico de se˜ nales puede ser mec´anico, neum´atico, hidr´aulico, el´ectrico, electr´onico y ´optico. En el regulador de Watt es de tipo mec´anico. El componente fundamental que permiti´o el desarrollo de el control anal´ogico fue el amplificador electr´onico, inventado en la decada de los 50.

´ CAP´ITULO 1. INTRODUCCION

16

La aplicaci´on principal de las t´ecnicas anal´ogicas es la realizaci´on de controladores de Procesos Continuos industriales: mecanismos y m´aquinas movidos por motores el´ectricos, procesos con fluidos, hornos, etc. Hay dos tipos que han sido, y siguen siendo, muy utiliz´ados: el controlador de adelanto-retraso de fase y el controlador PID. En este u ´ltimo, las letras significan propircional, integral, derivarivo e indican el proceso, o funci´on matem´atica C(·), que realiza el controlador:   Z 1 t dx(t) + x(τ )dτ , (1.1) x(t) = C((t)) = Kp 1 + Td dt Ti 0 en donde los par´ametros Kp , Td y Ti son constantes. La realizaci´on de esta funci´on se hace casi siempre utilizando componentes electr´onicos anal´ogicos, generalmente amplificadores operacionales, pero son posibles las realizaciones con componentes de fl´ uidos. T´ ecnicas digitales La aparici´on primero del ordenador y posteriormente de los microprocesadores y microcontroladores y del ordenador personal, asi como el desarrollo de las comunicaciones, del software y de otros campos afines, han hecho que las t´ecnicas de control se hayan sofisticado y extendido. Las aplicaciones son muchas. En principio, las t´ecnicas digitales se utilizaron para realizar controladores para los procesos continuos. Los controladores anta˜ no anal´ogicos, y en particular el PID, hoy d´ıa se realizan y comercializan en su versi´on digital. Ahora la funci´on (1.1) la realiza un microprocesador a trav´es de un algoritmo. El campo de aplicaci´on es el mismo pero las prestaciones del los digitales son muy superiores a las de sus hermanos anal´ogicos. Resulta m´as f´acil sintonizarlos, es decir, ponerles los par´ametros adecuados, y est´an preparados para poder ser operados a distancia a trav´es de buses de comunicaci´on. Despu´es, se utilizaron para el desarrollo de otros dispositivos de control, entre los que cabe destacar el aut´omata programable de gran aplicaci´on en el Control de procesos de eventos discretos. Y, finalmente, han heho posible una creciente Automatizaci´ on Global, es decir, la expansi´on del control y las comunicaciones por toda la empresa en base a las estructuras de control que se han ido creando: control centralizado, control distribu´ıdo, control jer´arquico, etc.

1.4.2.

Estructuras de automatizaci´ on

En el intento de automatizar cualquier empresa siempre nos van a surgir un buen n´ umero de cuestiones: ¿d´onde va ubicado y c´omo se realiza el control de cada proceso? ¿c´omo se conectan unos controles con otros? ¿se pueden controlar y/o supervisar procesos desde la gesti´on de la empresa? Para responderlas, habremos de idear alg´ un plan para estructurar el control. El grado de automatizaci´on deseado va a ser fundamental para trazar dicho plan. Se suelen distinguir como cuatro categor´ıas:

´ INDUSTRIAL 1.4. LA AUTOMATIZACION

Proceso 1

Proceso 2

Proceso 3

17

Proceso 4

Figura 1.5: Estructura de control: computador – 4 aut´omatas

Automatizaci´on fija Automatizaci´on programable Automatizaci´on flexible Automatizaci´on total La automatizaci´on fija se utiliza cuando el volumen de producci´on es muy alto y, por tanto, se puede justificar econ´omicamente el alto costo del dise˜ no de equipo especializado para procesar el producto, con un rendimiento alto y tasas de producci´on elevadas. Un ejemplo t´ıpico puede ser la fabricaci´on de autom´oviles. Un inconveniente de la automatizaci´on fija es que su ciclo de vida depende de la vigencia del producto en el mercado. La automatizaci´on programable se emplea cuando el volumen de producci´on es relativamente bajo y hay una diversidad de productos a obtener. En este caso el equipo de producci´on es dise˜ nado para adaptarse a la variaciones de configuraci´on del producto y esta adaptaci´on se realiza por medio de Software. Un ejemplo podr´ıa ser la fabricaci´on de diferentes tipos de tornillos bajo pedido. Por su parte, la automatizaci´on flexible es m´as adecuada para un rango de producci´on medio. Los sistemas flexibles poseen caracter´ısticas de la automatizaci´on fija y de la automatizaci´on programada. Suelen estar constituidos por una serie de estaciones de trabajo interconectadas entre si por sistemas de almacenamiento y manipulaci´on de materiales, controlados en su conjunto por una computadora. El escal´on final es la automatizaci´on total de la producci´on, en la que, idealmente, la fabricaci´on se realizar´ıa sin intervenci´on humana. En la figura 1.5 se muestra una estructura de control sencilla compuesta por un computador que se comunica, a trav´es de un bus, con cuatro aut´omatas programables cada uno de los cuales controla un determinado proceso.

´ CAP´ITULO 1. INTRODUCCION

18

1.4.3.

Ventajas e inconvenientes de la automatizaci´ on

Como es l´ogico, la automatizaci´on tiene sus ventajas e inconvenientes. Entre las primeras podemos citar: Permite aumentar la producci´on y adaptarla a la demanda Disminuye el coste del producto Consigue mejorar la calidad del producto y mantenerla constante Mejora la gesti´on de la empresa Disminuye de la mano de obra necesaria Hace m´as flexible el uso de la herramienta Algunos inconvenientes son Incremento del paro en la sociedad Incremento de la energ´ıa consumida por producto Repercusi´on de la inversi´on en el coste del producto Exigencia de mayor nivel de conocimientos de los operarios Hasta ahora no se ha dado mucha importancia al segundo punto pero cabe pensar que, en el fututo, el aumento del coste de la energ´ıa pueda repercutir en un considerable aumento de los costes de la producci´on automatizada. Ello nos llevar´ıa a tener que considerar nuevos m´etodos o, quiz´as, a reconsiderar antiguos m´etodos de fabricaci´on semi-automatizada en la que ciertas tareas podr´ıan ser realizadas por operarios humanos. De hecho, aunque lamentable, es significativa la pr´actica de la utilizaci´on de mano de obra barata, no especializada (incluso infantil), por grandes compa˜ n´ıas que instalan sus factor´ıas en pa´ıses subdesarrollados. En el mundo industrial actual la Automatizaci´on es pr´acticamente imprescindible, debido a los niveles de productividad, fiabilidad y rentabilidad que el mercado exige a los productos elaborados para ser competitivos. Anta˜ no la automatizaci´on se aplicaba s´olo al proceso productivo (a las m´aquinas), porque era el que m´as recursos humanos consum´ıa, resultando asi una automatizaci´ on local. Pero hoy d´ıa podemos hablar de una automatizaci´ on global ya que se ha extendido no s´olo a todos los procesos de la empresa (bloques de la figura 1.1) sino tambi´en a los flujos de control (l´ıneas a trazos de la figura 1.1), que pueden tambi´en ser automatizados mediante buses de comunicaci´on y redes de ´area local; adem´as, una empresa puede comunicarse a trav´es de Internet con otras empresas pudiendo crearse de esta forma redes de empresas extendidas por todo el mundo.

´ INDUSTRIAL 1.4. LA AUTOMATIZACION

1.4.4.

19

Elementos de la automatizaci´ on

Hay muchas ´areas y tecnolog´ıas que intervienen en la Automatizaci´on. Las m´as importantes, junto con algunos de sus elementos, son: Mec´anica • Herramientas • Mecanismos • M´aquinas • Elementos de transporte El´ectrica • Automatismos el´ectricos • Motores el´ectricos de c.c. y c.a. • Cableados de fuerza y de mando • Aparillajes el´ectricos en general Tecnolog´ıa Electr´onica • Controladores anal´ogicos • Sensores / Transductores • Pre-acionadores • Drivers de accionamientos • Communicaciones • Telemando y Telemetr´ıa • Sistemas de comunicaci´on inal´ambrica Neum´atica electro-neum´atica • Cilindros neum´aticos • V´alvulas neum´aticas y electro-neum´aticas • Automatismos neum´aticos Hidr´aulica y electro-hidr´aulica • Cilindros hidr´aulicos • V´alvulas hidr´aulicas y electro-hidr´aulicas • Automatismos hidr´aulicos Aplicaciones de Control e Inform´atica Industrial • Controladores de procesos

´ CAP´ITULO 1. INTRODUCCION

20 • Control por computador

• Control embutido (embedded control) • Aut´omatas programables • Visi´on artificial • Rob´otica • Mecatr´onica / Control de movimiento • C´elulas de fabricaci´on flexible • C´elulas de Mecanizado • C´elulas de Montaje Autom´atico • Control Num´erico • Sistemas CAD-CAM (Computer Aided Design & Manufacturing) • Sistemas CIM (Computer Integrated Manufacturing System) • Redes y buses de comunicaciones

1.5.

Modelos matem´ aticos de sistemas

En el an´alisis de los sistemas de control juegan un papel primordial los modelos matem´aticos. Un modelo matem´atico de un sistema din´amico es una ecuaci´on o sistema de ecuaciones, de un determinado tipo, que lo representa, y cuya evoluci´on en el tiempo se coresponde con la del sistema. El modelo permite hacer c´alculos, predicciones, simulaciones y dise˜ nar nuevos sistemas de control “sobre el papel” sin necesidad de tener que construirlos hasta que se considere oportuno. Los bloques, entradas y salidas que componen un sistema de control pueden ser de naturaleza muy diferente seg´ un sea la aplicaci´on que estemos considerando. La Teor´ıa de Control es la parte de la ciencia que estudia todos estos sistemas desde los puntos de vista matem´atico, f´ısico y tecnol´ogico. Lo primero que vamos a hacer para estudiar matem´aticamente los sistemas es clasificarlos atendiendo a alguna propiedad importante. Como no cabe duda que el tiempo es esencial para todo sistema de control, puesto su evoluci´on depende del tiempo, podemos clasificarlos, atendiendo a c´omo sea dicha evoluci´on, en Sistemas de tiempo cont´ınuo Sistemas de tiempo discreto Sistemas de eventos discretos Esta clasificaci´on nos va servir tanto para el estudio matem´atico, an´alisis y modelado de los sistemas de control como para su s´ıntesis, o sea, su dise˜ no y realizaci´on utilizando diferentes tecnolog´ıas. Cada una de estas clases se divide a su vez en otras

´ DE SISTEMAS COMPLEJOS 1.6. MODELADO Y SIMULACION

21

que van configurando las diferentes partes que configuran la Teor´ıa de Control y sus aplicaciones. Los sistemas de eventos discretos reciben tambi´en el nombre de sistemas reactivos o sistemas comandados por eventos (event-driven systems). Sus modelos matem´aticos son complejos, se basan en procesos estoc´astcos y procesos de colas, por lo que es habitual trabajar con modelos no matem´aticos basados en computador. En este sentido ha supuesto un gran avance la especificaci´on del Lenguaje Unificado de Modelado (UML).

1.6.

Modelado y simulaci´ on de sistemas complejos

El modelado y simulaci´on se utiliza en muy aplicaciones diversas, tales como din´amica de fl´ uidos, sistemas energ´eticos y gestion de negocios. Dentro de los curr´ıcula universitarios se estudia, entre otras, en las ´areas de Teor´ıa de Sistemas, Teor´ıa de Control, An´alisis Num´erico, Ciencias de la Computaci´on, Inteligencia Artificial e Investigaci´on Operativa. Poco a poco ha ido haci´endose cada vez m´as potente hasta el punto en que hoy se considera con capacidad para integrar todas las anteriores disciplinas. M´as a´ un, ha sido propuesto por algunos como el paradigma de la computaci´on del futuro. Como paradigma, constituye un m´etodo para representar los problemas, para analizarlos y para obtener soluciones. En la fase de an´alisis, el modelo se construye inductivamente a partir de observaciones realizadas sobre un sistema real. En la fase de s´ıntesis se utilizan los modelos creados en la fase de an´alisis para dise˜ nar nuevos modelos que satisfagan determinadas especificaciones y se construyen los sistemas reales (realizaciones) si se considera oportuno. A veces suele ser preciso reperir iterativamente las fases de an´aliisis y dise˜ no hasta conseguir dar con la soluci´on buscada.

1.6.1.

Importancia del modelado

El conocimiento sobre las cosas que tenemos a nuestro alrededor, adquierido a trav´es de los sentidos y almacenado en el cerebro, no es la realidad sino una abstracci´on, un modelo de la misma. Es un modelo en el que se reflejan algunas caracter´ısticas est´aticas (forma, dimensiones, color, sonido, olor, temperatura, acabado superficial, etc.) y quiz´as tambi´en algunas otras din´amicas (velocidad, etc). Si utilizamos instrumentos de medida, la informaci´on que adquirimos puede enriquecerse con n´ umeros, gr´aficos y quiz´as con otros tipos de informaci´on propia de cada instrumento. De alguna manera, la informaci´on que hemos adquirido sobre un objeto es el resultado de experiencias (experimentos) que hemos realizado sobre el mismo. Por tanto, la informaci´on adquirida es siempre parcial, se refiere a los resultados de experiencias o experimentos y el modelo de cualquier sistema es tambi´en parcial, es decir, s´olo refleja aquellos aspectos que han sido medidos y analizados dentro de un determinado contexto experimental. Otros aspectos pueden quedar ocultos en el

´ CAP´ITULO 1. INTRODUCCION

22

modelo porque a´ un no se conocen, sencillamente porque no se han medido o, si se quiere, porque quedan fuera de contexto. REALIDAD

MODELO

Entidad del Mundo Real

Modelo básico

OBJETIVOS

análisis sólo en contexto experimental

dentro del contexto Sistema S

experimento dentro de contexto

Datos observados de Experimento

Conocimiento a priori del modelo básico

Modelo M

Validación

Simulación = Experimento virtual

Resultados de Simulación

Proceso de Modelado y Simulación

Figura 1.6: Esquema del modelado

En la figura 1.6 se indica esquem´aticamente el proceso de obtenci´on de un modelo a partir de la realidad. Es importante recalcar de que la informaci´on que podemos tener sobre una determinada entidad real la adquirimos a trav´es de experimentos hechos en un determinado contexto de modelado. Por esta raz´on, los nombres con que muchas veces se etiquetan ciertas entidades del mundo real provienen no de la entidad misma sino de su modelo. As´ı, por ejemplo, si hablamos de sistemas de tiempo continuo nos estamos refiriendo a la familia de entidades reales que admiten un modelo de tiempo continuo. Es decir que lo que estamos haciendo es clasificar las entidades reales en clases en funci´on de las caracter´ısticas de los modelos. Es evidente que una misma entidad real puede pertenecer a varias de estas clases, o sea, puede admitir distintos modelos, dependiendo de las caracter´ısticas que se quieran poner de manifiesto. Disponer de un modelo antes de proceder al desarrollo de software y hardware es tan importante para el ingeniero responsable de cualquier automatizaci´on industrial como puede ser, para el arquitecto, tener un anteproyecto antes de construir un gran edificio. El modelado adquiere mayor importancia cuanto mayor es la complejidad del sistema. Algunos sistemas (por ejemplo biol´ogicos) son tan complicados que hasta hace poco no se sab´ıa muy bien c´omo funcionaban pero que, tras el modelado de sus partes elementales y la posterior conexi´on de las mismas, empiezan ya a ser estudiados y entendidos, al menos en alguno de sus aspectos. Sin ir tan lejos, tener un buen

´ DE SISTEMAS COMPLEJOS 1.6. MODELADO Y SIMULACION

23

modelo resulta de una ayuda inestimable para cualquier dise˜ no de automatizaci´on industrial. Ser´ıa estupendo que el lenguaje de modelizaci´on fuera universal pues ello facilitar´ıa la comunicaci´on entre los equipos de desarrollo dentro de la empresa y tambi´en, fuera de ella, entre los miembros de la comunidad cient´ıfica. Un buen lenguaje de modelizaci´on ha de tener Elementos del modelo – conceptos fundamentales y sem´antica Notaci´on – representaci´on visual de los elementos del modelo Directivas – lenguajes a utilizar para el modelado Lenguaje Unificado de Modelizaci´ on (UML) La carencia de un lenguaje est´andar de modelizaci´on ha sido durante mucho tiempo el principal quebradero de cabeza de muchos dise˜ nadores de software. La situaci´on era ca´otica hasta hace poco porque, al ser las herramientas de desarrollo de software de diferentes fabricantes e incompatibles entre s´ı, cuando alguien pretend´ıa modelar un sistema comlejo, formado por subsistemas de diferente naturaleza, al final se le presentaba la complicada tarea de acoplar los resultados de los modelos de cada una de las partes, desarrolladas en diferentes lenguajes. Afortunadamente la situaci´on ha cambiado recientemente con la aparici´on del denominado Unified Modeling Language (UML). El desarrollo de este lenguaje comenz´o en Octubre de 1994 cuando Grady Booch y Jim Rumbaugh, de la empresa Rational Software Corporation, unificaron el anterior m´etodo de Booch y el llamado t´ecnica de Modelado de Objetos (OMT) y crearon un proyecto com´ un, al que llamaron Unified Method, cuyo primer borrador vi´o la luz en Octubre de 1995. A finales del mismo a˜ no Ivan Jacobson y su empresa Objectory se unieron a Rational Software y como resultado de la uni´on surgi´o el m´etodo OOSE (Object-Oriented Software Engineering). Al comenzar a trabajar juntos, Booch, Rumbaugh y Jacobson fijaron como objtivos los siguientes: 1. Otorgar al modelado de sistemas (y no s´olo al software) la capacidad de utilizar conceptos orientados a objetos. 2. Establecer un acoplamiento expl´ıcito con los artefactos tanto conceptual como ejecutable. 3. Tratar los temas inherentes a la escala en los sistemas complejos y de misi´on cr´ıtica. 4. Crear un lenguaje de modelado entendible tanto por las m´aquinas como por los seres humanos. Los esfuerzos de los tres ingenieros dieron su fruto con la publicaci´on de las versiones 0.9 y 0.91 de UML, en Junio y en Octubre de 1996. UML comenz´o a extenderse con rapidez y muchas importantes empresas vieron en UML un asunto

´ CAP´ITULO 1. INTRODUCCION

24

de importancia estrat´egica para sus negocios. Tras una primera fusi´on con OMG (Object Management Group), Rational Software estableci´o las bases para crear un consorcio empresarial, al que pronto se unieron las compa˜ n´ıas m´as importantes del mundo de la inform´atica: DEC, HP, IBM, Microsoft, Oracle, TI, Unisys, etc. UML se ha ido enriqueciendo con las aportaciones de los nuevos socios dando lugar a la aparici´on de nuevas versiones. La versi´on UML 1.3, de Junio de 1999, es la que est´a actualmente en vigor. Los objetivos actuales de UML son: Ofrecer a los usuarios un lenguaje de modelado de uso inmediato, expresivo y visual, para desarrollar e intercambiar modelos significativos. Suministrar mecanismos de extensi´on y especializaci´on que permitan extender los conceptos del n´ ucleo del lenguaje. Soportar especificaciones que sean independientes de los lenguajes de programaci´on particulares y de los procesos de desarrollo. Dar una base formal para el aprendizaje del lenguaje. Animar el crecimiento del mercado de herramientas para objetos. Soportar conceptos de desarrollo de alto nivel: components, collaborations, frameworks, patterns. Integrar las mejores pr´acticas de programaci´on. Caracter´ısticas de UML UML es un lenguaje sin propietario y abierto a todos. Ofrece a los ingenieros de sistemas que trabajan en an´alisis y dise˜ no orientados a objetos, un consistente lenguaje para especificar, visualizar, construir y documentar los artefactos de software y tambi´en para el modelado de negocios y de otros sistemas. Est´a estructurado en 9 paquetes: Data Types Core Extension Mechanisms Comon Behavior State Machines Activity Graphs Collaborations Use Cases Model Management

´ DE SISTEMAS COMPLEJOS 1.6. MODELADO Y SIMULACION

25

Los fabricantes y desarrolladores de software que adoptan el lenguaje UML deben etiquetar sus productos con la frase UML compliant e indicar el grado de cumplimiento con cada una de las especificaciones del lenguaje. Para el desarrollo de los artefactos de software, UML tiene en cuenta las siguientes consideraciones: El estudio de todo sistema complejo se aborda mejor por medio de una secuencia de visiones distintas del modelo. Una s´ola vista no es suiciente. Todo modelo se puede expresar a diferentes niveles de fidelidad. Los mejores modelos est´an conectados a la realidad. En t´erminos de vistas de un modelo, UML define los siguientes diagramas gr´aficos: use case diagram class diagram behavior diagrams: • statechart diagram • activity diagram • interaction diagrams ◦ sequence diagram ◦ collaboration diagram • implementation diagrams: ◦ component diagram ◦ deployment diagram Todos estos diagramas dan m´ ultiples perspectivas del sistema bajo an´alisis o desarrollo. Adem´as UML tiene herramientas para obtener un buen n´ umero de visiones derivadas. UML no soporta diagramas de flujo de datos (data-flow diagrams), simplemente porque no encajan limpiamente en un paradigma consistente orientado a objeto. Para modelar flujos de datos valen los diagramas de actividad (activity diagrams) de UML. UML consigue acabar con las diferencias (a veces absurdas) entre los lenguejes de modelizaci´on anteriores y, quiz´as m´as importante, unifica las perspectivas de acercamiento entre muchas clases diferentes de sistemas (negocios contra sotware), fases de desarrollo (requerimientos, an´alisis, dise˜ no e implementaci´on) y conceptos internos.

´ CAP´ITULO 1. INTRODUCCION

26

1.7.

Estructura del curso

El curso se estructura en 4 partes. Las dos primeras son m´as bien te´oricas y en ellas se estudian los fundamentos que permiten el modelado de sistemas. Las otras dos partes son de un contenido m´as bien pr´actico, de aplicaci´on de lo estudiado antes, si bien en la u ´ltima parte se requieren algunos nuevos conocimientos te´oricos. Control de procesos continuos Control de procesos de eventos discretos Automatizaci´on local Automatizaci´on global

1.7.1.

Control de procesos continuos

Esta primera parte est´a enfocada al dise˜ no de de controladores para procesos de tiempo contnuo. Supiniendo un conocimiento previo de las nociones b´asicas de la Teor´ıa de Control, se estudiar´an algunas t´ecnicas cl´asicas de dise˜ no de controladores anal´ogicos y digitales. Se har´a un especial ´enfasis en el estudio de los controladores PID y sus m´etodos de sinton´ıa.

1.7.2.

Control de procesos de eventos discretos

En la segunda parte repasaremos primero algunos conceptos b´asicos sobre sistemas combinacionales y secuenciales, para pasar a ver los modelos de sistemas de eventos discretos m´as usados actualmente en automatizaci´on: Diagramas de estado Redes de Petri Grafcet Statecharts

1.7.3.

Automatizaci´ on local

En esta parte estudiaremos algunos de los elementos existentes en el mercado dedicados a la automatizaci´on local. Es un tema m´as bien descriptivo y muy extenso en el que, aparte de lo mostrado en clase, el alumno debe intertar conseguir informaci´on (cat´alogos, documentos de Internet, etc.) sobre los productos comerciales. Algunos de los elementos son Captadores Pre-actuadores y actuadores.

1.7. ESTRUCTURA DEL CURSO

27

Automatismos el´ectricos Automatismos neum´aticos e hidr´aulicos Aut´omatas programables Controladores industriales

1.7.4.

Automatizaci´ on global

Esta u ´ltima parte est´a dedicada al estudio de la automatizaci´on global y en la misma daremos una visi´on general algunos aspectos importantes de la misma, tales como Simulaci´on de procesos productivos Redes locales Buses industriales GEMMA SCADA Control jer´arquico

28

´ CAP´ITULO 1. INTRODUCCION

Parte I Control de procesos continuos

29

Cap´ıtulo 2 Dise˜ no de Controladores 2.1.

Introducci´ on

Los sistemas de control se aplican en numerosos campos de la tecnolog´ıa y de la ciencia. Se pueden citar ejemplos tales como los pilotos autom´aticos en barcos o aviones, el control teledirigido de naves espaciales, controles de posici´on y velocidad en m´aquinas herramientas, control de robots, control de procesos industriales, suspensi´on activa de los autom´oviles, controles diversos en electrodom´esticos, etc., en los que los sistemas de control desempe˜ nan un importante papel. La lista de aplicaciones pudiera resultar interminable ya que, debido al progresivo abaratamiento y miniaturizaci´on los componentes electr´onicos, ha sido enorme su proliferaci´on y desarrollo. Un sistema de control consta de un proceso o planta que se desea controlar y de otros elementos que realizan el control, formados esencialmente por captadores y controladores. En la figura 2.1 se ha representado un sistema de control b´asico monovariable. En la misma, la planta se representa por el bloque de funci´on de transferencia Gp , el controlador por Gc y el captador por H. Los m´etodos de dise˜ no sirven para proyectar el sistema de control y determinar los componentes m´as adecuados para un funcionamiento satisfactorio. El objetivo del dise˜ no, en el caso m´as sencillo, suele ser una parte del sistema, denominada controlador, que tiene asignada la misi´on de control. En los sistemas de control continuos este elemento est´a constituido generalmente con componentes electr´onicos de tipo anal´ogico mientras que en los sistemas de control discretos es un controlador basado en un computador digital. Por otro lado hay que distinguir entre el control de sistemas SISO y MIMO. El enfoque del dise˜ no ser´a muy diferente para un sencillo bucle de regulaci´on de tipo SISO que para un sistema de control de un proceso MIMO en el que intervienen m´ ultiples variables interrelacionadas. En este capitulo vamos a tratar del dise˜ no de sistemas de control continuos monovariables [2, cap. 7]. 31

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

32

2.2.

Tipos de controladores

En la figura 2.1 el control del sistema ha sido asignado al bloque Gc denominado controlador. Puesto que el dise˜ no va a consistir en determinar los componentes de este elemento, veamos en primer lugar los tipos mas comunes de controladores utilizados en la pr´actica, junto con sus correspondientes implementaciones basadas en amplificadores operacionales y componentes pasivos.

D(s) ε

R(s)

Gc

Y(s)

Gp

H Figura 2.1: Sistema de control

2.2.1.

Controlador tipo proporcional P

La funci´on de transferencia del controlador P es G c = Kp

(2.1)

siendo Kp una constante. En la figura 2.2 se representa el esquema de un amplificador Vi

R Vo R2

R1

Figura 2.2: Esquema de un controlador P

2.2. TIPOS DE CONTROLADORES

33

o inversor en el cual se cumple Kp =

2.2.2.

R1 + R2 V0 = Vi R1

Controlador tipo integrador

Su funci´on de transferencia es 1 (2.2) sTi Siendo Ti una constante. Se ha implementado mediante el circuito integrador inversor representado en la figura 2.3, en la que Gc =

V0 1/sC1 −1 =− = Vi R1 sR1 C1 La constante de tiempo Ti de este controlador I vale, por tanto, Gc =

(2.3)

C1 Vi

R1 Vo

R

Figura 2.3: Esquema de un controlador I

Ti = R1 C1

2.2.3.

(2.4)

Controlador tipo derivativo D

Su funci´on de transferencia es Gc = sTd

(2.5)

Siendo Td una constante. Su circuito electr´onico, con una configuraci´on inversora, aparece en la figura 2.4, en la que V0 R1 Gc = =− = −sR1 C1 (2.6) Vi 1/sC1 La constante de tiempo T del controlador I vale por tanto, Td = R1 C1

(2.7)

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

34

R1 Vi

C1 Vo

R

Figura 2.4: Esquema de un controlador D

2.2.4.

Controladores PID

Los tres controladores b´asicos P, I, D, que acabamos de ver pueden agruparse en forma aditiva entre s´ı dando lugar a las combinaciones PI, PD y PID. En la figura 2.5 se representa un controlador PID en forma de diagrama de bloques [2, sec. 7.10]. Su funci´on de transferencia es Gc =

V0 1 = Kp (1 + + sTd ) Vi sTi

(2.8)

Este controlador PID se transforma f´acilmente en otro PI o PD eliminando una

1

Vi

1 sT i

Kp

Vo

sT d

Figura 2.5: Diagrama de bloques de un controlador PID

de las ramas I o D del diagrama de bloques. Si eliminamos ambas ramas I y D se transforma en un controlador P. Una posible implementaci´on electr´onica de este controlador, que se ajusta al diagrama de bloques, se ilustra en la figura 2.6. La funci´on de transferencia del circuito PID as´ı compuesto viene dada por la

2.2. TIPOS DE CONTROLADORES

35

R1 R1

R4

C2 R5 Vi

R1

R4 Vo

R3

C3 R4

Figura 2.6: Diagrama de bloques de un controlador PID

expresi´on (2.9) en la que Kp =

2.2.5.

R5 , R4

Ti = R2 C2 ,

Td = R3 C3

(2.9)

Controladores de adelanto y de retraso de fase

Son controladores que producen un avance, un retraso o una combinaci´on de avance y retraso en la fase de la tensi´on de salida con respecto a la tensi´on de entrada al controlador [2, sec. 7.9]. La funci´on de transferencia de un controlador de adelanto o retraso es V0 s − zc = Kc (2.10) Gc = Vi s − pc Si | zc || pc |, es de retraso de fase. Estos controladores pueden realizarse mediante redes pasivas RC o bien con circuitos basados en amplificadores operacionales. La figura 2.7 muestra los esquemas de una red RC de adelanto de fase y otra de retraso. La funci´on de transferencia de la red de la figura 2.7a es Gc =

V0 s − zc 1 + αT s = Kc = Vi s − pc α(1 + T s)

siendo α = (R1 + R2 )/R2 y T = CR1 R2 /(R1 + R2 ).

(2.11)

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

36 C

R1 R1 C

R2

Vi

Vi

Vo

Vo R2

a)

b)

Figura 2.7: Redes de adelanto y de retraso de fase

La red de retraso de fase de la figura 2.7b tiene por funci´on de transferencia Gc =

V0 s − zc 1 + Ts = Kc = Vi s − pc 1 + αT s

(2.12)

siendo α = (R1 + R2 )/R2 y T = R2 C. En la figura 2.8 se ha representado una red C1

R1

R2 Vi

Vo C2

Figura 2.8: Red de adelanto-retraso de fase pasiva RC de adelanto-retraso de fase, cuya funci´on de transferencia es Gc =

V0 (1 + αT1 s)(1 + βT2 s) = Vi (1 + T1 s)(1 + T2 s)

(2.13)

donde α > 1, β = 1/α, αT 1 = R1 C1 , T2 = R2 C2 y T1 T2 = R1 R2 C1 C2 . Los controladores de adelanto y de retraso de fase pueden construirse tambi´en a base de circuitos con operacionales. El circuito representado en la figura 2.9 puede funcionar como controlador de adelanto y de retraso de fase. Su funci´on de transferencia es Gc =

V0 s − zc C1 (s + 1/R1 C1 ) = Kc =− Vi s − pc C2 (s + 1/R2 C2 )

(2.14)

´ ˜ BASADOS EN EL LUGAR DE LAS RA´ICES 2.3. METODOS DE DISENO

37

C2 C1 R2 Vi

R1 Vo

Figura 2.9: Controlador de adelanto-retraso de fase

Este montaje se puede utilizar como controlador PI (eliminando la resistencia R2) o como controlador PD (eliminando el condensador C2).

2.3.

M´ etodos de dise˜ no basados en el lugar de las ra´ıces

El m´etodo de dise˜ no basado en el lugar de las ra´ıces suele tambi´en denominarse de asignaci´on de polos. Consiste en asignar al controlador uno o varios polos y ceros, previamente determinados por las especificaciones que ha de cumplir el sistema. Estos polos y ceros del controlador pueden servir, en ocasiones, para eliminar ciertos polos o ceros indeseados del sistema (cancelaci´on de polos). Antes de proceder al estudio de algunos ejemplos de dise˜ no de controladores veamos qu´e efecto produce la adici´on de un polo o de un cero sobre el lugar de las ra´ıces. Sea un sistema cuya funci´on de transferencia en lazo abierto es: G(s) =

1 s2

(2.15)

Se trata de un sistema marginalmente estable para cualquier valor de la ganancia K, ya que su lugar de las ra´ıces es el eje imaginario (Figura 2.10). Veamos el efecto que produce la adici´on de un cero en (−2,5, 0). La funci´on de transferencia en lazo abierto es ahora s + 2,5 G(s) = (2.16) s2 El lugar de las ra´ıces se ha representado en la figura 2.11. Se puede observar que la adici´on de un cero produce un efecto parecido a como si ´este “tirase” del lugar geom´etrico hacia s´ı, estabilizando el sistema y generando en este caso una circunferencia como parte del lugar. Veamos ahora el efecto de a˜ nadir un polo en (−2, 0). La funci´on de transferencia en lazo abierto vale ahora, G(s) =

1 + 2)

s2 (s

(2.17)

38

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

Figura 2.10: Lugar de las ra´ıces de G(s)H(s) = 1/s2

Figura 2.11: Lugar de las ra´ıces de G(s)H(s) = (s + 2,5)/s2

´ ˜ BASADOS EN EL LUGAR DE LAS RA´ICES 2.3. METODOS DE DISENO

39

Figura 2.12: Lugar de las ra´ıces de G(s)H(s) = 1/[(s2 )(s + 2)]

El lugar geom´etrico de las ra´ıces correspondiente se ha representado en la figura 2.12. Puede observarse en el mismo que es como si el polo s = −2 a˜ nadido parece como si empujara al lugar, deform´andolo y generando una rama de hip´erbola. Produce, por tanto, un efecto desestabilizador en el sistema. Vistos los efectos de la adici´on de un polo y de un cero a la funci´on de transferencia, vamos a considerar algunos ejemplos de dise˜ no del controlador en un sistema de regulaci´on, conociendo ciertas especificaciones de funcionamiento.

2.3.1.

Dise˜ no de una red de adelanto de fase

Un controlador de adelanto de fase tiene por funci´on de transferencia: G c = Kc

s − zc , s − pc

|zc | < |pc |

(2.18)

El dise˜ no consiste en asignar unos valores a los par´ametros del controlador, tales que el lugar geom´etrico pase por un punto dado, definido a partir de las especificaciones de funcionamiento. Vamos a considerar el mismo ejemplo anterior en el que la funci´on de transferencia en lazo abierto vale 1 G(s)H(s) = 2 (2.19) s Supongamos que las especificaciones de funcionamiento exigen un tiempo de establecimiento Ts de 4s y una sobreoscilaci´on m´axima inferior al 20 %. El tiempo de establecimiento suele considerarse igual a 4 veces la constante de tiempo τ del sistema ( < 2 %), con lo que 4 (2.20) Ts = 4τ = ξωn

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

40

Por otra parte la sobreoscilaci´on m´axima esta relacionada con el coeficiente de amortiguamiento. Puede probarse que una sobreoscilaci´on del 20 % corresponde a un coeficiente de amortiguamiento ξ = 0,45. Por lo tanto, sustituyendo este valor en la expresi´on anterior queda 4=

4 , 0,45ωn

ωn = 2,22

(2.21)

Por tanto, la ra´ız correspondiente a las especificaciones propuestas es: p s = −ξωn ± ωn 1 − ξ 2 = −1 ± 2j

(2.22)

im 3 Raíz deseada 2

1 θp

-5

-4

-3

90º

-2

116.56º

re

-1

Figura 2.13: Lugar de las ra´ıces de G(s)H(s) = 1/[(s2 )(s + 2)]

Para que el lugar de las ra´ıces pase por este punto hemos de situar el polo y el cero del controlador de adelanto de fase. Primero situamos el cero del controlador en el punto s = −1, es decir, justo bajo la ra´ız (−1 ± 2j), antes hallada, por la que ha de pasar el lugar. Aplicando el criterio del argumento, hallamos la ubicaci´on del polo del controlador (figura 2.13): 90o − 2(116,56o ) − θp = −180o

θp = 38o

Se deduce que el polo ha de ser pc = −3,6. La funci´on de transferencia del controlador es s+1 G c = Kc s + 3,6 El par´ametro Kc se determina aplicando la condici´on de m´odulo del lugar del las ra´ıces en el punto s = −1 + 2j, que da un valor de Kc = 8,1. El sistema de control resultante se ha representado en la figura 2.14 y el lugar de las ra´ıces correspondiente, en la figura 2.15.

´ ˜ BASADOS EN EL LUGAR DE LAS RA´ICES 2.3. METODOS DE DISENO

Gc ε

R(s)

41

Gp

s+1

1

8.1 s

s+3.6

Y(s)

2

H 1

Figura 2.14: Ubicaci´on del cero y del polo del controlador PID

2.3.2.

Dise˜ no de un controlador PID

Vamos a suponer que deseamos controlar la misma planta anterior, con funci´on de transferencia Gp (s) = 1/s2 , mediante un controlador PID. Este tipo de control no es el m´as id´oneo en este caso, ya que la propia planta realiza una doble integraci´on; se utiliza aqu´ı para poder comparar con los resultados obtenidos anteriormente. Las especificaciones son las mismas que en el ejemplo anterior y por tanto el lugar de las ra´ıces ha de pasar por el punto (−1±2j). La funci´on de transferencia del controlador es ahora s2 Td Ti + sTi + 1 1 Gc = Kp (1 + + sTd ) = Kp sTi sTi Un sencillo m´etodo de dise˜ no consiste en suponer que los ceros z1 y z2 del controlador PID son reales. Ubicamos el cero z1 bajo la ra´ız deseada y, aplicando la condici´on de ´angulo, determinamos el otro cero (figura 2.16). Condici´on de ´angulo: 90o + θz2 − 3(116,56o ) = −180o ,

θz2 = 3(116,56) − 180o − 90o = 79,69oo

y, por tanto, z2 = −1,36. El lugar de las ra´ıces del sistema compensado se ha representado en la figura 2.16. Conocidos los valores de z1 y z2 podemos hallar las constantes Td , Ti y Kp del controlador PID, identificando su funci´on de transferencia con la obtenida. Kp

s2 Td Ti + sTi + 1 s2 + 2,36s + 1,36 = sti s

de donde resulta Ti = 2,36/1,36 = 1,73s

Td = 1/2,36 = 0,42s

La constante Kp , hallada mediante la condici´on de ´angulo, resulta ser Kp = 2,8. El lugar de las ra´ıces correspondiente se ha representado en la figura 2.17.

42

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

Figura 2.15: Lugar de las ra´ıces de G(s)H(s) = (s + 1)/[(s2 )(s + 3,6)]

2.4.

Dise˜ no en el Lugar de las Ra´ıces

El dise˜ no en el Lugar de las ra´ıces est´a indicado en el caso en que se pretenda que el sistema controlado tenga un par de polos complejos dominantes y que las especificaciones de funcionamiento vengan dadas para ese par de polos. Recordemos que en el sistema de 2o orden, si nos dan como especificaciones la sobreoscilaci´on m´axima Mp y el tiempo de pico tp , podemos hallar el par de polos asociado a las mismas, ya que de Mp = e

√−ζπ

1−ζ 2

podemos despejar ζ y a continuaci´on, de tp =

π p ωn 1 − ζ 2

podemos hallar ωn . Si el sistema controlado ha de tener polos dominantes reales, es decir, una respuesta temporal mon´otona, no es aplicable este m´etodo. No obstante, es casi siempre deseable una respuesta oscilante puesto que ello ayuda a contrarrestar el efecto de las posibles no linealidades. Como los controladores utilizados, controlador de adelanto-retraso y PID, tienen dos grados de libertad, es posible ubicar s´olo dos polos del sistema en lazo cerrado. La posici´on del resto de los polos queda fuera de control, y bien puede suceder, en plantas de orden elevado, que los polos ubicados por dise˜ no no sean efectivamente los dominantes. La desventaja del m´etodo del lugar de las ra´ıces es que la informaci´on disponible para el dise˜ nador disminuye conforme aumenta el n´ umero de ramas. En estos casos la

˜ EN EL LUGAR DE LAS RA´ICES 2.4. DISENO

43 im 3

Raíz deseada 2

1 θz2

-5

-4

-3

-2

90º

-1

116.56º

re

Figura 2.16: Ubicaci´on de los ceros y polos del PID

alternativa puede ser trabajar con modelos de orden reducido o bien utilizar m´etodos de dise˜ no en el dominio de la frecuencia.

2.4.1.

Compensador de adelanto de fase

La funci´on de transferencia del controlador de adelanto de fase es s + zc Gc (s) = Kc , zc > pc , zc > 0 , pz > 0 s + pc Su dise˜ no consiste en determinar las constantes Kc , zc , zc para que el sistema en lazo cerrado cumpla con las especificaciones exigidas. En t´erminos del lugar de las ra´ıces esto significa que el lugar ha de pasar por el par de puntos conjugados (polos dominantes deseados) del plano complejo, calculados a partir de las especificaciones. El primer paso es, por tanto, hallar el par de polos dominantes a partir de las especificaciones. Supongamos que el resultado es pd = σd + jωd y p¯d = σd − jωd . Una vez hallados, hemos de comprobar que no pertenecen al lugar de las ra´ıces del sistema original (sin compensador) ya que caso afirmativo el dise˜ no consistir´ıa simplemente en hallar el valor de la ganancia K correspondiente al punto del lugar de las ra´ıces pd = σd + jωd . El efecto de un compensador de adelanto de fase es desplazar el punto σc de intersecci´on de las as´ıntotas, a lo largo del eje real y hacia el semiplano izquierdo (SPI), una distancia pc − zc ∆σc = np − nz en donde np y nz son, respectivamente, los n´ umeros de polos y ceros en lazo abierto, incluidos los del controlador. Esto se deduce de la f´ormula que da el centroide de las as´ıntotas: P P i pi − j zj σc = , i = 1, . . . , n, j = 1, . . . , m m−n

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

44

Figura 2.17: Lugar de las ra´ıces de G(s)H(s) = (s + 1)(s + 2,36)/s3

en donde pi son los polos y zj los ceros. Como resultado, las ramas del lugar se “doblan” hacia el SPI (Figura 2.18). Entonces, un simple ajuste de la ganancia puede ser suficiente para obtener polos con mejor amortiguamiento. La condici´on que vamos a utilizar para dise˜ nar el compensador es que el lugar de las ra´ıces ha de pasar por el polo dominante pd = σd + jωd calculado a partir de las especificaciones. Por supuesto que el lugar, por ser sim´etrico, pasar´a entonces tambi´en por p¯d . Si pd es un punto del lugar de las ra´ıces, ha de cumplir la condici´on argumento. Es decir, en el punto pd del plano complejo, la fase de la funci´on de transferencia en lazo abierto ha de ser m´ ultiplo impar de π: ∠Gc (pd ) + ∠Gp (pd ) = (2k + 1)π

k = 0, 1, 2, . . .

Haciendo ∠Gc (pd ) = ϕc resulta ϕc = (2k + 1)π − ∠Gc (pd )

(2.23)

para alg´ un K = 0, 1, 2, ... La fase ϕc del controlador en pd puede relacionarse gr´aficamente en el plano s con los par´ametros pz y zc del controlador (figura 2.19). ϕc = β − α Una vez calculada la fase ϕc que debe tener el controlador en pd , hay un n´ umero infinito de posibles α = ∠pc y β = ∠zc que verifican ϕc = α − β. En la pr´actica, lo habitual es fijar uno de los dos par´ametros, pc o zc , y calcular el otro a partir de la condici´on de ´angulo.

˜ EN EL LUGAR DE LAS RA´ICES 2.4. DISENO

45

Im ∆σc

σ’c

σc

p2

p1

Re

Figura 2.18: Lugar de las Ra´ıces sin y con compensador

Im pd ϕc β

α pc

Re

zc

pd

Figura 2.19: Fase del controlador en pd

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

46

Ejemplo de dise˜ no. Compensador en serie D(s) s + zc U (s)- mE(s)Kc + s + pc −

? - +m

-

500 s(s + 1)

Y (s) r -

6

Figura 2.20: Controlador a dise˜ nar Vamos a dise˜ nar el controlador de adelanto de fase de la figura 2.20, en el que Gp (s) =

500 s(s + 1)

y con unas especificaciones de ζ = 0,65 y ωn = 50. En este ejercicio y en los siguientes se ha utilizado el programa Maple para efectuar los c´alculos. En primer lugar hemos de obtener el par de polos dominantes (pd , p¯d ), por el que ha de pasar el lugar de las ra´ıces, a partir de las especificaciones. En este caso es muy sencillo: p pd = −ζωn + ωn 1 − ζ 2 = −32,5 + 38j p¯d = conj(pd ) = −32,5 − 38j Antes de proceder al dise˜ no hemos de comprobar que el punto pd (o p¯d ) no est´a en el lugar de las ra´ıces del sistema sin compensar. Para ello realizamos su trazado, que se ha representado en la figura 2.21. Una ver comprobado que pd queda fuera del lugar, calculamos el argumento que ha de tener el controlador en pd , aplicando la f´ormula (2.23). Para ello hallamos primero ∠Gp (pd ):   500 ∠Gp (pd ) = arg = −260o s(s + 1) s=−32,5+38j y, a continuaci´on ϕc : ϕc = (2k + 1)π − ∠Gp (pd ) = (2k + 1)π + 260o Para k = −1 obtenemos ϕc = −180o + 260o = 80o que es la fase buscada. N´otese que para otros valores de k se obtienen valores de ϕc iguales al hallado m´as 360o k. Hallada es la fase ϕc del controlador en pd , el problema es encontrar las posiciones del cero zc y del polo pc del controlador de forma que la diferencia β − α de los → −−→ argumentos de los vectores − z− c pd y pc pd sea igual a ϕc (figura 2.22).

˜ EN EL LUGAR DE LAS RA´ICES 2.4. DISENO

47

Im

-1

-0.5

Re

0

Figura 2.21: Lugar de las Ra´ıces sin compensador

Im pd

38

ϕc

β

α pc

-32.5

-1

Re

Figura 2.22: Cancelaci´on del polo en (−1 + 0j) con zc

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

48

Una buena soluci´on, al menos a primera vista, es colocar el cero del controlador en el punto (−1+0j), cancelando un polo de la planta (figura 2.22). As´ı se simplifica la funci´on de transferencia Y (s)/U (s). Procediendo de este modo, para obtener el par´ametro pc del controlador, hallamos el valor del ´angulo α. β − α = ϕc ⇒ α = 130o − 80o = 50o con lo que pc vale pc = 32,5 + 38/ tan 50o = 64 Por u ´ltimo, el valor de Kc lo podemos hallar aplicando la condici´on de magnitud en el punto pd : s + zc =1 Kc G (p ) p d s + pc

de donde resulta Kc = 4,93. El dise˜ no ha concluido: el sistema definido por la funci´on de transferencia consignasalida G1 (s) = Y (s)/U (s), que con los valores hallados queda G1 (s) = 500

s2

Kc + pc s + 500 Kc

tiene un par de polos (dominantes) en (pd , p¯d ), de acuerdo con las especificaciones. Sin embargo, no ocurre lo mismo para la funci´on de transferencia perturbaci´onsalida G2 (s) = Y (s)/D(s) ya que en ´esta el polo en (−1 + 0j) no se ha cancelado: G2 (s) = 500

(s +

s + pc + pc s + 500 Kc )

1 ) ( s2

De aqu´ı que el modo e−t , “cancelado”, aparecer´a en la respuesta a una perturbaci´on de carga d(t). Por tanto, el procedimiento utilizado de cancelaci´on de un polo de la planta no debe ser utilizado en la pr´actica, si se desea una verdadera mejora de la rapidez.

2.4.2.

Consideraciones de dise˜ no

En vista del resultado del ejercicio anterior podemos pensar que el dise˜ no depender´a de la configuraci´on de las entradas y salidas del sistema de control. Ello nos llevar´ıa a un tipo de dise˜ no caso por caso. No obstante, algunas configuraciones son frecuentes en la pr´actica por lo que conviene analizar con detalle los problemas asociados con ellas. El esquema de control de la figura 2.23, denominado compensaci´ on en serie, es frecuente, por ejemplo, en el control de motores y de otros procesos. La entrada d1 representa una perturbaci´on en la carga, d2 representa una perturbaci´on en la salida y d3 , una perturbaci´on o ruido en la medida. No se ha considerado (H(s) = 1) la din´amica del transductor. Nc , Dc , Np y Dp son los polinomios, numerador y denominador, del controlador y de la planta, respectivamente.

˜ EN EL LUGAR DE LAS RA´ICES 2.4. DISENO

49

d1 u- m  + Kc −

- Nc

Dc

d2

Np m- ? +m Dp

? - +m

y -

r

6  +m 6

d3 Figura 2.23: Esquema de control en serie. Para empezar, nos interesa hallar las funciones de transferencia K c N c Np Y = , U D

E Dc Dp = , U D

M Kc Nc Dp = U D

que relacionan la salida y, el error e y el esfuerzo de control m con la entrada u. Tambi´en interesan Y Np Dc = , D1 D

E Y =− , D1 D1

M Y =− D1 U

que relacionan la salida y, el error e y el esfuerzo de control m con la perturbaci´on d1 , y asimismo, M M M Y = , =− D3 D1 D3 U en donde D = Dc Dp + KNc Np A partir de estas expresiones podemos deducir ciertas propiedades interesantes de este esquema de control. Si Nc y Dp tienen ceros en com´ un, estos se cancelan en las funciones de transferencia Y /U y M/U , ya que entonces son ceros del polinomio D = Dc Dp + KNc Np , pero no se cancelan en las Y /D1 y E/D1 , y por ello la cancelaci´on polo-cero no es recomendable. Cuando el sistema en lazo cerrado es mucho m´as r´ apido que la planta la variable manipulada m puede tomar valores muy grandes. La idea intuitiva de que para conseguir una respuesta m´as r´apida el controlador ha de actuar con m´as energ´ıa se confirma matem´aticamente puesto que los polos lentos de la planta (ceros del polinomio Dp ) son ceros en la funci´on de transferencia M/U , y es sabido que un cero lento visto desde los polos (pr´oximo relativamente al eje imaginario) produce una sobreoscilaci´on elevada. Si la planta tiene un cero en el SPD y el sistema en lazo cerrado es estable, la respuesta y(t) a un escal´on siempre comienza con una suboscilaci´on, es decir, arranca en sentido opuesto al de la entrada u(t). Esto es as´ı porque, en la pr´actica, el cero en el SPD no va a poder ser cancelado, y los sistemas con ceros en el SPD muestran ese comportamiento.

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

50

Si la planta tiene un polo en el SPD y el sistema en lazo cerrado es estable, la respuesta y(t) arranca en el mismo sentido que u(t) (tiene sobreoscilaci´on). En efecto, el polo de la planta en el SPD, seg´ un hemos visto, no va a poder ser cancelado. Entonces, dicho polo se convierte en un cero para la funci´on de transferencia E/U , y en consecuencia e(t) tendr´a suboscilaci´on. Como E = U − Y y U = 1 (escal´on unitario), una suboscilaci´on en E inducir´a una sobreoscilaci´on en Y .

2.4.3.

Re-dise˜ no. Compensador en serie

Considerando estas propiedades, vamos a retomar el problema de dise˜ no que antes hemos efectuado. En primer lugar, no es posible, en la pr´actica, cancelar el polo s = −1 de la planta, como hab´ıamos hecho; hemos de elegir otra ubicaci´on para el cero zc del controlador. Como el cero zc del controlador es tambi´en un cero para la funci´on de transferencia Y /U , la experiencia demuestra que una elecci´on adecuada es tomar zc = |pd |. De esta manera la sobreoscilaci´on Mp del sistema en lazo cerrado se aproximar´a bastante a la del sistema de segundo orden (deseado), definido por las especificaciones. Valores mayores de zc , aunque disminuir´ıan la sobreoscilaci´on m´axima, reducir´ıan la contribuci´on de argumento ϕc del controlador. Por tanto elegimos zc = |pd | = 50, procediendo a calcular ϕd . Pero si realizamos la representaci´on gr´afica de la figura 2.19 vemos que esta elecci´on no es posible, porque el m´aximo ´angulo ϕc que se puede obtener con pd = −32,5 + 38j y pc = −50 es de unos 65o , y necesitamos 80o . Por ello nos vemos obligados a elegir otra ubicaci´on para zc m´as hacia la derecha, si bien sabemos que as´ı obtendremos un sobreimpulso mayor que el exigido. Con zc = 25, para ϕc = 80o , obtenemos pc = −130,6 Con lo que la funci´on de transferencia del controlador queda G c = Kc

s + 25 s + 130

El valor de Kc en pd , obtenido a partir del lugar de la condici´on de m´odulo es Kc =. Puede comprobarse que la respuesta a una entrada u(t) escal´on acusa una sobreoscilaci´on mayor que la permitida por las especificaciones.

2.4.4.

Compensador en realimentaci´ on

Una posible soluci´on al problema anterior es colocar el compensador de adelanto en el lazo de realimentaci´on en lugar de en serie con la planta. El esquema del control se indica en la figura 2.24 Calculemos las funciones de transferencia asociadas a este esquema: Y Kc Np Df = , U D

M Kc Df Dp = U D

˜ EN EL LUGAR DE LAS RA´ICES 2.4. DISENO

51

d1 u- m + −



m

- Kc

? - +m

d2

-

Np Dp

? - +m

y -

r

6

Nf  Df

 +m 6

d3 Figura 2.24: Esquema de control en feedback. relacionan la salida y y esfuerzo de control m con la entrada u; Y Np Df = , D1 D

M Np Nf = −Kc D1 D

relacionan la salida y y el esfuerzo de control m con la perturbaci´on d1 ; Y M = , D3 D1

M Nf Dp = −Kc D3 D

en donde D = Df Dp + KNf Np . El error para entrada rampa vale 1 er (s) = 2 s



Y (s) 1− U (s)



=

1 Kc Np Nf + Df Dp − Kc Df Np s2 Df Dp + Kp Nf Np

Los factores comunes (si los hay) de Nf y Dp , que en el controlador serie se cancelaban, son polos de Y /U y de Y /D1 , y no se cancelan. Si comparamos las expresiones Y /U y M/U con las halladas antes para el esquema con controlador en serie, vemos una importante diferencia: Nc ha sido reemplazado por Df . Esto quiere decir que en el esquema de control con compensador en feedback, los polos del compensador se convierten en ceros en las funciones de transferencia en lazo cerrado Y /R y M/R. Esto tiene un efecto beneficioso pues el sobreimpulso m´aximo se reducir´a, ya que, por ser un compensador de adelanto de fase, pc > zc (el efecto ser´ıa perjudicial si el compensador fuera de retraso). Pero esto significa que tenemos mayor libertad para escoger zp : podemos darle un valor menor que |pd | sin que aumente el sobreimpulso. Como conclusi´on se puede decir que, siempre que sea posible, el compensador debe colocarse en el lazo de realimentaci´on. Hay a´ un otro inconveniente. El cero del compensador permanece como cero en la funci´on de transferencia Y /D3 , en ambas configuraciones de serie y feedback. Debido a ello el sistema en lazo cerrado ser´a muy sensible al ruido D3 en la medida si los polos en lazo cerrado se han desplazado mucho hacia la izquierda en el SPI.

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

52

2.4.5.

Compensador de retraso de fase en serie

Su funci´on de transferencia es Gc (s) =

s + zc , s + pc

igual que la del de adelanto de fase, pero con zz > pc > 0. Por ser su ganancia est´atica mayor que uno, las constantes de error del sistema quedar´an multiplicadas por el factor zz /pc , por estar en serie con la planta. El dise˜ no de este controlador consiste en encontrar zc y pc que satisfagan una relaci´on dada. Sea, como antes, pd el polo dominante deseado. Puesto que para una relaci´on dada de |zc |/|pc |, la contribuci´on de ´angulo ϕc del controlador en pd disminuye con |zc |, debemos seleccionar zc lo m´as peque˜ no posible para que este compensador tenga poco efecto sobre la respuesta transitoria. Por tanto colocaremos zc pr´oximo a los polos dominantes. El efecto del compensador de retraso en el lugar de las ra´ıces es “doblar” el lugar hacia el SPD, desplazando el punto σc la misma distancia que el controlador de adelanto pero hacia la derecha.

2.4.6.

M´ axima fase de un controlador de adelanto

La funci´on de transferencia de un controlador de adelanto es G( s ) =

s+z s+p

Como se ve en la figura 2.25, la fase de este controlador es ϕc = β −α, con p > z > 0. Su m´axima contribuci´on de fase ϕmax depende s´olo de α = z/p como puede verse en su diagrama de Nyquist, en la figura 2.26. Su trazado con Maple para z = 1, p = 3 se puede hacer con: Iw+z G := Iw+p > z:=1:p:=3: > plot([Re(G),Im(G),w=0..200],0..1.1); Nos interesa hallar el valor m´aximo de ϕc y la frecuencia ωm en la que se produce. Ponemos α y β en funci´on de ω, z y a, con a = z/p. ω  ω a ϕc := arctan − arctan z z La derivada de esta funci´on con respecto a ω se obtiene con > p1:=diff(phi_c,omega);

˜ EN EL LUGAR DE LAS RA´ICES 2.4. DISENO

53

Im pd ϕc β

α pc

Re

zc

pd

Figura 2.25: Fase ϕc del controlador.

Im ωm

ϕmax

ω=0 α

ω = oο 1+ α 2

Figura 2.26: Fase m´axima ϕmax .

1

Re

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

54

1

p1 := z



2

ω z2

1+

−

z



a  ω 2 a2 1+ 2 z

Para hallar el m´aximo hemos de resolver la ecuaci´on ϕ0c (ω) = 0: > wm1:=solve(diff(phi,omega)=0,omega); √ √ ( −1 + a ) z a ( −1 + a ) z a wm1 := ,− −a2 + a −a2 + a Simplificando esta expresi´on obtenemos la pulsaci´on correspondiente a ϕmax : > wm:=normal(wm1[2]); z wm := √ a Sustituyendo wm en la expresi´on de φc queda > fimax := subs(omega=wm,phi);

ϕmax := arctan



1 √ a



− arctan

√  a

El seno de esta expresi´on es > sfm1:=expand(sin(fimax));

sf m1 :=



1 √

a

r

1+

1√ 1+a a

a 1√ 1+ 1+a a

−r

que puede simplificarse con > sfm:=radsimp(sfm1);

sfm := −

−1 + a 1+a

es decir que sin(ϕmax ) =

1−a 1+a

Estas f´ormulas son u ´tiles para dise˜ nar controladores de adelanto de fase.

˜ EN EL LUGAR DE LAS RA´ICES 2.4. DISENO

55

Ejemplo. Se desea controlar un sistema din´amico cuya planta tiene por funci´on de transferencia 500 Gp (s) = s(s + 1) mediante un controlador de adelanto de fase, de forma que el sistema resultante tenga ´n una frecuencia de cruce ωc = 35 rad/s y un margen de fase de 65o . Resolucio En el trazado de Bode vemos que para ω = 35 el sistema tiene un margen de fase de −(−180 + 178,4) = 1,6o (casi cero) y un margen de ganancia muy peque˜ no, casi 0dB. Para conseguir las especificaciones deseadas hemos de poner un compensador. El compensador tiene que aportar, en ω = 35 rad/s, una fase ϕc = 65o y una ganancia Kc tal que el margen de ganancia resultante sea de 8dB. De la ecuaci´on sin(ϕmax ) =

1−a 1+a

podemos hallar a, ya que conocemos ϕmax , que en radianes vale > phi_max:=65*Pi/180; ϕmax :=

13 π 36

Para hallar a hacemos > a11:=solve(sfm=sin(phi_max),a); a11 := −

36 − 13 π −36 − 13 π

y obtenemos tambi´en su valor num´erico > a:=-evalf(a11); a := ,04914852341 Por otro lado, como sabemos que la pulsaci´on ωm correspondiente a la m´axima fase ϕmax es z ωm := √ a poniendo ωm = 35, podemos hallar zc . > zc := 35 * sqrt(a);

zc := 7,759313191 y tambi´en pc :

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

56 > pc:=zc/a;

pc := 157,8747977 Una vez hallados pc y zc , lo u ´nico que queda es hallar Kc . Para ello aplicamos la condici´on de que el margen de ganancia ha de ser de 8dB para ω = 35 rad/s. Hallamos primero la ganancia en decibelios para ω = 35 y para los valores de zc y pc hallados, en funci´on de Kc > Gdb35:=evalf(20*log10(Kc*abs(subs(w=35,p=pc,z=zc,G))));

Gdb35 := 20. log10( ,2216946625 Kc ) y resolvemos la ecuaci´on Gdb35 (Kc) = 8 en Kc . > solve(Gdb35=8,Kc); El valor que se obtiene es Kc = 11,33038749 Finalizado el dise˜ no, podemos representar el diagrama de Bode del sistema compensado para verificar que cumple con las especificaciones y, si fuera preciso, realizar los u ´ltimos ajustes de los par´ametros del controlador por tanteo y mediante simulaci´on.

2.5.

Dise˜ no en la respuesta de frecuencia

La respuesta de frecuencia de un sistema din´amico es una representaci´on no param´etrica (n´ umero infinito de par´ametros), ya que viene dada en forma de curvas continuas, en contraste con los modelos param´etricos de funci´on de transferencia y de estados. Una de las ventajas que tiene es que no est´a influida por el orden del sistema. Recordemos que informaci´on neta que proporciona el lugar de las ra´ıces al dise˜ nador va disminuyendo gradualmente a medida que aumenta el n´ umero de ramas, que es igual al orden del sistema. Por otro lado el empleo de escalas logar´ıtmicas hacen que el rango bajo de frecuencias resulte expandido y entonces los errores absolutos del diagrama de Bode corresponden a errores absolutos en escala lineal. El dominio de la frecuencia est´a especialmente indicado para incluir las imperfecciones de modelado por lo que se emplea en dise˜ no robusto. Al ser una representaci´on de dimensi´on infinita no podemos esperar que haya f´ormulas expl´ıcitas que relacionen la respuesta de frecuencia con los par´ametros caracter´ısticos de la respuesta temporal, o viceversa, incluso aunque se conociera el orden del sistema. Por ello, el adquirir destreza de dise˜ no en el dominio de la frecuencia precisa de una considerablemente mayor experiencia que para hacerlo en cualquiera de sus dos alternativas param´etricas, lugar de las ra´ıces o espacio de estado.

˜ EN LA RESPUESTA DE FRECUENCIA 2.5. DISENO

2.5.1.

57

El problema del dise˜ no de feedback

El an´alisis en el dominio de la frecuencia de los sistemas de segundo orden muestra que la realimentaci´on negativa tiene como ventajas el aumento del ancho de banda, la disminuci´on de la sensibilidad del sistema a las variaciones de los par´ametros y la obtenci´on de una funci´on de transferencia de m´odulo unidad (con realimentaci´on unitaria) en el rango de frecuencias en el que la ganancia en lazo abierto es suficientemente alta. d1 d2 u- m  + Kc −

- Nc

Dc

Np m- ? +m Dp

? - +m

y -

r

6  +m 6

d3 Figura 2.27: Esquema de control en serie. Supongamos el sistema de control con realimentaci´on representado en la figura 2.27. La expresi´on de la salida Y (s) es Y =

Gc Gp 1 Gp (U − D3 ) + D2 + D1 1 + Gc Gp 1 + Gc Gp 1 + Gc Gp

(2.24)

y la del error E(s), E=

1 Gc Gp Gp (U − D2 ) + D3 − D1 1 + Gc Gp 1 + Gc Gp 1 + Gc Gp

(2.25)

Las ecuaciones (2.24) y (2.25) nos dan a entender que la tarea del dise˜ no, condicionado siempre a ciertas restricciones y con el objetivo de cumplir determinados requisitos de funcionamiento, no parece sencilla. Por ejemplo, uno de estos requisitos demanda la reducci´on de los errores debidos a la entrada de referencia u y a la perturbaci´on d2 , mientras que otro pide la reducci´on del error producido por el ruido en la medida d3 . El conflicto entre estos dos objetivos de dise˜ no es evidente: si en la ecuaci´on (2.25) hacemos |Gc Gp | elevado en un amplio margen de frecuencia, para reducir los errores asociados con u y d2 , resulta de (2.24) que entonces y ' r − d3 , con lo que el ruido en la medida d3 pasa directamente a la salida. Una frecuente restricci´on es que esfuerzo de control, o variable manipulada m, no pueda tomar valores superiores a ciertos l´ımites (para los que alcanzar´ıa la saturaci´on). En efecto, la expresi´on de la variable manipulada es m=

Gc Gc Gp (U − D2 − D3 ) − D1 1 + Gc Gp 1 + Gc Gp

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

58

Si hacemos |Gc Gp |  1 siendo |Gp | peque˜ na, es decir, aumentamos la ganancia en lazo abierto a costa s´olo del controlador, queda m=

1 (U − D2 − D3 ) Gp

Que el controlador emita esta fuerte respuesta, ante las entradas U (de referencia) y D2 (perturbaci´on en salida), puede parecer l´ogico. No as´ı, sin embargo, que tambi´en lo haga ante el ruido en la medida D3 . Por ello la ganancia de lazo no debe hacerse alta en un intervalo arbitrario de frecuencias.

20 log M

QQ R QQ : 9 R QQ : 9 8 9 8 QQ : 9 8 Q43Q3 : 9211 8 Q43Q3 : 9211 8 Q43Q3 : 9211 8 Q43Q3 : 9211 8 Q43,+Q3+ : 9211 8 Q43,+Q3+ : 9211 8 ++RQ43Q3 : 921*)1) 870/ .-65 ,++RQ43Q3 *)):9211 77 RQQ : 77 6 55 R 77 6 55 R 77 6 55 R 77 6 55 R 70/7/ 6 5.-5- R 70/7/ 6 5.-5- R 70/7/ . --655 R 70/7/ . --655 , R 9 9 9 9 9 9 9 9 9 9 92*91) 870/7/ .--655 ,+R4  >  >  >  > > ? Q 9 ? Q 9 7 ? Q 9 7 5 ? Q 9 7 5 3 ? Q 1 9 7 5 3 ? Q 1 9 7 5 3 ? Q 1 9 / 7 5 3 ? Q 1 9 / 7 5 3 ? Q 1 9 / 7 5 3 ? Q 1 9 / 7 5 3 Q 1 9 RQ@?TS=R@Q?BA=R T>=R T>=R T>=R T>=R T>=R T>=R T>=R TR4Q3 > > > > > > > > > > de Q@?BA P > P > P > > > > > QPOE?>=BA=R SDCPO>=R SDC>=R SDC>=R S>=R S>=R S>=R T T TSDCPO>=RHGFBA@=R PO>=R PO>=RGFA@;QE?TSJIHDCB= PO>=R PO>=R PO>=R >=R >=R >=R >=R >=R QE?TSJIHDCB=NFE@? > L P > P > P > P > P > > > > > ? E ? E ? E ? E ? E ? ? ? ? ? @  F @  F @  F @  F  @ F  @  @  @  @ @ SJIHGDCBA=F SJIHGDCBA=F SJIHGDCBA=F@E?SIHGCBA T SHGDCBA=F SDCBA=F@ SDCBA=@ SDCBA=@ SDCBA=@ SBA=@ S=@?ST S=STS=F@ C I  S C I  S C  S C  S C  S C  S C  S  S ME?HGBAJIDCTPOLKJD>=F E?BAD ?BAD ?BAD ?BADC T>=@ ?BA T>=@? T>= T @E?HGBAJ @E?HGBAJ @E?HGBAD IDC TPOJD>=F IDC TPOJD>=F@E?HGBAJIDC TPOD>=F C TPOD>=F@ C TPOD>=@ C TD>=@ C TD>=@

! "!                   %$#"!%#! &%$ #"!#! $ #"!#! $#" &   ! #   !             $"('$#"!&%$ & "(    "  $     " $     "                           '' $#"!' ( '$#"!' ( '$#"!' ( '"!' ( '' ( '' ( '' ( '' ( '' ( '' ( ''  '' (''  ( ($#"! ( ( ( ( ( ( ( ( ( ( ( ( ('    ! # !                      $#"! $#"! " $ "                             ( (                          '' "! '"! ' ' ' ' ' ' ' ' ' ' '  (  (  (  (  (  (  (  (  (  (  ( (('     !     !     !                        "   "   "                                               (                                  ' ' ' ' ' ' ' ' ' ' ' ' (  (  (  (  (  (  (  (  (  (  (  (               ('   '  ' '  ' ' Limites ' '  ' '  ' '  ' ' de ' '  ' '  ' '  ' ' (''  ' ('  (   (   (   (   (   (   (   (   (   (   (    (' ('                                                                ('              ( ( ( ( ( ( ( ( ( ( (       incertidumbres                           ( (                     ('           ' ' ' ' ' ' ' ' ' ' ' ' ('     (    (    (    (    (    (    (    (    (    (                              ('                                          modelado             de                       '   '   '   '   '   '   '   '   '   '   '   '  '    ((''  ( ('  ( ('  ( ( '  ( ( '   ( ('  ( ( '  ( ( '  ( ( '  ( ( '   ( ( '  ( (   (  '                             (                                                           (('   ( ( (

 

   (

    (

   (

   (

   (

   (

    (

   ( ( y '     '   ' 'ruido  '  '  '  '  '  '  '  '  (' (           

 



   

 

 

 

         '          (                    (                         (  (    (    (    (    (  (     medida '  ( '   ' '   ' '  '   '   '  '  en ' '   ' '   ' '   ' '   '  '   ' ' '     (''    (     (    (    

  ' '            (                                   (   (  (  (  ( (  ( (  (

  (  (

  (  (

 (  (

  (  (

  (  (

  (  (

    ('(   

(               (                                            '           





 

     (                        '    '    '    '    '    '    '    '  '    '    '    '                  













 

  

                                                                

                            log         ω                      

                                  

  

   

   

   

  

  

    

    

                              







  













 

 

                                                           

 

Figura 2.28: Zonas permitidas en la respuesta de frecuencia. De acuerdo con estas ideas, podemos pensar en dar a la ganancia de lazo una determinada forma, tratando de satisfacer las exigencias impuestas (figura 2.28). Ser´a conveniente por ello: Dar un valor alto a la ganancia en lazo abierto M = |Gc Gp | en el rango activo de frecuencia, para alcanzar un adecuado funcionamiento en esa zona. Dar a M una gran atenuaci´on en el intervalo de frecuencia en el que el ruido es importante

˜ EN EL ESPACIO DE ESTADO 2.6. DISENO

59

Entre estas dos zonas, dar a M una atenuaci´on en pronunciado descenso para conseguir que la anchura de banda sea amplia.

Pero aqu´ı ocurre un problema: el aumento en la pendiente de atenuaci´on de la curva M hace reducir el margen fase. Otra importante restricci´on de dise˜ no es la tolerancia a imprecisiones de modelado. El an´alisis revela que para conservar la estabilidad en lazo cerrado se necesita un modelo preciso en lazo abierto en un rango de frecuencia alrededor de la frecuencia de cruce. M´as concretamente, cuanto menor sea el valor de |1 + G( jω)|, ω ∈ (0, ∞), mayor precisi´on se necesita en el modelado. En efecto, la expresi´on SGT =

1 1+G

es la sensibilidad de la funci´on T = G/(1 + G) respecto del par´ametro G. En la pr´actica nos encontramos con que las imprecisiones en el modelado de la planta aumentan con la frecuencia, debido sobre todo a la existencia de din´amicas no modeladas como retardos de tiempo, resonancias mec´anicas, polos de alta frecuencia, etc. Por ello la ganancia a alta frecuencia debe ser peque˜ na para mantener el sistema estable. En particular, esto significa que la compensaci´on puede aumentar la anchura de banda (BW) del sistema s´olo si el modelo contin´ ua siendo relativamente preciso en BW. Si intent´aramos ensanchar BW sobre la regi´on en que las incertidumbres de modelado son elevadas, ello conducir´ıa a un funcionamiento indeseable, o incluso a la inestabilidad.

2.6.

Dise˜ no en el Espacio de Estado

Los m´etodos basados en el Lugar Geom´etrico de las Ra´ıces y en la Respuesta de Frecuencia, propios del modelo de funci´on de transferencia, se basan en la realimentaci´on de la variable salida y, por lo com´ un, en la utilizaci´on de controladores con un reducido n´ umero de par´ametros de dise˜ no: controladores PID y de adelanto-retraso de fase. El n´ umero de polos en lazo cerrado que podemos ubicar por dise˜ no con estos controladores es de dos. Con estos m´etodos, el dise˜ no de compensadores para ubicar m´as de dos polos resulta complicado debido en gran parte a la dificultad de relacionar los par´ametros del controlador con las especificaciones deseadas. Utilizando el modelo de estado, en cambio, es posible realimentar el vector de estado en lugar de la salida, disponiendo de informaci´on suficiente, como vamos a ver, para cambiar la posici´on de todos los polos del sistema a otras nuevas posiciones prefijadas a voluntad.

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

60

2.6.1.

Asignaci´ on de polos

Sea un sistema din´amico cuyo modelo de estado est´a en forma can´onica controlable.     0 1 0    .  . ..   .   x˙ =  x +  . u   0  1  −an −an−1 . . . −a1 1 y = Cx en donde x ∈ Rn , u, y ∈ R, A ∈ Rn×n B ∈ Rn×1 , C ∈ R1×n El polinomio caracter´ıstico est´a definido por la u ´ltima fila de la matriz A det(sI − A) = sn + a1 sn−1 + . . . + an−1 s + an Sean λ1 , λ2 , . . . , λn los valores propios de A y supongamos que deseamos obtener un nuevo sistema, mediante feedback de estado, que tenga como polinomio caracter´ıstico α(s) = sn + α1 sn−1 + . . . + αn−1 s + αn con ra´ıces µ1 , µ2 , . . . , µn . Definiendo una nueva entrada v, de forma que ahora la entrada a la planta sea v − Kx, siendo   K = k1 k2 . . . kn las ecuaciones de estado se transforman en x˙ = (A − BK)x + Bv y = Cx Si damos a K el valor K=



αn − an αn−1 − an−1 . . . α1 − a1



entonces el determinante de [sI − (A − BK)] es α(s) puesto que   0 0 ... 0   .. BK =   . k1 k2 . . . kn

Esta es la forma m´as sencilla de resolver el problema de asignaci´on de polos en el espacio de estado.

2.7.

Sinton´ıa de controladores PID

Los controladores PID comerciales disponen de mandos externos para el ajuste de los par´ametros Kp , Ti y Td . Para su c´alculo te´orico podemos aplicar cualquiera

2.7. SINTON´IA DE CONTROLADORES PID

61

de los procedimientos vistos antes, siempre y cuando conozcamos el modelo de la planta. Si no es as´ı, lo que suele hacerse es suponer para ella un modelo muy simple, ajustar emp´ıricamente los par´ametros del PID en base a ese modelo y probar luego c´omo funciona el control en la realidad. Pero ¿c´omo buscar un modelo simple de un planta desconocida? La respuesta que a esta cuesti´on dieron Zeigler y Nichols est´a basada en la siguiente observaci´on: en la industria de control de procesos, “la mayor´ıa” de las plantas a controlar admiten como modelo externo la funci´on no racional A e−T s G(s) = a ≥ 0. (2.26) s+a Bajo este supuesto, los m´etodos de ajuste constan de dos etapas: 1. Realizar un experimento para determinar los par´ametros A, a y T de la planta. 2. Calcular, con f´ormulas apropiadas, los par´ametros Kp , Td y Ti del controlador a partir de los par´ametros hallados. Se han desarrollado dos m´etodos, llamados m´etodo de lazo abierto y m´etodo de lazo cerrado. M´ etodo de lazo abierto Suponiendo que el modelo A e−T s G(s) = , s+a es v´alido para planta, este m´etodo consisten en aplicar un escal´on unitario 1(t) a la planta y medir su respuesta temporal y(t) para, a partir de ella, calcular los par´ametros A, a y T de su supuesto modelo. En el experimento hemos medido la respuesta al escal´on y(t) de la planta (figura 2.29). Primero calcularemos T . Trazando la tangente a la curva y(t) en el punto de m´axima pendiente y hallando su intersecci´on con el eje t, obtenemos el valor del retardo T del modelo G(s) de la planta. Si la planta real siguiera exactamente el e−T s modelo supuesto G(s) = As+a , la m´axima pendiente de y(t) se dar´ıa en el punto de intersecci´on de la curva con el eje t. Pero, como no va a ser asi, lo que hemos hecho es una aproximaci´on que consiste en sustituir la parte baja de la curva por la tangente de pendiente m´axima. Veamos ahora como se hallan a y A. Sabemos que el valor de la respuesta y0 (t) a un escal´on unitario de la planta con retardo nulo G0 (s) =

A s+a

en el instante τ = 1/a (constante de tiempo) es y0 (τ ) = A(1 − e−at )|t=1/a = A(1 − e−1 ) = 0,632A.

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

62

y (t )

y (t )

A a

0.632 A

T

t

t1

t

Figura 2.29: C´alculo de T (izquierda), de a y de A (derecha) Por tanto, la respuesta al escal´on unitario de la planta con retardo T G(s) =

A e−T s , s+a

en el instante τ + T , valdr´a tambi´en y(τ + T ) = 0,632A. Asi que para determinar la constante de tiempo τ trazamos una recta horizontal de ordenada igual a 0,632A, hallamos el punto de intersecci´on de la recta con la curva y(t) y entonces la vertical por dicho punto marca el valor t1 = τ + T . Por tanto τ = t1 − T = 1/a

⇒ a.

Por ser la entrada un escal´on unitario, el valor final de la respuesta o valor en estado estacionario es igual a la la ganancia est´atica de la planta. yss = l´ım y(t) = t→∞

A a

Por ello, A = a yss El valor Rr = A/τ = aA se llama tasa de reacci´on reaction rate. En el caso en que la constante a sea nula, a´ un es posible definir los valores de T (igual que antes) y de Rr que es igual a la pendiente m´axima de la respuesta. El principal inconveniente del m´etodo de lazo abierto es que el experimento que nos da la respuesta temporal de la planta exige controlar en lazo abierto la planta durante un tiempo suficiente para que la respuesta llegue al estado estacionario y esto puede ser prohibitivo en ciertos procesos industriales en funcionamiento.

2.7. SINTON´IA DE CONTROLADORES PID

63

M´ etodo de lazo cerrado Permite calcular los par´ametros del modelo G(s) de la planta haciendo un experimento con el control PID en funcioonamiento, en lazo cerrado. El m´etodo es el siguiente. Con el proceso en funcionamiento se ponen los par´ametros de PID con los valores Td = 0 (o el valor m´ınimo posible), Ti = ∞ (o el valor m´aximo posible) y se va aumentando despacio la ganancia kp hasta el valor ku para el cual la respuesta y(t) sea oscilante, con ciclos de amplitud mantenida, es decir, de aspecto sinusoidal. Entonces anotaremos los valores de Ku y del per´ıodo de oscilaci´on Tu . Aunque este m´etodo es m´as factible que el anterior, tambi´en puede resultar a veces problem´atico: hay procesos que no toleran oscilaciones mantenidas por mucho tiempo y hay otros (muy lentos) que aunque las admitan, pueden exigir un tiempo de experimento demasiado largo. Hay otros m´etodos, tambi´en de lazo cerrado, que se basan en el funcionamiento normal del controlador para hacer los c´alculos y, adem´as, si se ponen en modo autom´atico son capaces de ponerse ellos mismos los valores m´as adecuados a las circustancias. Son los controladores inteligentes.

2.7.1.

Ajuste de los par´ ametros del PID

A partir de los valores emp´ıricos T, Rr , obtenidos en lazo abierto, o de los valores Ku , Tu obtenidos en lazo cerrado, se pueden calcular los par´ametros Kp , Td y Ti del controlador de forma aproximada. Entre los m´etodos que se han desarrollado para ello cabe destacar el de Ziegler– Nichols y el de Shinskey, que suponen suponen a = 0 en el modelo G(s) de la planta, y el de Cohen-Coon que supone a 6= 0. Tipo P Kp P I Kp Ti P ID Kp Td Ti

Zeigler-Nichols Shinskey Zeigler-Nichols (lazo cerrado) (lazo cerrado) (lazo abierto) 1 0,5Ku 0,5Ku Rr T 0,9 0,45Ku 0,5Ku Rr T 0,833Ku 0,43Ku 0,33T 1,2 0,6Ku 0,5Ku Rr T 0,5Ku 0,34Ku 2T 0,125Ku 0,08Ku 0,5T

Cohen-Coon (lazo abierto) τ T (1 + 3τ ) AT τ T (0,9 + 0,082 3τ ) AT 3,33+0,3T /τ T ( 1+2,2T /τ ) τ (1,35 + 0,27 Tτ ) AT /τ T ( 2,5+0,5T ) 1+0,6T /τ 0,37 T ( 1+0,2T /τ )

64

˜ DE CONTROLADORES CAP´ITULO 2. DISENO

Parte II Control de procesos de eventos discretos

65

Cap´ıtulo 3 Modelos de sistemas de eventos discretos En este cap´ıtulo vamos a ver algunos modelos de sistema de eventos discretos. Estos sistemas, llamados a veces sistemas reactivos, son sistemas de control que est´an comandados por eventos: sistemas que est´an permanentemente reaccionando a est´ımulos externos e internos. Tel´efonos, autom´oviles, redes de comunicaci´on, sistemas operativos de ordenadores, sistemas de aviaci´on, y las interfaces hombre-m´aquina de muchas clases de software ordianrio son ejemplos de sistemas reactivos. El problema del modelado radica en la dificultad de describir el comportamiento reactivo de una manera clara, realista y al mismo tiempo lo suficentemente formal y rigurosa como para servir de base para detallada simulaci´on computerizada del sistema. Los primeros modelos (aun hoy utilizados) de estos sistemas fueron las m´aquinas de estados y sus correspondientes diagramas estado-transici´on o diagramas de estado. Estos diagramas son grafos dirigidos cuyos nodos denotan estados y cuyas flechas denotan transiciones. Los diagramas de estado no son adecuados para modelar sistemas complejos debido a la gran cantidad, exponencialmente creciente, de estados que se precisan. Al estar los estados agrupados de una forma no estratificada, para un sistema de mediana complejidad resulta un diagrama de estado desestructurado, de gran dimensi´on y de dificil manejo. Para poder ser util, un modelo ha de ser modular, jer´arquico y bien estructurado. Para resolver el problema del crecimiento exponencial se impone relajar el requisito de que todas las combinaciones de estados tengan que representarse expl´ıcitamente. Adem´as deber´ıa tambi´en atender de modo natural a especificaciones m´as generales y flexibles, tales como Capacidad de agupar varios estados en un superestado. Posibilidad de ortogonalidad o independencia (paralelismo) entre cietos estados. 67

CAP´ITULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

68

Necesidad de transiciones m´as generales que la flecha etiquetada con un simple evento. Posibilidad de refinamiento de los estados. Las cartas de estado statecharts cumplen todos estos requisitos. Constituyen un formalismo visual para describir estados y transiciones de forma modular, permitiendo el agupamiento de estados, la ortogonalidad y el refinamiento, y permiten la visualizaci´on tipo ”zoom”entre los diferentes niveles de abstracci´on [5].

3.1.

Algebra de Boole

Un conjunto U en el que se han definido dos operaciones ⊕ y tales que, para todo a, b, c ∈ U satisfacen las propiedades: 1. Idempotentes: a ⊕ a = a a = a 2. Conmutativas: a ⊕ b = b ⊕ a,

a b=b a

3. Asociativas: a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c,

a (b c) = (a b) c

4. Absorciones: a (a ⊕ b) = a ⊕ (a b) = a se dice que (U, ⊕, ) es un ret´ıculo. Si adem´as se cumplen las propiedades 5. Distributivas: a ⊕ (b c) = (a ⊕ b) (a ⊕ c),

a (b ⊕ c) = (a b) ⊕ (a c)

se dice que es un ret´ıculo distributivo. Si adem´as de estas cinco se cumplen tambi´en las propiedades de 6. Cotas universales: ∃ 0, 1 ∈ U | 0 a = 0, 0 ⊕ a = a, 1 a = a, 1 ⊕ a = 1 7. Complemento: ∀a ∈ U ∃a ∈ U | a ⊕ a = 1, a a = 0 entonces se dice que (U, ⊕, , , 0, 1) es un ´algebra de Boole.

3.1.1.

Funciones booleanas

Si X e Y son dos conjuntos, sabemos que una funci´on f :X → Y x 7→ f (x) definida en X (dominio) y con valores en Y es cualquier ley que hace corresponder a cada elemento x ∈ X, un elemento bien definido (y s´olo uno) y ∈ Y . La ley que define la funci´on viene dada a veces por una expresi´on algebraica, como por ejemplo f: R → R x 7→ x2 + 2x + 5,

3.1. ALGEBRA DE BOOLE

69

que define una funci´on real de una variable real o f : R2 → R (x, y) 7→ x2 − y 2 , que define una funci´on real de dos variables reales. Pero otras veces la ley puede venir expresada de cualquier otra forma tal que describa completamente la correspondencia entre todos los elementos de X con elementos de Y . Cuando el dominio X es un conjunto finito, dicha ley se puede expresar en forma de tabla. Una funci´on booleana de n variables x1 , x2 , . . . , xn , se define como una aplicaci´on de Zn2 en Z2 , es decir f : Zn2 → Z2 (x1 , . . . , xn ) 7→ f (x1 , . . . , xn ) Por ser Zn2 un dominio finito, una funci´on booleana siempre se puede expresar en forma de tabla. La tabla que define una funci´on booleana se llama tabla de verdad de la funci´on. Se dice que dos funciones booleanas f (x1 , . . . , xn ) y g(x1 , . . . , xn ) son equivalentes si f (x1 , . . . , xn ) = g(x1 , . . . , xn ) para todo xi ∈ Z2 , i = 1 . . . , n. Dicho de otro modo, dos funciones booleanas son equivalentes si sus tablas de verdad coinciden. Por ejemplo, las funciones f (x1 , x2 , x3 ) = x1 x2 y g(x1 , x2 , x3 ) = x1 x2 (x3 + x3 ) son equivalentes porque sus tablas de verdad, x1 0 0 0 0 1 1 1 1

x2 0 0 1 1 0 0 1 1

x3 0 1 0 1 0 1 0 1

f 0 0 0 0 0 0 1 1

x1 0 0 0 0 1 1 1 1

x2 0 0 1 1 0 0 1 1

x3 0 1 0 1 0 1 0 1

g 0 0 0 0 0 0 1 1 ,

son iguales. Formas can´ onicas Evidentemente, la equivalencia de funciones booleanas es una relaci´on de equivalencia. Esta relaci´on permite dividir el conjunto de funciones booleanas de n variables en clases de equivalencia. El representante can´onico de cada clase de equivalencia no es u ´nico: tenemos la forma can´onica suma de min-terms, como por ejemplo f (a, b, c, d) = abcd + abcd + abc!d y la forma can´onica producto de max-terms, tal como f (a, b, c, d) = (a + b + cd)(a + b + c + d)(a + bc + d).

70

CAP´ITULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

Una funci´on booleana f (x1 , . . . , xn ) se dice que est´a expresada en la forma can´onica suma de min-terms si viene dada en la forma X

f (x1 , . . . , xn ) =

(σ1 ,...,σn )∈Zn 2

en donde σ xj j

=



n Y

σ

xj j f (σ1 , . . . , σn )

j=1

xj si σj = 0 . xj si σj = 1

Cada uno de los sumandos que componen la forma can´onica se llama t´ermino can´onico o, a veces, t´ermino m´ınimo (min-term) o simplemente t´ermino. Es f´acil ver que en un ´algebra de Boole con n variables existen 2n t´erminos can´onicos diferentes. A modo ilustrativo, en la siguiente tabla se indican los minterms de las funciones booleanas de una, dos y tres variables. minterms f (x) x, x f (x, y) xy, xy, xy, xy f (x, y, z) xyz, xyz, xyz, xyz, xyz, xyz, xyz, xyz Los min-terms se suelen identificar tambi´en por un n´ umero binario en el que cada d´ıgito representa una variable negada si es cero, o sin negar si es uno. A´ un de forma m´as compacta, un minterm se puede identificar por el n´ umero decimal correspondiente al antedicho n´ umero binario. As´ı, por ejemplo, el minterm xyz se identifica tambi´en por el n´ umero binario 010 o simplemente por el n´ umero decimal 2. La forma can´onica de una funci´on booleana se puede obtener inmediatamente a partir de su tabla de verdad. Para ello, indicando cada columna de la tabla por σ j = 1 . . . n, asociamos a cada fila de la tabla un producto xσ1 1 , . . . , xj j , . . . , xσnn y en σ σ el mismo hacemos xj j = 1 si el elemento (i, j) de la tabla es 1 o bien xj j = 0 si el elemento (i, j) de la tabla es 0. La expresi´on can´onica de f se obtiene como suma de todos los productos obtenidos. Otra forma de obtener la forma can´onica de una funci´on f (x1 , . . . , xn ) es partir de una expresi´on cualquiera de la funci´on y multiplicar por (xi + xi ) todos los t´erminos de la misma que no contengan la variable xi , para i = 1, . . . , n.

3.1.2.

Simplificaci´ on de funciones booleanas

La forma can´onica de una funci´on es f´acil de obtener pero no siempre es la m´as conveniente, sobre todo si pensamos en la realizaci´on f´ısica, ya que su expresi´on puede resultar excesivamente larga. Simplificar una funci´on f consiste en obtener otra funci´on g equivalente a f y con una expresi´on m´as simple. La simplificaci´on de una funci´on conduce a una m´as simple y, en general, m´as eficiente implementaci´on de la misma, bien sea por medio de un programa de ordenador o por medio de un circuito neum´atico, o el´ectrico o electr´onico.

3.1. ALGEBRA DE BOOLE

71

Los m´etodos m´as utilizados para simplificar funciones booleanas son el Karnaugh y el de Quine-McCluskey. Los m´etodos de simplificaci´on de funciones l´ogicas consisten esencialmente en aplicar la ley de complementaci´on x+x = 1 que, evidentemente, implica f ·(x1 +x1 ) ≡ f . Se puede ver que, tras aplicar repetidamente esta ley a la funci´on, con todas y cada una de las variables, ´esta queda reducida a una suma de implicantes primos (t´erminos irreducibles). M´ etodo de Karnaugh Es un m´etodo gr´afico v´alido para funciones de hasta cuatro o cinco variables como m´aximo. Dada una funci´on f (x1 , . . . , xn ) en forma can´onica, consiste en anotar los valores de la funci´on en una tabla, denominada mapa de Karnaugh, de tal forma que los t´erminos can´onicos geom´etricamente adyacentes en la tabla se diferencian s´olo en una variable. Esto se consigue f´acilmente poniendo en las casillas de cabecera de filas y de columnas los n´ umeros binarios de dos cifras 00 01 11 10 que representan a un par de variables y que est´an ordenados de forma que para pasar de uno cualquiera al siguiente solo cambia una cifra. Procediendo as´ı, creamos una tabla de la forma @cd ab @ 00 01 11 00 00 00 00 00 01 11 01 01 01 01 00 01 11 11 11 11 00 01 10 10 10 00 01

11 11 10 11

10 00 10 01 10 11 10 10 10

En esta tabla, cada casilla representa el t´ermino can´onico (min-term) de la funci´on que se ha indicado en la misma. Se ve claramente que cada min-term difiere de los adyacentes en s´olo un d´ıgito binario. Obs´ervese que la u ´ltima casilla de cada fila es “adyacente” con la primera casilla de la misma fila ya que solo difieren en un d´ıgito. Lo mismo ocurre por columnas. L´ogicamente, no es necesario anotar los valores de los min-terms en cada casilla porque son justo los valores de cabecera de su fila y columna. @ab cd @ 00 01 11 10 00 0 1 1 0

01 0

1

1

0

11 1

1

1

0

10 1

1

1

0

72

CAP´ITULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS @ab 00 01 11 10 cd @ '$

00 0

1

1

0

01 0

1

1

0

11 1

1

1

0

10 1

1

1

0

'$

& & % %

b + b0 c M´ etodo de Quine-McCluskey Si el n´ umero de variables es elevado, el m´etodo de Karnaugh resulta complicado de utilizar (caso de cinco variables) o impracticable. En estos casos es aplicable el m´etodo tabular de Quine-McCluskey. Dada una funci´on en forma can´onica de suma de min-terms, este m´etodo consiste en ir combinando unos t´erminos con otros, de forma sistem´atica y en sucesivas iteraciones, hasta encontrar un conjunto de implicantes primos en cada uno de los cuales se ha eliminado el mayor n´ umero posible de variables. Con este conjunto de implicantes primos, el usuario (posiblemente ayudado de alg´ un algoritmo o programa) ha de seleccionar un subconjunto minimal que cubra la funci´on. Lo introduciremos con un ejemplo. Ejemplo 3.1.1 Sea la funci´on f (x1 , x2 , x3 , x4 ) = Σ(0, 7∗ , 9, 12∗ , 13, 15) En primer lugar escribimos la tabla i 0 7∗ 9 12∗ 13 15

min-terms 0 0 1 1 1 1

0 1 0 1 1 1

0 1 0 0 0 1

0 1 1 0 1 1

cuya primera columna es el ´ındice de los t´erminos para los que la funci´on vale uno y, marcados con un asterisco (∗ ), los t´erminos indiferentes, es decir, aquellos para los que, f´ısicamente, no importa que el valor de la funci´on sea cero o uno. Ordenamos la tabla, de menor a mayor, por el n´ umero u de unos que contiene cada t´ermino, con lo que la tabla queda dividida en grupos de t´erminos con cero unos, con un uno, con dos unos, con tres unos, etc. Podemos trazar una l´ınea separando cada grupo del siguiente. Como no hay t´erminos con un u ´nico uno, ese grupo queda

3.1. ALGEBRA DE BOOLE

73

vac´ıo. u

i

1-term

0 1 2

0

0000

3 4

9 12∗ 7∗ 13 15

1 1 0 1 1

0 1 1 1 1

0 0 1 0 1

1 0 1 1 1

En esta tabla, cada grupo difiere del siguiente en un solo uno y, por tanto, se puede combinar cada t´ermino de un grupo con uno del siguiente. Procedamos a combinar los t´erminos cada grupo. Como no hay t´erminos en el grupo u = 1, el t´ermino 0 0 0 0 no se puede combinar con ninguno. Pasando al grupo u = 2, el t´ermino 1 0 0 1 se puede combinar con el t´ermino 1 1 0 1 grupo siguiente, u = 3,  1001 → 1 - 1 1, 1101 dando lugar al t´ermino 1 - 1 1, o sea x1 x3 x4 . El t´ermino 1 1 0 0 se puede combinar con el mismo t´ermino 1 1 0 1 que el anterior,  1100 → 1 1 0 -, 1101 dando lugar al t´ermino 1 1 0 -, o sea x1 x2 x3 . Como ya hemos terminado de combinar todos los elementos del grupo u = 2, pasamos a los del grupo n = 3. En este grupo el t´ermino 0 1 1 1 se puede combinar con el t´ermino 1 1 1 1 del u ´ltimo grupo, u = 4,  0111 → - 1 1 1, 1111 dando lugar al t´ermino - 1 1 1, o sea x2 x3 x4 . Por u ´ltimo, el t´ermino 1 1 0 1 se puede combinar tambi´en con el t´ermino 1 1 1 1  0111 → 1 1 - 1, 1111 dando lugar al t´ermino 1 1 - 1, o sea x1 x2 x4 . Todo este proceso puede resumirse en la tabla siguiente. u

i

1-term 2-term

0 1 2

0

0000 0000

3 4

9 12∗ 7∗ 13 15

1 1 0 1 1

0 1 1 1 1

0 0 1 0 1

1 0 1 1 1

1 1 1

1 1 1

1 0 1 -

1 1 1

74

CAP´ITULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

En esta tabla, ning´ un t´ermino de la u ´ltima columna puede combinarse y el proceso termina. Sin tomar t´erminos indiferentes, la funci´on l´ogica simplificada es f = x1 x2 x3 x4 + x1 x3 x4 + x1 x2 x4 . Un t´ermino indiferente puede aprovecharse si cubre m´as de un min-term. Algoritmo de Quine Como ya se ha indicado, el m´etodo de Quine-McCluskey, lo mismo que el de Karnaugh, se basa en utilizar repetidamente la ley a + a = 1. Dada una funci´on f en forma can´onica de suma de m min-terms, el algoritmo es el siguiente: 1. Poner todos los min-terms en una lista, ordenados de alguna forma de 1 a m. 2. para i desde 1 hasta m − 1 hacer Elegir el t´ermino i-´esimo, Ti , de la lista para j desde i + 1 hasta m hacer Tomar el t´ermino j-simo, Tj , de la lista Simplificar, si es posible, la expresi´on Ti + Tj , aplicando la ley a + a = 1 y poner el t´ermino simplificado en una nueva lista. 3. Volver al paso 1 con la nueva lista obtenida y repetir el algoritmo 4. El algoritmo termina cuando no es posible simplificar m´as. Este algoritmo, aunque correcto, tiene el inconveniente de que exige un gran coste computacional si el n´ umero de variables es elevado. Una adecuada ordenaci´on de la lista original permite mejorar la estrategia de operaci´on. El programa quine.c que se incluye a continuaci´on implementa el algoritmo y se puede utilizar para simplificar funciones l´ogicas. Al ejecutarlo (en la forma indicada en el propio programa), calcula y muestra en pantalla la “matriz de implicantes primos”, que indica los implicantes primos obtenidos, y la “matriz de cubrimiento”, que indica los min-terms que cubre cada implicante primo.

3.2. SISTEMAS COMBINACIONALES

75

// // Programa quine // // Para simplificar una funci´ on l´ ogica: // 1) poner en archivo la funci´ on, p.ej., // // 6 4 // significa n.terms=6 n.vars=4 // 0 1 1 1 // lista de minterms // 0 1 1 0 // . // 1 1 1 1 // . // 1 0 1 1 // . // 0 0 0 0 // . // 1 0 0 1 // . // // 2) Compilar el programa: // cc -o quine quine.c (bajo Linux) // 3) Ejecutarlo: ./quine < archivo // #include #define nv 10 #define nt 40 #define h2 nt/2 #define ng nt/3 #define ny nt-ng int main( int argc, char **argv ) { int M[nt][nv] = {0}; int N[nt][nv] = {0}; int H[nt] = {0}; int G[nt][ng] = {0}; int D[nt][ng] = {0}; int Z[h2][nv] = {0}; int Y[h2][ny] = {0}; int i,j,k,k5,l1,m5,m6,n1,n2,n9,f1,f2; int (*pm)[nv]; pm = M; // lectura de los datos de entrada scanf("%d %d", &n1, &n2); n9 = n1; for (i=0; i