Autores: Mauro Montoya Arenas (mauro2017pre@gmail.com)
Terry Quispe Paniagua (terryfiee2021@gmail.com)
R E S U M E N
Resumen: Este
informe se dedicará sobre simulink, así como a los bloques y operaciones comunes
del entorno, como integrador, envoltorio, alcance, fuentes, que se verán en
detalle en este, así como bloques especiales como desde / hasta el archivo y
desde / hasta el espacio de trabajo. cada uno con ventajas y desventajas, nos
ayudarán a utilizar la interacción de Matlab y simulink, como llamar valores de
simulink o exportar los resultados a Matlab para una mayor manipulación. A
partir de la construcción o el modelado de un sistema, podemos predecir la
simulación de su comportamiento sometiéndolo primero a una excitación, aunque
es cierto que el lenguaje del programa nos permite una amplia variedad de
opciones de enfoque, que podemos elegir de forma manual o automática dependiendo
de qué Queremos Finalmente, haremos una descripción y análisis de los
resultados de cada sección, además de analizar un modelo preestablecido,
detallando las partes de su sistema.
I.
INTRODUCCION
SIMULINK es una
toolbox especial de MATLAB que sirve para simular el comportamiento de los
sistemas dinámicos. Puede simular sistemas lineales y no lineales, modelos en
tiempo continuo y tiempo discreto y sistemas híbridos de todos los anteriores.
Es un entorno gráfico en el cual el modelo a simular se construye clicando y
arrastrando los diferentes bloques que lo constituyen.
MATLAB y Simulink trabajan conjuntamente.
Cuando utiliza MATLAB y Simulink conjuntamente, en realidad está combinando
programación textual y gráfica para diseñar su sistema en un entorno de
simulación.
Utilizando de
forma directa los miles de algoritmos que ya se encuentran en MATLAB. Solo
tiene que incluir su código de MATLAB en un bloque de Simulink, además MATLAB
puede crear conjuntos de datos de entrada que pongan en marcha la simulación
usando los comandos workspace o file, con estos softwares se puede realizar
gran cantidad de sistemas en diferentes dominios mediante herramientas
específicas, bloques prediseñados, etc.
Además de ello se puede realizar simulaciones masivas en paralelo en un equipo con varios núcleos, un clúster de equipos o en la nube sin tener que escribir demasiado código.
II.
MARCO TEORICO
-Diagrama de bloques:
Diagrama de
bloques es un gráfico que muestra cómo funciona a nivel interno un sistema.
Dicha demostración se realiza a través de distintos bloques con sus vínculos,
permitiendo de este modo evidenciar la organización del conjunto.
Dicho de otra manera, es un diagrama que represente los diferentes procesos de un sistema. Cada proceso cuenta con bloques, este también posee salidas y entradas en donde los elementos o bloques intermedios se comportaran y producirán diferentes resultados dependiendo de la entrada.
Figura 1. Diagrama de bloques de un sistema de
control
Función de transferencia:
la función de
transferencia es una función matemática que hace uso de la transformada de
Laplace y permite representar un comportamiento dinámico y estacionario de
cualquier sistema.
Función de Heaviside
La función escalón de Heaviside, también llamada función escalón unitario o de causalidad a la derecha del cero.
Es una función discontinua cuyo valor es 0 para
cualquier argumento negativo, y 1 para cualquier argumento positivo, incluido
el cero:
Aplicación: Esta función tiene aplicaciones en ingeniería de control y procesamiento de señales, representando una señal que se enciende en un tiempo específico, y se queda encendida
indefinidamente.
Propiedades:
Función rampa
La función rampa es una función elemental real
de un solo argumento, continua y diferenciable en todo su dominio excepto en un
punto (inicio de la rama) fácilmente computable a partir de la función mínimo o
la función valor absoluto. Las principales aplicaciones prácticas de esta función se dan en
ingeniería (procesamiento digital de señales, plasticidad, etc.). El término "función rampa" se debe a la forma de su
representación gráfica.
Figura 2. función rampa y(x)
Propiedades:
Bloques comunes de Simulink:
scope:
este bloque sirve para visualizar los
diferentes tramos de la simulación pudiendo tener varias señales en pantalla,
esto se puede realizar con un mux o ajustar sus parámetros para que cada señal
tenga una misma pantalla , además dentro de sus propiedades podemos elegir la
escala de tiempo que queremos como también de la amplitud.
clock:
El bloque de reloj
emite el tiempo de simulación actual en cada paso de simulación. Este bloque es
útil para otros bloques que necesitan el tiempo de simulación. Cuando necesite
la hora actual dentro de un sistema discreto, se puede usar el bloque Reloj
digital.
mux:
El bloque Mux combina sus entradas en una sola salida. Una entrada puede ser una señal escalar, vectorial o matricial. Dependiendo de sus entradas, la salida de un bloque Mux es un vector o una señal compuesta, es decir, una señal que contiene elementos de matriz y de vector. Si todas las entradas de un bloque Mux son vectores o de tipo vector, la salida del bloque es un vector. Una señal similar a un vector es cualquier señal que es un escalar (vector de un elemento), un vector o una matriz de una sola columna o fila. Si alguna entrada es una señal matricial no vectorial, la salida del bloque Mux es una señal de bus.
Bloque
demux
El bloque Demux extrae los componentes
de una señal de vector de entrada y emite señales separadas. Los puertos de
señal de salida se ordenan de arriba abajo. Los demux tienen 2 puertos:
Input.- Señal de entrada de vector
desde la cual el bloque Demux selecciona señales escalares o vectores más
pequeños.
Output.- Señales de salida extraídas del vector de entrada. Los puertos de señal de salida se ordenan de arriba abajo
Figura 3. Bloque demux usado en simulink
To
workspace
El bloque To Workspace escribe datos
de señal de entrada en un espacio de trabajo. Durante la simulación, el bloque
escribe datos en un buffer interno. Cuando pausa la simulación o la simulación
se completa, esos datos se escriben en el espacio de trabajo. Los datos no
están disponibles hasta que la simulación se detiene o detiene. El bloque To
Workspace normalmente escribe datos en el espacio de trabajo base de MATLAB.
Para un comando sim en una función MATLAB, el bloque To Workspace envía datos
al espacio de trabajo de la función de llamada, no al espacio de trabajo base
de MATLAB.
Figura 4. Bloque to workspace
From workspace
El bloque "From workspace"
lee los datos de la señal de un espacio de trabajo y proporciona los datos a su
salida como una señal. El bloque muestra la expresión especificada en el
parámetro Datos. Puede especificar cómo se cargan los datos, incluido el tiempo
de muestreo, cómo manejar los datos para los puntos de datos faltantes y si se
debe utilizar la detección de cruce por cero
Figura 5. Bloque from workspace
To file
El bloque To File
escribe los datos de la señal de entrada en un archivo MAT. El bloque escribe
en el archivo de salida de forma incremental, con una sobrecarga de memoria
mínima durante la simulación. Si el archivo de salida existe cuando comienza la
simulación, el bloque sobrescribe el archivo. El archivo se cierra
automáticamente cuando pausa la simulación o la simulación se completa. Si la
simulación termina anormalmente, el bloque A archivo guarda los datos que ha
registrado hasta el punto de la terminación anormal.
From file
El bloque “From
File” carga datos desde un archivo MAT a un modelo y los envía como señal. Los
datos son una secuencia de muestras. Cada muestra consta de una marca de tiempo
y un valor de datos asociado. Los datos pueden estar en formato de matriz o formato
de serie de tiempo MATLAB. El icono del bloque Desde archivo muestra el nombre
del archivo MAT que suministra los datos al bloque. Puede tener múltiples
bloques Desde archivo que se cargan desde el mismo archivo MAT.Las versiones de
archivo MAT compatibles son la Versión 7.0 o anterior y la Versión 7.3. El
bloque Desde archivo carga de forma incremental los datos de los archivos de la
Versión 7.3.
Figura 6. Bloque To file y from file
Puede especificar cómo se cargan los datos, incluidos:
-
Tiempo de la muestra
-
Cómo manejar datos para puntos de datos faltantes
- Si se usa la detección de cruce por cero
III. MATERIALES Y METODOS
A. ESQUEMAS
Figura 7. Página de inicio de Simulink
Figura 8. Diagrama de bloques a
implementar
Figura 9. Diagrama de bloques
Figura 10. Parámetros del bloque
transfer function
Figura 11. Lazo de control básico
Figura 12. Configuración de los
parámetros de los bloques
B. PROCEDIMIENTO
a. Parte 1. Construcción de un Modelo
-
Abra un nuevo modelo en blanco, haciendo click en Blank Model desde la página
de inicio. En el cual, se procederá a realizar el siguiente diagrama:
Figura 13. sistema
integrador
- Los bloques utilizados en el diagrama anterior,
se encuentra en la librería de Simulink (Simulation>Library Browser):
-Pulse Generator: En la sección de Sources.
-Integrator: En la sección de Continous.
-Mux: En la sección Signal Routing.
-Scope: En la sección Sinks.
- Para ponerlos en
el nuevo modelo, simplemente arrástrelos de su ubicación de la librería.
Después realice las conexiones entre los bloques según la figura 2.
- En las últimas
versiones, se pueden agregar bloques simplemente haciendo click sobre alguna área
libre del modelo y escribiendo el nombre del bloque deseado.
- Revise y
configure los parámetros de cada bloque, accediendo a través de doble click
sobre ellos.
Figura 14. Parámetros del
generador de pulso
- Revise los resultados de simulación, haciendo doble click en el bloque Scope. Configure los parámetros de este bloque para obtener una adecuada visualización.
Figura 15. Visualización
en el bloque scope
Análisis:
claramente podemos ver en el resultado de la grafica donde la salida esta
amarilla y la entrada azul , entonces se puede afirmar que el sistema compuesto
por un bloque que integra la entrada , en este caso pulso cuadrado periódico,
obviamente se verifica dado que la integral de un numero diferente de cero es
una recta como podemos apreciarlo , en los casos en los que la señal tenga
amplitud cero la línea tiende a ser de amplitud constante.
b. Parte 2. Función de transferencia
- En un nuevo modelo,
realice el diagrama de bloques que se presenta en la figura 3.
Figura 16. Diagrama de bloques
Figura 17. Respuesta al escalón unitario con f.t.=(s+3)/(s^2+s+3)
- Modifique los parámetros adecuados del bloque Transfer function, según la Figura 4.
Figura 18. Parámetros del bloque de
transfer function
- Simular el diagrama anterior y explique los
resultados obtenidos.
Figura 19. Respuesta al escalón unitario con
f.t.=(s+3)/(s^2+2s+3)
Análisis: podemos ver que cuando la entrada es un escalón unitario, la función
de transferencia f.t.=(s+3)/(s^2+2s+3) es mas apropiado
que f.t.=(s+3)/(s^2+s+3) , ya que la señal de repuesta se parece a la señal de entrada sin tantas
oscilaciones para el caso de f.t.=(s+3)/(s^2+2s+3).
- Repita los ítems anteriores para una entrada de rampa unitaria.
Figura 20. Diagrama de bloque con función rampa de entrada y f.t.=(s+3)/(s^2+s+3)
Figura 21. Señal de entrada(celeste) y
señal de salida (amarillo) para el caso de la figura anterior
Figura 22 . Diagrama de bloque con función rampa de entrada y f.t.=(s+3)/(s^2+2s+3)
Figura 23. Señal de entrada(celeste) y
señal de salida (amarillo) para el caso de la figura anterior
- Analice y justifique las
respuestas obtenidas.
Análisis: ahora hemos analizado el mismo par de funciones de transferencia, pero en este caso la función de entrada es una rampa. Notamos que la función de transferencia que mejor se adecua es la de f.t.=(s+3)/(s^2+s+3), esto quiere decir que la función de salida depende no solo de la f.t. sino además de la función de entrada. Dependiendo de la forma de esta debemos escoger la f.t. adecuada
- Documente y describa la implementación y los resultados obtenidos.
c. Parte 3. Transferencia de variables desde Matlab a Simulink
Las variables que estén definidas en el workspace de Matlab pueden ser utilizadas en los bloques de función de Matlab. Veamos el siguiente ejemplo:
- Primero definamos las variables num, den y K en Matlab, de la siguiente manera:
Figura 24.
Definiendo variables
- En Simulink, implemente el diagrama del lazo de control básico de la figura
Figura 25. Diagrama de
lazo
- Modifique los parámetros de los bloques de función de transferencia y de ganancia según lo indicado en la figura
Figura 26.
Parámetros del bloque function
Figura 27. Parámetros de la ganancia
- Simule el diagrama anterior y explique los
resultados obtenidos.
- Analice y justifique las respuestas obtenidas.
Análisis:
En esta parte del informe hemos añadido desde Matlab algunos parámetros del
transfer function. Es importante declarar el denominador como den y el
numerador como num. De lo contrario no se podrá darle valores a estos
parámetros.
- Documente y describa la implementación y los resultados obtenidos.
Figura 28. resultados obtenidos
Análisis:
utilizando la herramienta de análisis podemos determinar rápidamente la función
de transferencia, además se puede ver que la función se estabiliza en 0,8 desde
que se excito al aplicar el paso unitario.
Figura 29. Comando análisis simulink
Por otro lado, también es posible utilizar en Simulink las variables
almacenadas en un archivo *.mat. Veamos el siguiente ejemplo:
- En la ventana de
comandos de Matlab, ejecute las siguientes instrucciones:
Figura 30. Definiendo variables y guardando archivo .mat
Figura 31.
Sistema derivador con entrada cuadrática
- Describa el funcionamiento y los parámetros del bloque “From
File”. Configúrelo adecuadamente tal como se muestra en la figura
Este bloque como ya lo mencionamos antes va a leer un archivo .mat antes
guardado para ello debemos cargarlo en el bloque simplemente seleccionando el
nombre con el que lo guardamos , como se muestra a continuación.
Figura 32.
Parámetros del bloque from file
Una vez hecho esto podemos iniciar la simulación y obtener los resultados:
Figura 33. Resultados del sistema
Análisis: rápidamente podemos notar que la entrada cuadrática , ahora en la salida existe una recta debido a que el sistema esta compuesto por un bloque derivador , es lógico ver que la derivada de una función cuadrática es un recta como se muestra la línea amarilla.
Figura 34.
Sistema derivador con entrada función
cubica
En este sistema cambiamos el archivo from file a una función cubica ya
guardada y definida en Matlab con el comando sabe, de la siguiente manera:
Figura 35. Parámetros del bloque from file
Nuevamente ya definido
nuestra entrada podemos simular y ver la salida con el bloque scope igual que
el anterior sistema.
Figura 36.
Resultados del sistema derivador
Análisis: esta vez podemos notar que la expresión de salida es la
derivada de la expresión de entrada en azul , por ello vemos que la curva
amarilla de la función cuadrática crece pero no tan rápido como una cubica ,
esto es porque matemáticamente la derivada de la función cubica es una
cuadrática.
d. Parte 4: Transferencia de
variables desde Simulink a Matlab
Muchas
veces, los resultados de la simulación de sistemas de control realizadas en
Simulink, necesitan ser exportados al workspace de Matlab para realizar ciertos
análisis y procesamientos, para los cual utilizamos el bloque “To Workspace”.
Veamos el siguiente ejemplo:
- Realice en Simulink el siguiente diagrama de lazo cerrado:
Figura 37. Diagrama de lazo cerrado
- Describa el funcionamiento y los
parámetros del bloque “To Workspace”. Configúrelos adecuadamente para la
correcta exportación de datos.
To workspace: Guarda entradas en series de tiempo, matrices o estructuras especificadas en un espacio de trabajo. Para la simulación basada en menús, los datos se escriben en el espacio de trabajo base de MATLAB. Los datos no están disponibles hasta que la simulación se detenga o pause.
Figura 38.
Parámetros del bloque To workspace
- Considere el valor de K=1 y realice la simulación.
Figura 39.
Diagrama de bloques con K=1
- Explique qué resultados obtuvo al
realizar la simulación. ¿Cómo se puede visualizar los resultados?
En la pantalla de simulink no se
apreció nada, pero en la pantalla de Matlab (exactamente en el workspace) se
guardaron 3 nuevas variables: r,y, tsim y tout. Que previamente los pusimos en
formato Array.
Figura 40.
El workspace almaceno estas variables de la simulación hecha en simulink
Los resultados se pueden visualizar si
ploteamos “r vs t” o “y vs t” en el comand window.
Figura 41.
Se muestra “r vs t”
Figura 42.
Se muestra “y vs t”
- Cree un script en Matlab, que permite simular el modelo de la figura 8, permita ingresar el valor de K y muestre gráficamente los resultados esperados (y vs t; r vs t).
Figura 43.
Script creado según las características mencionadas
Figura 44.
Grafica “r vs t” (color azul) y “y vs t” (color rojo) con K=1
Figura 45.
Grafica “r vs t” (color azul) y “y vs t” (color rojo) con K=1.5;
Figura 46.
Grafica “r vs t” (color azul) y “y vs t” (color rojo) con K=2
- ¿Qué ventajas y desventajas presenta
usar estos bloques en lugar del bloque “Scope”?
Ventajas:
Con el workspace podemos
abrir la grafica desde Matlab.
Podremos también (usando
los comandos de Matlab), cambiar el color de la señal graficada, asi también
como su grosor, etc.
Matlab tiene en la parte
superior unas herramientas para desplazarte por la grafica (la manito), darle
zoom (la lupa), entre otras. Esto no encontramos en Simulink.
Desventajas:
Para introducir las
variables al workspace primero tenemos que hacer el circuito en simulink y
desde allí trasladarlo. Esa acción nos tomara tiempo.
Si queremos hacer modificaciones
tenemos que volver al circuito hecho en simulink y volver a cargar la
simulación.
Con simulink es mucho mas
fácil ver varias señales en la pantalla del scope (solo debes usar el bloque
mux), en Matlab en cambio debes introducir un hold on antes de ploteada.
- Analice y justifique las respuestas
obtenidas.
Análisis: En esta parte de la presente
experiencia hemos aprendido a usar el bloque to workspace, es mas complicado de
usar que el scope pero tiene también ciertas ventajas de las cuales podemos
sacar provecho. Además, nos permite unir (a travez de los parámetros inducidos
al workspace) los 2 software: Simulink y Matlab.
- Documente y describa la
implementación y los resultados obtenidos.
IV. ANALISIS DE RESULTADOS
Considerando el modelo smart-braking.slx (figura 9); explique el funcionamiento general del sistema, explorando cada subsistema, describiendo los bloques que se encuentran dentro de ellos. Más información del modelo puede encontrarse en (https://la.mathworks.com/help/simulink/gs/navigate-model.html ).
Figura 47. Modelo Smart-braking.slx
Componentes jerárquicos en simulink: Los modelos Simulink® se pueden organizar en componentes jerárquicos. En un modelo jerárquico, puede elegir ver el sistema en un nivel alto o navegar hacia abajo en la jerarquía del modelo para ver niveles crecientes de detalles del modelo.
Figura 48. Se
aprecia el modelo jerárquico del sistema “Smart_brakingv16”
En el modelo:
Ø
Un vehículo se mueve cuando se presiona el pedal del
acelerador.
Figura 49. Se muestra el subsistema “Vehicle”
Figura 50. Se muestra el diagrama interno del subsistema “Vehicle”
Se puede ver que las entradas son el acelerador (Gas pedal) y el pedal de freno (Brake pedal). Si el pedal de freno es un número menor o igual a cero se multiplica con el acelerador. El resultado entra al subsistema “Engine”.
Figura 51. Diagrama de bloques dentro del subsistema “Engine”
El resultado después de la multiplicación se amplifica por un valor de 3000 y da como nuevo resultado la variable par de eje (Axle torque).
Además la variable pedal de freno entra como entrada al subsistema “Brake system”
Figura 52. Diagrama de bloques dentro del subsistema “Brake system”
En el subsistema “Brake system” el pedal de freno se amplifica por 20 y 150 y me da como resultado el par de rotura (brake torque). El par de rotura se suma con el par de eje para entrar al bloque saturación, este bloque limita la señal de entrada a los valores de saturación superior e inferior. La salida del bloque saturación es la entrada del subsistema “Vehicle Dynamics”.
Figura 53. Diagrama de bloques dentro del subsistema “Vehicle Dynamics”
A la entrada se le suma una realimentación. A ese resultado se le divide por m y se lo integra. Ese resultado se le multiplica por b para ser sumado con la entrada. Despues de la primera integración (que da como resultado la velocidad), se le vuelve a integrar (para que de como resultado la distancia), y esa será la salida del subsistema “Vehicle Dynamics”. La salida posición del vehículo (vehicle position) será la salida del subsistema “Vehicle”.
Ø
Un sensor de proximidad mide la distancia entre el
vehículo y un obstáculo.
El subsistema “Proximity sensor”, tiene como variable de entrada la posición de un obstáculo (Obstacle location) y la posición de vehiculo (Vehicle location)
Figura 54. Subsistema “Proximity sensor”
Figura 55. Diagrama interno del subsistema “Proximity sensor”
La posición del obstáculo se resta con la posición del vehículo y da como resultado la distancia desde el obstáculo, esta se suma con el bloque Band-Limite (ruido blanco)
Figura 56. Diagrama de bloques del subsistema “Sensor model”
La suma del ruido blanco y la distancia desde el obstáculo. Esto servirá para que entre al bloque tiempo de muestra y de salida tendremos la variable salida del sensor de proximidad (proximity sensor output).
La variable salida del sensor de proximidad será la entrada del subsistema Signal conditioning. Esta entrara al bloque filtro discreto FIR, este bloque filtra independientemente cada canal de la entrada a lo largo del tiempo utilizando un filtro FIR. Puede especificar coeficientes de filtro utilizando parámetros de diálogo ajustables o puertos de entrada separados, que son útiles para coeficientes que varían en el tiempo. A la salida tendremos la variable proximidad (proximity).
Figura 57. Diagrama de bloques del subsistema “Signal conditioning”
Ø
Un sistema de alerta genera una alarma basada en esa
proximidad.
La variable proximidad (proximity) será la entrada del subsistema “Alert system”.
Figura 58. Diagrama interno del subsistema “Alert system”
La entrada proximity entra al subsistema “Alert logic”, esta será el restador de el numero 5 y entran al bloque Lookup Table. Este bloque realiza búsquedas de tablas interpoladas n-dimensionales, incluidas las búsquedas de índice. La tabla es una representación muestreada de una función en N variables. Los conjuntos de puntos de interrupción relacionan los valores de entrada con las posiciones en la tabla. La primera dimensión corresponde al puerto de entrada superior (o izquierdo). A la salida tendremos la variable “Alert index”.
Figura 59. Diagrama de bloques del subsistema “Alert logic”
La variable alert index entra al subsistema “Alert device” que a su vez esta conectada con el bloque “Data Type Conversation”. Este bloque La tiene dos objetivos posibles. Un objetivo es hacer que los valores del mundo real de la entrada y la salida sean iguales. El otro objetivo es que los valores enteros almacenados de la entrada y la salida sean iguales. Los desbordamientos y los errores de cuantificación pueden evitar que el objetivo se logre por completo. A la salida tendremos la variable “Alert output”. Esa salida servirá de realimentación para el sistema smart braking (el pedal de freno). Si la variable es positiva el freno se encenderá y el vehiculo se detendrá, en caso contrario, el vehiculo seguirá en movimiento. La alarma controla automáticamente el freno para evitar una colisión
Figura 60. Diagrama de bloques del subsistema “ Alert device”
V.
CONCLUSIONES
·
Simulink es una excelente herramienta
para simular y modelar sistemas ,ademas de poder usar los datos obtenidos para
manipularlos en Matlab.
·
Aprendimos también la importancia de
diversos bloques como from/to file o from/to workspace que tienen sus ventajas
y desventajas cada uno , es decir pueden ser adecuados en diferentes situaciones.
·
Es importante para modelar sistemas
conocer los bloques y el entorno del programa además de los comandos básicos
aprendidos en el laboratorio 1 para poder desarrollar adecuadamente la guía.
·
Con los bloques from file y from
workspace podemos introducir datos de un parámetro a simulink, y con los
bloques to file y to workspace podemos exportar los datos de simulink a Matlab.
·
Para ver las señales de entrada y de
salida debemos introducir el scope. Y para ver variar señales en un mismo scope
debemos usar el bloque mux.
·
La función escalón y la función
rampa unitario son muy usadas como señales de entrada. Debemos en la salida
obtener una señal que se asemeje a estas.
VI. REFERENCIAS BIBLIOGRAFICAS
ü https://es.wikipedia.org/wiki/Funci%C3%B3n_escal%C3%B3n_de_Heaviside
ü https://es.wikipedia.org/wiki/Funci%C3%B3n_rampa
ü https://es.mathworks.com/help/simulink/slref/demux.html
ü https://es.mathworks.com/help/simulink/slref/fromworkspace.html
ü https://es.mathworks.com/help/simulink/slref/toworkspace.html
ü https://es.mathworks.com/help/simulink/slref/tofile.html
ü https://es.mathworks.com/help/simulink/slref/fromfile.html