La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a EL: COMPONENTES  Son los elementos de modelado más importantes. Permiten modelar mediante ecuaciones continuas, discretas e incluir sentencias.

Presentaciones similares


Presentación del tema: "Introducción a EL: COMPONENTES  Son los elementos de modelado más importantes. Permiten modelar mediante ecuaciones continuas, discretas e incluir sentencias."— Transcripción de la presentación:

1 Introducción a EL: COMPONENTES  Son los elementos de modelado más importantes. Permiten modelar mediante ecuaciones continuas, discretas e incluir sentencias secuenciales.  Normalmente corresponden con un elemento físico: válvula, resistencia, bomba, tubería, etc.  Son los elementos de modelado más importantes. Permiten modelar mediante ecuaciones continuas, discretas e incluir sentencias secuenciales.  Normalmente corresponden con un elemento físico: válvula, resistencia, bomba, tubería, etc.

2 EL: Un lenguaje textual

3 Introducción al Lenguaje EL: PORTS

4 Introducción a EL: COMPONENTES Ejemplo de un componente base (abstracto) que será utilizado posteriormente para definir componentes eléctricos. ABSTRACT COMPONENT TwoPins PORTS IN Electric e_p "Input port” OUT Electric e_n "Output port" DECLS REAL v "voltage ddp (Volts)" TOPOLOGY PATH e_p TO e_n CONTINUOUS e_p.i = e_n.i v = e_p.v - e_n.v END COMPONENT Ejemplo de un componente base (abstracto) que será utilizado posteriormente para definir componentes eléctricos. ABSTRACT COMPONENT TwoPins PORTS IN Electric e_p "Input port” OUT Electric e_n "Output port" DECLS REAL v "voltage ddp (Volts)" TOPOLOGY PATH e_p TO e_n CONTINUOUS e_p.i = e_n.i v = e_p.v - e_n.v END COMPONENT

5 Introducción a EL: COMPONENTES (Herencia) Permite heredar datos, variables y comportamiento de un antecesor. COMPONENT C IS_A TwoPins DATA REAL C= 1.e-7 RANGE 0, Inf " Capacity (Farads)" CONTINUOUS v'= e_p.i / C --voltage derivative law END COMPONENT Permite heredar datos, variables y comportamiento de un antecesor. COMPONENT C IS_A TwoPins DATA REAL C= 1.e-7 RANGE 0, Inf " Capacity (Farads)" CONTINUOUS v'= e_p.i / C --voltage derivative law END COMPONENT

6 Introducción a EL: COMPONENTES (Topología) Un componente puede estar formado por la la conexión de varios componentes. COMPONENT circuit TOPOLOGY source s1( ampl=10 ) resistor r1 (1000) capacitor c1 ( 1e-1 ) earth e1 CONNECT s1.po TO r1.pi CONNECT r1.po TO c1.pi CONNECT c1.po TO s1.pi,e1.pi END COMPONENT Un componente puede estar formado por la la conexión de varios componentes. COMPONENT circuit TOPOLOGY source s1( ampl=10 ) resistor r1 (1000) capacitor c1 ( 1e-1 ) earth e1 CONNECT s1.po TO r1.pi CONNECT r1.po TO c1.pi CONNECT c1.po TO s1.pi,e1.pi END COMPONENT

7 Introducción a EL: COMPONENTES (Parte continua) Esta es la forma de especificar la parte continua de un modelo. COMPONENT pendulum DATA REAL m, L = 1 “mass and length” DECLS REAL x, y, T CONTINUOUS m * x’’ = - T * x / L m * y’’ = m * g - T * y / L x**2 + y**2 = L**2 END COMPONENT Esta es la forma de especificar la parte continua de un modelo. COMPONENT pendulum DATA REAL m, L = 1 “mass and length” DECLS REAL x, y, T CONTINUOUS m * x’’ = - T * x / L m * y’’ = m * g - T * y / L x**2 + y**2 = L**2 END COMPONENT

8 Introducción a EL : COMPONENTES (Parte Discreta) Esta es la forma de describir los eventos discretos COMPONENT freezer.... DISCRETE WHEN ( tr > -18 ) THEN compressorON= TRUE END WHEN WHEN ( tr < -20 ) THEN compressorON= FALSE END WHEN ASSERT( tr < -60 ) FATAL “Something wrong in tr” Esta es la forma de describir los eventos discretos COMPONENT freezer.... DISCRETE WHEN ( tr > -18 ) THEN compressorON= TRUE END WHEN WHEN ( tr < -20 ) THEN compressorON= FALSE END WHEN ASSERT( tr < -60 ) FATAL “Something wrong in tr”

9 Introducción a EL: COMPONENTES (INIT) Cuando un componente necesita una inicialización, ésta se realiza en un bloque INIT COMPONENT test DATA REAL x,y,z[3] INIT x= 0.0 FOR (i IN 1,3) z[i]= 0.0 END FOR END COMPONENT Cuando un componente necesita una inicialización, ésta se realiza en un bloque INIT COMPONENT test DATA REAL x,y,z[3] INIT x= 0.0 FOR (i IN 1,3) z[i]= 0.0 END FOR END COMPONENT

10 Introducción a EL : Ecuaciones Virtuales Permite cambiar la ecuación del padre en la herencia: COMPONENT base REAL REAL x,y CONTINUOUS x= y’ / 2 END COMPONENT COMPONENT test IS_A base CONTINUOUS x= y’ / 3 END COMPONENT Permite cambiar la ecuación del padre en la herencia: COMPONENT base REAL REAL x,y CONTINUOUS x= y’ / 2 END COMPONENT COMPONENT test IS_A base CONTINUOUS x= y’ / 3 END COMPONENT

