100% encontró este documento útil (1 voto)
173 vistas96 páginas

Curso DSL

El documento presenta una introducción al lenguaje de simulación DIgSILENT (DSL) y su aplicación en la modelación de sistemas eléctricos, incluyendo generación de energía, dispositivos de electrónica de potencia y almacenamiento. Se describen conceptos clave como modelos compuestos, ecuaciones diferenciales y la sintaxis del DSL, así como ejemplos de bloques estándar y funciones especiales. Además, se abordan aspectos de inicialización y condiciones iniciales necesarias para la simulación en PowerFactory.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
173 vistas96 páginas

Curso DSL

El documento presenta una introducción al lenguaje de simulación DIgSILENT (DSL) y su aplicación en la modelación de sistemas eléctricos, incluyendo generación de energía, dispositivos de electrónica de potencia y almacenamiento. Se describen conceptos clave como modelos compuestos, ecuaciones diferenciales y la sintaxis del DSL, así como ejemplos de bloques estándar y funciones especiales. Además, se abordan aspectos de inicialización y condiciones iniciales necesarias para la simulación en PowerFactory.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROGRAMACION DSL DE DIGSILENT POWERFACTORY

Nivel Básico
(Modulo - 3)

Fidel Maik Medina Catay


Introducción

• DIgSILENT Simulation Language (DSL)


• DSL puede ser usado para modelar:
– Modelos de planta de generación convencional y renovable.
– Dispositivos basados en electrónica de potencia (FACTS).
– Sistemas de almacenamiento de energía.
– Relés de protección.

• DSL puede describir:


– Cualquier sistema lineal o no lineal de Ecuaciones Diferenciales.
– Cualquier ecuación aritmética o lógica (Ej. Controladores digitales).
– Cualquier evento (Ej. Apertura de interruptor si x>y).

• Representación de modelos mediante código y/o diagrama de bloques


Composite Elements:
conectando los modelos dinámicos al sistema
de potencia
Modelos Compuestos

Type Element

Principle: Composite Frame Composite Model

Model: Model Definition Common Model


Modelos Compuestos

Common Model

Composite Frame

Composite Model
Model Definition
Modelos Compuestos

• Un composite frame define la interconexion entre diferentes


modelos.
• Un composite frame no especifica ningúncomportamiento
matemático concreto.
• Un composite frame consiste de slots y señales:
– Un slot es definido por entradas y salidas y tipo de modelo, los cuales se
pueden introducir en el slot (Ej. AVR, Governor, etc.)
– Una señal conecta una entrada y una salida
• Un composite frame es un tipo y por ello puede ser reusado.

Un composite frame realiza el principio de la caja negra


Modelos Compuestos

• Un composite model llena un composite frame conmodelos


concretos.
• El type de un composite model es un composite frame.
• Un composite model es un elemento y existe solo una vez en una
red.
Definiciones y conceptos básicos
Ecuaciones diferenciales

• Ecuación diferencial lineal, explícita:

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

• Sistema de ecuaciones diferenciales lineales, explícito:

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

• Ejemplo: Retardo de primer orden


1 • y (s)
x(s) =
1+sT i

x(t) = ( yi (t) − x(t)) / T

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

DSL Workshop, Step Responses PlotIntegrator Date: 10/23/2019


DIgSILENT Annex: /1
Bloques standard

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

DSL Workshop, Step Responses Plot FirstOrderLag Date: 10/23/2019


DIgSILENT Annex: /2

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

DSL Workshop, Step Responses Plot SecondOrderLagReal Date: 10/23/2019


DIgSILENT Annex: /4

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

DSL Workshop, Step Responses Plot SecondOrderLag Date: 10/23/2019


DIgSILENT Annex: /3

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

• Tamaño máximo de una línea es 80 caracteres. Mas largos soninterrumpidos


por el signo ‘&’ en la primera columna.
• Todas las palabras claves, funciones, modelos, macros, etc. son case
sensitive
• Blanks son removidos cuando el código DSL es procesado. Excepción:
blanks se mantienen en strings.
• Comments precedidos con el signo'!'

• Ejemplo:

! comments may start at the beginning of a line

