Está en la página 1de 73

INTRODUCCIÓN A

WEBINAR
MODELS Y TACS
Ing. Adrián Alarcón B. © Inel
MODELS & TACS www.inelinc.com
inel@inelinc.com
Expositor
Educación Experiencia

Ingeniero
Adrián Alarcón
Becerra

MODELS & TACS 2


INTRODUCCIÓN
• ¿Qué es el ATP?
➢ El programa ATP (Alternative Transients Program) es
considerado uno de los programas más utilizados para
el análisis y simulaciones de fenómenos transitorios
electromagnéticos así como de los de naturaleza
electromecánica en los sistemas de potencia.

Fig. Ubicación de los grupos de usuarios ATP-EMTP.


Fuente: Manual de ATP Draw .

© Inel - 3
MODELS & TACS
www.inelinc.com
Características principales

❖Usa el “Método de Integración Trapezoidal”


❖A través de distintos módulos del programa se puede:
❑Calcular a respuesta en frecuencia de la red de estudio.
❑Determinar el análisis de flujos armónicos.
❑Modelar sistemas de control y componentes con características NO-LINEALES(efecto corona,
arco eléctrico, etc.)

© Inel - 4
MODELS & TACS
www.inelinc.com
Método de la regla trapezoidal

© Inel - 5
MODELS & TACS
www.inelinc.com
¿Qué podemos estudiar con ATP?

❖Impulsos atmosféricos
❖Transitorios de maniobra
❖Transitorios temporales
❖Transitorios muy rápidos (VFTO)

© Inel - 6
MODELS & TACS
www.inelinc.com
Modelos disponibles

❖Elementos concentrados: R, L, C
❖Líneas y cables
❖Elementos no lineales
❖Transformadores
❖Interruptores, tiristores, diodos, etc.
❖Fuentes ideales de tensión y corriente
❖Máquinas síncronas

© Inel - 7
MODELS & TACS
www.inelinc.com
Sistemas de control

❖TACS (Transient Analysis of Control System)

❖MODELS

© Inel - 8
MODELS & TACS
www.inelinc.com
Recomendaciones

❖Conocimientos fundamentales de los fenómenos físicos

❖Contrastación con datos de la realidad

❖Bibliografía e intercambio de experiencias

❖Condición inicial

© Inel - 9
MODELS & TACS
www.inelinc.com
Recomendaciones

❖Software libre, se requiere de licencia

❖En Latinoamérica: https://sites.google.com/site/atpcaue/licencia

© Inel - 10
MODELS & TACS
www.inelinc.com
INTRODUCCIÓN
• ¿Qué es el ATP Draw?
➢ ATP Draw es un pre-procesador gráfico para el ATP.

© Inel - 11
MODELS & TACS
www.inelinc.com
BIBLIOTECA

Fig. Componentes de la ventana principal de ATP Draw.


Fuente: Manual de ATP Draw .
© Inel - 12
MODELS & TACS
www.inelinc.com
EL ATP Draw

Fig. Ventana principal de ATP Draw.


Fuente: Manual de ATP Draw .
© Inel - 13
MODELS & TACS
www.inelinc.com
DESCRIPCIÓN DEL PROGRAMA ATP Draw

Fig. Ejemplo de configuración de Parámetros de un motor Síncrono.


Fuente: Manual de ATP Draw .

© Inel - 14
MODELS & TACS
www.inelinc.com
DESCRIPCIÓN DEL FLUJO DE TRABAJO

© Inel - 15
MODELS & TACS
www.inelinc.com
PLOT XY

© Inel - 16
MODELS & TACS
www.inelinc.com
TACS

© Inel - 17
MODELS & TACS
www.inelinc.com
TACS: INTRODUCCIÓN

❖El EMTP permite, en el dominio del tiempo, tres tipos de simulaciones, a saber:
• Red Eléctrica ‘pura’ (sin TACS)
• TACS STAND ALONE (sólo TACS)
• TACS HYBRID (TACS + Red Eléctrica)

