P. 1
10SIMULINK

10SIMULINK

|Views: 0|Likes:
Published by Richard Alexander

More info:

Published by: Richard Alexander on Mar 19, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/29/2013

pdf

text

original

Sections

  • 10.1 INTRODUCCION
  • 10.2 ACCESO A SIMULINK
  • 10.3 LIBRERIAS DE SIMULINK
  • 10.4 LIBRERÍA “CONTINUOUS” (CONTINUO)
  • 10.5 LIBRERÍA “MATH OPERATIONS” (OPERADORES)
  • 10.6 LIBRERÍA “SOURCES” (ENTRADAS)
  • 10.7 LIBRERÍA “SINKS” (SALIDAS)
  • 10.8 LIBRERÍAS “SIGNAL ROUTING” Y “PORTS & SUBSYSTEMS”
  • 10.9.1 Sistema de Primer Orden Lineal – Dominio Tiempo
  • 10.9.2 Sistema de Primer Orden Lineal – Dominio Laplace
  • 10.9.3 Sistema de Segundo Orden Lineal – Dominio Tiempo
  • 10.9.4 Sistema de Segundo Orden Lineal – Dominio Laplace
  • 10.9.5 Sistemas con Tiempo Muerto – Dominio Laplace
  • 10.9.6 Sistema de Tres Tanques de Flujo No Interactuantes
  • 10.9.7 Sistema de Dos Tanques de Flujo Interactuantes
  • 10.9.8 Espacio de los Estados con Simulink
  • 10.9.9 Sistemas No Lineales – Reacciones de Van de Vusse
  • 10.10 MATLAB: COMANDOS UTILIZADOS
  • 10.11 MATLAB: PROGRAMAS CODIFICADOS

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 gráfica (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 matemáticas requeridas para la solución 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 también mediante la digitación de dicha palabra clave con letras minúsculas en el editor de comandos. Con lo anterior se despliega, solamente, la ventana de título “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 estándar 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 librerías que contienen los bloques operacionales agrupados de acuerdo a diferentes propósitos comunes. Los nombres de las librerías 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.

Instalación y Conexión de un bloque operacional
Para la instalación de un bloque en el espacio de trabajo de Simulink se selecciona de la librería 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 botón izquierdo del mouse y en forma sostenida se arrastra hasta el otro tope. La conexión es correcta cuando el puntero del mouse tome la forma de una cruz de doble trazo. Se debe observar una línea con una saeta en el tope del bloque de entrada.

Especificación de un bloque operacional
Las especificaciones mínimas requeridas en un bloque se relacionan con la operación que realizan dentro del diagrama que representa el proceso de solución del modelo matemático del sistema.

10.4 LIBRERÍA “CONTINUOUS” (CONTINUO)
La Figura 10.2a muestra la ventana que se despliega al hacer doble clic sobre la librería “Continuous” y la Figura 10.2b muestra los íconos que simbolizan a cada uno de los bloques que incluye esta librería. Los nombres de los bloques son: Derivative (Derivada), Integrator (Integrador), State-Space (Espacio de los Estados), Transfer Fcn (Función 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. Librería (a) Continuous y (b) Bloques operacionales Los bloques de la librería “Continuous” representan unidades que se alimentan de una información de entrada y que al desarrollar sobre esta un proceso matemático transmite el resultado como una información de salida. En la librería “Continuous” se incluyen los bloques para realizar operaciones matemáticas 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 especificación. 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 operación de integrar la información de entrada desde un tiempo inicial hasta un tiempo final que se especifica como uno de los parámetros de la simulación. C y D y las condiciones iniciales.4b muestra la ventana de especificaciones para el bloque que desarrolla un modelo lineal en la forma del Espacio de los Estados. Mach .4 Especificaciones del bloque (a) Integrator (b) State-Space Bloque Espacio de los Estados (“State-Space”) La Figura 10. B. Se observa en la ventana de especificaciones del bloque integrador mostrada en la Figura 10. Se observan los cuadros para especificar las matrices A.4a que se requiere la especificación de la condición inicial de la variable que se suma (integra) (a) (b) Figura 10. 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.

Simulink incluye un bloque “Transport Delay” y otro titulado “Variable Transport Delay” El bloque “Transport Delay” aplica el tiempo muerto a la señal de entrada que se especifica en el cuadro de nombre “Time Delay”. los polos y las ganancias de la función de transferencia Es común a todas las ventanas de especificaciones de bloques operacionales. usualmente. la inclusión de la barra de título seguido de un pequeño cuadro con el nombre del bloque y una breve descripción de la función de éste.181 (a) (b) Figura 10. se observan los cuadros donde se especifican en forma matricial el numerador y el denominador de la función de transferencia mientras que en la Figura 10. “Cancel”. se dejan como aparecen por defecto Mach .5a. De igual manera.5b los cuadros donde se incluyen en forma matricial los zeros.6 muestra las ventanas de especificaciones para los bloques que incluyen un atraso por tiempo muerto dentro de la dinámica de un sistema. en la parte inferior se incluyen los botones “OK”. mientras que el bloque “Variable Transport Delay” aplica el tiempo muerto a la primera señal de entrada y en la segunda entrada se especifica el tiempo muerto. “Help” y “Apply” Bloque Tiempo Muerto (“Transport Delay”) La Figura 10.5 Especificaciones de bloques (a) Transfer Fcn y (b) Zero-Pole En la Figura 10. Las otras especificaciones.

5 LIBRERÍA “MATH OPERATIONS” (OPERADORES) La Figura 10.7 muestra la ventana que se despliega al hacer doble clic sobre la librería “Math Operations” y la Figura 10.7 Librería Math Operations Mach .6 Especificaciones de los bloques Transport Delay 10.182 (a) (b) Figura 10.8 los botones incluidos en dicha librería. 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.8 Bloques de la librería Math Operations Los bloques de la librería “Math Operations” se utilizan en la simulación de la dinámica de un sistema para aplicar operadores matemáticos sobre su información de entrada.183 Figura 10.9 Especificaciones del bloque Sum Mach . A continuación se describe la especificación 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.

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 información de entrada y el producto lo transmite como la información de salida. En el cuadro Gain se introduce la ganancia como un valor constante El bloque “Slider Gain” realiza la misma operación del bloque “Gain” permitiendo la variación del valor de la ganancia asignada.10b muestra la ventana de especificaciones del bloque “Slider Gain” (a) (b) Figura 10. La Figura 10.11 Mach . El factor multiplicador es la ganancia.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 número de ellas. Esto se especifica introduciendo. desde un valor mínimo hasta un máximo. el número de corrientes a multiplicar o los signos producto o división 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.10a muestra la ventana de especificaciones del bloque Gain. mediante el botón deslizable. La Figura 10. ya sea.10 Especificaciones de los bloques (a) Gain y (b) Slider Gain Bloque Producto (“Product”) El bloque “Product” realiza el producto o la división entre las informaciones de entrada.

(b) Trigonometric Function Mach .12 (a) (b) Figura 10.12 Especificaciones del bloque (a) Math Function. mientras que el bloque “Trigonometric Function” solo aplica funciones trigonométricas como se observa en la Figura 10.185 Figura 10. estos se despliegan con los símbolos de producto o división 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 información de entrada una función matemática que se selecciona en el cuadro desplegable “Function”.11 Especificaciones del bloque Product Al especificar los signos.

13 muestra la ventana que se despliega al hacer doble clic sobre la librería “Sources” y la Figura 10. Después de introducir lo anterior.186 Bloque Minimo y Maximo (“MinMax”) El bloque “MinMax” selecciona el valor mínimo o el máximo entre los correspondientes a las informaciones de entrada.14 los íconos de los bloques incluidos en dicha librería Figura 10. se observa en el icono del bloque un número de topes de entrada igual al especificado 10.6 LIBRERÍA “SOURCES” (ENTRADAS) La Figura 10.13. es decir. Librería Sources Mach . En su ventana de especificaciones se encuentra el cuadro donde se elige la función del bloque. “min” o “max” y un cuadro adicional donde se especifica el número de entradas al bloque.

no tienen puertos de entrada. A continuación se describen los bloques Step. Digital Clock.187 Figura 10. Constant. Ramp.14 Bloques de la librería Sources La librería “Sources” contiene un conjunto de bloques de donde emergen señales que representan los cambios en las variables de entrada. (a) (b) Figura 10.15a muestra la ventana de especificaciones del bloque “Step”.15 Especificaciones de los bloques (a) Step y (b) Ramp Mach . Signal Generator Bloques Paso y Rampa (“Step” y “Ramp”) La Figura 10. Clock. Sine Wave. 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”. Estos bloques solo tienen puertos de salida. es decir.

La Amplitud. En el cuadro “Wave from” se especifica si la onda periódica de entrada es sinusoidal.17a muestra la ventana de especificaciones para el bloque “Clock” que se utiliza para mostrar el tiempo de simulación.15b muestra la ventana de especificaciones del bloque “Ramp”.16 Especificaciones del bloque (a) Sine Wave y (b) Signal Generator La Figura 10. Si se verifica el cuadro “Display Mach . En el cuadro “Slope” se introduce la pendiente de la rampa y en el cuadro “Start time” se introduce el tiempo de iniciación del cambio rampa.188 La Figura 1. “Frequency” y “Phase”. (a) (b) Figura 10. el umbral. la frecuencia y la fase de la onda sinusoidal se introducen en los cuadros de nombres “Amplitude”. respectivamente. Los cuadros de especificaciones se dejan con sus valores por defecto Bloques Seno y Generador de Señal (“Sine Wave” .“Signal Generator”) La Figura 10. Bloques Reloj y Constante (“Clock” y “Constant”) La Figura 10.16a muestra la ventana de especificaciones del bloque “Sine Wave”. diente de sierra o al azar.16b muestra la ventana de especificaciones del bloque “Signal Generator”. “Bias”. respectivamente. cuadrada. La amplitud y la frecuencia se introducen en los cuadros de nombres “Amplitude” y “Frequency”.

La Figura 10.189 time” se despliega el tiempo sobre el icono. se presiona el cuadro “Parameters” y se introducen el número de gráficos en el cuadro “Number of axes”. para lo cual se hace doble clic sobre el icono. “Floating Scope” y “XY Graph” despliegan la información de salida en función del tiempo.17 Especificaciones del bloque (a) Clock (b) Constante La Figura 10. 10. (a) (b) Figura 10. El botón “Scope” no requiere especificaciones y “Floating Scope” se utiliza para representar en gráficos separados los perfiles de cada una de las informaciones de salida. Mediante estos bloques se observan los resultados de las simulaciones en diferentes formas.7 LIBRERÍA “SINKS” (SALIDAS) La librería “Sinks” contiene un conjunto de bloques receptores de señales de salida y. El bloque “Display Clock” se puede utilizar como otra opción. Los botones “Scope”. solo tienen puertos de entrada.18b muestra los botones que se incluyen en dicha librería. gráfica o numérica. por ejemplo.19 muestra la ventana de especificaciones de los botones “Floating Scope” y “XY Graph”. en forma gráfica.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 dinámica de un sistema.18a muestra la ventana que se despliega al hacer doble clic sobre la librería “Sinks” y la Figura 6. Mach . La Figura 10. por lo tanto. El botón “XY Graph” requiere de las especificaciones de los valores límites en los ejes de representación de las variables “X” e “Y”.

19 Especificaciones del bloque (a) XY Graph y (b) Floating Scope Los botones “Display” y “To Workspace” despliegan la información de salida en forma numérica.18 Librería Sinks (b) (a) (b) Figura 10.190 (a) Figura 10. El primero lo muestra en forma digital sobre el mismo icono mientras que el segundo lo hace sobre el espacio de trabajo de Matlab asignándole Mach .

La Figura 10. Mach .191 un símbolo a las variables que se quieren desplegar. El botón “Display” permite la selección del formato numérico para el despliegue de la información de salida.21 Especificaciones del bloque “To File” 10.8 LIBRERÍAS “SIGNAL ROUTING” Y “PORTS & SUBSYSTEMS” Las Figuras 10.20 muestra las ventanas de especificaciones de estos botones (a) (b) Figura 10.22 muestran las ventanas que se despliegan al abrir las librerías “Signal Routing” y “Ports & Subsystems” que contienen bloques de enrutamiento de señales y definición de puertos y subsistemas.20 Especificaciones del bloque (a) “Display” y (b) “To Workspace” Figura 10.

22. for.9.9 SIMULACION DE UN SISTEMA CON SIMULINK 10. switch. planteado en la Práctica No.1 Sistema de Primer Orden Lineal – Dominio Tiempo En la Figura 10. mezcladores. Mach . while. Librería (a) Signal Routing (a) y (b) Ports & Subsystems La librería “Signal Routing” contiene un conjunto de bloques de enrutamiento de señales como interruptores. etc. etc.192 (a) (b) Figura 10. Estos bloques tienen puertos de entrada y de salida La librería “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. divisores. 10.23 se muestra un diagrama de bloques para la simulación del sistema de primer orden lineal en el dominio del tiempo. 1.

Diagrama de bloques del sistema de la Práctica 1 Mach .23.193 Figura 10.

Figura 10. Ramp y Sine Wave. Su funcionamiento está acoplado con el botón constante denominado “Entrada” cuya función es indicar al interruptor la función que debe dejar pasar a través de él. Esto se hace asignando los números 1. el flujo volumétrico a través del mismo y la constante de velocidad de reacción. El botón “Mux” de la librería “Routing Signal” simula la circulación de la señal rampa de entrada separada de la señal de salida del sistema pero conjuntas de tal manera que el “Scope” que se alimenta con la descarga del botón “Mux” muestra en una misma ventana ambos perfiles. El botón “Multiport Switch” es un interruptor múltiple que se encuentra en la librería “Signal Routing”. Para la fijación de los parámetros de la simulación en cuanto a la fijación del tiempo y a la selección del método para la solución de la ecuación diferencial despliegue el menú “Simulation” y llénela como se observa en la Figura 10.24 Especificación de los Parámetros de la Simulación En el cuadro “Simulation Time” se ha fijado como tiempo de simulación 50 unidades de tiempo y en el cuadro “Solver options” se ha seleccionado el método Mach .194 Los parámetros físicos incluidos son los correspondientes al volumen en el tanque. El botón “Manual Switch” se incluye para interrumpir el flujo de la información de salida a través de él cuando se haga la simulación de la respuesta rampa. Su operación es manual Al hacer la simulación con la ecuación diferencial estándar de un sistema de primer orden lineal en términos de sus variables desviación. 2 y 3 a los cambios Step. respectivamente.24. la condición inicial en el integrador es cero.

9. Rosenbrock).3 Sistema de Segundo Orden Lineal – Dominio Tiempo En la Figura 10. es decir. Se utiliza el bloque “Math Function” de la librería “Math Operations” para realizar raíces cuadradas y potencias al cuadrado. con lo que se observa claramente el perfil lineal de la respuesta después de un cierto tiempo. lo que puede deberse a la aplicación de un método menos riguroso 10. Se observa la necesidad de dos bloques “Integrator” debido a que la ecuación diferencial que se simula es de segundo orden Mach .375 1]. Se especificó con un numerador de [0. con los parámetros correspondientes a la ganancia y constante de tiempo determinados para dicho sistema. Estos métodos rigurosos se seleccionan. 4. para la solución del modelo se utiliza el método ode23s (stiff/Mod.26 se muestra un diagrama de bloques para la simulación del sistema de segundo orden lineal en el dominio del tiempo. El botón “Gain” se coloca para alimentar el “Scope” con la información correspondiente a la variable de salida dividida por la ganancia del sistema. especialmente. Con el bloque “LTI System” se puede introducir la función de transferencia ya sea en la forma estándar.195 ode23s (stiff/Mod. Se incluye el botón “Display” de la librería “Sinks” para desplegar el valor del coeficiente de amortiguamiento.9. cuando se observa que las respuestas se ven a trazos lineales muy notorios. 3. o zero-pole o espacio de los estados. planteado en la Práctica No. utilizando los comandos correspondientes para cada una de ellas. planteado en la Práctica No. Nuevamente. Rosenbrock) y se sugiere fijar un tiempo de 50 unidades de tiempo Una función 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. zpk o ss 10. La función de transferencia se procesa con el botón “Transfer Fcn” de la librería “Continuous”.875] y un denominador de [4.25 se muestra un diagrama de bloques para la simulación del sistema de primer orden lineal en el dominio del tiempo.2 Sistema de Primer Orden Lineal – Dominio Laplace En la Figura 10. tf. es decir.

196 Figura 10.25 Diagrama de bloques del sistema de la Práctica 2 Mach .

26 Diagrama de bloques del sistema de la Práctica 3 Mach .197 Figura 10.

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 simulación del sistema de segundo orden lineal en el dominio de Laplace, planteado en la Práctica No. 5. En esta simulación, se construye un archivo con Matlab, es decir, con extensión punto m, que solicite al usuario los parámetros físicos del sistema (Masa del bloque, constante de elasticidad, coeficiente de amortiguamiento, aceleración de la gravedad y área del diafragma, calcule los parámetros dinámicos (Ganancia, constante de tiempo y coeficiente de amortiguamiento) y defina el numerador (num) y el denominador (den) de la función de transferencia que se introducen como los parámetros que especifican al bloque Función 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 parámetros de la simulación 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 dinámica de un sistema con tiempo muerto en el dominio de Laplace e incluye los modelos de primero y segundo orden desarrollados en las Prácticas No. 3 y 5. Para esta simulación, 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 parámetros requeridos y en el segundo se desarrolla la simulación. De esta forma, los bloques del diagrama en Simulink se especifican con los símbolos asignados en el archivo “Sistemas.m”. Se observa, además, que el tiempo de simulación se captura con el nombre “Rango” y se introduce dentro de la ventana de especificaciones de los parámetros de simulación que se despliega dentro de la ventana de Simulink. La simulación 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 solución gráfica resultante se observa desplegando los registradores respectivos. Algunos comandos de matlab utilizados en el primero de los archivos se explican al final de esta lección.

Mach

199

Figura 10.27 Diagrama de bloques del sistema de la Práctica 4

Mach

200

Figura 10.28 Simulación de la dinámica de un sistema con Tiempo Muerto

Mach

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.29 y 10.28 se incluye el botón “Transport Delay” de la librería “Continuous” para especificar el tiempo muerto y se simplifica el diagrama definiendo dos subsistemas.30 muestran los diagramas correspondientes para cada uno de los subsistemas observados Figura 10. Las Figuras 10.30 Subsistema para seleccionar la respuesta del sistema Mach .29 Subsistema para seleccionar el orden del sistema Figura 10.201 En la Figura 10.

Además. El archivo se incluye al final de este capítulo y se denomina “ordenmayorsimulink. Rampa o Seno).31 se muestra un diagrama de bloques para la simulación del sistema de tres tanques en serie no interactuantes planteado en la Práctica No. de la misma librería. La entrada a este bloque es el cambio en la variable de entrada (Paso.m” Las Figuras 10. De igual manera. respectivamente.32 muestra el diagrama interior al bloque denominado “TiempoLaplace”. En la Figura 10. dentro del diagrama de bloque. El caso 1 (Primer Orden) se conecta con un botón “Switch Case Action Subsystem”. solo emerge la información alimentada 10. El botón “Merge” de la librería “Ports&Subsystems” emerge las señales de entrada en una sola señal de salida. Se incluyen un caso para la respuesta rampa y otro caso (2. que desarrolla los cambios paso y seno. 3). Se observa que los parámetros que se introducen a través de un programa codificado con Matlab son el dominio de solución del modelo y el tipo de respuesta que se quiere simular. En este caso. En la Figura 10. Para el caso 2 (Segundo Orden) se construye un esquema similar. denominado “Primer Orden” que requiere de la alimentación de la acción (1).29 se emplea el botón “Switch Case” de la librería “Ports&Subsystems” y que desarrolla la operación switch-case sobre el valor de la variable de entrada que en el programa codificado en Matlab corresponde a la asignación para seleccionar el sistema de primero o segundo orden. Los botones “Switch Case Action Subsystem” se alimentan de las acciones y entradas correspondientes a rampa y paso y seno. incluye Mach . para la variable de entrada.30.9. para lo cual se instala la función de transferencia para un sistema de primer orden (En el esquema se colocó afuera para ilustración del lector) entre su puerto de entrada y salida. un botón “Switch Case” desarrolla la operación switch-case sobre el valor que se asigna para seleccionar el tipo de cambio en la variable de entrada. es la aplicación de un lazo “Switch…Case” para desarrollar la solución de la respuesta seleccionada en el dominio del tiempo o de Laplace. 7.6 Sistema de Tres Tanques de Flujo No Interactuantes En la Figura 10. El interruptor multipuerto utiliza como indicador de salida el que se asigna para el orden del sistema. se introducen los parámetros que especifican cada uno de los cambios que se incluyen.202 El botón “Subsystem” se selecciona en la librería “Ports&Subsystems” y el subsistema se puede construir dentro del bloque seleccionado pero también se pueden escoger los elementos previamente y seleccionar la opción “Create Subsystem” del menú “Edit” del espacio de trabajo de Simulink.

31 Sistema de Orden Mayor – Tanques No Interactuantes Figura 10. Al observar este diagrama. paso.32 Selección del dominio de Solución La Figura 10.203 un bloque donde se selecciona el tipo de respuesta a simular. es decir.33 muestra el diagrama de bloques que representa la solución del modelo en el dominio del tiempo. se deduce que los Mach . Figura 10. rampa o seno.

204 parámetros dinámicos correspondientes a cada uno de los tanques se introducen al correr el programa codificado en Matlab. Se observa. las constantes de tiempo y las ganancias estacionarias.32. es decir.33 Solución del modelo en el dominio del tiempo Figura 10.35 es el diagrama de bloques correspondiente al subsistema denominado “Salida” incluido en la Figura 10.34 es el diagrama de bloques que representa la solución del modelo en el dominio de Laplace Figura 10.34 Solución del modelo en el dominio de Laplace La Figura 10. que mediante un lazo Mach . La Figura 10.

205 de control “Switch…Case” se selecciona la salida de acuerdo al dominio. tiempo o Laplace.36 es el diagrama de bloques en donde se selecciona si la respuesta a simular es paso.35 Selección del dominio de Salida La Figura 10.36 Selecciona del tipo de respuesta Mach . Figura 10. rampa o seno para los respectivos gráficos de salida Figura 10. en que se hace la simulación.

El código se incluye en el archivo “ordenmayorsimulink.206 10.37. Mach . Se observa que los parámetros que se introducen a través de un programa codificado con Matlab son el dominio de solución del modelo y el tanque cuya respuesta se quiere simular. se introducen los parámetros que especifican cada uno de los cambios que se incluyen. para la variable de entrada.38 a 10. dentro del diagrama de bloque.37 se muestra un diagrama de bloques para la simulación del sistema de dos tanques de flujo interactuantes planteado en la Práctica No. 7.42 muestran los diagramas de bloques de cada uno de los sucesivos subsistemas introducidos en el diagrama de bloque de la Figura 10. De igual manera.7 Sistema de Dos Tanques de Flujo Interactuantes En la Figura 10.m” Figura 10. La estructura de los subsistemas es similar a la construida para el modelo de tres tanques de flujo en serie no interactuantes.37 Tanques en serie interactuantes Las Figuras 10.9.

39 Subsistema “Dominio del Tiempo” Mach .207 Figura 10.38 Subsistema “Tiempo – Laplace” Figura 10.

208 Figura 10.40 Subsistema “Dominio Laplace” Figura 10.41 Subsistema “Salida” Mach .

Figura 10.209 Figura 10.44 Tanques Interactuantes – Espacio de los Estados Mach .42 Subsistema “Salida1” 10.43 Tanques no interactuantes – Espacio de los Estados Figura 10.8 Espacio de los Estados con Simulink En la Figura 10.9.43 se muestra el diagrama de bloques para la simulación del modelo de los tres tanques de flujo en serie no interactuantes planteado en la Practica No. 7.

9 Sistemas No Lineales – Reacciones de Van de Vusse En la Práctica No.45 Bloque For Iterator Subsystem Al hacer doble clic sobre el bloque se despliega el subsistema que muestra el bloque “For Iterator”.46 El bloque “For Iterator” se especificó para que la entrada del número de cálculos se alimente externamente seleccionando la opción “External” en el cuadro “Source of number of iterations” Mach .210 Y la Figura 10. 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 librería “Ports&Subsystems”. La entrada a dicho subsistema es el número de iteraciones y la salida ha sido anulada para mostrar los resultados en el interior del blorque “For Iterator Subsystem”.45 se muestra el botón 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. Las matrices son introducidas en el archivo “ordenmayorsimulink” 10. y un puerto de entrada unido a un puerto de salida como se observa en la Figura 10.9.8) y (8. 8 se plantea la simulación del sistema de reacciones de Van de Vusse cuyo modelo matemático es no lineal y sus características permiten un análisis en estado estacionario o dinámico Análisis en Estado Estacionario En la Figura 10. Figura 10.9).44 muestra el diagrama de bloques para el sistema de dos tanques de flujo interactuantes simulado en la misma práctica.

1 en 0.1 desde cero y un número de veces dado por el número de iteraciones especificado.1 para que los cálculos se inicien para un valor de cero ya que esta salida se ha de sumar con el valor constante de 0. los cálculos se repiten tantas veces como el tiempo permita repetir el número de cálculos.1 alimentado.47 Especificaciones del botón “Memory” Tratándose de una solución en estado estacionario se fijan tanto el tiempo inicial como el final con un valor de cero. Se requiere la verificación del cuadro de nombre “Inherit sample time”. Mach . Figura 10. La salida de este botón es el valor de entrada anterior.48. el valor de la velocidad espacio cambia de 0. Para la asignación de los sucesivos valores de la velocidad espacio se emplea el bloque “Memory” de la librería “Discrete” cuya función y especificaciones se observan en la Figura 10.211 Figura 10.47. Al fijar un tiempo final diferente. Con este lazo. Se asigna como valor inicial el valor de -0.46 El diagrama de bloques para el cálculo de las concentraciones de A y B en estado estacionario se muestra en la Figura 10.

48 Subsistema para calcular el perfil de las concentraciones de A y B El número de iteraciones se multiplica por el valor de 0. Para la observación 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 concentración de A y de 0 a 1.212 Figura 10. A continuación 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. errordlg y sim.5 para la concentración de B. 10.1 para fijar la escala en el eje de las abscisa de 0 a 10 en las representaciones gráficas.10 MATLAB: COMANDOS UTILIZADOS En los archivos codificados con Matlab para ejecutar algunas simulaciones en esta lección se utilizan algunos comandos como el msgbox. La sintaxis es: Mach .

Título) El comando “questdlg” despliega un cuadro de mensaje con un icono de interrogación e incluye tres botones para presionar que. Con ellos se tiene especificado. El argumento “Icono” es el dibujo que aparece en el lado izquierdo y que puede ser “none”. El icono por defecto es el primero y los otros representan dibujos de error. La presión de uno de ellos acepta como respuesta el nombre correspondiente Comando sim Este comando ejecuta la simulación de un modelo representado mediante un diagrama de bloques en Simulink. aparecen con los nombres de “Yes”. Estos cuadros incluyen un botón “OK” para aceptar el mensaje. que aparecen en el cuadro. por defecto. por defecto. ayuda o interjección y solo requieren de la especificación del mensaje y el titulo. Título. que su sintaxis es por ejemplo para el comando errordlg: errordlg(Mensaje.Icono) Los argumentos “Mensaje” y “Titulo” se escriben entre comillas simples y son el mensaje y el nombre o titulo. Intervalo de Tiempo) Mach . La minimización o cancelación se consigue presionado los correspondientes en el extremo superior derecho de la barra de titulo.BotonPorDefecto) A los botones pueden asignárseles nombres diferentes a los que muestran por defecto. “help” o “warn”.213 msgbox(Mensaje. Su sintaxis es una de las siguientes: sim(‘Model’) [t.Boton2.Boton3. respectivamente. Título. el icono de error.Botón1. “No” y “Cancel”. “error”. “helpdlg” y “warndlg”.y] = sim(‘Model’. Es decir. La sintaxis para el comando “questdlg” es: questdlg(Mensaje. Algunas alternativas para el despliegue de cuadros de mensajes son los comandos “errordlg”. ayuda o intejeccion.x.

el intervalo del tiempo de simulación [to ∆t tf] Comando beep Este comando. simplemente. estas se observan sobre el espacio de trabajo en Matlab.11 MATLAB: PROGRAMAS CODIFICADOS Archivo Sistemas. La segunda sintaxis despliega los valores de tiempo. disp(' ') disp(' :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') disp(' ') disp(' ') disp(' ') disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') disp(' ') disp(' TIPO DE RESPUESTA DEL SISTEMA') disp(' ') Mach .'Bienvenido').214 ‘Model’ es el nombre del archivo que contiene el diagrama de bloques construido en Simulink y debe escribirse entre comillas simples. Por ejemplo. además del nombre del modelo. Los argumentos incluyen. produce un sonido al ejecutarse 10. La primera sintaxis despliega la respuesta del sistema de acuerdo a los receptores instalados en el diagrama. En el caso de respuestas numéricas receptadas en un botón “To Workspace”. 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'). si se trata de observar la respuesta gráfica es necesario abrir el diagrama de bloques y desplegar los botones correspondientes.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'. variables de entrada y variables de salida en el espacio de trabajo de Matlab.

A=0. PASO') disp('2. 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 = '). RAMPA') disp('3. if (R < 1)|(R > 3) errordlg('Selecione 1. disp(' ') r=0. w=0. 2 o 3') beep R = input('Escriba La Respuesta a Simular: '). 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 = '). SENO') disp(' ') R = input('Escriba La Respuesta a Simular: '). Mach .215 disp(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') disp(' ') disp(' ') disp('1.

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(' ') clc disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') disp(' SISTEMAS') disp(' ') disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') disp(' ') disp('1. s = ').216 disp(' ') X=0.'Tiempo Muerto') beep To = input('* Escriba El Valor Del Tiempo Muerto. 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'. r=0. w=0. s = '). SISTEMA LINEAL DE PRIMER ORDEN: TANQUE CALENTADOR') disp('2. Rango = input('* Tiempo de simulación. SISTEMA LINEAL DE SEGUNDO ORDEN: VALVULA DE CONTROL') disp(' ') Mach . A=0. disp(' ') X=0.

T = input('* Temperatura De Entrada Del Agua En Estado Estacionario. U = input('* Coeficiente Global De Transferencia De Calor. Kg/m^3 = '). KW/m^2-ºC = '). C = input('* Calor Específico. m^3/s = '). A = input('* Area De Transferencia De Calor. if (S < 1)|(S > 2) errordlg('Selecione 1 o 2') beep S = input('¿ Que Sistema Desea Simular ?: '). disp(' ') disp(' ') disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') Mach .217 S = input('¿ Que Sistema Desea Simular ?: '). ºC = '). V = input('* Volumen Del Liquido En El Tanque. KJ/Kg-ºC = '). m^2 = '). RHO = input('* Densidad Del Agua. 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 = ').

