Sunteți pe pagina 1din 90

Automatización de Procesos Industriales

Ingeniero de Organización. Curso 1o

Jose Mari González de Durana


Dpto. I.S.A., EUITI e ITT - UPV/EHU
Vitoria-Gasteiz

Febrero 2002
2
Capı́tulo 1

Introducción

La Automatización 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áquina. En este
capı́tulo daremos unas ideas muy generales sobre esta área, tan amplia y compleja,
y posteriormente las desarrollaremos a lo largo del curso.
Conceptualmente, la automatización se basa en una reiterada aplicación del me-
canismo de feedback y, por ello, está en ese sentido relacionada con las Teorı́as de
Control y de Sistemas. En cuanto a su aspecto tecnológico, puede decirse que siem-
pre ha estado “a la última”, adoptando en cada momento histórico los más recientes
avances.
Siendo nuestro objetivo automatizar ciertos procesos, parece claro que primero
hemos saber cómo funcionan esos procesos. Como veremos, el tipo de automatización
a implantar depende del tipo de porceso a automatizar: no da lo mismo automati-
zar un proceso continuo que un proceso gobernado por eventos. Debido a la gran
cantidad de procesos distintos que funcionan actualmente, consideraremos sólo los
más importantes desde el punto de de la automatización, 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ón

Aparte de las explicaciones dadas en clase sobre los procesos industriales y de su


estudio, puede ser un complemento interesante su observación 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án conectados entre sı́ y desde la gestión de la empresa
se pueden controlar y supervisar algunos o todos los procesos, a través de redes
locales y buses de comunicación. También pueden estar en conexión los diferentes
departamentos de la empresa, e incluso empresas diferentes a través de redes propias
o de Internet. Es por ello interesante describir cada proceso como inscrito en el marco

3
4 CAPÍTULO 1. INTRODUCCIÓN

jerárquico que representa la estructura completa de la empresa. En este marco, las


redes locales y los buses de comunicación cobran especial interés.

1.1. Perspectiva histórica


Se cree que cuando el homo sapiens dominó el fuego, comenzó 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ón de metales y en la
cerámica dando ası́ lugar a los que podrı́amos llamar primeros procesos de fabricación
de la historia.
Pero el fuego no ha sido la única fuente de energı́a de la antigüedad. Hacia el año
2000 a. de J.C. se utiliza por primera vez la energı́a eólica para mover embarcaciones
dotadas de velas y, hacia el 1000 a. de J.C., los fenicios atravesaban el Mediterráneo
con sus navı́os. Más tarde, sobre el 50 a. de J.C., los Romanos empiezan a utilizar
la energı́a hidráulica para la extracción de agua por medio de la noria. Durante la
edad media se utilizó mucho, en prácticamente toda Europa, la energı́a generada
por los molinos de viento.
La invención de la máquina de vapor por James Watt hacia 1750 es el aconte-
cimiento que marca el inicio de la Revolución Industrial, que dura hasta finales de
siglo. Las tecnologı́as productivas nacen en ese momento: la maquina de vapor se
emplea rápidamente para mover las bombas de extracción de agua en las minas de
carbón de Gales y en la automatización de los telares en Manchester.
Durante este perı́odo, con las de máquinas de vapor y luego con las de com-
bustión interna y los motores eléctricos, se van produciendo cambios progresivos
en los procesos de producción. Las máquinas herramienta ganan potencia y preci-
sión, lo que a su vez permite fabricar productos de mayor calidad. Surgen ası́ los
primeros talleres mecánicos que producen máquinas algunas de las cuales llevan ya
rudimentarios sistemas de control.
En el siglo XX, aunque ya no se denomine asi, continúa la revolución industrial
con un desenfrenado avance tecnológico y cientı́fico. La evolución de la técnica es
permanente, con una sucesión interminable de inventos y aplicaciones, muchos de
los cuales (pensemos sin ir más lejos en el automóvil y en los electrodomésticos) se
han convertido en herramientas básicas para hombre actual.
Todo este desarrollo ha sido consecuencia de una premisa fundamental: la exis-
tencia de fuentes de energı́a inagotables y baratas. Pero su veracidad se ha puesto
en entredicho con la crisis del petróleo iniciada en las últimas décadas 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úblico, se ve obligada
casi siempre a incorporar las últimas tecnologı́as en sus procesos o de lo contrario
corre el peligro que quedar rápidamente obsoleta.
Algunas teorı́as, tecnologı́as y áreas tecnológicas cuyo avance ha favorecido la
evolución de los procesos productivos son las siguientes

Teorı́as
1.1. PERSPECTIVA HISTÓRICA 5

• Teorı́as de Control y de Sistemas


• Teorı́a de la señal
• Sistemas de eventos discretos
• Máquinas de estado
• Redes de Petri
• Gráficos etapa-transición (grafcet)
• Cartas de estado (statechart)

Tecnologı́as

• Neumática
• Hidráulica
• Electrónica
• Microprocesadores
• Ordenadores
• Autómatas programables
• Robótica
• Comunicaciones
• Desarrollo del software

Areas tecnológicas

• Automatización de las máquinas-herramienta


• Control de procesos por computador
• Diseño asistido por computador (CAD)
• Fabricación asistida por computador (CAM)
• Fabricación integral por computador (CIM)
• Control de procesos distribuı́do
• Células flexibles de mecanizado y de montaje

Cabe aquı́ decir que el crecimiento de Robótica no ha sido tán rápido como
vaticinaban ciertas predicciones realizadas en los primeros años de la década de los
80. Quizás 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ás económico utilizar otro sistema menos flexible y más especializado.
Por ello, en tareas repetitivas que no requieren mucha precisión resulta aconsejable
utilizar manipuladores (neumáticos por ejemplo) en vez de robots. En otras tareas
más complejas (tales como la soldadura por laser) que precisan el seguimiento de
trayectorias complejas, sı́ que el robot sigue siendo insustituible.
6 CAPÍTULO 1. INTRODUCCIÓN

1.2. La empresa productiva


Una empresa productiva es un ente socioeconómico capaz de adecuar parcial-
mente dos flujos esenciales que concurren en el mercado: producción y consumo. Por
un lado, por medio de estudios de mercado, determina las necesidades del consu-
midor 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 pro-
ductos 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ón. La empresa es, por tanto, un elemento productivo en el
mercado pero puede verse también como elemento consumidor (de materias primas)
en el mismo.
La empresa se articula en departamentos o secciones de los que los más impor-
tantes tradicionalmente vienen siendo los siguientes:

Finanzas

Gestión

Compras

Almacén de materias primas

Producción

Almacén de productos terminados

Ventas

Todos estos departamentos no son, ni mucho menos, los únicos existentes sino
que a su vez se articulan en otros departamentos y secciones que en función del
tamaño de la empresa esa pueden ser de mayor o menor complejidad. Los nombres
pueden cambiar según 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 (órdenes y medidas)

Obsérvese que todos los bloques reciben flechas (órdenes) del bloque de gestión
y envı́an flechas (medidas) al mismo. El bloque de gestión es el más importante en
el sentido de que controla a todos los demás.
1.2. LA EMPRESA PRODUCTIVA 7

Almacén de Producción Almacén de


materias primas 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ón del producto (gestión de producción) y la parte inferior
que se encarga llevar el producto al mercado y de obtener el beneficio (gestión 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ás elementales) para obtener un producto terminado,
listo para su utilización.
Una definición descriptiva de proceso productivo puede resultar muy complicada,
puesto que hay muchas clases de procesos, siendo en cambio más sencillo dar una
definición de tipo “entrada-salida”:
Un proceso productivo es un sistema dinámico de control cuya entrada es un flujo
de producto (materias primas) y cuya salida es otro flujo de productos (productos
terminados).

Materias primas- Proceso Productos terminados-


productivo
8 CAPÍTULO 1. INTRODUCCIÓN

Con una definición ası́ perdemos toda noción 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ómo se relacionan entre sı́ (blo-
que). Sin embargo el bloque o “función” 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ás
simples conectados entre sı́, cada uno de los cuales se puede considerar tembién como
un sistema dinámico de control o proceso. Por tanto, hemos de tener una idea de
cuales son y cómo funcionan (o sea cuales son sus modelos matemáticos) los sistemas
de control o procesos más simples porque de ese modo podremos entender después
cómo funcionan los procesos de fabricación.
Los procesos productivos están catalogados como sistemas complejos en la Teorı́a
de Sistemas. La complejidad surge de la interconexión de unos procesos con otros y
de la naturaleza estocástica de muchos de los eventos que dirigen la evolución del
sistema. Cada proceso está 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ás simples interrelacionados entre si.

Materia prima - Producto terminado-


Proceso

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 único: en general, un
mismo producto se puede fabricar de muchas formas diferentes.

1.2.2. Operaciones básicas de fabricación


Los procesos de fabricación más simples se llaman operaciones básicas. Algunas
de ellas son:
Procesado de un elemento
Montaje
Movimiento de material
Almacenamiento
Inspección 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érmicos, etc.

Materia prima - Pieza -


Mecanizado
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 1- Pieza 1-


Mecanizado 1

Montaje Producto-
Mat. prima 2- Pieza 2-
Mecanizado 2

1.2.3. 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ún proceso de fabricación y nos daremos cuenta que deben existen
multitud de ellos. Incluso, con un poco de imaginación y ciertos conocimientos técni-
cos, podemos adivinar cual ha sido el proceso para fabricar un determinado producto
o, mejor dicho, los posibles procesos, ya qye también nos daremos cuenta enseguida
de que hay muchas formas de fabricar el mismo producto. Ahora bien, tras muchos
años de experiencia, se han afianzado cuatro tipos estandar de procesos:

Job Shops

Producción por lotes

Lı́neas de producción

Producción continua

Job Shops

Es un tipo de producción que permite fabricar una amplia gama de productos


en series de tamaño pequeño o mediano. Los productos suelen ser conjuntos de
componentes, posiblemente complicados o de alta tecnologı́a, montados. Se utiliza
para la fabricación de ciertas máquinas herramientas, robots, aviones, aeronaves y
algunos prototipos. Suelen exigir mano de obra muy especializada y mucho tiempo
para el diseño de los procesos y para la preparación de la maquinaria y los equipos
humanos de montaje. Por todo ello, los tiempos de producción son elevados y los
costes también.
10 CAPÍTULO 1. INTRODUCCIÓN

Producción por lotes


Está orientada a la fabricación de lotes de tamaño medio de un determinado
producto. La producción de cada lote se hace de una tirada y, una vez terminado
un lote, el departamento de fabricación envı́a una orden de control indicando si se
puede pasar a fabricar otro lote del mismo o de otro producto, en función de la
demanda.
La maquinaria y el personal han de estar preparados para realizar con celeridad
las operaciones de cambio de lote.
Es quizás el tipo de producción que se emplea para fabricar mayor número de pro-
ductos. Las industrias de calzado, muebles, electrodoméstcos, máquina-herramienta
y otras muchas, lo utilizan.

Lı́neas de producción
Estos procesos son el resultado de la evolución de la producción 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ón, los productos pueden
pasar de una lı́nea a otra, existiendo muchas configuraciones posibiles, asi como dife-
rentes métodos y mecanismos de transferencia. Se suenen utilizar zonas o recipientes
a modo de pequeños almacenes, para el almacenamiento intermedio de productos
semielaborados, y alimentadores de piezas para los procesos.
Básicamente 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ás sea la fabricación de automóviles el ejemplo más tı́pico de este tipo de
producción. Se fabrican grandes series de unos pocos modelos. Otros ejmplos son
la fabricación de ciertos productos de gran consumo como neumáticos, bombillas,
bicicletas, envases de plástico, etc.
En este tipo de fabricación se diseña toda la factorı́a en función del producto
a fabricar, por lo que un cambio de producto suele exigir el cierre de aquella o, al
menos, una completa remodelación de la misma.

Producción 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 11

Materia prima Producto final


Proceso 1 Proceso 2 Proceso 3

Figura 1.2: Proceso de producción continua

Este tipo de producción se aplica sobre todo en las industrias quı́micas, petro-
quı́micas, textiles, de plástico y de laminación de acero.

1.2.4. Ubicación de los procesos


La disposición de los procesos dentro de la planta de producción es importan-
te porque de ella dependen muchos factores del proceso de producción asi como la
comodidad del personal, los cableados de alimentación y buses de comunicaciones,
etc. Los programas simulación (estocástica) de procesos pueden ayudar mucho en el
diseño de la distribución en planta. Tradicionalmente se consideran cuatro posibili-
dades de ubicación

Producto en posición fija

Por clases de procesos

En flujo de producto

Por tecnologı́a de grupo

Producto en posición fija


Cuando el producto es muy grande, muy pesado o, por alguna otra razón, no
debe moverse, hay que ubicar las herramientas y los otros equipos de fabricación en
la zona más idónea para, en su momento, incidir en el producto. A veces se precisa
realizar obras e instalaciones especiales para poner todo en una buena disposición.
Es la disposición más indicada en las industrias naval y aeronáutica.

Por clases de procesos


Las máquinas de producción se ubican en zonas o locales de la factorı́a por clases
de procesos. En cada zona o local sólo se realiza un proceso. Es una distribución
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ón muy flexible puesto que se puede cambiar el
proceso simplemente añadiendo o quitando ciertas máquinas.

En flujo de producto
Los elementos que intervienen en la producción se disponen a lo largo del flujo
de producto. Por ejemplo, a lo largo de una lı́nea de montaje en una fabricación de
12 CAPÍTULO 1. INTRODUCCIÓN

lı́neas dedicadas o a lo largo del flujo de producto una producción continua. No es


fácil hacer cambios en el proceso.

Por tecnologı́a de grupo


Esta distribución está indicada para factorı́as con gran diversidad de productos
y pretende ser una combinación de las dos anteriores. Se basa en clasificar en fa-
milias las piezas a fabricar (sin inportar el producto en el que irán montadas) por
su semejanza en su diseño y fabricación. Con esto sepuede conseguir organizar la
producción 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ón o feedback es el artificio básico del control. Aunque suponemos
que el tema es ya conocido por el lector, creemos conveniente recapacitar sobre
su funcionamiento, por ser básico para muchas de las partes que se tratarán más
adelante. Lo haremos (por razones históricas) a partir del primer mecanismo que lo
incorporó: 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ón y que datan de épocas muy antiguas, se puede decir
que el primer sistema de control industrial de la historia fué el regulador (governor )
inventado (o al menos adaptado) por James Watt hacia 1788 para su máquina
de vapor. Veamos, a modo ilustrativo, su esquema. En la figura aparece la pieza
quizás 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ón
C xC del punto superior del cuadrilátero articu-
lado fijando ası́ la consigna de velocidad ωref .
El eje dibujado está unido al eje de rotación
de la máquina de vapor. Si la velocidad ω(t)
B de ésta aumenta, entonces, debido a la fuerza
centrı́fuga, las bolas B se separan y el vértice
inferior A del cuadrilátero articulado, móvil,
actúa cerrando la válvula de salida de vapor
A de la caldera. Se establece ası́ un proceso en
Actuador
válvula “feedback” que se puede explicar con el dia-
x grama de bloques siguiente. El regulador de
bolas hace las funciones del punto de suma y
de los bloques captador y actuador.
1.3. EL PROCESO EN FEEDBACK 13

xC - m  - x- p- r ω(s)-
+ Controlador Válvula Máquina
(ωref )
− 6

Captador 

La tarea que realiza este controlador es simple y efectiva: el controlador abre


o cierra la la válvula en función 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úa); en caso contrario el controlador
moverá la válvula en sentido de apertura o de cierre, dependiendo de que el valor e
sea positivo o negativo. Es fácil acoplar mecánicamente el punto A a la válvula de
modo que esta se abra si e > 0.
De este modo se consigue que la velocidad de rotación ω(t) del eje de la máquina
se mantenga más o menos constante, incluso aunque se produzcan variaciones en la
potencia entregada o en la presión p de la caldera.