❖En estas dos últimas, en los archivos con datos para la simulación se incorpora una especie de “Computador
Analógico”, al cual suele hacerse referencia con el nombre de su acrónimo: TACS (Transient Analysis of
Control Systems).

❖La función de éste es muy variada y potente, pudiendo representarse mediante él, entre otros, Sistemas de
Control de la Excitación y/o velocidad de Generadores, ángulos de disparo de convertidores
alterna/continua, SVC, comportamiento de espacios disruptivos (cámaras de extinción de interruptores,
cebado de aisladores), etc.

© Inel - 18
MODELS & TACS
www.inelinc.com
TACS: INTRODUCCIÓN

La Red Eléctrica & TACS:

Es posible el intercambio de información entre la Red Eléctrica y el TACS, siendo por lo común la anotada en
la Figura. Advertir que existirá un retardo de tiempo ‘delta’ en el cálculo entre ellos.

© Inel - 19
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

© Inel - 20
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Componentes del TACS


• Funciones de transferencia:
o Bloques-S
o Bloques-0
o Limitadores (estáticos/dinámicos)
• Variables Suplementales y Dispositivos:
o Expresiones algebraicas y lógicas en FORTRAN
o “Devices” (Dispositivos) preconstruidos internamente (Medidores de frecuencia, muestreadores, etc.)
• Fuentes:
o Residentes en el entorno TACS
o Internamente definidas en el TACS
o Externas, pasadas al entorno TACS desde la Red Eléctrica

: MODELS & TACS


© Inel - 21
www.inelinc.com
TACS: COMPONENTES

Funciones de transferencia o Bloques S

Responden a una función como la siguiente:

Los componentes en ATP se definen mediante registros en un archivo de extensión .DAT, un ejemplo de la
definición de un bloque S puede ser:

© Inel - 22
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

© Inel - 23
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Variables Suplementales y Dispositivos

Se denomina Variables Suplementales a aquellas que se definen mediante una expresión en código FORTRAN.
Por ejemplo

© Inel - 24
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

© Inel - 25
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

© Inel - 26
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

“Device” o “Dispositivo”

Es un objeto incorporado al TACS, cuyo funcionamiento se rige por ciertas reglas preestablecidas. Por ejemplo,
en la Figura se esquematiza un dispositivo derivador; esto es, la señal de salida (bautizada DERIVA) es la
derivada en el tiempo de la señal de entrada (bautizada BUS2A)

© Inel - 27
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

“Device” o “Dispositivo” Código Descripción


58 Integrador Controlado
Código Descripción 59 Derivador Simple
50 Frecuencímetro 60 Componente IF
51 Interruptor comandado por relé 61 Selector de Señales
52 Interruptor comandado por relé direccional 62 Muestreador
53 Retardador 63 Detector de Mínimos/Máximos Instantáneos
54 Retardador de Pulsos 64 Detector de Mínimos/Máximos Instantáneos
55 Digitalizador de una suma de señales de entrada
56 Función de Transferencia 65 Acumulador y Contador
57 Interruptor programado por tiempo 66 Medidor de Valores Eficaces

© Inel - 28
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

© Inel - 29
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Como se habrá notado en la reproducción del formato de los ejemplos de variables suplementales y dispositivos
anteriores, en las dos primeras columnas se escribieron los números 88 y 99, respectivamente. Este número está
relacionado con el origen de la señal de entrada o con el destino de su salida, así

99 si la señal de entrada proviene de una fuente,


88 si de un bloque ‘s’, una variable suplemental o un dispositivo, o
98 si esta señal servirá de entrada al control de un elemento de la Red Eléctrica,

lo que se resume en la Figura 5 siguiente:

© Inel - 30
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

