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



Documentos relacionados
Manual de Introducción a SIMULINK

INTRODUCCION A SIMULINK

2. SISTEMAS LINEALES DE PRIMER ORDEN (I)

Simulación de sistemas con Simulink

Práctica N 2 Simulink como herramienta para resolver ecuaciones diferenciales

Introducción al PSPICE

Inducción al Laboratorio de Informática

MATLAB. (PARTE III) APLICACIONES EN CONTROL CON SIMULINK SIMULINK

Entidad Formadora: Plan Local De Formación Convocatoria 2010

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Operación de Microsoft Excel

17. DOMINIO FRECUENCIA CRITERIO DE BODE

Estadística con Excel Informática 4º ESO ESTADÍSTICA CON EXCEL

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

LibreOffice - curso avanzado

Centro de Capacitación en Informática

1) Como declarar una matriz o un vector.

Curso básico de computación para principiantes

Guía de Aprendizaje No. 1

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Instructivo de Instalación y Uso de software MasterControl

Tema 4: Empezando a trabajar con ficheros.m

Delphos Portal GUÍA PARA LA CONSULTA DE LA INFORMACIÓN SOBRE PÉRDIDAS OCASIONADAS POR EVENTOS NATURALES MÓDULO DE PÉRDIDAS

Capítulo V. Implementación

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

MANUAL DE FACTURACIÓN TOUCH SCREEN

Instructivo de Microsoft Excel 2003

Manual para el uso del Correo Electrónico Institucional Via Webmail

Adquisición de Datos usando Matlab

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

Guía N 1: Fundamentos básicos(i)

Capítulo 6. Desarrollo del Software

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Manual de Usuario Sistema para Postulación a Concurso v1.3. Para utilizar el sistema, usted deberá constar con los siguientes requisitos mínimos:

Operación Microsoft Access 97

Lab 5: Contador decimal en System Generator

Comenzando con MATLAB

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

Introducción a Matlab.

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Integrador, realimentación y control

Matlab para Análisis Dinámico de Sistemas

MANUAL DE LA APLICACIÓN HELP DESK

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

DOCENTES FORMADORES UGEL 03 PRIMARIA

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Figura 1 Abrir nueva hoja de cálculo

Microsoft Access proporciona dos métodos para crear una Base de datos.

Mando a distancia. Manual en español. Última actualización:

Activación de un Escritorio Remoto

POWER POINT. Iniciar PowerPoint

La ventana de Microsoft Excel

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Nota: Se puede tener un acceso directo definido o podemos entrar a través de la

TRÁFICO DE PISO 2. Rev. 1 15/04/09

MANUAL DE HOJA DE CALCULO

PRÁCTICA 2: MODELADO DE SISTEMAS

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Operaciones básicas, fórmulas, referencias absolutas, relativas y mixtas.

Programa Maestro. E-Learning Class v 6.0

Access Control. Manual de Usuario

Instituto Tecnológico de Massachussets Departamento de Ingeniería Eléctrica e Informática Circuitos electrónicos Otoño 2000

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI)

Formularios. Formularios Diapositiva 1

5.24. ESTUDIO DE LOS MOVIMIENTOS OSCILATORIOS

Manual de ayuda. Índice: 1. Definición.. Pág Conceptos básicos... Pág Navegación.. Pág Operativa más habitual.. Pág.

Introducción

Manual de configuración y uso de MyBusiness Inventario

PowerPoint 2010 Modificar el diseño de las diapositivas

DISEÑADOR DE ESCALERAS

Intérprete entre el Operador y el Ordenador.

EL PROGRAMA PROTEUS Análisis de Circuitos

Usuario libre en Neodata Nube

MATERIAL 2 EXCEL 2007

Complemento Microsoft Mathematics

Manual Consulta de Saldos

2_trabajar con calc I

UNIDAD I PROCESADOR DE TEXTOS

GUIA DE USO DEL ACCPRO

Introducción a la Estadística con Excel

RAPID TYPING. Qué es?

DESCRIPCIÓN DEL SISTEMAS DE CITAS PROGRAMADAS. Introducción

Unidad 5. Gestión de ficheros. CURSO: Introducción LibreOffice

MANUAL DE USUARIO DE CUENTAS DE CORREO

STRATO LivePages Inicio rápido

MANUAL TARIFICADOR. Clic aquí Descargar Tarificador