x1. = select(at<>0, ! comments may be used in broken lines

& (1-sqr(x1)/sqr(at))/Tw, 0)

22
Expresiones DSL

• Sintaxis de asignación:
varname = expr asigna expresión 'expr' a variable'varnm'.

varname. = expr asigna expresión ‘expr’ a la primer derivada de la 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=select(bool,ex1,ex2): if(bool) then(ex1) else(ex2)


• - Ex.: y=select(T>0,5*x,0.3*x)

• y=delay(ex,T): Retardo ideal de tiempo (tiempo muerto)


• - Ej.: yo=delay(yi,T)

• y=lim(in,min,max) Limitador

• y=limstate(x,min,max) Limitador de variable deestado


- Ej.: x.=(yi-x)/T
y=limstate(x,min,max)

23
Inicialización del Modelo

24
Cálculo de las condiciones iniciales

• Inicialización del modelo para estado estableque es compatible


con la solución de flujo de carga.

• Que debe ser inicializado?


– Todas la variables de estado
– Todas las señales de entrada que se desconocen desde el
flujo de carga.

25
Cálculo de condiciones iniciales

• Sistema de ecuaciones diferenciales


[x(t)] = f ([x(t)],[ yi (t)])


[yo (t)] = g ([x(t)],[ yi (t)])
• Variables conocidas y desconocidas (Known and Unknown)
variables del cálculo del flujo de carga

[x(t)] = f ([x(t)],[ yiK (t)],[ yiU (t)]) = Θ


[yoK (t)] = g ([x(t)],[ yiK (t)],[ yiU (t)])
[yoU (t)] = g ([x(t)],[ yiK (t)],[ yiU (t)])
NX + NiU = NX +NoK
Número de entradas = Número de salidas
NiU = NoK Desconocidas conocidas
26
Cálculo de condiciones iniciales

upss
u uerrs
Modelo de
usetp excitación del
curex sistema

• u, curex y uerrs conocidas por el flujo de carga


• 1 x salida conocida => 1 entrada desconocida puede ser
inicializada

27
Cálculo de condiciones iniciales

• Resolver las condiciones iniciales partiendo de las entradas y


salidas conocidas.
• Esta do estable (flat start) significa:
– x·= 0
– Equivalente a “la entrada de todos los integradores debe ser igual a
cero”.
– Evaluación de funciones de transferencia en estado estable: s=0

• Ajuste de condiciones iniciales:


– inc(varnm)=expr
– inc0(varnm)=expr

28
Introducción a DSL (lenguaje de simulación DIgSILENT)
Introducción a DSL
requisitos previos

Conocimiento básico de ingeniería eléctrica, sistemas lineales y teoría de control y manejo de


PowerFactory. También es deseable, pero no esencial, una comprensión de la simulación numérica, en
particular los conceptos de representaciones de espacio de estado y soluciones a ecuaciones
algebraicas diferenciales (DAE). Las siguientes referencias son útiles para el lector interesado:

• Modern Control Engineering de K. Ogata

• 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

Principle: Composite Frame Composite Model

Model: Model Definition Common Model


Introducción a DSL
Modelos Compuestos

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

En este sistema, la cantidad de agua que fluye hacia la


tubería forzada es controlada por una compuerta de
control en la bocatoma. El agua de la tubería forzada
fluye a través de la turbina y la hace girar, antes de ser
descargada por el tubo de tiro. La turbina está
acoplada a un generador síncrono, que luego se
conecta a la red. La posición de la compuerta está
controlada por un sistema de gobernador, que trata
de regular la velocidad de la máquina actuando sobre
la toma de fuerza mecánica del generador. También se
conecta un controlador de voltaje al generador, que
controla el voltaje terminal de la máquina mediante la
regulación de la excitación del rotor.
Ejemplo: Sistema de control del generador

Podemos ver en este sistema


estilizado que hay señales de
control (es decir, posición de
puerta, voltaje de excitación),
objetivos de control y
retroalimentación (es decir,
velocidad, voltaje terminal).
Esto se puede resumir
mediante un diagrama de
bloques como:

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.

Primero definamos un controlador de