© Inel - 31
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Los distintos sistemas modelados en el TACS deben se excitados con señales que pueden provenir de tres fuentes
posibles, a saber:
Residentes en el entorno TACS
Estas fuentes se invocan mediante la simple escritura de un nombre reservado, y son:
• TIMEX: tiempo de simulación, en segundos
• FREQHZ: frecuencia de la red, en Hz (tal como figura en la primera fuente 14 de la red eléctrica)
• PI: 3,14159265
• OMEGAR: 2 * PI * FREQHZ
• ZERO: 0,0
• MINUS1: - 1,0
• PLUS1: + 1,0

© Inel - 32
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Otros tipos de fuentes: Propias

© Inel - 33
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

© Inel - 34
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Otros tipos de fuentes: Externas, pasadas al entorno TACS desde la Red Eléctrica
Distintas variables eléctricas pueden ser ´picadas´ desde la red eléctrica por el TACS, convirtiéndose en fuentes de
señales con las que alimentar los sistemas allí modelados. Para hacer esto se requiere de un registro en el TACS
donde se solicita la inclusión de esa señal en su entorno; registro que debe respetar el siguiente formato

Si Código de Fuente:
• 90 -> se estará ingresando una tensión nodal
• 91 -> se estará ingresando la corriente por un interruptor
• 92 -> se estará ingresando una variable asociada a una MS o MI (Ángulo rotor, velocidad angular, Par
electromagnético, etc.)
• 93 -> se estará ingresando el estado de un interruptor (abierto=0; cerrado = 1)

© Inel - 35
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Otros tipos de fuentes: Externas, pasadas al entorno TACS desde la Red Eléctrica

© Inel - 36
MODELS & TACS
www.inelinc.com
TACS: COMPONENTES

Establecimiento de Condiciones Iniciales


EMTP resuelve primero la red eléctrica, por lo cual en el arranque de la simulación no habrá información con que
alimentar al TACS, los valores de las variables del TACS se asumirán igual a cero en t igual a cero.
Se puede asignar explícitamente valores iniciales a determinadas variables del sistema modelado en el TACS.
Las variables a ser inicializadas son aquellas que necesitan de “historia” para cumplir con su funcionalidad: las
entradas y salidas de los bloques-s y de los dispositivos 53, 58, 59, 62, 64 y 65.
Las condiciones iniciales en el TACS:

© Inel - 37
MODELS & TACS
www.inelinc.com
TACS: VARIABLES

Especificación de las Variables de Salida en el TACS


Especificación de las Variables cuyos valores serán guardados en el *.LIS y en el *.PL4

El EMTP no guarda, por omisión, ninguno de los valores de las variables definidas en el TACS, salvo que
explícitamente el usuario se lo solicite en el *.acp. Para ello deben incluirse en el *.acp indicadores que contengan
tal petición, así ...

© Inel - 38
MODELS & TACS
www.inelinc.com
MODELS

© Inel - 39
MODELS & TACS
www.inelinc.com
MODELS: INTRODUCCIÓN

MODELS es un lenguaje técnico general apoyado por un simulador resolutorio.


Es un lenguaje apuntado a la simulación en el dominio del tiempo, y es usado como una herramienta para describir
el comportamiento dinámico de complejos sistemas físicos
Puede ser usado para describir la operación de componentes del circuito y de componentes de control. También
puede ser usado para generar señales o para analizar medidas del circuito. Finalmente puede ser usado como una
interfase entre ATP y programas externos.
Un modelo consiste en procedimientos que describen cómo opera, cuáles elementos almacenarán el estado y la
historia de su operación para intercambiarla con el exterior, y las directivas que influyen en la operación del modelo
a lo largo de la simulación.

© Inel - 40
MODELS & TACS
www.inelinc.com
MODELS: CARACTERÍSTICAS

• Una sintaxis regular para el uso de variables, arreglos, expresiones y funciones.


