Está en la página 1de 62

10.

SIMULINK
10.1 INTRODUCCION
Simulink es un software que funciona bajo la plataforma de Matlab y es una
herramienta muy til para modelar, simular y analizar sistemas, tanto lineales como
no lineales. Permite al usuario realizar sus estudios tanto en el dominio del tiempo
como el de Laplace, expresar las funciones de transferencia en las diferentes formas
incluyendo la del espacio de los estados y otras opciones. En una interfaz grfica
(GUI) como la que se observa en la Figura 10.1, el usuario construye un diagrama
de bloques que desarrollan procedimientos que realizan las operaciones matemticas
requeridas para la solucin de un modelo.

Figura 10.1. Librerias (Izquierda) y Espacio de trabajo de Simulink (Derecha)

10.2 ACCESO A SIMULINK


Para acceder a Simulink se requiere abrir el espacio de trabajo de Matlab y presionar
el icono Simulink o tambin mediante la digitacin de dicha palabra clave con
letras minsculas en el editor de comandos. Con lo anterior se despliega, solamente,
la ventana de ttulo Simulink Library Browser que se observa a la izquierda de la
Figura 10.1. El espacio de trabajo de Simulink es la ventana que se observa a la
derecha y se despliega presionando el icono Create a new model que se encuentra

178

en la barra estndar o desplegando el men File y seleccionando sucesivamente


New y Model (Ctrl + N)

10.3 LIBRERIAS DE SIMULINK


Al desplegar el rbol de Simulink y haciendo clic izquierdo sobre su nombre se
despliegan las libreras que contienen los bloques operacionales agrupados de
acuerdo a diferentes propsitos comunes. Los nombres de las libreras son:
Continuous, Discontinuities, Discrete, Look-Up Tables, Math Operations, Model
Verification, Model-Wide Utilities, Ports & Subsystems, Signal Attributes, Signal
Routing, Sinks, Sources y User-Defined Functions.

Instalacin y Conexin de un bloque operacional


Para la instalacin de un bloque en el espacio de trabajo de Simulink se selecciona
de la librera con un clic izquierdo del mouse y en forma sostenida se arrastra hasta
el espacio de trabajo de Simulink. Las conexiones entre dos bloques se realizan
acercando el puntero del mouse a uno de los topes (entrada o salida) hasta que este
cambie en forma de cruz, se presiona el botn izquierdo del mouse y en forma
sostenida se arrastra hasta el otro tope. La conexin es correcta cuando el puntero
del mouse tome la forma de una cruz de doble trazo. Se debe observar una lnea con
una saeta en el tope del bloque de entrada.

Especificacin de un bloque operacional


Las especificaciones mnimas requeridas en un bloque se relacionan con la
operacin que realizan dentro del diagrama que representa el proceso de solucin del
modelo matemtico del sistema.

10.4 LIBRERA CONTINUOUS (CONTINUO)


La Figura 10.2a muestra la ventana que se despliega al hacer doble clic sobre la
librera Continuous y la Figura 10.2b muestra los conos que simbolizan a cada
uno de los bloques que incluye esta librera. Los nombres de los bloques son:
Derivative (Derivada), Integrator (Integrador), State-Space (Espacio de los Estados),
Transfer Fcn (Funcin de Transferencia como numerador/denominador), Transport
Delay (Tiempo Muerto), Variable Transport Delay (Tiempo Muerto Variable), ZeroPole (Transferencia Muerto en la forma de zeros y polos)

Mach

179

(a)

(b)

Figura 10.2. Librera (a) Continuous y (b) Bloques operacionales


Los bloques de la librera Continuous representan unidades que se alimentan de
una informacin de entrada y que al desarrollar sobre esta un proceso matemtico
transmite el resultado como una informacin de salida. En la librera Continuous
se incluyen los bloques para realizar operaciones matemticas continuas en el
tiempo.

Bloque Derivada (Derivative)


El bloque Derivative desarrolla la derivada con respecto al tiempo de la variable
de entrada para lo cual no se necesita especificacin. La Figura 10.3 muestra la
ventana que se despliega al hacer doble clic sobre el icono Derivative

Figura 10.3 Especificaciones del bloque Derivative

Mach

180

Bloque Integrador (Integrator)


El bloque Integrator desarrolla la operacin de integrar la informacin de entrada
desde un tiempo inicial hasta un tiempo final que se especifica como uno de los
parmetros de la simulacin. Se observa en la ventana de especificaciones del
bloque integrador mostrada en la Figura 10.4a que se requiere la especificacin de la
condicin inicial de la variable que se suma (integra)

(a)

(b)

Figura 10.4 Especificaciones del bloque (a) Integrator (b) State-Space

Bloque Espacio de los Estados (State-Space)


La Figura 10.4b muestra la ventana de especificaciones para el bloque que desarrolla
un modelo lineal en la forma del Espacio de los Estados. Se observan los cuadros
para especificar las matrices A, B, C y D y las condiciones iniciales.

Bloques Funciones de Transferencia (Transfer Fcn y Zero-Pole)


La Figura 10.5 muestra las ventanas de especificaciones para las funciones de
transferencia en la forma de numerador/denominador y en la de zeros y polos.

Mach

181

(a)

(b)

Figura 10.5 Especificaciones de bloques (a) Transfer Fcn y (b) Zero-Pole


En la Figura 10.5a, se observan los cuadros donde se especifican en forma matricial
el numerador y el denominador de la funcin de transferencia mientras que en la
Figura 10.5b los cuadros donde se incluyen en forma matricial los zeros, los polos y
las ganancias de la funcin de transferencia
Es comn a todas las ventanas de especificaciones de bloques operacionales, la
inclusin de la barra de ttulo seguido de un pequeo cuadro con el nombre del
bloque y una breve descripcin de la funcin de ste. De igual manera, en la parte
inferior se incluyen los botones OK, Cancel, Help y Apply

Bloque Tiempo Muerto (Transport Delay)


La Figura 10.6 muestra las ventanas de especificaciones para los bloques que
incluyen un atraso por tiempo muerto dentro de la dinmica de un sistema. Simulink
incluye un bloque Transport Delay y otro titulado Variable Transport Delay
El bloque Transport Delay aplica el tiempo muerto a la seal de entrada que se
especifica en el cuadro de nombre Time Delay, mientras que el bloque Variable
Transport Delay aplica el tiempo muerto a la primera seal de entrada y en la
segunda entrada se especifica el tiempo muerto. Las otras especificaciones,
usualmente, se dejan como aparecen por defecto

Mach

182

(a)

(b)

Figura 10.6 Especificaciones de los bloques Transport Delay

10.5 LIBRERA MATH OPERATIONS (OPERADORES)


La Figura 10.7 muestra la ventana que se despliega al hacer doble clic sobre la
librera Math Operations y la Figura 10.8 los botones incluidos en dicha librera.

Figura 10.7 Librera Math Operations

Mach

183

Figura 10.8 Bloques de la librera Math Operations


