Curso DSL
Curso DSL
Nivel Básico
(Modulo - 3)
Type Element
Common Model
Composite Frame
Composite Model
Model Definition
Modelos Compuestos
dx = ax +bw
dt
• Ecuación diferencial no lineal, explícita:
dx = x2 + sin(x)
dt
• Ecuación diferencial implícita:
dx 2
x + +1 = 0
2
dt
Sistema de ecuaciones diferenciales
1
𝑑𝑑𝑑𝑑 𝑡𝑡 = 𝑥𝑥1+𝑥𝑥2+𝑦𝑦𝑖𝑖
2
𝑑𝑑𝑑𝑑 𝑡𝑡 = 𝑥𝑥1-𝑥𝑥2+𝑦𝑦𝑖𝑖
• Forma general de un sistema de ecuaciones
diferenciales explícito:
.
x = f ( x, yi )
yo = g (x, yi )
Transformada de Laplace. Dominio del Tiempo y la Frecuencia
• Frecuencia Compleja: s = σ + jω
dx
• Ecuación diferencial : sx
dt
yo (s) = K ⋅x(s)
K
yo(s) = •yi (s)
1+sT yo (t) = K ⋅x(t)
Standard Blocks
(Macros)
Bloques standard
• Integrator x·= yi → x = yi
s
DIgSILENT
2.50
2.00
1.50
1.00
0.50
0.00
-0.50
0.00 0.50 1.00 1.50 [s] 2.00
Integrator:yi
Integrator:yo
x·= ( yi − x)
yi
• First-Order Lag: x =
T (1+ sT)
DIgSILENT
1.25
1.00
0.75
0.50
0.25
0.00
-0.25
0.00 0.50 1.00 1.50 [s] 2.00
FirstOrderLag:yi
FirstOrderLag: yo
14
Bloques standard
yi
• Second-Order Lag, RealPoles: x=
(1+ sT1)(1+sT1)
DIgSILENT
1.25
1.00
0.75
0.50
0.25
0.00
-0.25
0.00 0.50 1.00 1.50 [s] 2.00
SecondOrderLagReal: yi
SecondOrderLagReal:yo
16
Bloques standard
yi
• Second-Order Lag, ComplexPoles: x=
(1+ sT1)(1+ sT2 )
DIgSILENT
1.25
1.00
0.75
0.50
0.25
0.00
-0.25
0.00 0.50 1.00 1.50 [s] 2.00
SecondOrderLag: yi
SecondOrderLag:yo
16
Definiciones de bloqueDSL
vco_EXAC2:
uset p
Vam ax
Vs
Vrm ax
u
1/(1+sT)
Vc - o13 yi1 (1+ s Tb)/(1+ sTa) yi2 _{ K/ ( 1+sT) }_ Va yi11
0
Tr Tb,Tc Ka,Ta Var yi4 Vr yi5 Ve ui uerrs
- - LVgate K Limiter [1/s T fltrU
Kb Te
1 -
Vamin
Vrm in
upss
Fex
Vl
O
K
Kl yi7 -
Vh
_Fex_
Kc
vlr
1
C ons t
Vlr
K
Kh
Se(efd)+Ke
Ke,E1,SE1,..
sK/ ( 1+s T)
Vf Kf,Tf Vfe KeSe
o19
K
Kd
curex. .
17
DSL Common Model
vco_EXAC2:
bi as
usetp
Vam ax
Vs
Vrmax
u 1/(1+sT) Vc - o13 y i 1 (1+sTb)/( 1+s Ta) y i 2 _{K/(1+sT) }_ Va y i 11
Tb,Tc Ka, T a - 0 Var yi4 Vr yi 5 Ve ui uerrs
Tr LVgate K Limiter [1/sT fltrU
-
Kb Te
1 -
Vamin
Vrmin
upss
Fex
O
Vl
K
Ve(1.V.e(2.
Kl yi7 -
Vh
reset _Fex_
vlr
Kc
1
Const
Vl r
Vfe(..Vfe(..
K
Kh Vfe(..
Se( ef d)+Ke
Ke,E1,SE1,..
sK/( 1+sT)
Vf Kf,Tf Vfe KeSe
o19
K
Kd
ccuureex.
18
Escribir código en DSL
19
Variables DSL
• Señales de salida:
- Disponible desde la salida de la definición del bloque para construir
modelos DSL más complejos.
• Señales de entrada:
- Idem que para señales de salida
• Variables de estado:
- Señales dependientes del tiempo generadas y usadas en el interior del
modelo DSL
• Parámetros:
- Números tipo 'read only' que son ajustados para alterar el
comportamiento del modelo del DSL.
• Variables Internas:
- Definidas y usadas en el modelo DSL para facilitar la construcción de un
conjunto de ecuaciones DSL
20
Sintaxis general DSL
• Ejemplo:
& (1-sqr(x1)/sqr(at))/Tw, 0)
22
Expresiones DSL
• Sintaxis de asignación:
varname = expr asigna expresión 'expr' a variable'varnm'.
• Ejemplos: y =sin(a)+3*x1
x1. = (xe-x1)/T1
x2. = x1
• Funciones Standard :
sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), sinh(x),
cosh(x), tanh(x), exp(x), ln(x), log(x), abs(x), min(x,y),
max(x,y), sqrt(x), trunc(x), frac(x), round(x), sqr(x),
pow(x,y), modulo(x,y), ceil(x), floor(x)
22
DSL Funciones especiales
• y=lim(in,min,max) Limitador
23
Inicialización del Modelo
24
Cálculo de las condiciones iniciales
25
Cálculo de condiciones iniciales
upss
u uerrs
Modelo de
usetp excitación del
curex sistema
27
Cálculo de condiciones iniciales
28
Introducción a DSL (lenguaje de simulación DIgSILENT)
Introducción a DSL
requisitos previos
• Power System Stability and Control de P. Kundur - La sección 13 de este libro tiene un
buen tratamiento de la formulación de ecuaciones DAE para aplicaciones de
sistemas de potencia y cómo resolverlas con métodos de integración numérica.
Introducción a DSL
Conceptos de modelado dinámico en PowerFactory: Terminología
• Elemento de red (Network Element): es un modelo incorporado que representa una pieza
estándar del equipo del sistema de energía, p. generadores, motores, transformadores,
convertidores, etc.
• Definición de Modelo (Model Definition): es la estructura de un modelo dinámico que contiene
su representación matemática en forma de un conjunto de ecuaciones y/o un conjunto de macros
gráficas. Las definiciones de modelo son objetos de tipo que pertenecenen la biblioteca de
modelos definidos por el usuario.
• Modelo común (Common Model): es la instancia de red que vincula una definición de modelo a
una pieza real de equipo dinámico con parámetros específicos. Los modelos comunes son
elementos de red y, por lo tanto, deben ubicarse en la red.
• Marco compuesta (Composite Frame): es un diagrama que establece las conexiones entre los
modelos dinámicos y los elementos de la red. Los marcos son objetos de tipo que pertenecen a la
biblioteca de modelos definidos por el usuario.
• Modelo compuesto (Composite Model): es la instancia de red de un marco compuesto.
Representa un sistema dinámico (por ejemplo, generador con control de motor primario y
regulador de voltaje). El modelo compuesto establece los vínculos entre los elementos reales de
la red, los dispositivos de medición y los modelos comunes.
Introducción a DSL
Conceptos de modelado dinámico en PowerFactory: Terminología
Modelos Compuestos
Type Element
Common Model
Composite Frame
Composite Model
Model Definition
Ejemplo: Sistema de control del generador
Ejemplo: Sistema de control del generador
El modelo de máquina síncrona integrado (ElmSym) se proporciona de forma predeterminada sin ningún
control. Cuando la máquina síncrona se utiliza "tal cual" en una simulación dinámica (es decir, sin controles),
mantendrá una potencia de turbina "pt" y un voltaje de excitación "ve" constantes durante toda la
simulación. Como resultado, las perturbaciones tales como fallas, escalones de carga, etc. pueden causar
una respuesta del sistema inestable o poco realista, ya que se omite la acción de los sistemas de control
como los reguladores de velocidad y los reguladores de voltaje.
Por lo tanto, es necesario definir específicamente los controles del generador y su respuesta dinámica a las
perturbaciones del sistema. Por supuesto, el nivel de detalle requerido en los modelos de controlador
dependerá del tipo de estudios a realizar, los requisitos de rendimiento, el grado de influencia que la unidad
tiene en la red, etc.
Ejemplo: Sistema de control del generador
Considere el sistema de generación hidroeléctrica
Este diagrama de bloques que muestra cómo se conectan el generador síncrono, el gobernador, la turbina y el
controlador de voltaje a través de las señales de entrada/salida entre ellos, debe implementarse como el marco
compuesto para el sistema dinámico. Los bloques que representan el generador, el gobernador, etc. se
denominan ranuras y son marcadores de posición para los modelos que describen su comportamiento
dinámico.
Ejemplo: Sistema de control del generador
En esta etapa, acabamos de ver una descripción general de cómo está estructurado el sistema de control
de generación hidroeléctrica (es decir, un marco). Todavía tenemos que definir los modelos dinámicos
individuales para el regulador, la turbina y el controlador de tensión. Tenga en cuenta que, como se
mencionó anteriormente, ya existe un modelo incorporado para el elemento generador síncrono y, por lo
tanto, no requiere una definición adicional.
Este diagrama de bloques debe implementarse como la definición del modelo para el controlador de
voltaje. Podemos realizar un ejercicio similar y crear definiciones de modelo para el gobernador y la
turbina. Una vez que hayamos terminado de crear estas definiciones de modelo, habremos definido el
modelo dinámico para el sistema de control de generación hidroeléctrica, es decir, las definiciones de
modelo dinámico individual para el gobernador, la turbina y el controlador de voltaje, el modelo
incorporado para el generador y cómo están todos conectados entre sí se define en el marco compuesto.
Primero podemos crear un modelo compuesto y vincularlo al marco compuesto que definimos
anteriormente. Ahora es necesario llenar las ranuras para el generador, el gobernador, la turbina y el
controlador de voltaje. Para la ranura del generador, podemos seleccionar el elemento generador
relevante en la red. Para las otras ranuras, tendremos que crear modelos comunes y vincularlos a la
definición del modelo relevante.
Ejemplo: Sistema de control del generador
Ejemplo: Sistema de control del generador
Creación de modelos dinámicos
Creación de modelos dinámicos: Procedimiento general
2. Crear cada una de las definiciones del modelo y establezca las condiciones
iniciales apropiadas.
4. Crear un modelo compuesto y llene las ranuras con los elementos de red
relevantes, por ejemplo modelos comunes, modelos incorporados, dispositivos
de medición, etc.
Tanto los marcos compuestos como las definiciones de modelo se crean en PowerFactory
utilizando el objeto de definición de bloque (BlkDef). La diferencia es que los marcos
compuestos solo pueden contener ranuras y conectores, y no realizan cálculos, mientras que las
definiciones de modelos pueden contener funciones matemáticas en forma de ecuaciones,
macros gráficas, puntos de suma, multiplicadores, etc.
Los modelos compuestos se crean desde el administrador de datos, dentro de la carpeta de red
activa. Una vez que se selecciona un marco, los componentes relevantes del sistema se pueden
asignar a las ranuras. Es una buena práctica almacenar elementos como modelos comunes y
dispositivos de medición dentro del objeto de modelo compuesto.
Creación de modelos dinámicos: Objetos de la red
Composite Models
Creación de modelos dinámicos: Objetos de la red
Common Models
En PowerFactory, todos los modelos dinámicos se inicializan de acuerdo con un cálculo de flujo
de carga. En otras palabras, antes del inicio de una simulación en el dominio del tiempo, el
sistema está operando en una condición de estado estable y los voltajes de la red, los flujos de
potencia activa y reactiva, las cargas, etc., están definidos por la solución de flujo de carga. Esto
también significa que la configuración operativa definida para el cálculo del flujo de carga (p.
ej., distribución de potencia activa/reactiva del generador, configuración de los controladores
de estación, etc.) se utiliza como punto de partida de estado estable para la simulación en el
dominio del tiempo. Se recomienda configurar correctamente el flujo de carga de estado
estable antes de ejecutar una simulación en el dominio del tiempo.
Inicialización del modelo
Cómo se inicializan los modelos en PowerFactory
El proceso de inicialización generalmente se realiza en la dirección opuesta a la operación
normal, es decir, de derecha a izquierda o de salida a entrada (aunque no siempre es así). Esto se
debe a que las salidas del modelo generalmente se conocen (por ejemplo, del cálculo del flujo de
carga de estado estable) y las entradas son desconocidas y deben inicializarse. La inicialización
del modelo generalmente comienza en los elementos de la red y luego avanza hacia atrás a
través de los otros bloques, inicializando cada bloque completamente uno a la vez.
En la mayoría de los modelos, será necesario inicializar manualmente una serie de variables (o
señales). Esto es generalmente cierto para variables o señales que no se pueden determinar
directamente a partir de la solución de flujo de carga. Tenga en cuenta que no es necesario
inicializar manualmente todas las variables y señales de un modelo.
Inicialización del modelo
Cómo se inicializan los modelos en PowerFactory
Cuando una variable o señal no se conoce o se inicializa manualmente, PowerFactory intentará usar
las ecuaciones del modelo para calcular su valor inicial. Se arrojará un error si las ecuaciones del
modelo tienen variables o señales indefinidas (por ejemplo, una entrada desconocida). Las
variables o señales indefinidas deben inicializarse manualmente, por ejemplo:
Desarrollando el concepto de señales conocidas y desconocidas, las señales conocidas son aquellas
que están conectadas a modelos incorporados (por ejemplo, elementos de red como máquinas
síncronas, transformadores, etc.) u otros modelos DSL que ya se han inicializado.
Inicialización del modelo
Cómo se inicializan los modelos en PowerFactory
Por ejemplo, considere la Figura que muestra un marco (Composite Frame) de un gobernador y
una turbina conectados a un generador síncrono.
Por último, se inicializa el bloque gobernador. Dado que la señal de salida g ya se ha inicializado
en el bloque de turbina y la entrada de velocidad se conoce del elemento generador, no se
requiere inicialización manual de las señales de entrada/salida para este bloque. Sin embargo,
cualquier variable de estado interna en el bloque debe inicializarse manualmente.
Procedimiento general para la inicialización del modelo compuesto
Por medio de la interfaz gráfica de usuario (GUI) de DSL, la estructura anterior se implementará
en una definición de modelo utilizando macros de la biblioteca global de PowerFactory.
Por medio de la interfaz gráfica de usuario (GUI) de DSL, la estructura anterior se implementará
en una definición de modelo utilizando macros de la biblioteca global de PowerFactory.
Por medio de la interfaz gráfica de usuario (GUI) de DSL, la estructura anterior se implementará
en una definición de modelo utilizando macros de la biblioteca global de PowerFactory.
integrador
Ganancia
Creación de la definición del modelo (Model Definition)
Coloque los puntos de suma utilizando el icono de la barra de herramientas gráficas en el lado
derecho de la página gráfica.
Creación de la definición del modelo (Model Definition)
Conecte las entradas y salidas de los bloques y de los puntos de suma mediante el icono de la
barra de herramientas gráfica
Creación de la definición del modelo (Model Definition)
Dibuje las señales de entrada y salida del modelo utilizando el mismo icono de señal. Las señales
de entrada se dibujan comenzando en el margen izquierdo de la página, las señales de salida
terminan en el margen derecho de la página gráfica.
Haga clic con el botón derecho → Editar datos... cada bloque en la página gráfica: en el cuadro de
diálogo que aparece, cambie el nombre de los parámetros de acuerdo con los nombres. Las
variables de estado también se pueden renombrar, pero esto no es esencial.
Haga clic derecho → Editar datos... cada señal y cámbiele el nombre de acuerdo con los nombres
en la Figura de referencia
Haga clic derecho → Editar datos... el punto de suma e invierta las entradas correspondientes al
operador "-"
Creación de la definición del modelo (Model Definition)
Inicializar el modelo
Inicializar el modelo
El modelo no se completa hasta que las declaraciones de inicialización se hayan definido e incluido en el
modelo.
La simulación debe comenzar en un punto de operación de estado estable.
PowerFactory inicializa automáticamente los valores de todas las señales que se conocen sin ambigüedades a
partir de la inicialización del flujo de carga. Sin embargo, los valores iniciales de otras señales deben ser
definidos por el usuario.
Las señales Efd y Vt serán inicializadas por PowerFactory en el elemento de máquina síncrona incorporado de
acuerdo con el cálculo del flujo de carga inicial; por tanto, las señales desconocidas a inicializar serán Vref y Vs.
El modelo tiene 5 variables de estado que deben inicializarse (nombradas aquí xr, xi, xd, xa, xe).
El diagrama de bloques de estado estable aplicamos la regla general para reflejar el estado estacionario del
sistema, que es considerar que todas las derivadas son cero, es decir, 𝑑𝑑𝑥𝑥/𝑑𝑑𝑡𝑡 = 0 o 𝑠𝑠 = 0
Inicializar el modelo
las señales desconocidas y las variables de estado se indican en rojo y las señales conocidas se
muestran en azul. Nótese que la señal Vs (señal desconocida) corresponde a la señal de control de un
estabilizador del sistema de potencia, y como tal, sabiendo que un estabilizador del sistema de
potencia no tiene influencia en la operación en régimen permanente, permite inicializar dicha señal Vs
a un valor de cero, ya sea que el modelo correspondiente esté en uso o no.
Del flujo de señal de estado estable que se muestra en la Figura, se puede deducir que:
𝑉𝑉 𝑟𝑟𝑒𝑒𝑓𝑓 − 𝑉𝑉 𝑡𝑡 + 𝑉𝑉 𝑠𝑠 = 0
𝑉𝑉 𝑠𝑠 = 0
𝑉𝑉 𝑟𝑟𝑒𝑒𝑓𝑓 = 𝑉𝑉 𝑡𝑡
Inicializar el modelo
Una vez que se han identificado las condiciones iniciales, deben ingresarse en la definición del
modelo del modelo AVR/excitador:
Haga doble clic en algún lugar en un espacio vacío en la definición del modelo "AVR simplificado"
en construcción para editarlo y vaya a la página "Ecuaciones".
Se necesita un marco compuesto para definir la conexión entre el AVR/Exciter y el generador. Para
mejorar la flexibilidad del marco y permitir la posibilidad de una futura expansión del marco para incluir
un estabilizador del sistema de potencia y/o el reemplazo del AVR por un modelo más detallado, la
corriente de campo debe considerarse como una señal adicional.
El marco comprenderá entonces dos ranuras, una para el AVR/Exciter y otra para el generador. La ranura
para el AVR/excitador tendrá tres señales de entrada: una para el voltaje del terminal del generador, otra
para la corriente de campo del generador y otra para la señal de control del estabilizador del sistema de
potencia. Tendrá una señal de salida para controlar el voltaje de campo del generador. La ranura del
generador tendrá una entrada, el voltaje de campo, y dos salidas, el voltaje de terminal y la corriente de
campo.
Construyendo el Marco Compuesto
Los nombres de las señales que se ingresarán en las ranuras deben coincidir con los nombres locales
de las variables requeridas en el modelo DSL y en el generador. Inspeccionando la lista de variables
del objeto máquina síncrona (nombre de clase ElmSym), los nombres locales de las señales son:
• voltaje de campo: ve
• corriente de campo: ie
• voltaje terminal: ut
Los nombres locales para el modelo AVR/Exciter (nombre de clase ElmDsl) han sido definidos por el
usuario al crear la definición del modelo, por lo tanto:
Ahora conecte las señales utilizando el icono de señal de la barra de herramientas de dibujo. Para
conectar la señal, primero haga clic en la salida de la ranura y luego haga clic en la entrada de la ranura de
destino; observe que las señales de salida se muestran en rojo y las señales de entrada en verde.
Definición del modelo común y compuesto
Definición del modelo común y compuesto
Los elementos de la grilla que representan el controlador del generador serán definidos en el
administrador de datos utilizando el diagrama de bloques y marco construido previamente. No
hay un orden específico en el que se deba crear el modelo compuesto y común. Se recomienda
crear primero el modelo compuesto y usarlo como una carpeta de red para almacenar los
modelos comunes (y eventualmente otros elementos) que se vincularán en él.
Los elementos de la grilla que representan el controlador del generador serán definidos en el
administrador de datos utilizando el diagrama de bloques y marco construido previamente. No
hay un orden específico en el que se deba crear el modelo compuesto y común. Se recomienda
crear primero el modelo compuesto y usarlo como una carpeta de red para almacenar los
modelos comunes (y eventualmente otros elementos) que se vincularán en él.
Abra el administrador de datos y navegue hasta la red activa del proyecto, luego haga clic en
el icono de nuevo objeto y seleccione "Modelo compuesto".
Definición del modelo común y compuesto
Definición del modelo compuesto:
Seleccione la definición de
modelo "AVR simplificado"
creada anteriormente de la
biblioteca de proyectos
"Modelos definidos por el
usuario".
Definición del modelo común y compuesto
Definición del modelo común
Ingrese el nombre
“Controlador de voltaje” para
el modelo común y luego
asigne los siguientes valores a
los parámetros del modelo:
Definición del modelo común y compuesto
Definición del modelo común
Una herramienta muy importante para esto es la opción "Verificar condiciones iniciales" del
comando "Calcular condiciones iniciales": cuando está habilitada, esta opción imprimirá en la
ventana de salida un resumen de errores y advertencias sobre el estado inicial del modelo,
como, por ejemplo:
• El modelo no se puede
inicializar
• Derivada de la variable
de estado distinta de
cero
• Señal de salida no
inicializada
correctamente
Impresión de valores en la ventana de salida