INGENIERÍA ELÉCTRICA
Sistemas de Transmisión
Flexible en Corriente Alterna
Asesor : Msc Gonzalo Oscar Eulate Choque
Msc Luis Adolfo Pozo Barrera
Estudiante: Daniel Ramos Huancani
Cristhian Coyo Llanque
Carolina Condori Calderón
Roberto Nelsen Chambi Reas
GONZALO OSCAR EULATE CHOQUE
Octubre 2017
INTRODUCCIÓN
En Bolivia la base de datos del SIN, es
actualizada por el CNDC en el software
DIgSILENT POWER FACTORY.
En este software, es posible la
automatización de tareas mediante el
uso del DPL DIgSILENT Programming
Language.
SOFTWARE POWER FACTORY DIGSILENT
Herramienta especializada en el análisis
de sistemas eléctricos de potencia, la
cual permite realizar simulación digital y
cálculo de redes eléctricas, los modelos
matemáticos bajo los cuales se efectúan
los cálculos están basados en normas
como son la ANSI, IEEE e IEC.
FLUJOS DE POTENCIA
Flujos de potencia balanceados o
desbalanceados.
Análisis de sensibilidad.
Análisis modal.
Curvas de operación de generadores.
Controles secundarios de potencia –
frecuencia.
Controles primarios.
Controles secundarios de voltaje.
Perfil de carga.
DESPACHO DE POTENCIA ACTIVA - REACTIVA
Minimización de pérdidas.
Minimización de costos de combustibles.
Despacho en base a límites de voltaje de
barra y límites de potencia activa y
reactiva.
Cálculo del despacho bajo límites de
corriente del estator.
CORTOCIRCUITO
Cálculo de cortocircuitos monofásicos,
bifásicos y trifásicos en base a normas:
ANSI, e IEC.
Cálculo de cortocircuitos en base al
método de superposición.
Análisis de fallas múltiples.
Análisis de fallas de conductor abierto.
ESTABILIDAD
Análisis de estabilidad dinámica y
transitoria.
Análisis de estabilidad de pequeña señal.
Transitorios electromagnéticos
Modelos de red detallados.
Saturación de transformadores.
Análisis con parámetros concentrados y
distribuidos.
Cargas dependientes del tiempo y la
frecuencia.
PROTECCIONES
Modelación de TCs y TVs.
Modelación de fusibles y relés.
Modelación de interruptores en bajo
voltaje.
Modelación de la protección de distancia.
ARMÓNICOS
Modelación de fuentes balanceadas y
desbalanceadas de armónicos.
Cálculo de armónicos característicos, no
característicos e interarmónicos.
Simulaciones gráficas en el dominio del
tiempo y de la frecuencia.
Modelación de filtros.
CONFIABILIDAD
Fallas en líneas, transformadores y barras.
Falla de modo común.
Fallas dobles a tierra.
Fallas en los sistemas de protección.
Seccionamiento de carga.
DIGSILENT PROGRAMMING LANGUAGE DPL
lenguaje de programación de propósito
general en Power Factory, es usado
para automatizar procesos y cálculos
dentro de un proyecto, permitiendo al
usuario la creación de nuevas funciones
de cálculo, en todas las áreas de
análisis de un Sistema Eléctrico de
Potencia.
ESTRUCTURA DE UN COMANDO DPL
SCRIPT EN DPL
El lenguaje que utiliza los scripts en
Digsilent es similar al lenguaje de
programación C++, este tipo de lenguaje es
intuitivo, fácil de leer y escribir, fácil de
aprender.
La sintaxis puede ser dividida en las
siguientes partes:
- Definición de variables.
- Asignaciones y expresiones.
- Instrucciones de flujo del programa.
- Invocación de los métodos.
DEFINICIÓN DE VARIABLES
Tipos de variables:
double, número real de 15 dígitos.
int, número entero.
string, una cadena.
object, una referencia a un objeto del
Digsilent.
set, contiene una serie de objetos.
Matrices y vectores se encuentran
disponibles como objetos externos.
FUNCIONES ESTÁNDARES
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) sqrt(x)
pow(x,y) modulo(x,y) ceil(x) floor(x)
rand()
ACCESO A OBJETOS
El método directo es crear un objeto, o una referencia
a un objeto, en la misma carpeta de comandos. Tal
objeto está disponible directamente como variable
"objeto" en el script. El nombre de la variable es el
nombre del objeto en la base de datos.
Se puede usar la selección general. El orden en que
se accede al objeto no es importante.
La lista de objetos externos se utiliza principalmente
cuando se debe ejecutar un script para seleccionar
objetos específicos. La lista de objetos externos no es
más que una lista de "alias". La Lista de objetos
externos se utiliza para seleccionar objetos
específicos para cada alias.
ACCESO A LOS OBJETOS DE UN SISTEMA
ELÉCTRICO EN DIGSILENT
Hay 4 formas de acceder a los objetos de una
red eléctrica vía DPL:
Por selección general de los objetos.
Mediante el uso de sets.
Mediante el uso de filters.
Mediante código.
SCRIPT SELECCIÓN DE LÍNEAS DE
TRANSMISIÓN
object aLine;
set Lines;
! Get the set of all lines
Lines = AllRelevant('*.ElmLne', 1, 1);
! Cycle through the lines and print out the full
name
aLine = Lines.First();
while(aLine) f
aLine.ShowFullName();
aLine = Lines.Next();
ACCESO Y MODIFICACIÓN DE LOS
PARÁMETROS DE LOS OBJETOS
Una vez que se ha seleccionado un objeto
específico, la forma de acceder a los
parámetros del objeto o variables es: escribir
el nombre del objeto y el nombre de la variable
separados por dos puntos, como se presenta a
continuación un ejemplo:
Nombre_objeto:nombre_variable;
ACCESO A LOS PARÁMETROS DE UN OBJETO
En el siguiente ejemplo se accede al elemento
2,3 de la matriz “pob” mediante el método Get,
para almacenar en la variable P1:
P1 = pob.Get(2,3j);
En el siguiente ejemplo se asigna el valor de 10
a la potencia activa del objeto ON y se asigna
el valor de 2 a la potencia reactiva del objeto
ON:
ON:pgini = 10;
ON:qgini = 2;
LISTADO DE COMANDOS PARA EL CÁLCULO
DEL OBJETO EXE
ComLdf Flujos de carga.
ComShc Corto circuito.
ComSim Simulación en el dominio del tiempo.
ComInc Condiciones iniciales en el dominio
del tiempo.
ComSimoutage Análisis de contingencias.
ComRel3 Evaluación de confiabilidad.
LISTADO DE COMANDOS PARA EL CÁLCULO
DEL OBJETO EXE
ComMod Análisis modal.
ComHldf Flujo de carga armónico.
ComCapo Ubicación optima de
capacitores.
ComVstab Sensitividad de flujo de carga.
ComRed Reducción de la red eléctrica.
ComSe Estimador de estado.
IMPRESIÓN DE RESULTADOS
La función printf trabaja de la misma manera
que el C++. Para la asignación de los
diferentes tipos de variables, el Digsilent
mediante el DPL ofrece estas alternativas de
impresión:
Para la impresión de enteros se utiliza la
expresión %d.
Para la impresión de números reales se utiliza
la expresión %10.4 por ejemplo.
Para la impresión de cadenas de texto se
utiliza la expresión %s.
ARCHIVOS DE TEXTO EN DPL
En Digsilent mediante el lenguaje DPL, es
posible la impresión de resultados en un
archivo de texto, la sintaxis es la misma que se
utiliza en el lenguaje C++. Se presenta a
continuación un ejemplo de apertura de un
archivo para escritura de datos.
fopen('D:\DIG_MATLAB\Pg_slack.csv','w',5);
En el siguiente ejemplo se muestra la forma de
cerrar el archivo abierto.
fclose(5);
INTERCAMBIO DE DATOS CON EXCEL
ClearOutput(); !Limpia la pantalla de salida de
resultados
error=xlStart();
if (error) { Error('No se puede conectar a MS Excel');
exit(); }
sep = xlGetDecimalSeparator();
numberFormat=sprintf('0%s000',sep);
error = xlOpenWorkbook('D:\39NODOS.xls'); !opens
archivo.xls
if (error) { Error('No se puede abrir archivo Excel');
xlTerminate(); exit(); }
xlRunMacro('COSTO'); !Activa la hoja COSTO para
lectura datos
INTERCAMBIO DE DATOS CON EXCEL
Para obtener datos de una planilla de Excel, se
presenta un ejemplo del script.
xlGetValue(7,t,var);
xlGetValue(8,t,var1);
Para terminar la conexión con el Excel y guardar los
datos en la hoja de Excel, se presenta en el siguiente
ejemplo.
Error = xlSaveWorkbookAs('D:\39NODOS.xls');
if(error) {
Error('Workbook could not be saved');
}
! xlTerminate(); !Termina MS Excel
EJEMPLO SCRIPT QCAP
Script que realiza la
determinación del valor de la
potencia reactiva en una barra,
considerando llegar hasta 1,05
pu.
Se aplica en el SIN de Bolivia,
en la barra ACI069,
subestación de Achacachi.
SCRIPT QCAP APLICADO AL SIN DE BOLIVIA
object O,C,flujos,ON;
set S;
int error,i,n,a,iTmp,iLoad,iCont,iYear;
string nombre, acell,s2,s3,sep,numberFormat,class;
double dval;
flujos = GetCaseObject('Balanced.ComLdf');
ClearOutput();
error=xlStart();
if (error) {
Error('No se puede conectar a MS Excel');
exit();
}
SCRIPT QCAP APLICADO AL SIN DE BOLIVIA
sep=xlGetDecimalSeparator();
numberFormat=sprintf('0%s000',sep);
error = xlOpenWorkbook('D:\FERIA\SIN\SINQCAP.xls');
!opens archivo.xls
if (error) {
Error('No se puede abrir archivo Excel');
xlTerminate();
exit();
}
ClearOutput();
iCont = 7;
xlRunMacro('DATOS'); !activa la hoja DATOS para leer
casos
SCRIPT QCAP APLICADO AL SIN DE BOLIVIA
for(iYear = 4;iYear<16;iYear+=1){ !inicia contador de los
anios
S = AllRelevant();
ON = S.FirstFilt('QACHA.ElmShnt');
nombre = ON:loc_name;
printf('%s %s ','nombre Qsh ',nombre);
xlGetValue(1,iYear,dval);
ON:qcapn = dval;
iTmp=flujos.Execute();
printf('%s %d','iTmp ',iTmp);
if(iTmp = 0) { ! inicia el if
SCRIPT QCAP APLICADO AL SIN DE BOLIVIA
!Lectura de datos en Nodos
xlGetValue(2,2,s3);
S = AllRelevant();
O = S.FirstFilt('ACI069.ElmTerm');
dval = O:m:u;
xlSetValue(3,iYear,dval);
!Lectura de datos en BANCO CAPACITORES
S = AllRelevant();
O = S.FirstFilt('QACHA.ElmShnt');
dval = O:m:Q:bus1;
xlSetValue(4,iYear,dval);
} ! termina el if
}
SCRIPT QCAP APLICADO AL SIN DE BOLIVIA
xlGetValue(1,4,dval);
ON:qcapn = dval;
iTmp=flujos.Execute();
error=xlSaveWorkbookAs('D:\FERIA\SIN\SINQCAP.xls');
if(error) {
Error('Workbook could not be saved');
}
xlTerminate(); !Termina MS Excel
FACTS
Sistemas de Transmisión
Flexible en Corriente Alterna
Asesor : Msc Gonzalo Oscar Eulate Choque
Msc Luis Adolfo Pozo Barrera
Estudiante: Daniel Ramos Huancani
Cristhian Coyo Llanque
Carolina Condori Calderón
Roberto Nelsen Chambi Reas
GONZALO OSCAR EULATE CHOQUE
Octubre 2017