PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
Tutorial de Simulink
1. TUTORIAL DE SIMULINK
INTRODUCCIÓN
INICIANDO EL APRENDIZAJE DE SIMULINK
CONSTRUCCIÓN DEL DIAGRAMA DE BLOQUES
CONSEJOS GENERALES PARA SIMULINK
TABLA DE BLOQUES DE SIMULINK
Lou Russo, Howard P. Isermann, Departamento de Ingeniería Química, Universidad
Rensselaer Polytechnic Institute, Nueva York, Estados Unidos.
INTRODUCCIÓN
El objetivo de este tutorial es poner en manos del estudiante las herramientas
básicas necesarias para usar el paquete de SIMULINK en la estaciones de
trabajo con sistema operativo Unix del Sistema de Cómputo Rensselaer
(RCS). SIMULINK es una extensión de MATLAB que usa una interfase
controlada por iconos para la construcción de un diagrama de bloques como
representación de un proceso. Un diagrama de bloques es simplemente una
representación gráfica de un proceso (que está compuesto de una entrada, el
sistema, y una salida).
Típicamente, el archivo con extensión .m en MATLAB llamado ode45 es usado
para resolver conjuntos de ecuaciones diferenciales ordinarias lineales y no
lineales. Se usa el enfoque de los métodos numéricos “tradicionales”, es decir
proveer las ecuaciones a ser resueltas en un archivo de función, y usar una
aplicación para resolver ecuaciones de propósito general (algebraicas lineales o
no lineales, ecuaciones diferenciales lineales o no lineales, etc.) que “llama” al
archivo de la función proporcionada para obetener la solución. Una de las
razones por la que MATLAB es relativamente fácil de utilizar es por que las
2. “aplicaciones para resolver ecuaciones” son dadas para nosotros, y accedemos a
estas a través de una interfase de línea de comandos (CLI) (aquí el indicador de
MATLAB, >>). Sin embargo, SIMULINK usa una interfase gráfica de usuario
(GUI) para resolver las simulaciones de los procesos. En vez de escribir
código MATLAB, simplemente conectamos los “iconos” necesarios entre sí para
construir el diagrama de bloques. Los “icons” representan las posibles entradas al
sistema, las partes del sistema, o las salidas del sistema. SIMULINK le permite
al usuario simular fácilmente sistemas de ecuaciones diferenciales ordinarias
lineales y no lineales. Se requiere tener buenas bases en algebra matricial y en
sistemas de parámetros concentrados, así como una buena comprensión del
funcionamiento de MATLAB, y recomendamos insistiendo en esto que el
estudiante lea y practique por medio de este tutorial. Muchas de las
características de SIMULINK son amistosas con el usuario debido a la interfase
controlada por iconos, por eso es importante pasar el tiempo de estudio
experimentando con SIMULINK y sus muchas características. Los paquetes de
simulación dinámica (tales como MATLAB, SIMULINK, etc.) están siendo
usados cada vez más de manera frecuente en las industrias de procesos químicos
para simulación de procesos y diseño del sistema de control. Después de
completar este tutorial, el estudiante debería ser capaz de “construir” y simular
representaciones de sistemas dinámicos por medio de diagramas de bloques.
INICIANDO EL APRENDIZAJE DE
SIMULINK
SIMULINK es un paquete que incorpora los últimos adelantos en simulación
dinámica controlada por iconos, el cual le permite al usuario especificar una
representación de un proceso dinámico por medio de un diagrama de bloques.
Las secciones variadas del diagrama de bloques son representadas por iconos que
se encuentran disponibles por medio de varias “ventanas” que el usuario abre
(mediante una doble pulsación en el icono). El diagrama de bloques está
compuesto de iconos que representan las diferentes secciones del proceso
(entradas, modelos de espacio de estado, funciones de transferencia, salidas, etc.)
y conexiones entre los iconos (que se realizan al “dibujar” una línea que va a
conectar los iconos). Una vez que el diagrama de bloques esté “construído”, hay
que especificar los parámetros en los diferentes bloques, por ejemplo la ganancia
de una función de transferencia. Una vez que los parámetros sean especificados,
el usuario tiene que definir el método de integración (de las ecuaciones
dinámicas), tamaño del paso, tiempos de inicio y de final en la integración, etc.
en el menu de simulación de la ventana del diagrama de bloques.
3. Para usar SIMULINK el estudiante debe “empezar” una sesión de
MATLAB (pulse sobre el botón MATLAB). Una vez que MATLAB se ha
iniciado, escriba simulink (¡LETRAS PEQUEÑAS!) en el indicador de
MATLAB (>>) seguido por un retorno de carro (presione la tecla RETURN).
Debería aparecer a continuación una ventana de SIMULINK, con los siguientes
iconos: Fuentes (Sources), Sumideros (Sinks), Discretos (Discrete), Lineales
(Linear), Nolineales (Nonlinear), Conecciones (Connections), Extras (esta
ventana se muestra en la Figura 2). Luego, vaya al menu file en esta ventana y
escoja Nuevo (New) para empezar la construcción del diagrama de bloques como
representación del sistema de interés.
CONSTRUCCIÓN DEL DIAGRAMA DE
BLOQUES
Como se mencionó previamente, la representación del sistema por medio del
diagrama de bloques está compuesto de varios tipos de iconos. Básicamente, se
tiene que especificar el modelo del sistema (espacio de estado, discreto,
funciones de transferencia, ODE's no lineales, etc), la entrada (fuente) al sistema,
y donde irá la salida (sink) de la simulación del sistema. Abra las Fuentes
(Sources), Sumideros (Sinks), y ventanas lineales mediante la pulsación sobre los
iconos apropiados. Note los diferentes tipos de fuentes (función escalón,
sinusoidal, ruido blanco, etc.), sumideros (osciloscopio (scope), archivo (file),
espacio de trabajo (workspace)), y sistemas lineales (función de transferencia
(transfer function), modelo del espacio de estado (state space model), etc.).
Por ejemplo, puede que estemos interesados en simular la entrada escalón a una
función de transferencia de primer orden en el dominio de Laplace y en ver el
resultado gráficamente en MATLAB. El diagrama de bloques resultante se
muestra en la Figura 3. Para hacer esto, “arrastre” un icono step function de la
ventana Sources, un icono transfer function de la ventana Linear, dos iconos to
workspace de la ventana Sinks, y un icono clock de la ventana Source a la
ventana en blanco del diagrama de bloques.
4. El siguiente paso es conectar estos iconos entre sí por medio del dibujo de líneas
uqe conecten los iconos usando el botón izquierdo del ratón (mantenga
presionado el botón y arrastre el ratón para dibujar una línea). Conecte el icono
step function a la entrada del icono transfer function, luego conecte la salida
del icono transfer function al primer icono to workspace. Luego conecte el
icono clock al segundo icono to workspace. “Abra” los iconos (con una doble
pulsación sobre ellos con el botón izquierdo del ratón) y ponga los valores de los
diferentes parámetros; por ejemplo el tamaño del paso y el tiempo del paso en el
icono step function, los coeficientes de la función de transferencia en el
icono transfer function, y los nombres de variables en los iconos to workspace
(generalmente, la variable de reloj es identificada como time, mientras que la
variable de salida es representada como y). Seleccione el campo de parámetros
del menu de simulación (en la ventana del diagrama de bloques) y ponga los
detalles para una integración apropiada (tamaños de paso mínimos y máximos,
tiempos de integración de inicio y de parada, código de integración, etc.).
Finalmente, seleccione start del menu de simulación para empezar la simulación.
La salida de la simulación será enviada a la interfase de línea de comandos en
MATLAB (CLI) (aquí el indicador de MATLAB, >>). El resultado puede ser
dibujado como uno normalmente dibujaría ( es decir plot(time,y) ), ya que las
variables time y y están ahora definidos en el espacio de trabajo de MATLAB. El
resultado se muestra en la Figura 4, para una función de transferencia de primer
orden con una constante de tiempo = 2, y una entrada escalón unitaria con time =
1.
5. CONSEJOS GENERALES PARA
SIMULINK
Los siguientes son consejos generales y deberían ser usados a menudo.
1. Para grabar su trabajo, seleccione Save del menu file y dele al archivo que
usted quierer grabar un nombre (o escoja un nombre antiguo si usted está
“escribiendo sobre” una versión vieja), y pulse el botón ok (usando el
botón izquierdo del ratón). Dése cuenta que tiene una opción para la
selección de la “carpeta” en la que el archivo está grabado.
2. Los parámetros del bloque PID Controller son ingresados como:
, , .
3. La siguiente función de transferencia (en el dominio de Laplace)
6. es ingresada en el icono transfer function mediante una doble pulsación
sobre el icono transfer function e ingresando los coeficientes de los
polinomios tanto en el numerador como en el denominador. Los
coeficientes del numerador serían ingresados como [2 1] y los coeficientes
del denominador son ingresados como [10 5 1].
4. La siguiente matriz A del espacio de estado
es ingresada en el icono state space como [1.0 -2.8;-3.1 0.2].
5. Los resultados de una simulación pueden ser enviados a la ventana de
MATLAB mediante el uso del icono to workspace que se encuentra en la
ventana Sinks. Abra el icono to workspace y seleccione el nombre de la
variable en la que usted quiere que sean almacenados los resultados del
espacio de trabajo de MATLAB.
6. Si su simulación tiene n variables de estado (o salidas) y usted quiere
grabarlas con diferentes nombres, entonces tiene que usar una conexión
especial llamada un icono Demux (como en demultiplexor) que se
encuentra en la ventana de conexiones (Connections). Básicamente, toma
una entrada vectorial y la convierte en varias líneas escalares. Puede
establecer el número de salidas (líneas escalares) mediante una doble
pulsación sobre el icono y así cambiar el número de salidas. Un icono
Mux toma varias entradas escalares y las multiplexa en un vector (útil
algunas veces para transferir los resultados de una simulación al espacio
de trabajo de MATLAB, por ejemplo).
7. Se puede generar ruido blanco (aleatorio) mediante la selección del icono
white noise de la ventana Source.
8. Se puede usar un icono Gain de la ventana Linear si usted necesita
multiplicar una señal por un número constante.
9. Se puede convertir de regreso a las variables físicas después de una
simulación de la función de transferencia o del espacio de estado mediante
el uso del icono Constant de la ventana Sources y un icono Sum de la
ventana Sources. Para hacer esto para una señal de salida escalar, solo
ingrese el valor en estado permanente para el icono Constant y añada esto
a la salida escalar usando usando el icono Sum. Para una salida vectorial,
debe primero “descomponer” el vector en salidas escalares usando el icono
Demux y luego añadir el valor en estado permanente a cada salida escalar.
7. 10.Los signos del icono Sum pueden ser cambiados a negativos (para restar)
mediante una doble pulsación en el icono Sum y así cambiar el signo de
uno positivo a uno negativo. El número de entradas al icono Sum puede
ser cambiado mediante una doble pulsación en el icono Sum y de esta
forma establecer el número de entradas en la ventana.
11.Asegúrese de poner los parámetros de integración en el menu de
simulación. En particular, los tamaños de paso mínimos y máximos por
defecto deben ser cambiados (deberían de estar en alrededor de 1/100 o
1/10 de la cosntante de tiempo dominante (la más lenta) de su sistema).
12.Los parámetros pueden ser “pasados” a SIMULINK desde la ventana de
MATLAB mediante el uso del parámetro en un bloque de SIMULINK o
en la caja de parámetros y definir el parámetro en la ventana de
MATLAB. Por ejemplo, digamos que se quiere correr la ventana de
simulación con muchas ganancias de procesos diferentes, entonces en el
icono transfer function a la ganancia (en el numerador) se le puede dar el
símbolo k (o cualquier otro símbolo) y luego en el indicador de
MATLAB definir k = 1.0. Corra la simulación, luego en el indicador de
MATLAB redefina k a k = 1.5, etc. Esto es muy útil si el estudiante quiere
estudiar la influencia de un parámetro sobre el comportamiento dinámico
de un proceso (importante en la determinación de la estabilidad).
13.Para imprimir el diagrama de bloques, primero grabemos el diagrama de
bloques. Luego, en el indicador de MATLAB, escriba:
print -sname-of-simulink-block
donde name-of-simulink-block es el nombre con el que usted grabó el
diagrama de bloques. Por ejemplo, si usted grabó el diagrama de bloques
como homework1.m, entonces debería escribir:
print -shomework1
14.Los tiempos de retraso (tiempos muertos) pueden ser simulados en
SIMULINK fácilmente mediante el uso de un icono transport delay de
la ventana Nonlinear. Pulse dos veces sobre el icono transport delay para
poner el valor del tiempo muerto.
15.Los sistemas no lineales pueden ser simulados en SIMULINK usando un
icono s-function de la ventana Extras. Las ecuaciones diferenciales
ordinarias no lineales deben ser especificadas en un archivo con extensión
.m (m-file), y el nombre de este archivo con extensión .m debe ser
especificado en la s-function por el usuario. Generalmente le
suministraremos al estudiante el archivo con extensión .m, el mismo que
contiene las ecuaciones diferenciales ordinarias no lineales.
8. TABLA DE BLOQUES DE SIMULINK
SOURCES
Clock Proporciona y muestra el tiempo en el sistema.
Constant Inyecta un valor constante.
From File Lee datos de un archivo.
From Workspace Lee datos de una matriz.
Signal Generator Genera varias formas de onda.
Sine Wave Genera una onda seno.
Step Fcn Genera una función escalón.
White Noise Genera ruido aleatorio.
SINKS
Scope Muestra las señales durante una simulación.
To File Escribe datos a un archivo.
To Workspace Escribe datos a una matriz.
DISCRETE
Discrete State-
space
Sistema discreto del espacio de estado.
Discrete Transfer
Fcn
Función de transferencia discreta.
Discrete Zero-Pole Sistema discreto como ceros, polos y ganancia.
Filter Implementa filtros IIR y FIR.
Unit Delay Señal de retardo para un periodo de muestreo.
9. LINEAR
Derivative
Pone en la salida la derivada en el tiempo de la
entrada.
Gain Multiplica la entrada por una constante.
Integrator Integra una señal.
State-Space Implementa un sistema lineal de espacio de estado.
Sum Suma las entradas entre sí.
Transfer Fcn Implementa una función de transferencia lineal.
Zero-Pole Genera una función escalón.
NONLINEAR
Abs Pone en la salida el valor absoluto de la entrada.
Backslash Modelo de histéresis.
Dead Zone Proporciona una región de salida igual a cero.
Fcn Función de propósito general en la entrada.
Look Up Table Desarrolla un mapeo lineal por piezas.
MATLAB Fcn Aplica una función de MATLAB en la entrada.
Product Multiplica entre sí las entradas.
Rate Limiter Limita la tasa de cambio de una señal.
Relay Cambia la salida entre dos valores.
Saturation Limita la excursión de la señal.
S-Function Crea una S-function dentro de un bloque.
Switch Cambia entre dos entradas.
Transport Delay Retarda la entrada por un monto dado de tiempo.
10. CONNECTIONS
Demux Separa una señal vectorial en señales escalares.
Inport Proporciona un enlace a una entrada externa.
Mux Agrupa varias líneas escalares en una línea vectorial.
Outport Proporciona un enlace a una salida externa.
EXTRAS
Sources Fuentes adicionales.
Display Devices Dispositivos de presentación adicionales.
Filters Filtros adicionales.
Controllers PID, anti windup y controladores óptimos.
Linear Bloques lineales adicionales.
Nonlinear Bloques no lineales adicionales.
Discrete Bloques discretos adicionales.
Logic Bloques lógicos (AND, OR, NAND, etc.).
System ID Bloques para identificación de sistemas.
Robust Control
Demos
Demostraciones de control robusto.
MuTools Demos Análisis mu de sistemas de control.
Block Library Los bloques más comúnmente usados.
Demos Demostraciones de Simulink.
Traducción al español: Rommel Eduardo Falconí Romero
Dirección Facebook: https://www.facebook.com/cysacademica
Dirección Blogger: http://www.cysacademica.blogspot.com/
Dirección Web Original: http://www.rpi.edu/dept/chem-eng/WWW/faculty/bequette/
lou/simtut/simtut_html.html