Los bloques de la librera Math Operations se utilizan en la simulacin de la
dinmica de un sistema para aplicar operadores matemticos sobre su informacin
de entrada. A continuacin se describe la especificacin de algunos de ellos

Bloque Suma (Sum)


El bloque Sum realiza la suma algebraica de las informaciones de entradas
alimentadas al bloque. La Figura 10.9 muestra la ventana de especificaciones de este
bloque y se observa el cuadro desplegable donde se selecciona la forma del icono

Figura 10.9 Especificaciones del bloque Sum


Mach

184

El bloque Sum se especifica introduciendo en el cuadro List of signs los signos


de cada uno de las informaciones de entrada o el nmero de ellas. En el primer caso
los signos de suma o resta se despliegan a un lado de los topes de entrada del icono
que representa al bloque

Bloques Ganancia (Gain y Slider Gain)


El bloque Gain aplica un factor multiplicador constante a la informacin de
entrada y el producto lo transmite como la informacin de salida. El factor
multiplicador es la ganancia. La Figura 10.10a muestra la ventana de
especificaciones del bloque Gain. En el cuadro Gain se introduce la ganancia como
un valor constante
El bloque Slider Gain realiza la misma operacin del bloque Gain permitiendo
la variacin del valor de la ganancia asignada, mediante el botn deslizable, desde
un valor mnimo hasta un mximo. La Figura 10.10b muestra la ventana de
especificaciones del bloque Slider Gain

(a)

(b)

Figura 10.10 Especificaciones de los bloques (a) Gain y (b) Slider Gain

Bloque Producto (Product)


El bloque Product realiza el producto o la divisin entre las informaciones de
entrada. Esto se especifica introduciendo, ya sea, el nmero de corrientes a
multiplicar o los signos producto o divisin para cada una de las informaciones de
entrada en el cuadro Number of inputs de la ventana de especificaciones que se
muestra en la Figura 10.11

Mach

185

Figura 10.11 Especificaciones del bloque Product


Al especificar los signos, estos se despliegan con los smbolos de producto o
divisin a un lado de los topes de entrada del icono que representa al bloque

Bloque Funcion (Math Function y Trigonometric Function)


El bloque Math Function aplica a la informacin de entrada una funcin
matemtica que se selecciona en el cuadro desplegable Function, mientras que el
bloque Trigonometric Function solo aplica funciones trigonomtricas como se
observa en la Figura 10.12

(a)

(b)

Figura 10.12 Especificaciones del bloque (a) Math Function, (b) Trigonometric
Function
Mach

186

Bloque Minimo y Maximo (MinMax)


El bloque MinMax selecciona el valor mnimo o el mximo entre los
correspondientes a las informaciones de entrada. En su ventana de especificaciones
se encuentra el cuadro donde se elige la funcin del bloque, es decir, min o max
y un cuadro adicional donde se especifica el nmero de entradas al bloque. Despus
de introducir lo anterior, se observa en el icono del bloque un nmero de topes de
entrada igual al especificado

10.6 LIBRERA SOURCES (ENTRADAS)


La Figura 10.13 muestra la ventana que se despliega al hacer doble clic sobre la
librera Sources y la Figura 10.14 los conos de los bloques incluidos en dicha
librera

Figura 10.13. Librera Sources

Mach

187

Figura 10.14 Bloques de la librera Sources


La librera Sources contiene un conjunto de bloques de donde emergen seales
que representan los cambios en las variables de entrada. Estos bloques solo tienen
puertos de salida, es decir, no tienen puertos de entrada. A continuacin se describen
los bloques Step, Ramp, Sine Wave, Constant, Clock, Digital Clock, Signal
Generator

Bloques Paso y Rampa (Step y Ramp)


La Figura 10.15a muestra la ventana de especificaciones del bloque Step. En el
cuadro Step Time se introduce el tiempo transcurrido para que la variable de
entrada cambie desde un valor inicial que se introduce en el cuadro Initial value
hasta un valor final que se introduce en el cuadro Final value.

(a)

(b)

Figura 10.15 Especificaciones de los bloques (a) Step y (b) Ramp


Mach

188

La Figura 1.15b muestra la ventana de especificaciones del bloque Ramp. En el


cuadro Slope se introduce la pendiente de la rampa y en el cuadro Start time se
introduce el tiempo de iniciacin del cambio rampa. Los cuadros de especificaciones
se dejan con sus valores por defecto

Bloques Seno y Generador de Seal (Sine Wave - Signal Generator)


La Figura 10.16a muestra la ventana de especificaciones del bloque Sine Wave.
La Amplitud, el umbral, la frecuencia y la fase de la onda sinusoidal se introducen
en los cuadros de nombres Amplitude, Bias, Frequency y Phase,
respectivamente.

(a)

(b)

Figura 10.16 Especificaciones del bloque (a) Sine Wave y (b) Signal Generator
La Figura 10.16b muestra la ventana de especificaciones del bloque Signal
Generator. En el cuadro Wave from se especifica si la onda peridica de entrada
es sinusoidal, cuadrada, diente de sierra o al azar. La amplitud y la frecuencia se
introducen en los cuadros de nombres Amplitude y Frequency, respectivamente.

Bloques Reloj y Constante (Clock y Constant)


La Figura 10.17a muestra la ventana de especificaciones para el bloque Clock que
se utiliza para mostrar el tiempo de simulacin. Si se verifica el cuadro Display

Mach

189

time se despliega el tiempo sobre el icono. El bloque Display Clock se puede


utilizar como otra opcin.

(a)

(b)

Figura 10.17 Especificaciones del bloque (a) Clock (b) Constante


La Figura 10.17b muestra la ventana de especificaciones para el bloque Constante
que se utiliza para entrar un valor constante en el diagrama de bloques que simula la
dinmica de un sistema.

10.7 LIBRERA SINKS (SALIDAS)


La librera Sinks contiene un conjunto de bloques receptores de seales de salida
y, por lo tanto, solo tienen puertos de entrada. Mediante estos bloques se observan
los resultados de las simulaciones en diferentes formas, por ejemplo, grfica o
numrica. La Figura 10.18a muestra la ventana que se despliega al hacer doble clic
sobre la librera Sinks y la Figura 6.18b muestra los botones que se incluyen en
dicha librera.
Los botones Scope, Floating Scope y XY Graph despliegan la informacin de
salida en funcin del tiempo, en forma grfica. El botn Scope no requiere
especificaciones y Floating Scope se utiliza para representar en grficos separados
los perfiles de cada una de las informaciones de salida, para lo cual se hace doble
clic sobre el icono, se presiona el cuadro Parameters y se introducen el nmero de
grficos en el cuadro Number of axes. El botn XY Graph requiere de las
especificaciones de los valores lmites en los ejes de representacin de las variables
X e Y. La Figura 10.19 muestra la ventana de especificaciones de los botones
Floating Scope y XY Graph.

Mach

190

(a)

