Sunteți pe pagina 1din 56

Curso DIgSILENT

Power Factory v14

MÓDULO 5 SANTIAGO, Abril de 2012


DSL (DIgSILENT Simulation Language)

Alejandro Musto
musto@estudios-electricos.com
www.estudios-electricos.com
M5: DSL

Temática y Objetivos

Objetivos
 Introducir el concepto del lenguaje DSL

 Definir estructura de trabajo

 Presentar casos de Estudio

Temas principales
 Frames, Models, Macros

 Funciones estándares/especiales

 Diseño de un sistema simple de control


M5: DSL

Características Generales
DATOS DE INTERÉS

Es un lenguaje propio de programación que permite representar


matemáticamente, el comportamiento de un sistema LINEAL o NO LINEAL,
de forma continua en función del tiempo.

 Se pueden representar:
→ ecuaciones diferenciales del sistema, lineales o no lineales
→ expresiones lógicas o algebraicas
→ eventos específicos, como aperturas de interruptor, desconexiones
de carga, etc.

 Puede emplearse para:


→ escribir un programa DSL
→ dibujar un diagrama de bloques
→ combinación de ambos
M5: DSL

Características Generales
ESTRUCTURA

información de fabricante...

Estándar o no
M5: DSL

Características Generales
ESTRUCTURA
en DIgSILENT...

Macros

DB en DSL

Model Definition

Parámetros Common
en DSL Model
M5: DSL

Características Generales
ESTRUCTURA

Mediciones

Limitadores
OEL, UEL, V/Hz
Estabilizador
PSS

AVR EXCITER GENERADOR SISTEMA


Ref

TURBINA

El AVR informado por el fabricante está Mediciones


contenido dentro de un sistema de
control, cuya complejidad dependerá GOV
de la unidad o equipo involucrado
Ref
M5: DSL

Características Generales
ESTRUCTURA

Mediciones en DIgSILENT...
Limitadores
OEL, UEL, V/Hz
Estabilizador
PSS

AVR EXCITER GENERADOR SISTEMA


Ref

TURBINA

Mediciones
GOV

Ref

SLOT

Composite
model
Composite frame
M5: DSL

Características Generales
ESTRUCTURA

ELEMENTO TIPO

Composite Model Composite Frame

Common Model Model Definition


ELEMENTO TIPO

Common
Se crean desde MODEL
Model
“Library” DEFINITION
macro 1
Se crean desde parámetro 1
macro 2
“Network Data” parámetro 2

...
macro n
Parámetro m

Elemento de RED
(gen, load, line) Composite FRAME
Model slot A
slot A
M5: DSL

Características Generales
EJERCICIO M5.1:VISUALIZACIÓN DE ELEMENTOS

 Importar el Proyecto: “EjercicioM51.pfd”

 Observar TIPOS disponibles


 frame
 modelo

 Observar MODELOS disponibles


en el proyecto
 composite model
 common model

 Observar MODELOS disponibles


en la Biblioteca Global
M5: DSL

Sistemas de Excitación
M5: DSL

Sistemas de Excitación
TIPO AC
M5: DSL

Sistemas de Excitación
TIPO AC
M5: DSL

Sistemas de Excitación
TIPO AC
M5: DSL

Sistemas de Excitación
TIPO AC
M5: DSL

Sistemas de Excitación
TIPO AC
M5: DSL

Sistemas de Excitación
ESTÁTICA
M5: DSL

Sistemas de Excitación
ESTÁTICA
M5: DSL

Sistemas de Excitación
ESTÁTICA
M5: DSL

Sistemas de Excitación
EVALUACIÓN DEL DESEMPEÑO
M5: DSL

Sistemas de Excitación
LIMITADORES
M5: DSL

Sistemas de Excitación
EJEMPLO: OEL
M5: DSL

Sistema de control de velocidad


M5: DSL

Control de Velocidad
CONCEPTOS BÁSICOS
M5: DSL

Control de Velocidad
CONCEPTOS BÁSICOS