• El uso de varios tipos de variables, almacenadores de valor modificados por los procedimientos del modelo; las
variables pueden ser numéricas y lógicas, bien sea en escalares o arreglos.
• Una cantidad de funciones numéricas y lógicas predefinidas; funciones adicionales que pueden ser definidas por
el usuario, en la forma de expresiones parametrizadas y funciones programadas externamente.
• El uso de condiciones y ciclos (if, while, for, etc.) para estructurar el flujo de la ejecución del procedimiento.
• El uso de comentarios para una mejor descripción.
• El uso de nombres largos y arbitrarios para facilitar la documentación.
• Nombramiento individual para cada modelo para permitir al usuario asignar nombres significativos a los variables
usadas en la descripción, sin el riesgo de conflictos entre los nombres elegidos en otras partes de la simulación.

© Inel - 41
MODELS & TACS
www.inelinc.com
MODELS: CARACTERÍSTICAS

• Separación de la descripción de un modelo de su uso en una simulación.


• El uso de múltiples instancias del mismo componente, con la posibilidad de darles diferentes parámetros,
diferentes entradas o diferentes directivas de simulación.
• Un mecanismo para dividir un componente grande en unidades más pequeñas para reducir la complejidad del
modelo, identificación explícita de las interfases y la operación, pruebas más fáciles, y uso de prototipos mientras
se desarrolla el modelo .
• La posibilidad de especificar operaciones que son ejecutadas sólo cuando algunas condiciones se unen, por
ejemplo para la inicialización o cuando ocurren dificultades con la simulación o se detectan errores.
• El tiempo automáticamente se incrementa durante una simulación.
• Las instancias individuales de los modelos de un sistema se actualizan automáticamente de acuerdo a su
operación.

© Inel - 42
MODELS & TACS
www.inelinc.com
MODELS: COMPARACIÓN CON TACS

• En TACS todas las variables del sistema están en el mismo nivel, en el sentido que no existen variables locales.
Esto es una dificultad para modelar varios elementos dado que no se pueden repetir los nombres de las variables.
• En MODELS el usuario no está restringido a seleccionar dentro de un conjunto fijo de elementos, ni a un flujo
simple de señales de entrada/salida, dado que puede definir cualquier elemento utilizando el lenguaje de
programación que provee MODELS, y efectuar cualquier manipulación numérica y/o lógica de las variables.
• En MODELS se distingue claramente entre la definición del modelo y su uso. La definición contiene declaraciones
de variables, constantes, señales de entrada y salida, procedimientos, funciones y la forma en que se ejecuta el
algoritmo que describe al modelo.
• En MODELS los modelos pueden usarse repetidamente en un mismo caso, y cada vez con sus propios valores de
variables, y aún también con diferentes pasos de tiempo.
• En MODELS es posible detectar cualquier error que lleve a un mal funcionamiento del modelo, pudiéndose forzar
la interrupción de la simulación en cualquier momento determinado.

© Inel - 43
MODELS & TACS
www.inelinc.com
MODELS:CONSTANTES GLOBALES

No varían durante la simulación y están predefinidas.

Numéricas:
• pi = el número pi, 3.141592...
• inf = el valor numérico más grande que puede manejar su PC
• undefined = 88888.88888

Lógicas:
• Iguales a cero (0): false, no, open, off
• Iguales a uno (1): true, yes, close, on

© Inel - 44
MODELS & TACS
www.inelinc.com
MODELS:CONSTANTES GLOBALES

Los nombres de los elementos CONST, sólo son visibles dentro del modelo donde son declaradas. Sus valores son
asignados dentro del modelo, en la declaración. El mismo valor es usado en todas las instancias del modelo.

Definición de nombres de parámetros y su valor por defecto (esto último es opcional).


Todos los datos de entrada que no vienen de una fuente externa al modelo (por ejemplo del EMTP u otro modelo)
deben ser declaradas aquí.

© Inel - 45
MODELS & TACS
www.inelinc.com
MODELS: VARIABLES GLOBALES Y LOCALES