Creación de un Gráfico con OpenOffice.org Calc Presentación de los Datos Asistente para Gráficos

Cómo usar P-touch Transfer Manager

Control Automático TAREA PROGRAMADA DISEÑO DE UN COMPESADOR DE FILTRO DE MUESCA

WINDOWS. Iniciando Windows. El mouse

Manual Suspensión de Cheques

INTRODUCCIÓN DÓNDE ENCONTRAR LA CALCULADORA WIRIS

ANEXO Windows 98. En el curso trabajaremos con Windows 98, el sistema operativo instalado en las computadoras del Laboratorio.

1. La nueva interfaz del programa

PARTE III OBTENCIÓN DE MODELOS OBTENCIÓN DE MODELOS MODELADO E IDENTIFICACIÓN ASPECTOS A TENER EN CUENTA MODELADO IDENTIFICACIÓN OBTENCIÓN DE MODELOS

Transcripción:

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), Zero- Pole (Transferencia Muerto en la forma de zeros y polos)

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

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. Se observa en la ventana de especificaciones del bloque integrador mostrada en la Figura 10.4a que se requiere la especificación de la condición 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.

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 función 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 función de transferencia Es común a todas las ventanas de especificaciones de bloques operacionales, 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. 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 dinámica 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 señal 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 señal de entrada y en la segunda entrada se especifica el tiempo muerto. Las otras especificaciones, usualmente, se dejan como aparecen por defecto

182 (a) (b) Figura 10.6 Especificaciones de los bloques Transport Delay 10.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.8 los botones incluidos en dicha librería. Figura 10.7 Librería Math Operations

183 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. 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.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

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. 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. 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 operación del bloque Gain permitiendo la variación del valor de la ganancia asignada, mediante el botón deslizable, desde un valor mínimo hasta un máximo. 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 división entre las informaciones de entrada. Esto se especifica introduciendo, ya sea, 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.11

185 Figura 10.11 Especificaciones del bloque Product Al especificar los signos, 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, mientras que el bloque Trigonometric Function solo aplica funciones trigonométricas como se observa en la Figura 10.12 (a) (b) Figura 10.12 Especificaciones del bloque (a) Math Function, (b) Trigonometric Function

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. En su ventana de especificaciones se encuentra el cuadro donde se elige la función del bloque, es decir, min o max y un cuadro adicional donde se especifica el número de entradas al bloque. Después de introducir lo anterior, 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 muestra la ventana que se despliega al hacer doble clic sobre la librería Sources y la Figura 10.14 los íconos de los bloques incluidos en dicha librería Figura 10.13. Librería Sources

187 Figura 10.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. Estos bloques solo tienen puertos de salida, es decir, no tienen puertos de entrada. A continuación 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

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 iniciación del cambio rampa. 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.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 periódica 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 simulación. Si se verifica el cuadro Display