Concepto básico de la regulación de frecuencia

El regulador
modula la
posición de
válvulas o
compuertas
de acuerdo
con el error
de velocidad
Generador alimentando una carga “aislada”
M5: DSL

Control de Velocidad
CONCEPTOS BÁSICOS

Control de velocidad constante - Esquema

Fuente de
energía
. Vapor
. Agua
. Gas

Controlador
de velocidad --------->

Se mide la velocidad y se compara con una referencia, el error se integra de


manera de mantenerlo igual a cero en régimen permanente.
M5: DSL

Control de Velocidad
CONCEPTOS BÁSICOS

Control de potencia/velocidad (Estatismo)- Esquema


Fuente de
energía
. Vapor
. Agua
. Gas

Controlador
de velocidad ->

Se cuenta con una realimentación de la posición de las válvulas


que afecta al error de velocidad. El coeficiente de realimentación es
el estatismo R.
M5: DSL

Control de Velocidad
CONCEPTO DE ESTATISMO

Un generador

Interacción entre dos generadores


M5: DSL

Block Definition
M5: DSL

Block Definition
ESQUEMA GENERAL

SLOT

BLOQUES
frame

DIBUJOS
M5: DSL

Block Definition
ESQUEMA GENERAL

frame

model

macro
M5: DSL

Block Definition
FRAME

Permite un filtrado rápido


para la asignación del SLOT

Slot update

Define las entradas y salidas que


tendrá como máximo el Slot
M5: DSL

Block Definition
MODEL

Pueden ser internas


y no estar definidas
en el slot

Entradas
Salidas

Relacionadas
por nombre
Relacionadas
en el slot
por nombre
macro en el slot
M5: DSL

Block Definition
MACRO

→ Frecuencia compleja: s=σ+ j ω

→ Ecuaciones diferenciales: dx → sx
dt
K
→ Ejemplo. filtro de primer orden: yo(s)= ⋅yi ( s)
1+Ts

Implementaciones
Ganancia a la entrada Ganancia a la salida
K × ( yi−x ) yi−x
ẋ = ẋ = ecuaciones de estado
T T
yo = x yo = K × x ecuaciones de salida
M5: DSL

Block Definition
EJERCICIO M5.2: CREACIÓN DE FRAME

 Sobre el proyecto “EjercicioM51”, dentro de la sub-biblioteca “FRAMES” crear un


BLOCK DEFINITION:
 “frame GEN-AVR”

 Crear 2 SLOTS
 GEN (inputs: ve ; outputs: ut)
 AVR (inputs: u, upss, voel, vuel ; outputs: uerrs)

 Vincular: ut → u ; uerrs → ve

 Crear un Composite para el generador Gnew

 Asignar el frame recién creado


Macros → Modelos
M5: DSL

Macros
BLOQUES TÍPICOS

Proporcional

Temporal
yo(t) = Kp * yi(t)

Laplace
yo(s) = Kp * yi(s)

DSL
M5: DSL

Macros
BLOQUES TÍPICOS

Integrador

estado: x
Temporal
yo(t) = Ki ∫yi(t)dt

Laplace
yo(s) = Ki/s * yi(s)

DSL
M5: DSL

Macros
BLOQUES TÍPICOS

Retardo de primer orden


PT1

estado: x
Temporal
si T=0
yo(t) = yi(t)
sino
yo(t) = 1/T∫(yi(t)-x)dt

Laplace
Si T=0
yo(s) = yi(s)
sino
yo(s) = 1/(1+sT)* yi(s)

DSL
M5: DSL

Macros
BLOQUES TÍPICOS

Proporcional-Integral
PI

estado: x
Temporal
yo(t) = Kp*yi(t) +Ki*∫yi(t)dt

Laplace
yo(s) = (Kp+Ki/s)*yi(t)

DSL
M5: DSL

Macros
BLOQUES TÍPICOS

Integrador con límites wind up

estado: x