Variables globales iguales para todos los Models:


• Startime = el valor del tiempo al comienzo de la simulación.
• Stoptime = tiempo en el cual termina la simulación.
• Startstep = paso de tiempo durante la simulación

Variables locales:
• t = valor presente del tiempo de simulación en cada modelo
• prevtime = valor previo del tiempo de simulación del modelo
• timestep = el paso de tiempo de simulación en el modelo
• timestep = t-prevtime
• fullstep = intervalo de tiempo total sobre el cual el modelo será actualizado

© Inel - 46
MODELS & TACS
www.inelinc.com
MODELS: VARIABLES INPUT

Identifica las variables que serán pasadas desde el circuito eléctrico hacia MODELS, en cada paso de tiempo. Pueden
ser:
• Variables pasadas desde el circuito (ATP)
• Variables de la sección TACS
• Valores extraídos de un archivo tipo PL4
• Valores internos del ATP (como timestep, tmax, etc.; que MODELS puede modificar)

© Inel - 47
MODELS & TACS
www.inelinc.com
MODELS: VARIABLES OUTPUT

Identifica el nombre de las variables del circuito eléctrico que serán recibidas desde el modelo. Deben tener 6
caracteres de longitud.

MODEL
CONST ...
DATA ...
INPUT ...
OUTPUT ...
...

OUTPUT nombre
OUTPUT nombre[1..n]

© Inel - 48
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES

Las funciones pueden ser divididas en:


• Definidas por el usuario
• Definidas en un lenguaje distinto a MODELS
• Definidas punto a punto (POINTLIST)
• Residentes
MODEL
CONST ...
DATA ...
INPUT ...
OUTPUT ...
FUNCTION ...
...

© Inel - 49
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES

El usuario puede escribir sus propias funciones utilizando la sintaxis:

FUNCTION nombre(var1,..,varn) = f (var1,..,varn)

Y luego puede ser usada de la siguiente manera:


y := f (x1,..,xn)

Los argumentos de las funciones son locales y no deben ser declarados bajo la directiva VAR.
La función debe estar definida dentro del modelo donde se utiliza o declararla EXTERNAL.

FUNCTION nombre EXTERNAL

© Inel - 50
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES PUNTOS

Adicionalmente a las funciones definidas por el usuario usando el lenguaje de MODELS, también es posible escribir
funciones en otro lenguaje como puede ser FORTRAN, PASCAL, etc.

También es posible definir cualquier función y=f(x) ingresando pares de valores “x” e “y” en orden creciente, de la
siguiente forma:

FUNCTION nombre POINTLIST


(x1,y1)
(x2,y2)
...
(xn,yn)

© Inel - 51
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES DEFINIDAS POR PUNTOS

Adicionalmente a las funciones definidas por el usuario usando el lenguaje de MODELS, también es posible escribir
funciones en otro lenguaje como puede ser FORTRAN, PASCAL, etc.

También es posible definir cualquier función y=f(x) ingresando pares de valores “x” e “y” en orden creciente, de la
siguiente forma:

FUNCTION nombre POINTLIST


(x1,y1)
(x2,y2)
...
(xn,yn)

© Inel - 52
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES ALGEBRAICAS

Se encuentran predefinidas en MODELS

• abs(x): el valor absoluto de x


• sqrt(x): raíz cuadrada de x
• exp(x): exponencial de x
• ln(x): logaritmo en base e de x (neperiano)
• log10(x): logaritmo en base 10 de x
• log2(x): logaritmo en base 2 de x
• recip(x): inversa de x. Impide error de división por cero. Si x = 0 1/x = inf

© Inel - 53
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES ALGEBRAICA

Se encuentran predefinidas en MODELS

• factorial(x): x! • sin(x), cos(x), tan(x): funciones trigonométricas