voltaje como se muestra
Ejemplo: Sistema de control del generador

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

El procedimiento general para crear un modelo dinámico en PowerFactory es el


siguiente:
1. Considerar la estructura del sistema que se va a modelar y cómo se puede
dividir en bloques discretos que se pueden modelar por separado.

2. Crear cada una de las definiciones del modelo y establezca las condiciones
iniciales apropiadas.

3. Construir un marco compuesto que muestre cómo se interconectan las ranuras.

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.

5. Pruebar el modelo completo.


Creación de modelos dinámicos: Objetos de biblioteca

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.

PowerFactory reconoce si la definición de bloque es un marco compuesto o una definición de


modelo basada en el primer bloque o ranura que se dibuja en el diagrama. Si se dibuja un
bloque, el icono de la ranura se desactiva automáticamente para que las ranuras y los bloques
no se mezclen en el mismo diagrama (y viceversa si se dibuja primero una ranura).
Creación de modelos dinámicos: Objetos de biblioteca
Composite Frames

Los marcos compuestos son


diagramas que contienen
ranuras y conectores, que
muestran cómo los
elementos de red y los
modelos comunes deben
conectarse entre sí. Los
marcos compuestos son
puramente gráficos y no
contienen ecuaciones.
Creación de modelos dinámicos: Objetos de biblioteca
Model Definitions

Una definición de modelo constituye la


representación matemática de un
modelo dinámico en forma de
ecuaciones y/o macros gráficas. Una
definición de modelo que contiene solo
ecuaciones se denomina definición de
bloque primitivo, mientras que una
definición de modelo con un diagrama
de bloques gráfico se denomina
definición de bloque compuesto. Tanto
las definiciones de bloques primitivos
como las compuestas se pueden
reutilizar dentro de otras definiciones de
modelos de nivel superior (PowerFactory
admite un número arbitrario de capas).
Creación de modelos dinámicos: Objetos de biblioteca
Model Definitions
Algunas pautas de sintaxis de DSL que se deben tener en cuenta al crear definiciones de modelos:
• Una variable no puede pertenecer a más de un tipo (entrada, salida, parámetro, variable de estado).
• La sintaxis de DSL se basa en asignaciones de variables a expresiones matemáticas.
• Una variable de estado no puede ser de más de un tipo (salida, parámetro, entrada o variable de estado) al mismo
tiempo.
• Las derivadas solo pueden aparecer en el lado izquierdo de las ecuaciones.
• Los bucles algebraicos y la recursividad (p. ej., bucles for y while) no son compatibles con DSL.
• Las declaraciones condicionales (del tipo if-then-else) deben implementarse utilizando la función "select".
• Están disponibles funciones/operadores intrínsecos, lógicos y condicionales.
• La longitud máxima de línea es de 80 caracteres. Las líneas más largas se pueden dividir con el signo "&" en la primera
columna.
• Todas las palabras clave, nombres, funciones, variables, modelos, macros, etc. distinguen entre mayúsculas y
minúsculas.
• No se admiten operaciones con números complejos ni con matrices.
• Los espacios en blanco se eliminan cuando se procesa el código DSL. Excepción: se mantienen los espacios en blanco
en las cadenas.
• La secuencia de líneas no es relevante. El orden de ejecución de las instrucciones se ordena automáticamente.
• Los comentarios se pueden hacer precedidos de “!”.
Creación de modelos dinámicos: Objetos de la red
Composite Models
Un modelo compuesto es un objeto de red que representa un sistema dinámico (por ejemplo,
un generador con motor principal y control de voltaje). Un modelo compuesto hace referencia a
un marco compuesto y hereda su estructura (es decir, las interconexiones entre los
componentes del sistema). Los componentes relevantes del sistema, p. los elementos de red, los
modelos comunes, los dispositivos de medición, etc. se asignan a las ranuras correspondientes
en el modelo compuesto.

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

Un modelo común es un objeto de red


que representa una instancia de una
definición de modelo. Un modelo
común hereda la estructura de la
definición del modelo vinculado y
tiene su propia configuración de
parámetros locales.

Los modelos comunes se crean desde el