(b)
Figura 10.18 Librera Sinks

(a)

(b)

Figura 10.19 Especificaciones del bloque (a) XY Graph y (b) Floating Scope
Los botones Display y To Workspace despliegan la informacin de salida en
forma numrica. El primero lo muestra en forma digital sobre el mismo icono
mientras que el segundo lo hace sobre el espacio de trabajo de Matlab asignndole
Mach

191

un smbolo a las variables que se quieren desplegar. El botn Display permite la


seleccin del formato numrico para el despliegue de la informacin de salida. La
Figura 10.20 muestra las ventanas de especificaciones de estos botones

(a)

(b)

Figura 10.20 Especificaciones del bloque (a) Display y (b) To Workspace

Figura 10.21 Especificaciones del bloque To File

10.8 LIBRERAS SIGNAL ROUTING Y PORTS & SUBSYSTEMS


Las Figuras 10.22 muestran las ventanas que se despliegan al abrir las libreras
Signal Routing y Ports & Subsystems que contienen bloques de enrutamiento de
seales y definicin de puertos y subsistemas.

Mach

192

(a)

(b)

Figura 10.22. Librera (a) Signal Routing (a) y (b) Ports & Subsystems
La librera Signal Routing contiene un conjunto de bloques de enrutamiento de
seales como interruptores, mezcladores, divisores, etc. Estos bloques tienen puertos
de entrada y de salida
La librera Ports & Subsystems contiene un conjunto de bloques que definen
puertos de entradas y de salidas o subsistemas con los que desarrollan lazos de
control de flujo como if, switch, while, for, etc.

10.9 SIMULACION DE UN SISTEMA CON SIMULINK


10.9.1 Sistema de Primer Orden Lineal Dominio Tiempo
En la Figura 10.23 se muestra un diagrama de bloques para la simulacin del
sistema de primer orden lineal en el dominio del tiempo, planteado en la Prctica
No. 1.
Mach

193

Figura 10.23. Diagrama de bloques del sistema de la Prctica 1


Mach

194

Los parmetros fsicos incluidos son los correspondientes al volumen en el tanque,


el flujo volumtrico a travs del mismo y la constante de velocidad de reaccin.
El botn Multiport Switch es un interruptor mltiple que se encuentra en la
librera Signal Routing. Su funcionamiento est acoplado con el botn constante
denominado Entrada cuya funcin es indicar al interruptor la funcin que debe
dejar pasar a travs de l. Esto se hace asignando los nmeros 1, 2 y 3 a los cambios
Step, Ramp y Sine Wave, respectivamente. El botn Mux de la librera Routing
Signal simula la circulacin de la seal rampa de entrada separada de la seal de
salida del sistema pero conjuntas de tal manera que el Scope que se alimenta con
la descarga del botn Mux muestra en una misma ventana ambos perfiles. El
botn Manual Switch se incluye para interrumpir el flujo de la informacin de
salida a travs de l cuando se haga la simulacin de la respuesta rampa. Su
operacin es manual
Al hacer la simulacin con la ecuacin diferencial estndar de un sistema de primer
orden lineal en trminos de sus variables desviacin, la condicin inicial en el
integrador es cero. Para la fijacin de los parmetros de la simulacin en cuanto a la
fijacin del tiempo y a la seleccin del mtodo para la solucin de la ecuacin
diferencial despliegue el men Simulation y llnela como se observa en la Figura
10.24.

Figura 10.24 Especificacin de los Parmetros de la Simulacin


En el cuadro Simulation Time se ha fijado como tiempo de simulacin 50
unidades de tiempo y en el cuadro Solver options se ha seleccionado el mtodo

Mach

195

ode23s (stiff/Mod. Rosenbrock). Estos mtodos rigurosos se seleccionan,


especialmente, cuando se observa que las respuestas se ven a trazos lineales muy
notorios, lo que puede deberse a la aplicacin de un mtodo menos riguroso

10.9.2 Sistema de Primer Orden Lineal Dominio Laplace


En la Figura 10.25 se muestra un diagrama de bloques para la simulacin del
sistema de primer orden lineal en el dominio del tiempo, planteado en la Prctica
No. 3.
La funcin de transferencia se procesa con el botn Transfer Fcn de la librera
Continuous. Se especific con un numerador de [0.875] y un denominador de
[4.375 1], es decir, con los parmetros correspondientes a la ganancia y constante de
tiempo determinados para dicho sistema. El botn Gain se coloca para alimentar
el Scope con la informacin correspondiente a la variable de salida dividida por la
ganancia del sistema, con lo que se observa claramente el perfil lineal de la
respuesta despus de un cierto tiempo. Nuevamente, para la solucin del modelo se
utiliza el mtodo ode23s (stiff/Mod. Rosenbrock) y se sugiere fijar un tiempo de 50
unidades de tiempo
Una funcin de transferencia se puede simular con el bloque LTI System que se
encuentra en la herramienta Control System Toolbox y que se observa al hacer
doble clic sobre dicha herramienta. Con el bloque LTI System se puede introducir
la funcin de transferencia ya sea en la forma estndar, o zero-pole o espacio de los
estados, utilizando los comandos correspondientes para cada una de ellas, es decir,
tf, zpk o ss

10.9.3 Sistema de Segundo Orden Lineal Dominio Tiempo


En la Figura 10.26 se muestra un diagrama de bloques para la simulacin del
sistema de segundo orden lineal en el dominio del tiempo, planteado en la Prctica
No. 4.
Se utiliza el bloque Math Function de la librera Math Operations para realizar
races cuadradas y potencias al cuadrado. Se incluye el botn Display de la librera
Sinks para desplegar el valor del coeficiente de amortiguamiento. Se observa la
necesidad de dos bloques Integrator debido a que la ecuacin diferencial que se
simula es de segundo orden

Mach

196

Figura 10.25 Diagrama de bloques del sistema de la Prctica 2

Mach

197

Figura 10.26 Diagrama de bloques del sistema de la Prctica 3


Mach

198

Las leyendas que aparecen sobre algunas corrientes se digitan haciendo un clic sobre
el lugar sobre el cual se quiere introducir. Las letras griegas se colocan con el estilo
Symbol

10.9.4 Sistema de Segundo Orden Lineal Dominio Laplace