189 time se despliega el tiempo sobre el icono. El bloque Display Clock se puede utilizar como otra opción. (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 dinámica de un sistema. 10.7 LIBRERÍA SINKS (SALIDAS) La librería Sinks contiene un conjunto de bloques receptores de señales 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, gráfica o numérica. La Figura 10.18a muestra la ventana que se despliega al hacer doble clic sobre la librería Sinks y la Figura 6.18b muestra los botones que se incluyen en dicha librería. Los botones Scope, Floating Scope y XY Graph despliegan la información de salida en función del tiempo, en forma gráfica. 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, para lo cual se hace doble clic sobre el icono, se presiona el cuadro Parameters y se introducen el número de gráficos en el cuadro Number of axes. 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. La Figura 10.19 muestra la ventana de especificaciones de los botones Floating Scope y XY Graph.

190 (a) (b) Figura 10.18 Librería Sinks (a) (b) Figura 10.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. 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

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. 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 LIBRERÍAS SIGNAL ROUTING Y PORTS & SUBSYSTEMS Las Figuras 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.

192 (a) (b) Figura 10.22. 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, mezcladores, divisores, etc. 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, 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 simulación del sistema de primer orden lineal en el dominio del tiempo, planteado en la Práctica No. 1.

193 Figura 10.23. Diagrama de bloques del sistema de la Práctica 1

194 Los parámetros físicos incluidos son los correspondientes al volumen en el tanque, el flujo volumétrico a través del mismo y la constante de velocidad de reacción. El botón Multiport Switch es un interruptor múltiple que se encuentra en la librería Signal Routing. 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, 2 y 3 a los cambios Step, Ramp y Sine Wave, respectivamente. 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 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, la condición inicial en el integrador es cero. 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. 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

195 ode23s (stiff/mod. Rosenbrock). Estos métodos rigurosos se seleccionan, especialmente, cuando se observa que las respuestas se ven a trazos lineales muy notorios, lo que puede deberse a la aplicación de un método 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 simulación del sistema de primer orden lineal en el dominio del tiempo, planteado en la Práctica No. 3. La función de transferencia se procesa con el botón Transfer Fcn de la librería Continuous. Se especificó con un numerador de [0.875] y un denominador de [4.375 1], es decir, con los parámetros correspondientes a la ganancia y constante de tiempo determinados para dicho sistema. 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, con lo que se observa claramente el perfil lineal de la respuesta después de un cierto tiempo. Nuevamente, para la solución del modelo se utiliza el método ode23s (stiff/mod. 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. Con el bloque LTI System se puede introducir la función de transferencia ya sea en la forma estándar, 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 simulación del sistema de segundo orden lineal en el dominio del tiempo, planteado en la Práctica No. 4. Se utiliza el bloque Math Function de la librería Math Operations para realizar raíces cuadradas y potencias al cuadrado. Se incluye el botón Display de la librería Sinks para desplegar el valor del coeficiente de amortiguamiento. Se observa la necesidad de dos bloques Integrator debido a que la ecuación diferencial que se simula es de segundo orden

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

197 Figura 10.26 Diagrama de bloques del sistema de la Práctica 3

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.

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

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

201 En la Figura 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, 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

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, En la Figura 10.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. El caso 1 (Primer Orden) se conecta con un botón Switch Case Action Subsystem, de la misma librería, denominado Primer Orden que requiere de la alimentación de la acción (1), 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. 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 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. 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 botón Merge de la librería Ports&Subsystems emerge las señales de entrada en una sola señal de salida. En este caso, solo emerge la información 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 simulación del sistema de tres tanques en serie no interactuantes planteado en la Práctica No. 7. 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. De igual manera, se introducen los parámetros 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 capítulo y se denomina ordenmayorsimulink.m Las Figuras 10.32 muestra el diagrama interior al bloque denominado Tiempo- Laplace ; 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. Además, incluye

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 Selección del dominio de Solución La Figura 10.33 muestra el diagrama de bloques que representa la solución del modelo en el dominio del tiempo. Al observar este diagrama, se deduce que los

204 parámetros dinámicos 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 solución del modelo en el dominio de Laplace Figura 10.33 Solución del modelo en el dominio del tiempo Figura 10.34 Solución 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

205 de control Switch Case se selecciona la salida de acuerdo al dominio, tiempo o Laplace, en que se hace la simulación. Figura 10.35 Selección 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 gráficos de salida Figura 10.36 Selecciona del tipo de respuesta

206 10.9.7 Sistema de Dos Tanques de Flujo Interactuantes En la Figura 10.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. 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. De igual manera, se introducen los parámetros que especifican cada uno de los cambios que se incluyen, dentro del diagrama de bloque, para la variable de entrada. El código 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.

207 Figura 10.38 Subsistema Tiempo Laplace Figura 10.39 Subsistema Dominio del Tiempo

208 Figura 10.40 Subsistema Dominio Laplace Figura 10.41 Subsistema Salida

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 simulación 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

210 Y la Figura 10.44 muestra el diagrama de bloques para el sistema de dos tanques de flujo interactuantes simulado en la misma práctica. Las matrices son introducidas en el archivo ordenmayorsimulink 10.9.9 Sistemas No Lineales Reacciones de Van de Vusse En la Práctica No. 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.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.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 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. 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 número de cálculos se alimente externamente seleccionando la opción External en el cuadro Source of number of iterations

211 Figura 10.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. 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.47. Se asigna como valor inicial el valor de -0.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.1 alimentado. La salida de este botón 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 número de veces dado por el número de iteraciones especificado. Se requiere la verificación del cuadro de nombre Inherit sample time. Figura 10.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. Al fijar un tiempo final diferente, los cálculos se repiten tantas veces como el tiempo permita repetir el número de cálculos.

212 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.1 para fijar la escala en el eje de las abscisa de 0 a 10 en las representaciones gráficas. 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.5 para la concentración de B. 10.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, errordlg y sim. 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. La sintaxis es:

213 msgbox(mensaje, Título,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 botón OK para aceptar el mensaje. La minimización o cancelación 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 interjección y solo requieren de la especificación del mensaje y el titulo. Es decir, que su sintaxis es por ejemplo para el comando errordlg: errordlg(mensaje, Título) El comando questdlg despliega un cuadro de mensaje con un icono de interrogación 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, Título,Botón1,Boton2,Boton3,BotonPorDefecto) A los botones pueden asignárseles nombres diferentes a los que muestran por defecto. 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. Su sintaxis es una de las siguientes: sim( Model ) [t,x,y] = sim( Model, Intervalo de Tiempo)

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 gráfica es necesario abrir el diagrama de bloques y desplegar los botones correspondientes. En el caso de respuestas numéricas receptadas en un botón 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, además del nombre del modelo, el intervalo del tiempo de simulación [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 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') SIMULACION DE SISTEMAS LINEALES DE PRIMER Y SEGUNDO ORDEN CON TIEMPO MUERTO'); :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') TIPO DE RESPUESTA DEL SISTEMA')

215 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') 1. PASO') 2. RAMPA') 3. SENO') 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 switch R case 1 clc ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') CAMBIO PASO EN LA VARIABLE DE ENTRADA') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') X = input('introduzca El Valor Del Cambio Paso En La Variable De Entrada = '); r=0; A=0; w=0; case 2 clc ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') CAMBIO RAMPA EN LA VARIABLE DE ENTRADA') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') r = input('introduzca El Valor De La Pendiente De La Rampa De Entrada = ');