K*A/sqrt(1+(w*tau)^2) disp('Fase de la respuesta con respecto a la entrada'). clc case 2 clc disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') disp('!USTED ESCOGIO SIMULAR EL SISTEMA LINEAL DE SEGUNDO ORDEN: VALVULA DE CONTROL!') 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'). atan(-w*tau) end STOP=input('Presione ENTER para ver la simulacion en Simulink').

K = input('* Constante De Hooke Del Resorte. lbf/pie = '). pie^2 = '). z = roots(p) disp(' ') disp(' ') disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') disp(' RESULTADOS') disp(' ') disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') switch R case 1 if sigma > 1 Mach .2*K)) K = A/K sigma = sqrt((32. lbm = ').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]. C = input('* Coeficiente De Amortiguamiento Viscoso. A = input('* Area Del Diafragma. disp(' ') disp(' ') disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') disp(' PARAMETROS DINAMICOS DEL SISTEMA') disp(' ') disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') tau = sqrt(M/(32.219 disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') disp(' PARAMETROS FISICOS DEL SISTEMA') disp(' ') disp('::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') disp(' ') M = input('* Masa Del Bloque. lbf/pie/s = ').

/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 dinámicos') atraso = -1./z Mach ./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 dinámicos') atraso = -1./z elseif sigma == 1 disp('Respuesta Amortiguada Crítica') disp('Atrasos Dinámicos') atraso = -1./z elseif sigma == 1 disp('Respuesta Amortiguada Crítica') disp('Atrasos dinámicos') atraso = -1.220 disp('Respuesta Sobreamortiguada Estable') disp('Atrasos Dinámicos') atraso = -1.

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.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 Crítica') disp('Atrasos dinámicos') 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'). RAMPA Y SENO PARA SISTEMAS DE ORDEN MAYOR') disp(' |******************************************************************* ********|') disp(' ') disp(' |*********|') disp(' SISTEMAS') disp(' |*********|') disp(' ') Mach .

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

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