administrador de datos. Una vez que se
ha seleccionado una definición de
modelo, se pueden ingresar los
parámetros del modelo común
Inicialización del modelo
Inicialización del modelo

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:

• Todas las variables de estado


• Todas las señales de entrada (y salida) desconocidas

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.

El proceso de inicialización comienza en el elemento generador síncrono, un elemento de red


con un modelo incorporado. Las señales (pt y velocidad) se calculan automáticamente en función
de la solución de flujo de carga de estado estable y son conocidas.

El bloque de turbina es el siguiente bloque inicializado. La señal de salida pt se conoce del


elemento generador, pero la señal de entrada g es desconocida y debe inicializarse
manualmente. La señal de entrada g debe inicializarse de manera que las ecuaciones del modelo
produzcan pt en la salida.
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

Usando el ejemplo de la sección anterior como referencia, podemos articular un procedimiento


general para calcular las condiciones iniciales para un bloque compuesto:

1. Considerar el marco en el que se encuentra el bloque compuesto y cómo se conectará a


otras ranuras.
2. Determinar qué señales (y variables) son conocidas y desconocidas. Esto continúa desde
el paso uno: una vez que se conocen las relaciones de señal de la ranura en el contexto
del marco, podemos identificar a) las señales que se conocerán a partir de una
inicialización del flujo de carga, yb) las señales que necesitamos inicializar
manualmente.
3. Construya una representación de estado estable del diagrama de bloques. Establezca
todas las derivadas en cero y vuelva a dibujar el bloque para mostrar su configuración
de estado estacionario.
4. Calcular las señales (y variables) desconocidas a partir de las cantidades conocidas.
Construcción de un modelo definido por el
usuario
En esta parte se presenta un ejercicio práctico, en el que se explica paso a paso el procedimiento
para crear un controlador dinámico e integrarlo en un modelo de red. El controlador dinámico se
creará usando macros existentes de la biblioteca global de PowerFactory.
Importar proyecto

• importar y activar el proyecto ‘User Defined Model.pfd’ para este ejercicio.


• Mirar la red, ejecutar un flujo de carga y verificar que se ejecuta sin errores.
Importar proyecto

El objetivo del ejercicio es construir un regulador de voltaje automático (AVR) y un modelo de


excitador para el generador G1. También se creará un marco compuesto para establecer las
conexiones entre el modelo dinámico y el generador. Los elementos de la red activa (marco
compuesto y modelo común) se crearán para integrar el modelo del regulador al generador.
También veremos en detalle cómo se realiza la inicialización de los modelos.
Importar proyecto

La estructura del modelo AVR/excitador se presenta en forma de diagrama de bloques, como se


muestra en la Figura, donde la señal controlada es el voltaje terminal del generador Vt y la señal
de control es el voltaje de campo del generador Efd. La descripción del controlador indica que Vs
es la señal de control de un estabilizador opcional del sistema de potencia.
Importar proyecto

La estructura del modelo AVR/excitador se presenta en forma de diagrama de bloques, como se


muestra en la Figura, donde la señal controlada es el voltaje terminal del generador Vt y la señal
de control es el voltaje de campo del generador Efd. La descripción del controlador indica que Vs
es la señal de control de un estabilizador opcional del sistema de potencia.
Creación de la definición del modelo (Model
Definition)
Creación de la definición del modelo (Model Definition)

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.

Cree una nueva página


