Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
1. Motivacin 2. Introduccin a DOLE 3. Configuracin de un archivo DOLE
Introduccin a DOLE
Qu es DOLE?
DOLE no es un lenguaje de programacin. Es un conjunto de instrucciones que permite insertar informacin en DIgSILENT. Con DOLE se pueden crear y modificar objetos en la base de datos. Tambin permite manipulacin de objetos grficos. Un archivo DOLE es un archivo de texto ASCII, con extensin .dle y puede ser modificado con un procesador de texto como la aplicacin Notepad de Windows.
Ayudas
La ayuda de DIgSILENT (Manual de Usuario) contiene la documentacin de DOLE. Los manuales de Usuario en formato pdf reproducen la misma informacin contenida en las ayudas. DIgSILENT ofrece un directorio con informacin adicional y ejemplos, con los cuales trabajaremos en la primera sesin:
C:\DIgSILENT\pf130b237\DOLE
Para insertar comentarios el primer carcter de la lnea debe ser *. No puede haber comentarios antes de la lnea de identificacin dole
create
El comando create crea nuevos elementos en la base de datos. Su definicin es:
create [/sec][/rou][/noswt][/acub][/cub] objname.classname [name=....] objname : nombre del nuevo objeto classname : tipo del nuevo objeto, ej:
ElmLod : Carga ElmSym : Generador TypSym : Tipo de Generador
/sec : crea secciones en las lneas. /rou : crea rutas en las lneas. /noswt : al usar /rou, no crea interruptores. /acub : crea un objeto en un cubculo. /cub : crea un cubculo en una terminal. name : da nombre a las secciones o rutas de lneas, o elementos en el cubculo.
/sec : name=nombre seccin 1,nombre seccin 2, /rou : name=[term x],ruta 1,term1,ruta2, /acub : name=indice bus,objname.classname
create - ejemplos
Example for the Create - Command:
create .\Example 1.ElmNet creates a grid with name Example 1 create .\Example 1\Load 1.ElmLod create a general load in the Example 1 folder with name Load 1 create .\Example 1\Line 1.ElmLne create a line in the Example 1 folder with name Line 1 create .\Grid 2.ElmNet\Gen 1.ElmSym create a grid with name Grid 2 if not exists and create a synchronous machine in the folder Grid 2 with name Gen 1
Sec 1
Sec 2
Sec 3
Terminal i
Terminal j
create - ejemplos
Example for creating Line Routes:
create .\Example 1.ElmNet creates a grid with name Example 1 create .\Example 1\Line 1.ElmLne create a line in the Example 1 folder with name Line 1 create/rou .\Example 1\Line 1 name=,Route 1,Term 1,Route 2 creates line routes named Route 1 and Route 2 with terminals named Term 1into the line Attention !! If the line containts no routes or terminals, the name list must start with a comma indicating that the next name is a line route. create/rou .\Example 1\Line 1 name=Term 2,Route 3 Appends line routes with terminals into the line. The name list must start with a terminal name.
Route 1
Route 2
Route 3
Term 1
Term 2
create - ejemplos
Additional functions: By default the command inserts switches between line routes. With the option /noswt the command does not insert switches. You can change the default if you insert a tilde before or/and behind the name of the terminals. Default switch insert:
create/rou .\Example 1\Line 1 name=,Route 1,Term 1,Route 2 between Route 1 and Term 1 a switch is inserted between Term 1 and Route 2 no switch is inserted create/rou .\Example 1\Line 1 name=,Route 1,Term 1,Route 2 between Route 1 and Term 1 no switch is inserted between Term 1 and Route 2 a switch is inserted
create - ejemplos
Example for creating a cubicle into a terminal:
create/rou/noswt .\Example 1\Bus1 name=cubXX insert a cubicle cubxx into the terminal Bus1
set
El comando set define conjuntos de variables para un objeto y tambin modifica los valores de estas variables. Su definicin es:
set[/def][/fkey][/cls][/cub] obj=name [var=...][val=...]
/def : define un conjunto de variables para todos los objetos del tipo name. /fkey : interpreta name como un Foreign Key. Si se usa dole/fkey esta opcin no tiene efecto. /cls : invalida todos los conjuntos de variables. /cub : define para un objeto contenido en un cubculo. var= : lista de los nombres de la variables a utilizar (plini, qlini, outserv, ). val= : lista de los valores de la variables a modificar (10.2, 0.81, 1, ). obj=name : nombre (completo o relativo) o Foreign Key del elemento o del tipo de elemento (al usar /def). Si el nombre empieza con ## lo toma tambin como un Foreign Key.
set - ejemplos
Example:
set/def obj=ElmLod var=plini,qlini Define a variable set for all Loads. set/def obj=ElmSym var=pgini,qgini Define a variable set for all synchr. machines. set obj=Load 1 val=, 10.5, 1.3 Element Load 1: plini = 10.5, qlini = 1.3 set obj=Sym 1 val=, 102.4, 10.45 Element Sym 1: pgini = 102.4, qgini = 10.45
Additional functions: If the parameter obj=blank the set - command takes the last object created with the create command.
set/def obj=ElmLod var=plini,qlini create .\Grid 1\Load 1.ElmLod set obj= val=10.5, 1.3 set plini, qlini of the object Load 1 to 10.5 and 1.3
set the variables for Fuse 1 stored into the cubicle which is connected at transformer Trf 1 and bus number 0 -> HV-Side or 1 -> LV-Side
set - ejemplos
Set values and size of a vector (table):
set/def obj=ElmStactrl var=qsym:SIZE,qsym:ALL set obj=Stactrl 1 var=5,20,25,35,7,13 size of qsym = 5 SIZE: change the size of the vector ALL: set all values of the vector Element Stactrl 1: qsym[0]=20,qsym[1]=25
set obj=Dsl 1 val=No,vname1:2,vname2:1.25,vname3:2.3,vname4:125 No: number of following parameters (here No=4) name of parameter : value of parameter, .
connect
El comando connect conecta elementos a barras y terminales (Cul es la diferencia ?). Su definicin es:
connect name [b1=bus1][ib1=][b2=bus2][ib2=][b3=bus3] [ib3=][b4=bus4][ib4=]
name : nombre (completo o relativo) del elemento. Si el nombre empieza con ## lo toma tambin como un Foreign Key. b1 : bus1 = nombre de la barra o terminal. ib1 : modo de conexin del elemento en el nodo (0,1, 2). b2 : bus2 = nombre de la barra o terminal. ib2 : modo de conexin del elemento en el nodo (0,1, 2). b3 : bus3 = nombre de la barra o terminal. ib3 : modo de conexin del elemento en el nodo (0,1, 2). b4 : bus4 = nombre de la barra o terminal. ib4 : modo de conexin del elemento en el nodo (0,1, 2).
0 = Interruptor abierto. 1 = Interruptor cerrado. 2 = no incluir interruptor (solo para terminales).
connect - ejemplos
Example for the Connect - Command: Connect a line (Line_10kV) to the terminals SS1 and SS2 Connect a Transformer (Tr_10_15) to the terminal SS2 with the high voltage side and to the busbar SS3 in station STAT_1 with the low voltage side.
connect .\Line_10kV b1=.\SS1 ib1=1 b2=.\SS2 ib2=1 connect .\Tr_10_15 b1=.\SS2 ib1=1 b2=.\STAT_1\SS3 ib2=1
buscnf
El comando buscnf permite cambiar el nombre de interruptores y cubculos creados por el comando connect. Su definicin es:
buscnf cubn=cubicle name swtn=switch name
cubn : asigna el nombre cubicle name al cubculo creado. swtn : asigna el nombre switch name al interruptor creado.
buscnf - ejemplos
Example for the Buscnf - Command:
connect .\Line_10kV b1=.\SS1 ib1=1 b2=.\SS2 ib2=1 busncf cubn=Cub 0.1 swtn=S 0.1 renames the cubicle and switch which connecting SS1 with Line_10kV (terminal i) busncf cubn=Cub 0.2 swtn=S 0.2 renames the cubicle and switch which connecting SS2 with Line_10kV (terminal j) connect .\trf_10/100 b1=.\SS10 ib1=1 b2=.\SS20 ib2=1 busncf cubn=Cub_1 swtn=S_1 renames the cubicle and switch connecting SS10 with trf_10/100 (HV - Side) busncf cubn=Cub_2 swtn=S_2 renames the cubicle and switch connecting SS20 with trf_10/100 (LV - Side) create/rou .\Example 1\Line name=,Route 1,Term 1,Route 2,Term 2,Route 3 busncf cubn=C_R1 swtn=S_R1 renames the cubicle and switch which connecting Route 1 with Term 1 busncf cubn=C_R2 swtn=S_R2 renames the cubicle and switch which connect Term 1 with Route 2 busncf cubn=C_R3 swtn=S_R3 renames the cubicle and switch which connect Route 2 with Term 2 busncf cubn=C_R4 swtn=S_R4 renames the cubicle and switch which connect Term 2 with Route 3
ifupd
El comando ifupd es usado para actualizar la interfaz e insertar referencias en Composite Models. Su definicin es:
ifupd mod=composite model name objs=object1,object2,object3
mod : nombre del composite model. objs : lista de los nombres de los objetos a referenciar en el composite model.
echo
El comando echo genera mensajes de informacin que aparecen en la ventana de salida de texto (Output Window). Su definicin es:
echo message
ac
El comando ac activa y desactiva proyectos (.IntPrj) y casos de estudio (.IntCase). Las actualizaciones son posibles solo cuando un caso ha sido activado. Su definicin es:
ac[/de] name name : nombre (completo o relativo) del Proyecto o Caso de Estudio. /de : desactivar. ac/de all desactivar todos los Proyectos y Casos de Estudio actualmente activados.
Example:
ac \User\Factory\20kv Activates the project or study case with the name 20kV in the folder \User\Factory ac/de \User\Distribution\Shc1 Deactivates the project or study case with the name Shc1 in the folder \User\Distribution
new
El comando new es usado para crear contenedores de objetos grficos en la base de datos. Su definicin es:
new /sgl | /blk | /vis [pTarget=target] [sName=name]
/sgl : crea un nuevo grid con su correspondiente diagrama unifilar. /blk : crea un nuevo diagrama de bloques (dsl). /vis : crea un nuevo panel de instrumentos virtuales (vi). ptarget= : especifica el folder donde se almacenar el nuevo objeto visual. El valor por defecto es /user. sname= : especifica el nombre del objeto visual a crear. El valor por defecto el noname.
Example:
new/sgl pTarget=\User\Factory sName=20kV This will create the new grid with the name 20kV and the corresponding single line graphic in the folder \User\Factory.
grp/new
El comando grp/new crea nuevos objetos grficos en la base de datos. Su definicin es:
grp/new [obj=] [sFKey=] symbol= pos= [size=] [iRot=] [sAttr=] [iNamVis=] [iResVis=] obj : nombre (completo o relativo) del objeto de datos correspondiente. Si este no existe, se crear uno nuevo. sFKey : especifica el valor del Foreign Key del objeto de datos asociado. symbol= : identificador del tipo de smbolo grfico a usar para representar al elemento (La lista existe en DIgSILENT en System\Library\Graphic\Symbols) pos= : es una lista de coordenadas separadas por coma (,) para determinar la posicin y la conectividad grfica del objeto grfico. Cada coordenada consta de dos valores (x,y). Para objetos nodales, solo un valor es necesario. Para objetos ramales, la lista de coordenadas debe contener las mismas posiciones como si el usuario usara el mouse para dibujarlos. Los doble clicks se simulan colocando la misma coordenada dos veces. size= : especifica el tamao del objeto. Si no se usa, DIgSILENT usa el valor por defecto. iRot= : especifica la rotacin del objeto en grados y en contra de las manecillas del reloj. iNamVis= : especifica si el nombre del objeto ser mostrado en la grfica. iResVis= : especifica si el mostrar el cuadro de resultados. sAttr= : especifica la definicin de alguna geometra adicional para la creacin del nuevo objeto grfico.
grp/new - ejemplos
Examples:
grp/new sFKey=99/KT05 symbol=ShortTermStrip size=0.1 pos=0.65,1.25 This will create a new graphic object with according to the definition of the symbol ShortTermStrip. The graphic object will get the position (0.65/1.25) and the size 0.1. If the DIgSILENT database contains an appropriate data object (a Terminal) with the foreign value 99/KT05 it will be linked to the created graphic object, otherwise it will be created and linked, too. grp/new obj=User\Factory\20kv\TR015 symbol=d_tr2 iResVis=0 pos=0.65,0.75,0.65,1.05,0.65,1.05,0.65,1.25 This will create a new graphic object according to the definition of the symbol d_tr2. The object (a Transformer) will be connected with the busbar or terminal referenced by the position (0.65/0.75) and the busbar or terminal referenced by the position (0.65/1.25). The position of the created object will be (0.65/1.05) using a simulated double click. Result attributes for the object will not be visible. If the DIgSILENT database contains an appropriate transformer with the specified complete name (incl. path) it will be linked to the created graphic object, otherwise it will be created and linked, too. If it is created, the topology of the data objets will be taken from the graphical topology, otherwise the graphical topology must match the given topology at data object level.
grp/new - ejemplos
grp/new symbol=d_lin pos=2.55,0.35,2.75,0.35,2.75,0.8.0,3.1,0.8 This will create a new graphic object and a new data object according to the definition of the symbol d_lin. The object (a Line) will be connected with the busbar or terminal referenced by the position (2.55/0.35) and the busbar or terminal referenced by the position (3.1,0.8). The other given coordinates represent intermediate line points.
grp/mod
El comando grp/mod permite modificar objetos grficos existentes. Su definicin es:
grp/mod obj= | sFKey= | pos= [size=] [iRot=] [iNamVis=] [iResVis=]
La definicin de las opciones es la misma que el comando grp/new. Sin embargo, este comando permite especificar el objeto a modificar de las siguientes formas:
Identificando el objeto usando el nombre completo con el parmetro obj=. Identificando el objeto usando su Foreign Key con el parmetro sFKey=. Identificando el objeto usando su posicin en el grfico con el parmetro pos=. Si se utiliza una sola coordenada, esta debe estar dentro del rectngulo que circunscribe al objeto grfico.
grp/mod - ejemplos
Examples:
grp/mod size=1.15 pos=0.65,0.8 This will change the size of the graphic object whose surrounding rectangle is referenced by the position (0.65/0.8). grp/mod obj=\User\Factory\20kv\bus23 iRot=90 This will change the rotation angle of the graphic object whose linked data object has the complete name (incl. path) \User\Factory\20kv\bus23.
grp/sfk
El comando grp/sfk permite establecer los Foreign Keys de los objetos de datos asociados a los grficos. Los objetos deben ser referenciados utilizando el parmetro pos= con las caractersticas descritas en el comando grp/mod. Su definicin es:
grp/sfk [symbol=] pos= {sAttr:index=} symbol= : este parmetro limita el grupo de objetos referenciados por el parmetro pos=. pos= : es una lista de coordenadas separadas por coma (,) para identificar los objetos grficos. Cada coordenada consta de dos valores (x,y). sAttr:index= : especifica el Foreign Key de cada elemento referenciado. Los ndices empiezan por 0.
grp/sfk - ejemplos
Example:
grp/sfk symbol=d_bus_h pos=0.25,0.7,0.25,1.0 sAttr:0=99/2b sAttr:1=99/1a This will set the foreign key values for two data objects whose linked graphic objects are first intersected by the imaginary polyline with the start point (0.25/0.7) and end point (0.25/1.0) and whose symbol name is d_bus_h.
Mtodos de lectura
Existen cuatro formas (conocidas) de leer un archivo DOLE desde DIgSILENT.
Usando el men File/Import/Data (*.dz) el cual presenta un cuadro de dilogo para seleccionar el archivo a leer. Aunque la opcin presentada es para un archivo .dz, se puede abrir tambin un archivo DOLE, selccionado la opcin DOLE (*.dle) en el tipo de archivo del cuadro de dilogo. Usando el icono Import File del data manager y procediendo de manera similar que el caso anterior.
Es importante anotar que con cualquiera de estas dos opciones, no debe existir ningn proyecto o caso activado.
Mtodos de lectura
Usando la ventana de entrada de datos (Input Window) del data manager.
Dando click derecho y seleccionado Open DOLE File Ingresando el comando Rd en el cuadro de texto. En cualquiera de los dos casos se presentar un cuadro de dilogo para seleccionar directamente un archivo DOLE. No es necesario desactivar el proyecto o caso en uso.
Curso DOLE EPSA Julio 2005
La idea bsica consiste en que la primera fila de la regin a copiar desde Excel debe contener los nombres de las variables a modificar. Con esta utilidad se pueden crear o modificar objetos de la base de datos.
Procedimiento
Seleccionar la fila de encabezados (nombres de variables) y las de datos en la hoja de Excel. Copiar la seleccin (Ctrl+C). Abrir el Data Managerde DIgSILENT Seleccionar el Grid al cual se van a copiar los datos. Hacer click derecho en la parte derecha del Data Manager y seleccionar en el menu contextual:
Spread Sheet Format / Paste DOLE from Clipboard
Qu es un Foreign Key?
Es un concepto tomado de la teora de base de datos. Es definido como un identificador nico asociado a un objeto de la base de datos, adicional al nombre con el cual este se identifica. En DIgSILENT, el nombre de cada objeto, que tambin es nico, esta compuesto por la direccin completa (full path) donde est localizado. Por ejemplo:
\Usuario\Proyecto\Grid\Linea 1.ElmLne
As, pueden existir dos elementos con el mismo nombre en diferentes Grids sin violar el requisito de unicidad.
Qu es un Foreign Key?
Sin embargo, manejar los nombres largos es tedioso y hace difcil mover elementos entre grids/folders. Es especialmente difcil cuando se utilizan Revisions o System Stages. Los Foreign Keys, al ser nicos en la base de datos, pueden ser asignados a cada objeto y ayudar a su localizacin. El nombre no es necesariamente Entendible por el hombre. Dicho identificador puede ser tomado de una base de datos externa, como la de SCADA. En la base de datos del sistema colombiano del CND, este identificador esta asociado a las base de datos centralizadas.
Procedimiento
Se debe tener la definicin del sistema de potencia en DIgSILENT. La situacin ideal es que este refleje la estructura general del sistema real modelado en SCADA. Sin embargo DIgSILENT puede tener un modelo reducido si se provee un modelo de reduccin intermedio apropiado. La informacin operativa concerniente a demandas, generacin y el estado de interruptores y taps de transformadores ser entonces modificada por el archivo DOLE.
El sistema SCADA o programas asociados deben generar los archivos DOLE, teniendo en cuenta la correspondencia de nombres o Foreign Keys del DIgSILENT.
Procedimiento
La actualizacin de los casos de DIgSILENT se hace con el siguiente procedimiento:
Iniciar DIgSILENT Seleccionar el Folder que acta como raz del archivo DOLE. Leer el archivo DOLE a travs de cualquiera de los mtodos de importacin.
De esta forma DIgSILENT contiene la informacin operativa asociada a la condicin instantnea del sistema de potencia. Aun es posible que sean necesarios pequeos ajustes al caso para ejecutar Flujos de Potencia, Flujos ptimos y Anlisis de Estabilidad.
Los comandos auxiliares ac y echo proveen una manera de posicionarse en la base de datos y de mostrar informacin al usuario respectivamente.