216 X=0; A=0; w=0; case 3 clc ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') CAMBIO SENO EN LA VARIABLE DE ENTRADA') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') A = input('amplitud De La Entrada Seno = '); w = input('frecuencia De La Entrada Seno = '); X=0; r=0; end :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') PARAMETROS DE LA SIMULACION DINAMICA') :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') 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 simulación, s = '); clc ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') SISTEMAS') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') 1. SISTEMA LINEAL DE PRIMER ORDEN: TANQUE CALENTADOR') 2. SISTEMA LINEAL DE SEGUNDO ORDEN: VALVULA DE CONTROL')

217 switch S S = input(' Que Sistema Desea Simular?: '); if (S < 1) (S > 2) errordlg('selecione 1 o 2') beep S = input(' Que Sistema Desea Simular?: '); end case 1 clc :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') USTED ESCOGIO SIMULAR EL SISTEMA LINEAL DE PRIMER ORDEN: TANQUE CALENTADOR!') :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') '); clc ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') PARAMETROS FISICOS DEL SISTEMA') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') 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 Específico, KJ/Kg-ºC = '); RHO = input('* Densidad Del Agua, Kg/m^3 = '); ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')

218 PARAMETROS DINAMICOS DEL SISTEMA') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') tau = RHO*V*C/(F*RHO*C + U*A) K = F*RHO*C/(F*RHO*C + U*A) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') RESULTADOS') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') switch R case 2 Atraso De La Respuesta Lineal') tau case 3 Amplitud Del Perfil Sinusoidal De La Respuesta'); K*A/sqrt(1+(w*tau)^2) 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 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')!USTED ESCOGIO SIMULAR EL SISTEMA LINEAL DE SEGUNDO ORDEN: VALVULA DE CONTROL!') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ')

219 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') PARAMETROS FISICOS DEL SISTEMA') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') 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 = '); ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') PARAMETROS DINAMICOS DEL SISTEMA') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') tau = sqrt(m/(32.2*k)) K = A/K sigma = sqrt((32.2*c^2)/(4*m*k)) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') RAICES DE LA ECUACION CARACTERISTICA') :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::') p = [tau^2 2*sigma*tau 1]; z = roots(p) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') RESULTADOS') ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ') switch R case 1 if sigma > 1

220 Respuesta Sobreamortiguada Estable') Atrasos Dinámicos') atraso = -1./z elseif sigma == 1 Respuesta Amortiguada Crítica') Atrasos Dinámicos') atraso = -1./z elseif (sigma < 1)&(sigma > 0) 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 Respuesta Oscilatoria Sostenida') else Respuesta Inestable') end case 2 if sigma > 1 Respuesta Sobreamortiguada') Atrasos dinámicos') atraso = -1./z elseif sigma == 1 Respuesta Amortiguada Crítica') Atrasos dinámicos') atraso = -1./z elseif (sigma < 1)&(sigma > 0) Respuesta Subamortiguada') Frecuencia = (sqrt(1-sigma^2))/tau Fase = atan(2*sigma*(sqrt(1-sigma^2))/(2*sigma^2-1)) elseif sigma == 0 Respuesta Oscilatoria Sostenida') else Respuesta Inestable') end case 3 if sigma > 1 Respuesta Sobreamortiguada') Atrasos dinámicos') atraso = -1./z