utilizando el icono “Create
New Page”, asigne un nombre
a la nueva página ("AVR
simplificado") y seleccione la
opción Diagrama de
bloque/marco.
Creación de la definición del modelo (Model Definition)

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.

Todas las funciones de transferencia


requeridas están disponibles como
macros en la biblioteca global de
PowerFactory. Abra el Administrador de
datos y vaya a Biblioteca DIgSILENT →
Modelos dinámicos → Macros, busque
dentro de las diferentes subcarpetas las
macros requeridas.
Creación de la definición del modelo (Model Definition)

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.

Para insertar una macro de la biblioteca


en la página gráfica de definición del
modelo, asegúrese de que la opción
Arrastrar y soltar (Drag&Drop) en la
parte inferior del Administrador de datos
esté habilitada (no atenuada); luego
seleccione la macro deseada y arrástrela
y suéltela en la página gráfica. Repita
para todas las macros.
Creación de la definición del modelo (Model Definition)

Reubicar los macrobloques de acuerdo con el diseño

integrador

Filtro Pasa bajo Controlador PID Ganancia Filtro Pasa bajo

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

Cuando la derivada igual a cero


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".

Escriba las asignaciones para las


condiciones iniciales obtenidas
usando la instrucción inc(varname) =
expresión como se muestra en la
Figura
Construyendo el Marco Compuesto
(Composite Frame)
Construyendo el Marco Compuesto

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:

• voltaje terminal del generador: Vt


• señal de control del estabilizador: Vs
• voltaje de campo: Efd
Construyendo el Marco Compuesto

Para la señal de "reserva" correspondiente a la entrada de corriente de campo del generador, se


puede usar el nombre predeterminado Ifd. Con todo, el marco se verá como se muestra en la Figura
Construyendo el Marco Compuesto

Para definir el diagrama de marco compuesto procederemos de la siguiente manera:

Cree una nueva página utilizando el icono


que se encuentra en la pestaña de página
de la ventana gráfica, asigne un nombre a
la nueva página ("Generator Control
Frame") y seleccione la opción
Block/Frame Diagram.
Construyendo el Marco Compuesto
Para definir el diagrama de marco compuesto procederemos de la siguiente manera:

inserte dos espacios en la página recién


creada utilizando el icono de espacio ubicado
en la barra de herramientas de dibujo. Para
eso, seleccione , luego muévase a la ventana
gráfica vacía y haga clic derecho para insertar
una ranura, repita para agregar la segunda
ranura. Las ranuras se pueden mover y
reorganizar después de colocarlas para
organizar mejor el diagrama (haga clic sobre
una de ellas y arrástrela a la posición
deseada en la página) como se muestra en la
Figura
Construyendo el Marco Compuesto
Para definir el diagrama de marco compuesto procederemos de la siguiente manera:

Edite cada espacio e ingrese el


nombre del espacio. Defina los
nombres locales de las señales de
entrada y salida para cada ranura y,
opcionalmente, el nombre de clase
en el campo Filtro para → Nombre
de clase, como se resume en la tabla
a continuación.
Construyendo el Marco Compuesto
Para definir el diagrama de marco compuesto procederemos de la siguiente manera:

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.

Definición del modelo compuesto:


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

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.

Definición del modelo compuesto:

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:

En la ventana de diálogo, ingrese un nombre de modelo compuesto "Controles G1", usando el


icono elija "Seleccionar tipo de proyecto", luego navegue a la biblioteca de proyectos "Modelos
definidos por el usuario" y seleccione el diagrama de marco (" Generator Control Frame ") creado
en los pasos anteriores.

Acabamos de crear el modelo


compuesto que muestra ahora las
diferentes ranuras donde más
tarde se unirán los elementos de
control; para eso, primero se
tiene que definir el modelo
común AVR.
Definición del modelo común y compuesto
Definición del modelo común

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 común".
Definición del modelo común y compuesto
Definición del modelo común

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

El paso final que aún tenemos que hacer es


vincular todos los elementos en el modelo
compuesto:
• Abra el administrador de datos y ubique
dentro de la grilla activa el modelo
compuesto “G1 Controls”. Editarlo.
• Haga doble clic en el campo "Elementos
netos" del Generador correspondiente y
seleccione el elemento de cuadrícula
"G1".
• Haga doble clic en el campo "Elementos
netos" del Control de voltaje
correspondiente y seleccione el "AVR
simplificado"modelo común.
Verificación de inicialización
Verificación de inicializació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

Ejecute el comando "Calcular condiciones iniciales"

Defina una selección variable


para el objeto de modelo
común de DSL ("Controlador
de voltaje"). Desde el cuadro
de diálogo de selección de
variables, seleccione las
siguientes señales y variables:
s:Vref; s: vs; s:Vt; s:Efd; c:Vc;
c:yi; c: Va; c: Vr.
Gracias

También podría gustarte