Introducción El programa Simulink presenta ventajas frente a otros programas matemáticos que podrían ser también utilizados para resolver las ecuaciones de los sistemas, tales como un entorno interactivo y un conjunto de librerías con bloques personalizables que permiten simular, implementar y probar una serie de sistemas variables con el tiempo. demás, Simulink está integrado en !atlab y por ello es posible tener acceso a una amplia gama de "erramientas que permiten desarrollar algoritmos, analizar y visualizar simulaciones.
Bloques Principales
LIBRERÍA DE SISTEMAS LINEALES EN TIEMPO-ONTIN!O En este apartado se describirán los bloques para la implementaci#n de sistemas lineales en tiempo$continuo tiempo$continuo com%nmente utilizados en la asignatura. asignatura. Estos bloques son presentados en la siguiente figura.
&loques de la librería 'ontinuous.
1
Bloque Deri"ati"e
El bloque (Derivative ( Derivative)) apro*ima la derivada de su entrada considerando los valores iniciales de la salida igual a +. as e*actitudes de los resultados dependen del tama-o del periodo de muestreo utilizado en la simulaci#n. eque-os pasos de muestreo permiten obtener una curva de la salida más suave y e*acta.
Bloque Inte#rator$
El bloque (/ntegrator) integra su entrada. os resultados de la integraci#n van a depender del método de integraci#n que se seleccione en el men% ('onfiguration arameters) al que se accede mediante la opci#n marcada como (arámetros de simulaci#n).
Bloque State-Space
El bloque (State$Space) implementa un sistema definido a través de ecuaciones en el espacio de estados. *0 1 *2&u y 1'*23u donde * y u son vectores columna, la matriz debe ser definida cuadrada n4n, con n siendo el n%mero de estados del sistema, la matriz & debe de ser definida con dimensi#n n4m, con m siendo el n%mero de entradas, la matriz ' es definida con dimensi#n r4n, donde r representa el n%mero de salidas, y la matriz 3 posee dimensi#n r4m.
Bloque %ero-Pole
El bloque (5ero$ole) implementa implementa un sistema con ceros, polos y ganancia especificada en el dominio$s. Este bloque representa la funci#n de transferencia particularizada con los parámetros especificados para un sistema dado.
Bloque Trans&er 'cn
El bloque (6ransfer 7cn) implementa una funci#n de transferencia con la entrada 89s: y la salida ;9s:, como se muestra a continuaci#n<
2
sumiendo un un sistema de primera primera orden con un un polo en s 1 =>+ y un zero en s 1 =?, modelado por la funci#n de transferencia<
Bloque Transport Dela(
arámetros del bloque 6ransfer 7cn. El bloque (6ransport 3elay) retrasa la entrada del bloque por un determinado periodo de tiempo. Este bloque puede ser usado para simular retrasos de tiempo. En la ventana de configuraci#n, el bloque permite seleccionar un valor inicial (/nitial output) que se mantendrá constante "asta que el tiempo de la simulaci#n e*ceda el valor del retraso (6ime delay. El parámetro (6ime delay) no debe de ser negativo. El tiempo de muestreo debe ser seleccionado seleccionado adecuadamente de manera que el tiempo de retraso sea mayor que ese valor.
arámetros del bloque Transport Delay .
3
LIBRERÍA DE P!ERTOS ) S!BSISTEMAS *PORTS & SUBSYSTEMS $ os bloques de puerto de entrada y puerto de salida 9del inglés Inport Block y Outport Block : son puertos que sirven para conectar un sistema e*terno con un subsistema 9interno:. El bloque Subsistema 9del inglés Subsystem: Subsystem: representa un subsistema de un sistema. 'uando el modelo o el sistema de control aumenta en tama-o y complejidad se puede simplificar agrupando bloques en subsistemas .
&loques de la librería orts @ Subsystems.
LIBRERÍA DE S!MIDERO *SIN+$ Este apartado describirá los bloques más %tizados de la librería (Sink). os bloques detallados son presentados en la figura siguiente.
ibrería Sink.
Bloque Scope
El bloque (Scope) representa gráficamente la entrada conectada a este bloque con respecto al tiempo de simulaci#n. Este bloque permite representar varias variables a la vez para el mismo periodo de tiempo. El (Scope) permite ajustar el tiempo y el rango de los valores de entrada presentados. presentados. Se puede mover y redefinir el tama-o de la ventana (Scope) y se puede modificar los valores de sus parámetros durante la simulaci#n.
/cono arameters.
4
Bloque Displa(
El bloque (3isplay) muestra muestra por pantalla el valor de su entrada. os formatos de los datos visualizados son los mismos utilizados en !atabr. El parámetro (3ecimation) "abilita la visualizaci#n de los datos con la n$ésima muestra, donde n es el factor de conversi#n al sistema decimal. El parámetro (Sample time) sirve para especificar el intervalo de muestreo para cual cada punto es visualizado. visualizado. Se puede modificar el tama-o del bloque para visualizar correctamente los valores mostrados por pantalla. Es posible modificarlo tanto vertical como "orizontalmente. a presencia de un peque-o triángulo negro indica que el bloque no está mostrando todos los elementos por pantalla.
Bloque To ,orspace
El bloque (6o Aorkspace) envía su entrada al espacio de trabajo (Borkspace) de !atabr. Este bloque envía los valores de la entrada a una variable con el nombre especificado en la opci#n (Cariable name). a opci#n (Save format) determina el formato de la variable de salida.
arámetros del bloque 6o Aorkspace.
LIBRERÍA DE '!NIONES DE'INIDAS POR EL !S!ARIO *!SERDE'INED '!NTIONS$ En este apartado se presentarán los bloques (7cn) y (!6& 7cn) de la librería (8ser3efined 7unctions).
ibrería 8ser$3efined 7unctions .
5
Bloque 'cn
El bloque (7cn) ejecuta una ecuaci#n especificada que depende de la entrada del bloque, denominada u. Si u es un vector, u9i: representa el i$ésimo elemento del vector. u9>: o u representa el primer elemento. a ecuaci#n puede incluir constantes numéricas, operadores aritméticos, operadores relacionales, relacionales, operadores l#gicos y funciones matemáticas como, abs, acos, asin, atan, atan?, ceil, cos, cos", e*p, fabs, floor, "ypot, ln, log, log>+, poB, poBer, rem, sgn, sin, sin", sqrt, tan, y tan". Ejemplo > 3ada la siguiente e*presi#n<
y representada por el diagrama de bloques de la figura D.>,
7igura D.>< 3iagrama de bloques del ejemplo >. donde u9>: 1 t 1 FG, u9?: 1 k> 1 => y u9H: 1 k? 1 =D, y en la ventana de comando de !atab son definidos de la siguiente forma< u9>:1piGI u9?:1$>I u9D:1$DI y1$9>GH:Jcos9?Ju9>::Jlog y1$9>GH:Jcos9?Ju9>::Jlog9sec9?Ju9>::2tan 9sec9?Ju9>::2tan9?Ju9>:::2u9? 9?Ju9>:::2u9?:Jcos9?Ju9>::2 :Jcos9?Ju9>::2u9D:Jsin9?Ju u9D:Jsin9?Ju9>::I 9>::I
Bloque MATLAB 'cn
El bloque (!6& 7cn) ejecuta una determinada funci#n !atlab o e*presi#n de la entrada. Este bloque es más lento que el bloque (7cn) ya que llama a la funci#n !atab para cada paso de integraci#n. Si se desea implementar una funci#n !atlab que "aya sido previamente creada como se muestra a continuaci#n en el editor de m$function dentro del programa !atlabr, function y1ejemplo9u: y1$9>GH:Jcos9?Ju9>::Jlog y1$9>GH:Jcos9?Ju9>::Jlog9sec9?Ju9>::2tan 9sec9?Ju9>::2tan9?Ju9>:::... 9?Ju9>:::... 2u9?:Jcos9?Ju9>::2u9D:Jsi 2u9?:Jcos9?Ju9>::2u9D:Jsin9?Ju9>::I n9?Ju9>::I
LIBRERÍA DE '!ENTES *SO!RES$ En este apartado se presentarán los principales bloques que sirven como fuentes de se-ales en la simulaci#n. simulaci#n. Estos bloques están definidos en la librería (Source). Serán comentados los siguientes bloques< (7rom Aorkspace), ('onstant), (Signal Kenerator), (Lamp), (Sine Aave) y (Step).
ibrería Source.
6
Bloque 'ro. ,orspace
El bloque (7rom Aorkspace) lee datos del espacio de trabajo (Borkspace) de !atlab. os datos del espacio de trabajo son especificados con el parámetro (3ata) a través de una matriz de dos dimensiones dimensiones 9ej. Mt,uN son dos variables definidas en el espacio de trabajo:.
arámetros del bloque 7rom Aorkspace.
Bloque onstant
El bloque ('onstant) es usado para definir un valor constante real o complejo. Este bloque acepta salidas escalares, vectores 9>$3: o matrices 9?$3:, dependiendo de la dimensi#n del parámetro ('onstant value) que que se especifica y si la opci#n (/nterpreter vector parameters as >$3) está seleccionada o no. a salida del bloque posee la misma dimensi#n y los mismos elementos que la opci#n ('onstant value). Si se configura esta opci#n como un vector 9matriz de >$3:, se debe marcar (/nterpreter vector parameters) como >$3. Si esta opci#n no es debidamente configurada configurada el bloque considera el parámetro ('onstant value) como una matriz ?$3.
arámetros del bloque 'onstant.
7
Bloque Si#nal /enerator
El bloque (Signal Kenerator) puede generar cuatro diferentes tipos de formas de onda< onda seno 9(sine):, onda cuadrada 9(square):, onda diente de sierra 9(saBtoot"): y onda aleatoria 9(ramdom):. os parámetros de las se-ales son e*presados en "ercios o radianes por segundo. Se puede invertir la onda configurando el valor de la amplitud en negativo en la ventada de dialogo de parámetros.
arámetros del bloque Signal Kenerator
Bloque Ra.p
El bloque (Lamp) genera una se-al que empieza en un instante de tiempo especificado con un valor también previamente configurado y que evoluciona con una pendiente determinada en el bloque. as características características de la se-al generada son configuradas mediante las siguientes opciones< pendiente 9(Slope):, tiempo de inicio 9(Start 6ime): y la condici#n inicial de la salida 9(/nitial Output):.
arámetros del bloque Lamp.
Bloque Sine ,a"e
El bloque (Sine Aave) genera una onda seno. Se puede generar una onda coseno configurando el parámetro de fase 9("ase): con el valor FG?. El bloque (Sine Aave) puede ser definido de dos modos diferentes a través del parámetro (Sine type) como modo basado en t iempo o como modo basado en muestras.
8
El modo basado en tiempo posee dos sub$modos< sub$modo continuo o sub$modo discreto. Se utiliza el parámetro (Sample time) para especificar que el bloque trabaje en sub$modo continuo o discreto. ara el sub$modo continuo se especifica el valor +, y para el sub$modo discreto se especifica un valor mayor que cero. El modo basado en muestras requiere un t iempo discreto finito. 8n valor del parámetro (Sample time) mayor que cero provoca que el bloque se comporte como si estuviera siendo modificado por un mantenedor de orden cero (5ero Order Polder).
Bloque Step
El bloque (Step) genera un escal#n entre dos niveles definidos en un espacio de tiempo especificado. Si el tiempo de simulaci#n es menor que el valor del parámetro (Step time), la salida del bloque será el valor del parámetro (/nitial value). ara tiempos de simulaci#n mayores o iguales que el valor de (Step time), la salida es el valor del parámetro (7inal value).
arámetros del bloque Step.
LIBRERÍA DE OPERAIONES MATEM0TIAS *MAT1 OPERATIONS$ En este apartado se presentarán algunos bloques de operaciones matemáticas com%nmente utilizadas en el entorno Simulink.
ibrería !at" Operations.
Bloque Su.
El bloque (Sum) es la implementaci#n del bloque suma. Este bloque realiza las operaciones de adici#n o sustracci#n de sus entradas, pudiendo sumar o sustraer entradas escalares, vectoriales vectoriales o matriciales. Se puede también sumar los elementos de un %nico vector entrada. as operaciones del bloque son definidas en el parámetro (ist of Signs)< más 92:, menos 9$: y separador 9Q:. El separador crea un espacio e*tra entre puertos en el icono del bloque. a forma del icono se puede definir como redonda o rectangular 9del inglés round o rectangular: a través del parámetro (/con s"ape) en la ventana de dialogo de parámetros.
9
Si "ay dos o más entradas, el n%mero de operaciones de suma o resta debe ser igual al n%mero de entradas. or ejemplo, R2=2 requiere tres entradas y se configura el bloque para sustraer la segunda entrada a la primera entrada, y luego sumar la tercera.
arámetros del bloque Sum.
Bloque Product
El bloque (roduct) realiza la multiplicaci#n multiplicaci#n o divisi#n de sus entradas. Este bloque calcula la salida multiplicando multiplicando elemento a elemento o matricialmente, dependiendo del valor del parámetro (!ultiplication). El n%mero de operaciones se configura con el parámetro (Tumber of inputs).
arámetros del bloque roduct.
Bloque /ain
El bloque )Kain) multiplica la entrada por un valor constante 9ganancia:. a entrada y la ganancia pueden ser un escalar, un vector o una matriz. El valor de la ganancia se especifica a través del parámetro )Kain). El parámetro )!ultiplication) determina determina se la multiplicaci#n es matricial o elemento a elemento. El orden de las multiplicaciones en las operaciones matriciales es configurado a través de este parámetro.
10
arámetros del bloque Kain.
Bloque Mat2 'unction
El bloque (!at" 7unction) implementa las siguientes funciones matemáticas< e*p,log, >+u, log>+, magnitude?, square, sqrt, poB, conj 9conjugado complejo:, reciprocal, "ypot 9cálculo de la raíz cuadrada de la suma de cuadrados:, cuadrados:, rem 9resto de la divisi#n:, mod 9entero de la divisi#n:, transpose 9traspuesta de un vector o matriz: y "emiltian 9una matriz cuadrada, tal que 6 1 :. a salida del bloque es el resultado de la operaci#n de la funci#n sobre la entrada. El nombre de la funci#n aparece sobre el bloque. Se utiliza el bloque (!at" 7unction) en el caso que se desee una salida vectorial o matricial ya que el bloque (7cn) tiene características características similares pero las salidas son s#lo escalares.
arámetros del bloque !at" 7unction.
LIBRERÍA DE R!TA DE SE3ALES *RO!TIN/ SI/NALS$ En este apartado se presentarán tres bloques de la librería )Signal Louting)< )!anual SBitc"), )!u*) y )3emu*).
ibrería Signal Louting.
Bloque Manual S4itc2
El bloque (!anual SBitc") conmuta sus entradas pasando s#lo una de ellas a través de su salida. To e*iste ventana de dialogo para este bloque, por lo que para conmutar entre las entradas se debe pulsar dos veces sobre el bloque. Este bloque mantiene el estado determinado cuando el arc"ivo Simulink es guardado.
11
Bloques Mu5 ( De.u5
El bloque (!u*) combina sus entradas en una %nica salida. as se-ales de entrada pueden ser escalares, vectores o matrices. El parámetro (Tumber of /nputs) permite especificar el n%mero de se-ales de entrada y su dimensi#n. dimensi#n. 8n valor de => significa que el puerto correspondiente correspondiente puede aceptar se-ales de cualquiera dimensi#n.
arámetros del bloque !u*. El bloque (3emu*) e*trae las componentes de una se-al de entrada y provee las componentes en separadas se-ales. se-ales. El bloque acepta tanto se-ales vectoriales como buses de se-ales. El parámetro (Tumber of outputs) permite especificar especificar el n%mero y dimensi#n de cada puerto de salida. Si no se configura la dimensi#n de las salidas, el bloque lo determina automáticamente.
12
13
Página 1