disp(K1) disp(' ') sim('nointerordenmayor') nointerordenmayor case 2 disp(' ') Mach .wf=0.224 disp(' CAMBIO PASO DE UN SISTEMA NO INTERACTUANTE') disp(' |******************************************************************* **************|') disp(' ') % ENTRADAS P = input('Cambio paso = '). 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 = ').Am=0. disp(tau1) disp(' ') disp('LAS GANANCIAS SON :') disp(' ') disp('K1 = K2 = K3 ='). r=0.

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 = '). Mach . a13 = 0.ESPACIO DE LOS ESTADOS') disp(' |******************************************************************* *****************************|') disp(' ') % PROCESO a11 = -1/tau1. a12 = 0. 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 .

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

227 P=0. 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 . disp(tau1) disp(' ') disp('LAS GANANCIAS SON :') disp(' ') disp('K1 = K2 = K3 ='). 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 = ').wf=0.Am=0.

disp(tau1) disp(' ') disp('LAS GANANCIAS SON :') disp(' ') disp('K1 = K2 = K3 ='). switch D case 1 disp(' ') disp(' |******************************************************************* **************|') Mach .r=0. wf = input('Frecuencia (rad/seg) = '). P=0.228 disp(' |***********|') disp(' RESULTADOS') disp(' |***********|') disp('LAS CONSTANTES DE TIEMPO SON :') disp(' ') disp('tau1 = tau2 = tau3 = '). 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 = ').

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 = ').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 :') Mach . disp(tau1) disp(' ') disp('LAS GANANCIAS SON :') disp(' ') disp('K1 = K2 = K3 =').