En la Figura 10.27 se muestra un diagrama de bloques para la simulacin del
sistema de segundo orden lineal en el dominio de Laplace, planteado en la Prctica
No. 5.
En esta simulacin, se construye un archivo con Matlab, es decir, con extensin
punto m, que solicite al usuario los parmetros fsicos del sistema (Masa del bloque,
constante de elasticidad, coeficiente de amortiguamiento, aceleracin de la gravedad
y rea del diafragma, calcule los parmetros dinmicos (Ganancia, constante de
tiempo y coeficiente de amortiguamiento) y defina el numerador (num) y el
denominador (den) de la funcin de transferencia que se introducen como los
parmetros que especifican al bloque Funcin de Transferencia. Desde dicho
archivo se llama el archivo punto mdl construido en Simulink para que se despliegue
y que corresponde al diagrama de bloques que se observa en la Figura 10.27. Los
parmetros de la simulacin se introducen desde la ventana de Simulink

10.9.5 Sistemas con Tiempo Muerto Dominio Laplace


En la Figura 10.28 se muestra el diagrama de bloques que simula la dinmica de un
sistema con tiempo muerto en el dominio de Laplace e incluye los modelos de
primero y segundo orden desarrollados en las Prcticas No. 3 y 5.
Para esta simulacin, se construye un archivo tipo Script en Matlab con nombre
Sistemas.m y un diagrama de bloques en Simulink denominado
Primer_Segundo_Orden.mdl. En el primero se capturan o calculan todos los
parmetros requeridos y en el segundo se desarrolla la simulacin. De esta forma,
los bloques del diagrama en Simulink se especifican con los smbolos asignados en
el archivo Sistemas.m. Se observa, adems, que el tiempo de simulacin se
captura con el nombre Rango y se introduce dentro de la ventana de
especificaciones de los parmetros de simulacin que se despliega dentro de la
ventana de Simulink. La simulacin se inicia con la apertura del archivo
Sistemas.m, y desde aqu se ordena la corrida y posterior apertura del diagrama de
bloques en Simulink. La solucin grfica resultante se observa desplegando los
registradores respectivos. Algunos comandos de matlab utilizados en el primero de
los archivos se explican al final de esta leccin.

Mach

199

Figura 10.27 Diagrama de bloques del sistema de la Prctica 4

Mach

200

Figura 10.28 Simulacin de la dinmica de un sistema con Tiempo Muerto

Mach

201

En la Figura 10.28 se incluye el botn Transport Delay de la librera Continuous


para especificar el tiempo muerto y se simplifica el diagrama definiendo dos
subsistemas, el Subsystem1 incluye los elementos que seleccionan el sistema de
primer o de segundo orden que se quiere simular y el denominado Subsystem
incluye los elementos con los cuales se desarrolla la respuesta que se quiere
desarrollar o simular. Las Figuras 10.29 y 10.30 muestran los diagramas
correspondientes para cada uno de los subsistemas observados

Figura 10.29 Subsistema para seleccionar el orden del sistema

Figura 10.30 Subsistema para seleccionar la respuesta del sistema

Mach

202

El botn Subsystem se selecciona en la librera Ports&Subsystems y el


subsistema se puede construir dentro del bloque seleccionado pero tambin se
pueden escoger los elementos previamente y seleccionar la opcin Create
Subsystem del men Edit del espacio de trabajo de Simulink,
En la Figura 10.29 se emplea el botn Switch Case de la librera
Ports&Subsystems y que desarrolla la operacin switch-case sobre el valor de la
variable de entrada que en el programa codificado en Matlab corresponde a la
asignacin para seleccionar el sistema de primero o segundo orden. El caso 1
(Primer Orden) se conecta con un botn Switch Case Action Subsystem, de la
misma librera, denominado Primer Orden que requiere de la alimentacin de la
accin (1), para lo cual se instala la funcin de transferencia para un sistema de
primer orden (En el esquema se coloc afuera para ilustracin del lector) entre su
puerto de entrada y salida. La entrada a este bloque es el cambio en la variable de
entrada (Paso, Rampa o Seno). Para el caso 2 (Segundo Orden) se construye un
esquema similar. El interruptor multipuerto utiliza como indicador de salida el que
se asigna para el orden del sistema.
En la Figura 10.30, un botn Switch Case desarrolla la operacin switch-case
sobre el valor que se asigna para seleccionar el tipo de cambio en la variable de
entrada. Se incluyen un caso para la respuesta rampa y otro caso (2, 3), que
desarrolla los cambios paso y seno. Los botones Switch Case Action Subsystem se
alimentan de las acciones y entradas correspondientes a rampa y paso y seno,
respectivamente. El botn Merge de la librera Ports&Subsystems emerge las
seales de entrada en una sola seal de salida. En este caso, solo emerge la
informacin alimentada

10.9.6 Sistema de Tres Tanques de Flujo No Interactuantes


En la Figura 10.31 se muestra un diagrama de bloques para la simulacin del
sistema de tres tanques en serie no interactuantes planteado en la Prctica No. 7. Se
observa que los parmetros que se introducen a travs de un programa codificado
con Matlab son el dominio de solucin del modelo y el tipo de respuesta que se
quiere simular. De igual manera, se introducen los parmetros que especifican cada
uno de los cambios que se incluyen, dentro del diagrama de bloque, para la variable
de entrada. El archivo se incluye al final de este captulo y se denomina
ordenmayorsimulink.m
Las Figuras 10.32 muestra el diagrama interior al bloque denominado TiempoLaplace; es la aplicacin de un lazo SwitchCase para desarrollar la solucin de
la respuesta seleccionada en el dominio del tiempo o de Laplace. Adems, incluye

Mach

203

un bloque donde se selecciona el tipo de respuesta a simular, es decir, paso, rampa o


seno.

Figura 10.31 Sistema de Orden Mayor Tanques No Interactuantes

Figura 10.32 Seleccin del dominio de Solucin


La Figura 10.33 muestra el diagrama de bloques que representa la solucin del
modelo en el dominio del tiempo. Al observar este diagrama, se deduce que los

Mach

204

parmetros dinmicos correspondientes a cada uno de los tanques se introducen al


correr el programa codificado en Matlab, es decir, las constantes de tiempo y las
ganancias estacionarias. La Figura 10.34 es el diagrama de bloques que representa la
solucin del modelo en el dominio de Laplace

Figura 10.33 Solucin del modelo en el dominio del tiempo

Figura 10.34 Solucin del modelo en el dominio de Laplace


La Figura 10.35 es el diagrama de bloques correspondiente al subsistema
denominado Salida incluido en la Figura 10.32. Se observa, que mediante un lazo
Mach

205

de control SwitchCase se selecciona la salida de acuerdo al dominio, tiempo o


Laplace, en que se hace la simulacin.

Figura 10.35 Seleccin del dominio de Salida


La Figura 10.36 es el diagrama de bloques en donde se selecciona si la respuesta a
simular es paso, rampa o seno para los respectivos grficos de salida

Figura 10.36 Selecciona del tipo de respuesta


Mach

206

10.9.7 Sistema de Dos Tanques de Flujo Interactuantes


En la Figura 10.37 se muestra un diagrama de bloques para la simulacin del
sistema de dos tanques de flujo interactuantes planteado en la Prctica No. 7. Se
observa que los parmetros que se introducen a travs de un programa codificado
con Matlab son el dominio de solucin del modelo y el tanque cuya respuesta se
quiere simular. De igual manera, se introducen los parmetros que especifican cada
uno de los cambios que se incluyen, dentro del diagrama de bloque, para la variable
de entrada. El cdigo se incluye en el archivo ordenmayorsimulink.m

Figura 10.37 Tanques en serie interactuantes


Las Figuras 10.38 a 10.42 muestran los diagramas de bloques de cada uno de los
sucesivos subsistemas introducidos en el diagrama de bloque de la Figura 10.37. La
estructura de los subsistemas es similar a la construida para el modelo de tres
tanques de flujo en serie no interactuantes.

Mach

207

Figura 10.38 Subsistema Tiempo Laplace

Figura 10.39 Subsistema Dominio del Tiempo

Mach

208

Figura 10.40 Subsistema Dominio Laplace

Figura 10.41 Subsistema Salida

Mach

209

Figura 10.42 Subsistema Salida1

10.9.8 Espacio de los Estados con Simulink


En la Figura 10.43 se muestra el diagrama de bloques para la simulacin del modelo
de los tres tanques de flujo en serie no interactuantes planteado en la Practica No. 7;

Figura 10.43 Tanques no interactuantes Espacio de los Estados

Figura 10.44 Tanques Interactuantes Espacio de los Estados


Mach

210

Y la Figura 10.44 muestra el diagrama de bloques para el sistema de dos tanques de


flujo interactuantes simulado en la misma prctica. Las matrices son introducidas en
el archivo ordenmayorsimulink

10.9.9 Sistemas No Lineales Reacciones de Van de Vusse


En la Prctica No. 8 se plantea la simulacin del sistema de reacciones de Van de
Vusse cuyo modelo matemtico es no lineal y sus caractersticas permiten un
anlisis en estado estacionario o dinmico

Anlisis en Estado Estacionario


En la Figura 10.45 se muestra el botn con el cual se determina el perfil de cambio
de las concentraciones de A y B en estado estacionario del sistema de reacciones de
Van de Vusse mediante las ecuaciones (8.8) y (8.9). Como se trata de un
procedimiento para calcular dichas concentraciones para diferentes valores de la
velocidad espacio se utiliza el bloque For Iterator Subsystem que se encuentra en
la librera Ports&Subsystems. La entrada a dicho subsistema es el nmero de
iteraciones y la salida ha sido anulada para mostrar los resultados en el interior del
blorque For Iterator Subsystem.

Figura 10.45 Bloque For Iterator Subsystem


Al hacer doble clic sobre el bloque se despliega el subsistema que muestra el bloque
For Iterator, y un puerto de entrada unido a un puerto de salida como se observa
en la Figura 10.46
El bloque For Iterator se especific para que la entrada del nmero de clculos se
alimente externamente seleccionando la opcin External en el cuadro Source of
number of iterations

Mach

211

Figura 10.46
El diagrama de bloques para el clculo de las concentraciones de A y B en estado
estacionario se muestra en la Figura 10.48. Para la asignacin de los sucesivos
valores de la velocidad espacio se emplea el bloque Memory de la librera
Discrete cuya funcin y especificaciones se observan en la Figura 10.47. Se asigna
como valor inicial el valor de -0.1 para que los clculos se inicien para un valor de
cero ya que esta salida se ha de sumar con el valor constante de 0.1 alimentado. La
salida de este botn es el valor de entrada anterior. Con este lazo, el valor de la
velocidad espacio cambia de 0.1 en 0.1 desde cero y un nmero de veces dado por el
nmero de iteraciones especificado. Se requiere la verificacin del cuadro de
nombre Inherit sample time.

Figura 10.47 Especificaciones del botn Memory


Tratndose de una solucin en estado estacionario se fijan tanto el tiempo inicial
como el final con un valor de cero. Al fijar un tiempo final diferente, los clculos se
repiten tantas veces como el tiempo permita repetir el nmero de clculos.

Mach

212

Figura 10.48 Subsistema para calcular el perfil de las concentraciones de A y B


El nmero de iteraciones se multiplica por el valor de 0.1 para fijar la escala en el
eje de las abscisa de 0 a 10 en las representaciones grficas. Para la observacin de
los perfiles se sugiere el intervalo de 0 a 10 en el eje de las abscisas y los intervalos
de 0 a 9 para la concentracin de A y de 0 a 1.5 para la concentracin de B.

10.10 MATLAB: COMANDOS UTILIZADOS


En los archivos codificados con Matlab para ejecutar algunas simulaciones en esta
leccin se utilizan algunos comandos como el msgbox, errordlg y sim. A
continuacin se explican en cuanto a la sintaxis empleada en algunos de ellos:

Comando msgbox
Al ejecutar este comando se despliega un cuadro de mensaje escrito por el usuario.
La sintaxis es:

Mach

213

msgbox(Mensaje, Ttulo,Icono)
Los argumentos Mensaje y Titulo se escriben entre comillas simples y son el
mensaje y el nombre o titulo, que aparecen en el cuadro. El argumento Icono es el
dibujo que aparece en el lado izquierdo y que puede ser none, error, help o
warn. El icono por defecto es el primero y los otros representan dibujos de error,
ayuda o intejeccion, respectivamente. Estos cuadros incluyen un botn OK para
aceptar el mensaje. La minimizacin o cancelacin se consigue presionado los
correspondientes en el extremo superior derecho de la barra de titulo. Algunas
alternativas para el despliegue de cuadros de mensajes son los comandos errordlg,
helpdlg y warndlg. Con ellos se tiene especificado, por defecto, el icono de
error, ayuda o interjeccin y solo requieren de la especificacin del mensaje y el
titulo. Es decir, que su sintaxis es por ejemplo para el comando errordlg:
errordlg(Mensaje, Ttulo)
El comando questdlg despliega un cuadro de mensaje con un icono de
interrogacin e incluye tres botones para presionar que, por defecto, aparecen con
los nombres de Yes, No y Cancel. La sintaxis para el comando questdlg es:
questdlg(Mensaje, Ttulo,Botn1,Boton2,Boton3,BotonPorDefecto)
A los botones pueden asignrseles nombres diferentes a los que muestran por
defecto. La presin de uno de ellos acepta como respuesta el nombre
correspondiente

Comando sim
Este comando ejecuta la simulacin de un modelo representado mediante un
diagrama de bloques en Simulink. Su sintaxis es una de las siguientes:
sim(Model)
[t,x,y] = sim(Model, Intervalo de Tiempo)

Mach

214

Model es el nombre del archivo que contiene el diagrama de bloques construido en


Simulink y debe escribirse entre comillas simples. La primera sintaxis despliega la
respuesta del sistema de acuerdo a los receptores instalados en el diagrama. Por
ejemplo, si se trata de observar la respuesta grfica es necesario abrir el diagrama de
bloques y desplegar los botones correspondientes. En el caso de respuestas
numricas receptadas en un botn To Workspace, estas se observan sobre el
espacio de trabajo en Matlab.
La segunda sintaxis despliega los valores de tiempo, variables de entrada y variables
de salida en el espacio de trabajo de Matlab. Los argumentos incluyen, adems del
nombre del modelo, el intervalo del tiempo de simulacin [to t tf]

Comando beep
Este comando, simplemente, produce un sonido al ejecutarse

10.11 MATLAB: PROGRAMAS CODIFICADOS


Archivo Sistemas.m
% Simulacion de Sistemas con Tiempo Muerto
clc
close all
msgbox('Pulse "OK" Para Entrar Al Ambiente De Simulacion En El Dominio De
Laplace Con y Sin Tiempo Muerto','Bienvenido');
beep
global R K tau X r A w num den z p Rango Inicio sigma atraso Frecuencia Fase
Sobrepaso Decaimiento fin
disp('
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp('
SIMULACION DE SISTEMAS LINEALES DE PRIMER Y SEGUNDO
ORDEN CON TIEMPO MUERTO');
disp(' ')
disp('
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp(' ')
disp(' ')
disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp('
TIPO DE RESPUESTA DEL SISTEMA')
disp(' ')
Mach

215

disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp(' ')
disp('1. PASO')
disp('2. RAMPA')
disp('3. SENO')
disp(' ')
R = input('Escriba La Respuesta a Simular: ');
if (R < 1)|(R > 3)
errordlg('Selecione 1, 2 o 3')
beep
R = input('Escriba La Respuesta a Simular: ');
end
clc
disp(' ')
disp(' ')
switch R
case 1
clc
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
CAMBIO PASO EN LA VARIABLE DE ENTRADA')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
X = input('Introduzca El Valor Del Cambio Paso En La Variable De Entrada
= ');
disp(' ')
r=0;
A=0;
w=0;
case 2
clc
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
CAMBIO RAMPA EN LA VARIABLE DE ENTRADA')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
r = input('Introduzca El Valor De La Pendiente De La Rampa De Entrada = ');
Mach

216

disp(' ')
X=0;
A=0;
w=0;
case 3
clc
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
CAMBIO SENO EN LA VARIABLE DE ENTRADA')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
A = input('Amplitud De La Entrada Seno = ');
w = input('Frecuencia De La Entrada Seno = ');
disp(' ')
X=0;
r=0;
end
disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp('
PARAMETROS DE LA SIMULACION DINAMICA')
disp(' ')
disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
helpdlg('Si Desea Ver La Respuesta Sin Tiempo Muerto Digite "Cero" De Lo
Contrario Otro Valor','Tiempo Muerto')
beep
To = input('* Escriba El Valor Del Tiempo Muerto, s = ');
Rango = input('* Tiempo de simulacin, s = ');
disp(' ')
clc
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
SISTEMAS')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp(' ')
disp('1. SISTEMA LINEAL DE PRIMER ORDEN: TANQUE CALENTADOR')
disp('2. SISTEMA LINEAL DE SEGUNDO ORDEN: VALVULA DE
CONTROL')
disp(' ')
Mach

217

S = input(' Que Sistema Desea Simular ?: ');


if (S < 1)|(S > 2)
errordlg('Selecione 1 o 2')
beep
S = input(' Que Sistema Desea Simular ?: ');
end
disp(' ')
disp(' ')
switch S
case 1
clc
disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp('USTED ESCOGIO SIMULAR EL SISTEMA LINEAL DE PRIMER
ORDEN: TANQUE CALENTADOR!')
disp(' ')
disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp(' ')
clc
disp(' ')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
PARAMETROS FISICOS DEL SISTEMA')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
F = input('* Flujo Volumetrico, m^3/s = ');
V = input('* Volumen Del Liquido En El Tanque, m^3 = ');
A = input('* Area De Transferencia De Calor, m^2 = ');
U = input('* Coeficiente Global De Transferencia De Calor, KW/m^2-C = ');
T = input('* Temperatura De Entrada Del Agua En Estado Estacionario, C =
');
C = input('* Calor Especfico, KJ/Kg-C = ');
RHO = input('* Densidad Del Agua, Kg/m^3 = ');
disp(' ')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
Mach

218

disp('
PARAMETROS DINAMICOS DEL SISTEMA')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
tau = RHO*V*C/(F*RHO*C + U*A)
K = F*RHO*C/(F*RHO*C + U*A)
disp(' ')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
RESULTADOS')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
switch R
case 2
disp('Atraso De La Respuesta Lineal')
tau
case 3
disp('Amplitud Del Perfil Sinusoidal De La Respuesta');
K*A/sqrt(1+(w*tau)^2)
disp('Fase de la respuesta con respecto a la entrada');
atan(-w*tau)
end
STOP=input('Presione ENTER para ver la simulacion en Simulink');
clc

case 2
clc
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('!USTED ESCOGIO SIMULAR EL SISTEMA LINEAL DE SEGUNDO
ORDEN: VALVULA DE CONTROL!')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp(' ')

Mach

219

disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
PARAMETROS FISICOS DEL SISTEMA')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
M = input('* Masa Del Bloque, lbm = ');
C = input('* Coeficiente De Amortiguamiento Viscoso, lbf/pie/s = ');
K = input('* Constante De Hooke Del Resorte, lbf/pie = ');
A = input('* Area Del Diafragma, pie^2 = ');
disp(' ')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
PARAMETROS DINAMICOS DEL SISTEMA')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
tau = sqrt(M/(32.2*K))
K = A/K
sigma = sqrt((32.2*C^2)/(4*M*K))
disp(' ')
disp(' ')
disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
disp('
RAICES DE LA ECUACION CARACTERISTICA')
disp(' ')
disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::')
disp(' ')
p = [tau^2 2*sigma*tau 1];
z = roots(p)
disp(' ')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
disp('
RESULTADOS')
disp(' ')
disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')
disp(' ')
switch R
case 1
if sigma > 1
Mach

220

disp('Respuesta Sobreamortiguada Estable')


disp('Atrasos Dinmicos')
atraso = -1./z
elseif sigma == 1
disp('Respuesta Amortiguada Crtica')
disp('Atrasos Dinmicos')
atraso = -1./z
elseif (sigma < 1)&(sigma > 0)
disp('Respuesta Subamortiguada Estable')
Frecuencia = sqrt(1-sigma^2)/tau
Fase = atan(sqrt(1-sigma^2)/sigma)
Sobrepaso = 100*exp(-pi*sigma/sqrt(1-sigma^2))
Decaimiento = (Sobrepaso/100)^2
elseif sigma == 0
disp('Respuesta Oscilatoria Sostenida')
else
disp('Respuesta Inestable')
end
case 2
if sigma > 1
disp('Respuesta Sobreamortiguada')
disp('Atrasos dinmicos')
atraso = -1./z
elseif sigma == 1
disp('Respuesta Amortiguada Crtica')
disp('Atrasos dinmicos')
atraso = -1./z
elseif (sigma < 1)&(sigma > 0)
disp('Respuesta Subamortiguada')
Frecuencia = (sqrt(1-sigma^2))/tau
Fase = atan(2*sigma*(sqrt(1-sigma^2))/(2*sigma^2-1))
elseif sigma == 0
disp('Respuesta Oscilatoria Sostenida')
else
disp('Respuesta Inestable')
end
case 3
if sigma > 1
disp('Respuesta Sobreamortiguada')
disp('Atrasos dinmicos')
atraso = -1./z
Mach

221

Fase = atan(-w*atraso(1)) + atan(-w*atraso(2))


Amplitud = K*A/((sqrt(1+(w*atraso(1))^2))*(sqrt(1+(w*atraso(2))^2)))
elseif sigma == 1
disp('Respuesta Amortiguada Crtica')
disp('Atrasos dinmicos')
atraso = -1./z
elseif (sigma < 1)&(sigma > 0)
disp('Respuesta Subamortiguada')
elseif sigma == 0
disp('Respuesta Oscilatoria Sostenida')
else
disp('Respuesta Inestable')
end
end
STOP=input('Presione ENTER para ver la simulacion en Simulink');
clc
end
sim('Primer_Segundo_Orden')
Primer_Segundo_Orden

Archivo ordenmayorsimulink
clc
close all
global Ti Inicio K1 K2 K3 rho V Cv Cp w t0 tau1 tau2 tau3 h n m g11 g12 g13 g21
g22 g23 g31 g32 g33 G h11 h21 h31 H GH a11 a12 a13 a21 a22 a23 a31 a32 a33 A
b11 b21 b31 B C D f1 f2 T10 T20 K10 K20 V1 V2 r r2 P P2 Am wf Am2 wf2 NT
disp('
|******************************************************************|'
)
disp('
RESPUESTAS: PAS0, RAMPA Y SENO PARA SISTEMAS DE
ORDEN MAYOR')
disp('
|*******************************************************************
********|')
disp(' ')
disp('
|*********|')
disp('
SISTEMAS')
disp('
|*********|')
disp(' ')
Mach

222

disp('1. SISTEMA NO INTERACTUANTE')


disp('2. SISTEMA INTERACTUANTE')
disp(' ');
% CAPTURA DEL MODELO
S = [1 2];
S = input('Digite el numero del sistema que desee SIMULAR = ');
if S>2 | S<1
errordlg('El numero del sistema tiene que ser 1 o 2')
disp(' ')
S = input('Digite el numero del sistema que desee SIMULAR = ');
end
disp(' ');
disp('
|*************************************************|')
disp('
TIPO DE RESPUESTA DEL SISTEMA')
disp('
|*************************************************|')
disp(' ')
disp(' ')
disp('1. PASO')
disp('2. RAMPA')
disp('3. SENO')
disp(' ')
% CAPTURA DE LA RESPUESTA
R = [1 2 3];
R = input('Digite el numero de la respuesta a simular = ');
if R>3 | R<1
errordlg('El numero de la respuesta tiene que ser 1,2 o 3')
disp(' ')
R = input('Digite el numero de la respuesta que desee simular = ');
end
disp(' ')
disp('
|**********|')
disp('
DOMINIOS')
disp('
|**********|')
disp(' ')
disp('1. TIEMPO')
disp('2. LAPLACE')
disp('3. TIEMPO - ESPACIO DE LOS ESTADOS')
disp(' ')
% CAPTURA DEL DOMINIO
D = [1 2 3];
Mach

223

D = input('Digite el numero del dominio con que se va a hacer la simulacion = ');


if D>3 | D<1
errordlg('El numero del Dominio tiene que ser 1, 2 o 3')
disp(' ')
D = input('Digite el numero del dominio con que se va a hacer la simulacion = ');
end
disp(' ')
switch S
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
PARMETROS FSICOS DEL SISTEMA NO
INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
% ENTRADAS
rho = input('Valor de la densidad, lb/pie3 = ');
V = input('Volumen de los tanques, pie3 = ');
Cv = input('Calor especifico a volumen constante, Btu/lb-F = ');
Cp = Cv;
w = input('Flujo masico, lb/min = ');
Ti = input('Valor de Ti, F = ');
t0 = input('Tiempo de simulacin, min = ');
Inicio = input('Condiciones iniciales = ');
% PROCESO
tau1 = rho*V*Cv/(w*Cp);
tau2 = tau1;
tau3 = tau2;
K1 = w*Cp/(w*Cv);
K2 = K1;
K3 = K2;
switch R
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
Mach

224

disp('
CAMBIO PASO DE UN SISTEMA NO INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
% ENTRADAS
P = input('Cambio paso = ');
r=0;Am=0;wf=0;
switch D
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA PASO DE UN SISTEMA NO INTERACTUANTE EN
EL DOMINIO DEL TIEMPO')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
sim('nointerordenmayor')
nointerordenmayor
case 2
disp(' ')

Mach

225

disp('
|*******************************************************************
**************|')
disp('
RESPUESTA PASO DE UN SISTEMA NO INTERACTUANTE EN
EL DOMINIO DE LAPLACE ')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
sim('nointerordenmayor')
nointerordenmayor
case 3
disp(' ')
disp('
|*******************************************************************
*****************************|')
disp('
RESPUESTA PASO DE UN SISTEMA NO INTERACTUANTE EN EL
DOMINIO DEL TIEMPO - ESPACIO DE LOS ESTADOS')
disp('
|*******************************************************************
*****************************|')
disp(' ')
% PROCESO
a11 = -1/tau1;
a12 = 0;
a13 = 0;
Mach

226

a21 = K1/tau2;
a22 = -1/tau2;
a23 = 0;
a31 = 0;
a32 = K2/tau3;
a33 = -1/tau3;
A = [a11 a12 a13; a21 a22 a23; a31 a32 a33]
b11 = K1/tau1;
b21 = 0;
b31 = 0;
B = [b11; b21; b31]
C = [1 0 0; 0 1 0; 0 0 1]
D = [0;0;0];
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
sim('nointerss')
nointerss
end
case 2
disp('
|*******************************************************************
**************|')
disp('
CAMBIO RAMPA DE UN SISTEMA NO
INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
% ENTRADAS
r = input('Pendiente = ');
Mach

227

P=0;Am=0;wf=0;
switch D
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA RAMPA DE UN SISTEMA NO INTERACTUANTE EN
EL DOMINIO DEL TIEMPO')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 2
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA RAMPA DE UN SISTEMA NO INTERACTUANTE EN
EL DOMINIO DE LAPLACE ')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
Mach

228

disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 3
msgbox('En el espacio de los estados solo se puede simular la respuesta paso')
disp(' ')
input('
Pulse ENTER para terminar y realizar una nueva Simulacion')
clc
close all
ordenmayorsimulink
end
sim('nointerordenmayor')
nointerordenmayor
case 3
disp('
|*******************************************************************
**************|')
disp('
CAMBIO SENO DE UN SISTEMA NO INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
% ENTRADAS
Am = input('Amplitud = ');
wf = input('Frecuencia (rad/seg) = ');
P=0;r=0;
switch D
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
Mach

229

disp('
RESPUESTA SENO DE UN SISTEMA NO INTERACTUANTE EN
EL DOMINIO DEL TIEMPO')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 2
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA SENO DE UN SISTEMA NO INTERACTUANTE EN
EL DOMINIO DE LAPLACE ')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
Mach

230

disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 3
msgbox('En el espacio de los estados solo se puede simular la respuesta paso')
disp(' ')
input('
Pulse ENTER para terminar y realizar una nueva Simulacion')
clc
close all
ordenmayorsimulink
end
sim('nointerordenmayor')
nointerordenmayor
end
case 2
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
PARMETROS FSICOS DEL SISTEMA
INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
% ENTRADAS
rho = input('Valor de la densidad, lb/pie3 = ');
V1 = input('Volumen del primer tanque, pie3 = ');
V2 = input('Volumen del segundo tanque, pie3 = ');
f1 = input('Flujo volumetrico de entrada al primer tanque, pie3/min= ');
f2 = input('Flujo volumetrico de entrada al segundo tanque, pie3/min= ');
Cv = input('Calor especifico a volumen constante, Btu/lb-F = ');
Cp = Cv;
T10 = input('Temperatura Inicial del Tanque 1, F = ');
T10 = T20;
t0 = input('Tiempo de simulacin, min = ');
Inicio = input('Condiciones iniciales = ');
% PROCESO
Cp = Cv;
Mach

231

tau1 = rho*V1*Cv/(rho*Cp*(f1 + 0.2*(f1 + f2)))


tau2 = rho*V2*Cv/(1.2*rho*Cp*(f1 + f2))
K10 = f1/(f1 + 0.2*(f1 + f2))
K20 = f2/(1.2*(f1 + f2))
K1 = 0.2*(f1 + f2)/(f1 + 0.2*(f1 + f2))
K2 = (f1 + 0.2*(f1 + f2))/(1.2*(f1 + f2))
switch R
case 1
disp('
|*******************************************************************
**************|')
disp('
CAMBIO PASO DE UN SISTEMA INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
% ENTRADAS
NT = [1 2];
NT = input('Nmero del tanque a cambiar = ');
switch NT
case 1
P = input('Cambio paso en el Primer Tanque = ');
P2 =0;
case 2
P =0;
P2 = input('Cambio paso en el Segundo Tanque = ');
end
r=0;Am=0;wf=0;r2=0;Am2=0;wf2=0;
switch D
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA PASO DE UN SISTEMA INTERACTUANTE EN EL
DOMINIO DEL TIEMPO')
disp('
|*******************************************************************
**************|')
disp(' ')

Mach

232

% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
sim('interordenmayor')
interordenmayor
case 2
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA PASO DE UN SISTEMA INTERACTUANTE EN EL
DOMINIO DE LAPLACE ')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
sim('interordenmayor')
interordenmayor
Mach

233

case 3
disp(' ')
disp('
|*******************************************************************
*****************************|')
disp('
RESPUESTA PASO DE UN SISTEMA INTERACTUANTE EN EL
DOMINIO DEL TIEMPO - ESPACIO DE LOS ESTADOS')
disp('
|*******************************************************************
*****************************|')
disp(' ')
% PROCESO
a11 = -1/tau1;
a12 = K1/tau1;
a21 = K2/tau2;
a22 = -1/tau2;
A = [a11 a12; a21 a22]
b11 = K10/tau1;
b12 = 0;
b21 = 0;
b22 = K20/tau2;
B = [b11 b12; b21 b22]
C = [1 0; 0 1]
D = [0 0;0 0]
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
sim('interss')
interss
end
Mach

234

case 2
disp('
|*******************************************************************
**************|')
disp('
CAMBIO RAMPA DE UN SISTEMA INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
NT = [1 2];
NT = input('Nmero del tanque a cambiar = ');
switch NT
case 1
r = input('Pendiente en el Primer Tanque = ');
r2 =0;
case 2
r =0;
r2 = input('Pendiente en el Segundo Tanque = ');
end
P=0;Am=0;wf=0;P2=0;Am2=0;wf2=0;
switch D
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA RAMPA DE UN SISTEMA INTERACTUANTE EN EL
DOMINIO DEL TIEMPO')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
Mach

235

disp('LAS GANANCIAS SON :')


disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 2
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA RAMPA DE UN SISTEMA INTERACTUANTE EN EL
DOMINIO DE LAPLACE ')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 3
msgbox('En el espacio de los estados solo se puede simular la respuesta paso')
disp(' ')
input('
Pulse ENTER para terminar y realizar una nueva Simulacion')
clc
close all
ordenmayorsimulink
end
sim('interordenmayor')
interordenmayor
case 3

Mach

236

disp('
|*******************************************************************
**************|')
disp('
CAMBIO SENO DE UN SISTEMA INTERACTUANTE')
disp('
|*******************************************************************
**************|')
disp(' ')
NT = [1 2];
NT = input('Nmero del tanque a cambiar = ');
switch NT
case 1
Am = input('Amplitud, Am = ');
wf = input('Frecuencia, wf (rad/seg) = ');
Am2 = 0;
wf2 = 0;
case 2
Am = 0;
wf = 0;
Am2 = input('Amplitud, Am2 = ');
wf2 = input('Frecuencia, wf2 (rad/seg) = ');
end
P=0;r=0;P2=0;r2=0;
switch D
case 1
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA SENO DE UN SISTEMA INTERACTUANTE EN EL
DOMINIO DEL TIEMPO')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
Mach

237

disp('tau1 = tau2 = tau3 = '), disp(tau1)


disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 2
disp(' ')
disp('
|*******************************************************************
**************|')
disp('
RESPUESTA SENO DE UN SISTEMA INTERACTUANTE EN EL
DOMINIO DE LAPLACE ')
disp('
|*******************************************************************
**************|')
disp(' ')
% RESULTADOS
disp(' ')
disp('
|***********|')
disp('
RESULTADOS')
disp('
|***********|')
disp('LAS CONSTANTES DE TIEMPO SON :')
disp(' ')
disp('tau1 = tau2 = tau3 = '), disp(tau1)
disp(' ')
disp('LAS GANANCIAS SON :')
disp(' ')
disp('K1 = K2 = K3 ='), disp(K1)
disp(' ')
case 3
msgbox('En el espacio de los estados solo se puede simular la respuesta paso')
disp(' ')
input('
Pulse ENTER para terminar y realizar una nueva Simulacion')
clc
close all
ordenmayorsimulink
end
sim('interordenmayor')
interordenmayor
Mach

238

end
end
disp(' ')
disp('===============================================
========================================= ')
disp(' ')
disp('1. NUEVA SIMULACION')
disp('2. TERMINAR LA SIMULACION')
disp(' ')
Sim=input('Escoger la opcion a realizar = ');
if Sim == 1
clc
close all
ordenmayorsimulink
else
if Sim ==2
clc
close all
end
end

Mach

También podría gustarte