• trunc(x): parte entera de x • asin(x), acos(x), atan(x): inversas
• fract(x): parte fraccionaria de x • sinh(x), cosh(x), tanh(x): hiperbólicas
• round(x): entero más cercano a x • asinh(x),acosh(x),atanh(x): hiperbólicas inversas
• sing(x): -1, 0 ó 1 • atan2(x1,x2): atan(x1/x2) abarcando todo el plano
• rad(x): de grados sexagesimales a radianes • binom(n,r): combinación de r en n
• deg(x): de radianes a grados sexagesimales • permut(n,r): n! / (n-r)!
• random(): número aleatorio entre cero y uno • min(x1,...,xn), max(x1,...,xn), norm(x1,...,xn):
mínimo, máximo y normal Euclidiana.

© Inel - 54
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES LÓGICAS

Se encuentran predefinidas en MODELS

• bool : 1 si x > 0, 0 si x <= 0


• and(x1,...,xn): 1 cuando todos son ciertos
• or(x1,...,xn): 1 cuando uno o más son ciertos
• nand(x1,...,xn): 1 cuando uno o más son falsos
• nor (x1,...,xn): 1 cuando todos son falsos
• xor (x1,...,xn) : 1 cuando sólo uno es cierto

© Inel - 55
MODELS & TACS
www.inelinc.com
MODELS: FUNCIONES SIMULACIÓN

Se encuentran predefinidas en MODELS

• deriv(x): la derivada de primer orden del paso • delay(x,d,pol): el valor de x en el tiempo t - d,


actual incluyendo tiempos previos al inicio de la
simulación, usando la función definida como
• deriv2(x): la derivada de segundo orden del paso historia de x
actual
• backval(x,t,pol): el valor de x en un tiempo t previo,
• integral(x): la integral en el tiempo de x dentro del último paso de tiempo
• prevval(x): el valor de x en el paso de tiempo previo • backtime(x,val,pol): tiempo en el cual x tuvo el
• predval(x,t,pol): valor predecible de x en el tiempo valor val durante el ultimo paso de tiempo
t • predtime(x,val,pol): valor predecible del tiempo en
• histdef(x): el valor de x en el t = 0 el cual x alcanza el valor val
• histval(x): el valor de x en el tiempo t

© Inel - 56
MODELS & TACS
www.inelinc.com
MODELS: EXPRESIONES DE SIMULACIÓN

SUM: evaluación de un polinomio de orden n (se le pueden aplicar limitadores estáticos)

y := SUM (a + b|x1 + c|x2 + ..)

LAPLACE: transformada de Laplace con coeficientes variables.

LAPLACE(x/ y) := ( k0|s0 + k1|x2 + ...) / (m0|s0 +m1|s1 + ..)

© Inel - 57
MODELS & TACS
www.inelinc.com
MODELS: EXPRESIONES DE SIMULACIÓN

CLAPLACE: transformada de Laplace con coeficientes constantes

CLAPLACE(y/x) := ( k0|s0 + k1|x2 + ...) / (m0|s0 +m1|s1 + ..)

A las funciones de Laplace se les puede aplicar tanto límites estáticos como dinámicos. Los límites se escriben en la
parte derecha de la expresión:
CLAPLACE(y/x) {max:exp1 min:exp2} := ...

Tanto x como y deben estar declaradas en una sentencia HISTORY o HISTDEF, y generalmente es suficiente asignarle
{dflt:0}

© Inel - 58
MODELS & TACS
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN

Las directivas que afectan al modelo son:

• La coacción de valores para el tamaño del time step usado por el modelo
• El método de interpolation a ser usado sobre los input en pasos de tiempo internos intermedios.
• El número de delay cells a ser reservado para guardar los valores pasados de variables e inputs afectadas por la
función delay().
• Las expresiones de history describiendo analíticamente el valor de algunos de los inputs y las variables de un
modelo antes de su simulación.