221 end 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 Respuesta Amortiguada Crítica') Atrasos dinámicos') atraso = -1./z elseif (sigma < 1)&(sigma > 0) Respuesta Subamortiguada') elseif sigma == 0 Respuesta Oscilatoria Sostenida') else Respuesta Inestable') end end STOP=input('Presione ENTER para ver la simulacion en Simulink'); clc 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 ****************************************************************** ' ) RESPUESTAS: PAS0, RAMPA Y SENO PARA SISTEMAS DE ORDEN MAYOR') ******** ') ********* ') SISTEMAS') ********* ')

222 1. SISTEMA NO INTERACTUANTE') 2. SISTEMA INTERACTUANTE') ; % 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') S = input('digite el numero del sistema que desee SIMULAR = '); end ; *********************************** TIPO DE RESPUESTA DEL SISTEMA') *********************************** 1. PASO') 2. RAMPA') 3. SENO') % 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') R = input('digite el numero de la respuesta que desee simular = '); end ********** ') DOMINIOS') ********** ') 1. TIEMPO') 2. LAPLACE') 3. TIEMPO - ESPACIO DE LOS ESTADOS') % CAPTURA DEL DOMINIO D = [1 2 3];

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') D = input('digite el numero del dominio con que se va a hacer la simulacion = '); end switch S case 1 PARÁMETROS FÍSICOS DEL SISTEMA NO INTERACTUANTE') % 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 simulación, 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

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

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

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 *********** ') RESULTADOS') *********** ') LAS CONSTANTES DE TIEMPO SON :') tau1 = tau2 = tau3 = '), disp(tau1) LAS GANANCIAS SON :') K1 = K2 = K3 ='), disp(k1) sim('nointerss') nointerss end case 2 CAMBIO RAMPA DE UN SISTEMA NO INTERACTUANTE') % ENTRADAS r = input('pendiente = ');

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

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

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

230 K1 = K2 = K3 ='), disp(k1) case 3 msgbox('en el espacio de los estados solo se puede simular la respuesta paso') input(' Pulse ENTER para terminar y realizar una nueva Simulacion') clc close all ordenmayorsimulink end sim('nointerordenmayor') nointerordenmayor end case 2 PARÁMETROS FÍSICOS DEL SISTEMA INTERACTUANTE') % 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 simulación, min = '); Inicio = input('condiciones iniciales = '); % PROCESO Cp = Cv;

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 CAMBIO PASO DE UN SISTEMA INTERACTUANTE') % ENTRADAS NT = [1 2]; NT = input('número 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 RESPUESTA PASO DE UN SISTEMA INTERACTUANTE EN EL DOMINIO DEL TIEMPO')

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

233 case 3 *************** RESPUESTA PASO DE UN SISTEMA INTERACTUANTE EN EL DOMINIO DEL TIEMPO - ESPACIO DE LOS ESTADOS') *************** % 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 *********** ') RESULTADOS') *********** ') LAS CONSTANTES DE TIEMPO SON :') tau1 = tau2 = tau3 = '), disp(tau1) LAS GANANCIAS SON :') K1 = K2 = K3 ='), disp(k1) sim('interss') interss end

234 case 2 CAMBIO RAMPA DE UN SISTEMA INTERACTUANTE') NT = [1 2]; NT = input('número 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 RESPUESTA RAMPA DE UN SISTEMA INTERACTUANTE EN EL DOMINIO DEL TIEMPO') % RESULTADOS *********** ') RESULTADOS') *********** ') LAS CONSTANTES DE TIEMPO SON :') tau1 = tau2 = tau3 = '), disp(tau1)

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

236 CAMBIO SENO DE UN SISTEMA INTERACTUANTE') NT = [1 2]; NT = input('número 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 RESPUESTA SENO DE UN SISTEMA INTERACTUANTE EN EL DOMINIO DEL TIEMPO') % RESULTADOS *********** ') RESULTADOS') *********** ') LAS CONSTANTES DE TIEMPO SON :')

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