11 Introducción a EL : Librerías  Está compuesto por todos los elementos relacionados con una disciplina (eléctrica, hidraulica,...). Pueden incluir Componentes, Ports, funciones, variables...  La instrucción LIBRARY se usa para especificar la librería con la se va a trabajar  La instrucción USE se utiliza para usar componentes (u otros elementos) de otra librería.  Está compuesto por todos los elementos relacionados con una disciplina (eléctrica, hidraulica,...). Pueden incluir Componentes, Ports, funciones, variables...  La instrucción LIBRARY se usa para especificar la librería con la se va a trabajar  La instrucción USE se utiliza para usar componentes (u otros elementos) de otra librería.

12 Introducción a EL : Librerías EcosimPro incluye librerias de sistema que contiene funciones comunes (sin,cos,log,etc.) LIBRARY THERMAL USE MATH REAL x= PI * R**2 EcosimPro incluye librerias de sistema que contiene funciones comunes (sin,cos,log,etc.) LIBRARY THERMAL USE MATH REAL x= PI * R**2

13 Introducción a EL : Tipos de datos  Basicos: REAL, INTEGER, BOOLEAN, STRING REAL x, y STRING str= “hello world” BOOLEAN isConnected = FALSE  Tipos enumerados: ENUM chemicals = {N2, H2O, CO2, N2, O2, H2SO4 } SET_OF(chemicals) air = {N2, O2, H2O, CO2} SET_OF(chemicals) water = {H2O}  Basicos: REAL, INTEGER, BOOLEAN, STRING REAL x, y STRING str= “hello world” BOOLEAN isConnected = FALSE  Tipos enumerados: ENUM chemicals = {N2, H2O, CO2, N2, O2, H2SO4 } SET_OF(chemicals) air = {N2, O2, H2O, CO2} SET_OF(chemicals) water = {H2O}

14 Introducción a EL : Tipos de datos Arrays: REAL v[3] REAL w[3,6,2] ENUM chemicals mix[2]= { H20, O2 } STRING colors[3]= { “red”,”white”,”blue”} Constantes: Una vez declaradas, no se pueden cambiar CONST REAL PI= 3.141592 Variable con rango: Si la variable se sale de rando, el programa de un warning: REAL v RANGE 0.5, 1.5 Arrays: REAL v[3] REAL w[3,6,2] ENUM chemicals mix[2]= { H20, O2 } STRING colors[3]= { “red”,”white”,”blue”} Constantes: Una vez declaradas, no se pueden cambiar CONST REAL PI= 3.141592 Variable con rango: Si la variable se sale de rando, el programa de un warning: REAL v RANGE 0.5, 1.5

15 Introducción a EL : Variables TIME y TSTOP TIME indica el tiempo actual de simulación TSTOP indica el tiempo final de simulación x= sin(TIME) WHEN( TIME >= (TSTOP / 2 ) ) TIME indica el tiempo actual de simulación TSTOP indica el tiempo final de simulación x= sin(TIME) WHEN( TIME >= (TSTOP / 2 ) )

16 Introducción a EL : Expresiones Aritmeticas: a * 2 + (c - u) / (x**2) SUM x= SUM(i IN 1,3; inertia[i]) es equivalente a x= inertia[1]+inertia[2]+inertia[3] Relacionales: 2 > ( x - y) Logicas: (x > 9.8 AND n != 7 OR m == 6 ) Aritmeticas: a * 2 + (c - u) / (x**2) SUM x= SUM(i IN 1,3; inertia[i]) es equivalente a x= inertia[1]+inertia[2]+inertia[3] Relacionales: 2 > ( x - y) Logicas: (x > 9.8 AND n != 7 OR m == 6 )

17 Introducción a EL : Parte continua  Ecuaciones matemáticas: Ecuaciones diferenciales ordinarias y algebraicas: x= 3*y x - 2*z + sin(TIME) = 0 y’’’ + 3*y’ = cos(TIME)  EXPAND: Varias ecuaciones en una sola instrucción EXPAND( i IN 1,2) out_entropy[i]= in_entropy[i] equivalente a: (no confundir con bucle FOR) out_entropy[1]= in_entropy[1] out_entropy[2]= in_entropy[2] (Nota: Cada ecuación es totalmente independiente)  Ecuaciones matemáticas: Ecuaciones diferenciales ordinarias y algebraicas: x= 3*y x - 2*z + sin(TIME) = 0 y’’’ + 3*y’ = cos(TIME)  EXPAND: Varias ecuaciones en una sola instrucción EXPAND( i IN 1,2) out_entropy[i]= in_entropy[i] equivalente a: (no confundir con bucle FOR) out_entropy[1]= in_entropy[1] out_entropy[2]= in_entropy[2] (Nota: Cada ecuación es totalmente independiente)

18 Introducción a EL : Parte continua  ZONE: permite introducir ecuaciones condicionales X = ZONE( m > 0 ) y + z ZONE( m > 1) y + 2*z OTHERS y  ZONE: permite introducir ecuaciones condicionales X = ZONE( m > 0 ) y + z ZONE( m > 1) y + 2*z OTHERS y


Descargar ppt "Introducción a EL: COMPONENTES  Son los elementos de modelado más importantes. Permiten modelar mediante ecuaciones continuas, discretas e incluir sentencias."

Presentaciones similares


Anuncios Google