© Inel - 59
MODELS & TACS
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN
MODEL <NombreNodo> -- Indica el comienzo de la definición de un modelo.
-- Sección de declaraciones
CONST ...
DATA ...
INPUT ...
OUTPUT ...
FUNCTION ...
-- Directivas de simulación
TIMESTEP
INTERPOLATION
HISTORY
DELAY CELLS
-- Procedimientos
INIT -- 
... --  Este procedimiento se ejecuta solo una vez para
ENDINIT --  inicializar las variables.
EXEC -- 
... --  Este procedimiento se ejecuta cada paso de tiempo.
ENDEXEC -- 
ENDMODEL -- Fin de la definición del modelo.

MODELS & TACS


© Inel - 60
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN, TIMESTEP

El paso de tiempo externo que utiliza el modelo para actualizar su estado puede no estar en una escala apropiada.
Especificando un límite mínimo y/o un máximo se puede mantener en un rango adecuado.

Si el paso de tiempo externo es mayor que el máximo especificado, el modelo subdividirá el paso externo en
menores pasos internos. Si, por el contrario, el paso de tiempo externo es menor al mínimo especificado, el modelo
ignorará la actualización requerida.

Las expresiones usadas para describir estos límites pueden hacer referencia a los valores de alguna variable del
modelo, así se pueden haber ajustes dinámicos de estos límites.
Típicamente el tamaño del timestep se mantendrá en 1/100 y 1/10 veces el tamaño de la constante de tiempo más
pequeña del modelo.

© Inel - 61
MODELS & TACS
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN,
INTERPOLACIÓN

Si el timestep es limitado a un valor máximo y el paso externo excede ese valor, no habrá valores para los inputs
intermedios. Por ello se usa una directiva de interpolación para especificar el método: 0, 1 ó 2, para paso, lineal e
interpolación cuadrática.

Se pueden seleccionar diferentes métodos para cada uno de los inputs. También el método puede ser modificado
posteriormente en USE para cada modelo.

© Inel - 62
MODELS & TACS
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN, DELAY CELLS

El tamaño del espacio necesario para grabar los valores pasados de una variable accesada por un función delay()
depende de que tamaño tenga el retardo utilizado, y el tamaño del paso de tiempo al cual las muestras son
tomadas. Hacer esta estimación no es simple.
Debe considerarse que tanto el tamaño del retardo como el del paso de tiempo pueden ser descritos como
expresión simbólica y este valor puede variar dinámicamente durante una simulación.
Típicamente, la expresión del número de celdas incluirá una referencia al tamaño del paso de tiempo usado en el
modelo. Esta expresión es evaluada sólo una vez cuando cada instancia del modelo es creada y por ello el tamaño
no podrá ser ajustado luego. Una referencia a la variable timestep se hará usando el valor de esa variable en el
tiempo en el que la instancia del modelo es creada e inicializada.

DELAY CELLS DFLT: max(delay1, delay2)/timestep +1


CELLS(y1, y2): 50
CELLS(y3): 10

© Inel - 63
MODELS & TACS
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN, HISTORY

Son posibles dos tipos de referencias a una expresión HISTORY de una variable o input. Una es hecha internamente
por el resolutor cuando necesita accesar a un valor pasado no-existente de un valor t previo a la simulación del
modelo.

El otro tipo de referencia es el que se escribe explícitamente en la descripción del modelo.


Para ello se tienen:
histval(y,t1): usará la historia de y para evaluar y(t1)
histdef(y): es equivalente a histval(y,t) para el valor genérico del tiempo t.

© Inel - 64
MODELS & TACS
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN, HISTORY

Considere usar una función delay que haría referencia al valor pasado de una variable para un tiempo que precede
al tiempo de la primera ejecución del modelo, como en:

y := delay (x,delaysize)

como corresponde a pedir el valor de x en el tiempo t-delaysize. Si t-delaysize>= t0, entonces el valor de x en ese
tiempo ha sido guardado en las delay cells del modelo. Pero si t-delaysize < t0, ese valor está indefinido a menos que
el modelo tenga una expresión para calcular los valores de x en t<t0.