1.3.2. Esquema de regulación en feedback


El artificio que hace funcionar al regulador de Watt es la realimentación o feed-
back. Una vez entendamos cómo funciona podremos comprobar, quizás con asombro,
que no sólo puede aplicarse a la máquina de vapor sino que puede servir de base
para controlar otros sistemas fı́sicos de muy diferente naturaleza tales como siste-
mas económicos y sistemas productivos. Además, la realimentación aparece a veces
como un componente básico en muchos procesos de la Naturaleza, incluso en los
seres vivos.
d(t)

yref
- +m(t)- C x(t)- u(t)- m
?v(t)
A + - P r y(t) -
ym (t)
− 6

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ón (figura 1.3) son los siguientes:
y
ref
−→ Entrada de referencia o de consigna
d(t)
−→ Entrada perturbadora
y(t)
−→ Salida
14 CAPÍTULO 1. INTRODUCCIÓN

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ñal.

A Actuador. Actúa, con la potencia necesaria, sobre la planta.

P Planta o Proceso: es el sistema a controlar (la máquina de vapor en el regulador


de Watt).

M Medidor. Es un aparato para medir, normalmente en forma eléctrica, 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ñal (t), enviará estı́mulos x(t) al actuador para que
éste ejerza una acción 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ón del controlador será la inversa, es decir, ejercerá una acción 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ña correctamente, es posible
conseguir que el valor de la salida se mantenga, más o menos, igual al valor de la
entrada de referencia incluso en presencia de la perturbación d(t).

1.3.3. El significado del control


Controlar un sistema dinámico significa conducirlo, llevarlo, gobernarlo o co-
mardarlo, de tal manera que su trayectoria o evolución en el tiempo se aproxime
a una fijada de antemano, mediante la actuación sobre unos elementos del sistema
llamados controles. Asi, un chófer 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ás imprecisa, el gobierno de una nación dispone de ciertos controles, como
los salarios, los impuestos, el valor de la moneda, etc., para controlar la evolución
de la tasa de inflación.
La Teorı́a de Control estudia los sistemas que son de algún 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ón permite representar gráficamente 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.
1.4. LA AUTOMATIZACIÓN INDUSTRIAL 15

Entrada- Salida -
Bloque

Figura 1.4: Sistema

1.3.4. El control en la empresa


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

1.4. La automatización industrial


Automatizar un proceso es conseguir que, aplicando el mecanismo de feedback,
funcione sin intervención humana. Como veremos, esta idea resulta muy clara en el
caso del control de procesos contı́nuos, pero también 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écnicas de control


Atendiendo a la técnica utilizada para procesar señales, el bloque de control C
de la figura 1.3 se puede realizar fı́sicamente mediante
técnicas analógicas
técnicas digitales

Técnicas analógicas
Es el método más antiguo de los dos y dio lugar a las técnicas de control clásicas.
El proceso analógico de señales puede ser mecánico, neumático, hidráulico, eléctrico,
electrónico y óptico. En el regulador de Watt es de tipo mecánico. El componente
fundamental que permitió el desarrollo de el control analógico fue el amplificador
electrónico, inventado en la decada de los 50.
16 CAPÍTULO 1. INTRODUCCIÓN

La aplicación principal de las técnicas analógicas es la realización de contro-


ladores de Procesos Continuos industriales: mecanismos y máquinas movidos por
motores eléctricos, procesos con fluidos, hornos, etc.
Hay dos tipos que han sido, y siguen siendo, muy utilizádos: el controlador de
adelanto-retraso de fase y el controlador PID. En este último, las letras significan
propircional, integral, derivarivo e indican el proceso, o función matemática C(·),
que realiza el controlador:

1 t
 Z 
dx(t)
x(t) = C((t)) = Kp 1 + Td + x(τ )dτ , (1.1)
dt Ti 0

en donde los parámetros Kp , Td y Ti son constantes. La realización de esta función


se hace casi siempre utilizando componentes electrónicos analógicos, generalmente
amplificadores operacionales, pero son posibles las realizaciones con componentes de
flúidos.

Técnicas digitales
La aparición primero del ordenador y posteriormente de los microprocesadores y
microcontroladores y del ordenador personal, asi como el desarrollo de las comunica-
ciones, del software y de otros campos afines, han hecho que las técnicas de control
se hayan sofisticado y extendido.
Las aplicaciones son muchas. En principio, las técnicas digitales se utilizaron
para realizar controladores para los procesos continuos. Los controladores antaño
analógicos, y en particular el PID, hoy dı́a se realizan y comercializan en su versión
digital. Ahora la función (1.1) la realiza un microprocesador a través de un algoritmo.
El campo de aplicación es el mismo pero las prestaciones del los digitales son muy
superiores a las de sus hermanos analógicos. Resulta más fácil sintonizarlos, es decir,
ponerles los parámetros adecuados, y están preparados para poder ser operados a
distancia a través de buses de comunicación.
Después, se utilizaron para el desarrollo de otros dispositivos de control, entre
los que cabe destacar el autómata programable de gran aplicación en el Control de
procesos de eventos discretos.
Y, finalmente, han heho posible una creciente Automatización Global, es decir, la
expansión del control y las comunicaciones por toda la empresa en base a las estruc-
turas de control que se han ido creando: control centralizado, control distribuı́do,
control jerárquico, etc.

1.4.2. Estructuras de automatización


En el intento de automatizar cualquier empresa siempre nos van a surgir un
buen número de cuestiones: ¿dónde va ubicado y cómo se realiza el control de cada
proceso? ¿cómo se conectan unos controles con otros? ¿se pueden controlar y/o
supervisar procesos desde la gestión de la empresa? Para responderlas, habremos de
idear algún plan para estructurar el control. El grado de automatización deseado va a
ser fundamental para trazar dicho plan. Se suelen distinguir como cuatro categorı́as:
1.4. LA AUTOMATIZACIÓN INDUSTRIAL 17

Proceso 1 Proceso 2 Proceso 3 Proceso 4

Figura 1.5: Estructura de control: computador – 4 autómatas

Automatización fija
Automatización programable
Automatización flexible
Automatización total
La automatización fija se utiliza cuando el volumen de producción es muy alto y,
por tanto, se puede justificar económicamente el alto costo del diseño de equipo espe-
cializado para procesar el producto, con un rendimiento alto y tasas de producción
elevadas. Un ejemplo tı́pico puede ser la fabricación de automóviles. Un inconve-
niente de la automatización fija es que su ciclo de vida depende de la vigencia del
producto en el mercado.
La automatización programable se emplea cuando el volumen de producción es
relativamente bajo y hay una diversidad de productos a obtener. En este caso el
equipo de producción es diseñado para adaptarse a la variaciones de configuración
del producto y esta adaptación se realiza por medio de Software. Un ejemplo podrı́a
ser la fabricación de diferentes tipos de tornillos bajo pedido.
Por su parte, la automatización flexible es más adecuada para un rango de pro-
ducción medio. Los sistemas flexibles poseen caracterı́sticas de la automatización
fija y de la automatización programada. Suelen estar constituidos por una serie de
estaciones de trabajo interconectadas entre si por sistemas de almacenamiento y
manipulación de materiales, controlados en su conjunto por una computadora.
El escalón final es la automatización total de la producción, en la que, idealmente,
la fabricación se realizarı́a sin intervención humana.
En la figura 1.5 se muestra una estructura de control sencilla compuesta por un
computador que se comunica, a través de un bus, con cuatro autómatas programables
cada uno de los cuales controla un determinado proceso.
18 CAPÍTULO 1. INTRODUCCIÓN

1.4.3. Ventajas e inconvenientes de la automatización


Como es lógico, la automatización tiene sus ventajas e inconvenientes. Entre las
primeras podemos citar:

Permite aumentar la producción y adaptarla a la demanda

Disminuye el coste del producto

Consigue mejorar la calidad del producto y mantenerla constante

Mejora la gestión de la empresa

Disminuye de la mano de obra necesaria

Hace más flexible el uso de la herramienta

Algunos inconvenientes son

Incremento del paro en la sociedad

Incremento de la energı́a consumida por producto

Repercusión de la inversión 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 con-
siderable aumento de los costes de la producción automatizada. Ello nos llevarı́a a
tener que considerar nuevos métodos o, quizás, a reconsiderar antiguos métodos de
fabricación semi-automatizada en la que ciertas tareas podrı́an ser realizadas por
operarios humanos. De hecho, aunque lamentable, es significativa la práctica de la
utilización de mano de obra barata, no especializada (incluso infantil), por grandes
compañı́as que instalan sus factorı́as en paı́ses subdesarrollados.
En el mundo industrial actual la Automatización es prácticamente imprescindi-
ble, debido a los niveles de productividad, fiabilidad y rentabilidad que el mercado
exige a los productos elaborados para ser competitivos.
Antaño la automatización se aplicaba sólo al proceso productivo (a las máqui-
nas), porque era el que más recursos humanos consumı́a, resultando asi una auto-
matización local. Pero hoy dı́a podemos hablar de una automatización global ya que
se ha extendido no sólo a todos los procesos de la empresa (bloques de la figura 1.1)
sino también a los flujos de control (lı́neas a trazos de la figura 1.1), que pueden
también ser automatizados mediante buses de comunicación y redes de área local;
además, una empresa puede comunicarse a través de Internet con otras empresas
pudiendo crearse de esta forma redes de empresas extendidas por todo el mundo.
1.4. LA AUTOMATIZACIÓN INDUSTRIAL 19

1.4.4. Elementos de la automatización


Hay muchas áreas y tecnologı́as que intervienen en la Automatización. Las más
importantes, junto con algunos de sus elementos, son:

Mecánica

• Herramientas
• Mecanismos
• Máquinas
• Elementos de transporte

Eléctrica

• Automatismos eléctricos
• Motores eléctricos de c.c. y c.a.
• Cableados de fuerza y de mando
• Aparillajes eléctricos en general

Tecnologı́a Electrónica

• Controladores analógicos
• Sensores / Transductores
• Pre-acionadores
• Drivers de accionamientos
• Communicaciones
• Telemando y Telemetrı́a
• Sistemas de comunicación inalámbrica

Neumática electro-neumática

• Cilindros neumáticos
• Válvulas neumáticas y electro-neumáticas
• Automatismos neumáticos

Hidráulica y electro-hidráulica

• Cilindros hidráulicos
• Válvulas hidráulicas y electro-hidráulicas
• Automatismos hidráulicos

Aplicaciones de Control e Informática Industrial

• Controladores de procesos
20 CAPÍTULO 1. INTRODUCCIÓN

• Control por computador


• Control embutido (embedded control)
• Autómatas programables
• Visión artificial
• Robótica
• Mecatrónica / Control de movimiento
• Células de fabricación flexible
• Células de Mecanizado
• Células de Montaje Automático
• Control Numérico
• Sistemas CAD-CAM (Computer Aided Design & Manufacturing)
• Sistemas CIM (Computer Integrated Manufacturing System)
• Redes y buses de comunicaciones

1.5. Modelos matemáticos de sistemas


En el análisis de los sistemas de control juegan un papel primordial los modelos
matemáticos. Un modelo matemático de un sistema dinámico es una ecuación o
sistema de ecuaciones, de un determinado tipo, que lo representa, y cuya evolución
en el tiempo se coresponde con la del sistema.
El modelo permite hacer cálculos, predicciones, simulaciones y diseñar 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ún sea la aplicación 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ático, fı́sico y tecnológico.
Lo primero que vamos a hacer para estudiar matemáticamente 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ón depende del
tiempo, podemos clasificarlos, atendiendo a cómo sea dicha evolución, en

Sistemas de tiempo contı́nuo

Sistemas de tiempo discreto

Sistemas de eventos discretos

Esta clasificación nos va servir tanto para el estudio matemático, análisis y mo-
delado de los sistemas de control como para su sı́ntesis, o sea, su diseño y realización
utilizando diferentes tecnologı́as. Cada una de estas clases se divide a su vez en otras
1.6. MODELADO Y SIMULACIÓN DE SISTEMAS COMPLEJOS 21

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

1.6. Modelado y simulación de sistemas comple-


jos
El modelado y simulación se utiliza en muy aplicaciones diversas, tales como
dinámica de flúidos, sistemas energéticos y gestion de negocios. Dentro de los currı́cu-
la universitarios se estudia, entre otras, en las áreas de Teorı́a de Sistemas, Teorı́a
de Control, Análisis Numérico, Ciencias de la Computación, Inteligencia Artificial
e Investigación Operativa. Poco a poco ha ido haciéndose cada vez más potente
hasta el punto en que hoy se considera con capacidad para integrar todas las ante-
riores disciplinas. Más aún, ha sido propuesto por algunos como el paradigma de la
computación del futuro. Como paradigma, constituye un método para representar
los problemas, para analizarlos y para obtener soluciones. En la fase de análisis,
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álisis para diseñar 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áliisis y diseño hasta conseguir
dar con la solución buscada.

1.6.1. Importancia del modelado


El conocimiento sobre las cosas que tenemos a nuestro alrededor, adquierido
a través de los sentidos y almacenado en el cerebro, no es la realidad sino una
abstracción, un modelo de la misma. Es un modelo en el que se reflejan algunas
caracterı́sticas estáticas (forma, dimensiones, color, sonido, olor, temperatura, aca-
bado superficial, etc.) y quizás también algunas otras dinámicas (velocidad, etc). Si
utilizamos instrumentos de medida, la información que adquirimos puede enrique-
cerse con números, gráficos y quizás con otros tipos de información propia de cada
instrumento.
De alguna manera, la información que hemos adquirido sobre un objeto es el
resultado de experiencias (experimentos) que hemos realizado sobre el mismo. Por
tanto, la información adquirida es siempre parcial, se refiere a los resultados de
experiencias o experimentos y el modelo de cualquier sistema es también parcial,
es decir, sólo refleja aquellos aspectos que han sido medidos y analizados dentro de
un determinado contexto experimental. Otros aspectos pueden quedar ocultos en el
22 CAPÍTULO 1. INTRODUCCIÓN

modelo porque aún no se conocen, sencillamente porque no se han medido o, si se


quiere, porque quedan fuera de contexto.

REALIDAD MODELO

Entidad Modelo
del
básico
OBJETIVOS
Mundo Real

análisis sólo
en contexto
experimental

dentro del contexto Conocimiento


Sistema S Modelo M a priori del
modelo básico

experimento Simulación =
dentro de contexto Experimento virtual

Datos Validación Resultados


observados de de
Experimento Simulación Proceso de
Modelado y Simulación

Figura 1.6: Esquema del modelado

En la figura 1.6 se indica esquemáticamente el proceso de obtención de un modelo


a partir de la realidad. Es importante recalcar de que la información que podemos
tener sobre una determinada entidad real la adquirimos a través de experimentos
hechos en un determinado contexto de modelado. Por esta razón, 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ón 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ón 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ógicos) son tan complicados que hasta
hace poco no se sabı́a muy bien cómo funcionaban pero que, tras el modelado de sus
partes elementales y la posterior conexión de las mismas, empiezan ya a ser estudia-
dos y entendidos, al menos en alguno de sus aspectos. Sin ir tan lejos, tener un buen
1.6. MODELADO Y SIMULACIÓN DE SISTEMAS COMPLEJOS 23

modelo resulta de una ayuda inestimable para cualquier diseño de automatización


industrial.
Serı́a estupendo que el lenguaje de modelización fuera universal pues ello facili-
tarı́a la comunicación entre los equipos de desarrollo dentro de la empresa y también,
fuera de ella, entre los miembros de la comunidad cientı́fica.
Un buen lenguaje de modelización ha de tener

Elementos del modelo – conceptos fundamentales y semántica

Notación – representación visual de los elementos del modelo

Directivas – lenguajes a utilizar para el modelado

Lenguaje Unificado de Modelización (UML)