Temporal
yo(t) = ∫(yi(t)dt
si yo(t) > max → yo(t)=max

si yo(t) < min → yo(t)=min

DSL
M5: DSL

Macros
BLOQUES TÍPICOS

Integrador con límites anti wind up

estado: x
Temporal
yo(t) = ∫(yi(t)dt
Si yo(t) > max → dx/dt = 0
yo(t)=max
Si yo(t) < min → dx/dt = 0
yo(t)=min

DSL

Formas equivalentes
M5: DSL

Macros
FUNCIONES

Funciones estándar

FUNCIÓN DESCRIPCIÓN FUNCIÓN DESCRIPCIÓN


sin(x) Seno abs(x) Valor absoluto
cos(x) Coseno min(x,y) Valor mínimo
tan(x) Tangente max(x,y) Valor máximo
asin(x) Arcoseno modulo(x,y) Resto de x/y
acos(x) Arcocoseno sqrt(x) Raíz cuadrada de x
atan(x) Arcotangente sqr(x) x al cuadrado
sinh(x) Seno hiperbóico pow(x,y) x2
cosh(x) Coseno hiperbólico trunc(x) xy
tanh(x) Tangente hiperbólica frac(x) Parte fraccionaria de x
exp(x) Exponencial round(x) Entero mas cercano a x
ln(x) Logaritmo natural ceil(x) Menor entero mayor a x
log(x) Logaritmo base 10 floor(x) Mayor entero menor a x
M5: DSL

Macros
FUNCIONES

Funciones especiales
→ y = select(bool, exp1,exp2) → y = flipflop(boolset, boolreset)
Si (bool) entonces (exp1) sino (exp2) La salida cambia de 0 a 1 si boolset=1 y boolreset=0
Ej: y = select(T>0, 5*x, 0.3*x) La salida cambia de 1 a 0 si boolset=0 y boolreset=1
Permanece inalterado en otra situación
Ej: yo = flipflop(yi>1,yi<0.5)
→ y = delay(exp, T) : Retardo temporal
Ej: yo = delay(yi,T)

→ time() : tiempo actual de simulación


Ej: yo = sin(time())

→ y = lim(in, min, max) : Limitador


Ej: yo = lim(yi, -1, 1)

→ y = limstate(in, min, max) : Integrador con límites anti-windup


Ej: x. = (yi-x)/T
yo = limstate(x, -1, 1)

→ y = picdro(bool, Tpick, Tdrop) : Función lógica útil para relés


La salida cambia de 0 a 1 si bool=1 durante al menos Tpick segundos
La salida cambia de 1 a 0 si bool=0 durante al menos Tdrop segundos
Permanece inalterado en otra situación
Ej: yo = picdro(yi>0,5,2)
M5: DSL

Modelos
INICIALIZACIÓN

¿Qué debe ser inicializado? “conocida”significa


“conocida” significaconectada
conectada
aaun
unmodelo
modelopropio
propiodede
 todas las variables de estado PowerFactoryuuotro otroDSL,
DSL,elel
PowerFactory
 todas las señales de entrada desconocidas cualinicializa
cual inicializalalaseñal
señal

 todas las señales de salida desconocidas


u
 u, curex, uerrs son conocidas porque
usetp uerrs
son calculadas por el modelo del
generador

curex
 usetp no es conocida entonces debe
ser inicializada por el “Excitation
System Model”

entrada desconocida
Variables de estado
M5: DSL

Modelos
INICIALIZACIÓN

Resumen de procedimiento
1- Considerar cómo el DSL será conectado a otros modelos

2- Determinar cuales son las señales conocidas y desconocidas

3- Escribir las ecuaciones considerando operación en régimen estacionario

 Régimen estacionario significa:


- entradas de los integradores (generalmente) igual a cero
- en funciones transferencia s=0

 Sintaxis para asignación directa de las condiciones iniciales:


- inc(variable) = expr
- inc0(variable) = expr (usado para inicializar una entrada o salida sin conectar)

 funciones para asignación iterativa de las condiciones iniciales:


- loopinc(varnm, min, max, step, eps)
- intervalinc(varnm, min, max, iter, eps)
- newtoninc(initexpr, start, iter, eps)
M5: DSL

Modelos
EJERCICIO M5.3: CREACIÓN DE AVR

 Importar el proyecto “EjercicioM53”, y dentro de la sub-biblioteca “MODELOS”,


crear un BLOCK DEFINITION:
 “vco_Simple”

 Crear 3 Block Reference con los tipos:


 PT1 con ganancia unitaria

 lead-lag

 PT1 con ganancia y limites anti-windup

 Inicializar:
 las tres variables de estado

 la entrada usetp (referencia de tensión)

 Crear un Common Model que haga referencia al modelo creado y asignarle


valores apropiados
M5: DSL

Modelos
EJERCICIO M5.3
Inicialización
vco_Simple: modelo simple de AVR

Vrmax

0
u 1/(1+sT) - (1+sTc)/(1+sTb) K/(1+sT) uerrs
Tr Tc,Tb Ka,Ta

Vrmin
xr xb xa

usetp
1
M5: DSL

Modelos
DEFINICIÓN DE VARIABLES

Vista del Common Model

Para documentar de manera apropiada el modelo, es conveniente


describir cada uno de los parámetros que incluye:
Sintaxis: vardef(var) = unidad;descripción
M5: DSL

Modelos
EJERCICIO M5.4: DEFINICIÓN DE VARIABLES

 Sobre el proyecto “EjercicioM53”, agregar los vardef correspondientes al


 “vco_Simple”

Common Model

Model Definition
M5: DSL

Modelos
EJERCICIO M5.4: PRUEBA DEL AVR

 Sobre el ejercicio anterior, probar el AVR en vacíio


 Simular 10 segundos
 Verificar respuesta según cumplimiento NTSyCS
SV < 15% 1,0625 2,80

TC < 400ms
TE < 1,5s 1,0500
Y = 1,050 p.u.

2,40

1,0375

2,00

1,0250

1,60

1,0125

1,20
1,0000

0,9875 0,80
0,0000 1,0000 2,0000 3,0000 4,0000 [s] 5,0000 0,0000 1,0000 2,0000 3,0000 4,0000 [s] 5,0000
Gnew: Terminal Voltage in p.u. Gnew: Excitation Voltage in p.u.
M5: DSL

Esquemas de desconexión
M5: DSL

Esquemas de desconexión
EJERCICIO M5.5: FUNCIONES ESPECIALES

 Crear un Frame con 3 Slots


 Slot Carga (ElmLod), sin entradas y salidas
 Slot Barra (ElmTerm*), con “u” como salida
 Slot Rele (ElmDsl*), con “u” como entrada

frame - EDAC:

Frame EDAC
Carga
ElmLod*

u
Barra Rele
* ElmDsl*
M5: DSL

Esquemas de desconexión
EJERCICIO M5.5: FUNCIONES ESPECIALES

 Crear un Model Definition con 3 Macros


 Vincularlos como indica la figura

Modelo EDAC
EDAC:

u urel_subT outBT
Utrig_BT,t_BT

0
fa u ltt o ut
tswitch
1

urel_SobreT outST
Utrig_ST,t_ST
M5: DSL

Esquemas de desconexión
EJERCICIO M5.5: FUNCIONES ESPECIALES

 Crear un nuevo study case partiendo del caso “3. PRUEBA AVR”

 Crear nuevo escenario y expansión

 Incorporar una carga en terminales del generador

 Crear un Composite y un Modelo, que empleen como


tipo los modelos antes desarrollados.
M5: DSL

Esquemas de desconexión
EJERCICIO M5.5: FUNCIONES ESPECIALES

 Simular un escalón de 7% en la referencia de tensión


del AVR. Analizar los resultados.
FIN DEL MÓDULO 5

Gracias...

S-ar putea să vă placă și