© Inel - 65
MODELS & TACS
www.inelinc.com
MODELS: DIRECTIVAS DE SIMULACIÓN, HISTORY

Las expresiones HISTORY pueden ser usadas también para obtener los valores iniciales. Se pueden definir valores
históricos como expresiones regulares en función del tiempo.
Es posible especificarlas en tres lugares del modelo: como directiva de simulación en la definición, como directiva
de simulación en USE (para cada instancia) y en INIT.

HISTORY y1 HISTORY integral(y) {dflt:express.}


y2 {dflt:0} HISTORY y[n1..n2] {dflt:express.}
y3 {dflt:A*sin(omega*t)} HISTORY y[n1..n2] {dflt:array exp.}

© Inel - 66
MODELS & TACS
www.inelinc.com
MODELS: PROCEDIMIENTOS

Los procedimientos describen los métodos usados por el modelo para acceder y modificar valores de los elementos
almacenadores de un modelo durante la simulación.
Dos procedimientos tienen nombres predefinidos: INIT y EXEC.
Adicionalmente se pueden definir otros procedimientos identificados por nombres arbitrarios y manejo arbitrario
de las variables de un modelo.
El procedimiento EXEC es el principal procedimiento de operación . Es llamado cada vez que un modelo es
ejecutado. EXEC describe como el estado de un modelo, expresado por el valor de sus variables evoluciona durante
una simulación.
La primera vez que una instancia de un modelo es llamada, el procedimiento INIT es ejecutado, seguido de EXEC. En
los subsecuentes pasos de tiempo sólo EXEC es ejecutado. La llamada inicial de un modelo puede hacerse en un
tiempo diferente de cero.

© Inel - 67
MODELS & TACS
www.inelinc.com
MODELS: PROCEDIMIENTOS

© Inel - 68
MODELS & TACS
www.inelinc.com
MODELS: PROCEDIMIENTOS, INTRODUCCIÓN IF

Se usa IF para agrupar instrucciones que son ejecutadas sólo cuando ciertas condiciones se dan.

Múltiples cláusulas pueden ser encadenadas dentro de una misma instrucción IF. Sólo la primera cláusula
encontrada verdadera es ejecutada. ELSE se ejecuta cuando ninguna otra condición se encontró verdadera.

© Inel - 69
MODELS & TACS
www.inelinc.com
MODELS: PROCEDIMIENTOS, INTRODUCCIÓN WHILE

WHILE permite ejecutar cero o más veces un grupo de instrucciones durante el mismo paso de tiempo mientras una
condición dada sea verdadera. La palabra while no implica una referencia al tiempo.

© Inel - 70
MODELS & TACS
www.inelinc.com
MODELS: PROCEDIMIENTOS, INTRODUCCIÓN FOR

La instrucción FOR es usada para repetir la ejecución de un grupo de instrucciones usando una lista de valores dados
a uno o más parámetros. Se pueden especificar valores para más de un parámetro aplicados a la misma lista DO.

© Inel - 71
MODELS & TACS
www.inelinc.com
MODELS: PROCEDIMIENTOS, INTRODUCCIÓN FOR

Así como WHILE, DO es usado para repetir la ejecución de un grupo de instrucciones.

DO
lista de instrucciones
ENDDO

Una diferencia es que DO se ejecuta al menos una vez. La otra es que la condición que determina si el ciclo se
repetirá o no, se lleva a través de una marca al ejecutar REDO en la lista de instrucciones. DO se usa en vez de WHILE
en situaciones donde la condición del ciclo es más compleja, como pueda ser expresada en la simple expresión
condicional del WHILE.

© Inel - 72
MODELS & TACS
www.inelinc.com
FIN

© Inel - 73
MODELS & TACS
www.inelinc.com

También podría gustarte