La carencia de un lenguaje estándar de modelización ha sido durante mucho
tiempo el principal quebradero de cabeza de muchos diseñadores de software. La si-
tuación era caótica 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ón ha cambiado recientemente con la aparición del denominado Unified
Modeling Language (UML). El desarrollo de este lenguaje comenzó en Octubre de
1994 cuando Grady Booch y Jim Rumbaugh, de la empresa Rational Software Cor-
poration, unificaron el anterior método de Booch y el llamado técnica de Modelado
de Objetos (OMT) y crearon un proyecto común, al que llamaron Unified Method,
cuyo primer borrador vió la luz en Octubre de 1995. A finales del mismo año Ivan
Jacobson y su empresa Objectory se unieron a Rational Software y como resultado
de la unión surgió el método OOSE (Object-Oriented Software Engineering).
Al comenzar a trabajar juntos, Booch, Rumbaugh y Jacobson fijaron como obj-
tivos los siguientes:

1. Otorgar al modelado de sistemas (y no sólo 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ón


crı́tica.

4. Crear un lenguaje de modelado entendible tanto por las máquinas como por
los seres humanos.

Los esfuerzos de los tres ingenieros dieron su fruto con la publicación de las
versiones 0.9 y 0.91 de UML, en Junio y en Octubre de 1996. UML comenzó a
extenderse con rapidez y muchas importantes empresas vieron en UML un asunto
24 CAPÍTULO 1. INTRODUCCIÓN

de importancia estratégica para sus negocios. Tras una primera fusión con OMG
(Object Management Group), Rational Software estableció las bases para crear un
consorcio empresarial, al que pronto se unieron las compañı́as más importantes del
mundo de la informática: 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ón de nuevas versiones. La versión UML 1.3, de Junio de 1999, es
la que está 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ón y especialización que permitan extender


los conceptos del núcleo del lenguaje.

Soportar especificaciones que sean independientes de los lenguajes de progra-


mación 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ácticas de programación.

Caracterı́sticas de UML
UML es un lenguaje sin propietario y abierto a todos. Ofrece a los ingenieros de
sistemas que trabajan en análisis y diseño orientados a objetos, un consistente len-
guaje para especificar, visualizar, construir y documentar los artefactos de software
y también para el modelado de negocios y de otros sistemas. Está estructurado en
9 paquetes:
Data Types

Core

Extension Mechanisms

Comon Behavior

State Machines

Activity Graphs

Collaborations

Use Cases

Model Management
1.6. MODELADO Y SIMULACIÓN DE SISTEMAS COMPLEJOS 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 cumpli-
miento 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 se-
cuencia de visiones distintas del modelo. Una sóla vista no es suiciente.

Todo modelo se puede expresar a diferentes niveles de fidelidad.

Los mejores modelos están conectados a la realidad.

En términos de vistas de un modelo, UML define los siguientes diagramas gráfi-


cos:

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últiples perspectivas del sistema bajo análisis o
desarrollo. Además UML tiene herramientas para obtener un buen número de visio-
nes 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ón anteriores y, quizás más importante, unifica las perspectivas de
acercamiento entre muchas clases diferentes de sistemas (negocios contra sotware),
fases de desarrollo (requerimientos, análisis, diseño e implementación) y conceptos
internos.
26 CAPÍTULO 1. INTRODUCCIÓN

1.7. Estructura del curso


El curso se estructura en 4 partes. Las dos primeras son más bien teóricas y en
ellas se estudian los fundamentos que permiten el modelado de sistemas. Las otras
dos partes son de un contenido más bien práctico, de aplicación de lo estudiado
antes, si bien en la última parte se requieren algunos nuevos conocimientos teóricos.

Control de procesos continuos

Control de procesos de eventos discretos

Automatización local

Automatización global

1.7.1. Control de procesos continuos


Esta primera parte está enfocada al diseño de de controladores para procesos de
tiempo contnuo. Supiniendo un conocimiento previo de las nociones básicas de la
Teorı́a de Control, se estudiarán algunas técnicas clásicas de diseño de controladores
analógicos y digitales. Se hará un especial énfasis en el estudio de los controladores
PID y sus métodos de sintonı́a.

1.7.2. Control de procesos de eventos discretos


En la segunda parte repasaremos primero algunos conceptos básicos sobre sis-
temas combinacionales y secuenciales, para pasar a ver los modelos de sistemas de
eventos discretos más usados actualmente en automatización:

Diagramas de estado

Redes de Petri

Grafcet

Statecharts

1.7.3. Automatización local


En esta parte estudiaremos algunos de los elementos existentes en el mercado
dedicados a la automatización local. Es un tema más bien descriptivo y muy extenso
en el que, aparte de lo mostrado en clase, el alumno debe intertar conseguir infor-
mación (catálogos, 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éctricos

Automatismos neumáticos e hidráulicos

Autómatas programables

Controladores industriales

1.7.4. Automatización global


Esta última parte está dedicada al estudio de la automatización global y en la
misma daremos una visión general algunos aspectos importantes de la misma, tales
como

Simulación de procesos productivos

Redes locales

Buses industriales

GEMMA

SCADA

Control jerárquico
28 CAPÍTULO 1. INTRODUCCIÓN
Parte I

Control de procesos continuos

29
Capı́tulo 2

Diseño de Controladores

2.1. Introducción

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áticos en barcos o
aviones, el control teledirigido de naves espaciales, controles de posición y velocidad
en máquinas herramientas, control de robots, control de procesos industriales, sus-
pensión activa de los automóviles, controles diversos en electrodomésticos, etc., en
los que los sistemas de control desempeñan un importante papel. La lista de aplica-
ciones pudiera resultar interminable ya que, debido al progresivo abaratamiento y
miniaturización los componentes electrónicos, ha sido enorme su proliferación y de-
sarrollo. 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ásico
monovariable. En la misma, la planta se representa por el bloque de función de
transferencia Gp , el controlador por Gc y el captador por H.

Los métodos de diseño sirven para proyectar el sistema de control y determinar


los componentes más adecuados para un funcionamiento satisfactorio. El objetivo
del diseño, en el caso más sencillo, suele ser una parte del sistema, denominada
controlador, que tiene asignada la misión de control. En los sistemas de control
continuos este elemento está constituido generalmente con componentes electrónicos
de tipo analógico 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ño será muy diferente para un sencillo bucle de regulación de
tipo SISO que para un sistema de control de un proceso MIMO en el que intervienen
múltiples variables interrelacionadas. En este capitulo vamos a tratar del diseño de
sistemas de control continuos monovariables [2, cap. 7].

31
32 CAPÍTULO 2. DISEÑO DE CONTROLADORES

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ño va a consistir en determinar los componentes
de este elemento, veamos en primer lugar los tipos mas comunes de controladores
utilizados en la práctica, junto con sus correspondientes implementaciones basadas
en amplificadores operacionales y componentes pasivos.

D(s)

R(s) ε Y(s)
Gc Gp

Figura 2.1: Sistema de control

2.2.1. Controlador tipo proporcional P


La función 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


V0 R1 + R2
Kp = =
Vi R1

2.2.2. Controlador tipo integrador


Su función de transferencia es
1
Gc = (2.2)
sTi
Siendo Ti una constante. Se ha implementado mediante el circuito integrador inversor
representado en la figura 2.3, en la que
V0 1/sC1 −1
Gc = =− = (2.3)
Vi R1 sR1 C1
La constante de tiempo Ti de este controlador I vale, por tanto,

C1

R1
Vi
Vo

Figura 2.3: Esquema de un controlador I

Ti = R1 C1 (2.4)

2.2.3. Controlador tipo derivativo D


Su función de transferencia es
Gc = sTd (2.5)
Siendo Td una constante. Su circuito electrónico, con una configuración 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)
34 CAPÍTULO 2. DISEÑO DE CONTROLADORES

R1

C1
Vi
Vo

Figura 2.4: Esquema de un controlador D

2.2.4. Controladores PID


Los tres controladores básicos 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ón de transferencia es
V0 1
Gc = = Kp (1 + + sTd ) (2.8)
Vi sTi

Este controlador PID se transforma fácilmente en otro PI o PD eliminando una

Vi 1 Vo
Kp
sT i

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ón electrónica de este
controlador, que se ajusta al diagrama de bloques, se ilustra en la figura 2.6.
La función de transferencia del circuito PID ası́ compuesto viene dada por la
2.2. TIPOS DE CONTROLADORES 35

R1

R1
R4

C2
R5
R1
Vi
R4
Vo

R3

C3
R4

Figura 2.6: Diagrama de bloques de un controlador PID

expresión (2.9) en la que

R5
Kp = , Ti = R2 C2 , Td = R3 C3 (2.9)
R4

2.2.5. Controladores de adelanto y de retraso de fase


Son controladores que producen un avance, un retraso o una combinación de
avance y retraso en la fase de la tensión de salida con respecto a la tensión de
entrada al controlador [2, sec. 7.9]. La función de transferencia de un controlador de
adelanto o retraso es
V0 s − zc
Gc = = Kc (2.10)
Vi s − pc
Si | zc |<| pc | es un controlador de adelanto de fase mientras que 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ón de transferencia de
la red de la figura 2.7a es

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

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


36 CAPÍTULO 2. DISEÑO DE CONTROLADORES

R1
R1

Vi Vo
Vi R2 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ón de transferencia


V0 s − zc 1 + Ts
Gc = = Kc = (2.12)
Vi s − pc 1 + αT s
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ón de transferencia es


V0 (1 + αT1 s)(1 + βT2 s)
Gc = = (2.13)
Vi (1 + T1 s)(1 + T2 s)
donde α > 1, β = 1/α, αT 1 = R1 C1 , T2 = R2 C2 y T1 T2 = R1 R2 C1 C2 . Los con-
troladores de adelanto y de retraso de fase pueden construirse también 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ón de transferencia es
V0 s − zc C1 (s + 1/R1 C1 )
Gc = = Kc =− (2.14)
Vi s − pc C2 (s + 1/R2 C2 )
2.3. MÉTODOS DE DISEÑO BASADOS EN EL LUGAR DE LAS RAÍCES 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étodos de diseño basados en el lugar de las


raı́ces
El método de diseño basado en el lugar de las raı́ces suele también denominarse de
asignación 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ón de polos).
Antes de proceder al estudio de algunos ejemplos de diseño de controladores
veamos qué efecto produce la adición de un polo o de un cero sobre el lugar de las
raı́ces. Sea un sistema cuya función de transferencia en lazo abierto es:
1
G(s) = (2.15)
s2
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ón de un cero en (−2,5, 0). La función 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ón de un cero produce un efecto parecido a como si éste “tirase” del lugar
geométrico hacia sı́, estabilizando el sistema y generando en este caso una circunfe-
rencia como parte del lugar. Veamos ahora el efecto de añadir un polo en (−2, 0).
La función de transferencia en lazo abierto vale ahora,
1
G(s) = (2.17)
s2 (s+ 2)
38 CAPÍTULO 2. DISEÑO DE CONTROLADORES

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


2.3. MÉTODOS DE DISEÑO BASADOS EN EL LUGAR DE LAS RAÍCES 39

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

El lugar geométrico 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ñadido parece como si
empujara al lugar, deformándolo y generando una rama de hipérbola. Produce, por
tanto, un efecto desestabilizador en el sistema.
Vistos los efectos de la adición de un polo y de un cero a la función de transfe-
rencia, vamos a considerar algunos ejemplos de diseño del controlador en un sistema
de regulación, conociendo ciertas especificaciones de funcionamiento.

2.3.1. Diseño de una red de adelanto de fase


Un controlador de adelanto de fase tiene por función de transferencia:
s − zc
G c = Kc , |zc | < |pc | (2.18)
s − pc
El diseño consiste en asignar unos valores a los parámetros del controlador, tales que
el lugar geométrico 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ón
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 es-
tablecimiento Ts de 4s y una sobreoscilación máxima inferior al 20 %. El tiempo
de establecimiento suele considerarse igual a 4 veces la constante de tiempo τ del
sistema ( < 2 %), con lo que
4
Ts = 4τ = (2.20)
ξωn
40 CAPÍTULO 2. DISEÑO DE CONTROLADORES

Por otra parte la sobreoscilación máxima esta relacionada con el coeficiente de amor-
tiguamiento. Puede probarse que una sobreoscilación del 20 % corresponde a un
coeficiente de amortiguamiento ξ = 0,45. Por lo tanto, sustituyendo este valor en la
expresión anterior queda

4
4= , ωn = 2,22 (2.21)
0,45ωn

Por tanto, la raı́z correspondiente a las especificaciones propuestas es:


p
s = −ξωn ± ωn 1 − ξ 2 = −1 ± 2j (2.22)

im

Raíz deseada
2

116.56º
θp 90º

re
-5 -4 -3 -2 -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ón 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ón de transferencia del controlador


es
s+1
G c = Kc
s + 3,6
El parámetro Kc se determina aplicando la condición de módulo 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.
2.3. MÉTODOS DE DISEÑO BASADOS EN EL LUGAR DE LAS RAÍCES 41

Gc Gp
R(s) ε s+1 1 Y(s)
8.1 2
s+3.6 s

Figura 2.14: Ubicación del cero y del polo del controlador PID

2.3.2. Diseño de un controlador PID


Vamos a suponer que deseamos controlar la misma planta anterior, con función
de transferencia Gp (s) = 1/s2 , mediante un controlador PID. Este tipo de control no
es el más idóneo en este caso, ya que la propia planta realiza una doble integración;
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ón de transferencia del controlador
es ahora
1 s2 Td Ti + sTi + 1
Gc = Kp (1 + + sTd ) = Kp
sTi sTi
Un sencillo método de diseño 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ón
de ángulo, determinamos el otro cero (figura 2.16).
Condición de ángulo:

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ón de transferencia con la obtenida.

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


Kp =
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ón de ángulo, resulta ser Kp = 2,8.


El lugar de las raı́ces correspondiente se ha representado en la figura 2.17.
42 CAPÍTULO 2. DISEÑO DE CONTROLADORES

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

2.4. Diseño en el Lugar de las Raı́ces


El diseño en el Lugar de las raı́ces está 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ón
máxima 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ón, de


π
tp = p
ωn 1 − ζ 2
podemos hallar ωn .
Si el sistema controlado ha de tener polos dominantes reales, es decir, una res-
puesta temporal monótona, no es aplicable este método. 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ólo dos polos del sistema en lazo cerrado.
La posición del resto de los polos queda fuera de control, y bien puede suceder, en
plantas de orden elevado, que los polos ubicados por diseño no sean efectivamente
los dominantes.
La desventaja del método del lugar de las raı́ces es que la información disponible
para el diseñador disminuye conforme aumenta el número de ramas. En estos casos la
2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 43

im

Raíz deseada
2

θz2 90º
116.56º

re
-5 -4 -3 -2 -1

Figura 2.16: Ubicación de los ceros y polos del PID

alternativa puede ser trabajar con modelos de orden reducido o bien utilizar métodos
de diseño en el dominio de la frecuencia.

2.4.1. Compensador de adelanto de fase


La función de transferencia del controlador de adelanto de fase es
s + zc
Gc (s) = Kc , zc > pc , zc > 0 , pz > 0
s + pc
Su diseño consiste en determinar las constantes Kc , zc , zc para que el sistema en
lazo cerrado cumpla con las especificaciones exigidas. En términos 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ño 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ón 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úmeros de polos y ceros en lazo abierto,
incluidos los del controlador. Esto se deduce de la fórmula que da el centroide de las
ası́ntotas: P P
i pi − j zj
σc = , i = 1, . . . , n, j = 1, . . . , m
m−n
44 CAPÍTULO 2. DISEÑO DE CONTROLADORES

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ón que vamos a utilizar para diseñar 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étrico, pasará entonces
también por p̄d . Si pd es un punto del lugar de las raı́ces, ha de cumplir la condición
argumento. Es decir, en el punto pd del plano complejo, la fase de la función de
transferencia en lazo abierto ha de ser múltiplo 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ún K = 0, 1, 2, ...
La fase ϕc del controlador en pd puede relacionarse gráficamente en el plano s
con los parámetros 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úmero
infinito de posibles α = ∠pc y β = ∠zc que verifican ϕc = α − β. En la práctica, lo
habitual es fijar uno de los dos parámetros, pc o zc , y calcular el otro a partir de la
condición de ángulo.
2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 45