lb/pie3 = '). V1 = input('Volumen del primer tanque.230 disp(' ') disp('K1 = K2 = K3 ='). V2 = input('Volumen del segundo tanque. f1 = input('Flujo volumetrico de entrada al primer tanque. t0 = input('Tiempo de simulación. T10 = T20. Cv = input('Calor especifico a volumen constante. Inicio = input('Condiciones iniciales = '). pie3/min= '). min = '). 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(' PARÁMETROS FÍSICOS DEL SISTEMA INTERACTUANTE') disp(' |******************************************************************* **************|') disp(' ') % ENTRADAS rho = input('Valor de la densidad. Btu/lb-°F = '). % PROCESO Cp = Cv. °F = '). pie3 = '). f2 = input('Flujo volumetrico de entrada al segundo tanque. pie3/min= '). pie3 = '). Mach . T10 = input('Temperatura Inicial del Tanque 1. Cp = Cv.

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

disp(tau1) disp(' ') disp('LAS GANANCIAS SON :') disp(' ') disp('K1 = K2 = K3 ='). 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(K1) disp(' ') sim('interordenmayor') interordenmayor Mach .232 % RESULTADOS disp(' ') disp(' |***********|') disp(' RESULTADOS') disp(' |***********|') disp('LAS CONSTANTES DE TIEMPO SON :') disp(' ') disp('tau1 = tau2 = tau3 = ').

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

