Documente Academic
Documente Profesional
Documente Cultură
Febrero 2002
2
Capı́tulo 1
Introducción
Procesos de fabricación
3
4 CAPÍTULO 1. INTRODUCCIÓN
Teorı́as
1.1. PERSPECTIVA HISTÓRICA 5
Tecnologı́as
• Neumática
• Hidráulica
• Electrónica
• Microprocesadores
• Ordenadores
• Autómatas programables
• Robótica
• Comunicaciones
• Desarrollo del software
Areas tecnológicas
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
Finanzas
Gestión
Compras
Producción
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
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
Gestión
MERCADO
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.
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.
Proceso de montaje
Montaje Producto-
Mat. prima 2- Pieza 2-
Mecanizado 2
Job Shops
Lı́neas de producción
Producción continua
Job Shops
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
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.
En flujo de producto
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
xC - m - x- p- r ω(s)-
+ Controlador Válvula Máquina
(ωref )
− 6
Captador
yref
- +m(t)- C x(t)- u(t)- m
?v(t)
A + - P r y(t) -
ym (t)
− 6
M
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).
Entrada- Salida -
Bloque
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
1 t
Z
dx(t)
x(t) = C((t)) = Kp 1 + Td + x(τ )dτ , (1.1)
dt Ti 0
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.
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
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
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
• Controladores de procesos
20 CAPÍTULO 1. INTRODUCCIÓN
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).
REALIDAD MODELO
Entidad Modelo
del
básico
OBJETIVOS
Mundo Real
análisis sólo
en contexto
experimental
experimento Simulación =
dentro de contexto Experimento virtual
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.
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
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.
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
Automatización local
Automatización global
Diagramas de estado
Redes de Petri
Grafcet
Statecharts
Captadores
Pre-actuadores y actuadores.
1.7. ESTRUCTURA DEL CURSO 27
Automatismos eléctricos
Autómatas programables
Controladores industriales
Redes locales
Buses industriales
GEMMA
SCADA
Control jerárquico
28 CAPÍTULO 1. INTRODUCCIÓN
Parte I
29
Capı́tulo 2
Diseño de Controladores
2.1. Introducción
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
D(s)
R(s) ε Y(s)
Gc Gp
G c = Kp (2.1)
Vi R
Vo
R2
R1
C1
R1
Vi
Vo
Ti = R1 C1 (2.4)
R1
C1
Vi
Vo
Vi 1 Vo
Kp
sT i
sT d
R1
R1
R4
C2
R5
R1
Vi
R4
Vo
R3
C3
R4
R5
Kp = , Ti = R2 C2 , Td = R3 C3 (2.9)
R4
V0 s − zc 1 + αT s
Gc = = Kc = (2.11)
Vi s − pc α(1 + T s)
R1
R1
Vi Vo
Vi R2 Vo
R2
a) b)
C1
R1
R2
Vi Vo
C2
C2
C1
R2
Vi
R1
Vo
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
im
Raíz deseada
2
116.56º
θp 90º
re
-5 -4 -3 -2 -1
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):
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
im
Raíz deseada
2
θz2 90º
116.56º
re
-5 -4 -3 -2 -1
alternativa puede ser trabajar con modelos de orden reducido o bien utilizar métodos
de diseño en el dominio de la frecuencia.
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
Im
pd
ϕc
α β
pc zc Re
pd
U (s)- mE(s)- s + zc - +m
? 500 Y (s)
r
+ Kc - -
−
s + pc s(s + 1)
6
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
y, a continuación ϕc :
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
Im
pd
38
ϕc
β
α
pc -32.5 -1 Re
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 α.
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 )
u- m - - Nc m- ? Np y -
+m - - +m r
?
+ Kc
−
Dc Dp
6
+m
6
d3
Figura 2.23: Esquema de control en serie.
pc = −130,6
u- m m - +m
? Np - +m
?
r
y -
+ - Kc -
−
Dp
6
Nf
+m
Df
6
d3
Figura 2.24: Esquema de control en feedback.
Y Np Df M Np Nf
= , = −Kc
D1 D D1 D
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
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.
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);
> p1:=diff(phi_c,omega);
2.4. DISEÑO EN EL LUGAR DE LAS RAÍCES 53
Im
pd
ϕc
α β
pc zc Re
pd
Im
ωm
ϕmax ω=0 ω = oο
α 1+ α 1 Re
2
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
√
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
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
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))));
> solve(Gdb35=8,Kc);
u- m - - Nc m- ? Np y -
+m - - +m r
?
+ Kc
−
Dc Dp
6
+m
6
d3
Figura 2.27: Esquema de control en serie.
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
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:
Entre estas dos zonas, dar a M una atenuación en pronunciado descenso para
conseguir que la anchura de banda sea amplia.
1
SGT =
1+G
ẋ = (A − BK)x + Bv
y = Cx
Si damos a K el valor
K= αn − an αn−1 − an−1 . . . α1 − a1
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
y (t ) y (t ) A
a
0.632 A
T t t1 t
A e−T s
G(s) = ,
s+a
τ = 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
65
Capı́tulo 3
67
68 CAPÍTULO 3. MODELOS DE SISTEMAS DE EVENTOS DISCRETOS
1. Idempotentes: a ⊕ a = a a = a
2. Conmutativas: a ⊕ b = b ⊕ a, ab=ba
3. Asociativas: a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c, a (b c) = (a b) c
4. Absorciones: a (a ⊕ b) = a ⊕ (a b) = a
5. Distributivas: a ⊕ (b c) = (a ⊕ b) (a ⊕ c), a (b ⊕ c) = (a b) ⊕ (a c)
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
f :X → Y
x 7→ f (x)
f: R → R
x 7→ x2 + 2x + 5,
3.1. ALGEBRA DE BOOLE 69
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 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
@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.
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
f = x1 x2 x3 x4 + x1 x3 x4 + x1 x2 x4 .
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:
u1 (t)- y1 (t)-
u2 (t)- y2 (t)-
.. S.C. ..
. .
up (t)- yq (t)-
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
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
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.
M1 = {U, Y, X, f, g}
f :U ×X → X
(u, x) 7→ x = f (u, x)
g :U ×X → Y
(u, x) 7→ y = f (u, x)
M1 = {U, Y, X, f, g}
f :U ×X → X
(u, x) 7→ x = f (u, x)
g:X → Y
(x) 7→ y = f (x)
y, para el de Moore,
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.
Sistemas combinacionales
3.3. MÁQUINAS DE ESTADOS 81
0 1
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
2
Vcc
RC RC
V1 V2
RB RB
E1 E2
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.
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
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.
Ejecutar la simulación
Generar el código
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:
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
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.
{a} (en donde a es una acción): al producirse transición el sistema lleva a cabo la
acción a.
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
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
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
[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