Im
∆σc

σ’c p2 σc p1
Re

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

Im

pd

ϕc

α β

pc zc Re

pd

Figura 2.19: Fase del controlador en pd


46 CAPÍTULO 2. DISEÑO DE CONTROLADORES

Ejemplo de diseño. Compensador en serie


D(s)

U (s)- mE(s)- s + zc - +m
? 500 Y (s)
r
+ Kc - -

s + pc s(s + 1)
6

Figura 2.20: Controlador a diseñar

Vamos a diseñar el controlador de adelanto de fase de la figura 2.20, en el que


500
Gp (s) =
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álculos.

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ño hemos de comprobar que el punto pd (o p̄d ) no está 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órmula (2.23). Para ello hallamos
primero ∠Gp (pd ):
 
500
∠Gp (pd ) = arg = −260o
s(s + 1) s=−32,5+38j

y, a continuación ϕc :

ϕc = (2k + 1)π − ∠Gp (pd ) = (2k + 1)π + 260o

Para k = −1 obtenemos
ϕc = −180o + 260o = 80o
que es la fase buscada. Nótese que para otros valores de k se obtienen valores de ϕc
iguales al hallado más 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).
2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 47

Im

-1 -0.5 0 Re

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

Im
pd
38

ϕc
β
α
pc -32.5 -1 Re

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


48 CAPÍTULO 2. DISEÑO DE CONTROLADORES

Una buena solución, 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ón de transferencia Y (s)/U (s).
Procediendo de este modo, para obtener el parámetro pc del controlador, halla-
mos el valor del ángulo α.

β − α = ϕc ⇒ α = 130o − 80o = 50o

con lo que pc vale


pc = 32,5 + 38/ tan 50o = 64
Por último, el valor de Kc lo podemos hallar aplicando la condición de magnitud en
el punto pd :
s + zc
Kc G p (p d ) =1
s + pc
de donde resulta Kc = 4,93.
El diseño ha concluido: el sistema definido por la función de transferencia consigna-
salida G1 (s) = Y (s)/U (s), que con los valores hallados queda

Kc
G1 (s) = 500
s2 + 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ón de transferencia perturbación-
salida G2 (s) = Y (s)/D(s) ya que en ésta el polo en (−1 + 0j) no se ha cancelado:
s + pc
G2 (s) = 500
(s + 1 ) ( s2 + pc s + 500 Kc )

De aquı́ que el modo e−t , “cancelado”, aparecerá en la respuesta a una perturbación


de carga d(t). Por tanto, el procedimiento utilizado de cancelación de un polo de la
planta no debe ser utilizado en la práctica, si se desea una verdadera mejora de la
rapidez.

2.4.2. Consideraciones de diseño


En vista del resultado del ejercicio anterior podemos pensar que el diseño depen-
derá de la configuración de las entradas y salidas del sistema de control. Ello nos
llevarı́a a un tipo de diseño caso por caso.
No obstante, algunas configuraciones son frecuentes en la práctica por lo que
conviene analizar con detalle los problemas asociados con ellas. El esquema de control
de la figura 2.23, denominado compensación en serie, es frecuente, por ejemplo, en
el control de motores y de otros procesos. La entrada d1 representa una perturbación
en la carga, d2 representa una perturbación en la salida y d3 , una perturbación o
ruido en la medida. No se ha considerado (H(s) = 1) la dinámica del transductor.
Nc , Dc , Np y Dp son los polinomios, numerador y denominador, del controlador y
de la planta, respectivamente.
2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 49
d1 d2

u- m  - - Nc m- ? Np y -
+m - - +m r
?
+ Kc

Dc Dp
6

+m
6

d3
Figura 2.23: Esquema de control en serie.

Para empezar, nos interesa hallar las funciones de transferencia


Y K c N c Np E Dc Dp M Kc Nc Dp
= , = , =
U D U D U D
que relacionan la salida y, el error e y el esfuerzo de control m con la entrada u.
También interesan
Y Np Dc E Y M Y
= , =− , =−
D1 D D1 D1 D1 U
que relacionan la salida y, el error e y el esfuerzo de control m con la perturbación
d1 , y asimismo,
Y M M M
= , =−
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ún, 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ón polo-cero no es recomendable.
Cuando el sistema en lazo cerrado es mucho más rápido que la planta la
variable manipulada m puede tomar valores muy grandes. La idea intuitiva
de que para conseguir una respuesta más rápida el controlador ha de actuar
con más energı́a se confirma matemáticamente puesto que los polos lentos de la
planta (ceros del polinomio Dp ) son ceros en la función de transferencia M/U ,
y es sabido que un cero lento visto desde los polos (próximo relativamente al
eje imaginario) produce una sobreoscilación 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ón siempre comienza con una suboscilación, es decir,
arranca en sentido opuesto al de la entrada u(t). Esto es ası́ porque, en la
práctica, el cero en el SPD no va a poder ser cancelado, y los sistemas con
ceros en el SPD muestran ese comportamiento.
50 CAPÍTULO 2. DISEÑO DE CONTROLADORES

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ón).
En efecto, el polo de la planta en el SPD, según hemos visto, no va a po-
der ser cancelado. Entonces, dicho polo se convierte en un cero para la fun-
ción de transferencia E/U , y en consecuencia e(t) tendrá suboscilación. Como
E = U − Y y U = 1 (escalón unitario), una suboscilación en E inducirá una
sobreoscilación en Y .

2.4.3. Re-diseño. Compensador en serie


Considerando estas propiedades, vamos a retomar el problema de diseño que
antes hemos efectuado.
En primer lugar, no es posible, en la práctica, cancelar el polo s = −1 de la
planta, como habı́amos hecho; hemos de elegir otra ubicación para el cero zc del
controlador. Como el cero zc del controlador es también un cero para la función
de transferencia Y /U , la experiencia demuestra que una elección adecuada es to-
mar zc = |pd |. De esta manera la sobreoscilación Mp del sistema en lazo cerrado
se aproximará bastante a la del sistema de segundo orden (deseado), definido por
las especificaciones. Valores mayores de zc , aunque disminuirı́an la sobreoscilación
máxima, reducirı́an la contribución de argumento ϕc del controlador.
Por tanto elegimos zc = |pd | = 50, procediendo a calcular ϕd . Pero si realizamos la
representación gráfica de la figura 2.19 vemos que esta elección no es posible, porque
el máximo ángulo ϕ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ón
para zc más 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ón de transferencia del controlador queda


s + 25
G c = Kc
s + 130
El valor de Kc en pd , obtenido a partir del lugar de la condición de módulo es Kc =.
Puede comprobarse que la respuesta a una entrada u(t) escalón acusa una so-
breoscilación mayor que la permitida por las especificaciones.

2.4.4. Compensador en realimentación


Una posible solución al problema anterior es colocar el compensador de adelanto
en el lazo de realimentación 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 M Kc Df Dp
= , =
U D U D
2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 51
d1 d2

u- m  m - +m
? Np - +m
?
r
y -
+ - Kc -

Dp
6

Nf 
+m
Df
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 M Np Nf
= , = −Kc
D1 D D1 D

relacionan la salida y y el esfuerzo de control m con la perturbación d1 ;

Y M M Nf Dp
= , = −Kc
D3 D1 D3 D

en donde D = Df Dp + KNf Np .
El error para entrada rampa vale
 
1 Y (s) 1 Kc Np Nf + Df Dp − Kc Df Np
er (s) = 2 1− =
s U (s) 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 es-
quema con controlador en serie, vemos una importante diferencia: Nc ha sido reem-
plazado 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áximo se reducirá, 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ón se puede decir que, siempre que sea posible, el compensador
debe colocarse en el lazo de realimentación.
Hay aún otro inconveniente. El cero del compensador permanece como cero en la
función de transferencia Y /D3 , en ambas configuraciones de serie y feedback. Debido
a ello el sistema en lazo cerrado será muy sensible al ruido D3 en la medida si los
polos en lazo cerrado se han desplazado mucho hacia la izquierda en el SPI.
52 CAPÍTULO 2. DISEÑO DE CONTROLADORES

2.4.5. Compensador de retraso de fase en serie


Su función de transferencia es
s + zc
Gc (s) = ,
s + pc

igual que la del de adelanto de fase, pero con zz > pc > 0. Por ser su ganancia
estática mayor que uno, las constantes de error del sistema quedarán multiplicadas
por el factor zz /pc , por estar en serie con la planta. El diseño de este controlador
consiste en encontrar zc y pc que satisfagan una relación dada.
Sea, como antes, pd el polo dominante deseado. Puesto que para una relación
dada de |zc |/|pc |, la contribución de ángulo ϕc del controlador en pd disminuye con
|zc |, debemos seleccionar zc lo más pequeño posible para que este compensador tenga
poco efecto sobre la respuesta transitoria. Por tanto colocaremos zc próximo 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áxima fase de un controlador de adelanto


La función de transferencia de un controlador de adelanto es
s+z
G( s ) =
s+p

Como se ve en la figura 2.25, la fase de este controlador es ϕc = β −α, con p > z > 0.

Su máxima contribución de fase ϕmax depende sólo 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áximo de ϕc y la frecuencia ωm en la que se produce.


Ponemos α y β en función de ω, z y a, con a = z/p.
ω  ω a
ϕc := arctan − arctan
z z
La derivada de esta función con respecto a ω se obtiene con

> p1:=diff(phi_c,omega);
2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 53

Im

pd

ϕc

α β

pc zc Re

pd

Figura 2.25: Fase ϕc del controlador.

Im
ωm

ϕmax ω=0 ω = oο
α 1+ α 1 Re
2

Figura 2.26: Fase máxima ϕmax .


54 CAPÍTULO 2. DISEÑO DE CONTROLADORES

1 a
p1 := 2
−
ω 2 a2
  
ω
z 1+ z 1+ 2
z2 z
Para hallar el máximo hemos de resolver la ecuación ϕ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ón obtenemos la pulsación correspondiente a ϕmax :

> wm:=normal(wm1[2]);

z
wm := √
a

Sustituyendo wm en la expresión de φc queda

> fimax := subs(omega=wm,phi);

√ 
 
1
ϕmax := arctan √ − arctan a
a
El seno de esta expresión es

> sfm1:=expand(sin(fimax));


1 a
sf m1 := r −r
√ 1√ 1√
a 1+ 1+a 1+ 1+a
a a
que puede simplificarse con

> sfm:=radsimp(sfm1);

−1 + a
sfm := −
1+a
es decir que

1−a
sin(ϕmax ) =
1+a

Estas fórmulas son útiles para diseñar controladores de adelanto de fase.


2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 55

Ejemplo.
Se desea controlar un sistema dinámico cuya planta tiene por función de trans-
ferencia
500
Gp (s) =
s(s + 1)
mediante un controlador de adelanto de fase, de forma que el sistema resultante tenga
una frecuencia de cruce ωc = 35 rad/s y un margen de fase de 65o . Resolución

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ño, 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ón
1−a
sin(ϕmax ) =
1+a
podemos hallar a, ya que conocemos ϕmax , que en radianes vale

> phi_max:=65*Pi/180;
13
ϕmax := π
36
Para hallar a hacemos

> a11:=solve(sfm=sin(phi_max),a);
36 − 13 π
a11 := −
−36 − 13 π
y obtenemos también su valor numérico

> a:=-evalf(a11);

a := ,04914852341
Por otro lado, como sabemos que la pulsación ωm correspondiente a la máxima
fase ϕmax es
z
ωm := √
a
poniendo ωm = 35, podemos hallar zc .

> zc := 35 * sqrt(a);

zc := 7,759313191
y también pc :
56 CAPÍTULO 2. DISEÑO DE CONTROLADORES

> pc:=zc/a;

pc := 157,8747977
Una vez hallados pc y zc , lo único que queda es hallar Kc . Para ello aplicamos
la condición 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ón 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ón Gdb35 (Kc) = 8 en Kc .

> solve(Gdb35=8,Kc);

El valor que se obtiene es


Kc = 11,33038749
Finalizado el diseño, podemos representar el diagrama de Bode del sistema com-
pensado para verificar que cumple con las especificaciones y, si fuera preciso, realizar
los últimos ajustes de los parámetros del controlador por tanteo y mediante simula-
ción.

2.5. Diseño en la respuesta de frecuencia


La respuesta de frecuencia de un sistema dinámico es una representación no
paramétrica (número infinito de parámetros), ya que viene dada en forma de curvas
continuas, en contraste con los modelos paramétricos de función de transferencia y de
estados. Una de las ventajas que tiene es que no está influida por el orden del sistema.
Recordemos que información neta que proporciona el lugar de las raı́ces al diseñador
va disminuyendo gradualmente a medida que aumenta el número 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á especialmente indicado para incluir las imperfecciones de modelado
por lo que se emplea en diseño robusto.
Al ser una representación de dimensión infinita no podemos esperar que haya
fórmulas explı́citas que relacionen la respuesta de frecuencia con los parámetros
caracterı́sticos de la respuesta temporal, o viceversa, incluso aunque se conociera
el orden del sistema. Por ello, el adquirir destreza de diseño en el dominio de la
frecuencia precisa de una considerablemente mayor experiencia que para hacerlo
en cualquiera de sus dos alternativas paramétricas, lugar de las raı́ces o espacio de
estado.
2.5. DISEÑO EN LA RESPUESTA DE FRECUENCIA 57

2.5.1. El problema del diseño de feedback


El análisis en el dominio de la frecuencia de los sistemas de segundo orden mues-
tra que la realimentación negativa tiene como ventajas el aumento del ancho de ban-
da, la disminución de la sensibilidad del sistema a las variaciones de los parámetros
y la obtención de una función de transferencia de módulo unidad (con realimenta-
ción unitaria) en el rango de frecuencias en el que la ganancia en lazo abierto es
suficientemente alta.
d1 d2

u- m  - - Nc m- ? Np y -
+m - - +m r
?
+ Kc

Dc Dp
6

+m
6

d3
Figura 2.27: Esquema de control en serie.

Supongamos el sistema de control con realimentación representado en la figura


2.27. La expresión de la salida Y (s) es
Gc Gp 1 Gp
Y = (U − D3 ) + D2 + D1 (2.24)
1 + Gc Gp 1 + Gc Gp 1 + Gc Gp

y la del error E(s),


1 Gc Gp Gp
E= (U − D2 ) + D3 − D1 (2.25)
1 + Gc Gp 1 + Gc Gp 1 + Gc Gp