234 case 2 disp(' |******************************************************************* **************|') disp(' CAMBIO RAMPA DE UN SISTEMA INTERACTUANTE') disp(' |******************************************************************* **************|') disp(' ') NT = [1 2]. case 2 r =0. r2 = input('Pendiente en el Segundo Tanque = '). disp(tau1) disp(' ') Mach .wf=0.wf2=0. end P=0.Am=0. r2 =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 = ').P2=0. NT = input('Número del tanque a cambiar = ').Am2=0. switch NT case 1 r = input('Pendiente en el Primer Tanque = ').

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 . disp(tau1) disp(' ') disp('LAS GANANCIAS SON :') disp(' ') disp('K1 = K2 = K3 =').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 = ').

r2=0. NT = input('Número del tanque a cambiar = '). Am = '). Am2 = input('Amplitud. case 2 Am = 0. wf (rad/seg) = '). 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 .r=0.236 disp(' |******************************************************************* **************|') disp(' CAMBIO SENO DE UN SISTEMA INTERACTUANTE') disp(' |******************************************************************* **************|') disp(' ') NT = [1 2]. wf = 0. switch NT case 1 Am = input('Amplitud.P2=0. wf2 = 0. wf = input('Frecuencia. Am2 = 0. wf2 (rad/seg) = '). Am2 = '). wf2 = input('Frecuencia. end P=0.

237 disp('tau1 = tau2 = tau3 = '). 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 . 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(tau1) disp(' ') disp('LAS GANANCIAS SON :') disp(' ') disp('K1 = K2 = K3 =').

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

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->