Manual Dsl
Short Description
Descripción: DSL...
Description
MANUAL DSL Se procederá a la instalación de un AVR (control de tensión) en el generador “PP1_G1” del tutorial 7 haciendo uso del lenguaje DSL del software Digsilent Power Factory. Una vez abierto el DIgSILENT, nos dirigimos a abrir el tutorial 7 terminado, como se muestra en la imagen:
Nos mostrara entonces el siguiente gráfico, notar que el “GRID” está conformado por 2 partes, a lo cual usaremos la parte 2 del tutorial 7:
NOTA: En el tutorial 7, simplemente lo que se hizo fue jalar estos AVR, PCU y VCO ya preestablecidos, en este manual nosotros crearemos nuestro propio modelo. Si habéis hecho el tutorial 7 notaras que ya se agregaron un AVR, PCU y VCO para fines de este manual tendremos que eliminar el “Composite Model” de estos generadores. Puedes tanto eliminar el “Composite Model” como también podemos editarlos en ellos mismos. Como se puede apreciar en el grafico el generador PP1_G1 ya tiene implementado el AVR como el PCU y VCO. Presione la flechita y podrá notarlo.
Para eliminar nos dirigimos al DATA MANAGER Buscamos “Plant_PP1_G1” Hacemos Antilclick---DELETE Vuelva a ingresar al generador y notara vacio, ahora si podemos proceder con nuestra guía.
1.- Macros La implementación requiere contar con la disponibilidad inmediata de los macros que se van a utilizar, el software ya incluye una librería propia denominada GLOBAL, la cual contiene muchos modelos y macros ya elaborados, sin embargo debido a la utilidad y exigencias particulares de cada simulación, se requiere de una librería con macros flexibles, a lo que la librería GLOBAL no satisface.
Nota: La librería GLOBAL, contiene macros y modelos que no permiten la modificación por escritura, están en modo SOLO LECTURA. Para superar este inconveniente creamos una librería propia de la siguiente manera: Abrimos el Administrador de Datos Desplegamos el contenido de nuestro proyecto haciéndole click izquierdo “Library” “User Defined Models” Click derecho en “User Defined Models” Nuevo Carpeta
Aparece un cuadro de diálogo de edición e ingresamos: o Nombre: “A1_Libreria_DSL” o Tipo de Carpeta: “Biblioteca”
Quedará de la siguiente manera:
Para crear nuevos macros en nuestra librería se contará con los siguientes 3 pasos repetitivos para cada macro que deseamos añadir: Clic derecho en la librería creada Nuevo Diagrama de Bloques/Macros
A continuación aparece un cuadro de diálogo de edición denominado “Definición de Bloque” (.BlkDef), los datos que ingresaremos dependen del tipo de macro que se especifica.
1.1.- Macro: Parámetro K Datos básicos Nombre: “cteK” Variables Señales de salida: “yo” Señales de entrada: “yi” Parámetros: “K”
Equations Ecuaciones Adicionales: yo=K*yi
1.2.- Macro: 1/(1+sT) Datos básicos Nombre: “1/(1+sT)_m” Variables Señales de salida: “yo” Señales de entrada: “yi” Variables de Estado: “x” Parámetros: “T”
Equations Ecuaciones Adicionales: limits(T)=(0,] x.=(yi-x)/T yo=x
1.3.- Macro: 1/(K+sT) Datos básicos Nombre: “1/(K+sT)_m” Variables Señales de salida: “yo” Señales de entrada: “yi” Variables de Estado: “x” Parámetros: “K,T”
Equations Ecuaciones Adicionales: limits(T)=(0,] x.=(yi-K*x)/T yo=x
1.4.- Macro: K/(1+sT) Datos básicos Nombre: “K/(1+sT)_m” Variables Señales de salida: “yo” Señales de entrada: “yi” Variables de Estado: “x” Parámetros: “K,T”
Equations Ecuaciones Adicionales: limits(T)=(0,] x.=select(T>0,(K*yi-x)/T,0) yo=select(T>0,x,K*yi)
1.5.- Macro: sK/(1+sT) Datos básicos Nombre: “sK/(1+sT)_m” Variables Señales de salida: “yo” Señales de entrada: “yi” Variables de Estado: “x” Parámetros: “K,T” Variables Internas: “dx”
Equations Ecuaciones Adicionales: limits(T)=(0,] dx=(yi-x)/T x.=dx yo=K*dx
1.6.- Macro: limiter Limitación Superior Parámetro Limitante: “y_max” Limitación Inferior Parámetro Limitante: “y_min” Datos básicos Nombre: “limiter” Variables Señales de salida: “yo” Señales de entrada: “yi”
Equations Ecuaciones Adicionales: yo=lim(yi,y_min,y_max)
Entonces la librería queda implementada para nuestra simulación:
NOTA: Como se ve en el grafico siguiente se crearon también varias ventanas las cuales son de nuestros bloques creados, eliminarlos ya que no las utilizaremos: CTRL+CLICK (Seleccionamos los bloques). Una vez seleccionados (Eliminamos las ventanas) ver gráfico.
2.- Diagrama de bloques El siguiente paso es armar el diagrama de bloque que corresponde al AVR: Icono “Insertar Nueva Gráfica” (
Nombre: “AVR” Nuevo Diagrama de Bloques/Ensambles
Ejecutar
)
Hay que tener en cuenta que a partir de esta última ventana se puede armar un DIAGRAMA DE BLOQUES como también se podría armar un FRAME, lo que se verá más adelante. El ícono “Referencia de Bloque” se usa para armar los DIAGRAMAS DE BLOQUE. El ícono “Slot” se usa para armar los FRAMEs. Arrastrando el ícono “Referencia de Bloque” armamos una disposición de los bloques, luego adicionamos los puntos sumas, ícono “Punto de Suma”:
Ahora enlazaremos cada referencia de bloque con su respectivo macro: 2.1.- Bloque: Filtro de entrada Click derecho sobre el primer bloque y seleccionar “Editar Datos” Editar Datos
Aparece el cuadro de diálogo de edición “Referencia de Bloque” (.BlkRef) en el cual modificamos: Nombre: “Filtro_entrada” Tipo Icono Seleccionar Tipo del Proyecto
Aparece una ventana parecida al Administrador de Datos en el que buscamos la ubicación del macro “1/(1+sT)_m” ya creado en “A1_Libreria_DSL”, lo seleccionamos y pulsamos “OK”
Variables Parámetros: “TR” Variables de Estado: “xf1” Quedando de la siguiente manera:
OK De la misma manera se procede para los demás bloques 2.2.- Bloque: Regulador Nombre: “Regulador” Tipo Icono Seleccionar Tipo del Proyecto Buscamos la ubicación del macro “K/(1+sT)_m” ya creado en “A1_Libreria_DSL”, lo seleccionamos y pulsamos “OK” Variables Parámetros: “KA,TA” Variables de Estado: “xr” Quedando de la siguiente manera:
OK 2.3.- Bloque: Limitador Nombre: “Limitador” Tipo Icono Seleccionar Tipo del Proyecto Buscamos la ubicación del macro “limiter” ya creado en “A1_Libreria_DSL”, lo seleccionamos y pulsamos “OK” Parámetro Limitante Limitación Superior: “VRMAX” Limitación Inferior: “VRMIN” Quedando de la siguiente manera:
2.4.- Bloque: Sistema de Excitación Nombre: “Sist_excitacion” Tipo Icono Seleccionar Tipo del Proyecto Buscamos la ubicación del macro “1/(K+sT)_m” ya creado en “A1_Libreria_DSL”, lo seleccionamos y pulsamos “OK” Variables Parámetros: “KE,TE” Variables de Estado: “xe” Quedando de la siguiente manera:
2.5.- Bloque: Saturación Nombre: “Saturación” Tipo Icono Seleccionar Tipo del Proyecto Buscamos la ubicación del macro “cteK” ya creado en “A1_Libreria_DSL”, lo seleccionamos y pulsamos “OK” Variables Parámetros: “SE” Quedando de la siguiente manera:
2.6.- Bloque: Estabilizador del regulador Nombre: “Est_reg” Tipo Icono Seleccionar Tipo del Proyecto Buscamos la ubicación del macro “sK/(1+sT)_m” ya creado en “A1_Libreria_DSL”, lo seleccionamos y pulsamos “OK” Variables Parámetros: “KF,TF” Variables de Estado: “xf” Variables internas: “dxf” Quedando de la siguiente manera:
La esquela del AVR tiene ahora la siguiente apariencia:
Los puntos de color verde muestran la entrada de cada bloque y los puntos rojos muestran las salidas de las mismas. Debido a la disposición de las señales se hace una rotación a los bloques de “Saturación” y “Estabilizador del regulador”. Para cada uno de estos dos bloques: Click derecho Lazo de entrada
Derecha
Repitiendo para el otro bloque, queda el conjunto de la siguiente manera:
El siguiente paso será hacer las conexiones haciendo uso del ícono “Señal”, el sentido de conexión es partiendo de un punto de salida hacia un punto de entrada o en sus variantes.
Damos nombre apropiado a cada señal Click derecho sobre la señal Editar Datos Ingresamos el nombre de las señales de acuerdo al modelo
Para terminar esta parte damos el signo menos en algunos puntos suma: Click derecho sobre el punto suma Seleccionar con Check la entrada adecuada que lo volverá negativo
Una vez terminado esto resulta:
3.- Condiciones Iniciales Una parte muy importante es el cálculo de las condiciones iniciales de las variables de estado que contenga el diagrama de bloques elaborado. Haciendo doble click en el marco de nuestro diagrama de bloques tenemos: Que debe ser inicializado? –
Todas la variables de estado
–
Todas las señales de entrada que se desconocen desde el flujo de carga.
• Resolver las condiciones iniciales partiendo de las entradas y salidas conocidas. • Estado 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: set s=0 • Ajuste de condiciones iniciales: – inc(varnm)=expr – inc0(varnm)=expr
Notamos que contamos con cuatro variables de estado para este diagrama:
xf1 xr xe xf
Nota: Al no inicializar las variables de estado, simplemente el modelo manda error y no corre la simulación.
INSERTAR LAS CONDICIONES INICIALES: Las condiciones iniciales de las variables de estado y las entradas/salidas (input/output) pueden ser definidas. inc(vref)=u inc(upss)=0 inc(xf1)=0 inc(xe)=ve inc(xf)=ve inc(xr)=xe*KE+o15 inc0(u)=1 inc0(ve)=1 DEFINIR NOMBRE DE VARIABLES: Use eL siguiente comando:
vardef(TR)
='s';'Constante de tiempo del filtro de entrada de regulación'
vardef(KE)
='s';'Constante del excitador relacionada al campo autoexcitado '
vardef(KF)
='pu';'Ganancia del circuito estabilizador del regulador'
vardef(KA)
='pu';'Ganancia del regulador'
vardef(TE)
='s';'Constante de tiempo de la excitación'
vardef(TF)
='s';'Constante de tiempo del circuito estabilizador del regulador'
vardef(TA)
='s';'Constante de tiempo del regulador'
vardef(SE)
='pu';'Función de saturación del regulador'
vardef(VRMIN) ='pu';'Valor mínimo de salida del bloque regulador' vardef(VRMAX) ='pu';'Valor maximo de salida del bloque regulador'
La forma de verificar que todo lo anterior hecho es:
2
1
Lo cual debe de salir este mensaje: (Indica que todo esta OK)
4.- Modelo General (.ElmDsl) El modelo general invoca el modelo que ha sido desarrollado en diagrama de bloque y por medio de este modelo general se puede editar los valores de los parámetros. Para crear este objeto abrimos el Administrador de Datos y seguimos los siguientes pasos: Ubicamos nuestro diagrama de bloques y lo seleccionamos con un click Click en el ícono “Nuevo Objeto”
Seleccionar casilla “Common Model”
OK Aparece una nueva ventana en la que editamos: Nombre: “AVR_dsl”
Definición de modelo: Click ícono Seleccionar Tipo del Proyecto
Buscamos la ubicación del diagrama de bloques “AVR” ya creado, lo seleccionamos y pulsamos “OK”
Nos aparece una ventana en la cual se muestran los parámetros creados en nuestro modelo y le asignamos valores de acuerdo a la siguiente tabla: Parámetro Descripción Valor Constante de tiempo del filtro de entrada de regulación (s) 0.015 TR Constante del excitador relacionada al campo autoexcitado (s) 1 KE Ganancia del circuito estabilizador del regulador (p.u.) 0.4 KF Ganancia del regulador (p.u.) 250 KA Constante de tiempo de la excitación (s) 0.98 TE Constante de tiempo del circuito estabilizador del regulador (s) 0.25 TF Constante de tiempo del regulador (s) 0.1 TA Función de saturación del regulador (p.u.) 0.5 SE Valor mínimo de salida del bloque regulador (p.u.) -7.6 VRMIN Valor máximo de salida del bloque regulador (p.u.) 7.6 VRMAX Voltaje de referencia del regulador (p.u.) Consigna vref
OK
5.- Frame * El frame es la plantilla o estructura basada en slots y líneas de señal. * Define la interfaz o vías de comunicación de las distintas señales entre los bloques o modelos dentro de un “Modelo Compuesto”. Se inicia el procedimiento de creación de la misma forma como en los Diagramas de Bloques, sólo que esta vez usaremos en la estructura solamente “slots” y “líneas de señal”.
DIgSILENT
El frame que usaremos será el siguiente: frame_GS:
ii
0 1 2
ir VCo Lim Slot ElmLim*,ElmDsl*
curgn ui
3
ur
u_lim
u
df edt
0
0
0
1
1
1
2
2
2
3
3 4
3
4
PSS Slot ElmPss*,ElmDsl*
5
5
6
upss
6
4
ve
0
VCo Slot ElmVco*,ElmDsl*
5 6
7
7
Sym Slot ElmSym*
7
8
8
9
9
10
10
11
11
Wf
0 1 2
12
pt
0
PCU Slot ElmPcu*,ElmDsl*
8
1
13 14
1
15
3
curex cosn sgnn xmt xme pgt w qg pg fe
5.1. Sym Slot
Name: Sym Slot Sequence: 0. Class Name: ElmSym* Output Signals: ut,utr,uti,cur1,cur1r,cur1i,fe,P1,Q1,xspeed,pgt,xme,xmt,sgnn,cosn,ie Input Signals: ve,pt
5.2. VCo Slot
Name: VCo Slot Sequence: 1. Class Name: ElmVco*,ElmDsl* Output Signals: uerrs Input Signals: u,ur,ui,curgn,ir,ii,u_lim,upss,sgnn,pg,qg,curex
5.3. VCo Lim Slot
Name: VCo Lim Slot Sequence: 2. Class Name: ElmLim*,ElmDsl* Output Signals: u_lim Input Signals: curgn,curex,qg,sgnn
5.4. PSS Slot
Name: PSS Slot Sequence: 3. Class Name: ElmPss*,ElmDsl* Output Signals: upss Input Signals: u,dfedt,fe,xspeed,pgt,xme,xmt,Wf,sgnn
5.5. PCU Slot
Name: PCU Slot Sequence: 4. Class Name: ElmPcu*,ElmDsl* Output Signals: pt,Wf Input Signals: w,pgt,sgnn,cosn
6.- Modelo Compuesto (.ElmComp) El Composite Model o Modelo Compuesto es una filosofía para administrar los modelos asociados a una máquina o sistema de control, la cual ejemplifica la visión de objetos que emplea el administrador de datos del programa. El modelo general invoca el modelo que ha sido desarrollado en diagrama de bloque y por medio de este modelo general se puede editar los valores de los parámetros. Para crear este objeto abrimos el Administrador de Datos y seguimos los siguientes pasos: Ubicamos nuestro red donde se encuentra dibujado el sistema de potencia y lo seleccionamos con un click Click en el ícono “Nuevo Objeto” Seleccionar casilla “Modelo Compuesto”
OK Aparece una nueva ventana en la que editamos: Nombre: “Gen1 Composite Model” Marco: o Click ícono o Seleccionar Tipo del Proyecto Buscamos la ubicación del frame “frame_GS”, lo seleccionamos y pulsamos “OK” Nos aparece la siguiente ventana
La imagen muestra los nombres de los slots del frame y a su derecha se tendrán que vincular con su respectivo “Modelo General” en la columna que titula “Elementos de Red”. Para esta simulación acoplaremos a este “Modelo Compuesto” el generador en el slot “Sym Slot” y el modelo del AVR en el slot “VCo Slot”. Para esto hacemos doble click en la casilla respectiva y ubicamos el generador y el “Modelo General” del AVR, quedando de la siguiente manera:
OK El Modelo entonces ya está incorporado al generador “PP1_G1”. Para la visualización de resultados es necesaria una herramienta llamada “Instrumentos Virtuales” NOTA: Para
poder
visualizar
resultados
necesitamos
crear
evento
transitorios
(cortocircuitos, rechazos de cargas, etc) En este tutorial ya se implementaron este tipo de eventos, por lo tanto ya no será necesario crear algún otro evento. El evento transitorio de este tutorial es la ocurrencia de una falla monofásica a tierra, donde se ocurren las aperturas y cierres de los seccionadores de la línea de transmisión. Revisar el tutorial 7 – Análisis de Transitorio para una mayor comprensión.
7.- Definición de variables Elegiremos las variables que calculará el software durante la simulación para después sean graficadas y evaluadas. Podemos elegir entre variables del flujo de potencia como de las señales internas del diagrama de bloques. 7.1.- Definición de variables del Generador Síncrono Nos desplazamos a la red del sistema de potencia Click derecho sobre el generador Definir Conjunto de Variables (Sim) o Results for RMS/EMT Simulation (depende de la versión)
Aparece la siguiente ventana en la cual hacemos doble click sobre el generador
Otra ventana se muestra y buscamos las variables que queremos en la pestaña “Simulación RMS” Filtro para Conjunto de variables: “Señales”
Se tienen dos columnas más abajo: “Variables Disponibles” y “Variables Seleccionadas”. Ubicamos y seleccionamos las variables deseadas en “Variables Disponibles” luego las desplazamos a la columna “Variables Seleccionadas” mediante el botón
.
Las variables seleccionadas serán para este caso:
ve : Tensión de exitación ut : Tensión en el terminal P1 : Potencia activa de secuencia positiva Q1 : Potencia reactiva de secuencia positiva
OK Cerrar 7.2.- Definición de variables del diagrama de bloques Para la definición de las variables de nuestro diagrama de bloques, realizamos pasos parecidos como con el generador con la única diferencia que esta vez no seleccionamos al diagrama de bloques sino a su Modelo General “AVR_dsl”. Entonces ubicamos al Modelo General “AVR_dsl” en el Administrador de Datos: Click derecho sobre el Modelo General Definir Conjunto de Variables (Sim) o Results for RMS/EMT Simulation (depende de la versión)
Aparece la siguiente ventana en la cual hacemos doble click sobre el Modelo General “AVR_dsl”
Otra ventana se muestra y buscamos las variables que queremos en la pestaña “Simulación RMS” Filtro para Conjunto de variables: “Señales” Se tienen dos columnas más abajo: “Variables Disponibles” y “Variables Seleccionadas”.
Ubicamos y seleccionamos las variables deseadas en “Variables Disponibles” luego las desplazamos a la columna “Variables Seleccionadas” mediante el botón Las variables seleccionadas para este caso serán todas las señales:
u upps ve vref xe xf xf1 xr
OK Cerrar
.
8.- Instrumentos Virtuales Para la creación de estos elementos seguimos los siguientes pasos Click ícono “Insertar Nueva Gráfica”
Nombre: “graficas_AVR” Panel de Instrumentos Virtuales (VI)
Ejecutar
Icono “Agregar Nuevo VI(s)”
Aparece una ventanita en la que editamos: Objeto: “Subplot (VisPlot)” Número de VI(s): “4” OK
Una vez esto indicamos a cada grafica la variable que va a mostrar de la siguiente forma: El procedimiento se repite para cada gráfica Doble click en la grafica Aparece una ventana en la que editamos: Nombre: “Grafica_1” Curvas Doble click en la casilla: Fila 1, Columna “Elemento”
Aparece una ventanita en la que seleccionamos el objeto respectivo. En este caso seleccionamos “AVR_dsl” y le damos OK. Doble click en la casilla: Fila 1, Columna “Variable” Nos muestra una lista de variables de las que podemos seleccionar a nuestra preferencia. En este caso seleccionamos la variable “ve”. De la misma manera podemos personalizar el color, estilo de línea, ancho de la línea entre otros.
OK De esta manera podemos disponer de cada gráfica enlazando las variables ya definidas de los objetos de interés. Para este caso personalizamos las gráficas del siguiente modo:
GRAFICA/Nombre
Objeto
Variable
Grafica_1
AVR_dsl
ve
Grafica_2
PP1_G1 (Generador)
ve
Grafica_3
PP1_G1 (Generador)
P1
Grafica_4
PP1_G1 (Generador)
Q1
NOTA: Antes de mostrar las gráficas tenemos que cortar el elemento creado “AVR_dsl” (este se encuentra ubicado en Library >> Userdefined Models >> AVR >> AVR_dsl
y
pegarlo
en
el
Composite
Model
“Gen1
Composite
De esta manera aseguraremos nos muestre la gráfica de nuestro AVR.
Model”.
Ahora buscaremos el siguiente icono, donde daremos inicio a la simulación transitoria:
No mostrara la siguiente ventana: Ingrese el tiempo que uste crea por conveniente, además asegurarse de seleccionar
Quedando de la siguiente manera:
.
También podemos agregar todas las variables de AVR_ds:
ANEXO DEMOSTRACIÓN DE LA CONDICIONES INICIALES Dibujaremos el siguiente circuito, los bloques los sacaremos de la misma biblioteca general: Database >> V13.2 Models (old) >> Global Macros Siguiendo los pasos anteriores encontraremos los elementos para poder crear nuestro AVR. Nos quedara de la siguiente manera.
En las siguientes imágenes podemos ver los datos que tendremos que modificar (Variables).
Ahora veremos como obtener las ecuaciones, que harán que funcione nuestro controlador:
Este bloque representa una contante llamada KeSe
1.-
Definimos uset, u y upss inc(usetp)=u; inc(upss)=0 ;el estabilizador de potencia es cero inc(xr)=u
El bloque tiene una variable de estado xr
inc(xe)=uerrs
El bloque tiene una variable de estado xe
inc(xf)=uerrs
El bloque tiene una variable de estado xf
Ahora definimos la variable de estado xa 𝑥𝑎 − 𝑘𝑒𝑆𝑒 = 𝐾𝑒 ∗ 𝑥𝑒 DESPEJANDO xa tenemos 𝑥𝑎 = 𝐾𝑒 ∗ 𝑥𝑒 + 𝐾𝑒𝑆𝑒 Inc(xa)= 𝐾𝑒 ∗ 𝑥𝑒 + 𝐾𝑒𝑆𝑒
ahora definimos Vs las condiciones iniciales “s” tiende cero
Yi1*Ka=xa
Sale xa
Usetp=u entonces es igual a 1
“S” tiende a cero queda u=Vc=1
Vs+Verr-Vf=yi1 reemplazando queda Vs+0+0=yi1 entonces Vs=yi1 y sabemos que Yi1*Ka=xa reemplazando Vs*ka=xa Vs=xa/ka
Inc(Vs)=xa/ka
2.Una vez terminado lo anterior, estos serán los códigos insertado en las ecuaciones de inicialización.
View more...
Comments