Las ecuaciones (2.24) y (2.25) nos dan a entender que la tarea del diseño, condi-
cionado siempre a ciertas restricciones y con el objetivo de cumplir determinados
requisitos de funcionamiento, no parece sencilla. Por ejemplo, uno de estos requi-
sitos demanda la reducción de los errores debidos a la entrada de referencia u y a
la perturbación d2 , mientras que otro pide la reducción del error producido por el
ruido en la medida d3 .
El conflicto entre estos dos objetivos de diseño es evidente: si en la ecuación
(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ón es que esfuerzo de control, o variable manipulada m,
no pueda tomar valores superiores a ciertos lı́mites (para los que alcanzarı́a la satu-
ración). En efecto, la expresión de la variable manipulada es
Gc Gc Gp
m= (U − D2 − D3 ) − D1
1 + Gc Gp 1 + Gc Gp
58 CAPÍTULO 2. DISEÑO DE CONTROLADORES

Si hacemos |Gc Gp |  1 siendo |Gp | pequeña, es decir, aumentamos la ganancia en


lazo abierto a costa sólo del controlador, queda
1
m= (U − D2 − D3 )
Gp

Que el controlador emita esta fuerte respuesta, ante las entradas U (de referencia) y
D2 (perturbación en salida), puede parecer lógico. No ası́, sin embargo, que también
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
($#"!

(
'"!
'' "! (
$#"!
( (
$#"!
 ' (

! # " $  ' (

! "  ' (

 ' (
         
 ' (
         
 ' (
         
 ' (
         
 ' (
       
 ' (
       
 ' (
     
 ' ('
 (
' 
(     !   "     
 ' 
(     !   "     
 ' 
(     !   "     
 ' 
(           
 ' 
(          
 ' 
(          
 ' 
(          
 ' 
(          
 ' 
(        
 ' 
(        
 ' 
(      
 ' (('
(
(' 
   
( ' 
 
( ' 
 
(  
(  ' 
 
( ' 
 
( ' 
 
( ' de
 
( ' 
 
( ' 
 
( ' 
 
( ' ('' 

(' ('

 (' 

(
 
'
    (

  

'
(     (

  

'
' Limites
(     (

  

'
(     (

  

'
(     (

  

'
(     (

  

'
(     (

  

'
(    (

  

'
(    (

  

'
(   (

  

'
(   (

   (' 


 (
('
' 
('  (
' 
     incertidumbres
   ' 
( 
 
  
   ' 
( 
   
   ' 
( 
   
   ' 
( 
   
   ' 
( 
   
   ' 
( 
   
   ' 
( 
   
   ' 
( 
   
   ' 
( 
    ' 
( 
 
('
' 

( '  
(
 ('
 '  
(
     ('
 
        '  

(
     ( '
 
        '  


(
     ( '
 
 de        '  


 (
     ('
 
    modelado       '  

(
     ( '
 
        '  


(
     ( '
 
        '  


(
     ( '
 
        '  


(
   ( '
 
      '  


 (
   ( '
 
      '  


(
 
(   
 '    '    (('' 

(
 
QQ R
R QQ : 9 R QQ : 9 8 77 RQQ : 9 8 77 6 55 R QQ : 9 8 77 6 55 R Q43Q3 : 9211 8 77 6 55 R Q43Q3 : 9211 8 77 6 55 R Q43Q3 : 9211 8 70/7/ 6 5.-5- R Q43Q3 : 9211 8 70/7/ 6 5.-5- R Q43,+Q3+ : 9211 8 70/7/ . --655 R Q43,+Q3+ : 9211 8 70/7/ . --655 , ++RQ43Q3 : 921*)1) 870/ .-65 ,++RQ43Q3 *)):9211 
 ( 
   
(  
(    
    
(  
   
 
 (     
 
(     
  
( y   
 
(     
 
(     
 
 (     
 
(      ((' 

( 
R
<;RQ 
R ; < 9 
: 
R ; < 9 
: 
8 
R ; < 9 
: 
8 
6 
R ; < 9 
: 
8 
6 4 
R ; < 9 2 
: 
8 
6 4 
R ; < 9 2 
: 
8 
6 4 
R ; < 9 2 
: 0 
8 . 
6 4 
R ; < 9 2 
: 0 
8 . 
6 , 4 
R ; < 9 2 
: 0 
8 
. 6 , 4 
R ; < 9 2 
: 0 
8 
. 6 
, 4 R ; < 92*91) 870/7/ .--655 ,+R4<;Q3 *):9291
: ('
' ' 
( (  ' 
 ' 
 'ruido

' 

    
 

 ( '     
' 
 
 

 ( '     
 
'
 



 ( '     
 
'
 



 ( '     
 
'


 

 ( '     
 
'
 



 ( '     
' 
 



 ( '     
 
'
 

 (

'
'     

' 
   ('' 
 
 

<;TS Q 
R ; < S 
T 9 
: Q 
R ; < S 
T 9 
: 7 
8 Q 
R ; < S 
T 9 
: 7 
8 5 
6 Q 
R ; < S 
T 9 
: 7 
8 5 
6 3 Q 4 
R ; < S 
T 1 9 2 
: 7 
8 5 
6 3 Q 4 
R ; < S 
T 1 9 2 
: 7 
8 5 
6 3 Q 4 
R ; < S 
T 1 9 2 
: / 7 0 
8 - 5 . 
6 3 Q 4 
R ; < S 
T 1 9 2 
: / 7 0 
8 - 5 . 
6 + 3 Q , 4 
R ; < S 
T 1 9 2 
: / 7 0 
8 - 
. 5 6 + 3 Q , 4 
R ; < S 
T 1 9 2 
: / 7 0 
8 - 
. 5 6 + 
, 3 Q 4 R ; < S 
T * 2 
: 0 8 . 6 , 4 R ; < S T * 2 : ' '

( '  (
( 

( 
'
'  
  ( 

  '
'  

(   
  '  

(   
  '  
  
  ' 
en
   
 ' 

     '  
 
   ' 

     ' 

  
    ' 

      
RQ< ;RQTS> 99 <
: ;RQTS> 99 8
: 77 <;RQTS>=Q : 99 8 77 6 55 < ;RQTS> 99 8
: 77 6 55 < ;RQ43TS> 92191 8
: 77 6 55 < ;RQ43TS> 92191 8
: 77 6 55 < ;RQ43TS> 92191 8
: 70/7/ 6 5.-5- < ;RQ43TS> 92191 8
: 70/7/ 6 5.-5- < ;RQ43,+TS> 92191 8
: 70/7/ . --655 < ;RQ43,+TS> 92191 8
: 70/7/ . --655 , +<;RQ43T 92191 870/7/ .--655 ,+<;RQ43TSQ3 :92191
: ( 
   ( ( 
 (
( 
 (
( 
 (
( 


 (
( 


 (
( 

 (
( 


 (
( 


 (
( 


 (
( 


   ('( 
 

medida
;TS>
=R<;
QTS>= <
=R<
Q 
: = Q R 
: 
8 R 
: 
8 
6 = Q R 
: 
8 
6 = 3 Q 4 R 2 
: 
8 
6 = 3 Q 4 R 2 
: 
8 
6 = 3 Q 4 R 2 
: 0 
8 . 
6 = 3 Q 4 R 2 
: 0 
8 . 
6 = 3 Q 4 R 2 
: 0 
8 
. 6 = 3 Q 4 R 2 
: 0 
8 
. 6 S = > 3 Q 4 
R 2:
: 80870/ .665 R<;4TSRQ43 :2:921  '
'
 (
 
   
   
' 
    
   
' 
 
    
   
' 
 
    
   
' 
 
   
   
' 
   
   
' 
  
 
   
' 
   
   
' 
     
   
' 
     
   
' 
      
' 

RQ@?TS<; ; TS>
= ? Q @ R 9 
: ; 
< S T = 
> ? Q @ R 9 
: 7 
8 ; 
< S T = 
> ? Q @ R 9 
: 7 
8 5 
6 ; 
< S T = 
> ? Q @ R 9 
: 7 
8 5 
6 ; 
< S T = 
> 3 ? Q 4 @ R 1 9 2 
: 7 
8 5 
6 ; 
< S T = 
> 3 ? Q 4 @ R 1 9 2 
: 7 
8 5 
6 ; 
< S T = 
> 3 ? Q 4 @ R 1 9 2 
: / 7 0 
8 5 
6 ; 
< S T = 
> 3 ? Q 4 @ R 1 9 2 
: / 7 0 
8 5 
6 ; 
< S T = 
> 3 ? Q 4 @ R 1 9 2 
: / 7 0 
8 5 
6 ; 
< S T = 
> 3 ? Q 4 @ R 1 9 2 
: / 7 0 
8 5 
6 ; < S 
T = > 3 Q 4 
R 1 9 2 

  
   
 
   
  
 
  
 
 
 
   
 
 
  
   
 
 
 
  


 
 
 
  


  
 
 
  
  

  

 
 
  


 log 
  

   
   


  
   
 
 
     
 
 ω  

  
  
   
      
 
>=R
Q@?S
BA<;T>=R@ S<;>=R
T
Q ? @ ; A < B 9 
: S<;>=R

T Q ? @ ; A < B 9 
: 7 
8 S<;>=R@?QSBA<; :

T 9 7 
8 5 
6 S<;>=R

T Q ? @ ; A < B 9 
: 7 
8 5 
6 S<;>=R

T 3 Q ? 4 @ ; A < B 1 9 2 
: 7 
8 5 
6 S<;>=R

T 3 Q ? 4 @ ; A < B 1 9 2 
: 7 
8 5 
6 S<;>=R

T 3 Q ? 4 @ ; A < B 1 9 2 
: 7 
8 5 
6 S<;>=R

T 3 Q ? 4 @ ; A < B 1 9 2 
: 7 
8 5 
6 S<;>=R

T 3 Q ? 4 @ ; A < B 1 9 2 
: 7 
8 5 
6 S<;>=R

T 3 Q ? 4 @ ; < 1 9 2 
: 7 
8 5 
6 S<;>=R

T 3 Q 4 ; < 1 9 2 
: 7 8 5 6 S<;R4Q3S<; :921
T             
    
    
    
     
     
       
       
      

      


Q?BA<;TSDC>= 
S T>=R
? Q @ 9 
: 
S T>=R
? Q @ 9 
: 7 
8 T>=R@Q?BA<;TSDC : 9 7 
8 5 
6 
S T>=R
? Q @ 9 
: 7 
8 5 
6 
S T>=R
3 ? Q 4 @ 1 9 2 
: 7 
8 5 
6 
S T>=R
3 ? Q 4 @ 1 9 2 
: 7 
8 5 
6 
S T>=R
3 ? Q 4 @ 1 9 2 
: 7 
8 5 
6 
S T>=R
3 ? Q 4 @ 1 9 2 
: 7 
8 5 
6 
S T>=R
3 ? Q 4 @ 1 9 2 
: 7 
8 5 
6 
S T>=R
3 ? Q 4 @ 1 9 2 
: 7 
8 5 
6 
S T>=R
3 Q 4 1 9 2 
: 7 8 5 6 TR4Q3<;TS :291           
  
 

 





  

RQ@?
BA<;TSODC=
; A < B C S D 
T = > Q@?BA<;T
R
C S D = O 99 R
: ; A < B C S D 
T = > Q@?BA<;T
C S D = O 99 8
: 77 RQ@?BA<;TSODC=QP?> Requisitos = > 99 8
: 77 6 55 R ; A < B C S D 
T = > Q@?BA<;T
C S D = O 99 8
: 77 6 55 R ; A < B C S D 
T = > Q@?43BA<;T
C S D = O 99 8
: 77 6 55 R ; A < B C S D 
T = > Q@?43BA<;T
C S D = O 99 8
: 77 6 55 R ; A < B C S D 
T = > Q@?43BA<;T
C S D = 99 8
: 77 6 55 R ; A < B C S D 
T = > Q@?43BA<;T
C S D = 99 8
: 77 6 55 R ; A < B S 
T = > Q@?43BA<;T
S = 99 8
: 77 6 55 R ; < S 
T = > Q@?43<;T
S = 99 8
: 77 6 55 R ; < S 
T = > Q43<;T
S = 99 877 655 RQ43<;TSQ :99
:                          
    
   
     
      
      
  
    
      
 
QP@?>BA<;T
R > P ? Q @ 
R 
: > P ? Q @ 
R 
: 
8 @ 
R 
: 
8 
6 > P ? Q @ 
R 
: 
8 
6 > P ? Q @ 
R 
: 
8 
6 > P ? Q @ 
R 
: 
8 
6 > ? Q @ 
R 
: 
8 
6 > ? Q @ 
R 
: 
8 
6 > ? Q @ 
R 
: 
8 
6 > ? Q @ 
R 
: 
8 
6 > Q 
R : 887 6 R<;TSRQ ::9
de
SDCRF@
QPOE?>=BA<;TSDC BA<;T
SDCR
= O > P ? E Q @ F 9 
: ; A < B C S D 
T = O > P ? E Q @ F 
R 9 
: 7 
8 ; A < B C S D 
T = O > P ? E Q @ F 
R 9 
: 7 
8 ; A < B C S D 
T = O > P ? E Q @ F 
R 9 
: 7 
8 ; A < B C S D 
T = O > P ? E Q @ F 
R 9 
: 7 
8 ; A < B C S D 
T = O > P ? Q @ 
R 9 
: 7 
8 ; A < B C S D 
T = > ? Q @ 
R 9 
: 7 
8 ; A < B C S D 
T = > ? Q @ 
R 9 
: 7 
8 ; A < B S 
T = > ? Q @ 
R 9 
: 7 
8 ; < S 
T = > ? Q @ 
R 9 
: 7 
8 ; < S 
T = > Q 
R 9 
:
BA<;T BA<;T BA<;TSDCQPOE?>=RHGFBA@<; 9 BA<;T BA<;T BA<;T BA<;T BA<;T BA<;T <;T <;T <;TSQR<; 9:
funcionamiento
QPOE?>=
RHGFBA@<;TSDC SDCQ
= O > P ? E @ F R ; A G < B H 
9 : C S D = O > P ? E 
Q @ F R ; A G < B H 
9 : : C S D = O > P ? E 
Q @ F R ; A G < B H 
9 : C S D = O > P ? E 
Q @ F R ; A < B 
9 : C S D = O > P ? 
Q @ R ; A < B 
9 : C S D = > ? 
Q @ R ; A < B 
9 : C S D = > ? 
Q @ R ; A < B 
9 : S = > ? 
Q @ R ; A < B 
9 : S = > ? 
Q @ R ; < 
9 : S = > 
Q R ; < 
9 :
SDCPO>=R
T SDCPO>=R
T TSDCPO>=RHGFBA@<;QE?TSJIDC : SDCPO>=R
T SDCPO>=R
T SDCPO>=R
T SDC>=R
T SDC>=R
T S>=R
T S>=R
T S>=R
T TSR<;QTS :9
(Rango Activo)
PO>=R
QHGFEBA@?<;T
SJIDCPO>=RGFA@; ? E Q @ F ; A G < B H C I S D J 
T PO>=R 9 
: ? E Q @ F ; A G < B H C I S D J 
T PO>=R 9 
: PO>=RGFA@;QE?TSJIHDCB<PO>= PO>=R 9 ? E Q @ F ; A G < B H C S D 
T 9 
: ? E Q @ F ; A < B C S D 
T PO>=R 9 
: ? Q @ ; A < B C S D 
T PO>=R 9 
: ? Q @ ; A < B C S D 
T >=R 9 
: ? Q @ ; A < B C S D 
T >=R 9 
: ? Q @ ; A < B S 
T >=R 9 
: ? Q @ ; < S 
T >=R 9 
: Q ; < S 
T >=R 9 
:
QE?TSJIHDCB<
POLK>=NFE@? FA@;QE?T
G < B H C I S D J = K O > L P ? E Q @ F ; A G < B H C I S D J 
T = O > P ? E Q @ F ; A G < B H C S D 
T = O > P ? E Q @ F ; A < B C S D 
T = O > P ? Q @ ; A < B C S D 
T = O > P ? Q @ ; A < B C S D 
T = > ? Q @ ; A < B C S D 
T = > ? Q @ ; A < B S 
T = > ? Q @ ; < S 
T = > QT
; < S = > R;QTS<
TSJIHGDCBA<;
POLK>=MNF ? E @ 
F SJIHGDCBA<;POLK>=F
T ? E @ 
F SJIHGDCBA<;PO>=F

T ? E @ 
F SJIHGDCBA<;PO>=F@E?SIHGCBA T

T ? E @ 
F SHGDCBA<;PO>=F ? E 
@ F SDCBA<;PO>=F@

T ? 
@ SDCBA<;PO>=@

T ? 
@ SDCBA<;>=@

T ? 
@ SDCBA<;>=@

T ? 
@ SBA<;>=@

T ? @ S<;>=@?ST

T S<;>=STS<;S
E@?S
IHGCBATPOLKJD>=F@ ? E @ A G B H C I 
S ? E @ A G B H C I 
S ? E @ A G B H C 
S ? E A B C 
S ? A B C 
S ? A B C 
S ? A B C 
S ? A B 
S
ME?HGBAJIDCTPOLKJD>=F IDC TPOJD>=F
@E?HGBAJ IDC TPOJD>=F@E?HGBAJIDC TPOD>=F
@E?HGBAJ C TPOD>=F@
@E?HGBAD C TPOD>=@
E?BAD C TD>=@
?BAD C TD>=@
?BAD ?BADC T>=@ ?BA T>=@? T>= T
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á 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ón en el intervalo de frecuencia en el que el ruido


es importante
2.6. DISEÑO EN EL ESPACIO DE ESTADO 59

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

Pero aquı́ ocurre un problema: el aumento en la pendiente de atenuación de la


curva M hace reducir el margen fase.
Otra importante restricción de diseño es la tolerancia a imprecisiones de modela-
do. El análisis 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ás concretamente, cuanto menor sea el valor de |1 + G( jω)|, ω ∈ (0, ∞),
mayor precisión se necesita en el modelado. En efecto, la expresión

1
SGT =
1+G

es la sensibilidad de la función T = G/(1 + G) respecto del parámetro G.


En la práctica nos encontramos con que las imprecisiones en el modelado de la
planta aumentan con la frecuencia, debido sobre todo a la existencia de dinámicas no
modeladas como retardos de tiempo, resonancias mecánicas, polos de alta frecuencia,
etc. Por ello la ganancia a alta frecuencia debe ser pequeña para mantener el sistema
estable. En particular, esto significa que la compensación puede aumentar la anchura
de banda (BW) del sistema sólo si el modelo continúa siendo relativamente preciso
en BW. Si intentáramos ensanchar BW sobre la región en que las incertidumbres de
modelado son elevadas, ello conducirı́a a un funcionamiento indeseable, o incluso a
la inestabilidad.

2.6. Diseño en el Espacio de Estado


Los métodos basados en el Lugar Geométrico de las Raı́ces y en la Respuesta de
Frecuencia, propios del modelo de función de transferencia, se basan en la realimen-
tación de la variable salida y, por lo común, en la utilización de controladores con un
reducido número de parámetros de diseño: controladores PID y de adelanto-retraso
de fase. El número de polos en lazo cerrado que podemos ubicar por diseño con estos
controladores es de dos.
Con estos métodos, el diseño de compensadores para ubicar más de dos polos
resulta complicado debido en gran parte a la dificultad de relacionar los parámetros
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ón suficiente, como vamos a
ver, para cambiar la posición de todos los polos del sistema a otras nuevas posiciones
prefijadas a voluntad.
60 CAPÍTULO 2. DISEÑO DE CONTROLADORES

2.6.1. Asignación de polos


Sea un sistema dinámico cuyo modelo de estado está en forma canónica contro-
lable.
   
0 1 0
. .. . 
 . 
  
ẋ =  x +  . u
 
 1   0 
−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á definido por la ú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ı́sti-
co
α(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

ẋ = (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ás sencilla de resolver el problema de asignación 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ámetros Kp , Ti y Td . Para su cálculo teórico podemos aplicar cualquiera
2.7. SINTONÍA 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ámetros del PID en base a ese modelo y probar luego
cómo funciona el control en la realidad. Pero ¿cómo buscar un modelo simple de
un planta desconocida? La respuesta que a esta cuestión dieron Zeigler y Nichols
está basada en la siguiente observación: en la industria de control de procesos, “la
mayorı́a” de las plantas a controlar admiten como modelo externo la función no
racional
A e−T s
G(s) = a ≥ 0. (2.26)
s+a
Bajo este supuesto, los métodos de ajuste constan de dos etapas:

1. Realizar un experimento para determinar los parámetros A, a y T de la planta.

2. Calcular, con fórmulas apropiadas, los parámetros Kp , Td y Ti del controlador


a partir de los parámetros hallados.

Se han desarrollado dos métodos, llamados método de lazo abierto y método de


lazo cerrado.

Método de lazo abierto


Suponiendo que el modelo

A e−T s
G(s) = ,
s+a
es válido para planta, este método consisten en aplicar un escalón unitario 1(t) a
la planta y medir su respuesta temporal y(t) para, a partir de ella, calcular los
parámetros A, a y T de su supuesto modelo.
En el experimento hemos medido la respuesta al escalón y(t) de la planta (figura
2.29).
Primero calcularemos T . Trazando la tangente a la curva y(t) en el punto de
máxima pendiente y hallando su intersección 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áxima pendiente de y(t) se darı́a en el punto
de intersección de la curva con el eje t. Pero, como no va a ser asi, lo que hemos
hecho es una aproximación que consiste en sustituir la parte baja de la curva por la
tangente de pendiente máxima.
Veamos ahora como se hallan a y A. Sabemos que el valor de la respuesta y0 (t)
a un escalón unitario de la planta con retardo nulo
A
G0 (s) =
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.


62 CAPÍTULO 2. DISEÑO DE CONTROLADORES

y (t ) y (t ) A
a

0.632 A

T t t1 t

Figura 2.29: Cálculo de T (izquierda), de a y de A (derecha)

Por tanto, la respuesta al escalón unitario de la planta con retardo T

A e−T s
G(s) = ,
s+a

en el instante τ + T , valdrá también 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ón 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ón unitario, el valor final de la respuesta o valor en estado
estacionario es igual a la la ganancia estática de la planta.

A
yss = lı́m y(t) =
t→∞ a

Por ello,
A = a yss

El valor
Rr = A/τ = aA

se llama tasa de reacción reaction rate.


En el caso en que la constante a sea nula, aún es posible definir los valores de T
(igual que antes) y de Rr que es igual a la pendiente máxima de la respuesta.
El principal inconveniente del método 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ÍA DE CONTROLADORES PID 63

Método de lazo cerrado


Permite calcular los parámetros del modelo G(s) de la planta haciendo un ex-
perimento con el control PID en funcioonamiento, en lazo cerrado. El método es el
siguiente. Con el proceso en funcionamiento se ponen los parámetros de PID con los
valores Td = 0 (o el valor mı́nimo posible), Ti = ∞ (o el valor máximo 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ón Tu .
Aunque este método es más factible que el anterior, también puede resultar a
veces problemático: 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étodos, también de lazo cerrado, que se basan en el funcionamiento
normal del controlador para hacer los cálculos y, además, si se ponen en modo
automático son capaces de ponerse ellos mismos los valores más adecuados a las
circustancias. Son los controladores inteligentes.

2.7.1. Ajuste de los parámetros 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ámetros Kp , Td y Ti del
controlador de forma aproximada.
Entre los métodos 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.

Zeigler-Nichols Shinskey Zeigler-Nichols Cohen-Coon


Tipo (lazo cerrado) (lazo cerrado) (lazo abierto) (lazo abierto)
1 τ T
P Kp 0,5Ku 0,5Ku Rr T AT
(1 + 3τ )
0,9 τ T
P I Kp 0,45Ku 0,5Ku Rr T AT
(0,9 + 0,082 3τ )
3,33+0,3T /τ
Ti 0,833Ku 0,43Ku 0,33T T ( 1+2,2T /τ )
1,2 τ
P ID Kp 0,6Ku 0,5Ku Rr T AT
(1,35 + 0,27 Tτ )
Td 0,5Ku 0,34Ku 2T T ( 2,5+0,5T /τ
1+0,6T /τ
)
0,37
Ti 0,125Ku 0,08Ku 0,5T T ( 1+0,2T /τ )
64 CAPÍTULO 2. DISEÑO DE CONTROLADORES
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án comandados por eventos: sistemas que están permanentemente reaccionando
a estı́mulos externos e internos.
Teléfonos, automóviles, redes de comunicación, sistemas operativos de ordena-
dores, sistemas de aviación, y las interfaces hombre-máquina 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ón computerizada del
sistema.
Los primeros modelos (aun hoy utilizados) de estos sistemas fueron las máqui-
nas de estados y sus correspondientes diagramas estado-transición 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 de-
bido 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 media-
na complejidad resulta un diagrama de estado desestructurado, de gran dimensión
y de dificil manejo.
Para poder ser util, un modelo ha de ser modular, jerárquico 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ás deberı́a también atender de modo natural a especificaciones más generales
y flexibles, tales como

Capacidad de agupar varios estados en un superestado.

Posibilidad de ortogonalidad o independencia (paralelismo) entre cietos esta-


dos.

67
68 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

Necesidad de transiciones más 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, permi-
tiendo el agupamiento de estados, la ortogonalidad y el refinamiento, y permiten la
visualización tipo ”zoom”entre los diferentes niveles de abstracción [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ás 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ás de estas cinco se cumplen también


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 álgebra de Boole.

3.1.1. Funciones booleanas


Si X e Y son dos conjuntos, sabemos que una función

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ólo uno) y ∈ Y . La ley que
define la función viene dada a veces por una expresión algebraica, como por ejemplo

f: R → R
x 7→ x2 + 2x + 5,
3.1. ALGEBRA DE BOOLE 69

que define una función real de una variable real o


f : R2 → R
(x, y) 7→ x2 − y 2 ,
que define una función real de dos variables reales. Pero otras veces la ley puede
venir expresada de cualquier otra forma tal que describa completamente la corres-
pondencia 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ón booleana de n variables x1 , x2 , . . . , xn , se define como una aplicación
de Zn2 en Z2 , es decir
f : Zn2 → Z2
(x1 , . . . , xn ) 7→ f (x1 , . . . , xn )
Por ser Zn2 un dominio finito, una función booleana siempre se puede expresar en
forma de tabla. La tabla que define una función booleana se llama tabla de verdad
de la función.
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 x2 x3 f x1 x2 x3 g
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
0 1 1 0 0 1 1 0
1 0 0 0 1 0 0 0
1 0 1 0 1 0 1 0
1 1 0 1 1 1 0 1
1 1 1 1 1 1 1 1 ,
son iguales.

Formas canónicas
Evidentemente, la equivalencia de funciones booleanas es una relación de equiva-
lencia. Esta relación permite dividir el conjunto de funciones booleanas de n variables
en clases de equivalencia. El representante canónico de cada clase de equivalencia
no es único: tenemos la forma canónica suma de min-terms, como por ejemplo
f (a, b, c, d) = abcd + abcd + abc!d
y la forma canónica producto de max-terms, tal como
f (a, b, c, d) = (a + b + cd)(a + b + c + d)(a + bc + d).
70 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

Una función booleana f (x1 , . . . , xn ) se dice que está expresada en la forma canóni-
ca suma de min-terms si viene dada en la forma
n
σ
X Y
f (x1 , . . . , xn ) = xj j f (σ1 , . . . , σn )
(σ1 ,...,σn )∈Zn
2
j=1

en donde 
σ xj si σj = 0
xj j = .
xj si σj = 1
Cada uno de los sumandos que componen la forma canónica se llama término canóni-
co o, a veces, término mı́nimo (min-term) o simplemente término.
Es fácil ver que en un álgebra de Boole con n variables existen 2n términos
canónicos diferentes. A modo ilustrativo, en la siguiente tabla se indican los min-
terms 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én por un número binario en el que


cada dı́gito representa una variable negada si es cero, o sin negar si es uno. Aún
de forma más compacta, un minterm se puede identificar por el número decimal
correspondiente al antedicho número binario. Ası́, por ejemplo, el minterm xyz se
identifica también por el número binario 010 o simplemente por el número decimal
2.
La forma canónica de una función 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ón canónica de f se obtiene como suma
de todos los productos obtenidos.
Otra forma de obtener la forma canónica de una función f (x1 , . . . , xn ) es partir de
una expresión cualquiera de la función y multiplicar por (xi + xi ) todos los términos
de la misma que no contengan la variable xi , para i = 1, . . . , n.

3.1.2. Simplificación de funciones booleanas


La forma canónica de una función es fácil de obtener pero no siempre es la más
conveniente, sobre todo si pensamos en la realización fı́sica, ya que su expresión
puede resultar excesivamente larga. Simplificar una función f consiste en obtener
otra función g equivalente a f y con una expresión más simple.
La simplificación de una función conduce a una más simple y, en general, más
eficiente implementación de la misma, bien sea por medio de un programa de orde-
nador o por medio de un circuito neumático, o eléctrico o electrónico.
3.1. ALGEBRA DE BOOLE 71

Los métodos más utilizados para simplificar funciones booleanas son el Karnaugh
y el de Quine-McCluskey.
Los métodos de simplificación de funciones lógicas consisten esencialmente en
aplicar la ley de complementación x+x = 1 que, evidentemente, implica f ·(x1 +x1 ) ≡
f . Se puede ver que, tras aplicar repetidamente esta ley a la función, con todas y
cada una de las variables, ésta queda reducida a una suma de implicantes primos
(términos irreducibles).

Método de Karnaugh
Es un método gráfico válido para funciones de hasta cuatro o cinco variables como
máximo. Dada una función f (x1 , . . . , xn ) en forma canónica, consiste en anotar los
valores de la función en una tabla, denominada mapa de Karnaugh, de tal forma que
los términos canónicos geométricamente adyacentes en la tabla se diferencian sólo
en una variable. Esto se consigue fácilmente poniendo en las casillas de cabecera de
filas y de columnas los números binarios de dos cifras

00 01 11 10

que representan a un par de variables y que están 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 10
00 00 00 00
00 01 11
00
10
01 01 01 01
00 01 11
01
10
11 11 11
00 01
11
11
11
10
10 10 10
00 01
10
11
10
10

En esta tabla, cada casilla representa el término canónico (min-term) de la función


que se ha indicado en la misma. Se ve claramente que cada min-term difiere de los
adyacentes en sólo un dı́gito binario. Obsérvese que la ú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ógicamente, 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ÍTULO 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étodo de Quine-McCluskey
Si el número de variables es elevado, el método de Karnaugh resulta complicado
de utilizar (caso de cinco variables) o impracticable. En estos casos es aplicable
el método tabular de Quine-McCluskey. Dada una función en forma canónica de
suma de min-terms, este método consiste en ir combinando unos términos con otros,
de forma sistemática y en sucesivas iteraciones, hasta encontrar un conjunto de
implicantes primos en cada uno de los cuales se ha eliminado el mayor número posible
de variables. Con este conjunto de implicantes primos, el usuario (posiblemente
ayudado de algún algoritmo o programa) ha de seleccionar un subconjunto minimal
que cubra la función. Lo introduciremos con un ejemplo.

Ejemplo 3.1.1 Sea la función

f (x1 , x2 , x3 , x4 ) = Σ(0, 7∗ , 9, 12∗ , 13, 15)

En primer lugar escribimos la tabla

i min-terms
0 0 0 0 0
7∗ 0 1 1 1
9 1 0 0 1
12∗ 1 1 0 0
13 1 1 0 1
15 1 1 1 1

cuya primera columna es el ı́ndice de los términos para los que la función vale uno
y, marcados con un asterisco (∗ ), los términos indiferentes, es decir, aquellos para
los que, fı́sicamente, no importa que el valor de la función sea cero o uno.
Ordenamos la tabla, de menor a mayor, por el número u de unos que contiene
cada término, con lo que la tabla queda dividida en grupos de términos 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érminos con un único uno, ese grupo queda
3.1. ALGEBRA DE BOOLE 73

vacı́o.
u i 1-term
0 0 0000
1
2 9 1 0 0 1
12∗ 1 1 0 0
3 7∗ 0 1 1 1
13 1 1 0 1
4 15 1 1 1 1
En esta tabla, cada grupo difiere del siguiente en un solo uno y, por tanto, se puede
combinar cada término de un grupo con uno del siguiente.
Procedamos a combinar los términos cada grupo. Como no hay términos en el
grupo u = 1, el término 0 0 0 0 no se puede combinar con ninguno. Pasando al grupo
u = 2, el término 1 0 0 1 se puede combinar con el término 1 1 0 1 grupo siguiente,
u = 3, 
1001
→ 1 - 1 1,
1101
dando lugar al término 1 - 1 1, o sea x1 x3 x4 . El término 1 1 0 0 se puede combinar
con el mismo término 1 1 0 1 que el anterior,

1100
→ 1 1 0 -,
1101
dando lugar al término 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érmino 0 1 1 1 se puede combinar
con el término 1 1 1 1 del último grupo, u = 4,

0111
→ - 1 1 1,
1111
dando lugar al término - 1 1 1, o sea x2 x3 x4 . Por último, el término 1 1 0 1 se puede
combinar también con el término 1 1 1 1

0111
→ 1 1 - 1,
1111
dando lugar al término 1 1 - 1, o sea x1 x2 x4 .
Todo este proceso puede resumirse en la tabla siguiente.
u i 1-term 2-term
0 0 0000 0000
1
2 9 1 0 0 1 1 - 1 1
12∗ 1 1 0 0 1 1 0 -
3 7∗ 0 1 1 1 - 1 1 1
13 1 1 0 1 1 1 - 1
4 15 1 1 1 1
74 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

En esta tabla, ningún término de la última columna puede combinarse y el pro-


ceso termina. Sin tomar términos indiferentes, la función lógica simplificada es

f = x1 x2 x3 x4 + x1 x3 x4 + x1 x2 x4 .

Un término indiferente puede aprovecharse si cubre más de un min-term.

Algoritmo de Quine
Como ya se ha indicado, el método de Quine-McCluskey, lo mismo que el de
Karnaugh, se basa en utilizar repetidamente la ley a + a = 1. Dada una función f
en forma canónica 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érmino i-ésimo, Ti , de la lista


para j desde i + 1 hasta m hacer
Tomar el término j-simo, Tj , de la lista
Simplificar, si es posible, la expresión Ti + Tj , aplicando la ley a + a = 1
y poner el término 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ás.

Este algoritmo, aunque correcto, tiene el inconveniente de que exige un gran


coste computacional si el número de variables es elevado. Una adecuada ordenación
de la lista original permite mejorar la estrategia de operación.
El programa quine.c que se incluye a continuación implementa el algoritmo y se
puede utilizar para simplificar funciones lógicas. 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

// for (i=0; i<n1-1; i++) {


// Programa quine if (H[i] != 3) {
// for (j=i+1; j<n1; j++) {
// Para simplificar una función lógica: if (H[j] != 3) { f1 = 0;
// 1) poner en archivo la función, p.ej., // busca elementos a combinar
// for (k=0; k<n2; k++) {
// 6 4 // significa n.terms=6 n.vars=4 if (M[i][k] != M[j][k]) {
// 0 1 1 1 // lista de minterms f1 = f1+1; f2 = k+1;
// 0 1 1 0 // . if (f1 > 1) goto fuera; } }
// 1 1 1 1 // . if (f1 != 0) { H[i] = 1; H[j] = 1;
// 1 0 1 1 // . // formacion matriz salida
// 0 0 0 0 // . for (k=0; k<n2; k++) {
// 1 0 0 1 // . if (k+1==f2) N[l1][k] = 2;
// else N[l1][k] = M[i][k]; }
// 2) Compilar el programa: for (k=0; k<m6; k++) {
// cc -o quine quine.c (bajo Linux) D[l1][k] = G[i][k];
// 3) Ejecutarlo: ./quine < archivo D[l1][m6+k] = G[j][k]; }
// l1 = l1+1;
#include <stdlib.h> }
#define nv 10 else H[j] = 3;
#define nt 40 }
#define h2 nt/2 fuera:
#define ng nt/3 }
#define ny nt-ng }
}
int main( int argc, char **argv ) k5 = 0;
{ for (i=0; i<n1; i++) {
int M[nt][nv] = {0}; if (H[i]==0) { m5 = m5+1;
int N[nt][nv] = {0}; for (k=0; k<n2; k++) Z[m5-1][k] = M[i][k];
int H[nt] = {0}; for (k=0; k<m6; k++) Y[m5-1][G[i][k]] = 1;}
int G[nt][ng] = {0}; else { if (H[i]=1) k5 = 1; }
int D[nt][ng] = {0}; }
int Z[h2][nv] = {0}; if (k5 == 1){
int Y[h2][ny] = {0}; m6 = 2*m6; n1 = l1;
int i,j,k,k5,l1,m5,m6,n1,n2,n9,f1,f2; for (i=0; i<l1; i++) {
int (*pm)[nv]; for (j=0; j<m6; j++) G[i][j] = D[i][j];
pm = M; for (j=0; j<n2; j++) M[i][j] = N[i][j]; }
// lectura de los datos de entrada goto lazo;
scanf("%d %d", &n1, &n2); }
n9 = n1; else{
for (i=0; i<n1; i++){ printf("Matriz de implicantes primos\n");
for (j=0; j<n2; j++){ for (i=0; i<m5; i++) {
scanf("%d", &pm[i][j]); for (j=0; j<n2; j++) printf("%d ",Z[i][j]);
} printf("\n"); }
scanf("\n"); printf("Matriz de cubrimiento\n");
G[i][0]=i; for (i=0; i<m5; i++) {
} for (j=0; j<n9; j++) printf("%d ",Y[i][j]);
m5 = 0; m6 = 1; printf("\n"); }
lazo: }
l1 = 0; return(0);
for (i=0; i<n1; i++) H[i] = 0; }

3.2. Sistemas combinacionales


Un sistema combinacional es un sistema de control que tiene p entradas u1 (t), . . . , up (t) ∈
Z2 y q salidas y1 (t), . . . , yq (t) ∈ Z2 , tales que, para todo t ∈ I cada una de ellas es
una función booleana de las entradas, es decir,

yi (t) = fi (u1 (t), . . . , up (t)), i = 1 . . . q.

En el caso de tiempo continuo (sistemas digitales ası́ncronos) el dominio I es un


intervalo de R mientras que si el tiempo es discreto (sistemas digitales sı́ncronos) el
76 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

dominio de las funciones es

I = {t0 , t0 + T, . . . , t0 + kT, t0 + 2kT, . . .}, t0 , T ∈ R.

u1 (t)- y1 (t)-
u2 (t)- y2 (t)-
.. S.C. ..
. .

up (t)- yq (t)-

En los sistemas combinacionales se asume que los valores de las salidas en un


instante determinado t sólo dependen de los valores que en ese mismo instante tengan
las entradas. En la realidad fı́sica ésto no es ası́, sino que desde que cambia el valor
de las entradas hasta que el sistema cambia de estado transcurre un cierto tiempo si
bien, como el sistema evoluciona con gran rapidez, se da por válida tal suposición.

3.2.1. Funciones lógicas elementales


Se llaman funciones lógicas elementales a las funciones lógicas más simples que
pueden construirse utilizando los operadores lógicos. Estas funciones se pueden rea-
lizar fı́sicamente mediante diferentes tecnologı́as, como la eléctrica, la neumática y
la electrónica, dando lugar a dispositivos lógicos que, a su vez, sirven para cons-
truir automatismos de distintas clases. Cada función lógica tiene un sı́mbolo, dado
por la norma ISO, aunque se usan a veces otros sı́mbolos en electrónica y en otras
tecnologı́as.

Función AND
Esta función realiza la operación de producto ordinario en Z2 , o conjunción
lógica, entre varias variables. La tabla de verdad z = (x and y) para dos variables y
su sı́mbolo DIN son

x y z
0 0 0 x-
0 1 0 z-
y- &
1 0 0
1 1 1

Función OR
Esta función realiza la operación de suma ordinaria en Z2 , o disyunción lógica,
entre varias variables. La tabla de verdad z = (x or y) para dos variables y su sı́mbolo
3.2. SISTEMAS COMBINACIONALES 77

DIN son
x y z
0 0 0 x-
0 1 1 z-
1 0 1 y- ≥ 1
1 1 1

Función NAND
Esta función es el complemento en Z2 de la función and entre varias variables.
La tabla de verdad z = (x nand y) para dos variables y su sı́mbolo DIN son

x y z
0 0 1 x-
0 1 1 & d z-
1 0 1 y-
1 1 0

Obsérvese que el sı́mbolo de esta función se obtiene colocando un pequeño cı́rculo


(◦), que representa la negación lógica, tras el sı́mbolo de la función and.

Función NOR
Esta función es el complemento en Z2 , de la función or entre varias variables.
La tabla de verdad z = (x nand y) para dos variables y su sı́mbolo DIN son

x y z
0 0 1 x-
0 1 0 d z-
1 0 0 y- ≥ 1
1 1 0

Igual que en la nand, el sı́mbolo se obtiene colocando (◦) tras el bloque de la función
or.

Función XOR
La función xor, o disyunción exclusiva, vale 1 si todas las variables de entrada
son iguales, es decir si son todas igual a uno o todas igual a cero, y vale 1 en caso
contrario, es decir siempre y cuando haya variables de entrada con valor diferente.
La tabla de verdad z = (x xor y) para dos variables y su sı́mbolo DIN son

x y z
0 0 1 x-
0 1 0 d z-
1 0 0 y- = 1
1 1 1
78 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

3.2.2. Sistemas secuenciales


Un sistema secuencial es un sistema de control que tiene, como un combinacional,
p entradas u1 (t), . . . , up (t) ∈ Z2 y q salidas y1 (t), . . . , yq (t) ∈ Z2 , pero que además
tiene otras variables n,
x1 (t), . . . , xn (t) ∈ Z2 ,
llamadas variables de estado, cuyos valores dependen de alguna manera del compor-
tamiento del sistema en instantes anteriores a t.

u1 (t)- y1 (t)-
u2 (t)- x1 (t) y2 (t)-
x2 (t)
.. .. ..
. . .
xn (t)
up (t)- yq (t)-

Ahora cada una de las salidas, para todo t ∈ I, es una función booleana de
las entradas y de los estados. Sin embargo la expresión general de esta función
resulta complicada ya que debe incluir los valores de los estados para instantes
anteriores a t. Se puede emplear, cuando sea posible, el modelo de estado (ecuación
diferencial) estudiado en la teorı́a de control. Sin embargo se han ido desarrollado
otros modelos, primero las Máquinas de estados, más tarde las Redes de Petri y el
Grafcet y, recientemente, las cartas de estado o Statecharts.
Los sistemas secuenciales se llaman sistemas con memoria porque tienen unos
registros internos con capacidad para almacenar las variables de estado.

3.3. Máquinas de estados


Una máquina de finitos estados (o simplemante máquina de estados) es us sistema
secuencial que posee un número finito q de entradas, un número finito n de estados
y un número finito p de salidas. Tanto las señales de entrada como las de salida y
las de estado, toman valores binarios. Si definomos los conjuntos

U := Zq2 , X := Zn2 , Y := Zp2 , (3.1)

entonces podemos decir que la entrada (vector) es u(t) ∈ U , la salida (vector) es


y(t) ∈ Y y el estado (vector) es x(t) ∈ X, siendo t ∈ R la variable que representa el
tiempo.
A veces (teorı́a de gramáticas formales) se consideran estos conjuntos como con-
juntos de sı́mbolos cualesquiera peqro aquı́ vamos a seguir las definiciones dadas
en A veces (teorı́a de gramáticas formales) se consideran éstos como conjuntos de
sı́mbolos cualesquiera peqro aquı́ vamos a seguir las definiciones dadas en (3.1).
3.3. MÁQUINAS DE ESTADOS 79

Por ser la máquina de estados un sistema de control, las señales de entrada


pueden cambiar en su evolución en el tiempo y ésto hace que cambien también las
señales de estado y las de salida. En la teorı́a de autómatas se han descrito dos
tipos de máquinas de estado: el autómata de Mealy y el autómata de Moore. Se
diferencian únicamente por la forma de definir la función de salida. Para simplificar
la esctitura de las expresiones, se omite la dependencia respecto de t de las funciones.

3.3.1. Autómata de Mealy


Un autómata de Mealy se define como una quintupla

M1 = {U, Y, X, f, g}

en donde U, Y y X, definidos en (3.1), son los conjuntos de valores de entrada, de


salida y de estado, respectivamente, y las funciones f y g definen las dependencias
entre la entrada, el estado y las salidas. La función que define el estado es

f :U ×X → X
(u, x) 7→ x = f (u, x)

y la función que da la salida,

g :U ×X → Y
(u, x) 7→ y = f (u, x)

3.3.2. Autómata de Moore


Un autómata de Moore se define como una quintupla

M1 = {U, Y, X, f, g}

en donde U, Y y X, definidos en (3.1), son los conjuntos de valores de entrada, de


salida y de estado, respectivamente, y las funciones f y g definen las dependencias
entre la entrada, el estado y las salidas. La función que define el estado es

f :U ×X → X
(u, x) 7→ x = f (u, x)

y la función que da la salida,

g:X → Y
(x) 7→ y = f (x)

Dado un autómata de Mealy siempre se puede encontrar autómata de Moore


equivalente (es decir, tal que para una misma entrada da siempre la misma salida)
y viveversa. Por ser más simple se utiliza más el de More.
80 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

3.3.3. Tablas de estado


Como los conjuntos U de entrada, Y de salida y X de estado son finitos, las
funciones f y g que definen el comportamiento de un autómata (de Mealy o de
Moore) pueden darse en forma tabular. La función f tabulada se llama tabla de
transición mientras que la g se llama tabla de salida.
Para el autómata de Mealy, las tablas son de la forma

Tabla de transición Tabla de salida


f u1 u2 ... u2q g u1 u2 ... u 2q
x1 x1,1 x1,2 ... x1,2q x1 y1,1 y1,2 ... y1,2q
x2 x2,1 x2,2 ... x2,2q x2 y2,1 y2,2 ... y2,2q
.. .. .. .. .. .. .. ..
. . . . . . . .
x2n x2n ,1 x2n ,2 . . . x2n ,2q x2n y2n ,1 y2n ,2 . . . y2n ,2q

y, para el de Moore,

Tabla de transición Tabla de salida


f u1 u2 ... u 2q g
x1 x1,1 x1,2 ... x1,2q x1 y1
x2 x2,1 x2,2 ... x2,2q x2 y2
.. .. .. .. ..
. . . . .
x2n x2n ,1 x2n ,2 . . . x2n ,2q x 2n y 2n

Con estas tablas queda completamente descrita una máquina de estados. Obsérve-
se que, en ambos casos, el tamaño tabla de transición tiene (2n × 2q ) casillas.

3.3.4. Diagramas de estado


3.3.5. Dispositivos biestables
Ciertos dispositivos fı́sicos se construyen de forma que sólo tienen dos posibles
estados de equilibrio los cuales, en cada caso, reciben nombres tı́picos que los iden-
tifican. En la tabla se indican algunos de ellos junto con los nombres de sus dos
estados.
Dispositivo Estados
Mecánico sı́ / no
Interruptor eléctrico abierto / cerrado
Válvula abierta / cerrada
Transistor saturación / corte
Estos y otros dispositivos permiten construir otros aparatos más complejos que
se llaman automatismos o sistemas digitales según sea su ámbito de aplicación, y
que pueden ser de dos clases

Sistemas combinacionales
3.3. MÁQUINAS DE ESTADOS 81

0 1

Figura 3.1: Dispositivo mecánico de dos estados estables.

Sistemas secuenciales

En un sistema de control, tanto las entradas como las salidas pueden tomar,
en general, valores reales cualesquiera. Pues bien, en los automatismos y sistemas
digitales cada una de dichas variables tiene dos valores fundamentales, llamados a
veces niveles lógicos “0” y “1”, que corresponden a estados de equilibrio del sistema.
Esto no quiere decir que las entradas y salidas no puedan tomar otros valores sino
que, en la práctica, por alguna razón, sólo vamos a considerar dichos valores lógicos,
desechando el resto. La razón para poder hacer esto es que los dispositivos biestables
están construidos de tal manara que sólo admiten dos posiciones de equilibrio estable
y que el tránsito entre ambos estados se realiza rápidamente.
Por ejemplo, una balanza con una pesa en uno de los dos platos es uno de estos
dispositivos. Aunque la balanza puede tomar todas las posiciones intermedias, sólo
consideramos dos: posición “0” (balanza vencida hacia la izquierda) y posición “1”
(balanza vencida hacia la derecha). Al cambiar la pesa de plato el sistema cambia
de estado y, si la pesa es suficientemente grande, el dicho cambio será rápido.
Otro dispositivo bi-estable bien conocido es un interruptor de alumbrado domés-
tico. La forma y la elasticidad del conductor 2 hacen que este sistema, de acciona-
miento manual, tenga dos estados estables. En la figura de la izquierda los contactos
del interruptor están unidos por la presión que el conductor elástico 2 hace sobre
el 1 y el interruptor está cerrado. En la figura de la derecha, tras girar la llave de
encendido, se separan los contactos y el interruptor está cerrado.
Los biestables electrónicos son circuitos muy conocidos y utilizados. Son básicos
para la construcción de otros circuitos electrónicos más complejos como por ejemplo
las memorias RAM (figura 3.4).
La balanza, el interruptor doméstico y el biestable electrónico, son sistemas que
permanecen en el mismo estado por tiempo indefinido una vez que se dejan de aplicar
sus correspondientes entradas. Por eso se dice que son sistemas con memoria. Por
el contrario, hay otros sistemas, llamados sistemas sin memoria, que cuando las
entradas dejan de actuar, pasan a un estado llamado de reposo. Un ejemplo sencillo
de este tipo de sistemas es un pulsador eléctrico.
82 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS



  
                        


  
   
  
   
  
   
  
   
  
   
  
   
  
   
  
   
  
   
  
   
  
   
 

   
 

  
                       


 
 
 
 
 
 
 
 
 
 
 
 
   


                        


 
                       1   1


 

  
  
  
  
  
  
  
  
  
  
  
  

2 2

Figura 3.2: Interruotor doméstico.




    



 
   



  
   

 1

  

     2

Figura 3.3: Pulsador

Ejercicio 3.3.1 Identificar la entrada, la salida y los estados de equilibrio de los


siguientes sistemas:

1. Sistema mecánico de la balanza de la figura 3.1.

2. Sistema del interruptor (figura 3.2).

3. Biestable electrónico de la figura 3.4. Explicar su funcionamiento.

4. Pulsador eléctrico de la figura 3.3. Explicar su funcionamiento.

Vcc

RC RC
V1 V2

RB RB

E1 E2

Figura 3.4: Circuito electrónico biestable


3.4. MÁQUINAS DE FINITOS ESTADOS 83

3.4. Máquinas de finitos estados


3.5. Sistemas automáticos de producción
El objeto de un sistema de producción es aportar valor añadido a un conjunto
de productos y materias primas para obtener un producto terminado o una parte
de éste. El sistema de producción recibe un flujo de materiales en bruto, consume
diferentes tipos de energı́a (eléctrica, neumática, hidráulica, etc.), asi como también
cierta cantidad de materiales auxiliares (agua, lı́quido refrigerante, aceite, etc.) y
genera un flujo de productos elaborados y otro flujo de productos de desecho.
Todo sistema de producción requiere de operadores humanos para la explotación
y para su reglaje y mantenimiento. En consecuencia, automatizar un sistema de
producción consiste en reducir la intervención humana a lo largo del proceso de
fabricación, optimizar la utilización de los materiales y de las energı́as empleando
nuevas tecnologı́as y conseguir unas mejores prestaciones y una mejor calidad del
producto terminado. La automatización permite, en general, hacer más competitivo
el producto y por ende a la empresa.
Un sistema automatizado de producción (SAP) se compone de dos partes: una
parte operativa (PO) y una parte de comando (PC)

3.5.1. Parte operativa


La parte operativa está formada por los diversos dispositivos que interactúan
sobre el producto para otorgarle valor añadido: preactuadores, actuadores y cap-
tadores. Los preaccionadores actúan como relés de potencia entre el mando y los
actuadores que se encargan de transformar el producto. Los captadores recogen
informaciones como posición del producto, alarmas, etc., que reflejan el estado del
proceso en todo momento. Los cambios en el estado del proceso medidos por los cap-
tadores son entradas que provocan que el sistema de mando responda de la forma
adecuada para la que ha sido diseñado.

3.5.2. Parte de Comando


La Parte de Comande (PC) o Sistema de Controle/Comando (SCC.) es el con-
junto de inforrmaciones y programas que conciernen al control y pilotaje del proceso.
También incluye una parte puramente material (cableado) impuesta por las nor-
mas de seguridad.
Ordres Compte rendusou e’tats PartieCommande Partie

3.6. Geafcet
El Grafcet (grafo de mando etapa-transición) es un método gráfico de modelado
de automatismos secuenciales. Fué introducido en Francia por P. Girauld en su tesis
doctoral.
84 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

3.7. Elementos
3.7.1. Etapas
Una etapa es un estado estable del sistema y se representa por un rectángulo en
que se escribe un número n que indica su número de orden.

Figura 3.5: Etapa

El estado inicial se remarca por dentro con otro rectángulo y su número de orden
es cero.

0
Acción A

R01

1
Acción B

R12

2
Acción C

Figura 3.6: Grafcet


3.8. CARTAS DE ESTADO 85

3.8. Cartas de estado


Las cartas de estado (Statecharts) fueron introducidas por David Harel [5] en
1987 y constituyen una generalización de las máquinas de finitos estados. Se han
hecho varias implementaciones sustancialmente iguales pero que difieren algo en la
semántica (la definición de Harel dejaba bastante libertad) siendo las mas conocodas
Statemate y Stateflow, ésta última integrada en Matlab. Debido a la gran difusión
que tiene este programa en la Universidad, continuaremos la descripción de las cartas
de estado con la semántica de Stateflow.

3.9. Stateflow
Stateflow es una herramienta incluida en el paquete Matlab que funciona bajo
el programa (toolbox ) Simulink. Es posible ejecutar sólo Stateflow (como un bloque
único de Simulink) pero siempre bajo Simulink. Utilizando Stateflow y Simulink se
pueden realizar modelos de sistemas hı́bridos.
La figura 3.7 muestra una ventana de Stateflow en la que se aprecian algunos de
sus elementos.

Figura 3.7: Carta de estados de Stateflow

3.10. Creación de un modelo con Stateflow–Simulink


Tras arrancar el programa Matlab, creamos un modelo nuevo (new-model ) de
Simulink y colocamos en el mismo, con el ratón, el bloque Chart de Stateflow.
Con el editor gráfico se pueden crear cartas Stateflow, de modo interactivo, sim-
plemente haciendo clic en cada elemento y arrastrandolo a la ventana de dibujo. Una
vez colocados varios estados, podemos crear transiciones haciendo clic en un estado
y arrastrando el ratón hasta otro estado. Se etiquetan los estados y las transiciones
indicando las acciones que van a ocurrir durante la ejecución y bajo que condiciones
se harán las transiciones. Finalmente se añade el historial, uniones, y estados en
paralelo para detallar las operaciones del modelo.
Se pueden utilizar sub-cartas (una carta dentro de otra carta) para dotar de
jerarquı́a al diseño. Se permite crear transiciones entre objetos que residen en di-
ferentes sub-cartas al mismo nivel o a diferentes niveles en la carta superior. Las
sub-cartas permiten reducir una carta complicada a un conjunto de diatramas orga-
nizados jerárquicamente. Con ello se consigue que la carta sea más fácil de entender
y de mantener sin cambiar para nada su semántica.
Los pasos a seguir para una aplicación completa son:

Crer la carta Stateflow


86 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

Utlilizar el Explorer de Stateflow

Definir un interface de bloques de Stateflow

Ejecutar la simulación

Generar el código

La generación de código depende de la máquina en donde se vaya a implementar


la aplicación y no se hace hasta la última fase del diseño. El código generado por
defecto es ANSI C pero existen programas que convierten el modelo de Stateflow
en código de otros lenguajes. Entre ellos cabe citar el programa sf2vdh, que es
un traductor de Stateflow a VHLD, y el porgrama sf2plc que genera código para
programar algunos autómatas programables.

3.10.1. Elementos de una carta de estado


Una carta de estado (statechart) es un gráfico formado por elementos gráficos
sobre los que van escritos otros elementos de texto. Los elementos gráficos son cartas,
estados, transiciones y uniones mientras que los elementos de texto son datos y
eventos.

Cartas
La carta es como la hoja de papel en la que se representan los elementos gráficos
y de texto. Cada carta representa una máquina de estados y constituye un bloque
de Simulink que puede conectarse con otras cartas o con otros bloques de Simulink.

Estados
Un estado se dibuja como un rectángulo con las esquinas redondeadas y repre-
senta un modo de funcionamiento del sistema. Aunque tienen el mismo nombre, no
debemos confundir estos estados con los estados del “modelo de estado” de un siste-
ma de control de tiempo continuo o discreto. Aunque en ocasiones ambos puedieran
coincidir, los estados aquı́ considerados son más generales: representan los modos o
formas de funcionamiento que adquiere el sistema al reaccionar frente a los eventos.
Junto a la esquina superior izquierda cada rectángulo lleva un texto con un
nombre que identifica al estado. Tras el nombre del estado y el separador opcional
“/”, pueden aparecer otros textos indicando las acciones que llevará a cabo el sistema
cuando esté en ese estado. La sintaxis de Stateflow permite especificar el instante
en que se iniciará la acción y la duración de esta:

entry: la acción se inicia al entrar en este estado.

exit: la acción se inicia al salir de este estado.

during: la acción se inicia al entrar en este estado y permanece activa durante el


tiempo que dura el estado.
3.10. CREACIÓN DE UN MODELO CON STATEFLOW–SIMULINK 87

on event e : La acción se inicia si, estándo en este estado, se produce el evento e.


Posibles acciones son cambiar el valore de una salida o efectuar una llamada a una
función de Martab.
Dentro de un estado caben más estados, es decir, un estado puede descomponerse
en otros. Se admiten dos descomposiciones, llamadas OR (exclusiva) y AND. Si un
estado S se descompone con tipo OR en los estados S1 y S2 , quiere decir que si el
sistema está en el modo de funcionamiento S, entonces, o bien funciona en el modo
S1 o bien funciona en el modo S2 y no puede estar funcionando en ambos modos
a la vez. En cambio si el estado S se descompone con tipo AND en los estados S1
y S2 y el sistema funciona en modo S, entonces el sistema está a la vez en los dos
estados S1 y S2 . Ambas descomposiciones se distinguen por el tipo de lı́nea usada
para los rectángulos: linea continua para los estados de una descomposición OR y
lı́nea discontinua para los estados de una descomposición AND.

Transiciones
Una transición representa un evento e del sistema y se dibuja como una flecha
que va desde el borde de un estado S1 hasta el borde de otro estado S2 . Si el sistema
está en el estado S1 y seproduce el evento e, entonces el sistema pasa al estado S2 . El
disparo de una transición puede implicar la ejecución de una o más acciones. Cada

S1

S2

Figura 3.8: Transición

transición puede tener un texto, escrito junto a ella, que indica el evento que ha de
producirse para que se dispare la transición asi como las acciones que entonces el
sistema emprenderá. Este texto se divide en tres partes, todas ellas opcionales:
e (en donde e es el nombre de un evento): la transición se dispara al producirse el
evento e en el sistema.

[c] (en donde c es una condición): la transición se dispara si la condición c (expresión


booleana) es verdadera y se produce el evento e. Si esta parte no existe, se
asume que c es cierta. Si la parte e del texto no existe, se disparará, bajo la
misma condición, siempre y cuando se produzca un evento cualquiera en el
sistema.
88 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS

{a} (en donde a es una acción): al producirse transición el sistema lleva a cabo la
acción a.

Si la transición no lleva ningún texto, entonces se disparará automáticamente, siem-


pre y cuando se produzca un evento cualquiera en el sistema.
Una transición especial es la llamada transición por defecto (default-transition),
que sirve para señalar el estado inicial del sistema, es decir, el primer estado en el
que entrará el sistema al iniciar su evolución. Se reconoce por su forma ya que en el
extremo opuesto a la flecha lleva un pequeño cı́rculo negro.

Uniones
Una unión es un punto de bifurcación que permite conectar una transición de en-
trada con varias transiciones de salida. Hay dos tipos de uniones: uniones conectivas
connective junctions y uniones de historia history junctions.

e1

e2 P
H

e3 C1 C2

Figura 3.9: Uniones

Al entrar en una unión conectiva, el sistema, a través de una condición, selecciona


una de las transiciones de salida para su evolución.
La unión de tipo historia se utiliza en estados que han sido divididos por una
descomposición OR. Si en el estado padre se pone el sı́mbolo H entonces cada vez
que se active el estado padre, el primer estado que se activará será el estado hijo
que estuvo activo por última vez.

Datos
Una carta tiene asociados ciertos datos a los que puede acceder. Es necesario
declararlos en Stateflow y pueden ser de los siguientes tipos:

Entrada de simulink

Salida de simulink

Local
3.10. CREACIÓN DE UN MODELO CON STATEFLOW–SIMULINK 89

Constante

Temporal

Workspace

Los datos declarados como entrada o salida de Simulink generan automáticamente


una entrada o una salida en el bloque Chart creado por Stateflow en Simulink. Los
de los tipos local, constante y temporal pueden definirse para toda la carta o dentro
de un estado individual. Los datos temporales son sólo válidos mientras el estado
padre se está ejecutando y son reinicializados cada vez que éste se activa. El tipo
workspace es una construcción especial que permite utilizar el entorno de trabajo
(workspace) de matlab para compartir datos a través de toda la simulación. Los
datos por defecto, se almacenan en memoria en formato double de C pero se puede
cambiar a otros formatos. Cada dato tiene asociado un valor inicial y un intervalo
de posibles valores.

Eventos
Estos elementos representan los eventos del sistema. Pueden ser de los tipos:

Entrada de simulink

Salida de simulink

Local

Para los eventos que son entradas o salidas de Simulink, Stateflow crea automática-
mente un único puerto de entrada–salida de eventos en el bloque Chart de Simulink,
de forma que todos los eventos entran o salen, formando un vector de eventos, por
el mismo puerto. Cada evento lleva asociado un ı́ndice que refiere la posición del
evento en el vector. La forma de producir un evento en Simulink para que entre en
el bloque Chart es a través de cambio brusco (flanco) de alguna señal. Al declarar
el evento en Stateflow, se puede elegir entre:

Flanco de subida

Flanco de bajada

Flanco indiferente

3.10.2. Notación
3.10.3. Directivas
Bibliografı́a

[1] M. Silva Las Redes de Petri: en la Automática y la Informática. Editorial AC

[2] Charles L. Phillips


Feedback Control Systems
Prencice Hall Inc., 1988

[3] K.Lockyer La producción industrial, su administración. Representaciones y


Servicios de Ingenierı́a S.A., Mexico, 1988.

[4] M.P. Groover Automation, Production systems and Computer Integrated Ma-
nufacturing. Prentice Hall.

[5] David Harel “Statecharts: A Visual formalism for Complex Systems”, Science
of Computer Programming 8, (1987), pp. 231-274.

[6] Object Modeling Group OMG Unified Modeeling Language Specification. Ob-
ject Modeling Group, Inc., Version 1.3, June 1999.

[7] Hans Vangheluwe Modeling and Simulation Concepts. McGill, CA, CS 522 Fall
Term 2001.

123

S-ar putea să vă placă și