Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PFManual Digsilent - 13v2ec

Download as pdf or txt
Download as pdf or txt
You are on page 1of 956

PowerFactory

Manual
DIgSILENT PowerFactory
Version 13.2

DIgSILENT GmbH
Gomaringen, Germany
2007
Publisher:
DIgSILENT GmbH
Heinrich-Hertz-Straße 9
72810 Gomaringen / Germany
Tel.: +49 (0) 7072 - 9168-0
Fax: +49 (0) 7072 - 9168-88

Please visit our homepage at:


http://www.digsilent.de

Copyright DIgSILENT GmbH.


All rights reserved. No part of this
publication may be reproduced or
distributed in any form without per-
mission of the publisher
April 2007
DIgSILENT PowerFactory

Contents - Manual

Handling of PowerFactory

Program Overview 1-1


Database Management and Backups 1-2
Designed for Beginners and Experts 1-2
Conventions Used in this Manual 1-3

The Work Environment in PowerFactory 2-1


Philosophy of Use 2-1
Data Arrangement/Structure 2-4
DIgSILENT PowerFactory Windows 2-5
Getting Help 2-9
Toolbar Definitions 2-10

Logon, User Accounts and Program Settings 3-1


Program Configurations and Settings 3-1
License Key(s) 3-1
The Log On Page 3-3
The User Account Management System 3-3
Users and User Groups 3-7

User Settings 4-1


General Settings 4-1
Graphic Windows Settings 4-2
Data Manager Settings 4-4
Output Window Settings 4-4
Functions Settings 4-5
Directories 4-5
Editor 4-5
Power Ware 4-6

Defining a Power System Model in PowerFactory 5-1


Getting Started 5-1
Creating a New Project 5-1
Defining a Network Model 5-3
Performing Calculations 5-10
Working with Projects 5-11

i
DIgSILENT PowerFactory

The Database and the Data Manager 6-1


Object Oriented Database 6-1
Using the Data Manager 6-2
Searching for Objects in the Data Manager 6-10
Editing Data Objects in the Data Manager 6-14
The Flexible Data Page Tab in the Data Manager 6-19
Folders in the Database 6-20
Special Objects in the Database 6-24
The Input Window in the Data Manager 6-26
Save and Restore Parts of the Database 6-28
Spreadsheet Format Data Import/Export 6-29

Project Management 7-1


Basic Project Organization and Management 7-1
Advanced Project Management Tools 7-8
Comparing Projects 7-16

The Graphic Windows 8-1


Graphic Windows and Database Objects 8-1
Basic Functionality 8-8
Graphic Commands, Options and Settings 8-10
Drawing Power System Elements 8-25
Result Boxes-Text Boxes and Labels 8-34

Representing the Network Topology in PowerFactory 9-1


Representing Nodes 9-1
Representing Transmission Lines and Cables 9-13

Parameter Characteristics 10-1


Characteristics, Scales and Triggers 10-1
Handling Scales and Characteristics 10-13

Grouping Network Elements 11-1


Feeders and Feeder Objects 11-1
Zones 11-5

General Information about Calculations in PowerFactory 12-1


Calculation Commands in PowerFactory 12-1
Edit relevant Objects for Calculation 12-2
Results 12-2
Comparisons Between Calculations 12-3

ii
DIgSILENT PowerFactory

Steady-State Power System Analysis

Load-Flow Calculations 13-1


Basic Options 13-2
Active Power Control 13-3
Outputs 13-3
Low Voltage Analysis 13-4
Advanced Options 13-4
Iteration Control 13-5
Advanced Simulation Options 13-6
Troubleshooting Load-Flow Calculations 13-7

Short-Circuit Calculations 14-1


General Remarks 14-1
Executing Short-Circuit Calculations 14-1
Faults on Lines 14-2
Multiple Faults Calculation 14-2
Short-Circuit Calculation with User-Defined Element Sets 14-4
Short-Circuit Calculation Options 14-4
Technical Background 14-16

Protection 15-1
Creating a Protection Device 15-1
Basic Protection Devices 15-10
Path Definitions 15-26
Protection Analysis Results 15-27
Short-Circuit Sweep 15-28
Time-Overcurrent Plot 15-30
The Time-Distance Diagram 15-38
Relay Plot 15-43

Harmonics Analysis 16-1


Harmonic Load-Flow 16-2
Frequency Sweep 16-4
Filter Analysis 16-6
Modelling Harmonic Sources 16-7
Definition of Result Variables 16-13

Network Reduction 17-1


Starting the Reduction Process 17-2
Network Reduction Results 17-3

iii
DIgSILENT PowerFactory

Optimization Tools

Optimal Power-Flow 18-1


General 18-1
Objective Functions 18-2
Controls 18-6
Constraints 18-9
Running OPF 18-14
Advanced Setup Options for Iteration Control 18-17

State Estimation 19-1


Objective Function 19-2
Components of the PowerFactory State Estimator 19-2
State Estimator Data Input 19-5
Running SE 19-14
Results 19-21

Optimization Tools for Distribution Networks 20-1


Optimal Capacitor Placement 20-1
Open Tie Optimization 20-8
Cable Size Optimization 20-10

Reliability Analysis

Reliability Assessment Functions 21-1


Contingency Analysis 21-1
Network Reliability Assessment 21-8
Calculation Options 21-9
Calculated results 21-14
Voltage Sag Analysis 21-18
Probabilistic Reliability Assessment - Some Theory 21-23
Failure Models 21-27
Compact Reliability Glossary 21-52

Stability Analysis & Simulation of Transients

Time-Domain Simulations 22-1


Introduction 22-1
Calculation Methods 22-2
Setting up a Simulation 22-4
Result Objects 22-12
Events 22-14
Run a Simulation 22-17

iv
DIgSILENT PowerFactory

Models for Stability Analysis 23-1


System Modelling Approach 23-1
The Composite Model 23-6
The Composite Frame 23-9
The Common Model 23-12
The Composite Block Definition 23-16
Drawing Composite Block Diagrams and Composite Frames 23-17

User Defined (DSL) Models 24-1


Modeling and Simulation Tools 24-3
DSL Implementation: an Introduction 24-3
Defining DSL Models 24-7
The DIgSILENT Simulation Language (DSL) 24-11

Modal Analysis/Eigenvalue Calculation 25-1


Theory of Modal Analysis 25-1
Performing an Eigenvalue Analysis 25-3
Visualization of Modal Analysis Results 25-5

Model Parameter Identification 26-1


Target Functions and Composite Frames 26-2
Creating The Composite Identification Model 26-4
Performing a Parameter Identification 26-6
Identifying Primary Appliances 26-8

Tools Utilities & Interfaces

Visualization of Results in PowerFactory 27-1


Virtual Instruments 27-1
Results, Graphs and Documentation 27-44

Interfaces with Other Programs 28-1


Matlab Integration 28-1
DOLE and On-Line Data Exchange 28-8
Conversion from Graphical Information Systems 28-20
Converting PSS/E Files 28-23
PowerWare Interface 28-31

The DIgSILENT Programming Language - DPL 29-1


The Principle Structure of a DPL Command 29-1
The DPL Command Object 29-2
The DPL Script Editor 29-5
The DPL Script Language 29-6
Access to Other Objects 29-10

v
DIgSILENT PowerFactory

Access to Locally Stored Objects 29-12


Accessing the General Selection 29-12
Accessing External Objects 29-13
Remote Scripts and DPL Command Libraries 29-14
DPL Functions and Subroutines 29-16

Power System Models Reference

Type Objects-Reference Data 30-1


2-Winding Transformer Type (TypTr2) 30-1
3-Winding Transformer Type (TypTr3) 30-4
Asynchronous Machine (TypAsmo) 30-8
Booster Transformer Type (TypTrb) 30-11
Cable Type (TypCab) 30-13
Conductor Type (TypCon) 30-14
General Load (TypLod) 30-16
Line Type (TypLne) 30-17
Rectifier Type (TypRec) 30-21
Synchronous Machine Type (TypSym) 30-22
Tower Types (TypTow/TypGeo) 30-25

Element Objects-Reference Data 31-1


2-Winding Transformers (ElmTr2/ElmTr2n) 31-1
3-Winding Transformer (ElmTr3) 31-7
Asynchronous Machine (ElmAsm) 31-11
Booster Transformer (ElmTrb) 31-13
Cable System (ElmCabsys) 31-15
Common Impedance (ElmZpu) 31-16
Doubly Fed Induction Machine (ElmAsmsc) 31-18
External Network (ElmXnet) 31-20
Load General (ElmLod) 31-23
Load Low Voltage (ElmLodlv) 31-25
Load Partial (ElmLodvp) 31-27
Line Route (ElmLneroute) 31-29
Line Sub-Section (ElmLnesec) 31-31
Motor Driven Machine (ElmMdm__X ) 31-32
Neutral Earthing Element (ElmNec) 31-35
PWM AC/DC Converter - 1 DC Connection (ElmVscmono) 31-37
PWM AC/DC Converter - 2 DC Connections (ElmVsc) 31-39
Rectifier/Inverter 1-DC Connection (ElmRecmono) 31-41
Rectifier/Inverter 2-DC Connection (ElmRec) 31-43
Series Capacitances (ElmScap) 31-45
Series Reactance (ElmSind) 31-47
Shunt/Filter Element (ElmShnt) 31-48
Soft Starter (ElmVar) 31-51
Static Var System (ElmSvs) 31-53
Synchronous Machine (ElmSym) 31-55
Tower Line Coupling (ElmTow) 31-58
Transmission Lines (ElmLne) 31-60
Digital Clock (ElmClock) 31-63

vi
DIgSILENT PowerFactory

Fast Fourier Transform (ElmFft) 31-64


File Object (ElmFile) 31-65
Fourier Source (ElmFsrc) 31-66
Digital Register (ElmReg) 31-67
Sample and Hold Model (ElmSamp) 31-68
Trigger Model (ElmTrigger) 31-69

Appendix

Glossary A-1

DPL Reference B-1


DPL Internal Methods B-1
DPL External General Types B-36
Reference of DPL External Specialized Types B-57

DSL Reference C-1


DSL Standard Functions C-1
DSL Special Functions C-2

Index D-1

vii
DIgSILENT PowerFactory

viii
Volume I
Handling of PowerFactory
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory Program Overview

Chapter 1
Program Overview

The calculation program PowerFactory, as written by DIgSILENT, is a computer aided


engineering tool for the analysis of industrial, utility, and commercial electrical power sys-
tems. It has been designed as an advanced integrated and interactive software package
dedicated to electrical power system and control analysis in order to achieve the main ob-
jectives of planning and operation optimization.
The name DIgSILENT stands for "DIgital SImuLation and Electrical NeTwork calcula-
tion program''. DIgSILENT Version 7 was the world's first power system analysis soft-
ware with an integrated graphical one-line interface. That interactive one-line diagram
included drawing functions, editing capabilities and all relevant static and dynamic calcu-
lation features.
The PowerFactory package was designed and developed by qualified engineers and
programmers with many years of experience in both electrical power system analysis and
programming fields. The accuracy and validity of the results obtained with this package
has been confirmed in a large number of implementations, by organizations involved in
planning and operation of power systems (please see the reference list).
In order to meet today's power system analysis requirements, the DIgSILENT power
system calculation package was designed as an integrated engineering tool which pro-
vides a complete 'walk-around' technique through all available functions, rather than a
collection of different software modules. The following key-features are provided within
one single executable program:
1 PowerFactory core functions: definition, modification and organization of cases;
core numerical routines; output and documentation functions
2 Integrated interactive single line graphic and data case handling
3 Power system element and base case database
4 Integrated calculation functions (e.g. line and machine parameter calculation based
on geometrical or nameplate information)
5 Power system network configuration with interactive or on-line access to the SCADA
system
6 Generic interface for computer-based mapping systems
By using just a single database, containing all the required data for all equipment within
a power system (e.g. line data, generator data, protection data, harmonic data, controller
data), PowerFactory can easily execute any or all available functions, all within the
same program environment. Some of these functions are load-flow, short-circuit calcula-
tion, harmonic analysis, protection coordination, stability calculation and modal analysis.

1-1
DIgSILENT PowerFactory Program Overview

1.1 Database Management and Backups


The PowerFactory database has been proven to be very stable. Nevertheless, as is true
for all electronic databases, it can be corrupted by external or internal causes. External
causes are such as power failures resulting in a sudden system shutdown, hard disk crash-
es, computer viruses or inadvertent deletion of files. To prevent any loss of data, please
follow these instructions:
• Backup the database directory of all DIgSILENT PowerFactory installations on a
regular basis. A daily automatic backup is recommended. This directory is named "DB"
and can normally (i.e. for a standard installation) be found under
C:\DIgSILENT\pfXXXbYYY where XXX is the version number (e.g. 13.2) and YYY is the
build number (e.g. 332) i.e. pf132b332
• Save all projects on a regular basis by right-clicking the project folder in the database
tree and selecting the Export Data option. This will prompt you for a filename.
Note By exporting a project, only the information in that project and all its subfolders
will be stored. If the exported objects use information (e.g. power system types like
line or transformer types) that is saved somewhere else, then this information will not
be stored. Please ensure that the power system types and all other referenced
information is exported as well. We recommended limiting the use of "non-project
objects'' to one or two non-project libraries; these should also be exported on a
regular basis.

• Exported projects may be imported into a database tree by pressing the icon on
the Data Manager's toolbar. You will be prompted for the exported filename (*.dz).
• Please make sure that you make backup copies of all the exported data, as well as of
the PowerFactory database on a regular basis.
• However, should you find yourself in the unhappy position of having a corrupted
database and no backup files please contact us for assistance; all may not be lost!

1.2 Designed for Beginners and Experts


DIgSILENT PowerFactory has originally been designed as a complete package for the
high-end user. Consequently, there are no special 'lightweight' versions, no cut-outs of a
'heavy' version. This does not, however, mean that non high end users will find them-
selves at sea when using PowerFactory. The program is also friendly to the basic user.
Users who are learning about power systems are able to easily and quickly perform load-
flows and short-circuit calculations, without needing to immediately master the mathe-
matical intricacies of the calculations. PowerFactory allows the user to learn primarily
about power systems and not PC quirks- all that is required is a reasonable working
knowledge of Windows applications such as Word and Excel.
The program is shipped with all of the engines and algorithms that are required for high-
end use. The functionality that has been bought by a user is configured in a matrix, where
the licensed calculation functions, together with the maximum number of busses, are list-
ed as coordinates. In addition, there are options available which will allow the configura-
tion and fine-tuning of the software according to the user's needs, for some of the
functions.
In this manner, not every PowerFactory license contains all functionality described in
this manual, but only those actually required, thereby reducing the complexity of the out-

1-2
DIgSILENT PowerFactory Program Overview

set. As requirements dictate further functionality can be added to the license. The user
thus does not have to learn a whole new interface for new functions, but merely uses new
commands within the same environment. In addition, the original network data is used
and only extra data, as may be required by the new calculation function, needs to be add-
ed.

1.3 Conventions Used in this Manual

1.3.1 Terms and Abbreviations


Mouse and keyboard handling actions are abbreviated, and a 'shorthand' is also used to
describe actions that the user should take. To assist the user these shorthand descriptions
are specifically formatted to stand out, as follows:
Key As in "Press the left mouse key''. A key is either one of the mouse keys
or a key on the keyboard. Mouse keys are sometimes called 'buttons',
as in 'the mouse button.'
Button As in "Press the OK button''. The word "button'' is used for screen areas
which perform some action when clicked using the mouse. In other
words, a 'virtual' button.
Icons Icons are usually described by the popup name that you read when you
hover the cursor over it. For example, press to open the user
settings dialogue. Icons are also shown as seen on screen, as in the
press to open the user settings dialogue.
Right/Left clicking
As in "Right click the browser''. Means pointing the cursor at the object
described (the browser) and pressing the right/left mouse key.
Double Clicking
As in "Double click the button''. Means pointing the cursor at the object
described and pressing the left mouse key twice within about half a
second (the time interval is as set in the Windows operating system).
Ctrl-B (key combination example) means that the user should press the
combination of keys described. For example, "Press Ctrl-B to toggle
between balanced/unbalanced case,'' means that the user should press
and hold down the first keyboard key (the Control key on the keyboard
in this example) and then press the second key (B) as well.
Menu sequences
When a user needs to select a command through cascaded menu
options the sequence is shown by arrows that indicate what option to
choose next, starting from the original menu button. For example,
setting the drawing format can be done by pressing the Options
button to access the options menu, then by choosing "Graphic" from
the list offered, and finally "Drawing Format..." from the last list; this
series of actions is all simply described by Options --> Graphic -->
Drawing Format...

1-3
DIgSILENT PowerFactory Program Overview

" " and ' ' 'These' quotes are used to indicate that the description is one that can
be found within the program- one that is not user definable, for
example, the balloon help description 'Calculate Load Flow' that you
see when you hover your cursor over the Load Flow icon.
"These" are used to indicate data that a user has entered or should
enter. "These" quotes are also used to indicate a process or series of
objects that have no discernible name, but which need to be described.
For example, the "drawing tools panel", which is found on the right
hand side of the drawing canvas.
and [1] [2] [3], etc.
These show a sequence of events that should be performed. Where
they are numbered they will be associated with a graphic in which the
numbers appear.
left-clicking, right-clicking, clicking, double-clicking, etc.
Wherever the instruction clicking or double-clicking appears it should
be taken to mean clicking and double-clicking using the left mouse
button. When the right mouse button is to be used it will be explicitly
stated.

1-4
DIgSILENT PowerFactory The Work Environment in PowerFactory

Chapter 2
The Work Environment in PowerFactory

DIgSILENT PowerFactory is a single-program package. This means that all function-


ality that is used to
• enter new (parts of) a power system design, either in a text-based or in a graphical
way,
• us and print single-line graphics
• edit the power system components
• manage the database
• select design options
• perform calculations
• report and print the results
or any other function related to these tasks, is available directly in the main program win-
dow.
The significance of this is that the users need only familiarize themselves with one user
interface as all activities are controlled and accessed via the main program window.
More importantly, all data is kept in a central place, and the user need not transfer, or
copy, paste and modify the data from one part of the program to another in order to per-
form a new type of calculation. The PowerFactory user interface is fully compatible with
Windows operating systems. For those users who are not experienced in using these op-
erating systems, some simple instructions have been added to the tutorial. These are rec-
ognized by being prefaced by a different icon. For example, to practice a Windows
feature:
 Do this
 Then do that
Users familiar to the Windows operating systems may want to skip these parts of the tu-
torial.

2.1 Philosophy of Use


In order to better understand how to use a program it is useful to first get an idea of what
the designers had in mind when they designed the user interface. In the next few para-
graphs we will attempt to explain what this philosophy is.
PowerFactory is intended to be initially used and operated in a graphical environment.
That is, data entry is accomplished by drawing the network under study and then by ed-
iting the objects on the drawing canvas to assign data to them.

2-1
DIgSILENT PowerFactory The Work Environment in PowerFactory

As users progress and become more adept with the program, data will be manipulated by
using a data viewer called the Data Manager.
Figure 2.1 shows how PowerFactory looks like when a project is active. It shows the
Graphic window (up) and the Output window (below).

Fig. 2.1: Main PowerFactory windows

The two means of accessing the data are thus via the graphics page/s and via the Data
Manager.
Data is accessed from the graphics page by double-clicking on an object. An input dia-
logue pops up and the user may then edit the data for that object. In the case of figure
2.2, a line object was double clicked on a single line graphic and then the displayed edit
dialog was opened.

2-2
DIgSILENT PowerFactory The Work Environment in PowerFactory

Fig. 2.2: Input dialogue for editing an element

All of the data that is entered for such objects is specifically structured in folders to allow
the user to navigate through it. To view this data, a "Data Manager" is used. Figure 2.3
shows the Data Manager Window. The data manager is similar in appearance and working
to a Windows Explorer.
As mentioned, data pertaining to a study is organized into several folders. Before exam-
ining this structure we should understand the philosophy behind this arrangement.

Fig. 2.3: PowerFactory Data Manager window

2-3
DIgSILENT PowerFactory The Work Environment in PowerFactory

2.2 Data Arrangement/Structure


Firstly, it is clear that, for the study of any system, there are two distinct sets of informa-
tion that can be defined:
• Data that pertains directly to the system under study, that is, electrical data.
• Study management data, for example, which graphics should be displayed, what
options have been chosen for a load flow, which 'areas' of the network should be
considered for calculation, etc.
The electrical data itself can also be further divided into logical sets. When we construct
a power system we make use of standardized materials or components - a roll of cable
for example. In simple terms we can describe the cable electrically by its impedance per
km length whilst it is still on the cable drum; in other words, generic information about
this cable, is called "Type" data.
When we cut a length of the cable for installation the type data is retained in a modified
way, as follows:
600m of cable that has a Type impedance of 'Y' Ohms/ km will now have an impedance
of '0.6*Y' Ohms.
We can thus see that the length of the cable, 0.6 km, can be seen as a separate set of
information. This set of information will contain all of that information particular to the
specific installation or application of the piece of cable we are considering. Information
such as the derating factor of the installed cable, its local name, the nodes that it is con-
nected to at either end; in other words, all information that is non-generic, will fall into
this information set. In PowerFactory we call this "Element Data".
This means that there are now three distinct sets that we need to arrange the data into.
In 'Explorer' terms this means three folders, which, in PowerFactory, we call:
• ''Grid'' folder: Holds all the element data.
• ''Library'' folder: Holds all the type data
• ''Study Case'' folder: Holds all the study management data.
We should also house these three folders within a higher folder, in order to arrange the
data for different networks that we may study. This higher folder is called ''Project'' fold-
er.

Fig. 2.4: Structure of a PowerFactory project in the Data Manager

Figure 2.4 shows a snapshot from the data manager.The folders listed contain the follow-
ing type of data:
User Folder In this case named Raj1. This folder is a system folder (the user
account) that is created when the user starts PowerFactory.
Project In this case named Simple Power System. This folder is the frame for
all project subfolders.

2-4
DIgSILENT PowerFactory The Work Environment in PowerFactory

Grid Holds all the element data.


The element data objects are kept in the 'Grid' folder and may be
viewed using the data manager, as well as by double clicking them
from the graphic.
The Grid folder also contains the graphical object data, which means
one or more network diagrams. the user should refrain from editing
this as these are automatically created and require some experience to
manipulate.
Study Case Contains the study Management Data - the 'tools' and 'tool settings'
that are used to perform the calculations and the visualization of the
results. This will be dealt with in more detail at a later stage. Initially
the user does not need to concern himself over the study case as it is
created and assigned automatically.
Library Holds all the type data.
Two different elements, e.g. lines, can obviously refer to the same type
data.

2.3 DIgSILENT PowerFactory Windows


The so-called 'windows' are the users interface to the program and the means to enter or
manipulate data and/or graphics. DIgSILENT PowerFactory uses several kinds of win-
dows some of which have been shown previously. To follow the explanation, please see
figure 2.5:
• The main PowerFactory window is described in the title bar- "DIgSILENT
PowerFactory 13.2" [1].
• The main menu bar contains the drop down menu selections [2].
• A tool bar is associated to the main window, by default on the right side. It is not yet
shown in figure 2.5, as it becomes visible only when a project is active [3].
• The title bar of this sub-window describes it as a "Data Manager" and lists the path of
the object that has been selected in the data manager; here the project entitled
'Simple Power System,' which is located in the (user) folder 'Raj1', has been selected
[4].
• When an object is right clicked a menu (context menu) appears [5].
• At the bottom of the PowerFactory window, an output window [6] is shown, which
has its...
• ...own tool bar [7].

2-5
DIgSILENT PowerFactory The Work Environment in PowerFactory

Fig. 2.5: PowerFactory initial appearance

The data manager sub-window (this window is created by pressing the icon, which
is the first icon on the left of the main toolbar) is always floating and more than one can
be active at the same time. The database manager itself has several appearances: it may
only show the database tree for selecting a database folder, or it may be the full version
with the database tree, the data browser, and all editing capabilities.
One of the major tasks for the data manager is to provide access to the power system
components. The power system components shown in the data manager can be 'gang-
edited' (or 'group-edited') within the data manager itself, where the data is presented in
a tabular format, for all the selected objects. Alternatively each object may also be indi-
vidually edited by double clicking on an object (or right click -> "Edit").
The output window, at the bottom of the screen, is always there; it cannot be closed al-
though it can be minimized.
The output window can be "docked'', that is: fixed to a location on the bottom of the main
window. The docked state is the default, as shown in the figure 2.5.
When clicking the right mouse button, when the cursor is in the output window area, the
context sensitive menu of the output window appears. The output window can then be
undocked by deselecting the "Docking View" (by clicking the mouse onto "Docking View"
to 'untick' it. The undocked output window is still confined to the main window, but now

2-6
DIgSILENT PowerFactory The Work Environment in PowerFactory

as a free floating window. This sometimes occurs 'accidentally' when the user left clicks
the tool bar for the output window and drags the mouse (keeping the mouse button
down) to somewhere outside of the output window boundaries. To rectify this simply left
click in the title bar of the undocked window and drag it down to the bottom of the screen
where it will dock once more (if you have right clicked 'unticked' "Docking View" to right
click and select "Docking View" once more.
The undocked state is not a normal situation for the output window. Because the output
messages that appear in this window are important at any stage while using the program,
the docked state is the best place because it will be visible then and easy to locate.
The edge of the output window shows a splitter bar [a] which is used to change the size
of the output window. The 'drag' cursor, as shown at [a], appears automatically when the
cursor is placed on the splitter bar. The left mouse button can be pressed when the 'drag'
cursor is visible. This will turn the splitter bar to grey and the output window can now be
resized by holding down the mouse button and moving the mouse up or down.

The icon "Maximize Output Window'' ( ) on the main toolbar will enlarge the output
window to almost full-screen. Left click the button again to switch back to the small output
window.

2.3.1 Sizing Windows and Sub-Windows


On the right of the title bar of any window or sub-window there are three buttons that
are used to "Minimize", "Maximize"/"Restore Down" or "Close" the window.

 The button minimizes the window to a small object, somewhere on the screen
(usually in the lower left corner- this is the default position) in the case of a sub-
window, or to the task bar for your computer- at the bottom of the screen.

 The button 'opens' the minimized window to full screen size.

 The button reduces the window to a smaller size on the screen; initially there is a
default size for this window but the user may re-size it as desired.

 The button will close the sub-window or end the program if this button is clicked
on the main window.
Sub-windows can be re-sized as follows: place the cursor over the lower right corner of
the window and left click and hold the button down- now drag the window to the size you
require. You will find that each corner can be sized like this, as well as each edge.

Fig. 2.6: Re-sizing sub-windows

2-7
DIgSILENT PowerFactory The Work Environment in PowerFactory

2.3.2 Menu Bar


The menu bar contains the main PowerFactory menus. Each menu entry has a drop
down list of menu options and each menu option performs a specific action. To open a
drop down list, either click on the menu entry with the left mouse button, or press the Alt
key together with the underlined letter in the menu. For instance, to open the Help menu,
press the Alt and the h key together. Menu options that occur in grey are not available -
these become available as the user activates projects or calculation modes, as required.

Fig. 2.7: The help menu on the Menubar

 Press Alt-H to open the help menu. Use your keyboard to select the Getting Started
Tutorial. Press return to open the Tutorial. The on-line Getting Started Tutorial is
exactly the same as the printed version.
 Close the Getting Started Tutorial help (Use the on the main bar). You will return
to the main PowerFactory program window.
 Left click the Help menu. Left click the option Users Manual. This opens the on-line
User's Manual.

2.3.3 Main Toolbar


The main toolbar (see figure 2.8) shows the main PowerFactory command buttons/
icons. Buttons that appear in grey only become active when appropriate.

Fig. 2.8: The main toolbar

All command icons are equipped with balloon help text which pop up when the cursor is
held still at the icon for a moment, and no key is pressed.
 Find the icon for User Settings by using the balloon help. Do not use the mouse keys:
just point at the icons, hold still, and a balloon text will pop up. Scan all icons until you
find the right one.
Using a command icon couldn't be easier: just click on it with the left mouse icon. Those
icons that perform a task will automatically jump back when that task is finished. Some
command icons however will switch between two modes, for instance the one which will
reserve more place for the output window on the workspace ( ). This icon will stay
down to show the activated mode. Click the command icon again to switch back to the
normal view.

2-8
DIgSILENT PowerFactory The Work Environment in PowerFactory

When PowerFactory has just been started, the toolbar shows only the general com-
mand icons. The 'toolbar select' icon ( ) can be clicked to select additional command
icons.

2.4 Getting Help


The PowerFactory software comes with a number of help facilities:
1 The commercial version comes with a hard copy of the Users Manual and the
Getting Started Tutorial.
2 All versions have on-line versions of the Users Manual and the Getting Started
Tutorial, which can be opened from the Help option on the main menu (see figure
2.7).
3 All versions have a context sensitive help which will directly jump to the right page
of the on-line Users Manual when the F1 key is pressed.
4 All versions have balloon help installed which will give the names of command icons,
or input parameters, if the cursor is positioned over these items and held still for
about half a second. The graphical elements for which balloon help is provided are:
1 Buttons/icons (available for all command icons).
2 Class-icons (see left icon column in figure 2.9).
3 Parameter fields (available for all parameters fields in the table from figure 2.9).

Fig. 2.9: Data Manager view on graphical elements with balloon help available

The Users Manual and Getting Started Tutorial are quite similar in print and in the on-line
version. Command buttons/icons are sometimes referenced by their name, instead of by
their image. For large buttons, this is normally the case. The name of a button is either
the name on the button itself (OK, Cancel), or the name that appears in the balloon
help( = User Settings).

2-9
DIgSILENT PowerFactory The Work Environment in PowerFactory

2.5 Toolbar Definitions


The main PowerFactory toolbar provides the user with quick access to the main com-
mands available in the program. This section provides a brief explanation of the purpose
of the icons found on this toolbar. More detailed explanations for each of the functions
that the icons command are provided in the other sections of the manual. The main tool-
bar is depicted in two parts in figure 2.10 and figure 2.11.

Fig. 2.10: Main Toolbar, left part

Fig. 2.11: Main Toolbar, right part

New Database Manager


Opens a new database manager. When the option "Use Multiple Data
Manager" (see under User Settings −>General) is enabled in the user
settings menu the user will be able to open as many data manager
windows as required. If "Use Multiple Data Manager" is disabled in the
user settings menu, the user will be able to open only one data
manager window. For more information please refer to chapter 6.

Edit Relevant Objects for Calculation


Provides a list of elements (colored in green) or types (colored in red)
that are considered for calculation: e.g. transformer types, line
elements, composite models, etc. The study case determines which
objects are considered for calculation (for more on study cases see
section 7.1.3). These objects are grouped by 'Class' (see the chapter:
Glossary for an explanation of 'Class' in the PowerFactory context).
If, for instance, no relay objects are used, then the relay-button will not
be shown. All objects from the selected class(es) will be shown in a
browser. For more information please refer to section 12.2.

Date/Time of Calculation Case


Displays the date and time for the calculation case. This option is useful
when parameter characteristics of specific elements (e.g. active and
reactive power of loads) are set to change according to a certain time
scale. Modifying the date/time in this dialogue adjusts those
Parameters that have time based triggers/scales accordantly.

Edit Trigger
Displays a list of all triggers that are in current use by the active study
case. These triggers can be edited in order to change the values for
which one or more characteristics are defined. These values will be
modified with reference to the new trigger value. All triggers for all

2 - 10
DIgSILENT PowerFactory The Work Environment in PowerFactory

relevant characteristics are automatically listed. If required, new


triggers will be created in the study case. For more information, see
10.1 (Characteristics, Scales and Triggers).

Calculate Load-Flow
Activates the load-flow command dialogue. For more information about
the specific settings, please refer to chapter 13 (Load-Flow
Calculations).

Calculate Optimal Power Flow


Activates the optimal power flow command dialogue.

Calculate Short-Circuit
Activates the short-circuit calculation command dialogue. For more
information, please refer to chapter 14 (Short-Circuit Calculations).

Edit Short-Circuits
Edits Short-Circuit events. Events are used when a calculation requires
more than one action or considers more than one object for the
calculation. Multiple fault analysis is an example of this. If, for instance,
the user multi selects two busbars (using the cursor) and then clicks
the right mouse button Calculate −> Multiple Faults a Short-circuit
event list will be created with these two busbars in it.

Execute DPL Scripts


Displays a list of DPL scripts that are available. For more information
about DPL scripts, please refer to chapter 29 (The DIgSILENT
Programming Language - DPL).

Output Calculation Analysis


Presents calculation results in various formats. The output is printed to
the output window and can be then used in external reports, or may be
of assistance to interpret calculation results. Several different reports,
depending on the actual calculation, can be created. For more
information about the output of results please refer to section 27.2.7
(Output of Results).

Documentation of Device Data


Presents a listing of device data (a device is the model of any physical
object that has been entered into the project for study). This output
may be used in reports, or may be of use in checking data that has
been entered. Depending on the element chosen for report, the user
has two possibilities: to generate a short listing, or a detailed report.
For more information please refer to section 27.2.6 (The Output of
Device Data)

Comparing of Results On/Off


Compares the differences between two or more calculation results, for
example, where certain settings or designs options of a power system

2 - 11
DIgSILENT PowerFactory The Work Environment in PowerFactory

have been changed from one calculation to the next. For more
information please refer to 12.4 (Comparisons Between Calculations).

Edit Comparing of Results


Enables the user to select the cases/ calculation results that are to be
compared to one another, or to set the coloring mode for the difference
reporting. For more information please refer to 12.4 (Comparisons
Between Calculations).

Update database
Utilizes the current calculations results (i.e. the calculation 'output'
data) to change input parameters (i.e. that data that the user has
entered). An example is the transformer tap positions, where these
have been calculated by the load-flow command option "Automatic Tap
Adjust of Tap Changers." For more information please refer to section
12.4.2 (Update Database).

Break
Stops a transient simulation or DPL script that is running.

Reset Calculation
Resets any calculation performed previously. This icon is only enabled
after a calculation has been carried out.

User Settings
User options for many global features of PowerFactory may be set
from the dialogue accessed by this icon. For more information please
refer to chapter 4 (User Settings).

Maximize Graphic Window


Maximizes the graphic window. Pressing this icon again will return the
graphic window to its original state.

Maximize Output Window


Maximizes the output window. Pressing this icon again will return the
output window to its original state.

Current Study Case


This drop down window displays the name of the study case that is
currently activate. The user may also 'toggle' between study cases in
the project by selecting them from this drop down list.

Select ToolBar
Drops down when pressed to present sets of icons (to the right of it)
for various calculation commands: e.g. Stability, Reliability, Harmonics,
Optimal Capacitor Placement and Data Acquisition.

Zoom In Changes the mouse mode to zoom; draw a zoom area by holding the
left mouse button down and dragging a zoom area on the graphic.

2 - 12
DIgSILENT PowerFactory The Work Environment in PowerFactory

Everything in this area will be enlarged, with limits as defined by the


zoom area.

Zoom BackSteps the enlargement setting backwards to the last zoom setting. The
zoom can also be activated by holding the ALT key down and pressing
+ or - to zoom in or out, respectively.

Note The user may pan in the graphic, when it is zoomed. To activate
the pan mode place the cursor in a clear space in the graphic (i.e.
where there are no objects), right-click −> "Change Viewpoint."
Now hold the left mouse button down and drag the cursor to an
edge of the graphic - the graphic will pan in that direction. To exit
the pan mode right-click the mouse (this is a valid escape com-
mand for most mouse modes in PowerFactory)

Zoom All
Displays the graphic as a virtual full page (zoom=100%).

Zoom-level
Displays the current zoom setting. The desired zoom setting may be
typed in directly if required; type the desired zoom level, e.g. 175% as
'175' and press ENTER

Print
Prints the currently active graphics window.

Note If the graphic is zoomed less than 200% it will be printed full size,
as determined by the drawing format

Set Drawing Format


Defines the drawing area. This 'virtual' drawing size is independent of
the physical paper size selected.

Rebuild
Under some circumstances the drawing may not be updated correctly.
Press the rebuild icon to update the currently page from the database.

Insert New Graphic


Creates a new graphic and displays it in the active graphic board (the
graphic board folder is held in the study case folder and 'remembers'
which graphics have been activated for display by the user). For more
information, please Refer to chapter 8 (The Graphic Windows).

Insert Existing Graphic


Inserts an existing graphic page (e.g. from another project) to the
current graphics board.

2 - 13
DIgSILENT PowerFactory The Work Environment in PowerFactory

Freeze Mode
Freezes the single line diagram or the block diagram. In the freeze
mode the diagrams cannot be graphically altered. The underlying data
objects may however still be edited. The freeze mode may be selected
when the single line or block diagram has been completed, thereby
preventing accidental changes.

Graphic Options
Activates the graphic options dialogue (includes options such as "Snap
to Grid" or the cubicle representation). Each graphic window has its
own settings which can be changed using this icon. For more
information, please refer to section 8.3 (Graphic Commands, Options
and Settings).

Show layer...
Activates the layers dialogue. The single line graphic and the Block
diagram graphic windows use transparent layers of drawing sheets to
show the graphical symbols. Each of these layers may be set to be
visible or not. The names of devices, for example, are on a layer for
called "Object Names" and may be hidden by setting the layer to
'invisible'. For more information, please refer to section 8.3.4 (Graphic
Layers).

Undo
Undoes graphical changes and some data changes. Note that this
command is not a 'universal' undo and that deleted elements are sent
to the "Recycle Bin," from where they may be restored. Parameters
that have been changed are not 'undone.'

Mark All Elements


Marks (select) all objects in the drawing. This is helpful for moving the
whole drawing to another place or copying the whole drawing into the
clipboard. In block diagrams the surrounding block will not be marked.
CTRL+A will perform the same action.

Edit and Browse Data


Edits the device data of all selected objects in the drawing. If only one
object is marked then the object edit dialogue will pop up directly.
When more than one object is marked, a Data Manager window will
show the list of marked objects. As with a normal Data Manager, these
objects can be double-clicked to open their edit dialogues.

Delete Element
This icon deletes all selected objects in the drawing. The objects in the
database which correspond with the graphical objects will also be
deleted, unless the elements are represented in more than one graphic.
In this case the use will be asked whether the data elements and/ or
other graphics should also be deleted.

2 - 14
DIgSILENT PowerFactory The Work Environment in PowerFactory

Cut
Cuts all selected objects from the current graphic and places them into
the clipboard.

Copy
Copies all marked objects from the current graphic and places them
into the clipboard.

Paste
Pastes objects from the clipboard to the current/ active graphic.
Objects are inserted to the graphic at the cursor position.

Reconnect Element
Pressing this button disconnects the selected elements, and presents
them for reconnection, one by one. The element is entirely
disconnected and may be connected elsewhere. Once the element has
been disconnected the cursor is seen to be connected to the element
via a 'rubber band.' This action should not be confused with the
"Reconnect Graphically" command, which retains the connections but
allows the user to re-draw the element in a more convenient manner.

Select Graphic Attributes


Sets the current line style, line width, brush style, color and font. Note
that in this instance 'line' refers to annotation lines and not to electrical
lines. The brush style is used to fill solid symbols like squares and
circles.

Color Representation
Opens the color representation dialogue. This dialogue is used to select
coloring modes which assist in assessing results, for example, coloring
by over or under voltage and branch loading. For more informationless
refer to section 8.3.5 (Color Representation).

Title Block On/Off


Shows or hides the title block for the graphic.

Legend Block On/Off


Shows or hides the legend block for the graphic (the legend block is the
key to the results box configuration).

Draw existing Net Elements


Opens a database browser listing all elements considered for study (i.e.
as determined by the active study case) that are not shown on the
current graphic. "Draw Existing Net Elements" is normally used to build
single line graphics from imported data. For more information, refer to
section 8.1.5 (Building from Predefined Objects).

Station Feeder Options


Displays the "Cubicle Parameter Settings'' dialogue. The settings in this

2 - 15
DIgSILENT PowerFactory The Work Environment in PowerFactory

dialogue determine the type of cubicle that will be created


automatically when a branch element is connected to a busbar system,
where no free cubicle is available, and when a completely new station
has been inserted.See Selecting Cubicles, for more information about
the creation of busbar systems and cubicles.

Default voltage levels for Terminals and Busbars


All nominal voltages used in the current network are listed in this drop-
down box (new voltages are specified by placing a node and editing its
dialogue; as soon as a new voltage is entered it is added to the drop
down list). It can be used to select the nominal voltage for the next
terminal or busbar that is created. This can be used in combination
with a coloring mode according to voltage levels, in which case the
creation of a new network is speeded up and the risk of using incorrect
nominal voltages is reduced at the same time.

Default Phase Technologies for Terminals


Specifies the default phase technology that will be used for the next
terminal to be created.

2 - 16
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

Chapter 3
Logon, User Accounts and Program Settings

PowerFactory is supplied with a user account managing system, which provides the
user with the possibility to create and maintain a secure folder in which only he/ she may
work. In the case of only a single user in a stand alone application this security is of course
provided by the PC log-on security.
However, in a multi-user environment, where users are accessing a central database, sep-
arate accounts for all users may be created. Sophisticated user account and project man-
agement tools allow the sharing of data whilst retaining data integrity of the original
project file.

Note You will find a detailed description of the PowerFactory installa-


tion, license configuration and the creation/administration of the
multiple-user environment in the Installation Manual.

3.1 Program Configurations and Settings


In general there are 3 different main questions to be answered before installing the soft-
ware. The answers to these will determine how the software is to be installed:
• License: Where should the license key(s) reside?
• Installation: Where should PowerFactory be installed?
• Database: Where should the database reside?

3.2 License Key(s)

3.2.1 License Key Installations


PowerFactory may be run in a demonstration mode as a 'Demo' user, where certain re-
strictions apply; in this case a ''soft'' licence key is required and will be emailed to the user
on request.
To install this menhaden version of PowerFactory, go through the following steps:
 Place the installation CD into your CD-ROM-drive
 The setup will start automatically. If this does not occur then the setup may be
manually started using Setup.exe, located in the CD-ROM main directory.
 During the installation procedure select Demo-Version.

3-1
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

The ''full'' version requires a licence key and this may either be an individual, discrete key
(or several individual keys, or a special network key that administers a number of licences
from a central location. This network key will be placed on a networked machine that runs
continuously.
A detailed description of the types of possible installations of PowerFactory on single
PCs and in network environments can be found in the Installation Manual on the
PowerFactory -CD.

3.2.2 License Settings


After completion of the installation start the program. A IntLogon dialogue will appear.
The License page of this dialogue should read as shown in figure 3.1:

Fig. 3.1: License settings for demo user

The Log on page of this dialogue is used to log on as a specific user.

Note To run the prepared examples please log on as Demo user. This
user requires no password and you have the possibility to use the
demo projects with the full functionality of PowerFactory.

Three types of license settings are possible:


• 'Not available (Demo)': no license at all; for the 'Demo' account.
• 'On local port', which means that a valid PowerFactory license key ('hardlock') must
be connected to the USB or parallel port.
• 'In network (file based communication)', which means that a connection to a network
computer, which has the PowerFactory network license service running must be
available.
• 'In network (protocol based communication)', which means that a connection to a
network computer, which has the PowerFactory network license service running
must be available.
Please find a detailed description of the different installation methods in the Installation
Manual on the PowerFactory -CD.

3-2
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

3.3 The Log On Page

3.3.1 Log on
A special account for administration of the user accounts is provided, with a special ac-
count for demonstration purposes; these accounts are named 'Administrator' and 'Demo'.
Since there is a user accounting system one needs to log on when starting PowerFac-
tory. The log-on dialogue presents various options that may be configured for your par-
ticular system and installation.
To log on a user name and password is required. If starting PowerFactory for the first
time you can create a user account by typing in your name and a password of your own
choice (this only holds true for a stand alone installation; a multi user installation will have
accounts that have been defined by the user who has access to the Administrator ac-
count).
When you see the 'Do you really want to create a new user account' message press OK
to create your own account (should you forget your password you can log on as the Ad-
ministrator user - the default password is 'Administrator'; and change the password using
a data manager).

3.3.2 Advanced Settings


The advanced program settings should only be changed under the guidance of the DIg-
SILENT PowerFactory support at support@digsilent.de.

3.3.3 Appearance Settings


The appearance settings influence the way in which the toolbar buttons are displayed and
the way in which dialogues will open, close or move scroll bars and other objects.
These settings may be changed to suit the users personal taste.

3.4 The User Account Management System


The user account philosophy of PowerFactory basically works in the same way as is usu-
al for larger computer systems. The first objectives of the user account managing system
are:
• To protect the 'system' parts of the database from changes by normal users.
• To protect the part of the databases which belongs to user ''A'' from being changed by
user ''B''.
• To allow users to share data.
The effect of the user account managing system is to provide each user with the their
own ''private'' database, which is separate from other users. The user is nevertheless able
to use shared data, either from the common system database or from other users, and
may enable other users to share 'private' data.
The user account managing system manages this whilst using only one single database

3-3
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

in the background, which allows for simple backup and management of the overall data-
base.
The basic PowerFactory database structure, as depicted in the figure 3.2 consists of the
following folders:
The main Library folder
contains all standard PowerFactory types and models. The main
library folder is read only for normal users.
The System folder
contains all objects that are used by internally PowerFactory. The
system folder is read only for all normal users. Changes are only
permitted when logged on as the Administrator, and should be
conducted under the guidance of DIgSILENT customer support.
The Administrator folder
contains all objects needed for creating and managing user groups and
user accounts and for changing global settings.
The Demo folder
contains all demo projects that can be executed by the demo-user. The
demo projects are shared projects and can thus be read and used by
normal users.
User account folders
contain the project folders and all other folders in which the normal
user defines his power systems and all accompanying objects and
settings.

Fig. 3.2: Basic database structure

3.4.1 The Demo Account


The demo account is for demonstration or testing purposes only. The demo account folder
is filled with numerous demonstration projects. These projects are accompanied by dem-
onstration command scripts which can automatically activate a demo project and perform
commands such as load-flow, short-circuit or transient analysis. Execution of these com-
mand scripts is started by selecting a demonstration from the main menu option File −>

3-4
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

Examples. This menu option has several sub-menus from which a demonstration may be
selected. Selecting a demonstration will start the appropriate command script.-->
Note that this menu option File −> Examples is only available when one is logged onto the
''Demo'' account.
These projects may also be activated and observed in the manner normally employed by
PowerFactory. To learn how this is achieved it is best to work through the on-line tuto-
rial that is provided. See under Help −> Getting Started.

Note The demo user has read and write permissions for all demonstra-
tion projects. However, calculations will only be permitted for the
demonstration networks as long as they have not been changed in
a topological sense. This means that adding or deleting lines,
transformers, loads, machines, etc., will lead to error messages

These error messages may be like:

DIgSI err - demo version: only examples and tutorial available


DIgSI err - maximum number of busbars exceeded

Licensed users may log in as the ''Demo'' user, change the demonstration projects in any
way, and still be able to start a calculation (as long as their hardlock is available to
PowerFactory). Note that any changes that are made to the demonstration projects will
be kept (that is, the projects are not 'reset' on logout from the Demo account). This may
result in errors when the Demo account is used without a hardlock. Licensed users may
simply copy and paste projects that they are interested in, into their own account for mod-
ification.
As long as a user does not make any topological changes, these demonstration projects
may be used to experiment with PowerFactory. Such experimentation may include:
• Changing and executing commands such as load-flow, short-circuit or transient
analysis.
• Changing power system elements such as selecting other line types, changing
generator settings, etc.
• Creating new calculation cases
• Changing the appearance of the single line graphics except for adding or deleting
power system elements.
• Creating or changing virtual instruments panels such as defining graphs or changing
bar diagrams.

3.4.2 The Administrator Account


The administrator has full read and write permissions for all folders in the database. This
includes the system folders, the demo folder, and all user account folders.
The main objectives for the administrator are:
• Creating and managing user accounts.

3-5
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

• System database maintenance under the guidance of the DIgSILENT customer


support.

3.4.3 Creating and Managing User Accounts


In the case of an installation with a local database, the simplest way to create a new user
account is to enter an unknown account name in the log on dialogue. The creation of the
new account must be confirmed. The program will then create and activate the new ac-
count. In this case no administrator intervention is required for such local database instal-
lations.
For multi-user database installations, the administrator creates new user accounts with
the 'User Manager' object (IntUserman), found in the Administrator account folder (use
a Data Manager to see this). To add a new user:
• Right-click the 'User Manager' and select 'Edit'
• Press Add User...
The User edit dialogue will pop up:
• Enter the user account name, password and other details
• The new user may also made part of any groups which is created. This allows
selective sharing of projects amongst users.
• If a licensed version with a restricted number of functions is used (i.e. you may have
4 licences with basic functionality, but only 2 stability licences), the 'License' tab may
be used to define the functionality that a user can enjoy. Remember that the "Multi
User Database" option should be checked for all users that will access the multi user
database.
The administrator is the only one who may delete a user account. Although users can de-
lete all projects in their account folder, they cannot delete the account folder itself or the
standard folders that belong to it (i.e. the 'Recycle Bin' or the 'Settings' folder).

3.4.4 Creating User Groups


Any user created project or folder in a user account may be shared for use by others. This
may be done selectively by sharing only with certain groups, or by sharing for all.
The administrator can create new user groups with the "User Manager" object (IntUser-
man):
• Right-click the ''User Manager'' and select Edit.
• Press Add Group.... The identification number is automatically assigned and does
normally need to be changed.
• Enter the name of the group and, optionally, a description.
This will create a new group object (IntGroup) in the administrator account folder. A
group is deleted by deleting this group object.
See also section 3.5 (Users and User Groups).

3-6
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

3.5 Users and User Groups


The user account folder is the basic environment for all users of PowerFactory. Each
user has full read and write permission in his own account folder.
A new user must first create a project in order to be able to define power system designs
and to perform calculations. A user account folder allows for an unlimited amount of
projects, each of which may contain several grid definitions and calculation cases.
Projects may also be grouped under folders created by the user.
Please refer to chapter 7 (Project Management) for more information on projects, grids
and calculation cases.

3.5.1 Using Shared Data


In order to share projects (only projects may be shared and not individual grids in a
project) users must have access to a central database, and must also have the multi user
software installed.
It is of course possible to ''share'' projects by creating dz files of the project and passing
these to others users, however, sharing, in the sense described here, means to share the
data so that several users may make use of one original set of data, contained in a project.
This allows all users to begin their own projects using the same ''base'' data.
In this manner, should the original project be modified or updated all users who are uti-
lizing the shared data will have the updates reflected to their own project, thus ensuring
that their base data is always correct and up to date.
All of this is achieved by using what are known as 'Remote System Stages' which are es-
sentially variants of the original project.
To understand remote system stages or variants, it is important to understand normal
system stages first. Please refer to section 7.2.1 (Projects and System Stages) for a de-
scription of project and system stage management.
For this introduction into remote variants, it is sufficient to know that a variant is basically
a temporary image of the original grid (as the user will have seen, by reading the section
7.2.1 (Projects and System Stages), data regarding the network is contained in the grid
folders, thus these are the folders that variants are created from). This image exists as
long as the remote variant is active. During this time, the remote variant keeps track of
all changes made to the original grid. The original grid itself is not changed in any way.
At deactivation, the remote variant destroys the image of the original grid and keeps only
the changes that have been made. At the next activation of the remote variant, a new
image of the original grid is made and all saved changes are executed once more. This
returns the remote variant back to the state that it was in prior to de-activation. The ad-
vantage is that any changes that have made to the original grid will now be carried over
to the remote variant, so keeping it up to date. Should the user who has made the variant
have made changes to an element that has also been changed in the original grid the
variant 'locks' this element and will not allow changes from the original.
The process of sharing data is twofold:
• The user with the original or base project must set the sharing rules.
• Users wishing to use this base project data add the required grids to their own
projects inside their user accounts as remote system stages.

3-7
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

3.5.2 Sharing the Original or Base Project Data


Any project may be shared but note that only ''top level'' folders may be shared. Subfold-
ers cannot be shared (top level folders are those that are the first level of folders that are
encountered below the user folder- for a project created in the standard manner the
project folder itself is the top level folder). If a user has created a top-level folder in there
are three projects, A,B and C, then only the whole folder may be shared. The individual
projects, A, B and C cannot be separately shared as they are no longer the top level folder.
Sharing a project/ folder is achieved by right-clicking it and selecting "Sharing...". The di-
alogue that pops up shows the current settings.
Changing the share settings (the sharing rules - that is, which groups are allowed to have
access to the folder) is a matter of double-clicking the user group names to move them
from the left to the right pane, or back again, in order to change the user groups that
have access to the project.
Sharing the project with all other user groups is possible by enabling the option Share for
Everyone.
Other users may now define remote variants for the shared projects once a project has
been shared. Once such remote variants have been defined, it becomes potentially haz-
ardous to remove or change the share settings. This is because the projects of the other
users using the shared (base) project for remote variants will lose vital data when the
shared data is suddenly no longer available. However, if the shared data is not used, there
is no danger in changing the share settings. To check whether a grid has remote system
stages right-click the grid when it is shown on the right hand side of a data manager −>
Output... −> Reference List. This will provide in the output window a list of all objects that
are referenced to the grid, including remote system stages.
How to use shared data is best explained by an example. In the figure 3.3, a database as
seen by an administrator is shown. Three user accounts are visible, for "User 1'', "User 2''
and "User 3''. User 1 and 2 have both defined a project.

Fig. 3.3: Administrator view with three users

The administrator has created three user groups:


• "Group 12'' has User 1 and 2 as members.

3-8
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

• "Group 13'' has User 1 and 3 as members.


• "Group 23'' has User 2 and 3 as members.
Both user 1 and user 2 have shared their projects with a group:
• User 1 has shared its "Project A'' with "Group 12''.
• User 2 has shared its "Project B'' with "Group 13''.
User 2 thus has shared his project with a group of which he himself is not a member. This
is allowed.
The result of this sharing is depicted in the figure 3.4:
• The left pane shows the database as it appears to User 2. He sees his own projects,
and Project A because he is a member of Group 12.
• The middle pane shows the view for User 3. He cannot see Project A, because he is
not a member of Group 12, but he can see the shared project B.
• The right pane shows the view for User 1. He also can see the shared project B.

Fig. 3.4: User views with shared projects

3.5.3 Creating the Remote System Stages


Any ''base'' project that can be seen by a user (in other words, a project that resides in
another users folder that has been shared) may be used to create remote system stages
from.
The creation of the remote system stage will be shown by example. In the figure 3.5 the
original project ''owner'' is a user called ''Raj1''. He has shared the ''Simple Power System''
project.
The second user, ''Raj2'', wishes to use the data from the ''Simple Power System' project
as created by Raj1. In this case the Simple Power System in the Raj1 folder can be con-
sidered as the ''base'' project. In order to study any data ''Raj2'' must have an active
project and study case. As can be seen in the figure 3.5 such a project, entitled ''Simple
Grid Raj2 Variant'' has been created. There is an active study case and no grid folder (the
grid folder that was created when the new project command was executed may simply
be removed from the study case and deleted- alternatively, no grid folder is created if the
user presses the Cancel button when PowerFactory asks for a name for the grid).

3-9
DIgSILENT PowerFactory Logon, User Accounts and Program Settings

Fig. 3.5: Remote system stage step 1

''Raj2'' now right-clicks the grid folder in the Simple Power System project in Raj1's ac-
count and selects Add to Study Case. The grid is added to Raj2's project as a remote sys-
tem stage as shown in the figure 3.6. Raj2 may now work on the base data and make
additions and changes as required, without affecting the data in the base project.

Fig. 3.6: Remote system stage step 2

Note Whilst system stages and remote system stages are very powerful
tools that assist the user in the creation of variants they do not ab-
solve the user from the need to think carefully as to how to create
and use the variants. Should topographical changes be made to
the same elements in both the system stage and then the original
project PowerFactory is not able to discern how these should be
managed, thus the use of system stages should be understood and
carefully managed. Please see chapter 7 (Project Management)
here for more information on managing projects

3 - 10
DIgSILENT PowerFactory User Settings

Chapter 4
User Settings

The user settings dialogue (figure 4.1) offers options for many global features of Power-
Factory. This dialogue may be opened either by clicking the User Settings icon ( )
on the main tool bar, or by selecting the Options −> User Settings... menu item from the
main menu.

Fig. 4.1: User Settings dialogue

4.1 General Settings


The general settings include (figure 4.1):
Confirm Delete Activity
Pops up a confirmation dialogue whenever something is about to be
deleted.
Open Graphics Automatically
Causes the graphics windows to re-appear automatically when a
project is activated. When not checked, the graphics window must be
opened manually.
Beep on user errors
May be de-selected to suppress sounds.
Use Multiple Data Manager
When enabled, more than one data manager dialogue can be opened

4-1
DIgSILENT PowerFactory User Settings

at a time. When disabled only one data manager may be opened at a


time and pressing the New Data Manager button will pop up the
minimized data manager.
Use operating system Format for Date and Time
the operating system date and time settings are used when this is
checked.
Use Default Graphic Converter.
Edit Filter before Execute
Presents the filter edit dialogue when a filter is selected, allowing the
user to edit the filter before application. However, this is sometimes
irksome when a user is applying a filter several times. Thus one may
choose to go straight to the list of filtered objects when the filter is
applied by un-checking this option.
Always confirm Deletion of Grid Data
When this option checked a confirmation dialogue is popped up when
the user deletes grid data.
Decimal Symbol
Selects the symbol selected to be used for the decimal point.
Use Standard Database Structure
In order to simplify the operation of PowerFactory for users who do
not use the program often, or who are just starting out certain
restrictions may be introduced into the database structure, for
example, allowing only 'Type' data to be placed in Library folders (when
this option is un-checked). However, this may be irksome for advanced
users or those who are used to the standard database working where a
great deal of flexibility is permitted, so as to suit the users needs, and
thus the standard structure may be engaged by checking this option.
System Stage Profile
The ability to create system stages may be limited by this option.
Existing system stages will still be visible but the right menu options
that create new revisions or system stages will be removed. This is
once again a tool that may be used to 'simplify' PowerFactory for
users not familiar with the program by limiting the operations that they
may use.

4.2 Graphic Windows Settings


The graphic windows has the following settings.
Cursor settings
Defines the cursor shape:
- 'Arrow': a normal, arrow shaped cursor
- 'Crosshair': a large, full screen cross
- 'Tracking cross': a small cross
General Options
Valid for all graphs:

4-2
DIgSILENT PowerFactory User Settings

- 'Show Grid only if stepsize will be least': grid points smaller than the selected size
will not be shown.
- 'Show Text only if height will be least': text smaller than the selected size will not
be shown.
- 'No. of columns in graphics floater': specifies the width of the graphics toolbar
when this is a floating window.
- 'No. of columns in graphics docker': specifies the width of the graphics toolbar
when it is docked on the right side of the drawing space.
- 'Line factor when printing': The width of all lines in the graphics will be multiplied
by the specified percentage when printing.
Coordinate Output at statusbar in mm
Specifies that the status bar will display the cursor position in
millimeters.
Update Hidden pages always
Results in all graphical pages on a graphics board being updated, even
when they are not visible. Note that this can slow the processing speed
considerably. The advantage is that no updating is required when a
different graphics page is selected.
Exclude Feeder Colors
May be used to exclude colors, by number code, which are to be used
for feeder definitions. This is used to prevent the use of colors which
are already used for other purposes. Ranges of color numbers are
entered as '2-9'. Multiple ranges of colors must separated by commas,
as in '2-9;16-23'.
Update Graphic while Simulation is running
Use own background color for single line graphics
If the option is enabled, the user can define the background color of
the single line graphics by using the pop up menu and then pressing
OK.

By pressing the ( )button more graphic setting options are available:


Allow Resizing of branch objects
If the option is enabled, the user can left click a branch element within
the single line graphic and then resize it.
Edit Mode Cursor Set
Allows the selection of the mouse pointer shape.
Mark Objects in Region
Defines how objects within an user defined region of the single line
graphic (defined by left clicking and then drawing a rectangle) are
selected:
- 'Complete': Only the objects, that are completely enclosed in the defined region,
are selected.
- 'Partial': All the objects within the defined area are selected.
Show balloon Help
Enables or disables the balloon help dialogues.

4-3
DIgSILENT PowerFactory User Settings

For information about the Graphic Window refer to chapter 8 (The Graphic Windows).

4.3 Data Manager Settings


The data manager tab specifies which object types will be displayed or hidden in the tree
representation, and whether confirmation prompts will appear when objects or data is
changed in the data manager itself.
Show in Treelist
Object classes that are selected will be displayed in the database tree.
Save data automatically
The data manager will not ask for confirmation every time a value is
changed in the data browser when this option is selected.
Sort Automatically
Specifies that objects are automatically sorted (by name) in the data
browser.
Export/Import Data
Configures the export and import of PowerFactory 'DZ'-files, as
follows:
- 'Include Binary Data' saves binary data, such as results in the result folders, to the
'DZ' export files.
- 'Export References to Deleted Objects' will also export references to objects which
reside in the recycle bin. Normally, connections to these objects are deleted on
export.
- 'Enable export of activated projects' will permit the export of an activated project.
Folders for Global Library
The default global type folder is the System\Library\Types folder. This
default folder contains many predefined object types, but objects
within this folder may not be changed by the user (read-only access).
This option allows the user to specify a different ''Global Type Folder'',
possibly a company specific and defined type library.
For information about the Power Factory Database Manager refer to chapter 6 (The Da-
tabase and the Data Manager).

4.4 Output Window Settings


The output window settings control the way in which messages selected by the user, in
the output window are to be copied for pasting into other programs.
Whichever options are checked will determine what will be copied. The text in the output
window itself will not be influenced.
Escape sequences are special hidden codes which are used for coloring the text, or other
formatting commands. Some text processing programs are not capable of using the
PowerFactory escape codes. The Text Only option should be set in such cases. The text
in the output window itself will not be influenced by the options chosen here.
The number of lines displayed in the output window may also be limited.

4-4
DIgSILENT PowerFactory User Settings

4.5 Functions Settings


The functions settings page provides check boxes for the function modules that are ac-
cessible from the data manager or from the object edit dialogues. The user may choose
to see only certain modules in order to ''unclutter'' dialogues.
This may also be used to protect data by allowing only certain calculation functionality to
be seen by certain users. This is particularly useful in a multi-user environment or in when
inexperienced users utilize PowerFactory.

4.6 Directories
Compiled DSL Models
Pre-compiled DSL models may be available for use as external models.
The DSL directory should be directed to the correct folder/ directory in
order for PowerFactory to find these models.
PFM-DSM

4.7 Editor
The editor which is used to enter large pieces of text (such as DPL scripts, objects de-
scriptions, etc.) can be configured on this page.
Enable Virtual Space
Allows the cursor to move into empty areas.
Enable Auto Indent
Automatically indents the next line.
Enable Backspace at Start of Line
Will not stop the backspace at the left-most position, but will continue
at the end of the previous line.
View blanks and tabs
Shows these spaces.
Show Selection Margin
Provides a column on the left side where bookmarks and other
markings are shown.
Show line Numbers
Shows line numbers.
Tab Size
Defines the width of a single tab.
Tabs
Toggles between the use of standard tabs, or to insert spaces when the
tab-key is used.
Language coloring
Defines the syntax-highlighting used when the type of text is not
known.
ShortCuts
Opens the short-cut definition dialogue.

4-5
DIgSILENT PowerFactory User Settings

4.8 Power Ware


When working with DIgSILENT’s PowerWare, connection options are stored in the
user settings.The connection options are as follows:
Service Endpoint
Denotes the PowerWare server name. This name resembles a web
page URL and must have the form:
http://the.server.name/psmsws/psmsws.asmx
or
http://192.168.1.53/psmsws/psmsws.asmx
http denotes the protocol, the.server.name is the computer name (or
DNS) of the server computer and psmsws/psmsws.asmx is the name of
the PowerWare application.
Username/Password
Username and Password have to be valid user account in PowerWare.
A PowerWare user account has nothing to do with the
PowerFactory user account. The very same PowerWare account
can be used by two different PowerFactory users.The privileges of
the PowerWare account actually restrict the functionality. For device
import the user requires read-access rights. For exporting additionally
write-access rights are required.

4-6
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Chapter 5
Defining a Power System Model in
PowerFactory

The objective of this chapter is to present the basic procedure that is followed in Power-
Factory to define and simulate a power system model. A simple distribution network is
used for this purpose. During the definition of the sample network, references to more
advanced topics related to the definition and analysis of power systems are provided.
The information presented here is intended to serve as a quick reference to new users.
Detailed information about the same procedures is given in the PowerFactory tutorial
and in the coming chapters of this manual. Experienced users are encouraged to skip this
part of the document.

5.1 Getting Started


As soon as you log on, the main PowerFactory window is presented. The upper part
contains the main toolbar and the main drop down menus (figure 5.1 [1]). The middle
part (figure 5.1 [2]), which would be momentarily empty, contains the graphic windows
where single line graphics, block diagrams, station graphics and plots of results are dis-
played. The lower part (figure 5.1 [3]) corresponds to the output window, where all tex-
tual outputs of PowerFactory are written.
To define a network model, the main PowerFactory window and the Data Manager (pre-
sented in chapter 6) are normally used simultaneously. A new data manager window is
opened by pressing in the main toolbar. The data manager window is shown in figure
5.1 [4].

5.2 Creating a New Project


As explained in 6.2.2, a project is a special folder that stores all the information related
to the simulation and analysis of a power system. The first step when defining a new net-
work is to create a new project.
To create a new project, proceed as follows:
 Select File −> New from the main menu.
This will open the ComNew dialogue, as shown in the figure 5.2.
 In the ComNew dialogue, give a name to the new project and select the option
Project from the 'New' field.
 Press Execute.
This last action will create the project folder in the database under the indicated 'Target

5-1
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Folder' (by default your user account). A study case folder and a library folder are auto-
matically created under the new project (information about the study case and the library
folder is given in 6.6).

Fig. 5.1: PowerFactory initial appearance

Note It is only possible to modify active projects. No more than one


project can be activated in a session. To activate or deactivate a
project: In the Data Manager rigth click on it and select 'activate/
deactivate' from the context sensitive menu.

Because a project should contain at least one grid folder (all the network data is stored
in the so called grid folders), immediately after creating the new project, a dialogue to
create a grid pops up (figure 5.3).
 Write the name and the nominal frequency of the new grid and press Ok.
Once you have created the grid folder, an empty single line graphic, having the same
name of your new grid, activates.

5-2
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Fig. 5.2: Creating a new project, ComNew dialogue

Fig. 5.3: The grid edit dialogue

5.3 Defining a Network Model


Once a project and a grid have been created, you can start to define a new network model
using the single line graphic. The procedure used to define the small network from figure
5.4, is going to be described step by step in the following sections. Before defining the
network itself, a brief introduction to the single line graphic window may be helpful.

5-3
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Fig. 5.4: Drawing network elements of the sample network

5.3.1 The Single Line Graphic Window


The single line graphic window (figure 5.5) shows the following fields:
• [1] The drawing area, where the power system elements are placed and connected.
• [2] The graphic window toolbar, where the commands and settings related to the
drawing area are accessed (see 8.3 for further information).
• [3] The drawing toolbox, where the symbols for new network elements are placed
(only visible when the graphic is unfrozen, i.e. is not pressed).
• [4] The page tab, that displays the name of the active graphics and allows the
management of the graphic board (further information about the page tab and the
graphic board is given in 8.2.1).

5-4
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Fig. 5.5: The single line graphic window

Note In a project you will normally work with more than one grid and
will eventually use results plots, station graphics and block dia-
grams. All the graphics that you are using (active graphics) are
stored in a folder called graphic board inside the active study case
(see 8.1.1).

5.3.2 Drawing Network Elements


Drawing power system elements in the single line graphic, simply requires the selection
of the desired element from the drawing toolbox and its placement in the drawing area.
To select an element from the drawing toolbox:
 Find the desired element using the balloon help.
 Left click the button of the desired element. After doing this, the cursor should show
the icon of the selected element.
To place the selected element, left click on the desired position inside the drawing area.
To move the element left click and drag it. To rotate the element rigth click on it and select
Rotate from the context sensitive menu.
To resize the element left click on it once, and then left click and drag one of the small
squares that are shown.
Regard that the single line graphic can only be modified when the graphic is unfrozen
(icon from the toolbar is not pressed).

5-5
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Drawing Busbars and Terminals


When starting to draw a power system, it is natural to first draw the nodes. In Power-
Factory nodes are represented by means of objects called 'Terminals' and 'Busbars'. Ter-
minals are used to represent simple nodes; while busbars are used to create more
complex node closters (further information about node representation is given in 9.1).
In our example we only use terminals to represent the nodes. After selecting, placing and
resizing the corresponding terminals, the new network should look like that on figure
5.6A.

Fig. 5.6: Construction of the sample network

Drawing Edge Elements


There are different ways to position single port elements (loads, machines, etc.). The sim-
plest one is to select the symbol from the toolbar and then left click the busbar where the
element is going to be placed. The asynchronous machines and the external grid from
figure 5.6B were placed in the new network model following that procedure. Double port
elements can be positioned in a similar manner. Left-click the first busbar to make the
first connection, then left click the second busbar. After connecting the2-Winding trans-
formers, the sample network must look like that in figure 5.6C.

Connecting Disconnecting and Deleting


If you need to disconnect an element, rigth click on it and select Disconnect Element, from
the context sensitive menu. You can reconnect the element by selecting Reconnect Ele-
ment.
You can delete an element by rigth clicking on it and then pressing in the graphic
window toolbar.

5-6
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Note There is more than one way to place and connect elements in a
single line graphic. For illustrative purposes, the methods shown
here are the simplest ones. Further information about drawing
power system elements is given in 8.4.

5.3.3 Editing the Elements


The simplest method to edit a component of a power system, is to double click the ele-
ment on the single line graphic. This action will open the element's edit dialogue, where
all its parameters are available. For example, if you double click the 2-winding transformer
below the external network from figure 5.4, the edit dialogue of figure 5.7 will pop up.

Fig. 5.7: Edit dialogue of a two-winding transformer

As it is seen in figure 5.7, the edit dialogue is composed of different tabs. Each tab has
the name of a PowerFactory function, and contains the parameters that are relevant to
the corresponding calculation.
Certain parameters are relevant to more than one calculation, thus they can be found and
edited in different tabs. For example if you update the tap position of a transformer in the
'Load Flow' tab, the new value will also be seen in the 'RMS-Simulation' tab, The 'EMT-
Simulation' tab, etc.
As it was explained in 2.2, electrical data is divided in element and type data. The edit
dialogue of figure 5.7 correspond to the element data and has a reference to a type data
object in the 'Type' field. To properly define a network component you have to edit both

5-7
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

the element and the type data.

The type of the element can be selected from a 'Library' folder by pressing (see
6.6.8). The current type can be edited by pressing (notice that in figure no type ob-
ject has been yet selected).

Note In the edit dialogues you can identify references to other objects
by the 'Select' ( ) and 'Edit' ( ) buttons. When pressing the
'Select' button you are presented a data browser, where you
search for the desired object. When pressing the Edit button the
edit dialogue of the selected type object pops up. Almost every
power system element uses references to type objects. When se-
lecting a type object, a menu where you can select between a glo-
bal or a project type pops up. Project types are those defined in
the project libraries by the user. Global types are those already de-
fined in the libraries that are provided with PowerFactory.

Creating and Editing the Project Types


You can create new type objects in the active project library by following the next proce-
dure:
 Left click the library folder of your active project in the data base tree (left side of the
Data Manager).

 Press to create a new object. The dialogue from figure 5.8 will pop up.

Fig. 5.8: New element type object selection

 Select the desired type from the list presented in the dialogue from figure 5.8. For
example, if a 2-Winding transformer type is to be created; the type dialogue of figure
5.9 will pop up after pressing Ok.

5-8
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

 Edit the type parameters according to your requirements and then press Ok.

Fig. 5.9: Element type object, edit dialogue

Once a type object has been created, it can be used by any element that requires the
same type data.
You can copy type objects defined in other projects or in the PowerFactory libraries,
then you can paste them in your active library and edit them (information about copy and
paste in the Data manager is given in 6.2.4).
It is also possible to use a direct reference to the types defined in other projects and in
the PowerFactory libraries ( −> Select Global Type and then search for the desired
object). In these cases it is not possible to edit the objects.
Further information about data structure (type and element data) and data base is given
in 2.2 and 6.1. For the definitions of Type, Element and Objects, consult the PowerFac-
tory terminology in Appendix A.

Note Information about the parameters of the elements and the type
objects is given in the online available Technical References.

5.3.4 Single Line Graphics and the Data Base


When a new network element is drawn in a single line graphic, a data and a graphic object
are created in the active grid folder. The graphic object contains the information about
the graphical symbol itself, while the data object contains all the parameters and refer-
ences that define the network element.

5-9
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Because the graphic objects use references to their corresponding data objects, there can
be a not 1:1 relation between them, i.e. two graphic objects can have a reference to the
same data object. This fact allows the use of the same data object in different single line
graphics and facilitates for example the interconnection between networks (detailed in-
formation about the relation between graphical and data objects is given in 8.1, for infor-
mation about interconnecting networks see 8.4.5)
It is of course possible to create and edit network elements in the data base (by creating
the data objects) and then generate single line graphics using them (see 8.1.5).

5.4 Performing Calculations


Once the network elements have been defined and edited, you can start to perform cal-
culations. PowerFactory offers a wide variety of calculation commands and tools that
allow the complete analysis of a power system. Calculations in PowerFactory can be
grouped in:
• Steady state calculations: load flow, short circuit, harmonic load flow, impedance
frequency characteristic, network reductions.
• Optimization tools: optimal power flow, optimal capacitor placement, open tie
optimization, cable size optimization, state estimation.
• Reliability assessment tools: contingency analysis, reliability analysis.
• Time domain simulations: RMS simulation, electromagnetic transient simulation.
Calculation settings are stored in the database by means of the so called 'Command' ob-
jects. To perform a calculation you just need to define the corresponding command and
execute it. Calculation commands can be accessed trough the buttons from the main tool-
bar (e.g. for load flow, for shor circuit, etc.).
The simple procedure followed to define a command and execute it, is illustrated here by
means of an example on a load flow calculation:
Suppose, that you already defined the types and edited the parameters of the elements
from the sample network of figure 5.4. Now you want to perform a load flow calculation.
First you have to define the calculation command in the active study case (see 6.6.7 for
information about study case folders). To do this:

 Press the Calculate Load Flow icon ( ) in the main toolbar, to open the calculation
command dialogue (figure 5.10).
 Set the calculation options according to your requirements (see chapter 13 for
information about the Load Flow command settings).
Once you have defined the calculation settings, you can either perform the calculation by
pressing Execute or only save the settings by pressing Close. In any case the new com-
mand object will be saved in the active study case folder. Any time you want to perform
this same calculation, you can go to the study case folder, open the command dialogue
and Execute it.
During the execution of the calculation, information messages including possible errors
and warnings are displayed in the output window. Once a calculation had been success-
fully performed, predefined results tables are displayed in the result boxes of the single
line graphic (figure 5.11), you can of course set the variables to be displayed in these re-
sult boxes (see 8.5).

5 - 10
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

As you would expect, result boxes are only one simple way to view simulation results in
PowerFactory; the program offers an ample set of tools to visualize and export the cal-
culated results. For informations on results visualization see chapter 27.
Although a load flow is a very simple example, the procedure followed to perform any
other calculation is in essence the same. You first define the calculation commands (in-
cluding the initial conditions calculation commands when required), execute them and
then define and visualize the results.
Most of this Manual deals with the definition and execution of the available calculations
in PowerFactory. The Volume III presents all the calculations related to the steady state
analysis; Volume IV presents the optimization tools, Volume V the reliability assessment
tools and Volume VI the time domain simulations.

Fig. 5.10: The command dialogue of the load flow calculation

5.5 Working with Projects


To finish this introduction to the PowerFactory environment, basic informations about
working with projects are presented. A complete description of the project management
capabilities is given in chapter 7 (Project Management).
Probably you have already noticed that every change that you make to your project (or
the data base) is automatically saved on the disk. This means that you may end the pro-
gram at any time without having to save your work or performing any further action.
Once you log on again, you can either create a new project (5.2) or keep working with
an existing one. To work in an existing project you have to activate it:
 In the data tree of the Data Manager rigth click the project and select Activate from
the context sensitive menu.

5 - 11
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Fig. 5.11: Results visualization after the load flow calculation

Within the active project you need an active study case to administrate the calculation
commands, the time settings and the graphic boards. You can create as many study cases
as you require.
 A new study case can be created by rigth clicking the project in the data base tree
and selecting New−> Study Case.
Similar to projects, only one study case can be activated at a time. The calculation com-
mands defined in this active study case are performed only on the active grids (the grids
which are included in the active study case). As expected you can only see single line
graphics from the active grids.
Within a project you can create all the grids that you require. You just have to:
 Rigth click the active project and select New −> Grid.
After the new grid has been created, the dialogue from figure 5.12 is presented. Depend-
ing on the selection, the new grid will be included in the active study case, in an existing
but not active study case or in a new study case.

5 - 12
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

Fig. 5.12: Selection of the study case for a new grid

You can add or remove existing grids from the active study case by means of the context
sensitive menu.
In order to analyze variations in a network without recurring to data redundancy, Pow-
erFactory uses the so called 'System Stages'. For the data base they are special subfold-
ers of the original grid, which store only the changes performed on it. For the user the
will be networks based on an original grid, where topological or element parameter
changes have been applied (Complete information about the functionality of System Stag-
es is given in 7.2).

5 - 13
DIgSILENT PowerFactory Defining a Power System Model in PowerFactory

5 - 14
DIgSILENT PowerFactory The Database and the Data Manager

Chapter 6
The Database and the Data Manager

To manage/ browse the data in PowerFactory, a Data Manager is provided. The objec-
tive of this chapter is to provide detailed information on how the data is structured inside
the program and how to use the Data Manager. Before starting, users should ensure that
they are acquainted with the section 2.2 (Data Arrangement/Structure).

6.1 Object Oriented Database


As has been explained previously data in PowerFactory is sorted into sets, for example
the Type and Element data set. This makes the management, searching, sorting, editing,
etc. of the data much simpler. Besides the two main sets, data for each network object is
further sorted into sets as required for calculation functionality, such as Basic Data, Load-
Flow data, Short-Circuit data, and so forth.
Data that is required by the load-flow function, which has already been entered in the
basic data set, is automatically used by the load-flow function. Thus the user only need
enter any extra data that may be required by a calculation function. If the user changes
data in the short-circuit data set, it is also changed in the basic data set. This ensures that
the user does not have to remember and update data in various places in the database,
only in one place.
The data can thus be described as non-redundant.
Within the database a reference to 'Objects' can be made. Objects are virtual ''things'' in
the database; they may be seen almost as one sees an object in real life. For example,
consider a pencil; it is made of painted wood, with a graphite stylus, it has a length, a
diameter, a weight and it may be picked up and moved from one location to another. In
the database the pencil is an object; its length, diameter, etc., are attributes or parame-
ters of that object.
These objects are then arranged into sets, of which we have so far seen the Element and
Type sets. Commands are also objects; their parameters are the options, such as "Bal-
anced, positive sequence," or, "Unbalanced, 3-phase (ABC)".
In PowerFactory objects are initially placed into 'Class' sets; for example a line element
belongs to the ElmLne class. Classes are very similar to the file extensions seen in Win-
dows. If a line element is edited one will see the class in the title bar of the dialogue - a
line called ''Cable A'' will have "Cable A.ElmLne" in the title bar for example. This allows
the user to have a great flexibility in sorting, and thus searching for and managing data.
Thus data can be sorted by class, or by elements, or by types, and so on.
Objects are also grouped by folders (a folder is an object in itself). Folders are used to
conveniently group a number of objects from different classes; for example, the 'Grid'
folder groups element class objects (*.ElmLne for lines, *.ElmLod for loads, *.ElmTr2 for

6-1
DIgSILENT PowerFactory The Database and the Data Manager

2 winding transformers). The "Library" folder is used to group type class objects. Once
again this does in fact make the management of the data much simpler.
All of this information is somewhat academic to the user at first, as PowerFactory will
assign objects automatically. However it is useful to have a background to this arrange-
ment before using the Data Manager and its tools.
Later in the manual advanced data management philosophy and techniques are described
that allow variants or alternatives to be created, studied and managed.
The PowerFactory database philosophy can thus be summarized into one 'golden' rule:

'Everything is an object and all objects are stored in the database tree'

The consistent and flexible structure of the database, makes it possible to store every-
thing, without losing control. The big advantage is that dialogue settings relating to cer-
tain projects can be stored together with those projects, and consequently can be used
over and over without having to re-enter the settings each time.
A good example of project specific dialogue settings are the calculation dialogues which
are used to set, for instance, the short-circuit options. By storing the dialogue mask inside
the current project, the same short-circuit calculations, using exactly the same settings,
can be repeated by just recalling the saved dialogue. This way of working also enables
the user to store more than one copy of short-circuit settings, for instance, for a certain
set of fault-positions, and running the same set of calculations by recalling the calculation
dialogues one by one. Comparing this way of working to having to enter a dozen fault
positions sequentially, clearly shows the advantages of being able to save and recall com-
mands or other settings.
This means of arranging the data is called a ''hierarchical, object oriented database'' and
is created according to the German DVG-database format.

6.2 Using the Data Manager


The Data Manager provides the user with all the features required to manage and main-
tain all projects and system stage data. It gives both an overview over the complete data
base as well as detailed information about the parameters of single power system ele-
ments or other objects.
New case studies can be defined, new elements can be added, system stages can be cre-
ated, activated or deleted, parameters can be changed, copied, etc. All of these actions
can be instituted and controlled from a single data base window.
The data manager uses a tree representation of the whole database, in combination with
a versatile data browser.To initially open a data manager window press the icon from
the main toolbar. The settings of this window can be edited using the 'User Settings' di-
alogue (4.3).
The data manager window has the following parts (see the figure 6.1):
• The title bar, which shows the name and path of the of the folder currently selected in
the database [1].

6-2
DIgSILENT PowerFactory The Database and the Data Manager

• The data manager local tool bar [2].


• In the left upper area the database window, which shows a symbolic tree
representation of the complete database [3].
• In the left lower area the input window. It may be used by more experienced users to
enter commands directly, instead of using the interactive command buttons/
dialogues. By default it is not shown. For further information see 6.8 [4].
• Between the database window and the input line, it shows the history list, which can
be used to perform calculations in batchmode [5].

• The input window and history list are opened and closed by the command icon
[6].

Fig. 6.1: The data manager window

• On the right side is the database browser that shows the contents of the currently
selected folder [7].
• Below the database browser and the input window is the message bar, which shows
the current status and settings of the database manager (for further information see
6.2.5).
There are some special features of the database browser which can be accessed at any
time when the content of a folder is shown:
• Balloon text: this is not only available for the buttons in the tool bar and the active
parts of the message bar or the browser window, but also for the data fields [a].
• Active Title buttons of each column; click on any title button to sort the items in the
column; first click- items are sorted in ascending order; second click - items are sorted
in descending order [b].
• Object buttons showing the object standard icon in the first column of the database
browser: each object is represented by a button (here a line object is shown). One
click selects the object and a double-click presents the edit dialogue for the object [c].
PowerFactory makes extensive use of the right mouse button. Each object or folder
may be 'right-clicked' to pop up a context sensitive menu. For the same object the menu

6-3
DIgSILENT PowerFactory The Database and the Data Manager

presented will differ depending on whether the object is selected in the left or right hand
side of the data manager (this is known as a 'context sensitive' menu). Generally, the left
hand side of the data manager will show object folders only. That is, objects that contain
other objects inside them. The right hand side of the data manager shows object folders
as well as individual objects.

Fig. 6.2: Context sensitive menus in the data manager

Using the right mouse button to access menus is usually the most effective means of ac-
cessing features or commands. Figure 6.2 shows an Illustration of a context-sensitive
right mouse button menu.
The symbolic tree representation of the complete database shown in the database win-
dow may not show all parts of the database. The user settings offer options for displaying
hidden folders, or for displaying parts that represent complete stations. Set these options
as required (4.3 (Data Manager Settings)).

Note It is useful to keep in mind that object folders, such as the grid
( ) folder are merely common folders ( ), that have been des-
ignated to contain particular classes of objects.

6.2.1 Moving Around in the Database Tree


There are several ways to ''walk'' up and down the database tree:
• Use the mouse: all folders that have a "+" sign next to them may be expanded by
double-clicking on the folder, or by single clicking the "+" sign.

6-4
DIgSILENT PowerFactory The Database and the Data Manager

• Use the keyboard: the arrow keys are used to walk up and down the tree and to open
or close folders (left and right arrows). The Page Up and Page Down keys jump up
and down the tree in big steps and the "-" and "+" keys may also be used to open or
close folders.
• Use the toolbar in combination with the browser window. Double-click objects (see "c"
in the figure 6.1) in the browser to open the corresponding object. This could result in
opening a folder, in the case of a common or case folder, or editing the object
dialogue for an object. Once again, the action resulting from your input depends on
where the input has occurred (left or right side of the data manager).

• The and buttons on the data manager tool bar can be used to move up and
down the database tree.

6.2.2 Adding New Items


Generally, new objects are added to the database via the graphical user interface (8.4
(Drawing Power System Elements)), such as when a line is drawn between two nodes cre-
ating, not only the graphical object on the graphics board, but also the corresponding el-
ement data in the relevant grid folder. However, users may also create new objects
''manually'' in the database, from the data manager.
Certain new folders and objects may be created by right-clicking on folders in the data
manager. A context sensitive menu is presented, offering a choice of objects to be created
that will ''fit'' the selected folder. For example, right-clicking a grid folder will allow the
creation (under the New menu) of a System Stage, Graphic or Folder object. The new
object will be created in the folder that was selected prior to the new object button being
pressed. This folder is said to have the 'focus' for the commanded action. This means that
some objects may not be possible to create since the focused folder may not be suited to
hold that object.
For instance: A synchronous machine should not go into a line folder. A line folder should
contain only line routes, line sections and cubicles. The cubicles in their turn should con-
tain only switches or protection elements.

To access the whole range of objects that may be created, the icon must be pressed
(new object icon). This is found the data manager toolbar and presents the dialogue
shown in the figure 6.3.
To simplify the selection of the new objects, a filter is used to sort the object list. This
filter determines what sort of list will appear in the drop-down list of the 'Element' field.
If "Branch Net Elements'' is first selected, the selection of, for instance, a 2-winding trans-
former is accomplished by then scrolling down the element list.
The Element field is a normal edit field. It is therefore possible to type the identity name
of the new element, like "ElmTr3'' for a three-winding transformer, or "TypLne" for a line
type directly into the field.
The possible list of new objects is therefore context sensitive and depends on the type or
class of the originally selected folder.

6-5
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.3: The element selection dialogue

After the selection for a new object has been confirmed, the "Element Selection" dialogue
will close, the new object will be inserted into the database and the edit dialogue for the
new object will pop up. If this dialogue is closed by pressing the Cancel button, the whole
action of inserting the new object will be cancelled: the newly created object will be de-
leted from the active folder. The dialogue for the new object may now be edited and the
OK button pressed to save the object to the database.

Creating New Folders


As it was indicated in 6.6, folders are objects used to store objects. As any other object,
folders can be created either by using the context sensitive menu or by using the
icon. The following folder types can be created in PowerFactory (for complete informa-
tion see 6.6):
• A Project folder ( ) forms the root of a power system analysis project. A project
folder should normally only contain other folders. These subfolders store all power
system element and type data, single line diagrams, design alternatives, calculation
cases, results, etc.
• A Common folder ( ) is for general use and normally contains a mixture of objects
and other folders. When selecting New −> Folder from the context sensitive menu or
the Element Selection Dialogue, a new folder dialogue is open. There the user can
select if the new folder is either a Common folder or a Library folder.
• A Library folder ( ) A library folder is a special common dedicated to hold power
system type data. A library folder is automatically created in each new project.
Recommended practice is to create new library subfolders for each new group of type

6-6
DIgSILENT PowerFactory The Database and the Data Manager

data (i.e. line types, transformer types, etc.). When selecting New −> Folder from the
context sensitive menu or the Element Selection Dialogue, a new folder dialogue is
open. There the user can select if the new folder is either a Common folder or a
Library folder.
• A Grid ( ) folder should contain a logical part of the grid. This could be the power
system of a plant or a village, a part of a high voltage transport system, etc.
• A Station ( ) folder contains the busbars, cubicles and switches that belong to the
station.
• A System Stage ( ) folder holds changes from a certain base case. All these
changes are carried out when the system stage is activated and reverted again when
it is deactivated.
• A Study Case ( )) folder holds connections to the grids, system stages, calculation
and tool settings for a particular study combination.
Each folder may have an owner name entered, for documentation or organizational pur-
poses. In this way it should be clear who has created the data. Descriptions may also be
added. An existing folder may be edited by using the "Edit" icon ( ) on the toolbar or
by using the right mouse button.
Each folder may be set to be read-only, or to be a PowerFactory system folder. The
folder may be a "Common" or "Library" folder. These attributes can be changed in the
edit-folder dialogue. These settings have the following meaning:
• Common folders are used for storing non-type objects: electric elements, command
objects, settings, projects, etc.
• Type folders are used as 'libraries' for type objects.
• System folders, which are read only folders
The use of read-only folders is clear: they protect the data. In addition, folders containing
data that is not normally accessed may be hidden. Selecting the kind of folders that the
user/administrator wants to be hidden is done in the user settings dialogue see chapter
4 (User Settings).

6.2.3 Deleting an Item


A folder or object which is selected may be deleted by pressing the Delete key on the
keyboard, or by clicking the icon on the toolbar of the database manager.
Because most power system objects that are stored in the database are interconnected
through a network topology or through type-element relationships, deleting objects often
causes anomalies in the database consistency. Of course, PowerFactory knows at any
moment which objects are used by which others and could prevent the user from creating
an inconsistency by refusing to delete an object that is used by others. This, however,
would create a very stubborn program.
PowerFactory solves this problem by using a recycle bin folder. All deleted objects are
in fact moved to the recycle bin. All references to the deleted objects will therefore stay
valid (for example, the reference between element and type), but will show that the ref-
erenced object has been ''deleted'' by:

6-7
DIgSILENT PowerFactory The Database and the Data Manager

• Showing the path to the recycle bin and the name of the ''recycle object'' in stead of
the original location and name.
• Coloring: a reference to a deleted object will be colored red, i.e. a reference to a type.
Type references are found in the edit dialogues of all elements which use a type like
the line or the transformer object.
An object that has been deleted by mistake can be restored to the original location by
selecting the restore menu option on the recycle object's context sensitive menu. All ref-
erences to the object will also be restored.

6.2.4 Cut, Copy, Paste and Move Objects

Cut, Copy and Paste


Cutting, copying and pasting may be achieved in four different manners:
1 By using the data manager tool bar buttons.
2 By using the normal 'MS Windows' shortcuts:
- Ctrl-X will cut a selection,
- Ctrl-C will copy it,
- Ctrl-V will paste the selection to the active folder.
Cutting a selection will color the item-icons gray. The cut objects will remain in their cur-
rent folder until they are pasted. A cut-and-paste is exactly the same as moving the ob-
ject, using the context sensitive menu. All references to objects that are being moved will
be updated.
Cancelling a cut-and-paste operation is performed by pressing the Ctrl-C key after
the Ctrl-X key has been pressed.
3 By using the context sensitive menu. This menu offers a Cut, a Copy and a Move
item. The move item will pop up a small second database tree in which the target
folder can be selected. When the selected objects have been Cut or Copied, the
context sensitive menu will then show a Paste, Paste Shortcut and a Paste Data
item.
- Paste will paste the selection to the focused folder.
- Paste Shortcut will not paste the copied objects, but will create shortcuts to these
objects. A shortcut object acts like a normal object. Changes made to the shortcut
object will change the original object. All other shortcuts to this original object will
reflect these changes immediately.
- Paste Data is only be available when just one object is copied, and when the
selected target object is the same kind of object as the copied one. In that case,
Paste Data will paste all data from the copied object into the target object. This will
make the two objects identical, except for the name and the connections.
4 By dragging selected objects to another folder. The 'Drag & Drop' option must be
enabled first by double-clicking the 'Drag & Drop: off' message on the data
manager's message bar. When the drag & drop option is on, it is possible to copy or
move single objects by selecting them and dragging them to another folder.
Dragging is done by holding down the left mouse button after an object has been

6-8
DIgSILENT PowerFactory The Database and the Data Manager

selected and keeping it down while moving the cursor to the target/destination
folder, either in the database tree or in the database browser window.

Note When dragging and dropping a COPY of the object will be made
(instead of moving it) if the Ctrl key is held down when releasing
the mouse button at the destination folder. To enable the 'Drag &
Drop' option double click the 'Drag & Drop' message at the bottom
of the Data Manager window.

6.2.5 The Data Manager Message Bar


The message bar shows the current status and settings of the database manager. Some
of the messages are in fact buttons which may be clicked to change the settings.
The message bar contains the following messages.
• "Pause: on/off'' (only in case of an opened input window) shows the status of the
message queue in the input window. With pause on, the command interpreter is
waiting which makes it possible to create a command queue. The message is a
button: double-clicking it will toggle the setting.
• "N object(s) of M'' shows the number of elements shown in the browser window and
the total number of elements in the current folder.
• "N object(s) Selected: " shows the number of currently selected objects.
• "Drag & Drop: on/off'' shows the current drag & drop mode. Double clicking this
message will toggle the setting.

6.2.6 Additional Features


Most of the data manager functionality is available through the context sensitive menus
(right mouse button).
The following items can also be found in the context sensitive menus:
Show Reference List (Output Data −> Reference List)
Produces the list of objects that have links, or references (plus the
location of the linked object), to the selected object. The list is printed
to the output window. In this manner for example, a list of elements
that all use the same type can be produced. The listed object names
can be double- or right-clicked in the output window to open their edit
dialogue.
Select All
Selects all objects in the database browser.
Mark in Graphic
Marks the highlighted object(s) in the single line graphic. This feature
can be used to identify an object.
Show −> Station
Opens the station graphic of the station to which the selected object
belongs. If the object belongs to more than one station, as might be in

6-9
DIgSILENT PowerFactory The Database and the Data Manager

the case of lines or other objects, a list of possible stations is shown


first.
Goto Busbar
Opens the folder in the database browser that holds the busbar to
which the currently selected element is connected. If the element is
connected to more than one busbar, a list of possible busbars is shown
first.
Goto Connected Element
Opens the folder in the database browser that holds the element that is
connected to the currently selected element. In the case of more than
one connected element, which is normally the case for busbars, a list of
connected elements is shown first.
Calculate
Opens a second menu with several calculations which can be started,
based on the currently selected objects. A short-circuit calculation, for
example, will be performed with faults positioned at the selected
objects, if possible. If more than one possible fault location exists for
the currently selected object, which is normally the case for station
folders, a short-circuit calculation for all possible fault locations is
made.
Other useful features:

• Relevant objects for calculations are tagged with a sign (this will only be shown
following a calculation). Editing one of these objects will invalidate the calculation
results.

6.3 Searching for Objects in the Data Manager


There are three main methods of searching for objects in the data base: Sorting, search-
ing by name and filtering.

6.3.1 Sorting Objects


Objects can be sorted according to various criteria, such as object class, name, rated volt-
age,..., etc. Sorting according to object class is done using the "Edit Relevant Objects for
Calculation" icon on the toolbar ( ). The user may select a particular class of calcula-
tion-relevant object (e.g. synchronous machine, terminal, general load, but not graphics,
user settings etc.) to be displayed in a browser.
Further sorting can be done according to the data listed in a table- either in the data man-
ager or in a browser obtained using the procedure described above. This is done by click-
ing on the column title. For example, clicking on the column title 'Name' in a data browser
sorts the data alphanumerically (A-Z and 1-9). Pressing it again sorts the data Z-A, and
9-1.
Tabulated data can be sorted by multiple criteria. This is done by clicking on various col-
umn titles in a sequence. For example, terminals can be sorted alphanumerically first by
name, then by rated voltage and finally by actual voltage by pressing on the titles corre-

6 - 10
DIgSILENT PowerFactory The Database and the Data Manager

sponding to these properties in reverse-sequence (actual voltage…rated voltage…name).


A more detailed example follows:
Suppose that you have executed a load flow calculation and that, for each rated voltage
level in the network, you want to find the terminal with the highest voltage. These termi-
nals could be identified easily in a table of terminals, sorted first by rated voltage and then
by calculated voltage. Proceed as follows:
 Perform the load flow calculation.
 Select the 'ElmTerm' ( ) from the 'Edit Relevant Object for Calculation' dialogue

( ).
 Include, in the 'Flexible Data' page tab, the terminal voltage and nominal voltage (see
6.5).
 In the table ('Flexible Data' page tab), click on the title 'u, Magnitude p.u' to sort all
terminals from highest to lowest calculated voltage.
 Then click on the title 'Nom.L-L Volt kV' to sort by nominal voltage level.
 Now you will have all terminals first sorted by voltage level and then by rated terminal
voltage.

6.3.2 Searching by Name


Searching for an object by name is done either in the right-hand pane of the data man-
ager or in a data browser. To understand the procedure below, notice that the first col-
umn contains the symbols of the objects in the table. Clicking on such a symbol selects
all columns of that row, i.e. for that object. The procedure is as follows:
 Select an object in the table by clicking on any object symbol in the table (if one
object was already selected then select a different one).
 Now start typing the object name, which is case sensitive. Notice how the selection
jumps as you type, For example, typing 'T' moves the selection to the first object
whose name starts with T, etc.
 Continue typing until the selection matches the object that you are looking for

6.3.3 Using Filters for Search

Advanced filtering capability is provided with the 'Find…' function ( ). A filter is normal-
ly defined to find a group of objects, rather than individual objects (although the latter is
also possible). Advanced search criteria can be defined, e.g. transmission lines with a
length in the range 1km to 2.2km, or synchronous machines with a rating greater than
500MW etc.
The function is available in both the data manager and a data browser. Clicking on 'Find…'
in the data manager allows the user to apply a predefined filter or to define a new filter,
called 'General filter'. If a new filter is defined, the database folder that will be searched
can be defined. Clicking on 'Find…' in a data browser allows the user to define a General
Filter for objects within the browser.
General Filters defined by the user are objects stored in the Changed Settings\ Filters fold-

6 - 11
DIgSILENT PowerFactory The Database and the Data Manager

er.
The options in the General Filter dialogue window are now explained with reference to
Figure 6.4:
Name:
Name of filter.
Object filter:
This field defines either the complete or a part of the search criteria,
and is optional. Examples are as follows:
- *.ElmSym: Include element objects of the class synchronous machines.
- *.TypSym: Include type objects of the class synchronous machines.
- Lahney.*: Include all objects with the name Lahney.
- Lahney.Elm*: Include all element objects with the name Lahney.
- D*.ElmLod: Include all load element objects whose names start with D.

- A drop down list providing various object classes can be accessed with ( ).
Look in:
This field is available if a filter id defined within the data manager. It
allows the user to specify the folder in the database that will be
searched.
Check boxes:
- Include Subfolders will search the root folder specified as well as the subfolders in
the root folder.
- Relevant Objects for Calculation will include only those objects considered by the
active study case (if no study case is active the search is meaningless and no
search results will be returned).
- Area Interconnecting Branches will search for branch elements that interconnect
grids.

Fig. 6.4: General Filter dialogue

The OK button will close the search dialogue, but save the filter object to the Changed
Settings\Filters folder. This makes it available for further use. The CANCEL button will
close the dialogue without saving the changes. This button is useful if a search criterion

6 - 12
DIgSILENT PowerFactory The Database and the Data Manager

(filter) will only be used once.The APPLY button starts the actual search. It will scan the
relevant folders and will build a list of all objects that match the search criteria.
Once the search is complete a list of results is returned in the form of a new data browser
window. From this browser, the returned objects can be marked, changed, deleted, cop-
ied, moved, etc...
Advanced search options allow more sophisticated expressions as search criteria. These
are specified in the "Advanced" tab of the General Filter dialogue (Figure 6.5). The filter
criterion is defined in terms of a logical expression, making use of parameter names. Ob-
jects will be included in the data browser if, for their parameters, the logical expression
is determined to be true. An example of a logical expression is 'dline>0.7'. The variable
dline refers to the length of a transmission line, and the effect of such a filter criterion is
to limit the data in the browser to transmission lines having a length exceeding 0.7 km.
The logical expressions can be expanded to include other relations (e.g. >=), standard
functions (e.g. sin()), and logical operators (e.g. .and.).

Note Parameter names can be object properties or results. The param-


eter names for object properties are found, for example, by letting
the mouse pointer hover over an input field in an object's dialogue
window. Parameter names for result variables are found from vari-
able sets, which are described in 27.2.4.

I
Fig. 6.5: Filter dialogue - Advanced

"Search Literally" is used to search for user defined strings 'inside' parameter fields. For
example, perhaps the comment 'damaged but serviceable' has been entered for some el-
ements in the network. This may be searched for as shown in the figure 6.6. All parameter
fields will be searched for this string.

6 - 13
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.6: Searching literally

As stated before, the objects matching the filter criteria are displayed in a data browser.
They may also be highlighted in the graphic using the 'Color representation' function de-
scribed in 8.3.5. The color to be used in this case can be specified under the tab 'Graphic'
of the General Filter dialogue window.

Note New a filters are saved to the Project \Changed Settings \Filters
folder in the project and are available for use directly, using the
right mouse menu. If a search is to be performed in a particular
grid simply proceed as follows: right-click the grid folder −> Find −
> Local Filters −> Filter Name (e.g. Lines longer than 700m). Re-
member to press the "Apply" button to perform the search.
If you unchecked the "Show Filter Settings before Application" box
under "User Settings"−>"General" then the filter will be applied as
soon as it is selected from the menu. This is useful when you have
already defined several filters for regular use.

6.4 Editing Data Objects in the Data Manager


The database manager (or Data Manager) offers several ways to edit power system com-
ponents and other objects stored in the database, regardless they appear graphically or
not.
The basic method is to double-click the object icons in the database browser. This will
open the same edit dialogue window obtained, when double clicking the graphical repre-
sentation of an element in the graphic window.

6 - 14
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.7: Full size edit window appearing after double-clicking the object icon in the
data manager

An open edit dialogue will disable the data manager window from which it was opened.
The edit dialogue has to be closed first in order to open another edit dialogue.

However, it is possible to activate more than one data manager (by pressing the icon
on the main toolbar) and to open an edit dialogue from each of these data managers. This
can be useful for comparing objects and parameters.
Using the full size edit dialogues (Figure 6.7) has one major drawback: it separates the
edited object from the rest of the database, making it impossible to copy data from one
object to the other, or to look at other object parameter values while editing.
PowerFactory brings the big picture back in sight by offering full scale editing capabili-
ties in the data managers browser window itself. The browser window in fact acts like a
spreadsheet, where the user can edit and browse the data at the same time. The browser
window has two modes in which objects can be edited,
• Object mode
• Detail Mode
which are described in the following sections.

6.4.1 Editing in Object Mode


In the general case only the icon, the name and the type of the objects are shown in the
'object' mode (see figure 6.8). Certain objects, for example power system elements, show
additional fields like the ''Out of Service'' field.

6 - 15
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.8: The browser window in 'object' mode

The title buttons are used to sort the entries in the browser. The visible data fields can
be double-clicked to edit their contents, or the F2 button can be pressed. The object will
show a triangle in its icon when it is being edited.
After the data field has been changed, move to the other fields of the same object using
the arrow-keys or by clicking on these data fields, and alter them too.
The new contents of a data field are confirmed by pressing the Return key, or by moving
to another field within the same object. The triangle in the icon will change to a small star
to show that the object has been altered. The object itself however has not been updated.
Updating the changes is done by pressing Return again, or by moving to another object
in the browser. By default, PowerFactory will ask to confirm the changes. See section
4.3 (Data Manager Settings) to disable these conformation messages.

6.4.2 Editing in "Detail'' Mode

If the icon on the browse window of the data manager is pressed, the browser chang-
es to 'detail' mode (see Figure 6.9). It will display only the objects from the same class as
the one which was selected when the button was pressed. In the example of Figure 6.9,
this is a load object (ElmLod). The icon or a filter (6.3.3) may also be used to engage
detail mode.

6 - 16
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.9: The browser window in 'detail' mode

In 'detail' mode, the browser shows all data fields for the selected calculation function
data set, which can be selected by clicking on a page tab shown at the bottom of the table
view.If a page tab is out of reach, then the page tab scrollers will bring it within the brows-
er window again.
The list of objects may be sorted by any column by pressing the title field button. The
widths of the data fields can be adjusted by pointing the mouse on the separation line
between two title fields and dragging the field border by holding a mouse button down.
As with the browser in 'object' mode, the data fields can be edited by double-clicking
them. In the example the active power settings are being edited, but from the star in the
object icon it is clear that another field of the same object has been edited too, but not
confirmed, because this star would otherwise be a triangle.
It is possible to change a parameter field for more than one object simultaneously. This
is, for instance, useful to raise a certain limit for a range of objects, in order to get a better
load-flow result i.e. by alleviating line overloads. An example is shown in the figure 6.10
where the nominal current for a range of line types is changed at once.

Fig. 6.10: Modify values dialogue

6 - 17
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.11: Modify values dialogue

The parameter fields which have to be changed have to be multi-selected first. Right-
clicking the selection will pop up a case sensitive menu from which the Modify Value(s)
option opens the SetValue dialogue, see the figure 6.11.
This dialogue can be used to:
• increase or decrease them by multiplication with a scale factor ("Relative'').
• increase or decrease them by multiplication with a scale factor with respect to the
sum of values selected ("Relative to Sum'').
• Set all the selected parameter fields to a new fixed ("absolute'') value.
It is not possible to simultaneously alter parameter fields from more than one column, i.e.
to change nominal currents and nominal frequencies simultaneous, even if they would
happen to take the same value or would have to be raised with the same percentage.

6.4.3 Copy and Paste while Editing


One of the great advantages of editing data fields in the data manager's browser window
is the possibility to copy data from one object to another. This is done by selecting one
or more objects or object fields, copying this selection to the clipboard, and pasting the
data back in another place.
To copy one or more objects,
1 Open the Data Manager and select the grid folder where you find the objects to be

copied. Please do not open the icon for the Objects relevant for the calculation ,
as this is a filter view collecting objects stored at various locations.
2 Select them (see figure 6.12).

3 Press Ctrl-C to copy or use the icon on the data manager toolbox.

4 Press Ctrl-V to paste or use the icon on the data manager toolbox. The
objects will be copied with all the data. Their names will automatically be altered to
unique names (see figure 6.13).

6 - 18
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.12: Copying an object in the browser

Fig. 6.13: Result of copying the object

Copying data fields from one object to another is done just like for any spreadsheet soft-
ware you may be familiar with. To copy one or more data fields,
1 Select them by clicking them once. Select more data fields by holding down the
Ctrl key.
2 Copy the fields to the clipboard by pressing Ctrl-C or the icon.
3 Select one or more target objects data fields. If more than one field was copied,
make sure that the target field is the same as the first copied data field.

4 Press Ctrl-V or the icon. The contents of the data fields will be copied to the
target objects.

6.5 The Flexible Data Page Tab in the Data Manager


The data browser (this will be seen in the data manager when the 'Detail Mode' has been
engaged) has page tabs for all calculation functions. These tabs are used to view or edit
object parameters which are categorized according to a calculation function and have a
fixed format.
The flexible data tab, normally used to display calculation results, allows the user to define
a custom set of data to be displayed.
The default format for the calculation results displayed in the flexible page depends on
the calculation performed: Following a load-flow calculation, the default variables for ter-
minals are line-to-line voltage, per unit voltage and voltage angle. Following a short-cir-
cuit calculation the default variables are initial short-circuit current, initial short-circuit
power, peak current etc. Figure 6.14 shows an example of the flexible data page tab.

6 - 19
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.14: The Flexible Data page tab

6.5.1 Customizing the Flexible Data Page


The displayed variables are organized in 'Variables Sets' that are, in turn, organized ac-
cording to calculation function. For example, an object class ElmTr2 (two-winding trans-
former) has a variable set for symmetrical load flow calculation, a variable set for short-
circuit calculation etc. There may also be more than one variable set for any calculation
function. For example, the object ElmTr2 may have two variable sets for symmetrical load
flow calculation.
The Flexible Page Selector allows the user to specify the variable set to use, or to define
new variable sets. Furthermore, the Flexible Page Selector allows the user to access and
edit the variable sets, i.e. to specify which variables to display in the Flexible Data page.
The 'Flexible Page Selector' dialogue is shown in Figure 6.15. This dialogue is opened by
pressing the ( ) icon on the database manager toolbar (or data browser toolbar), or by
right-clicking the tab of the flexible data page. The Flexible Page Selector has tabs for the
different calculation functions. It opens with the tab corresponding to the most recent cal-
culation. Pressing the button next to 'Variables' allows the user to select a Variable
Set or to generate a new Variable Set. If a new Variable Set is generated, the edit dialogue
of Figure 27.36 pops up. The edit dialogue of the selected Variable Set pops up if the
button next to 'Variables' is pressed. The selection of variables within Variable Sets is pre-
sented in detail in section 27.2.4.
Variable Sets are objects of class IntMon, and Flexible Page Selectors are objects of the
class IntMonsel. Both are stored in the database under Changed Settings\Flexible Page
Settings. Variable Sets have multiple uses. This section of the manual explains only the
use of Variable Sets in conjunction with Flexible Data.

6.6 Folders in the Database


The PowerFactory database contains simple objects and folder objects. Simple objects
are end-points in the database tree: they do not contain more sub-objects. Examples are
many power system elements and types: switches, busbars, machines, loads. However,
transmission lines, for example, are folder objects, because they may contain sections,
routes and feeders.
The following sections describe the most important folder objects and their use.

6 - 20
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.15: The Flexible Page Selector

6.6.1 The Common Folder

A new common folder (IntFolder, ) can be created in the database tree from the con-
text sensitive menu of existing folders by selecting the New option and subsequently the
Folder option from the second menu.
The common folder object is the main building block of the database tree. It is used to
store a multitude of other (folder) objects and has therefore much in common with a "sub-
directory'' on a normal computer hard disk. However, the PowerFactory database tree
does not show a hard disk file structure, but the more abstract database structure.
The common folder has an user-defined name and an user-defined owner. The owner
field may be used for names of power system engineers, project names, department
names, or any other useful information.
The common folder may be set to be read-only to protect the contents from unintentional
changes.

6.6.2 The Grid Folder

A new grid folder (ElmNet, ) can be created in the database tree from the context sen-
sitive menu of existing project folders by selecting the New option and subsequently the
Grid option from the second menu. This will create a new but empty grid folder. By se-
lecting the File-New option from the PowerFactory main menu and consequently select-
ing the "Grid'' option from the ComNew dialogue, a grid folder will be created together
with a single line graphic. This single line graphic will automatically open in order to create
the grid topology.
The grid folder contains all information about a certain (part of a) power system. This in-
cludes one or more single line graphics, the power system objects, the station folders, the
system stages, etc.
The grid folder dialogue, as depicted in the figure 6.16, has a name, a color, an owner
and a nominal frequency. The color is used to show the grid where the element is stored
and is activated in the coloring mode Grids/Original Locations. Coloring of graphics is de-
scribed in detail in 8.3.5 (Color Representation).

6 - 21
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.16: The Grid edit dialogue

6.6.3 The Station Folder

A new station folder (ElmStat, ) is created by adding a new busbar (system) in the
single line graphic. Because all busbars must reside in a station, this will automatically cre-
ate a station folder in which the new busbar(s) will be stored. Different stations may be
combined into larger stations later on.
The station defining dialogue is explained in the section 9.1.3 (Defining Stations).

6.6.4 The Single Line Graphic Folder

A new single line graphic folder (IntGrfNet, ) is normally created automatically when
a new grid folder is created from the File-New option on the main menu.
A new single line graphic folder may also be created from the option New from the context
sensitive menu of the folder in which the graphic should be stored by selecting the Graph-
ic option from the second menu.
The context sensitive menu of a graphic folder has a Show Graphic option which will open
a 'graphics board' object in which the graphic will be shown.
More about single line and other graphics can be found in the chapter 8 (The Graphic Win-
dows).

6.6.5 The Graphic Board Folder

A new graphics board folder (SetDesktop, ) is created as soon as a graphics object


(single line graphic, block diagram, etc.) has to be shown. A graphics board has pages
which acts as virtual paper on which the graphical objects can be drawn.
A graphics board has icons for creating new graphic objects and for showing existing
ones. In these cases, no new graphics board will be created, but the added graphic ob-
jects will be drawn on new pages in the same graphics board object.
The graphics board has page tabs to quickly move from one graphic page to another.
The graphic board folder stores references to the displayed graphics in case of single line
or block diagrams, and stores the actual information in case of a virtual instrument panel.

6 - 22
DIgSILENT PowerFactory The Database and the Data Manager

6.6.6 The System Stage Folder

A new system stage folder (IntVariant, ) is created from the parent folder by selecting
the New option from the parent folder's context sensitive menu and consequently select-
ing the System Stage option.
A system stage is a special 'administrator' folder which is used in the hierarchical and non-
redundant system stage administration system. It is capable of stealing the grid informa-
tion of its parents and keeping track of all changes made to these grids. At returning the
information to the parents, the changes registered by the system stage folder will be un-
done. The system stage folder uses special registration objects to keep the changes
made. The next time the system stage folder is activated, it will reactivate all the changes
made the last time it was activated.
The System Stage folder has an user defined name, an optional user defined owner name
and an optional user defined description. The contents button will show the current con-
tents of the folder.
A system stage folder may be 'reduced' to one of its parent folders by activating the par-
ent and right-clicking the system stage folder. The pop-up menu will now show the Re-
duce system stage branch option. Selecting that option will gather the changes stored in
the system stage folders, starting with the reduced folder and walking up the database
path to the activated parent folder. The gathered changes are used to permanently
change the parent design, after which the whole database path between the reduced sys-
tem stage folder and the changed parent is deleted.

6.6.7 The Study Case Folder

A study case folder (IntCase, ) is meant to hold one or more references to grid and/
or system stage folders. These referenced folders together define the studied system con-
figuration and will automatically be (de)activated when the study case folder is (de)acti-
vated.
Without calculation case folders, it would be necessary to manually activate the correct
grid and/or system stage folder folders over and over again in order to analyze the result-
ing power system configuration.
A Study Case folder with a reference to at least one Grid or system Stage folder has to be
activated in order to enable calculations.
The Study Case Folder has an user defined name, an user defined owner, and has a flag
to define it as the default Study Case folder in the current directory. When no Study Case
folder is active when a Grid or System Stage is activated, the default Study Case folder is
activated too, in order to create the reference to the Grid or System Stage folder. When
no default Study Case folder is available, a new one is created automatically.
Disabling the Use as default option will protect the contents of the Study Case folder.
For more information, see 7.1.3 (Study Cases).

6.6.8 The Library Folders

Library folders ( ) are used to store 'type' data (2.2). The 'global' library contains 'type'
objects accessible for all users. It is saved in the database directory, at the same level of

6 - 23
DIgSILENT PowerFactory The Database and the Data Manager

the user's folders. When first installed, PowerFactory stores in the 'global' library sub
folders containing an ample set of 'types' for different power system elements.
Local ('project') libraries are automatically generated within the project folders (7.1.1
(Creating a new Project)). By default the 'project' libraries include the 'Scales' folder
(IntScales), which is used to store time scales (10.1.7 (Creating a Time Scale)). In
'project' libraries, the user can define new suitable 'types' for his project or simply import
'types' from the global library or other folders.
When defining a new power system element, the user is asked for a 'type'. There he can
choose among a 'Global Type' (from the 'global' library), a 'Project Type' (from the
'project' library) or a 'New project Type' (define a new 'type' in the 'project' library).

6.7 Special Objects in the Database


Most objects in the database are explained in special sections in this manual. Information
about the line object ElmLne, for instance, can be found in 9.2.1 (Creating a Transmis-
sion Line).
Some additional objects are present in the database which are used in various ways, and
which cannot be related to a specific task or features. These objects are described here.

6.7.1 The Matrix Object


The Matrix object (IntMat) defines a matrix. This object is e.g. used for the graphical
curve input or for use in DPL scripts.
See also the chapter 29 (The DIgSILENT Programming Language - DPL) for a description
of DPL and the implemented methods.

Fig. 6.17: The matrix page

The Matrix page, as depicted in the figure 6.17 holds the table with the matrix values. The
row and column labels are normally defined on the 'labels' page but are enumerated by
default.
The matrix is resized by right-clicking either a row label or a matrix cell. In both cases,
the context menu will show options for inserting, appending or deleting cells.
• If a row label was right-clicked, new rows will be inserted or deleted at the clicked row
position, or appended at the bottom of the matrix.

6 - 24
DIgSILENT PowerFactory The Database and the Data Manager

• If a matrix cell was right-clicked, new columns will be inserted or deleted at the
clicked column position, or appended at the right side of the matrix.

Fig. 6.18: The labels page

Labels for rows or columns are defined on the labels page, as depicted in the figure 6.18.
"Row labels'' holds the labels for the rows, "Col labels'' defines the labels for columns. It
is not required to define exactly as many labels as there are columns or rows. It is allowed
to enter empty labels, or to define more labels.

New Matrix objects can be created in the database by using the 'new object' icon ( )
under the 'Elements' = ''Others'' −> 'Filter' = ''Other elements (Int*)'' −> 'Element' =
''Matrix (IntMat)'' assignment. The object will be created in current active folder.

6.7.2 The Object Set


Object Sets (SetSelect) are folders containing references to objects in the database (see
6.7.3). Object Sets are used in a variety of functions. For example, an object set can be
defined that contains (references of) the buses at which the short-circuit currents should
be calculated. Another example is an object set that contains (references to) all cables to
include in a cable-sizing calculation. Object sets are assigned to one of the following cal-
culation functions:
• (n-1) Outage Simulation
• Short-circuit calculation
• Outputs
• DPL Commands
• SHC Sweep
• General
• Cable Sizing
• Voltage Sag Table
• Power Ware

6 - 25
DIgSILENT PowerFactory The Database and the Data Manager

New object sets are defined by pressing the icon in the data manager, selecting Oth-
ers and typing SetSelect next to Filter. An object set dialogue pops up, allowing the user
to make the assignment described above, and to specify the content. The Content button
shows the current content of the set. Additional objects are added to the set using the
Add button.
New objects sets may also be defined from the database browser or the graphic. Likewise,
new objects may be added to existing sets from the database browser or graphic. This is
done by selecting one or more objects, right-clicking the mouse and selecting Define or
Add to. A second menu pops up showing the possible sets to define or to add to.

6.7.3 The Object Reference


The object reference is used to create object set definitions (SetSelect), or to create an
additional access to an object. References to objects are made visible in the database
manager by the small additional arrow ( ) in the object symbol.
The object reference is normally created automatically, for instance when objects are
added to a set, or when the option Paste Shortcut is used in the database browser. If a
reference is explicitly created, the 'Reference' pointer must be set to a database object
manually.
An object reference will behave as the referred object. Double clicking the reference will
open the referred object dialogue. Storing a reference to an object in a DPL script will
have the same result as storing the actual object. However, it is not possible to use ref-
erences to objects when setting object types. It is, for example, not possible to select a
reference to a line type in the line object definition.

6.8 The Input Window in the Data Manager


The input window is for the more experienced users of DIgSILENT PowerFactory. It
is closed by default. Almost all commands that are available in PowerFactory through
the menu bars, pop-up menus, icons, buttons, etc., may also be entered directly into the
input window, using the PowerFactory commands.
The contents of the input window can be saved to file, and commands can be read back
into the window for execution.
PowerFactory also has special command objects which carry one single command line
and which are normally used to execute commands. In this way, complex commands can
be saved in the same folder as the power system for which they were configured.

6.8.1 Input Window Commands


In principle, everything that can be done in DIgSILENT PowerFactory, can be done
from the command line in the input window. This includes creating objects, setting pa-
rameters, performing load-flow or short-circuit calculations.
Some commands that are available are typically meant for command line use or for batch
commands. These commands are rarely used in another context and are therefore listed

6 - 26
DIgSILENT PowerFactory The Database and the Data Manager

here as "command line commands'', although they do not principally differ from any other
command.
Cd Command
Moves around in the database tree by opening another folder at a
relative position from the currently open folder.
Example:
cd...\gridB\Load1
Cl Command
Stops the redirection of the output window to either a file or to a
printer. All following messages will again be shown only in the output
window.
cl/out stops redirection to a file
cl/prn stops redirection to a printer
Cls Command
Clears the output or input window.
cls/out clears output window
cls/inp clears input window completely
cls/inp/done clears only previously executed commands
.../y asks for confirmation
Dir Command
Displays the contents of a folder.
Example:
dir Study Case
Ed Command
Pops up the dialogue of a default command, i.e. "ldf'', "shc'', etc.
Example:
ed ldf
Exit Command
Exits the program immediately without further confirmation.
Man Command
Queries or sets a variable.
Example:
man/set obj=Load_1.elmlod variable=plini value=0.2
Op CommandC
Redirects output to either a file or a printer.
Example:
op/out f=train3.out
Pause Command
Interrupts the execution of the command pipe until a next pause
command is executed.
Pr Command
Prints either the contents of the output window or the currently active
graphics window.

6 - 27
DIgSILENT PowerFactory The Database and the Data Manager

Rd Command
Opens and reads a file.
Stop Command
Stops the running calculation.
Sys Command
Executes a dos command.
Wr Command
Writes to a file.

6.9 Save and Restore Parts of the Database


A selected part of the database can be written to a "DZ'' Import/Export file with the button
Export Data... ( ). This will bring a 'File Save' dialogue where a filename must be
specified.
Alternatively, the folder or object that is to be exported can be right-clicked in the data-
base tree, after which the option Export Data... is selected.
The exported part of the database may be a complete project, a library, or a specific ob-
ject in the browser window. Exporting a folder (i.e a project, grid, library, etc.) will export
the complete content of that folder, inclusive subfolders, models, settings, single line
graphics, etc.
It is even possible to export a complete user account. However, only the administrator is
able to import an user-account. Exporting the user-account on a regular basis is a prac-
tical way to backup your data.
It is even possible to export data from another user account, or even to export another
user-account completely. However, only the shared, visible, data will be exported.
The exported data file can be imported into the database again in any desired folder by
pressing the Import Data... ( ) button. This will bring a 'File Open' dialogue where
the "DZ'' data-file can be selected.
The "DZ''-file will be analyzed and error messages will be displayed when the file is not a
genuine PowerFactory data file, or if it is corrupted. If the file format has been found
to be correct, a dialogue will appear which shows the data and version of the file. The
default target folder is shown also, which is the original folder of the saved data. If this is
not desired, another target folder can be selected by pressing the Drop Down button. This
button will bring a small version of the database tree. A new target folder can be selected
from this tree.

6.9.1 Notes
By exporting a folder from the database, only the information in that folder and all its sub-
folders will be stored. If the exported objects use information (e.g. power system types
like line or transformer types) that is saved somewhere else, then that information will
not be stored. Make sure that the used power system types and all other referenced in-
formation is exported too.
When importing a file that contains objects which use data outside the import-file, a
search for that data is started.

6 - 28
DIgSILENT PowerFactory The Database and the Data Manager

For instance, assume a project is exported. One of the line-models uses a type from a
library outside the project. When exporting, the path and name of this type is written in
the export-file, but the type itself is not exported, as is does not reside in the exported
project.
At importing, the stored path and name of the 'external' type is used to find the type again
and to restore the link. However, if the 'external' type is not found, then it will be created,
using the stored path and name. Of course, the created object has default data, as the
original data was not exported. Additionally, an error message is written to the output
window.
Suppose that you are working with a large library, which is stored in a special user-ac-
count to make it read-only. The library is made accessible by sharing it to all users.
When export the projects, the objects from the external library are not exported. Howev-
er, a colleague which has access to the same library may still import your projects without
problems. The external objects used in your projects will be found in the same location,
and the links to these objects will be correctly restored.

6.10 Spreadsheet Format Data Import/Export


The PowerFactory data browser in the data manager's window looks and acts like a
spreadsheet program as far as creating and editing power system objects is concerned.
To enable and simplify the use of power system element data which is stored in spread-
sheet programs such as the Microsoft Excel or the Lotus 123 programs, the data browser
offers 'Spreadsheet Format' import and export facilities.

6.10.1 Export to Spreadsheet Programs


All data visible in the data browser may be exported as it is. The export format is such
that most common spreadsheet programs can read in the data directly (space separated
ASCII). Exporting data is performed as follows.
• Select a range of data in the data browser. Such a range may contain more than one
column and more than one row.
• Right-click the selected range and select the Spread Sheet format option. This opens
a second menu which offers the choice between writing the Spreadsheet export to a
file, or to put it on the Windows Clipboard. See the figure 6.19.
• The exported data can now be imported into a Spreadsheet program. When the
Clipboard was used, pressing Ctrl-C will Paste the data into the spreadsheet.
• The imported data may now be edited, or additional calculations may be made. The
PowerFactory data is imported as numbers and descriptions. The example in the
figure 6.20 calculates a mean value from a range of line loading percentages.

6 - 29
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.19: Exporting a range of data

Fig. 6.20: Imported data in a spreadsheet program

6.10.2 Import from Spreadsheet Programs


There are two methods available for importing data from a spreadsheet program. The first
method uses a direct import of 'anonymous' numerical data. This method is used to
change parameter of existing objects by importing columns of parameter values.
The second method uses the versatile DOLE conversion module. This method can be used
to create new objects by importing all the data from a spreadsheet.
Any range of parameter values can be copied from a spreadsheet program and imported
into the database manager. The import is performed by overwriting existing parameter

6 - 30
DIgSILENT PowerFactory The Database and the Data Manager

values by 'anonymous' values. The term 'anonymous' expresses the fact that the imported
data has no parameter description. The size of the imported value range and the required
data are tested. Importing invalid values (i.e. a power factor of 1.56) will result in an error
message.

Import using anonymous variables


The import of anonymous values is explained by the following example.
In the figure 6.21, a range of active and reactive power values is copied in a spreadsheet
program. In the figure 6.22, this range is copied to the corresponding fields of 10 load
objects by right-clicking the upper left most field which is to be overwritten. The result of
this action is shown in the figure 6.23.

Fig. 6.21: Copying a range of spreadsheet data

Fig. 6.22: Pasting spreadsheet data from clipboard

6 - 31
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.23: Database browser with imported data

6.10.3 The DIgSILENT Object Language for Data Exchange


(DOLE)
The DIgSILENT Object Language for Data Exchange is the general language used to im-
port objects and data from other programs.

6.10.4 DOLE Spreadsheet Import of Objects and Parameter


The anonymous import of data does not need a parameter description. This would com-
plicate the import of complete objects, as the user would have to enter all parameters in
the correct order. The DOLE import therefore uses a header line with the parameter
name. This header must have the following structure:
• The first header must be the class name of the listed objects.
• The following headers must state a correct parameter name.
This is shown in the figure 6.24.

Fig. 6.24: Excel required format

the figure 6.25 shows an example of valid spreadsheet data of some line types and some
2 winding transformer types.

6 - 32
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.25: Example of valid spreadsheet data

The import of the spreadsheet data into PowerFactory is performed as follows.


• Select the header line and one or more objects lines.
• Copy the selection. See the figure 6.26 for example.
• Right-click the folder browser in the database manager to which the objects are to be
imported. Select 'Spread Sheet Format −> Paste DOLE from Clipboard '. See the
figure 6.27 for example.

Fig. 6.26: Selecting DOLE data in spreadsheet

6 - 33
DIgSILENT PowerFactory The Database and the Data Manager

Fig. 6.27: Importing DOLE from clipboard

The result of the DOLE import depend on whether or not objects of the imported class
and with the imported names already exist or not in the database folder. In the example
of the figure 6.28, none of the imported objects existed in the database an all were cre-
ated new therefore. The example shows the database in detail mode.

Fig. 6.28: Result of DOLE spreadsheet import

New objects are created in the PowerFactory database folder only when no ob-
ject of the imported class and with the imported name is found in that folder.
If such an object is found then its data will be overwritten by the imported data
Because new objects are only created when they do not exist already, and only the im-
ported parameters are overwritten when the object did exists already, the import is al-
ways a save action.
Remarks
Object Names
Object names may not contain any of the characters
*?=",\~|
Default Data
When an imported object is created newly, the imported data is used to
overwrite the corresponding default data. All parameters that are not
imported will keep their default value.

6 - 34
DIgSILENT PowerFactory The Database and the Data Manager

Units
The spreadsheet values are imported without units. No conversion from
MW to kW, for example, will be possible. All spreadsheet values
therefore have to be in the same units as used by PowerFactory.

6 - 35
DIgSILENT PowerFactory The Database and the Data Manager

6 - 36
DIgSILENT PowerFactory Project Management

Chapter 7
Project Management

In order to study a network or system in PowerFactory a specific data structure has


been developed to organize and manage the large amounts of data that are required for
the simulation of the system.
Project and data management tools in PowerFactory are arranged to take advantage of
this data structure and thus the user is advised to keep to this pre-determined data struc-
ture, at least at first until sufficient experience in using PowerFactory is gained.
As may be inferred, the user is not limited to the pre-determined structure and may cre-
ate, within certain limits, their own project structure for advanced or particular studies.

7.1 Basic Project Organization and Management


The basic data structure in Power Factory and the folder organization of the database are
explained in sections 2.2 and 6.6 respectively. The users are recommended to familiarize
themselves with those topics before continuing with this chapter.
As it was seen in 2.2 and 6.6, electrical system data is split into 'Element' and 'Type' data,
that is kept in folders called 'Grid' and 'Library' respectively. All of this data along with fur-
ther folders that have specific purposes are in turn housed in a so called 'Project' folder.
The purpose and the basic structure of the 'Project' directory are the main issues of this
chapter. To understand this structure it is necessary to examine the intentions of the sim-
ulated system. This will direct us to what may be required to carry out these actions suc-
cessfully:
• We would want to sort the network data, and this may be into logical or
organizational and/ or geographical areas. In PowerFactory this is achieved by use
of a grid folder/s.
• Once the network data has been entered we will want to perform various studies, for
example, load-flow, various short-circuits, stability or EMT based simulations, etc. It
would be useful if the results of these studies could also be stored for review or repeat
later. Study cases are used to do this.
• We may need to analyze the network at different times during the day, week or year,
where different load conditions exist for these different times. Here we perform
parametric studies by adding Characteristics to various parameters.
• In order to plan or assess the network in different switching configurations, or where
the network has been expanded or changed we would like to be able to create
variations of the network. In this case it would be useful if these variations are linked
to the original data so that changes made in the original are transferred to the
variation so that we do not need to do this manually. The variations are achieved
using what are known as System Stages.

7-1
DIgSILENT PowerFactory Project Management

7.1.1 Creating a new Project


A new project is created by selecting File −> New from the main menu. This will open the
ComNew dialogue, as shown in the figure 7.1.

Fig. 7.1: The ComNew dialogue

It will be noticed that this dialogue is also used to create several other new objects. To
create a new project it must be ensured that the 'Project' option is selected. The target
folder determines where the new project will be created. Normally, and by default, this is
the...\User folder. The name of the new project may be entered as desired.
By pressing Execute, a new project folder will be created. A project should contain at
least one grid and at least one study case folder. A second dialogue will pop up to allow
the user to specify the name and nominal frequency of a new automatically created grid
(figure 7.2).

Fig. 7.2: The Grid edit dialogue

7-2
DIgSILENT PowerFactory Project Management

As the button OK is pressed from the grid edit dialogue:


• The new grid folder is created in the newly created project folder (for element data).
• The (empty) single line diagram of the grid is opened.
An example of a newly created project in the Data Manager is shown in the figure 7.3.
The new project may later be expanded by creating extra grids or system stages, study
cases, library folders, graphic windows, etc.

Fig. 7.3: A new project

The project dialogue of figure 7.4 pops up when selecting Edit −> Project... on the main
menu or when rigth-clicking the project folder in the Data Manager and selecting Edit. It
allows the edition of the basic project settings and the creation of new 'study cases' and
'grids'.
Pressing the New Grid button will create a new grid and will open the grid edit dialogue.
A second dialogue will ask for the study case to which the new grid folder will be added
(for additional information about grid folders see 7.1.2)...
The New Study Case button will create a new study case and will open its dialogue. The
new study case will not be activated automatically (for information about study cases see
7.1.3).
Each project has a special folder which stores all changed settings, such as: changed re-
sult box definitions, changed report definitions, special filters, flexible page definitions,
etc. The buttons Take from existing Project and Set to Default, allow the use
of the changed settings from another project and the use of the Power Factory default
settings respectively. The 'Changed Settings' are stored under the project folder and can
later be viewed in the Data Manager ( icon).
The Input Variables Section allows the user to choose the unit system and the decimal
prefixes for the adaptable element input dialogues within the project. Finally the currency
unit can be defined.
The name of the active study case is shown in the lower part of the dialogue window un-
der the 'Active Study Case' assignment, it's edit dialogue can be opened by pressing the
edit ( ) button.

7-3
DIgSILENT PowerFactory Project Management

Fig. 7.4: The project dialogue

After pressing the button, the base apparent power and the minimal value of the re-
sistances and conductances in p.u can be set.
Pressing the Contents button on the dialogue will open a new data browser displaying
all the folders included in the current project directory.

7.1.2 The Grid Folder

Grids are data folders in which element data pertaining to a network is stored. These
grid folders also contain the single line diagrams which were used to create the power
system design. Additionally, each grid folder may contain a tree of system stage folders
for alternative design options (see 7.2.1 to 7.2.5). There may be one or several of these
grid folders in the project folder, and these may also be seen as areas.
The user may divide their network as desired into these folders, however, a typical ar-
rangement for a network would be as shown in figures 7.5 and 7.6. The schematic dia-
gram in figure 7.5 shows the network layout, and figure 7.6 proposes a PowerFactory
grid arrangement:

7-4
DIgSILENT PowerFactory Project Management

Fig. 7.5: Typical network arrangement

Fig. 7.6: Proposed folder structure of the network arrangement

Grouping of the data in this fashion is advantageous as the user embarks on more ad-
vanced studies, such as stability or EMT type simulations. In this type of study the phe-
nomena under study is often localized and irrelevant network data may be excluded from
the study in order to speed up the simulation.
To add a grid folder to the current project, various methods may be employed:
1 Select the Edit-Project option on the main menu. This will open the dialogue of the
project that is currently active. Press the New Grid button.
2 Right-click the project folder in a database manager and select Edit. Press the New
Grid button.
3 Right-click the project folder in a database manager and select New −> Grid from
the menu.
In each case, the dialogue to create a new grid will appear, as shown in the figure 7.2,
where the grid name, frequency and owner may be specified. A second dialogue will ap-
pear after the OK button has been pressed, where the study case that the grid will be
linked to must be selected. Three options are presented:

7-5
DIgSILENT PowerFactory Project Management

add this Grid/System Stage to active Study Case


Only available when a study case is active.
activate a new Study Case and add this Grid/System Stage
Creates and activates a new study case for the new grid.
activate an existing Study Case and add this Grid/System Stage
Add the new grid folder to an existing, but not yet active study case.
Normally, the second option is preferred because this creates a new study case, dedicated
to the new grid only (remembering that any network requires a source in order for a load-
flow to function). In that way, the new grid may be tested separately by load-flow or other
calculations. To analyze the combination of two or more grids, new study cases may be
created later on, or the existing ones may be altered.

7.1.3 Study Cases


The study cases in a project are used to define and activate certain parts and alternatives
of the power system design, on the one hand, and to initialize a set of calculations com-
mands.
The inclusion or exclusion of grids is determined by the study case . In/excluding grids
from a study case determines what data will be considered for calculation.
Several study cases for the same grid, or combination of grids, may be set up. Since the
study case saves the settings applied to the calculation tools it (the study case) may be
used as a record of what calculation the user last performed.
To replay whatever was last calculated in a study case first activate the study case (right-
click the study case −> Activate) and then press the appropriate calculation command but-
ton, for example, "Calculate Short-Circuit." PowerFactory will repeat whatever calcula-
tion, with all the settings (such as fault location, type, fault impedance, etc.) was last
performed in the study case.
Study cases may also be activated by simply choosing the required study case from the
drop down "Current Study Case" window, found on the right side of the upper tool bar.
The primary task of a study case is to activate and deactivate a calculation target, which
is a combination of grids and/or system stages. Activating or deactivating the study case
folder is done by either:
• Activating a project. This will automatically activate the study case that was active at
the moment the project was deactivated. Deactivating a project will also deactivate
the study case.
• Selecting a study case from the study case selection list on the main menu, as shown
in the figure 7.7. All study cases in the active project are listed in this list. Selecting
the empty line (first entry) will deactivate the current study case.
• Right-clicking a study case folder will show either the Activate or Deactivate option.
Activating a study case will automatically activate the project if a project is not already
active.
Only one study case may be active at the same time. The active study case will therefore
be automatically deactivated before another study case is activated. This will mean that
any active project will be deactivated should the selected study case be in another project.

7-6
DIgSILENT PowerFactory Project Management

Fig. 7.7: Selecting a study case

The three small folders in the icon of an study case ( ) are colored red in the database
tree when a study case is active. All of the grids and/or system stage folders are also col-
ored red.
Grids or system stages (7.2.1 to 7.2.5) may be added to, or removed from, the study case
by right-clicking them in the database tree and selecting Add to Study Case or Remove
from Study Case.
A grid or a system stage cannot be separately activated; a study case ( ) linked to the
grid or system stage must be activated. The context sensitive menu will show a Activate
option when a grid or system stage folder is right-clicked if no study case folder is active.
This will present a prompt dialogue which request that either an existing study case be
activated, or a new study case be created first. The grid or system stage is then activate
in conjunction with whichever choice is made.
An active study case named Basic 2006 system is shown in figure 7.8. The database tree
shows the active study case and the grids used by it. These are the grid named Trans-
mission Area in its base configuration and the remaining three grids in the variant config-
uration named 2006 Ops Plan.

Fig. 7.8: Example of an active study case

To edit the data of a study case, you may select Edit −> Study Case in the main menu, or
right-click the study case in the Data Manager and select Edit. A dialogue as shown in
figure 7.9 will appear.
The grids/system stages that are linked to a study case may be viewed by pressing the

7-7
DIgSILENT PowerFactory Project Management

Grids/System Stages button of the study case dialogue.

Fig. 7.9: Dialogue window of the example study case

The study case itself contains several calculation commands, and the special "Summary
Grid" object. The Summary Grid is an internal, automatically created object, as are its con-
tents, inexperienced users should avoid editing it.
A project that contains more than one grid, which has several system stage design alter-
natives, or which uses triggers and scales to model the various conditions under which
the system should operate, calls for many different study cases.
A new study case can be added to the project by various means:
1 Select Edit −> Project from the main menu, or by right-clicking the project folder and
then selecting Edit in a database manager. This will open the dialogue of the active
project. Press New Study Case.
2 By right-clicking the project folder in a database manager and selecting New −>
Study Case from the menu.
In all cases, the dialogue for defining a new study case will appear, as had been depicted
already in figure 7.9, will appear.
It may be seen that, in the study case dialogue, the output (that is, calculated) variable
units may be specified for load-flow and short-circuit. Each study case may have its own
settings in this regard.

7.2 Advanced Project Management Tools


In the first section of this chapter the basic elements of project management within the
PowerFactory environment were introduced. They allow the user to generate network
designs and administrate all the information and settings related to the PowerFactory
calculations and analyses. This section introduces System Stages, which are used to man-
age the data corresponding to the variations of the network.

7-8
DIgSILENT PowerFactory Project Management

7.2.1 Projects and System Stages


The design of a new part of a power system normally calls for the analysis of different
design alternatives. Such alternatives can be created as variants (optional designs) from
''base'' case design using system stages. These special folders keep record of the differ-
ences between a base case and an alternative design. Changes made to the base case
'filter' down to the system stage so that the system stage is kept up to date with changes
made to the base case. Changes made to the system stage are of course kept only to the
system stage itself. The user may also later 'reduce' the system stage to the base case
and so upload the new design to create a new base case.
The PowerFactory system stage management system is strictly hierarchical. The root
of each system stage tree is always a grid folder. The grid folder contains the base case
design and may contain one or more system stages. Each system stage may again contain
one or more system stages. Hierarchical trees of system stages may thus be created.
The System Stage folders will only keep a record of changes. No part of the base case
design is actually copied. When a parameter of a generator model is changed, for exam-
ple, only a reference to that generator and the new value of the parameter will be stored.
The next time the system stage is activated, the only change made to the generator is
the parameter's alternative. All other parameters will be defined by the base case.
Changes made when the grid or any of system stages in the system stage trees are active
will reflect themselves in all system stages further down the system stage tree, as long
as the changed parameters on the higher level have not been already modified on the
stage below. This principle of a flexible, non-redundant, hierarchical system stage admin-
istration is depicted in the figure 7.10.

Fig. 7.10: System stage hierarchy example diagram

In the ''Step 1'' of figure 7.10, a base case with three parameters is defined: A, B and C.
Three system stage folders are created in this base case and each of them changes one
or more of these parameters (depicted by the ':=' symbol). Two second level system stag-
es are visible. The right columns, pointed by the arrows, give the parameter values when
the grid folder or a system stage folder is activated. These values would be used in the
various calculations. Notice how the third case shows that the change in the first system
stage (A:=11) stays valid when the second level system stage is activated (A:=11,
B:=23). In the sixth case, a change of the first stage (B:=21) is overruled by the second
level stage (B:=23).

7-9
DIgSILENT PowerFactory Project Management

In the second step the 'C' parameter is changed in the base case, this change is reflected
in all system stages except for the sixth one, where the 'C' parameter was already modi-
fied (columns A', B' and C').

Note If all of this seems too complex to grasp initially simply keep the
following in mind:
- Information Flow
information flow is from the higher folder to the lower folder only
(picture an 'information diode')
- Modification Flow
changes made in a higher folder will only be 'inserted' into the low-
er folder if that object has not already been changed in the lower
folder - in this case the lower folder object is 'locked.'

7.2.2 Working with System Stage Folders


A new System Stage folder is created by right-clicking the ''base'' folder in the database
tree (usually a grid or system stage folder, but remember that system stages may also be
made of library folders, for example). The new option in the context sensitive menu will
open a second menu which has a System Stage option. By selecting that option, a new,
empty, system stage folder ( ) is created.
The user must assign a name and optionally an owner to the new folder. The newly cre-
ated system stage is initially inactive. It must be added to a study case in order to become
active. A system stage can be added to the active study case by right-clicking it and se-
lecting Add to Study Case. If the system stage already has an active parent, that must be
removed from the study case prior to the addition of the new system stage.
After creating an activating a new system stage, a graphic appears that looks like that of
the parent's graphic. All objects in higher-level grid, as well as all changes made in higher-
level system stages, are collected, and together define the network of the active system
stage. These objects appear in the database under the active system stage.
The example of figures 7.11, 7.12 and 7.13 shows how the configuration of an existing
study case may be altered in order include a network variant from a system stage. Figure
7.11 shows the initial configuration of the study case. It has the base configuration of the
grid included. To change from the basic grid to the new system stage, the user has to
right-click on the highlighted grid and select Remove from Study Case. Once the basic
grid has been removed from the study case, the system stage may be added to it (figure
7.12) by right-clicking on the system stage and selecting Add to Study Case. The result
of the new system stage now included in the study case is shown in figure 7.13.

7 - 10
DIgSILENT PowerFactory Project Management

Fig. 7.11: Database with study case using the base grid

Fig. 7.12: Database with base grid removed from study case and before activation of
a system stage folder

Fig. 7.13: Database after activation of a system stage folder

7 - 11
DIgSILENT PowerFactory Project Management

All changes made to the objects are registered in the system stage folder. Each change
will be recorded in a separate 'changed object'.
If a new object is inserted whilst a system stage is active, that object is stored inside the
active system stage. It is visible in the data manager under the active system stage folder,
along with the other objects, which have been collected from the higher-level grid and
higher-level system stages. If the system stage is now deactivated, only the newly insert-
ed objects are visible under that system stages' folder. See the figure 7.14

Fig. 7.14: Database after deactivation of a system stage folder, with added object

Deletion of objects will also be registered. An object deleted while a system stage was
active will be returned to the original parent folder. The delete action will be stored in
the system stage folder, and the object will again be (temporarily) deleted the next time
the system stage folder is activated.
Because the graphics are an integral part of the power system designs which they repre-
sent, and because they are stored in the grid folder, they will also be collected by the sys-
tem stage folders when these are activated. This means that all changes made to the
graphics will also be automatically registered by the system stage folder.
The 'changed objects' of a system stage are not normally visible in the data manager.
PowerFactory automatically creates the change objects, and deletes them again if a
change is reversed.

7.2.3 Revisions
It is possible to create, in one go, system stages for all of the grids/ system stages that
are associated with a study case; within the PowerFactory environment this is called
Revisions.
To create a Revision of a certain study case, right-click on it and choose New −> Revision.
PowerFactory will create system stages of all the grids that are associated with the orig-
inal study case in the new 'Revision' study case folder. All of these system stages will have
the same name and will be associated with the new study case.

7 - 12
DIgSILENT PowerFactory Project Management

7.2.4 Remote System Stages


Normally, the grids, system stages and study cases are all stored in the same project.
However, in some cases it becomes necessary to use grids and/or system stages that be-
long to different projects.
This may happen when a user wishes to use data that is not ''owned'' by the user them-
selves. An example of it, are the ''example'' projects that are shipped with each Power-
Factory installation. Normally they are only accessible when one is logged in as a 'Demo'
user, or if a project is copied to a user folder. Quicker and easier than copying is to simply
add the grids that you wish to work with to a project that you have created in your own
user folder; these grids are then added as 'Remote System Stages'.
Another example is when calculations have to be performed in a multi-user environment.
In this case the power system may be broken up into several sub-systems, each of which
may be the responsibility of different users. When the projects in which the sub-grids re-
side are shared amongst those users, each of them will be able to see these projects fold-
ers in the user folders of the other users, in the same way as each of them can see the
projects defined in the 'Demo' user folder. The grids in these shared projects may now be
added to a calculation case by creating remote system stages of the shared grids.
A remote system stage of a grid/system stage that belongs to a different user is created
by:
 Activating the project and the study case where the remote system stage is going to
be used (Only projects and study cases that are owned by the current user may be
activated).
 Rigth clicking on the target grid/system stage (from the other user) and selecting
Add to study case.
In the example of the figure 7.15, the user 'User' has activated its project and has added
its own 'Grid' to the study case. Additionally, the 'Remote Grid' from 'Other User' has been
added to the active project. This has led to the creation of the 'Remote Variant' system
stage in the 'User' project folder ('User' changed the name of the created system stage
from 'Remote Grid' to 'Remote Variant').

Fig. 7.15: Example of a remote variant

7 - 13
DIgSILENT PowerFactory Project Management

Note Only the projects that have been shared by their owners, are avail-
able to generate remote system stages. To share a project the cur-
rent user must rigth click on it, select 'Sharing...' and define in the
'Sharing dialogue 'if the project is to be shared with all the users or
only users belonging to a certain group (see 3.4.4 for information
about groups of users).

The current user can also crete remote system stages from his own projects, following
the procedure described above. Of course now it is not necessary to share the project
containing the target grid/system stage.
A study case with remote variants acts like a normal study case. All calculations will ad-
dress all of the objects in the 'Remote Variant', as if they were local objects. The remote
design is protected against changes by the fact that the remote variant is a normal system
stage. All changes made in the 'Remote Grid' will therefore be removed as soon
as the 'Remote Variant' is deactivated.

7.2.5 Reducing a System Stage


The project management system may be used to create a data structure with a non-re-
dundant, hierarchical tree of alternative design variants. These design variants are stored
in system stage folders.
The design variants can be used to analyze different design options. After such analyses,
one of these options may be chosen to be the 'base' design. The user may therefore dis-
card the differences between higher level designs and this design, keeping only this vari-
ant (and lower level variants). This is done by reducing the corresponding system stage
folder to a target folder, which may be the higher level grid or a system stage folder higher
up in the hierarchical tree.
A system stage is reduced to one of its parent folders by first activating the parent and
subsequently right-clicking the system stage to be reduced. The pop-up menu will show
the option Reduce System Stage Branch.
Reducing a system stage to higher level target folder is straight forward when it is the
only variant for that target folder. The reduction method becomes more complex when
the target folder has other system stages. Because the system stage administration sys-
tem is non-redundant, conflicts may arise as the system stages suddenly see their base
case design changed after the reduction. PowerFactory uses an intelligent reduction al-
gorithm, which ensures that system stages parallel to one being reduced are preserved.
The complete system stage branch, containing all system stages between the one that is
to be reduced and the target folder, will be reduced.
The reduction principle is illustrated using the data structure shown in figure 7.16, as an
example. The system stage folder TO REDUCE from the original variant tree is to be re-
duced into the Grid folder. The process is initiated by selecting Reduce System Stage
Branch from the context sensitive menu of the TO REDUCE system stage, whilst Grid is
active. In the resulting structure (figure 7.16 rigth) the Grid contains the network as it
was defined in the TO REDUCE folder. The system stages AAAA, AAB, AB and B contain
the same incremental changes as before, but the changes are now based on the mod-
ified grid.

7 - 14
DIgSILENT PowerFactory Project Management

Fig. 7.16: Project view before and after system stage reduction

Caution: If system stage B contained a new load L1 connected to terminal


T1, and the terminal T1 was deleted in system stage AA, then in
the final structure system stage B will still contain the new load L1,
but that load will no longer be connected, since terminal T1 no
longer exists.

As another example, the reduction process of the above example is repeated, but this
time it is divided into sequential steps (figures 7.17 and 7.18).
 Step 1: TO REDUCE is reduced into the upper folder AAA. The network configuration
of AAA is now as it was defined in TO REDUCE, but it retains its name.
 Step 2: AAA is reduced to AA. The network configuration of AA is now as it was
defined in TO REDUCE.
 Step 3: AA is reduced to A.
 Step 4: A is reduced to Grid, which now contains the network configuration as
originally defined in TO REDUCE. All other system stages are now directly below Grid.

Fig. 7.17: Example step by step system stage redunction-Steps 1 and 2.

7 - 15
DIgSILENT PowerFactory Project Management

Fig. 7.18: Example step by step system stage redunction-Steps 3 and 4.

7.3 Comparing Projects


In some stages of a system design study, more than one project version may have been
created. Such may be the case when several people are working on the projects, but
whom are all working on a stand-alone version of PowerFactory. A typical example aris-
es when people are working on the projects on laptops while travelling. It is then neces-
sary to update the original project with an altered project version.
PowerFactory provides a special command object, called Compare Projects (Com-
Prjdiff) to compare variants of an original project. With this command, it is also possible
to create system stages in the original project, containing all modifications made in the
altered projects.
Aside from updating a project using an altered version, the comparison command is also
used to create a single project with trees of system stages from imported data. If such
data is created by other programs, the import of different project alternatives may result
in separate redundant projects. By comparing the 'base case' project to the alternative
projects, one by one, a single 'base case' project may be created, with non-redundant
trees of system stages.

Fig. 7.19: Comparing projects

7 - 16
DIgSILENT PowerFactory Project Management

To open the compare command dialogue right-click on an inactive project folder and then
select Compare Projects... The current active project is taken as the 'Base Project' while
the right-clicked project as the 'Project to Compare' (as it is seen in figure 7.19 the 'Project
to Compare' can be changed/selected from the command dialogue). The command com-
pares the 'Base Project' as it currently looks (Library and grid folders, or if active system
stages System Stage folders instead) with the base of the 'Project to Compare'. No system
stages of the 'Project to Compare' are regarded.
The following example would be useful to clarify the concept of the compare command:
If the 'Base Project' has two grids called ''Grid1'' and ''Grid2'', and ''Grid1'' has a system
stage called ''Variant'', which is active; the 'Project to Compare' has ''Grid1'', ''Grid2'' and
certain system stages; the compare command will compare ''Variant'' and ''Grid2'' from
the 'Base Project' with the grids from the 'Project to Compare'.
The compare command has the following options (please see figure 7.19).
Difference Report only:
Reports missing objects or objects that have different data, in one or
the other project. Only differences on the grid and Library folders are
reported. Disabling this option will create, instead of the report, a
system stage containing the grid differences. The system stages are
created under the active grid/system stage folders of the Base Project.
A recommended practice is always to generate a difference report
before creating a new system stage.
Report additional cubicles:
Reports any additional cubicles found in either of the two projects.
Suppress output messages while comparing:
Differences found during the comparison are not shown.
Ignore cubicle names:
Ignores the names of cubicles and will only search for comparable
connections to busbars and terminals.
Copy Graphics:
Copies the graphics folders from the Project to Compare that do not
exist in the Base Project.

Note The intention of the compare command is to compare different


versions of one project, therefore it is expected that the names of
the grid folders and the power system elements are the same. If
two projects have grid folders whose content is the same but
whose names differ, a missing grid with all it's elements will be re-
ported.

7 - 17
DIgSILENT PowerFactory Project Management

7 - 18
DIgSILENT PowerFactory The Graphic Windows

Chapter 8
The Graphic Windows

8.1 Graphic Windows and Database Objects


In the PowerFactory graphic window, graphic objects associated with the active study
case are displayed. Those graphics include single line diagrams, station diagrams, block
diagrams and Virtual Instruments. Many commands and tools are available to edit and
manipulate symbols in the graphics. The underlying data objects may also be accessed
and edited from the graphics, and calculation results may be displayed and configured.
Many of the tools and commands are found in the drop down menus or as buttons in the
toolbars, but by far the most convenient manner of accessing them is to use the right
mouse button to display a menu. This menu is known as a 'Context Sensitive Menu'; in
other words, PowerFactory evaluates where the tip of your cursor is, and then presents
a menu that is appropriate to the cursor location. Thus cursor position is important when
selecting various menu options. It is important to keep the cursor in place when right-
clicking, as the menu presented is determined from cursor position primarily, and not from
the selected or marked object.
As stated before, PowerFactory works with four different classes of graphics: Single
Line Diagrams, Block Diagrams, Virtual Instruments and Station Graphics (see 8.1.1 for
more information). The first three classes may be used to create new objects. They con-
stitute the main tools used to design new power systems, controller block diagrams and
displays of results. The fourth graphic class, the Station Graphics, is not used to define
new objects, but only to show stations and calculation results.

8.1.1 Active Graphics, Graphics Board and Study Cases


The graphics that are displayed in an active project are determined by the active study
case. Four types of graphic objects are used in PowerFactory:
• Single Line Diagrams for entering power grid definitions and for showing calculation
results
• Station Diagrams for showing station topologies and calculation results
• Block Diagrams for designing logic (controller) circuits and relays
• Virtual Instrument Pages for designing (bar) graphs, e.g. for the results of a stability
calculation, bitmaps, value boxes, etc...
The study case folder contains a folder called the 'Graphics Board' folder (SetDesktop)
in which references to the graphics to be displayed are contained. This folder, much like
the 'Summary Grid' folder, is automatically created and maintained and should generally
not be edited by the user.

8-1
DIgSILENT PowerFactory The Graphic Windows

The grid folder contains a sub-folder called the 'Graphic' folder ('IntGrfnet'). This sub-
folder should generally also not be edited by the user as it is automatically created and
maintained. It contains the graphic objects, associated to the grid data objects, required
to generate the single line graphics.
More than one graphic (single line diagram) may be created in/ for a grid, either to display
the different grid elements over several pages, or to display the same grid elements in
different graphical arrangements.
Consider the 'Simple Power System' project that is shown in the figure 8.1. The active
study case is called Alt Study Case and the active grid has two single line graphics that
have been created for it, Grid and Alt Grid View. The graphics board folder in the study
case has a reference to only the Alt Grid View graphic object and thus only this graphic
for the grid will be shown when the study case is activated.

Fig. 8.1: Relationship between the study case, graphics board and single line
diagrams

The references in the graphics board folder are created when the user adds a grid to a
study case. PowerFactory will ask the user which graphics of the grid should be dis-
played. At any time later the user may display other graphics in the grid by right-clicking
the grid −> Show Graphic. Graphics may be removed by right-clicking the tab at the bot-
tom of the page and right-clicking −> Remove Page(s).
The study case and graphics board folder will also contain references to any other graph-
ics that have been created when the study case is active.

8.1.2 Single Line Graphics and Data Objects


In a simple network there may be a 1:1 relationship between data objects and their
graphical representations, i.e. every load, generator, terminal and line is represented
once in the graphics. However, PowerFactory provides additional flexibility in this re-
gard. Data objects may be represented graphically on more than one graphic, but only
once per graphic. Thus a data object for one terminal can be represented graphically on
two or more graphics. Both graphical representations contain the link to the same data
object.

8-2
DIgSILENT PowerFactory The Graphic Windows

Furthermore, graphical symbols may be moved without losing the link to the data object
they represent. Likewise, data objects may be moved without affecting the graphic
The graphics themselves are saved in the database tree, normally in the same folder as
the power grids to which they belong. This makes finding the correct Single Line graphic
representation of a particular grid, even in the case where there are several graphic rep-
resentations for one grid, easy.
When the drawing tools are used to place a new component (i.e. a line, transformer, bar
graph, etc.) a new data object is also created in the database tree. A Single Line Graphic
object therefore has a reference to a grid folder. The new data objects are stored into the
'target' folders that the graphics page is associated with (this information may be deter-
mined by right-clicking the graphic −> Graphic Options see 6.4 for more information).
Since data objects may have more than one graphic representation the deletion of a
graphic object should not mean that the data object will also be deleted. Hence the user
may choose to delete only the graphical object (right-click menu −> Delete Graphical Ob-
ject only. In this case the user is warned that the data object will not be deleted.
This suggests that a user may delete all graphical objects related to a data object, with
the data object still residing in the database and being considered for calculation. This is
indeed what will occur, when such graphical deletion is done.
When an element is deleted completely (right menu option −> Delete Element) a warning
message will confirm the action. This warning may be switched off - see User Settings,
General, "Always confirm deletion of Grid Data").

8.1.3 Editing and Selecting Objects


Once elements have been drawn on the graphic the data for the element may be viewed
and edited by either double-clicking the graphic symbol under consideration, or by right-
clicking it −> Edit Data.
The option Edit and Browse Data will show the element in a data manager environment.
The object itself will be selected (highlighted) in the data manager and can be double-
clicked to open the edit dialogue. A new data manager will be opened if no data manager
is presently active. If more than one symbol was selected when the edit data option was
selected, a data browser will pop up listing the selected objects. The edit dialogues for
each element may be opened from this data browser one by one, or the selected objects
can be edited in the data browser directly, see 6.4.
Finding specific elements in a large project may be difficult if one had to look through the
single line diagram alone. PowerFactory includes the Mark in Graphic tool, to assist the
user in finding elements within the graphic. To use this tool the user has to first search
for the desired object in the Data Manager using any of the methods presented in chapter
6. Once a searched object/element is identified, it may be right-clicked and the option
Mark in Graphic selected. This action will mark the selected object in the single line graph-
ic where it appears.
When performing this command ensure that the object itself is selected, as shown in the
figure 8.2. The menu will be different to that seen when selecting an individual field, as
shown in the figure 8.3.

8-3
DIgSILENT PowerFactory The Graphic Windows

Fig. 8.2: Selecting an object correctly

Fig. 8.3: Selecting an object incorrectly

Note The position of an object in the database tree can be found by:
-Opening the edit dialogue. The full path is shown in the header of
the dialogue.
-Right-clicking the object and selecting Edit and Browse. This will
open a new database browser when required, and will focus on the
selected object.

8-4
DIgSILENT PowerFactory The Graphic Windows

8.1.4 Creating New Graphic Windows


A new graphic window can be created using the New command dialogue. This dialogue
may be opened:

• By pressing the icon.


• By selecting the File −> New item on the main menu.
• By pressing the keyboard shortcut Ctrl+N.
The ComNew dialogue must be configured to create the desired new object and the new
object should be named. Ensure that the correct target folder for the new object is se-
lected.
Objects that may be created using this dialogue (DiaPagetyp) are:
Project
Creates a new Project folder and another dialogue pops up to define a
grid folder in the Project folder. Finally the Graphic page in which the
single line diagram may be drawn will appear.
Grid
Creates a new grid folder and a new Single Line Graphic object in that
folder. The (empty) single line graphic will pop up.
Block Diagram
Creates a new Block Diagram folder in the selected folder and a new
Block Diagram Graphic object. The (empty) block diagram graphic will
pop up.
Virtual Instrument Panel
Creates a new Virtual Instrument Page object. The (empty) Virtual
Instrument Page will pop up.
Single Line Graphic
Creates a Single Line Graphic in the target folder. Before the graphic
can be created the Current Net Data pointer must be set (that is, the
relevant grid folder must be selected).
The target folder will be set to the \User folder by default, but may be changed to any
folder in the database tree. The new grid, Block Diagram or Virtual Instruments folder will
be created in the target folder.
In all cases, a new graphics board object is also created, because graphic pages can only
be shown as a page in a graphics board. An exception is the creation of a new page, while
in a graphics board. This can be done by pressing the icon on the graphics board
toolbar. This will add the new graphics page to the existing graphics board.

8.1.5 Building from Predefined Objects


Designing new (extensions to) power system grids, is preferably done graphically. This
means that the new power system objects should be created in a graphical environment.
After the new components are added to the design, they are edited, either from the
graphical environment itself (by double-clicking the objects), or by opening a database
manager and using its editing facilities.
It is however possible, and sometimes even necessary, to work the other way around. In

8-5
DIgSILENT PowerFactory The Graphic Windows

that case, new data objects are first created and edited in the database manager, or im-
ported from other programs, and subsequently used in one or more single line diagrams.
PowerFactory allows for this either by drag and drop facilities to drag power system ob-
jects from the data manager to a graphic window, or by the 'Draw Existing Net Elements'
tool. The way this is done is as follows:
1 Select from the drawing tools toolbox the kind of object that is to be drawn in the
graphic.
2 Enable the drag & drop feature in the data manager by double-clicking the drag &
drop message in the message bar.
3 Select the data object in the data manager by left clicking the object icon.
4 Hold down the left mouse button and move the mouse to the graphic drawing area
(drag it).
5 Position the graphical symbol in the same way as is done normally.
6 A new graphical symbol is created, the topological data is changed, but the
graphical symbol will refer to the dragged data object. No new data object is
created.
Dragging objects in this manner is supported, however, it is easier to use the 'Draw Ex-
isting Net Elements' tool to perform this action, as described in the next section.

Building Single line Diagram from Imported Data


When a power system design is imported from another program, only the non-graphical
information is regarded (only some of the converters that are provided in PowerFactory
will also import graphics files). Although this includes the connection data in the form of
'from-to' data fields, the graphical single line diagrams are usually not be imported. After
the import, a new single line diagram may be built using the imported database informa-
tion (note that this does not mean that the user will not be able to perform load-flows and
other calculations immediately after import; this may be done).
This is done by first creating a new single line graphic folder, preferably in the grid folder
that contains the imported power system (right-click the grid folder −> New −> Graphic).
This opens the single line graphic dialogue, where the 'Current Net Data' pointer has
should be set to the respective grid folder. See 8.3 for more information.
As soon as the correct folder has been set, and OK has been pressed, the single line graph-
ic folder ( ) is created and a blank graphic page, appropriately named, pops up. The
Draw Existing Net Elements ( ) icon on the graphics toolbar may now be pressed.
This opens a database browser listing all elements considered by the active study case
(see figure 8.4) and which have not yet been inserted into the new single line graphic.
This list may be filtered to show only particular grids or all grids by using the drop down
window (figure 8.4 a, right) provided. Once a drawing tool is chosen, in this case the Ter-
minal tool, the list is further filtered to show only terminals, as can be seen in the example.
When the user now clicks on the graphic the highlighted terminal (in the browser, figure
8.4 b) will be removed from the list and placed onto the graphic, and the next terminal
down will be highlighted, ready for placement. In the example three terminals have al-
ready been placed in the graphic.
After all busbars have been inserted into the single line graphic, another branch and edge
elements may be selected in the graphic toolbox. In the figure 8.5 a, the 2-winding trans-

8-6
DIgSILENT PowerFactory The Graphic Windows

former tool has been selected. The database browser will now show all 2-winding trans-
formers which have not been inserted into the graphics. When one of these transformers
is selected in the browser (figure 8.5 b), the corresponding two busbars will be highlighted
in the single line graphic. The insertion point and connections for the transformer is thus
clear. This is also why the nodes should first be placed on the graphic. Edge (lines, trans-
formers) and branch (loads, machines, etc.) elements are placed once the nodes are in
position.

a)

b)
Fig. 8.4: Using the Draw Net Elements tool

8-7
DIgSILENT PowerFactory The Graphic Windows

a)

b)
Fig. 8.5: Placing a transformer

Note Before placing elements onto the graphic users may find it useful
to configure and display a background layer. This will be a bitmap
of an existing single line diagram of the system. It may be used to
'trace' over so that the PowerFactory network looks the same as
current paper depictions; see 8.3.4 for more information on layers.

Drawing line routes may be done in two ways:


• Connect the parent line first (this is the original line from which the line routes were
created; it is marked by the symbol ). In this case all terminals and routes that
belong to this parent line will automatically be drawn. You may then move the
terminals along the parent line. If the terminal is selected and moved it may only be
moved along the line itself, however, if you wish to move the terminal to another
point, and thus have the line routes move as well then hold the Ctrl+Alt keys down
at the same time and then move the terminal.
• First insert the terminals that lie between routes. Then the routes can be added as
usual.
More about how to draw busbars, 2-winding transformers, etc. is explained in the follow-
ing sections.

8.2 Basic Functionality


Each of the four graphic window types are edited and used in much the same way. This
section gives a description of what is common to all graphic windows. Specific behavior
and functionality of the graphic windows themselves is described in separate sections.

8-8
DIgSILENT PowerFactory The Graphic Windows

8.2.1 The Page Tab


The page tab of the graphic window displays the name of the graphics in the graphics
board. The sequence of the graphics in the graphics board may be changed by the user.
A page tab is clicked and moved by dragging and dropping. An arrow marks the insert
position during drag and drop. Another way to change the order of the graphics is to se-
lect the option Move/Copy Page(s) of the context sensitive menu. In addition virtual in-
strument panels can be copied very easily. To do so the Ctrl key is pressed during drag
and drop. The icon copies a virtual instrument panel and inserts the copy alongside
the original panel.
The page tab menu is accessed by a right-click on the page tab of the graphic windows.
The following commands are found:

• Insert Page −> Create New Page creates a new page (the icon in the toolbar will
do the same).
• Insert Page −> Open Existing Page opens a page or graphic that has already been
created but which is not yet displayed (the icon in the toolbar will do the same).
• Rename Page presents a dialogue to change the name of the graphic.
• Move/Copy Page(s) displays a dialogue to move or copy the selected page. Copy is
available only for virtual instrument panels.

8.2.2 The Drawing Toolboxes


Each graphics window has a specific Drawing Tool Box. This toolbox has buttons for new
network symbols and for non-network symbols. See the figure 8.6 for two examples.

a) b)
Fig. 8.6: Two tool boxes, for single line diagrams (a) and for block diagrams (b)

The toolboxes have:

8-9
DIgSILENT PowerFactory The Graphic Windows

• Network or block diagram symbols, which are linked to a database object: busbars,
lines, transformers, switches, adders, multipliers, etc.
• Graphical add-on symbols: text, polygons, rectangles, circles, etc.

• The "Graphic Cursor'' ( ) which is mainly used to select graphical objects in order
to change their appearance.
The toolboxes are only visible when the graphics freeze mode is off. The graphics freeze
mode is turned on and off with the icon (found at the local icon bar of the graphical
window).

8.3 Graphic Commands, Options and Settings


In this section the commands, options and settings that are available in PowerFactory
to configure and use the graphic windows are introduced. The first three subsections
present the options, commands and settings available for the different windows. The last
four are dedicated to the Graphic Layers, the Color Representation, the Title Block and
the Legend Block, which are special features that facilitate the visualization of the repre-
sented power system within the graphical windows.

8.3.1 General Commands and Settings


The following basic options are available in all graphic windows.

Zooming

Zoom In:

Zoom Out:

Zoom All:
Press the button; the cursor changes to show a magnifying glass; the area to be zoomed
into must be selected. This is done by dragging a rectangle around the area to be zoomed
−> picture the area to be zoomed and left click in the top left hand corner of an imaginary
rectangle framing the area. Keep the mouse button held down and drag the cursor down
and to the right. A frame is drawn as you do this; when the frame encompasses the area
you wish to zoom into let the mouse button go.
To zoom ''back'' press the Zoom Out button - this will step the zoom back to the last state.
To view the entire page press the Zoom All button (100 percent zoom).

Note You can also type a zoom percentage directly into the 'Zoom Level'
window or use the drop down list to zoom

Print Graphic
Main Menu: File −> Print

8 - 10
DIgSILENT PowerFactory The Graphic Windows

Keyboard: Ctrl + P

Icon:
This function will send the graphic to a printer. A printer dialogue will appear first.

Note The function, Page Setup (accessible via main menu path File −>
Page Setup), allow a subsize for printing to be set. This will, for ex-
ample, print an A3 graphic across two A4 pages. Special paper siz-
es or unusual printer insertion points may be entered as well by
using the margins of the print-out. These margins have to be set
with care as the print-out will be stretched to the frame. If this re-
maining page frame has a X/Y - ratio other than 0.707 (A3, A4),
the drawing will be distorted.

Rebuild
Right-Click: Drawing −>Rebuild

Icon:
The drawing may not be updated correctly in some circumstances. The rebuild function
updates the currently visible page by updating the drawing from the database.

Insert New Page


Page Tab Menu: Insert Page −> Create New Page (The page tab menu is opened by
right-clicking the page tabs).

Icon:
Inserts a new graphic object into the Graphic Board folder of the active study case and
presents a blank graphics page to the user. A dialogue to configure the new graphics ob-
ject will appear first.

Insert Existing Page


Page Tab Menu: Insert Page −> Open Existing Page (The page tab menu is opened by
right-clicking the page tabs).

Icon:
Inserts existing graphics, which may be one of the following:
• Graphic folder object (IntGrfnet, ) −> opens the selected graphic.
• Station (ElmStat, ) −> opens the station graphic of the selected station (this may
also be accessed by right-clicking the station in a Data Manager, or a busbar on the
single line graphic −> Show Station Graphic.

8 - 11
DIgSILENT PowerFactory The Graphic Windows

• Terminal (ElmTerm, ) opens the station graphic of the selected terminal (this may
also be accessed by right-clicking the terminal in a Data Manager, or a terminal on the
single line graphic −> Show Station Graphic.
• Block Definition (BlkDef, ) → The graphic of the block definition is opened. If
there is no graphic defined for the block definitions the command is not executed.
• Virtual Instrument Panels (SetVipage) −> A copy of the selected virtual instrument
panel is created and displayed.
Graphic folder objects (IntGrfnet) may be opened in more than one Graphics Board at the
same time, even more than once in the same Graphics Board. Changes made to a graphic
will show themselves on all pages on which the graphic object is displayed.

Remove Page
Page Tab Menu: Remove Page (The page tab menu is opened by right-clicking the page
tabs).
This function will remove the selected graphic from the Graphics Board. The graphic itself
will not be deleted and can be re-inserted to the current or any other Graphics Board at
any time.

Rename Page
Page Tab Menu: Rename Page (The page tab menu is opened by right-clicking the page
tabs).
This function will pop up a dialogue to change the name of the selected graphic.

Graphic Options
Right-Click Drawing:Graphic Options

Icon:
Each graphic window has its own settings, which may be changed using the graphic op-
tions function. This function presents a dialogue for the following settings. See the figure
8.7.
Basic Attributes tab:
Name
The name of the graphic
Current Net Data
The reference to the database folder in which new power system
elements created in this graphic will be stored.
Snap
Snaps the mouse onto the drawing raster.
Grid
Shows the drawing raster using small points.
Freeze
Switches on the freeze mode

8 - 12
DIgSILENT PowerFactory The Graphic Windows

Ortho-Type
Defines if and how non-orthogonal lines are permitted:
- Ortho Off: Connections will be drawn exactly as their line points were set.
- Ortho: Allow only right-angle connections between objects.
- Semi Ortho: The first segment of a connection that leads away from a busbar or
terminal will always be drawn orthogonally.
Line Style for Cables
Is used to select a line style for all cables.
Line Style for Overhead Lines
Is used to select a line style for all overhead lines.
Offset Factor for Branch Symbols
Defines the length of a connection when a branch symbol is drawn by
clicking on the busbar/terminal. This is the default distance from the
busbar/terminal in grid points.
Show Bus Couplers
Can be used to see all couplers, or to hide them.
Allow Individual Line Style
Permits the line style to be set for individual lines. The individual style
may be set for any line in the graphic by right-clicking the line −> Set
Individual Line Style. This may also be performed for a group of
selected lines/cables in one action, by first multi selecting the elements.
Allow Individual Line Width
As for the individual line style, but may be used in combination with the
"Line Style for Cables/Overhead Lines" option. The individual width is
defined by selecting the corresponding option in the right mouse menu
(may also be performed for a group of selected lines/cables in one
action).
Equidistant Insertion of Terminals on Lines
Is used when an existing line with line-routes is drawn. The terminals
between the line-routes can then be drawn either with distances
according to the relative length of the routes, or, when this option is
enabled, at equidistant positions along the line. This has no effect on
the electrical models, only on the graphical representation.
Display Frame around Switches
Draws a frame around the switch itself (Breakers, Disconnectors, etc.).
This only applies to user-drawn breakers and disconnectors.
Support Line Routes Functionality
Support Line routes functionality:
- Enabled: Two line routes are created when placing a terminal on a LINE.
- Disabled: Two lines are created when placing a terminal on a LINE.

Note When placing a terminal on a LINE-ROUTE two line routes will be


created, regardless of the "Support Line Routes Functionality" set-
ting. This is the intent and can not be changed, as line routes are
stored inside lines.

8 - 13
DIgSILENT PowerFactory The Graphic Windows

Additional Attributes and Coordinates tabs: these should only be configured with the as-
sistance of DIgSILENT support staff.

Fig. 8.7: Graphic options editor

Result Boxes tab:


Cubicle representation
Selects the switch representation (see the figure 8.8):
- Permanent Box:Shows a solid black square for a closed and an frame line for an
open switch (left picture).
- Old Style Switch:Shows the switches as the more conventional switch symbol
(right picture).
Background of Result Boxes
Specifies the transparency of results boxes:

8 - 14
DIgSILENT PowerFactory The Graphic Windows

- Opaque:Means that objects behind the results box cannot be seen through the
results box.
- Transparent:Means that objects behind the results box can be seen through the
results box.
Show line from General Textboxes to referenced objects
may be disabled to unclutter the graphic.
Always show result boxes of detailed couplers
Self-explanatory.
Space saving representation of result boxes on connection lines
Self-explanatory.
Reset textboxes completely
Textboxes and result boxes have reference points (the point on the box
at which the box will 'attach' to its element) that may be changed by
the user. If this option is:
- Enabled:The default reference will be used.
- Disabled:The user defined reference will be used.
when the Reset settings option in the right-click menu for moved result
boxes is selected.

Fig. 8.8: Cubicle representations

The settings for the cursor type for the graphic windows (large crosshair or small tracking
cross) may be set in the User Settings dialogue, see section 4.2. This is because the cursor
shape is a global setting, valid for all graphic windows, while all graphic settings described
above are specific for each graphic window.

Page Setup for Drawing and Printing


The drawing area for single line diagrams, block diagrams and virtual instruments is se-
lected in the "Drawing Format" dialogue ( icon on the graphics window). One of the
predefined paper formats can be selected, each of which can be edited, and new formats
can be defined. The selected paper format has 'Landscape' orientation by default and can
be rotated by 90 degrees by selecting 'Portrait'. The format definitions, which are shown
when an existing format is edited or when a new format is defined, also show the land-
scape dimensions for the paper format.
It is not possible to draw outside the selected drawing area. If a drawing no longer fits to

8 - 15
DIgSILENT PowerFactory The Graphic Windows

the selected drawing size, then a larger format should be selected. The existing graphs
or diagrams are repositioned on the new format (use Ctrl+A to mark all objects and then
grab and move the entire graphic by left clicking and holding the mouse key down on one
of the marked objects; drag the graphic to a new position if desired).
If no 'Subsize for Printing' format has been selected, then, at printing time, the drawing
area will be scaled to fit the paper size of the printer. If, for instance, the drawing area is
A3 and the selected paper in the printer is A4, then the graphs/diagrams will be printed
at 70% of their original size.
By selecting a subsize for printing, the scaling of the drawing at printing time can be con-
trolled. The dimensions of the sub-sized printing pages are shown in the graphic page. If,
for instance, the drawing size has been selected as A3 landscape, and the printing size as
A4 portrait, then a vertical grey line will divide the drawing area in two halves. The draw-
ing area will be accordingly partitioned at printing time and will be printed across two A4
pages.
Make sure that the selected subsize for used for printing is available at the printer. The
printed pages are scaled to the available physical paper if this is not the case.
For instance:
• The drawing area has been selected as A2 landscape.
• The subsize for printing has been selected as A3 portrait. The A2 drawing is thus to be
printed across two pages.
• Suppose that the selected printer only has A4 paper. The original A2 drawing is then
scaled down to 70% and printed on two A4 sheets of paper.

Mark All

Icon:
This function marks (selects) all objects in the drawing. This is helpful for moving the
whole drawing to another place or copying the whole drawing into the clipboard. In block
diagrams the surrounding block will not be marked. The keyboard short cut Ctrl+A may
also be used to perform this action.

8.3.2 Commands and Settings for Block Diagrams and Single


Line Graphics
The following basic functions are available in block diagram and single line graphics.

Edit Data
Right-Click Selection:Edit Data
Keyboard: Alt+Return
Mouse: Double-click

Icon:
This option lets the user edit the device data of all marked objects in the drawing. If only

8 - 16
DIgSILENT PowerFactory The Graphic Windows

one object is marked, then this object's edit dialogue will pop up directly. When more than
one object is marked, a Data Manager window will show the list of marked objects. As
with a normal Data Manager, these objects can be double-clicked to open their edit dia-
logues. See chapter 6 for more information.

Note Changes made in the device data of objects are not registered by
the graphical Undo Function. Undoing these changes is therefore
not possible.

Delete
Right-Click Selection:Delete Element
Keyboard: Del

Icon:
This function deletes all marked objects in the drawing. The database objects for the
graphical object will also be deleted (a warning message will pop up first - this may be
switched off in the "User Settings" dialogue; see 4.2.

Delete Graphical Object only


Right-Click Selection:Delete Graphical Object only
This function deletes all marked objects in the drawing. The database objects for the
graphical object will also be deleted (a warning message will pop up first - this may be
switched off in the "User Settings" dialogue; see 4.2).

Copy
Right-Click Selection:Copy
Keyboard: Ctrl+C

Icon:
Copies all marked objects from the current drawing and puts them into the clipboard.

Paste
Right-Click Drawing:Paste
Keyboard: Ctrl+V

Icon:
Copies all objects from the clipboard and pastes them into the current drawing. The ob-
jects are pasted at the current graphical mouse position. Objects that are copied and so
pasted create completely new graphic and data objects in the graphic that they are pasted
into.
If you wish to copy and paste just the graphic, then choose Paste Graphic Only from the

8 - 17
DIgSILENT PowerFactory The Graphic Windows

right-click menu. Similar results are obtained when using the "Draw Existing Net Ele-
ments" tool (see 8.1.5).

Undo
Right-Click Selection:Undo
Keyboard: Ctrl+Z

Icon:
Undoes the last graphic action. Undo will restore deleted elements or delete created ele-
ments when necessary. Note that data that has been deleted or changed will not be re-
stored.

Define Graphics Attributes

Icon:
This dialogue sets the line style, line width, brush style, color and font, for annotations
(i.e. not for power system elements).
The line style includes several kinds of dashed or dotted lines and one special line style:
the TRUE DOTS style. This style will only put a dot at the actual coordinates. In a single
line graphic, this means only at the start and the end, which does not make much sense.
For result graphs, however, the TRUE DOTS style will only show the actual data points.
The brush style is used to fill solid symbols like squares and circles. These settings may
also be accessed by simply double-clicking an annotation.

8.3.3 Commands and Settings for Single Line Graphics


The following basic functions are available in single line graphics only.

Draw Existing Net Elements

Icon:
This button opens a database browser which contains all objects in the Current Net Data
folder, which are not shown in the active single line graphic.
Draw Existing Net Elements is used mainly to build single line graphics from imported da-
ta, but may also be used to create alternative graphical arrangements for existing data.
See 8.1.5 for more information.

Set Individual Color


Right-Click Selection:Set Individual Color
Allows the user to choose a color for individual elements. Only available when the 'Color
Representation' ( 8.3.5) is set to 'Individual'.

8 - 18
DIgSILENT PowerFactory The Graphic Windows

Rotate
Right-Click Selection:Rotate
Rotates symbols 90 degrees. Only unconnected symbols can be rotated. To rotate a con-
nected element: disconnect it, rotate it and connect it again.

Disconnect Element
Right-Click Selection:Disconnect Element
Disconnects the selected elements.

Reconnect Element
Right-Click Selection:Reconnect Element

Icon:
Disconnects the selected elements and then presents the element for immediate re-con-
nection. The branch to be connected will be 'glued' to the cursor. Left clicking a bar or
terminal will connect the element.

Connect
Right-Click Selection:Connect Element
Connects the selected unconnected elements one by one. The branch to be connected
will be 'glued' to the cursor. Left clicking a bar or terminal will connect the element.

Move Objects
Marked objects can be moved by left clicking them and holding down the mouse button.
The objects can be moved when the cursor changes to an arrowed cross ( ).
Hold down the mouse button and drag the marked objects to their new position. Connec-
tions from the moved part of the drawing to other objects will be adjusted.

Edit Line Points


Right-Click Selection:Edit Line Points
The connection lines of graphical symbols may be edited separately. Selecting the Edit
Line Points option will show the black squares ('line points') that define the shape of the
connection. Each of these squares can be moved by left clicking and dragging them to a
new position (see the figure 8.9). New squares can be inserted by left clicking the con-
nection in between squares.

8 - 19
DIgSILENT PowerFactory The Graphic Windows

Fig. 8.9: Editing line points

Line points are deleted by right-clicking them and selecting the Delete Vertex option from
the case sensitive menu. This menu also presents the option to stop (end) the line point
editing, which can also be done by left clicking somewhere outside the selected lines.

8.3.4 Graphic Layers


The single line graphic and the Block diagram graphic windows use transparent layers of
drawing sheets on which the graphical symbols are placed. Each of these layers may be
set to be visible or not. The names of objects that have been drawn, for example, are on
a layer called 'Object Names' and may be made visible or invisible to the user.
Which layers are visible and exactly what is shown on a layer is defined in the 'Graphical
Layers' dialogue. This dialogue can be opened by pressing the icon on the local tool-
bar, or by right-clicking on an empty spot of the graphic area −> Show Layer. The layers
dialogue has a "Visibility" tab to determine which layers will be visible, and a "Configura-
tion" tab to define various attributes for the layers. See figure 8.10.
In this figure 8.10, the layers in the left pane (Base Level, Object Names, Results, etc.)
are visible in the graphical window. The layers in the right pane are invisible. Layers can
be made visible by multi selecting them (hold the Ctrl key down whilst selecting) and
pressing the button (alternatively, double-click a layer name and it will jump to the
other pane). A layer can be made invisible again by selecting it in the left pane and press-
ing the button or by double-clicking it. It is also possible to define user-specific layers,
by pressing the New button.

8 - 20
DIgSILENT PowerFactory The Graphic Windows

Fig. 8.10: Graphical layers dialogue (SetLevelvis)

The layers existing in PowerFactory are described in Table 8.1.


Each graphic symbol in a single line diagram or block diagram is assigned to default layer
at first. All busbar symbols, for example, are drawn on the 'Base Level' layer by default.
Graphic symbols may be shifted onto other layers by right-clicking them in the single line
graphic and selecting the option Shift to Layer from the context sensitive menu. This op-
tion will show a second menu with all layers. Selecting a layer will move all selected sym-
bols to that layer. Moving symbols from one layer to another is normally only needed
when only a few symbols from a certain group should be made visible (for instance the
result boxes of one or two specific point-terminals), or when user defined layers are used.

Note Certain names and results boxes are, by default, assigned to the
'Invisible Objects' layer. An example are the names and results
boxes for point terminals. This is done to unclutter the graphic.
Should the user wish to display names and/or results boxes for cer-
tain point terminals simply make the 'Invisible Objects' layer visible
and re-assign the names and results boxes required to another lay-
er, such as the 'Object Names' or 'Results' layers - then make the
'Invisible Objects' layer invisible once more.

The 'Configuration' tab has a drop down list showing all layers that may be configured by
the user. Considering the 'Object Names' layer as shown in the figure 8.11, it may be seen
that a target (or focus) may be set. The selected target will be the focus of the performed
configuration command. Various actions or settings may be performed, such as e.g.
changing the font using the Change Font button. The configuration tab may also be used
to mark (select/ highlight) the target objects in the graphic using the Mark button.
The options available to configure a layer depend on the type of Layer. Table 8.1 shows
for each layer in which way its content can be changed in format.

8 - 21
DIgSILENT PowerFactory The Graphic Windows

Fig. 8.11: Graphical layers configuration page

As and example, suppose that a part of the single line graphics is to be changed, for in-
stance, to allow for longer busbar names. To change the settings, the correct graphical
layer is first selected. In this example, it will be the 'Object Names' layer. In this layer,
only the busbar names are to be changed, and the target must therefore be set to 'All
Nodes'. When the layer and the target has been selected, the width for object names may
be set in the Settings area. The number of columns may be set using the Visibility/
Frame/Width button. Alternatively, the Adapt Width will adapt all of the object name
placeholders to the length of the name for each object.
Changing a setting for all nodes or all branches at once will overwrite the present settings.

Note Should an object disappear when it has been re-assigned to a lay-


er, that layer may be invisible. Layer visibility should be inspected
and changed if required.

8 - 22
DIgSILENT PowerFactory The Graphic Windows

Layer Content Configuration Diagram Type


Options SL Single Line
B Block

Base Level Symbols for the elements of the (none) SL/B


grid

Object Names Boxes with names and additional Text/Box Format SL/B
data description, if configured

Results Boxes with calculation results Text/Box Format SL/B

Connection Dots at the connections between (none) SL/B


Points edges and buses/terminals and
signal connections to blocks

Device Data Additional Text explanation given in Text/Box Format SL/B


the device symbol

Invisible Objects Layer containing the symbols of Text/Box Format SL/B


elements hidden by default

Background Graphic used as the background Name of file with SL/B


(“wallpaper”) to allow easier graphics
drawing of the diagram or to show (WMF,DBX,BMP)
additional information (map
information)

Numbers of Number of lines for each None SL


connection lines connection

Sections and Symbols at lines consisting of Text/Box Format SL


Line Loads sections and/or where line loads
are connected

Connection Double-Arrow at connections where None SL


Arrows the end point is not represented in
the current diagram.

Tap Positions Positions of taps for shunts and Text/Box Format SL


transformers

Vector Groups Vector group for rotating machines Text/Box Format SL


and transformers

Direction Arrows Arrows that can be configured for Active/Reactive Power SL


active and reactive power flow for direct/inverse/
representation homopolar system

Phases Number of phases of a line/cable, None SL


shown as parallel lines

Connection Index of each possible block Text/Box Format B


Numbers connection point

Connection Name of each unused connection of Text/Box Format B


Names a block

Signals Name of the signal transmitted Text/Box Format B

Block Definition Definition each block is based on Text/Box Format B

Table 8.1: Diagram Layers of PowerFactory

8 - 23
DIgSILENT PowerFactory The Graphic Windows

8.3.5 Color Representation

The Single line graphic window has an automatic color representation mode. The icon
on the local toolbar will open the color representation dialogue. This dialogue is used to
select a certain coloring mode. This mode may be
None
This will redraw the graphic in black and white.
Individual
Each symbol may be assigned an individual color as determined by the
user.
Functional
Colors the graphic according to one of the following criteria:
Low/High voltage or loading
Voltage level
Voltage regions
Isolated Grids
User defined filter
Grids/ Original locations
System stages
Loading of Thermal/Peak Short-Circuit Current
Path definitions
System Type AC/DC and Phases
Relay locations
Fault Clearing Times
Feeder Definitions
Fault clearance and power restoration
External measurement locations
Missing graphical connections
Zones
Observability
Choose one of the options to color the graphic accordingly.

8.3.6 The Title Block

The icon on the single line diagram toolbar will turn the title block (See the figure
8.12) on and off. The title block is placed in the lower right corner of the drawing area by
default.

8 - 24
DIgSILENT PowerFactory The Graphic Windows

Fig. 8.12: Single line title mask

The contents and size of the title mask can be changed by right-clicking the title block and
selecting the Edit Data option from the context sensitive menu. The Select Title dialogue
that pops up is used to scale the size of the title block by setting the size of the block in
percent of the default size. The font used will be scaled accordingly. To edit the text in
the title block press the edit button ( ) for the 'Title Text' field.

Set Title dialogue


All text fields have a fixed format in the title block. The data and time fields may be chosen
as automatic or user defined. Most text fields are limited to a certain number of charac-
ters. When opening a new graphic the title will appear by default.

8.3.7 The Legend Block

The icon on the single line diagram toolbar will turn the legend block on and off. The
legend block describes the contents of result boxes (for information about result boxes
see 8.5).
Because more than one type of result box is normally used in the Single line graphic, for
instance, one for node results and another one for branch results, the legend box normally
shows more than one column of legends. After changing the result box definitions, it may
be required to manually resize the legend box in order to show all result box legends.
The Legend Box definition dialogue is opened by right-clicking the legend block and se-
lecting Edit Data from the context sensitive menu. The font and format shown may be
configured. When opening a new graphic the legend will appear by default.

8.4 Drawing Power System Elements


This section provides information on the representation of power systems within the sin-
gle line graphics.

Note Drawing power system elements is a simple matter of choosing the


required element representation from the Drawing Toolbox
(8.2.2). Input parameters of the element are edited through the el-
ement and type dialogs. Complete information about the element
and type parameters is given in the online available Technical Ref-
erences.

8 - 25
DIgSILENT PowerFactory The Graphic Windows

8.4.1 Adding New Power System Elements


To create a new power system element, select the corresponding button in the Drawing
Toolbox.This toolbar is only visible to the user when a project and study case is active and
the open graphic is unfrozen ( icon). As the cursor is positioned over the drawing sur-
face, it will have a symbol of the selected tool 'attached' to it, showing that the cursor is,
for example, in 'Terminal' drawing mode (to reset the mode either press the cursor button
at the bottom of the toolbox or right-click). Power system elements are placed and con-
nected in the single line graphic by left clicking on empty places on the drawing surface
(places a symbol), and by left clicking busbars (makes a connection). This is described in
more detail later in this section. If wishing to stop the drawing and connecting process
press the Escape key.
There are basically three ways of positioning and connecting new power system ele-
ments:
1 By left clicking on one or more nodes to connect and position the element directly.
Single port objects (loads, machines) will be positioned directly beneath the nodes
at a default distance (the symbol can later be moved if required). Double or triple
port objects (transformers) will be centered between the first two busbar
connections automatically. This ''single click method'' will only work if the option
Place Branch Objects With One Connection Automatically in the User Settings is
enabled.
2 By first left clicking on an empty place to position the symbol and then left clicking a
node to make the connections.
3 By first left clicking on an empty place, consequently clicking on the drawing surface
to define a non-straight connection line and finally clicking on a busbar to make the
connection.
Figure 8.13 shows an example of a generator placed according to the first method (left
generator), one placed according to the second method (middle generator), and one
placed according to the third method (right generator with long connection).

Fig. 8.13: Three graphical objects

If a load or machine is connected to a busbar using the first method (single left click on
busbar), but a cubicle already exists at that position on the busbar, the load or machine
symbol will be automatically positioned on the other side of the busbar, if possible.
All power system elements are positioned ''bottom down'' by default. However, if the Ctrl
key is pressed when the graphic symbol is positioned onto the drawing surface, it will be
positioned either turned 90 degrees (busbars and terminals) or 180 degrees (loads, ma-
chines). A node placed using the Ctrl key will be placed vertically, and a load thus con-
nected to a node will be positioned above the node (in case of a horizontal busbar/

8 - 26
DIgSILENT PowerFactory The Graphic Windows

terminal), or to the left (vertical busbar/ terminal), instead of beneath or to the right. If
the element has already been placed and the user wishes to flip the element to the other
side of the busbar/ terminal then right-click the element −> Flip At Busbar. If wishing to
first place a symbol and then rotate or mirror it then click on the graphic to place the sym-
bol and then press the Tab key on the keyboard. This will ''jump'' the ''rubber band'' to
the next connection point (or port) of the element. Continual pressing of the Tab key will
leave the symbol placed on the graphic (and the data element in the database, without
being connected. Manipulate the symbol as required and then right-click it −> Connect
Element.
If the element has already been connected it must first be disconnected in order to rotate
or mirror it (right-click the symbol −> Disconnect Element. Figure 8.14 shows an example
of rotated and flipped power system elements.

Fig. 8.14: Flipped and rotated power system elements

8.4.2 Drawing Node Elements


When starting to draw your system it is natural to first draw the nodes that are required.
Nodes may be represented by busbars or terminals in PowerFactory. Terminals are the
simplest node representation and should be used as far as possible; there are several dif-
ferent representations of terminals, shown and explained in the next subsection.
Busbars are used to create more complex node clusters, such as a double busbar with tie
breaker, busbars with section breakers, and so forth. Busbars are part of a 'Station' and
their data elements are housed in a station folder in the database (see 9.1 for information
about node representation in PowerFactory), together with the switches that make the
bus couplers, section breakers, disconnectors, etc. Busbars are a quick and convenient
way to represent slightly more complex busbar systems but they have a fixed format in
terms of the breaker and disconnecters arrangement.
Should the user wish to create specific breaker and Disconnectors arrangements then ter-
minals and discrete switches should be used for this purpose.
Complete information about node representation is given in 9 (Representing the Network
Topology in PowerFactory).

Note When drawing objects the cursor may be reset by right-clicking

Terminals
Terminals are representations of nodes, there are seven different terminals that may be
used. See the figure 8.15.

8 - 27
DIgSILENT PowerFactory The Graphic Windows

Terminal
This is the most common representation of a node.

Short Terminal
Looks the same as a Terminal but is shorter and the results box and
name is placed on the "Invisible Objects" layer by default. Typically
used to save space or to unclutter the graphic.

Point Terminal
Typically used to represent a junction point, say between an overhead
line and cable. The results box and name is placed on the "Invisible
Objects" layer by default.

Rectangular Terminal
Typically used for reticulation and/ or distribution networks.

Circular Terminal
Typically used for reticulation and/ or distribution networks.

U-Terminal
Typically used for reticulation and/ or distribution networks.

Polygonal-Terminal
Typically used for reticulation and/ or distribution networks.

Fig. 8.15: Node Representation

Terminals should be placed in position and then, once the cursor is reset, dragged, rotat-
ed and sized as required.

Note When placing a terminal or a busbar in position these will be placed


vertically (rotated 90 deg anticlockwise) if the Ctrl key is held
down as they are placed

Re-positioning is performed by first left clicking on the terminal to mark it, then click once
more so that the cursor changes to . Hold the mouse button down and drag the ter-

8 - 28
DIgSILENT PowerFactory The Graphic Windows

minal to a new position.


Re-sizing is performed by first left clicking on the terminal to mark it. Sizing handles ap-
pear at the ends of the terminal (see the figure 8.16) and these may be grabbed and
dragged to the desired size.

Fig. 8.16: Sizing handles

Busbars
The tools for single and double busbar systems with and without tie breakers will produce
pre-defined busbar systems.

The will pop up the dialogue to define new busbar systems. With this dialogue, com-
plex systems like "Breaker And A Half" systems, with special cubicle configurations may
be defined. See 9.1.1 for more information about busbar systems in PowerFactory.
Busbars are placed by left clicking on an empty space on the drawing area. Busbars are
sized and moved in the same manner as terminals.

8.4.3 Drawing Edge Elements


Single port elements (loads, machines, etc.) can be positioned in two ways. The simplest
one is to select the symbol from the toolbar and then left click the busbar where the ele-
ment is going to be placed. This will draw the element at a default distance under the
busbar. In case of multi busbar systems, only one of the busbars need be left-clicked. The
switch-over connections to the other busbars will be drawn automatically.
The 'free-hand' method first places the element symbol wherever desired, that is, first
click wherever you wish to place the symbol. The cursor now has a 'rubber band' connect-
ed to the element, when the cursor is left clicked onto a node it will be connected. To
create corners in the joining line left click on the graphic. The line will snap to grid, be
drawn orthogonally, as determined by the "Graphic Options" that have been set.
Double port elements (lines, transformers, etc.) are positioned in a similar manner to sin-
gle port symbols. By left-clicking the first busbar, the first connection is made. The second
connection line is now held by the cursor. Again, left-clicking the drawing area will create
corners. Double-clicking the drawing area will position the symbol (if not a line or cable -
e.g. a transformer). The second connection is made when a node is left clicked.
Triple port elements (three-winding transformers) are positioned in the same manner as
two port symbols. Clicking the first, and directly thereafter the second node, will place the
symbol centered between the two nodes, which may be inconvenient. Better positioning
will result from left clicking the first busbar, double-clicking the drawing space to position

8 - 29
DIgSILENT PowerFactory The Graphic Windows

the element, and then making the second and third connection.
The 'free-hand' method for two and triple port elements works the same as for one port
elements.

Note Pressing the Tab key after connecting one side will leave the sec-
ond leg unconnected, or jump to the third leg in the case of three
port elements (press Tab again to leave the third leg unconnect-
ed). Pressing Esc will stop the drawing and remove all connec-
tions.
If the element being drawn seems as if it will be positioned incor-
rectly or untidily there is no need to escape the drawing process.
Make the required connections and then right-click the element
and use Reconnect Graphically to re-draw the element whilst re-
taining the data connections

Annotations are created by clicking one of the annotation drawing tools. Tools are avail-
able for drawing lines, squares, circles, pies, polygons, etc. To draw some of these sym-
bols left click at some place and release the mouse somewhere else (e.g. circles, lines,
rectangles). Other symbols require that you first set the vertices by clicking at different
positions and finishing the input mode by double-clicking at the last position.

8.4.4 Marking and Editing Power System Elements


To mark (select) a power system element click on it with the cursor. The element is then
highlighted and becomes the ''focus'' of the next action or command. The element can be
un-marked or de-selected by clicking on another element or by clicking onto some free
space in the graphic.

a) b)
Fig. 8.17: Marking/ Selecting elements

Astute users may notice that the element is highlighted using a different pattern, depend-
ing on whether the graphic has been frozen or not, as seen in figure 8.17, where (a) is
the when the freeze mode is engaged and (b) when 'un-frozen.'

8 - 30
DIgSILENT PowerFactory The Graphic Windows

There are different ways to mark several objects at once:

• To mark all graphical elements, press the All-button ( ). The keyboard short cut
Ctrl+A may also be used.
• To mark a set of elements at the same time click on a free spot in the drawing area,
hold down the mouse key and move the cursor to another place where you release
the mouse button. All elements in the so defined rectangle will now be marked. A
setting, found in the User Settings dialogue under the 'Graphic Windows' tab (on the
second page of this tab press the button), can alter the manner in which objects
are marked using this marking method, as either 'Partial' or 'Complete'. 'Complete'
means that the whole object marked must lie inside the rectangle.
• To mark more than one object, hold down the Ctrl key whilst marking the object.
• Clicking once on an element belonging to a multiple busbar system will only mark the
chosen object. When clicking on this object again all elements that belong to this
section will be marked. A third click on this object will mark the whole busbar system.
• When clicking on an element and clicking on this element a second time whilst holding
down the Alt key will also mark all the elements connected to the first element.
• If the CtrL+Alt key are pressed simultaneously whilst moving and element then
elements connected to it will also be moved.
The data of any element may be viewed and edited by either double-clicking the graphic
symbol under consideration, or by right-clicking it −> Edit Data. When multiple objects are
selected, their data can be viewed and edited trough a data browser by right-clicking it
−> Edit Data.

Note Finding specific elements in a large project may be difficult if one


had to look through the single line diagram alone. PowerFactory
includes the Mark in Graphic tool, to assist the user in finding ele-
ments within the graphic. The user has to first search for the de-
sired object in the Data Manager using any of the methods
presented in chapter 6. Once a searched object is identified, it may
be right-clicked and the option Mark in Graphic selected.

8.4.5 Interconnecting Power Subsystems


Interconnections between two different graphics is achieved using two methods:
1 Representing a node in additional different graphics by copying and pasting the
graphic only and then by connecting branch and edge elements to the graphical
object in the additional graphic.
2 By connecting an edge element between two graphics.
The first method is performed by copying the desired node (right-click −> Copy) and then
clicking on the other graphic in which it should be represented and right-clicking −> Paste
Graphic Only. Only a graphical object is pasted into the second graphic and no new data
element is created.

8 - 31
DIgSILENT PowerFactory The Graphic Windows

The second method is as follows:


 First ensure that you have node to connect to in both graphics that are to be
interconnected.
 In this example we will use an autotransformer. Select an autotransformer drawing
tool from the toolbar and create the first connection as normal by left clicking a node
(see the figure 8.18).
 Double-click to place the symbol. Your cursor is now attached to the transformer by a
'rubber band'.
 Move the cursor to the bottom of the drawing page and click on the tab of the graphic
that the interconnection is to be made to (see the figure 8.19).
 Once in the second graphic left click to place the transformer symbol (see the figure
8.20) and then left click on the second node.

The interconnected leg is shown by an symbol. Right-clicking on the element presents


a Jump to next page option.

Fig. 8.18: First step to interconnecting

8 - 32
DIgSILENT PowerFactory The Graphic Windows

Fig. 8.19: Second step to interconnecting

Fig. 8.20: Third step to interconnecting

8 - 33
DIgSILENT PowerFactory The Graphic Windows

Note The first method of interconnection, that of representing a node in


two, or more, different graphics, may lead to confusion at a later
point as the 'inflow' and 'outflow' to the node will not appear cor-
rect when just one graphic is viewed - especially if a user is not fa-
miliar with the system. The node may be right-clicked to show all
connections in what is known as the 'Station Graphic' (menu option
Show station graphic).
Thus, the second method may be preferred. To check for nodes
that have connections on other graphics the "Missing graphical
connections" coloring mode may be employed.

8.5 Result Boxes-Text Boxes and Labels

8.5.1 General Concept


PowerFactory uses result boxes in the Single line graphic to display calculation results.
Result boxes are generally set up so that there are a series of different formats for each
calculation function, with variables appropriate to that function. In addition, the format
differs for the objects class and/or for individual objects. For example, following a load-
flow, branch and edge elements will have different formats compared to nodes, and an
external grid will have an individual, different, format as compared to the branch and
edge elements.
The result box itself is actually a small output report, based on a form definition. This form
definition, and the PowerFactory output language that is used to define it, allows for
the display of a wide range of calculated values, object parameters, and even for coloring
or user defined text.
Although the result boxes in the single line graphic are a very versatile and powerful way
for displaying calculation results, it is often not possible to display a large (part of a) power
system without making the result boxes too small to be read. PowerFactory solves this
problem by offering balloon help on the result boxes. Positioning the mouse over a result
box will pop up a yellow text balloon with the text displayed in a fixed size font. This is
depicted in the figure 8.21. The result box balloon always states the name of the variable,
and may thus also be used as a legend.

Fig. 8.21: Result boxes balloon help

8 - 34
DIgSILENT PowerFactory The Graphic Windows

A result box is connected to the graphical object for which it displays the results by a 'ref-
erence point'. The figure 8.22 shows the default reference points for the resultbox of a
terminal. A reference point a connection between a point on the result box (which has 9
optional points), and one of the 'docking' points of the graphical object. The terminal has
three docking points: on the left, in the middle and on the right. The reference point can
be changed by:
• Right-clicking the resultbox with the graphics cursor (freeze mode off), and selecting
Change Reference Points.
• The reference points are shown: docking points in green, reference points in red.
Select one of the reference points by left-clicking it.
• Left-click the selected reference point, and drag it to a red docking point and drop it.
• An error message will result if you drop a reference point somewhere else than on a
docking point.

Fig. 8.22: Reference points of a result Box

Result boxes can be freely moved around the diagram. They will remain attached to the
docking point, and will move along with the docking point. A result box can be positioned
back to its docking point by right-clicking it and selecting Reset Settings from the menu.
If the option "Reset textboxes completely" is set in the graphical settings, then the default
reference and docking points will be selected again, and the result box is moved back to
the default position accordingly.

8.5.2 Editing Result Boxes


PowerFactory uses separate result boxes for different groups of power system objects,
such as node objects (i.e. busbars, terminals) or edge objects (i.e. lines, loads). For each
type of result box, a different result box definition is used.
A newly installed version of PowerFactory has pre-defined result box formats for all ob-
ject groups. These default formats cannot be changed, however the user may define oth-
er formats and save these for use. For the edge objects, for example, the default box
shows P and Q without units.
A number of these predefined formats are available for display; they may be selected by
right-clicking a results box to get the Format for Edge Elements (in this example) option,
which then presents a number of formats that may be selected. The active format is ticked
( ) and applies for all the visualized edge elements.
It is also possible to select predefined formats for an specific element class. If the edge
element is for example an asynchronous machine, in the context sensitive menu it will be

8 - 35
DIgSILENT PowerFactory The Graphic Windows

also possible to get the option Format for Asynchronous Machine, which shows the pre-
defined formats for the element class Asynchronous Machine (ElmAsm). The selected for-
mat will in this case apply only to the visualized asynchronous machines.
If the user wants to create a specific format that is different from the pre-defined ones,
the Edit Format for Edge Elements (or Node Elements) option should be used. Note that
the new format will be applied to the entire group of objects (edge or node objects).
If a created format is expected to be used for just one specific element, then the Create
Textbox option should be used. An additional results box/ textbox will be created, using
the current format for the object. This may then be edited. Information about text boxes
is given in 8.5.4.
When the Edit Format option has been selected the user is presented with the form man-
ager dialogue (figure 8.23). A name for the new form may be entered in the Name field.
Various options for the results box may be set and the drop down lists of pre-defined vari-
ables are used to configure the desired format (section Lines). Once the format has been
set and chosen the format may be saved for future use by pressing the To Library but-
ton. The format is saved to Settings \ Project \ Changed Settings \ Formats \ Grf \ Result
in the user folder and is available for use in any project in the user folder (when right-
clicking a results box for the same calculation functionality the new format will be seen in
the listing of formats).

Fig. 8.23: The form manager

If the list of pre-defined variables do not contain the required variables, the Input Mode
should be pressed. A dialogue with three possible input modes will pop up. The available
options are:
1 Predefined Variables: This first option is the one presented by default and also
shown in the figure 8.23. The user has maximum three lines available where the
calculation results to be shown in the diagram can be selected. Out of all available

8 - 36
DIgSILENT PowerFactory The Graphic Windows

calculation results a limited but useful selection is pre-defined. This facilitates the
configuration work for less advanced users.
2 User Selection:This option allows the selection of the variables to be displayed in
the single line diagram out of the full set of available magnitudes. The "User
Selection" mode changes the appearance of the form manager slightly so that a
Select Variables appears in place of the pre-defined variables drop down
listings. Press this button to access the variable set (IntMon) dialogue. The
selection and use of variables is fully described in 27.2.4 (Variable Sets and Variable
Monitors).
3 Text Editor:Unlocks the text editor page for manual configuration of the variables
and their format; this should only be used by advanced users. The text editor page
is found on the "View" tab page (figure 8.24).
The final option is using DIgSILENT Output Language, the fully configurable format de-
scription language of PowerFactory. As opposed to the preceding options, it offers the
following advantages:
• More than one variable per line
• Different formats for variables
• User-defined text for individual comments
To modify the text format it is necessary to change to the tab page "view". Then a dia-
logue page appears similar to the one shown in the figure 8.24. A detailed overview over
the syntax of the DIgSILENT Output Language can be found in 27.2.5 (The DIgSILENT
Output Language).

Fig. 8.24: Editing result boxes using the text editor

8.5.3 Formatting Result Boxes


By means of the context sensitive menu (right-clicking the desired result box) it is possible

8 - 37
DIgSILENT PowerFactory The Graphic Windows

to set the appearance of the result boxes. The available options include:
• Rotate the result box.
• Hide the selected box.
• Change the layer (see 8.3.4).
• Change the font type and size of the text.
• Change the width.
• Set the text alignment.
• Set the default format (Reset Settings).

8.5.4 Text Boxes


As mentioned in 8.5.2, text boxes are used to display user defined variables from a spe-
cific referenced object within the single line graphic. To create a text box, right-click on
the desired object (one end of the object when it is a branch element) and select Create
Textbox. By default a text box with the same format of the corresponding result box will
be generated.
The created text box can be edited, to display the desired variables, following the same
procedure described in 8.5.2. In this case after right-clicking the text box, the option Edit
Format should be selected.
The text box format can be set following the same procedure from 8.5.3. By default the
text boxes are graphically connected to the referred object by means of a line. This ''con-
nection line'' can be made invisible if the option 'show line from General Textboxes....'
from the 'Result Boxes' tab of the Graphic Option dialogue (8.3.1, figure 8.7) is disabled.

8.5.5 Labels
In the general case, a label showing the name of an element within the single line graphic
is automatically created with the graphical objects. The label can be visualized as a text
box showing only the variable corresponding to the name of the object. As the text boxes
format of the labels can be set using the context sensitive menu.

8 - 38
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Chapter 9
Representing the Network Topology in
PowerFactory

In this chapter it is shown how PowerFactory handles network topologies. It is ex-


plained how nodes are represented by means of objects called 'busbars' and 'terminals'
and how these nodes connect to other system elements by means of objects called 'cu-
bicles'. The representation of transmission lines and cables using line routes and line sec-
tions is also explained.

9.1 Representing Nodes


In circuit theory, the junction points connecting lines, generators, loads, etc. to the net-
work are generally termed nodes. In real world systems these are normally termed 'bus-
bars'.
In PowerFactory nodes are represented by means of objects called 'Terminals' and 'Bus-
bars'. Although mathematically the same, terminals and busbars are handled differently
in the data base. Terminals are directly stored under a grid folder, while busbars are
housed in special subfolders called Stations. Stations are used to represent busbar sys-
tems such as: double busbars, busbars with section breakers, etc.
When a power system element, such as a line, a transformer or a load (generically known
as an edge element) is connected to a node, PowerFactory uses what is known as a
'Cubicle' to realize this connection. Cubicles may be visualized as the panels in a switch-
gear board, or bays in a high voltage yard, to which the edge elements are connected.
Normally a cubicle is created automatically when an element is connected to a node.
PowerFactory allows the creation of complex node representations using predefined
busbar systems, stored in stations. The breaker and disconnecters configurations in such
systems is fixed, therefore only certain arrangements are supported. If arrangements,
different from those available, are required, then these should be modelled us-
ing individual terminals and switches.
The next subsections present detailed information about the aspects discussed above. It
is shown how to define busbar systems and stations and how to edit the cubicle configu-
ration. In addition, the two ways of node representation, namely via busbars and termi-
nals, are compared.

9.1.1 Defining Busbar Systems


Busbar systems are used to represent complex node configurations. They are stored in
stations and can be created directly using the single line graphic drawing toolbox or
through the 'General Busbar System' dialogue.

9-1
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Defining Busbar Sytems Directly in the Single Line Graphic


The simplest busbar system is just a single busbar. Such an object can be created directly
in the single line graphic (by using the icon in the graphic toolbox) and in the data-
base manager (by pressing the icon and adding a StaBar object).
The graphical toolbox for the single line graphics also offers buttons for a:

• Single busbar system with two sections and a tie breaker ( , figure 9.1 [1]).

• Double busbar system ( , figure 9.1 [2]).

• Double busbar system with two sections and two tie breakers ( , figure 9.1 [3]).

• One and a half busbar system ( , figure 9.1 [4]).

Fig. 9.1: Busbar systems from the Drawing Toolbox

When a new busbar/busbar-system is created directly in the single line graphic, a new
station folder is automatically created in the database. The new station folder contains
the busbar objects themselves (StaBar objects), the switches and cubicles connecting
them (StaCubic objects) and (except for single busbars) the 'Busbar System Set' object
(SetBussys) containing the information about the system configuration.
In the station edit dialogue (in the Data Manager right click the new station folder −>Edit),
the option 'Automatically create and delete Cubicles from Graphic' can be selected (figure
9.2). If this option is enabled, cubicles will be automatically created using the breaker and
disconnecters arrangement defined in the 'Cubicle Parameters Set'.
The 'Cubicle Parameters Set' is an object of the class SetCubop, that is stored in the
graphic folder of every grid. This cubicle configuration can be accessed and modified by
pressing the 'Station Feeder Options' icon ( ) from the single line graphic toolbar. Mod-
ifications applied to the 'Cubicle Parameters Set' will only affect new cubicles.
If the 'Automatically create and delete Cubicles from Graphic' option is disabled and the
user trays to connect a new element to a busbar from the station, an error message will
pop up. The user may, either enable the option or manually create a new cubicle from
the station edit dialogue.
The configuration of the cubicles through the SetCubop objects is limited to a certain set

9-2
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

of possible breaker-disconnecters arrangements (see 9.1.2).

Fig. 9.2: The station edit dialogue

Defining Busbar Sytems with the 'General Busbar System' Tool


Other busbar system configurations may be created using the 'General Busbar System'
icon ( ) of the drawing toolbox. This is a so-called 'Set' dialogue and not a normal 'Edit'
dialogue ('Set' dialogues are used to create new objects, whilst 'Edit' dialogues are used
to alter existing ones) which means that a dialogue (figure 9.3) is first presented in which
selections must be made in order to define the busbar system to be drawn.
By means of the 'General Busbar System' tool, it is possible to create busbar systems dif-
ferent than those described in the previous section. Additionally, it is possible to create
station folders containing more than one system with the same configuration ('Number of
Sections').

Fig. 9.3: ''Add Busbar' dialogue for creating a new busbar system

The 'Add Busbar' dialogue from figure 9.3 pops up when a new busbar system is created
using the 'General Busbar System' tool ( icon). It shows the definitions for new busbar
systems and their cubicles. This definition has the following fields:
Busbar system
Reference to a busbar system 'Set' object (i.e SetBussys objects like

9-3
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Double busbar system, Single busbar system with two sections and a
tie breaker, etc.).
Cubicle Parameters
Reference to a cubicle 'Set' object (SetCubop object). This set is by
default the one of the single line graphic ('Cubicle Parameters Set' from
previous section).
Voltage Level
The voltage level for the generated busbar system.
Use Busbar Type
Select and/or edit the type data of the single busbar elements, that are
used to build the new system. The selection and edition is the same as
for any other type object (see 5.3.3).
Number of Sections
The number of systems with the configuration given in 'Busbar
System'.
Number of Cubicles in One Busbar Section
The number of cubicles per busbar section.

Note It is not possible to change the basic layout of busbar systems after
they have been created. It will thus not be possible to change, for
instance, a three-bar, "TransferCombi'' system into a two-bar
"Breaker-and-a-half'' system later on. However, it will be possible
to change the electrical parameters like the nominal voltage, the
busbar types, the number of cubicles, the type of switches used,
etc.

The 'Set' dialogue for the busbar system ('Add Busbar' dialogue) uses two other 'Set' di-
alogues: one for the busbars which have to be generated and one for the cubicles. At least
one cubicle must be generated per busbar section, but more may be generated directly.
When other objects are connected to the busbar system in the single line graphic, the
available free cubicles will be used first. When no free cubicles are available an error mes-
sage will pop up if the 'Automatically create and delete Cubicles from Graphic' option in
the station edit dialogue is disabled (figure 9.2). The user may either enable the option
or manually create a new cubicle from the station edit dialogue.
If the 'Automatically create and delete Cubicles from Graphic' option is enabled, new cu-
bicles will be automatically created according to the current settings in the 'Cubicle Pa-
rameters Set' dialogue ( ). If these settings were changed since the busbar system was
created, the new cubicles will differ from the original ones. To ensure equal cubicle con-
figurations, all required cubicles should be generated with the busbar system at once, or
the cubicle 'Set' dialogue must be changed to the correct settings prior to connecting an
object to the busbar.
The cubicle configuration of any station can be visualized in the 'Station Graphic' (9.1.5).

Editing and Selecting the Busbar System in the 'Add Busbar'


Dialogue
For the busbar 'Set' dialogue, as with the cubicle reference, a database browser will pop

9-4
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

up when the 'Select' button ( in figure 9.3) is pressed to select a SetBussys object
from the database. After a busbar system 'Set' dialogue has been selected, it may be ed-
ited by using the 'Edit' ( ) button. The 'Busbar System' dialogue (figure 9.4) will pop
up in order to edit the following parameters:
• The name of the (new) busbar system
• The basic configuration:
- A standard single busbar system
- A u-bar system with power switches between busbar sections
- A busbar transfer combination
- A Ring scheme system
- A "Breaker and a half'' system
- A "Break through Method'' system
• The number of busbars per section
• The kind of coupling between the busbar sections
• Whether or not a transfer bus should be used

Fig. 9.4: Define a busbar system dialogue

Note For both the cubicle and busbar system 'Set' dialogue it is possible
to create a new dialogue by pressing the 'New' icon ( ) in the
database browser after the ( ) button was pressed.

9-5
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

More information about possible busbar configurations can be found in the Technical
Reference Manual.

9.1.2 Defining Cubicles


When a cubicle is automatically created in a station, it uses the configuration stored in the
'Cubicle Parameters Set' (SetCubop object stored in the graphic folder of the grid). This
configuration can be changed by pressing the 'Station Feeder Options' button in the single
line graphic tool bar ( ). This opens the 'Cubicle Parameters' dialogue from figure 9.5,
which allows the modification of the following parameters:
• Multiple or single circuit breakers.
• The type of circuit breaker.
• The type and presence of disconnecting switches.
• The type and presence of grounding switches.
• The number and position of current transformers.
• The number and position of voltage transformers.
• The presence of a surge diverter.

Fig. 9.5: Cubicle Parameters dialogue

Figure 9.6 gives a graphical example of the switching options available in the 'Cubicle Pa-
rameters' dialogue:

9-6
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

1 A single circuit-breaker connection with disconnecters on both the busbar and


feeder side.
2 A multiple circuit-breaker connection with disconnecters on both the busbar and
feeder side.
3 A multiple circuit-breaker connection with disconnecters only on the busbar side.
4 A multiple circuit-breaker connection with disconnecters only on the feeder side.

Fig. 9.6: Various switch configurations

When editing the selected cubicles 'Set' in the 'Add Busbar' dialogue a SetCubop object
is being edited and therefore the same dialogue described above is opened.

Note Under most circumstances the user simply connects edge elements
to the busbars and the required cubicles and switches are auto-
matically created as the 'Automatically Create Feeders From
Graphic' option is enabled by default. Specific breaker and discon-
necters configurations, other than those available in the library,
may be build using terminals and discrete switches

9.1.3 Defining Stations


There are two methods used to define stations, the graphical method in the single line
graphic and the direct method in the database manager. With the graphical method, all
busbar systems that belong to the same station are first created separately and then
grouped into one station. With the direct method, a station is created and then it is filled
with busbar systems.
In both methods, the busbar systems has to be defined with distinct properties and cubi-
cles to connect other objects to these systems.

9-7
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Defining Stations in the Single Line Graphic


After a single line graphic has been opened, all busbar systems belonging to the station
that is to be created have to be drawn separately. The simplest way to draw one or more

busbars is by use of the icon in the drawing toolbox. By left clicking on the single line
graph area when this button has been pressed, one or more single busbars can be placed.
The busbar objects will automatically be created in the correct data manager folder.

When is depressed in the toolbox, the "Add Busbar System'' dialogue will pop up by
left clicking on the drawing area. This set dialogue is used to define the new busbar sys-
tem, as has been explained in section 9.1.1.
When objects are connected to the new busbar system, all free cubicles are used first.
When no free cubicle is available any more, a message will pop up if the Automatically
Create Feeders From Graphic option in the corresponding station object edit dialogue has
been disabled. When this option is enabled a new cubicle will be created, according to the
settings of the cubicle 'Set' dialogue. Each single line graphic has its own cubicle 'Set' di-
alogue. To make sure that the cubicle configuration is set correctly, the settings for the
current cubicle configurations may be edited and/or altered by pressing the icon on
the active graphics window toolbar.
For every busbar drawn in the single line graphic, a new station is created in the data
base. After all or some of the busbars of the station have been drawn, they can be trans-
ferred into one station. This is shown in the following example.
Suppose a station with four interconnected busbars is to be defined. These four busbars
are drawn independently at first. Interconnecting lines or transformers or other power
system objects may be drawn as well. An example of the resulting single line graph and
corresponding database folder is depicted in figure 9.7 and figure 9.8. The database con-
tains four stations, each station contains busbars and cubicles (figure 9.8).

Fig. 9.7: Single line graphic with four interconnected busbars

Fig. 9.8: Data browser with four stations

9-8
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

The four busbars are each located in one of the station folders. The busbars are automat-
ically given names such as 'B1', 'B2', etc. Because busbars are created in their own sta-
tions, they will normally all be given the same name. This is seen in figure 9.8 where the
station names and busbar names have been automatically generated.
New station configurations can be defined by grouping busbars into one station. This is
done by multi selecting the busbars and right-clicking the selection. A context sensitive
menu will pop up from which the Define Station option (see figure 9.9) must be chosen
to bring up a database browser showing all the station folders that are available in the
grid.

Fig. 9.9: Context sensitive menu for a selection of busbars

This list will show all stations defined for the grid being developed. This includes the initial
stations created when the selected busbars where drawn. Any of these stations (for ex-
ample 'Station1' in the example) may be selected as the target station.
All selected busbars will be moved to the target station. During this transfer, the names
of the busbars will be changed, should that be necessary to ensure unique naming. The
default name B1 will be changed to B2, B3, B4, etc. User defined names will not be
changed, but a (1), (2), (3), etc. will be attached to the name if this is not the case. All
stations that are 'emptied' during the transfer of busbars and cubicles will be deleted.
More information about stations can be found in section 6.6.3 and 9.1.1.

9-9
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Defining Stations in the Database Manager

Stations may be created directly in the Data Manager by pressing the new object ( )
icon and selecting an ElmStat object. This will pop up the station edit dialogue, as shown
in figure 9.2.
To configure the station, three buttons are provided in this dialogue:
Internal Elements
Presents a database browser showing a list of all current elements in
the station. These elements are either busbars, switches or cubicles.
Cubicles consist of separating switches, power switches, surge
diverters, etc. and have their own 'internal elements' button in their
edit dialogue (see 9.1.2).
Add Busbar System
Presents a dialogue with which a new busbar system can be defined
and added to the station ('Add BusBar System' dialogue). The basic
busbar layout can be chosen, as well as the type and number of
cubicles that will be automatically attached.
Add Cubicle Presents a dialogue to add individual cubicles to previously defined
busbar systems in the station.

When the Add Busbar System button is pressed in the station edit dialogue, the 'Add
BusBar System' dialogue pops up (figure 9.3) with which a new busbar system can be
defined, as has been explained in the section 9.1.1 (Defining Busbar Systems).
The second way to define a station is by gathering busbar systems in the single line
graphic. See (Defining Stations in the Single Line Graphic).

Note Although new stations and other elements may be created from
the data manager it is preferable to create new elements by draw-
ing them in the graphic and then editing them.

More information about stations can be found in section 6.6.3 and 9.1.1.

9.1.4 Stations, Busbars and Terminals


As has been shown in this chapter, the busbar object may be used to form complex multi-
busbar systems with sections and corresponding cubicles.
However, the busbar object has two drawbacks: it must always be located in a station
and it is relatively inflexible in the configuration of particular (non-'standard') breaker and
disconnecters arrangements. For high-voltage transmission and distribution systems,
busbars are normally part of a station, but even in these systems lines may have branches
or T-offs to other lines. Such a 'branch off' may occur at an overhead line tower and it
would make no sense to define a station with one busbar just to model this branch off.
PowerFactory therefore provides an object to represent a node where a station is not
required. This object is called 'Terminal' (ElmTerm), graphically it looks similar to a nor-
mal busbar, and is derived from the same type (TypBar). Figure 9.10 shows the possi-
bilities with the busbar and terminal objects.

9 - 10
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

S1H/1 S2H/1

S1/1 S2/1
S1/2 S2/2

T2 T3 T4 T5

M
~

T1 T6 T7 T8

M M M
~ ~ ~

Fig. 9.10: Busbar and terminal options

The following features are noted in figure 9.10:


1 Busbar systems, like S1H,S1,S2H and S2, are mainly used for the HV and MV
transmission and distribution systems. These busbars belong to a station.
2 Terminals, such as T1 and T7, may be used in a ring feeder to connect two or more
loads. They have a result box, but they do not belong to a station.
3 A short terminal object, like T6 and T8, is used, for instance, to connect a motor or
generator through a cable to a busbar or to model a multi-load endpoint of a line. By
default result boxes are not displayed for short terminals. The user can, however,
change this by right clicking on the short terminal and choosing 'Show Result Boxes'.
4 A point terminal, such as T2,T3,T4 and T5, displayed as a dot, is used to branch off
a line. These terminals may or may not use power switches to (dis)connect the line
routes. They always use a switch in the feeder to which any kind of branch objects
such as: loads, machines, or other cables, are connected.

A terminal can be added to the single line graphic by using one of the icon in the
drawing toolbox. Left clicking in the drawing area will place a new terminal.
Terminals are used in the same way as busbar objects. They can be scaled and moved.
All branch objects that can be attached to a busbar can be attached to a terminal. The
only difference is that the context sensitive menu lacks the station option Define Station.
Terminals may also be drawn using other graphical symbols that may be more conve-

nient, such as the icon. This is used to create the short terminal without a result box.
The short terminal has a default width for one double cubicle, but can be scaled to make
space for more (see T6 in the figure 9.10). Other terminal shapes are shown in the figure
9.11.

9 - 11
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Fig. 9.11: Various terminal graphic options

When a line is branched off, a special 'dot' or 'point' terminal is created automatically. This
is a short terminal in another graphical form. These terminals are stored in the line object,
which thus acts as a folder object in the database tree, in the case where a line is split
into line routes.
Terminals created outside of lines are stored in the active grid folder of the corresponding
graphic.

Note Although connections of terminals with other power system ele-


ments are done through cubicles, the breaker and disconnecters
arrangements are not defined by a SetCubop object. Instead a
simple default connection that the user can change by means of
individual switches is given.

9.1.5 The Station Graphic


All busbars and terminals in the single line graphics may be right-clicked to select Show
Station Graphic. The station graphic shows the selected node with ALL of the connections
that have been made to it, independently of the graphic that these connections have
made in.
The station graphic cannot be used to change the station layout, but it can be used to
open or close the individual switches which are not visible in the single line graphics of
the complete grid. Elements in the station graphic may be double-clicked to open their
edit dialogue as normal.
The station graphic shows all the results from the last calculation, and may show more
detailed representations of the various connected elements. The single line drawing of el-
ements in the station graphic may thus show tap positions and switching groups of the
transformers, whether these are visible in the grid graphics or not. The station diagram
could thus be used to produce a more detailed printout of, for instance, the load-flows
around specific busbars.
The station graphic is deleted from the graphics board by right-clicking the page tab at
the bottom of the graphics board and selecting Remove Page(s).

9 - 12
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

9.2 Representing Transmission Lines and Cables


Transmission lines and cables are treated alike, and they are both instances of the gen-
eralized 'transmission line' element ElmLne. Therefore, anywhere that 'transmission line'
or simply 'line' is written in the following chapter, 'lines and/or cables' may be read, unless
otherwise specified.
A transmission line may be modelled simply as a one-to-one connection between two
nodes and will refer to a line (TypLne), tower (TypTow) or tower geometry (TypGeo)
type, from which all the required electrical parameters are derived.
Alternatively, lines may be subdivided into sections or line routes and may have intercon-
necting feeder branches and the routes in their turn may also be sectionalised.
The three basic line configurations possible are depicted in figure 9.12:
• Top line: the simplest transmission line is a single line object (ElmLne).
• Middle line: such a single line may be subdivided into line section objects
(ElmLnesec) at any time/location. No terminals are allowed between two sections,
but the sections may have different line types.
• Bottom line: a single line may also be subdivided into line route objects
(ElmLneroute) where terminals are placed between the line routes. The line routes
in their turn may be subdivided into line sections.

Fig. 9.12: Three basic line configurations

From a mathematical point of view, it is important to regard:


• Lines and line routes may be modelled using lumped PI model, or by a distributed
parameter model.
• Line routes are separated through terminals, which in fact are small busbars. The
terminals may have serial switches to open the line. Other lines or loads may be
connected to the terminals, each of them through a cubicle with a switch.
The purpose of separating lines into routes and/or sections is:
• To allow T-offs or Branch-offs from a 'main' line, such that the main line name is
retained in the database (line route and sections are shown as objects in the line
folder).

9 - 13
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

• To sectionalise the line into parts so that different line types may be used for the
different sections (such as when a line uses two or more different tower types, or
when manual transpositions should be modelled - since the "Transposed" option in
the type object is a perfect, balanced, transposition).
More about the mathematical models of sectionalised lines and routes, and the relations
between lines and towers, can be found in the Technical Reference Papers (available in
the DIgSILENT support page).

9.2.1 Creating a Transmission Line


The simplest line model is a one-to-one connection between two busbars. This is normally
done in the single line graphic by selecting the icon and by left clicking the first bus-
bar, possibly clicking on the drawing surface to draw a corner in the line and ending the
line at the second busbar by left clicking it. This will create an ElmLne object in the da-
tabase.
When this object is edited, the following dialogue will appear.

Fig. 9.13: Editing a transmission line

The dialogue shows the two cubicles to which the transmission line is connected ('terminal

9 - 14
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

i' and 'terminal j'). The example in the Figure 9.13 shows a line which is connected be-
tween the nodes called 'Line End Terminal' and 'Line Feeder Bus'. The line edit dialogue
shows the name of the node (in red) in addition to the name of the cubicle (in blue). The
actual connection point to the node is the cubicle and this may be edited by pressing the
edit button ( ). The cubicle may be edited to change the name of the cubicle, or to
remove the breaker.
The two connections can also be chosen manually, by selecting the cubicles in other
nodes. This is achieved by pressing the buttons next to the 'terminal i' and 'terminal
j' fields. However, this change will not be automatically reflected in the single line graphic.
To re-draw the line right-click the line (which now has a >> symbol on one side) and use
the Reconnect Graphically option. The nodes that the line is connected to are now high-
lighted and the line may be drawn between them.

The type of the line is selected by pressing the next to the type field. Line types for
a line, line route or line sub-section are:
• The straight forward TypLne object type.
• A tower type (TypTow) where the geometrical coordinates and conductor
parameters are specified. The line parameters are calculated from this data.
• A geometrical tower type (TypGeo) where the geometrical coordinates of conductors
are specified.
It is important to regard that references to the conductor types (TypCon objects), used
for the line circuits and for the earth conductors, are always required when defining Typ-
Tow and TypGeo objects. In the TypCon dialogue (figure 9.14), the parameters of the
conductors used in the tower arrangement (including information about conductor bun-
dles) are defined. In TypTow (figures 9.15 and 9.16) / TypGeo dialogues, the conductor
arrangement within the tower is specified.

Fig. 9.14: Conductor type definition

9 - 15
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Fig. 9.15: Tower type dialogue

Fig. 9.16: Tower type dialogue - Conductor arrangement.

9 - 16
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

9.2.2 Inserting a Branch or T-off


Lines, loads, machines, or any other branch or edge element may be 'Teed' into an exist-
ing line, or 'branched off' that line. Inserting such an element into a line will split the line
into what are known as line-routes. Simply put, this means that the line will be split into
two parts, separated by a point terminal. The two parts are called line routes and are
stored as sub-folders in the original line folder.
This is best achieved in the single line graphic by first selecting the branch object from
the drawing tools and then left clicking the line.
This will pop up a "Branch Off Element" dialogue as shown in the figure 9.17.

Fig. 9.17: The Branch Off Element dialogue

This dialogue refers to the line which is about to be branched off, its total length and the
permissible length of the interval to be placed. This permissible length interval is deter-
mined by the total line length and connections made previously. The new insertion point
must be within the permitted limits.
Switches may be inserted on either side of the terminal that will be inserted. It will not be
possible to open the line at the insertion point if no switches are inserted (see figure 9.17),
however, switches may be inserted, or deleted, later by right-clicking at the switch posi-
tion (or where the switch would normally be) and selecting Create Circuit-Breaker or Re-
move Circuit-Breaker. The branched-off element (the inserted load, machine, etc.) is
always connected through a switch and may thus be disconnected from the line in all cas-
es. Inserting one or two switches enables the opening of the line from either side or from
both sides.

Note It is also possible to utilize the convenience of simply 'dropping' an


element onto a line without creating line routes by disabling the
"Support Line Routes Functionality" in the "Graphic Options" dia-
logue. In this case the line is split into two separate lines instead
of line routes

9 - 17
DIgSILENT PowerFactory Representing the Network Topology in PowerFactory

Lines, Routes and Sections


A line or line route may be subdivided into line sections. This is achieved by pressing the
Routes/Cubicles/Sections in the line dialogue.
This will show a database browser with either line routes (ElmLneroute) and its corre-
sponding terminal (ElmTerm) objects, or with line subsections (ElmLnesec) objects,
since a line is either subdivided into line routes or subsections. Although line routes may
be subdivided into line sections, line subsections and line routes may not be mixed
on the same level.

A new subsection is created by pressing the icon in the database browser. This will
present the Element selection dialogue, which is set to the default element:
• In case of a line: a partial load (ElmLoadvp) or line subsection object.
• In case of a line route: a line subsection object.
The third possibility is to select a line type, which makes it possible to store the line type
in the line element.
As soon as a line or line route is subdivided, its length is calculated as the sum of the line
sections and routes. The "Length of Line" field in the edit dialogue (see the figure 9.12)
of the line itself will thus be disabled when the line is split.

9 - 18
DIgSILENT PowerFactory Parameter Characteristics

Chapter 10
Parameter Characteristics

In any power electrical system there are two means in which the system changes. Firstly
by topological changes where new equipment is added or where the system components
are changed or upgraded.
Secondly, loads will change over time, perhaps daily, as loads peak and slump through
the day, or perhaps seasonally. Similarly, the rating values for transformers and conduc-
tors may vary with temperature.
In PowerFactory any parameter may be assigned a range of values that will be select-
able by date and time, or by some user defined trigger, such as ambient temperature,
temporary overload limit, and so forth
Such ranges of values are known as characteristics in PowerFactory. The range of val-
ues may be in the form of a one dimensional vector, or a two-dimensional matrix. The
assignment of a characteristic may be made individually to a parameter, or to a number
of parameters by using a reference to a characteristic. Studies that utilize characteristics
are also known as parametric studies.

10.1 Characteristics, Scales and Triggers


The parametric techniques available in the PowerFactory use the flexible generic 'char-
acteristic vector' (ChaVec) or the generic 'characteristic matrix' (ChaMat). Both these
characteristics use some sort of scale against which the parameter is varied. Four kinds
of these parameter scales are available:
Continuous Scale
A continuous function, such as a temperature scale from 0 to 45
degrees.
Discrete Scale
A discrete 'case' function, such as 'Temporary Overload' and
Emergency Overload.'
Continuous Time Scale
A continuous time dependent function
Discrete Frequency Scale
A continuous frequency dependent function
When the scale is created a means to 'set' the scale, and hence the parameter to the cor-
responding value, is required. This is called a trigger.
When a scale is created, in the "Scale" folder inside the library folder by default, a trigger
is simultaneously and automatically created in the active study case folder.
When this trigger is edited and a 'current' value set (the triggers are accessed by pressing

10 - 1
DIgSILENT PowerFactory Parameter Characteristics

the icon in the main toolbar) the scale is set and the parameter value is changed.
When a different study case is activated, or a new study case is created, and a load-flow
is performed, all relevant triggers are copied into the study case folder and may be used
in the new study case.

Note When a characteristic is created by right-clicking a parameter field


this characteristic is only visible from this parameter field itself and
cannot be copied to another parameter field. To use a characteris-
tic for several parameters create these characteristics in a common
folder of your project and use the menu option New Characteristic
−> Reference... . See the section 10.2 (Handling Scales and Char-
acteristics).

A characteristic for a parameter is created by right-clicking the parameter in an edit dia-


logue. This presents the various options for creating a characteristic, as shown for the
active power settings of a general load object in the figure 10.1.

Fig. 10.1: Creating a parameter characteristic

If no other characteristics have been defined for the parameter yet, the pop up menu will
allow the New Characteristic option. This option will open a second menu where the user
may then:
• create a new scalar value,
• create a discrete time characteristic,
• create a new one-dimensional vector characteristic,
• create a new two-dimensional matrix characteristic,
• use an existing characteristic by reference.
Selecting the Reference... option presents a browser window and the user must then se-
lect a pre-defined characteristic.
If one or more characteristics have already been defined for the parameter, the pop up
menu will show options to edit or delete existing characteristics or to create another new
one. The creation of these characteristics are described in detail in the following sections.

10 - 2
DIgSILENT PowerFactory Parameter Characteristics

10.1.1 Creating a Scalar Value


Scalar characteristics are used when a parameter should vary according to a mathemati-
cal relationship, with reference to a scale value. In the figure 10.2 the relationship "2x +
3" has been defined, and a scale (only the *.TriVal scale object may be used here) has
been chosen, where "x" refers to the scale variables.

Fig. 10.2: The scalar characteristic dialogue

Thus, if the 'Global Temperature' scale has been set to 15 deg by the trigger then the
parameter that this characteristic is applied to will thus be multiplied by 2*15+3=33

10.1.2 Creating a Discrete Time Characteristic


The discrete time characteristic uses an internally defined series of time scales that are
convenient to use in order to define the characteristic. The user simply selects a scale and
enters the corresponding values.
The "Usage" field at the bottom of the characteristic dialogue specifies how the values
entered in the "Values" column will be applied to the parameter that the characteristic is
associated to.
Relative in % will multiply the parameter by the percentage value
Relative will multiply the parameter by the value
Absolute will replace the current parameter value by the absolute value provided
A graph showing the values plotted against the scale can be seen on
the "Diagram" tab.

10.1.3 Creating a one-dimensional vector characteristic


When using a characteristic such as this one the user must also define a scale to plot the
values to. The dialogue for the characteristic is shown in the figure 10.3.

10 - 3
DIgSILENT PowerFactory Parameter Characteristics

Fig. 10.3: The vector characteristic dialogue

The nature of the characteristic depends on the kind of scale that is selected. All scales
will have a range of values or cases which will be shown in the column to the left of the
"Values" column. Whatever appears in this column is determined by the scale that has
been chosen. The scale may have already have been created or will need to be created

(tip: use the "New Object'' icon when selecting a scale to create a new scale and read
more about scales in the sections following).
The user now enters the range of values for the parameter.
The "Usage" field at the bottom of the characteristic dialogue specifies how the values
entered in the "Values" column will be applied to the parameter that the characteristic is
associated to.
Relative in % will multiply the parameter by the percentage value
Relative will multiply the parameter by the value
Absolute will replace the current parameter value by the absolute value
provided. Interpolations between the values are determined by the
setting in the "Approximation" field. A graph showing the values plotted
against the scale can be seen on the "Diagram" tab.

10.1.4 Creating a two-dimensional vector characteristic


When using a characteristic such as this one the user must also define two scales that will
be used to plot the values against. The dialogue for the characteristic is shown in the fig-
ure 10.4.

10 - 4
DIgSILENT PowerFactory Parameter Characteristics

Fig. 10.4: Matrix characteristic dialogue

The nature of the characteristic depends on the kinds of scale that are selected. The first
scale, that for columns, must be a discrete scale. The scale for rows may be a discrete or
continuous scale. These scales may have already have been created or will need to be

created (tip: use the "New Object'' icon when selecting a scale to create a new scale
and read more about scales in the sections following).
The "Usage" field at the bottom of the characteristic dialogue specifies how the values
entered in the "Values" column will be applied to the parameter that the characteristic is
associated to.
Relative in % will multiply the parameter by the percentage value
Relative will multiply the parameter by the value
Absolute will replace the current parameter value by the absolute value provided
Interpolations between the values are determined by the setting in the "Approximation"
field. A graph showing the values plotted against the scale can be seen on the "Diagram"
tab.
A column calculator can be used to calculate the column values, as a function of other
columns. This is done by pressing the Calculate.. button. In the example of the figure
10.5, the first column is calculated as the average of the other columns. The result is

10 - 5
DIgSILENT PowerFactory Parameter Characteristics

shown in the figure 10.6.

Fig. 10.5: Calculating column values

Fig. 10.6: Result of a column calculation

Once the values have been entered and the triggers have been set, the "Current Value"
field will show what the value that will be used to multiply the parameter is.

10.1.5 Creating a Discrete Scale


A discrete scale is a list of cases. These cases are each defined by a short text description.
The scale dialogue offers a text window in which each line defines a new case. See the
figure 10.7.

10 - 6
DIgSILENT PowerFactory Parameter Characteristics

Fig. 10.7: Example of a discrete scale

As soon as at least one case has been defined, the trigger field will be enabled.

Creating a Discrete Parameter Characteristic


A discrete parameter characteristic is created by selecting a discrete scale. The cases de-
fined by that scale will automatically show in the list. See the figure 10.7 where three cas-
es ('Low Load’, ’Medium Load’ and ’High Load’) are defined.

Fig. 10.8: Discrete parameter characteristic

The approximation field and accompanying polynomial degree field will be disabled be-

10 - 7
DIgSILENT PowerFactory Parameter Characteristics

cause interpolation cannot be performed for discrete scales. The current percent value is
shown, according to the case that is currently active. The diagram page for the discrete
characteristic shows a bar graph for the available cases. See the figure 10.8 for an exam-
ple. The bar for the case that is currently active is colored black.

Fig. 10.9: Discrete characteristic diagram

10.1.6 Creating a Continuous Scale


A continuous scale defines a list of 'X' values for which 'Y' values can be defined in a pa-
rameter characteristic. The trigger may take any value, even values outside the X range.
The 'Y' values in the characteristic will be interpolated for the trigger value. The values in
the 'X' scale must be rising. An example is shown in the figure 10.10 where six tempera-
ture values are defined.

10 - 8
DIgSILENT PowerFactory Parameter Characteristics

Fig. 10.10: Example of a continuous scale

Creating a Continuous Parameter Characteristic


A continuous parameter characteristic is created by selecting a continuous scale. The 'X'
values defined by that scale will automatically show up in the list, together with their unit.
The scale 'X-Y' points will define a curve which is used to approximate 'Y' values for trigger
values in between, or even outside, the 'X' values. Various approximation functions are
available:
Constant holds the Y-value in between X-values
Linear uses a linear interpolation.
Polynomial uses a polynomial function with user defined degree.
Spline uses spline function
Hermite uses a Hermite interpolation
The approximation curve will be shown in the diagram page. Examples of these approxi-
mation curves are shown in the figure 10.11.

10 - 9
DIgSILENT PowerFactory Parameter Characteristics

Fig. 10.11: Approximated characteristics

The interpolated Y-value may vary considerably between approximation functions. This is
shown in the figure 10.11 where the linear and constant approximations are drawn on top
of each other. The black crosses, which have been encircled in the figure for clarity, show
the trigger setting and the resulting different Y-values.

10.1.7 Creating a Time Scale


A time scale is a special kind of continuous scale that uses the global time trigger of the
active study case (a limited version of this scale is automatically created when a "Discrete
Time Characteristic is created).
The unit of the time trigger is always an unit of time but may range from seconds to years.
This means that changing the unit from minutes to hours, for instance, will stretch the
scale 60-fold. The units 's', 'm', and 'h' are respectively, the second, minute and hour of
normal daytime.
The figure 10.12 shows an example where four equidistant moments in a year have been
created.

10 - 10
DIgSILENT PowerFactory Parameter Characteristics

Fig. 10.12: Time scale

Setting the Time Trigger


The trigger of a time scale may be defined locally, although this method is obsolete. The
recommended practice is to use the time trigger of the active study case. This time trigger

may be accessed by pressing the icon on the main toolbar. This presents the Set-
Time object, as shown in the figure 10.13.
The buttons in the figure 10.13 have the following meanings:
Ignore Time Trigger
all characteristics that use time scales will be set to their 100% entered
value.
OK Closes the dialogue and sets the study case time trigger
Cancel Closes the dialogue without setting or saving anything.
Descript.>> Opens the description page.
Date Sets the date to today as taken from the local PC.
Time Sets the time to now as taken from the local PC.

10 - 11
DIgSILENT PowerFactory Parameter Characteristics

Fig. 10.13: The time and date setting object

Creating a Time Characteristic


A time dependent parameter characteristic is created in exactly the same way as creating
a continuous parameter characteristic. See the section (Creating a Continuous Parameter
Characteristic).

10.1.8 Importing a Characteristic from an Existing File


When a series of data is available in an external file, such as an Excel file, or tab or space
separated file this data may be utilized as a characteristic if the "Parameter Characteristic
from File" (ChaVecfile object is used.
The external file must have the scale column for the data series in column 1.
Once the input data dialogue has been generated (see the figure 10.14) a scale and trig-
ger must be set [1] and the link to the existing data file is created [2].
The column field [3] is used for specialized purposes and should generally be left at the
default figure of '1'.
The factor fields, [4] and [5], may be used to adjust or convert the input data. The data
contained in column 2 of the external file will be adjusted by y=ax+b where "x" is the
data in the external file and "y" is what will be loaded into the characteristic.
The "Usage" field at the bottom of the characteristic dialogue [6] specifies how the values
entered in the "Values" column will be applied to the parameter that the characteristic is
associated to.

10 - 12
DIgSILENT PowerFactory Parameter Characteristics

Relative in % will multiply the parameter by the percentage value


Relative will multiply the parameter by the value
Absolute will replace the current parameter value by the absolute value
provided.
Interpolations between the values are determined by the setting in the "Approximation"
field [7]. A graph showing the values plotted against the scale can be seen on the "Dia-
gram" tab [8].
Once the file link has been set press the Update button [9] to upload the data from the
external file to the characteristic.

Fig. 10.14: The Parameter Characteristic from File dialogue

10.2 Handling Scales and Characteristics


If only a few characteristics for some parameters are to be defined, the characteristic may
be directly defined using the menu options that are presented when right-clicking a pa-
rameter field. Characteristics that are defined in this manner are stored in that object. This
characteristic is normally hidden in the database browser.
If the same characteristic is to be applied to several parameters then it is better to define
the characteristic explicitly beforehand. Parameters may then be 'referred' to the charac-
teristic. This is what is meant by the New Characteristic −> Reference... option when right-
clicking a parameter.
All 'direct' characteristics, and all references to characteristics are normally hidden in the
database browser to prevent accidental direct manipulation. A special display mode is

10 - 13
DIgSILENT PowerFactory Parameter Characteristics

available in the database browser to check and edit the characteristics for whole classes
of objects. This 'Scales' mode must be enabled in the User Settings, on the "Functions''
tab. An example of a browser showing the 'Scales' tab is shown in the figure 10.15 (re-
member that the browser must be in 'detail' mode to see these tabs).

Fig. 10.15: Browser in 'scales' mode

The browser in 'Scales' mode shows all characteristics defined for the displayed objects,
together with the original value and the current value as determined by the characteristic.
In the example, a one-dimensional characteristic called 'Loading Characteristic 1' has
been used for the load 'L-Baker'. The trigger has set the scale to a value of 50% and thus
the "Current Value" is 0.025 which is 50% of the input value of 0.05. The current values
will be used in all calculations.
The browser 'Scales' mode is not only used to quickly inspect all defined characteristics,
but may also be helpful in defining new characteristics, or in selecting references. the fig-
ure 10.16 shows the context sensitive menu that appears when a characteristic field is
right-clicked.

Fig. 10.16: Managing characteristics

10 - 14
DIgSILENT PowerFactory Parameter Characteristics

The option Select Characteristic... , shown in the figure 10.16, is used to define references
to a characteristic and may also be used to create a range of characteristics. This is shown
in the figure 10.17 where a reference is defined for three loads at once.

Fig. 10.17: Selecting a range of characteristics

The "Scales" tab of the browser will only show the "Characteristic" column when at least
one of the objects has a characteristic defined for a parameter. It is thus necessary to
define a characteristic for one object prior to using the browser, when the user would like
to assign characteristics, for the same parameter, for a range of other objects. To define
a 'High-Low' loading characteristic for all loads, for instance, can thus be done by per-
forming the following steps.
 Create a discrete scale in the grid folder.
 Create a vector characteristic using this scale in the grid folder.
 Edit one of the loads, right-click the active power field and assign the vector
characteristic to the relevant parameter.
 Open a browser with all loads, activate the 'detail' mode and select the "Scales" tab.
 Select the characteristic column (right-click −> Select Column) and then right-click the
selected column.
 Use the Select Characteristic... option and select the vector characteristic.
scale is set to 0.50. The flow at the feeder position will thus be 0.61 MVA.

10 - 15
DIgSILENT PowerFactory Parameter Characteristics

10 - 16
DIgSILENT PowerFactory Grouping Network Elements

Chapter 11
Grouping Network Elements

The objective of this chapter is to explain the concept and functionality of Feeders and
Zones, which are objects used in PowerFactory to group elements of the power system.

11.1 Feeders and Feeder Objects


When analyzing a system it is often useful to know where the various elements are re-
ceiving their power supply from. The user could of course discern this by looking at the
breaker status' and the flow of power, however, it would be convenient if the program
could indicate this automatically. In PowerFactory this is achieved by using Feeder
Definitions. A feeder is defined at a line or transformer end and the feeder definition
algorithm then searches the system from the feeder definition point to determine the ex-
tent of the feeder.
The feeder ends when:
• an open breaker is encountered
• the end of a line of supply is encountered
• a higher voltage is encountered
Once a feeder has been defined it may be used to scale loads, according to a measured
current or power, to create voltage profile plots, to select particular branches and con-
nected objects in the network and for many other tasks. See also section 27.1.4 (The Volt-
age Profile Plot).
A feeder is created or defined by right-clicking on a cubicle (that is, when the cursor is
held just above the breaker in the single line diagram) and selecting Define −> Feeder....
Once the feeder has been defined a feeder dialogue pops up, as shown in the figure 11.1.

11 - 1
DIgSILENT PowerFactory Grouping Network Elements

Fig. 11.1: The Feeder dialogue

11.1.1 Position and Color


Name The feeder may be named as required
Cubicle Indicates the position of the feeder. The direction of the feeder is away
from the busbar/terminal towards the connected branch. The direction
of the feeder in the figure 11.1 is thus downwards.
Zone Indicates the zone to which the feeder belongs. A feeder is assigned to
the zone of the local busbar/terminal.
Color sets the color that the feeder will be shown in when the Feeder
Definitions coloring mode is engaged.

11.1.2 Terminate Feeder when encountering higher Voltage


Levels
A feeder will, by default, terminate when a higher voltage level is encountered, however,
this may not always be desirous. This may be prevented by un-checking this option. The
feeder will now continue 'past' a higher voltage level and may be terminated at a user
defined cubicle if desired. To manually terminate a feeder right-click a branch element
above the breaker and select Edit Cubicle. The dialogue shown in the figure 11.2 will be
presented, and the Terminate feeder at this point option may be checked.

11 - 2
DIgSILENT PowerFactory Grouping Network Elements

Fig. 11.2: Manual termination of a feeder

11.1.3 Load Scaling


In any system some loads values may be accurately known whilst others are estimated.
It is likely that measurement points exist for feeders in the system as well, and thus the
power that is drawn through this feeder is also known.
The load scaling tool assists the user in adjusting these estimated load values by scaling
them to match a the known feeder power or current that has been measured in the real
system.
To use this tool first define which loads may be scaled by enabling the Adjusted by Load
Scaling option on the Load-Flow tab of the load dialogue. All of the loads in a feeder may
also be quickly viewed by editing the feeder from the feeders folder.
Load scaling is now performed by the load-flow calculation function when:
• At least one feeder is defined with load scaling according to a current or power.
• The option Feeder Load Scaling is enabled in the load-flow command dialogue (basic
options).
• At least one load exists in the feeder area for which
- A change in operating point affects the load-flow at the feeder position
- The option Adjusted by Load Scaling has been enabled.
The load-flow calculation will then adjust the scaling of all adjustable loads in the feeder
areas in such a way that the load-flow at the feeder equals the current or power setpoint.
When the user is satisfied with the scaling the scaling factors can be updated to the da-

tabase by pressing the icon.


The feeder setpoint is influenced by the zone scaling. This means that the current or pow-
er flow as calculated by the load-flow could differ from the setpoint in the feeder dialogue
when the busbar where the feeder is defined is part of a zone.
For instance, a feeder has a setpoint of 1.22 MVA. The busbar is in a zone and the zone-

11 - 3
DIgSILENT PowerFactory Grouping Network Elements

scale is set to 0.50. The flow at the feeder position will thus be 0.61 MVA.

11.1.4 The Feeders Folder


All feeder objects are stored in the special IntFeeder folder, "Feeders", in the active
project (see figure 11.3). This folder is created automatically when the first feeder in a
project is defined. The feeder data can be edited by double-clicking a feeder object (see
figure 11.4).
The coloring command of the single line graphics looks for the feeder definitions in the
Feeders folder. See section 8.3.5 (Color Representation) for more information.

Fig. 11.3: Feeders folder

Fig. 11.4: Feeder dialogue

11 - 4
DIgSILENT PowerFactory Grouping Network Elements

Accessing the feeder dialogueOnce the feeder element dialogue has been opened, all of
the elements in the feeder may be listed in a browser by pressing the Edit button (see
figure 11.5).
When the Mark in Graphic button is pressed all of the elements in the feeder will be
selected in the graphic.

Fig. 11.5: Browser view showing all elements in the feeder

11.2 Zones
Elements in a system may be allocated to a zone and the graphic may be colored to show
these zones. All of the loads may be quickly scaled in a zone and the elements of a zone
may be listed in a browser format for gang editing.
Zones are created by multi-selecting elements and right-clicking −> Define... −> Zone...
or Add to... −> Zone... when a zone(s) have already been defined.
As with feeders a Zone folder is automatically created when the first zone is defined.
Zones may be accessed and edited from this folder.

11 - 5
DIgSILENT PowerFactory Grouping Network Elements

11 - 6
DIgSILENT PowerFactory General Information about Calculations in PowerFactory

Chapter 12
General Information about Calculations in
PowerFactory

This chapter gives an introduction to the calculation commands used in PowerFactory,


additionally it presents the tools that facilitate the visualization and comparison of the cal-
culated results. Chapters, exclusively dedicated to the tools presented here, are available
in the subsequent volumes of this manual.

12.1 Calculation Commands in PowerFactory


PowerFactory offers a wide variety of calculation commands, of which the
• Load-flow calculations,
• Short-circuit calculations,
• Transient simulations,
are the most important.
Calculations are performed using data as defined by the active study case (see 7.1.3
(Study Cases) for more information on study cases). Therefore a study case, having at
least one grid or system stage, should be activated prior to starting any calculation func-
tion. See the chapter 7 (Project Management) for more information.
The main menu calculation icons will be enabled as soon as a correct study case is active.
These icons will pop up the default calculation command dialogues which are used to con-
figure and execute a calculation. The default calculation command objects are stored in
the active study case.
The main toolbar shows the following calculation icons.

Calculate Load-Flow

Calculate Short-Circuit

Break

Reset Calculation
Other command icons are grouped together in sub-toolbars which are selected by the
toolbar selection list:

The toolbar selection icon

12 - 1
DIgSILENT PowerFactory General Information about Calculations in PowerFactory

Stability calculation commands

Reliability, sensitivity and various special calculation commands

Data acquisition commands

Harmonics calculation commands

Optimal capacitor placement commands

12.2 Edit relevant Objects for Calculation

The icon is used to gather and show all objects considered by the study case, and
which are of a certain class, in a browser in order to inspect their data or to edit them.

Pressing the icon will present a menu listing the icons of all classes of objects cur-
rently used for the calculations, as depicted in the figure 12.1. Pressing a class icon will
pop up an object filter browser, filled with all the objects of the selected class, which are
considered by the calculation.
Pressing the line icon, for instance, will open a filter browser which contains a list of all
lines. Pressing the transformer icon gives the list of all transformers, etc. The filter brows-
er can be used to inspect, select or edit selected objects. Normally, the filter browser is
closed after performing any of these actions. It is possible to open more filter browser at

the same time, by repeatedly pressing the icon.

Fig. 12.1: Selecting calculation relevant objects

12.3 Results
Following calculations some messages are printed to the output window. These generally
consist of errors, warnings or information that may be useful when interpreting the cal-
culated data. The load-flow calculation function, for example, will provide the following
message when the power system under analysis is has 2 separated areas:
DIgSI/wrng - 1 area(s) are unsupplied.
DIgSI/info - Grid splitted into 2 isolated areas
More extensive output is given in the output window, for example, by the (N-1) outage
calculation, which is an option in the load-flow command dialogue. The output given by
that calculation is a list of load-flow calculations that were performed, each with a table
in which the element on outage and all overloaded elements are provided.
The usual place, however, to visualize load-flow or short-circuit calculation results is in

12 - 2
DIgSILENT PowerFactory General Information about Calculations in PowerFactory

the single line graphics, or the data manager and object filter (when tabulated results are
required). The results on view may configured using the highly flexible, user-definable,
variable sets. These are accessed from the results boxes or flexible data tab. See sections
27.2.1 (Result Objects) and 27.2.4 (Variable Sets and Variable Monitors) for more infor-
mation.
Some calculations offer additional results in the form of bar-graphs, vector diagrams or
other graphical output. All such outputs are presented by so-called virtual instruments,
which are placed on a virtual instruments page in the current graphics board.

12.4 Comparisons Between Calculations


At many stages in the development of a power system design, the differences between
certain settings or design options become of interest.
For a single calculation, the 'absolute' results are shown in the single line graphics. The
variables that are shown may be specified by the user by altering the result-box defini-
tions.
When comparing two cases, the results of the first calculation are 'frozen'. All subsequent
calculations will then show their results as deviations from the first calculation made. The
subsequent calculation results are stored together with the first result. This allows the
user to re-arrange the comparisons as desired by pressing the icon (see the next sec-
tion).
The differences between cases are colored according to the severity of the deviation,
making it possible to recognize the differences between calculation cases very easily. The
coloring and severity ranges may be set in the Edit Comparing of Results... menu option,

found by pressing (see the next section).


A comparison between cases is made as follows:
• Calculate the first case by activating a certain calculation case and, for example,
calculating a load-flow.

• Press the icon on the main toolbar. This will store the base case results and
prepares to store the results of forthcoming calculations.
• If relative results are also required for a particular calculation report, in a formatted
report, that report has to be generated for the first case by pressing the icon on
the main toolbar and selecting the required report. This step is necessary to let the
comparison manager know which parameters are to be compared.
• Change the power system or a calculation setting to create the next case. Permitted
alterations include opening/closing switches, altering load settings or any other
component parameter, changing calculation cases, adding or deleting elements, etc.
• Repeat the calculations as performed for the first case.
• The result boxes in the single line graphic will now show the percentage change as
compared to the first case. If the calculation report, as generated for the first case, is
generated again, it will also show relative results.
• Make and calculate the other cases. After each calculation, the comparison to the first
case is shown.

12 - 3
DIgSILENT PowerFactory General Information about Calculations in PowerFactory

12.4.1 Editing a Set Of Comparison Cases


The set of calculated comparisons may be edited to select the cases which are to be com-
pared to each other or to set the coloring mode. When the icon on the main toolbar
is pressed, the Compare dialogue will open. See the figure 12.2.

Fig. 12.2: The Compare dialogue

With the Compare dialogue, the two cases which are to be compared can be selected.
Furthermore, a list of colors may be set which is then used to color the results displayed
in the result boxes, according to certain levels of percentage change.

12.4.2 Update Database


In PowerFactory input (data that has been entered by the user) and output (parameters
that have been calculated) data is kept separate and output data, such as the new tap
positions following an automatic tap adjustment calculation, does not overwrite the set-
tings that the user originally entered, unless the user specifically commands this, using
the icon on the main toolbar.

Note The corresponding input parameters of the database will be over-


written by the calculated values.

Updating the database may be performed for:


• Scaling factor of loads
• Transformer taps
• Capacitive Steps of Shunts/Filter

12 - 4
DIgSILENT PowerFactory General Information about Calculations in PowerFactory

• P,Q of Loads
• P,Q of asynchronous machines

Example:
A load-flow is calculated with the options "Automatic Tap Adjust of Transformers" and
"Automatic Shunt Adjustment" enabled. The calculated tap and shunt positions may be
seen in the single line diagram, but it will be noticed that the input data parameter in the
element data dialogue is as originally entered. The icon is clicked, and the input pa-
rameters are now overwritten by the calculated values found on the single line diagram.

12 - 5
DIgSILENT PowerFactory General Information about Calculations in PowerFactory

12 - 6
Volume II
Steady-State Power System Analysis
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory Load-Flow Calculations

Chapter 13
Load-Flow Calculations

A load-flow calculation may be initiated by

• Pressing the icon on the main toolbar.


• Selecting the Calculation −> Load-Flow option on the main menu
An example of the load-flow command dialogue is shown in the figure 13.1.

Fig. 13.1: ComLdf command dialogue

Please refer to the section Load-Flow Calculations in the Technical References for a
detailed description and the theory behind the load-flow calculations.
In the following pages the options that may be set for the load-flow calculation will be
explained. Following this, some hints on what to do if your load-flow is not solving are
presented.

13 - 1
DIgSILENT PowerFactory Load-Flow Calculations

13.1 Basic Options

Network Representation
Balanced, positive sequence
Performs load-flow calculations for a one-phase, positive sequence
network representation, valid for balanced symmetrical networks. A
balanced representation of unbalanced objects is used.
Unbalanced, 3 Phase (ABC)
Performs load-flow calculations for multi-phase network representation.
It can be used for analyzing unbalances of 3-phase systems, e.g.
introduced by unbalanced loads or non-transposed lines, or for
analyzing all kinds of unbalanced system technologies, such as single-
phase- or two-phase systems (with or without neutral return).

Reactive Power Control


Automatic Tap Adjust of Transformers
Adjusts the taps off all transformers that have the option Automatic
Tap Changing enabled on the Load-Flow tab.
Automatic Shunt Adjustment
adjusts the steps of all switchable shunts that have the option
Switchable enabled on the Load-Flow tab.
Consider Reactive Power Limits
Considered reactive power limits of generators, as defined in the
generator models, and reactive limits of static VAR systems. If this
option is not enabled, PowerFactory just prints a warning message if
limits are violated.

Load Options
Consider Voltage Dependency of Loads
Voltage dependency of loads that have voltage dependency factors kpu
and kqu (as set on the Load-Flow tab in the load type) set will be
enabled.
Feeder Load Scaling
Scales loads marked Adjusted by Load Scaling in the load-flow tab of
their element data to match the total load specified in the Load Scaling
option of the feeder object.
Consider Coincidence of Low-Voltage Loads
Calculates a 'low voltage load-flow', where load coincidence factors are
considered, so as to produce maximum branch currents and maximum
voltage drops. Since coincidence factors are used the result of low
voltage analysis will not obey Kirchhoff's current law.
Scaling Factor for Night Storage Heaters
Is the factor by which the night storage heater power (as found in "Low
Voltage load" elements) is multiplied for all low voltage loads.

13 - 2
DIgSILENT PowerFactory Load-Flow Calculations

13.2 Active Power Control

Active Power Control


as Dispatched:
The total power balance will be established by one reference
generator/external grid ("slack"-generator).
according to secondary Control:
Power balance is established by all generators considered by a
"Secondary Controller". Active power contribution is according to the
secondary controller participation factors.
according to Primary Control:
Power balance is established by all generators having a Kf-setting
defined. Active power contribution according to the droop of every
generator.
according to Inertias:
Power balanced is established by all generators. Contribution according
to inertia (acceleration time constant).
Consider Active Power Limits:
Active power limits for generators, as defined by the generator element
data, will be applied. A message will be issued when the generator
reaches these limits. When disabled, the active power outputs limits
may be violated, in which case a warning is issued.

13.3 Outputs
Show Verification Report
Produces a table in the output window with a list of overloaded objects
and voltage violations, according to the values specified in "Check
devices".
Show Convergence Progress Report
Will print detailed reports concerning load-flow calculations during the
iterations, which may be used to solve convergence problems.
Calculate Power at Risk
Calculates the SPAR (System Power At Risk) parameter, which is shown
in the "Total System Summary Report''. The SPAR equals the minimum
amount of power that will be shed in order to make the highest branch
loading equal to the "Max. Loading of Edge Element". The SPAR
calculation uses a linear optimization technique to calculate the least
power that may be shed in order to alleviate all overloads. This
minimum power that will be shed is called the "Power At Risk".
Output
Is a pointer to the report definition that will be used. The arrow can be
pressed to edit or inspect the report settings.

13 - 3
DIgSILENT PowerFactory Load-Flow Calculations

13.4 Low Voltage Analysis


The following applies to all LV loads (ElmLodlv) and partial LV loads on lines (Elm-
Lodlvp):

Definition of Fixed Load per Customer


The fixed load is the non-stochastic part of the load, which is not subject to coincidence
factors.

Definition of Variable Load per Customer


The Max. Power per Customer is the independent maximum. Multiplied by the coincidence
factor, this gives the "Average Power", which is used in the load-flow calculations, as the
load-flow algorithm does not implicitly consider the coincidence factors.

Note Please mind that these factors are use as global data for the load-
flow calculation. If specific LV load types are defined, this data is
used for the according loads. For all other LV loads the global data
is used instead.

Voltage Drop Analysis


Choose between Stochastic Evaluation or Maximum Current Estimation.

13.5 Advanced Options

Load-Flow Method
Nodal equations for solving power flows can be implemented by two different methods:
• P,Q-balance (Energy conservation)
• Aria-balance (Kirchoffs law)
In both cases, nonlinear equation systems are resulting, which have to be solved by an
iterative method. PowerFactory always uses Newton-Raphson algorithms as non-linear
equation solver. With regard to the nodal equalizations user has the choice between:
• Classical approach (P,Q)
• Current approach (Kirchoffs law)
In wide transmission systems, especially when heavily loaded, the classical Newton Raph-
son Algorithm usually works the best. Distribution systems, especially unbalanced distri-
bution systems usually converge better using the "Current Iteration" method. In case of
difficulties, additional parameters on the "Iteration Control Page" can be adjusted.

13 - 4
DIgSILENT PowerFactory Load-Flow Calculations

Load-Flow Initialisation
No Topology Rebuilt
Will speed up large sets of consecutive load-flow calculations. It will not
consider a topology rebuild when calculating the next load-flow. If no
topology changes will be made for the system then this option may be
enabled.
No Initialisation (no flat start)
Initialises a load-flow from a previously solved solution (no flat-start).
Consideration of transformer winding ratio
Sets the manner in which voltage initialisation takes place at nodes.
Reducing the relaxation factor results in more iteration but higher
numerical robustness.

Tap Adjustment
Method
The direct method will include the tap controller models in the load-
flow calculations (in the internal loop within the Newton-Raphson
iterations). The new tap positions will then be calculated directly as a
variable and thus result after a single load-flow calculation.
The stepped method will calculate a load-flow with fixed tap positions,
after which the required tap changes are calculated from the observed
voltage deviations and the tap controller time constants. The load-flow
calculation is then repeated with the new tap positions, until no further
changes are required. The tap adjustment will then take place in the
outer loop of the iteration.
Min. Controller Relaxation Factor
The tap controller time constants are used in the automatic tap
changer calculations to determine the relative speed of the various tap
controllers during the load-flow iterations. The relaxation factor can be
used to slow down the overall controller speeds (factor less than 1.0, in
case of convergence problems) or to speed them up (factor more than
1.0, for a faster load-flow).

13.6 Iteration Control

Max. Number of Iterations for


The load-flow calculation function uses an iterative Newton-Raphson method, for which
the maximal number of iterations may be set. Normal values are a maximum of 25 itera-
tions for the inner and 20 for the outer loop calculations.
For iteration control set
itrlx Maximum Number of Iterations (typical: 25)
The inner loop of the load-flow is represented by the Newton-Raphson
iteration. The maximum number of iterations is set by this parameter.
ictrlx Iteration Limit to Recompute Jacobian Matrix (typical: 20)
The outer loop of the load-flow iteration will determine changes in the

13 - 5
DIgSILENT PowerFactory Load-Flow Calculations

tap changer (depending on the tap adjustment method), the reactive


power limits of the generator, etc. These are adjusted in the outer loop
and then a new iteration of the inner loop is started again. The
maximum number of outer loop iterations is set by this parameter.
nsteps Number of Stairs (typical: 1)
Problematic load-flows with slow or no convergence can be improved
by starting a load-flow calculation for a low load level, and then
increasing the load level in a number of steps. This is achieved by
setting the Number of Stairs to a value larger than one. For example
nsteps =3 starts with load-flow at a load/generation level of 1/3 and
the increases the power in 2 further steps to 100%.

Max. Acceptable Load-Flow Error


A higher precision or a faster calculation can be obtained by changing the maximal al-
lowed errors. The values of either the calculated absolute fault for the nodes, or the cal-
culated relative faults in the model equations, e.g. voltage error of voltage controlled
generators, may be changed.
For iteration control set
errlf Maximum Iteration Error of Nodal Equations (typical: 1 kVA)
erreq Maximum Error of Model Equations (typical: 0.1%)

Convergence Options
Relaxation Factor
A Newton Raphson relaxation factor smaller than 1.0 will slow down
the convergence speed of the load-flow calculation, but may in some
cases result in better convergence.
Automatic Model Adaptation for Convergency
The PowerFactory load-flow function will always first try to find a
solution with the non-linear mathematical power system models. If
such a solution cannot be found, and this option is enabled, an
adaptive algorithm will change these models slightly to make them
more linear, until a solution is found. Model adaptations are reported in
the output window.

13.7 Advanced Simulation Options


This page, as shown in the figure 13.2 is not only important for load-flow but also for other
calculation functions like the transient simulation. Using the following options i.e. a tran-
sient simulation can be sped up when the protection devices will be neglected in the cal-
culation.

13 - 6
DIgSILENT PowerFactory Load-Flow Calculations

Fig. 13.2: Advanced Simulation Options in the ComLdf command dialogue

Consider Protection Devices


calculates the tripping times for all relays and fuses that have been
modelled. This will also show the load currents in the overcurrent plots
and/or the measured impedance in the R-X diagrams. Disabling this
option will speed up the calculations.
Ignore Composite Elements
disables all controller models. The panels "Considered Models" and
"Ignored Models" are used to disable specific groups of controller
models. Models names can be moved between panels by double-
clicking or by using the arrow buttons.

13.8 Troubleshooting Load-Flow Calculations


In general, if a solution can be found (in other words, the network has a possible solution)
PowerFactory will find a solution. In some cases the user may have made an error
which will not allow a solution to be found, for example, a large load causing volt drop so
high that a voltage collapse results. In the real world the same problem would be found.
When creating a network for the first time it is best to enter the data for just a small part
or 'path' of the network and solve the network by calculating a load-flow. PowerFactory
has a data verification process in which certain checks, such as whether a line is connect-
ed between nodes of the same voltage; correct voltage orientation of transformers, etc.,
are performed. Error messages regarding these issues are printed to the output window,
listing the element and error in question. These messages are interactive and the user
may:
• Right-click −> Mark in Graphic to show the element on the single line graphic, or

13 - 7
DIgSILENT PowerFactory Load-Flow Calculations

• double-click on the description of the element to present the element dialogue


('South Grid\MV-K6.ElmLne' in the example below)
In the following example the messages in the output window state that the line element
called 'MV-K6', which is found in the 'South Grid' folder is missing type data.
DIgSI/wrng - Protection Devices are not considered.
DIgSI/err - 'South Grid\MV-K6.ElmLne':
DIgSI/err - missing type !
DIgSI/err - last command leads to error(s), see output window !
DIgSI/err - Error in load-flow data!
DIgSI/info - Load-flow calculation not executed
Once these errors have been corrected and the load-flow still does not solve use the
"Show Verification Report" and "Show Convergence Progress Report" options found in the
"Outputs" tab of the load-flow dialogue. These will print messages to the output window
and provide clues as to where problems may lie.
At this point the graphic can also be colored to show low and high voltages and overload-
ing. This will also provide a good idea of where there may be problems. Look at the un-
dervoltage nodes and overloaded elements and figure out why they are overloaded; look
at load set points, line lengths and line type data (the impedances may be too high).

Note There are 3 different types of messages that are printed to the out-
put window; warning, error and information messages. Only error
messages must be corrected for a load-flow to solve. Take note of
the warning messages and evaluate them in terms of your system,
these do not need to be corrected for the load-flow to solve. "Un-
supplied Areas" mean that a node or branch element has no supply
(i.e. a breaker is open)

If there is still no convergence then set most of the elements out of service and bring
these back one at a time, from the source element 'downwards', performing a load-flow
each time.
When having large unbalances, such as when there are a number of single or dual phase
elements, or when having power electronics elements use the "Newton Raphson Current
Iteration" option in the "Advanced" tab of the load-flow dialogue.

13 - 8
DIgSILENT PowerFactory Short-Circuit Calculations

Chapter 14
Short-Circuit Calculations

14.1 General Remarks


Short-circuit calculations may be used for different purposes. Therefore PowerFactory
supports different representation and various calculation methods for the analysis of
short-circuit currents.

Network Planning
One application is to check the rating of network equipment at planning stage. In this case
the planner is interested in knowing the expected maximum currents (for the rating of the
components) and the minimum currents (to make sure the protection concept will work).
Short-circuit calculation at planning stage mostly will use calculation methods that require
less detailed network modelling (e.g. that do not require load information) and will apply
extreme-case estimations. Examples for these methods are the IEC/VDE calculation
method and the ANSI method.

Operational Problems
A different field of application is the precise evaluation of the fault current in a specific
situation, e.g. to find out if the mal-function of a protection device was a relay failure or
was the consequence of wrong settings. This is the typical application of exact methods
like the superposition method (complete method), which is based on a specific load-flow
situation. This chapter presents the handling of the short-circuit calculation methods as
implemented in PowerFactory. More information about the background on this topic can
be found in section 14.7 (Technical Background).
The short-circuit calculation in PowerFactory is able to perform single faults as well as
multiple faults of nearly unlimited complexity. The handling of PowerFactory, the differ-
ent methods and the available options are presented in the following.

14.2 Executing Short-Circuit Calculations


A short-circuit calculation can be initiated from the single line graphic by selecting one or
more busbars and/or lines. Right-click the selection to access the context-sensitive menu.
This menu offers the option: Calculate −> Short-Circuit... .
When confirming this menu option, the short-circuit command dialogue is opened. De-
pending on whether a single element or a group of elements had been selected before
starting the calculation, the setup dialogue is configured in two possible ways:

14 - 1
DIgSILENT PowerFactory Short-Circuit Calculations

• When only one single busbar is selected, and Calculate −> Short-Circuit is chosen, the
"Fault Location'' reference is set to the selected busbar.
• When two or more busbars are selected and Calculate −> Short-Circuit is chosen, the
"Fault Location'' reference is set to a so-called "Selection Set'' (Setselect) object,
which contains a list of references to the selected busbars.
In either case, the options for the calculation can be modified. Please refer to section 14.6
(Short-Circuit Calculation Options) for a detailed description of the available parameters.
It should be considered, that changing the option "multiple faults'' may change the selec-
tion of fault locations and may thus lead to a calculation for locations other than the bus-
bars selected in the single line graph. After pressing the button Execute, the calculation
is executed and, if successful, the results are shown in the network diagram. Also a result
report is available and may be printed out.
Once a selection of fault locations is made and the short-circuit calculation is performed,
it is easily possible to execute further calculations based on the same selection of ele-
ments. This can be done by the following alternative actions:

• by pressing the icon on the main toolbar


• by selecting the Calculation/Short-circuit option on the main menu
The short-circuit setup dialogue then shows the previously selected elements in the sec-
tion Fault Location under User Selection.

14.3 Faults on Lines


It is not only possible to calculate short-circuits on busbars and terminals, but also on
lines. To calculate a fault on a line, please proceed as follows:
• Please select the line where the fault should be modelled
• Right-click on that line. The short-circuit setup dialogue opens and lets one define the
distance of the fault (see the figure 14.1).

• Following the button will enable the user to select if the fault location is defined in
% of the line length or in absolute distance.

Fig. 14.1: Setup section for line faults

When a fault on a line is calculated, a box is shown next to the line presenting the results
of the calculation.

14.4 Multiple Faults Calculation


To calculate multiple faults, that is the simultaneous occurrence of more than one fault

14 - 2
DIgSILENT PowerFactory Short-Circuit Calculations

condition in the network, please do as follows:


• Please select two or more busbars and right-click.
• Please select the option Calculate-Multiple Faults, and confirm. The short-circuit setup
dialogue pops up, containing a pre-set "Short-Circuit Event List". In this pre-set, a 3-
phase fault is assumed at all selected locations. The Multiple Faults option in the
short-circuit command dialogue is activated in combination with the complete short-
circuit method.
• Next the event list has to be adapted to reflect the intended fault conditions. This is
described below in detail.
• Finally, please press Execute to start the calculation.
The short-circuit event list is a special case of the general event list, which contains the
event definitions for dynamic simulations. It therefore contains information that is not
used by the short-circuit, like e.g. the times for each event. In the application for the
short-circuit special faults, these are set to zero.
To edit the list of events, please proceed in the following way:
• Please open the object for the short-circuit events. There will be several alternatives
to access the list of events:

- In the short-circuit dialogue in the section Fault Locations, press the button
behind the Short-Circuits. To access the events stored within this object, please
press Contents (see the figure 14.2).

- Press the icon on the main toolbar.


- Open the (IntEvtshc) object in a database manager.

Fig. 14.2: Accessing the events list

• A window is opening up that presents the list of events. When double-clicking on one
line, a window with the description of the event is opened.
• One now can modify the settings of the short-circuit event. The list of fault locations
consists of a "Short-Circuit Event List'' (IntEvtshc) object, which holds one or more
short-circuit events (EvtShc). Each of these events has a reference to a fault location
(a busbar) and carries a description of the fault type. An example is shown in the
figure 14.3.

14 - 3
DIgSILENT PowerFactory Short-Circuit Calculations

Fig. 14.3: A Short-Circuit Event

Note To re-use the event list (IntEvtshc) later, this object can be copied
to a user-defined folder in the database manager. This will prevent
it from being modified during the following calculations. When re-
peating the calculation with the same configuration, the reference
in Calculate-Multiple Faults can be set to this object.

14.5 Short-Circuit Calculation with User-Defined


Element Sets
The easiest way of calculating several short-circuits one by one and of combining the re-
sults in one diagram is to enable the option Fault Location - At All Busbars and terminals.
It however may be considered useful to calculate S/C currents for a sub-set of busbars,
e.g. all busbars with generation connected. When two or more busbars are selected in
the single line graphic and Calculate Short-Circuit is chosen, a "Selection Set'' (Setselect)
object is created automatically and used for the calculation. This Selection Set is a list of
references to network elements.
In the case of a selection of fault locations, this is a list of busbar objects. No fault type
is specified, only the location. The user may copy this selection into a user-defined folder
within your project, so that it becomes a permanent selection for later re-use.

14.6 Short-Circuit Calculation Options

14.6.1 Basic Options (All Methods)


An example for the setup dialogue of the short-circuit command dialogue, especially for

14 - 4
DIgSILENT PowerFactory Short-Circuit Calculations

the IEC calculation, is shown in the figure 14.4.

Fig. 14.4: IEC calculation - Basic Options

Calculation Method
PowerFactory provides the following calculation methods for short-circuit calculation:
• According to the German VDE 0102/0103 standard.
• According to the International IEC 60909 standard.
• According to the American ANSI/IEEE C37 standard.
• A 'complete' method which considers the pre-fault load-flow results.
The specific options for the selected methods follow in the Advanced Options page.

Fault Type
The following fault types are available:
• 3-Phase Short-Circuit
• 2-Phase Short-Circuit
• Single Phase to Ground
• 2-Phase to Ground
• 1-Phase to Neutral
• 1-Phase Neutral to Ground

14 - 5
DIgSILENT PowerFactory Short-Circuit Calculations

• 2-Phase to Neutral
• 2-Phase Neutral to Ground
• 3-Phase to Neutral
• 3-Phase Neutral to Ground
The fault types with neutral conductor only make sense when the lines are modelled using
neutral conductors.

Output
A text report is automatically written to the output window when the On option is enabled.
The reference to the report generating command can be used to select which type of re-

port will be printed out. Its name is written in blue color behind the button .

Fault Location
Either the option At all Busbars and Terminals is enabled, or a reference must be given
to either
• A single busbar object
• A fault event container (an IntEvtShc object)
• A selection of busbars (a SetSelect), see 14.5 (Short-Circuit Calculation with User-
Defined Element Sets).
Multiple faults will only be calculated for the complete method, when the option Multiple
Faults is enabled. In other cases when more than one fault location has been selected, a
sequence of short-circuit calculations is performed, once for each fault location.

14.6.2 Verification
The verification option will, when enabled, write a loading report to the output window
which shows the various maximum and calculated currents for rated devices. rated devic-
es are, for instance,
• Lines which have a rated Short-Time Current at their line type which is larger than
zero.
• Breakers or coupling switches which have a type with a valid rated current.

14.6.3 Basic Options (IEC 60909/VDE 0102 Method)


A snapshot of the Basic Options Setup Dialogue is shown in the previous section in the
figure 14.4.

Published
This offers a sub-selection for the method, where the version of the used standard can
be selected by the year in which it was issued. The most recent standard is 2001, however
1990 is still available for the verification of documented results.

14 - 6
DIgSILENT PowerFactory Short-Circuit Calculations

Calculate
The pull-down list offers the choice between the minimal or maximal short-circuit current.

Max. Voltage tolerance for LV systems


In accordance with the IEC/VDE standard, this voltage tolerance is used to define the re-
spective voltage correction factor c. The voltage tolerance is not used when a user-de-
fined correction factor is defined.

Fault Impedance
The fault impedance is defined as the reactance and resistance of the fault itself (i.e. the
impedance of the arc or of the shortening path).

Short-Circuit Duration
The value for the Breaker Time is used to calculate the breaking current of a circuit break-
er. The value for the Fault Clearing Time (Ith) is required for the equivalent thermal cur-
rent.

14.6.4 Advanced Options (IEC 60909/VDE 0102 Method)

Fig. 14.5: IEC calculation - Advanced Options

14 - 7
DIgSILENT PowerFactory Short-Circuit Calculations

The advanced short-circuit options (see 14.5) are used to tune the short-circuit calcula-
tions. It is recommended to make yourself familiar with the IEC/VDE standard read before
modifying these options. A brief summary of the standard can be found in the Technical
References of the short-circuit.

Grid Identification
The calculation of the factor kappa is different for meshed or radial feeding of the short-
circuit. Normally PowerFactory will automatically find the appropriate setting. The op-
tion always meshed will force a meshed grid approach.

c-Voltage Factor
The standard defines the c-voltage factor to be used for the different voltage levels. In
special cases the user may want to define himself the correction factor. In this case please
activate the box "Userdefined'', then a specific c-factor can be entered.

Asynchronous Motors
The influence on the short-circuit currents of the asynchronous motors may be always
considered, automatically neglected when possible, or neglected when possible and con-
firmed by the user.

Conductor Temperature
When activating this option, the initial (pre-fault) conductor temperature can be set man-
ually. This will influence the calculated maximum temperature of the conductors, as
caused by the short-circuit currents.

Decaying Aperiodic Component


Allows for the calculation of the DC current component for which the decaying time has
to be given. According to the IEC/IEC standard, the methods B, C and C' can be selected.
The symbols used mean:
Tb Breaker Time (see short-circuit command)
fn Nominal frequency
Ik" Initial short-circuit current
Method B: Using the complex calculated equivalent impedance of the network
with a security factor of 1.15:

R-
– ω ⋅ T b ⋅ ---
i DC = 2 ⋅ I″ k ⋅ e X

Method C: Using the R/X ratio calculated with the equivalent frequency method.
The equivalent frequency is depending on the breaking time (see table
14.1). This method is recommended for maximum accuracy.

14 - 8
DIgSILENT PowerFactory Short-Circuit Calculations

fn * Tb <1 < 2.5 <5 < 12.5

f c / fn 0.27 0.15 0.092 0.055

Table 14.1: Breaking Times

R
– ω ⋅ T b ⋅ -----f
i DC = 2 ⋅ I″ k ⋅ e Xf

R R fc
------f = ------c ⋅ -----------
Xf X c f nom
The ratio Rc/Xc is the equivalent impedance calculate at frequency:
fc
f c = ----------- ⋅f
f nom nom
Method C': Using the R/X ratio like for the peak short-circuit current, thus selecting
the ratio fc/fn = 0.4. This options speeds up the calculation, as no
additional equivalent impedance must be calculated.

Peak-Shc Current (Meshed network)


In accordance with the IEC/VDE standard, the following methods for calculating kappa
can be selected:
method "B'' Uses the ratio R/X at the short-circuit location.
method "C(1)''
Uses the ratio R/X calculated at a virtual frequency of 40% of nominal
frequency (20 Hz for fn = 50 Hz, or 24 Hz for fn=60 Hz), based on the
short-circuit impedance in the positive sequence system.
method "C(012)''
Like C(1), but uses the correct short-circuit impedance based on
positive-, negative- and zero-sequence system.

Calculate Ik
The steady state short-circuit currents can be calculated with different ways of consider-
ing asynchronous machines:
Without Motors
will disconnect all asynchronous motors before calculating the current
Ik.
DIgSILENT Method
Will consider all asynchronous motors by their breaker current. The
breaker opens after the maximum possible time.

14 - 9
DIgSILENT PowerFactory Short-Circuit Calculations

Ignore Motor Contributions


Will consider asynchronous motor impedances during the calculation,
but will reduce the calculated results for the motor contributions.
currents.

Consider Protection Devices


This option will calculate measured currents for all protection devices and will evaluate
tripping times. This option can be disabled to increase the calculation speed when protec-
tion devices do not need to be analyses.

Calculate max. Branch Currents = Busbar Currents


This option is used to check the rating of the circuit breakers against the system breaker
currents. Normally the breaker currents are calculated as max{Ibus-Ibranch, Ibranch}. If
this option is activated, the busbar short-circuit current is used as the breaker current,
which in fact is an over-estimation of the currents.

Automatic Power Station detection


The IEC/VDE standard forces a different impedance correction factor to be applied for
separate generators and transformers than for a unit/block (power station) consisting of
a generator including its step-up transformer. PowerFactory tries to detect power sta-
tions itself. When this option is disabled, then the block transformers have to be marked
as such by setting the unit Transformer option in the transformer dialogue.

14 - 10
DIgSILENT PowerFactory Short-Circuit Calculations

14.6.5 Basic Options (ANSI C37 Method)

Fig. 14.6: ANSI calculation - Basic Options

Prefault Voltage
Value of the pre-fault voltage as required by the ANSI standard.

Fault Impedance
The fault impedance is defined as the reactance and resistance of the fault itself (i.e. the
impedance of the arc or of the shortening path).

Consider Transformer Taps


The ANSI standard optionally allows the current tap positions of the transformers to be
considered. This can be selected here.

NACD Mode
The NACD factor is the ratio of remote current contribution and the total fault current:
NACD = Iremote/Ifault. This NACD factor is used to calculate the breaker currents, includ-
ing the DC component of the current. The remote current contribution required to evalu-

14 - 11
DIgSILENT PowerFactory Short-Circuit Calculations

ate the NACD factor is the sum of all remote generator contribution (induction generators,
synchronous machines, external grids).
The calculation of the NACD factor may be very time consuming, as the contribution of
each generator is calculated one by one. Therefore different approximative methods can
be selected, which represent the most common interpretations of the ANSI Standards:
predominant The the NACD factor is calculated. If the resulting factor is greater as or
equal to 0.5, then the "dc decay only'' curve is used, which means that
the remote generation is higher than the local generation.
interpolated The NACD factor is calculated and the correction factor for the
asymmetrical fault current is interpolated between the "dc decay only"
and "AC/DC decay" curves with the following equation:
MF = AC/DC factor + (DC factor - AC/DC factor)*NACD
If (NACD = 1) then only the DC factor is used, if (NACD = 0) then only
the AC/DC factor is used.
all remote All contributions are set to remote, the NACD factor is not calculated
but assumed equal to 1 and only the "DC decay only'' curve is used.
all local All contributions are set to local the NACD factor is not calculated but
assumed equal to 0 and only the "AC/DC decay" curve is used.

Current/Voltages for
The calculation mode for the currents and voltages to be evaluated:
LV/Momentary
Evaluates the subtransient S/C currents.
LV/Interrupting
Evaluates the breaker currents
30 Cycle Evaluates the 30-cycle (steady-state) current.

14 - 12
DIgSILENT PowerFactory Short-Circuit Calculations

14.6.6 Advanced Options (ANSI C37 Method)

Fig. 14.7: ANSI calculation - Advanced Options

Calculate
This option is used to select the various currents according to the ANSI standard, which
are to be calculated.
• Momentary Current
• Interrupting Current
• 30 Cycle Current
• Low-Voltage Current

Bypass Series Capacitance


Series capacitances may not be considered for the ANSI short-circuit calculation. They
may be always considered, always bypassed/neglected or this option may be set depend-
ing on the type of short-circuit calculated.
The available options are:
• No bypassing
• All currents
• LV & interrupting & 30 cycle current

14 - 13
DIgSILENT PowerFactory Short-Circuit Calculations

• 30 cycle currents

Consider Protection Devices


This option will calculate measured currents for all protection devices and will evaluate
tripping times. This option can be disabled to increase the calculation speed when protec-
tion devices do not need to be analyses.

Calculate max. Branch Currents = Busbar Currents


This option is used to check the rating of the circuit breakers against the system breaker
currents. Normally the breaker currents are calculated as max{Ibus-Ibranch, Ibranch}. If
this option is activated, the busbar short-circuit current is used as the breaker current,
which in fact is an over-estimation of the currents.

14.6.7 Basic Options (Complete Method)

Fig. 14.8: Complete method - Basic Options

As opposed to the calculation methods according to IEC/VDE and ANSI, which represent
approximative approaches of the correct short-circuit currents, the complete method
evaluates the accurate currents. It takes into account the precise conditions right before
the fault and treats the short-circuit problem as a special case of the load-flow calculation.

14 - 14
DIgSILENT PowerFactory Short-Circuit Calculations

Load-Flow
As the complete method considers the pre-fault condition in the system, it has to evaluate
a load-flow. The load-flow command (setup) initially is taken from the currently active

study case. To modify the settings, the button should be pressed.

Fault Impedance
The fault impedance is defined as the reactance and resistance of the fault itself (i.e. the
impedance of the arc or of the shortening path).

Short-Circuit Duration
The value for the Breaker Time is used to calculate the breaking current of a circuit break-
er. The value for the Fault Clearing Time (Ith) is required for the equivalent thermal cur-
rent.

14.6.8 Advanced Options (Complete Method)

Fig. 14.9: Complete method - Advanced Options

Decaying Aperiodic Component


Allows for the calculation of the DC current component for which the decaying time has
to be given. As proposed by the IEC/VDE standard, the methods B, C and C' can be se-
lected.

14 - 15
DIgSILENT PowerFactory Short-Circuit Calculations

Use Generator Impedances


Using this option it can be selected from which time domain the generator impedances
should be used. The possible choices are:
• subtransient
• transient

Calculate Ik
The steady state short-circuit currents can be calculated with different ways of consider-
ing asynchronous motor contributions:
Without Motors
will disconnect all asynchronous motors before calculating the current
Ik.
DIgSILENT Method
will consider all asynchronous motors by their breaker current. The
breaker opens after the maximum possible time.
Ignore Motor Contributions
will consider asynchronous motor impedances during the calculation,
but will reduce the calculated results for the motor currents.

Thermal Ith and Short-Circuit Breaking Current Ib


Values like the thermal current Ith and the breaker current Ib will only be roughly estimat-
ed in the complete method. The thermal current Ith is approximated as I"k. The breaker
current Ib is evaluated according to IEC method. The correct evaluation of these values
is only done when using the IEC calculation method.

Consider Protection Devices


This option will calculate measured currents for all protection devices and will evaluate
tripping times. This option can be disabled to increase the calculation speed when protec-
tion devices do not need to be analyzed.

Calculate max. Branch Currents = Busbar Currents


This option is used to check the rating of the circuit breakers against the system breaker
currents. Normally the breaker currents are calculated as max{Ibus-Ibranch, Ibranch}. If this
option is activated, the busbar short-circuit current is used as the breaker current, which
in fact is an over-estimation of the currents.

14.7 Technical Background


Apart from the load-flow calculation, short-circuit analysis is the most frequently used cal-
culation function when dealing with electrical networks. It is used in system planning as
well as system operations (see the figure 14.10).

14 - 16
DIgSILENT PowerFactory Short-Circuit Calculations

Fig. 14.10: Areas of application for short-circuit calculations

Applications in system planning are for example:


• Ensuring that the defined short-circuit capacity of equipment is not exceeded with
system expansion and system strengthening.
• Co-ordination of protective equipment (Fuses, over-current and distance relays).
• Dimensioning of earth grounding systems
• Verification of sufficient fault level capacities at load points (e.g. uneven loads like arc
furnaces, thyristor-driven variable speed drives or dispersed generation).
• Verification of admissible thermal limits of cables and transmission lines.
Applications in system operations are for example:
• Ensuring that short-circuit limits are not exceeded when changing the system
configuration
• Determining protective relay settings as well as fuse sizing
• Calculation of fault location for protective relays, which store fault disturbance
recordings.
• Analysis of system faults, e.g. mal-operation of protection equipment.
• Analysis of possible mutual interference of parallel lines during system faults.
The fundamental difference for the calculation assumptions is that for system planning
studies the system operating conditions are not yet known, and therefore estimates are
necessary. For this purpose the method of the equivalent voltage source at the fault lo-
cation has generally become accepted in Western Europe according to IEC 909 (VDE
0102). A revised version of this was published as IEC 60909 in July 2001. This method
works independent of the load-flow of a system. It is based on the nominal and/or calcu-
lated dimensions of the operating plant of a system and uses correction factors for volt-
ages and impedances, to 'push' the results towards the safe side. For the calculation of
minimum and maximum short-circuit currents, different correction factors are applied.
For short-circuit calculations in a system operation environment the exact network oper-
ating conditions are well known. If the accuracy of the calculation according to IEC 60909

14 - 17
DIgSILENT PowerFactory Short-Circuit Calculations

is not sufficient - or to verify the results of this method - the superposition method can
be used. It calculates the expected short-circuit currents in the network on the basis of
the existing network operating condition. If the system models are correct, the results
from this method are always more exact than the results of the method according to IEC
60909. The system analyst is, however, responsible that he has chosen the most un-
favourable conditions with respect to the sizing of plant. In individual cases, this might
result in extensive studies required.

14.7.1 The Complete Method

Fig. 14.11: Illustration of the complete method (superposition method)

The superposition method is (in terms of system modeling) an accurate calculation meth-
od. The fault currents of the short-circuit are determined by overlaying the healthy load-
flow condition before short-circuit inception with a condition where all voltage supplies
are set to zero and the negative operating voltage is connected at the fault location. The
procedure is shown in the figure 14.11.

14 - 18
DIgSILENT PowerFactory Short-Circuit Calculations

The initial point is the operating condition of the system before short-circuit inception (see
the figure 14.11 a). This condition represents the excitation conditions of the generators,
the tap positions of regulated transformers and the breaker/switching status reflecting the
operational scheme.
From these pre-fault conditions the pre-fault busbar voltage of the faulted busbar can be
calculated. For the pure fault condition the system condition is calculated for the situation
where, the negative pre-fault busbar voltage for the faulted bus is connected at the fault
location and all other sources / generators are set to zero (see the figure 14.11 b).
Since network impedances are assumed to be linear, the system condition after fault in-
ception can be determined by overlaying (complex adding) both the pre-fault and pure
fault conditions (see the figure 14.11 c).As the complete method is a superposition of two
special cases for the load-flow, the data necessary for the model network elements are
exactly the same as for the load-flow calculation.

14.7.2 The Method of IEC 60909/VDE 0102 Standard


(Equivalent Voltage Source)

Deriving the IEC Method from the Complete Method


Similar to the explanation of the complete method, the IEC/VDE method is described in
the figure 14.12.
The method of the equivalent voltage source at the faulted bus is a simplification of the
superposition method with the goal of accomplishing a close-to-reality short-circuit calcu-
lation without the need for the preceding load-flow calculation and the associated defini-
tion of actual operating conditions. The figure 14.12 shows, how the method of the
equivalent voltage source can be derived from the superposition method. The steps a to
c are very similar, however a simplified network model is used.
In comparison, the main simplifications in comparison to the superposition method are
the following:
• Nominal conditions are assumed for the whole network, i.e. Ui = Un,i.
• Load currents are neglected, i.e. IOp = 0.
• A simplified simulation network is used, i.e. loads are not considered in the positive
and negative sequence network.
• To ensure that the results are estimated on the safe side, a correction factor c is
applied to the voltage at the faulted busbar. This factor differs for the calculation of
the maximum and the minimum short-circuit current of a network.
The short-circuit calculation based on these simplifications proves not to be sufficient for
the practical applications. Therefore additional impedance correction factors are applied
to the physical impedances of the network elements. The idea behind is discussed in the
next section.

14 - 19
DIgSILENT PowerFactory Short-Circuit Calculations

Fig. 14.12: Illustration of the method according to IEC/VDE

The IEC Impedance Correction Factors


The IEC method uses only the rated parameters of network elements. The advantage is,
that only little information is necessary to perform a S/C calculation. But as e.g the S/C
contribution of a synchronous generator depends significantly on the excitation voltage
and on the unit transformer tap changer position, the worst-case value of this impedance
is considered by applying a correction factor (< 1).
This idea is shown in the figure 14.13. The correction Factor K should be determined so
that I”k = I”k,IEC. The standard defines an equation for the correction factor applying to
each element type.

Fig. 14.13: Impedance correction (IEC/VDE) in principle

14 - 20
DIgSILENT PowerFactory Short-Circuit Calculations

As the IEC standard includes a worst-case estimation for minimum and maximum S/C cur-
rents, some elements require additional data. The mainly affected elements are:
Lines In their type the maximum admissible conductor temperature (for min.
S/C currents) has to be indicated. Line capacitances are not considered
in positive/negative sequence system, but must be used in the zero-
sequence system.
Transformers They require a flag if they are unit or network transformers. Network
transformers may be assigned additional information about operational
limits which is used for a more precise calculation of the impedance
correction factor. Unit transformers are treated different if having a on-
load or a no-load tap changer.
Synchronous Machines
Subtransient impedances are used, besides that information about the
voltage range must be given.
Asynchronous Machines
The ratio of starting current to rated current is used to determine the
S/C impedance.
Please see the standard IEC 60909 to find detailed information about the specific model
and the correction factors of each element.

14 - 21
DIgSILENT PowerFactory Short-Circuit Calculations

14 - 22
DIgSILENT PowerFactory Protection

Chapter 15
Protection

The PowerFactory protection modeling features have been implemented with the fol-
lowing philosophy in mind.
• The protection modeling should be as realistic as possible
• The user must be able to create new complex protection devices or alter existing ones
• Although the protection models may show high complexity, their use must be kept
easy
• All protection models will act on switches.
These specifications led to the following principles.
• A fuse is modeled as a time-overcurrent relay acting on a switch
• A distinction is made between defining or altering new relay models, which is
described in the Technical References, and the use of those models, which is
described in this chapter.

15.1 Creating a Protection Device


Protection devices are normally stored in the object which they act upon, but they may
be stored elsewhere when needed. Recommended, and by default, is that
• protection devices which act upon a single switch are stored in the cubicle which
contains that switch (highly recommended)
• protection devices which act upon two or more switches connected to the same
busbar are stored in that busbar
• protection devices which act upon two or more switches connected to the same
busbar system, are stored in the station containing that busbar system
• protection devices which act upon switches connected to more than one busbar
system are stored in the station containing those busbar systems, or in the power
system grid folder if more than one station is involved
As a rule, the relay is best stored in the same folder as the voltage and/or current trans-
formers which it uses.
Editing or creating protection devices in a cubicle can be done in several ways:
• by right-clicking a switch-symbol in the single line graphic. This will bring a pop up
menu with the options Edit Protection Devices and New Protection Devices
• by editing the object which is connected to the cubicle (line, transformer, load, etc.)

and pressing the button at the cubicle field. See the figure 15.1 for example. The

15 - 1
DIgSILENT PowerFactory Protection

option Edit Relays will bring a list of all protection devices in the cubicle. New devices
may be then created with the icon.

Fig. 15.1: Editing line protection devices

In all cases, selecting the option to create a new protection device will bring a list with
the following options:
• Relay Model (ElmRelay)
• Fuse (RelFuse)
• Current Transformer (StaCt)
• Voltage Transformer (StaVt)
Each of these options will open a dialogue to specify the device that is to be created or
to select the one that is to be edited.

15.1.1 Example: a Time-Overcurrent Relay


Protection devices form a group of highly complex and non-uniform power system devic-
es. This places any program for modeling them for a difficult dilemma. On the one hand,
the relay models should be as flexible and versatile as possible, to ensure that all types
of protection relays can be modeled with all of their features. On the other hand, the relay
models should be as simple as possible in order to reduce the amount of work and knowl-
edge needed to define power system protection devices.
This dilemma is solved by PowerFactory by separating the process of definition a pro-
tection type definition from the process of creating a specific protection element. Al-
though the definition of a new protection type asks for a good understanding of composite
frames, DSL, time overcurrent plot definitions, etc., the use of a protection element is
more or less a 'take of the shelf' process.
This separation between defining new or using existing relay types led to the global relay
object hierarchy as shown in the figure 15.2.

15 - 2
DIgSILENT PowerFactory Protection

Fig. 15.2: Global relay object hierarchy

The relay frame is a graphically defined composite frame which defines the functional
parts of the relay and their connections. The relay frame can be compared with an empty
printed circuit board.
The relay type is based on the relay frame and defines the type of parts which are allowed
to be put in the relay slots. The relay type can be compared with a printed circuit board
with specific, but still empty, chip or relay sockets.
The relay itself models a specific protection element, based on the relay frame and the
relay type. The relay model uses specific functional elements where the relay type defines
only the allowed type of elements. These specific elements must be based on those ele-
ment types. The relay object can be compared with a finished printed circuit board, where
specific relays and chips have been inserted in the sockets.
The figure 15.2 also shows that most of the work of defining a protection device is done
by the Relay Type Designer. A large set of common relays types is available in the data-
base and these types are ready for use.
How to use a relay type, that is: how to create a relay element, how to add it to the power
system, how to adjust the relay settings, how to perform calculations, etc., is shown by
the example of a simple time-overcurrent relay. This relay measures the currents in three
phases, but calculates a single maximum current Imax. The relay trips a breaker when
Imax violates either the time-overcurrent or the instantaneous overcurrent conditions.

15 - 3
DIgSILENT PowerFactory Protection

The Relay Frame


The example relay frame is shown in the figure 15.3. This is not a symbolic representation
of the relay, but the selected composite frame which defines the relay type. The design
of these relay frames is described in the Technical References manual. The block dia-
gram is only shown here to explain the example relay.

Fig. 15.3: Composite frame of a time-overcurrent relay

In the relay frame, the following slots can be distinguished:


• A current transformer slot (StaCt), which outputs are the real and imaginary parts of
the three phase currents (IrA, IiA, IrB, etc.) and the real and imaginary parts of the
zero sequence current (I0x3r,I0x3i).
• A measurement unit slot (RelMeasure), which output is Imax, which is the
maximum of the three phase currents.
• A slot for a time-overcurrent relay unit (RelToc) and one for an instantaneous
overcurrent relay unit (RelIoc), with the tripping signals as outputs.
• A logic unit slot (RelLogic), which combines the tripping signals in a logical way to
produce a single tripping signal.

The Relay Type


The example relay type that is defined on the basis of the time-overcurrent relay frame
is shown in the figure 15.4.

15 - 4
DIgSILENT PowerFactory Protection

Fig. 15.4: The relay type dialogue

The "Relay Definition'' field points to the relay frame. The slot definition list will automat-
ically show all slots defined by that relay frame. In the example, these are the five slots
described in the previous section. The "Category'' field is only used to help selecting a
relay type.
An object type is normally selected for each slot, except for the slots for the current and
voltage transformers. A relay based on the relay type may not use elements other than
such which are based on the given object types. The fact that, in the example, no type is
specified for the current transformer, means that all current transformers may be used.
Normally, relay types are only selected but not changed or edited. The PowerFactory
relay database offers a wide variety of relay types.

Creating a Relay Model


This is where we leave the domain of the relay designer enter that of the relay user. As
soon as a new relay is inserted in the power system, which is normally done by right-click-
ing a switch and selecting New Protection Device - Relay Model, an empty relay model
(ElmRelay) appears. The example relay model is depicted in the figure 15.5.

15 - 5
DIgSILENT PowerFactory Protection

Fig. 15.5: Relay model dialogue

The relay model has a reference to a relay type, a location, a device number and a list of
slots. The location is normally set automatically when a relay is defined in the single line
graphic by right-clicking a cubicle. The cubicle then defines the location. The device num-
ber is only relevant for the device documentation. The slot list is defined by the relay type.
As is shown in the figure 15.5, the relay model should define objects for all the slots in
the relay type. Each of these 'slot elements' must use the corresponding 'slot type', when
such a type is defined in the relay type.
Luckily, the tedious work of creating the correct elements, selecting the correct type and
assigning the element to the correct slot, is performed by the relay element itself.
The whole process of creating a specific relay model thus only asks for selecting a relay
type from the database. What follows then can best be compared by an automatic assem-
bly process:
• as soon as a new relay type is selected, the slot definition list is updated
• all slot elements for which a slot type has been defined will be created automatically.
No elements will be created for those slots for which no slot type has been defined.
Normally, these are only the voltage and current transformer slots. However, if
already existing and valid objects are found in the relay model or the cubicle in which
it resides, they will be assigned to the slots automatically.
• the created slot elements are inserted in the slot definition list
The result is a new and complete relay model with all slots filled (except maybe for the
transformer slots). Of course, all relay settings are still set to their default values.

15 - 6
DIgSILENT PowerFactory Protection

All slot elements created by the relay model are stored in the relay model itself. The figure
15.6 shows the database tree with the example relay model.

Fig. 15.6: Example relay model with slot elements

The current transformer in the example is not stored in the relay model but in the cubicle.
When, again, a new relay type is selected, the slot elements created for the previous relay
type will in most cases not be suited for the new type. However, the 'automatic assembly
process' will try to reuse as much data as possible from the old settings:
• Slot elements that are also suited for the new rely type will be reused as they are
• Slot elements which are correct except for their type will be assigned the correct slot
type
• Slot elements which cannot be reused will be deleted
• Missing slot elements will be created automatically
Pressing the Cancel button after the Relay Type has been changed will not re-
store the old slot elements.
Normally, the relay type will not define any current and/or voltage transformer types. The
corresponding transformer element will thus not be created automatically. However, if
these measurement transformers were created prior to creating the relay element, they
will be assigned to the correct slot automatically. This is the recommended practice. If the
measurement transformers were not created yet, they may be created by pressing the
Create VT or Create CT buttons. That will create a new transformer in the cubicle were
the relay element is stored.

15.1.2 Editing the Relay Elements


After a relay element has been defined and all slot elements have been created, the ed-
iting of the relay settings may be started by editing the slot elements.
In the example settings have to be enter for
• The CT "Current Transformer 0''
• The Measurement object "Measurement''
• The time overcurrent relay "Toc''
• The instantaneous overcurrent relay "Ioc''
• The logic object "Logic''

15 - 7
DIgSILENT PowerFactory Protection

For the current transformer, the tap settings and the connection type have to be selected.
The possible tap range is limited by the type. See the figure 15.7.

Fig. 15.7: A current transformer dialogue

The measurement object only needs the Nominal Current and Nominal Voltage. Their
range is limited by the measurement type. The nominal values are only needed if the relay
uses p.u. values. In the example, the measurement object needs no data at all. See the
figure 15.8.

Fig. 15.8: A measurement object

The time overcurrent relay allows for setting


• The time overcurrent characteristic
• The pickup current

15 - 8
DIgSILENT PowerFactory Protection

• The time dial


All three settings are limited by the relay type: only those characteristics available for this
type of relay can be selected and not every possible values for the pickup current or time
dial may be entered. See the figure 15.9.

Fig. 15.9: A time overcurrent relay

The instantaneous overcurrent relay allows for setting the pickup current. See the figure
15.10.

Fig. 15.10: An instantaneous overcurrent relay

The logic unit dialogue shows a list of all switches that will be opened as soon as the logic
unit trips. The logic unit combines the tripping signals of the sub relays (the Toc and Ioc
relays in this example), in an AND/OR expression (Toc OR Ioc in this example). All switch-

15 - 9
DIgSILENT PowerFactory Protection

es in the list will be opened. If the relay to which the logic unit belongs is stored in a cu-
bicle, the three-phase breaker in that cubicle will be opened by default if no switches are
been specified. See the figure 15.11.

Fig. 15.11: A logic relay object

15.2 Basic Protection Devices


As has been explained in the introduction of this chapter, the whole hierarchy of objects
that is used to build protection devices can be divided into
• objects which are needed to define new types of protection devices
• objects which are needed to define specific relay models.
The first group of objects are treated in detail in the Technical References manual. The
second group of objects are treated in this section.

15.2.1 The Current Transformer


A new current transformer (CT) can be created by right-clicking a cubicle in the single line
diagram and selecting "New Protection Device - Current Transformer''. The dialogue as
depicted in the figure 15.12 will then pop up.

15 - 10
DIgSILENT PowerFactory Protection

Fig. 15.12: The Current Transformer dialogue

A thus created CT will be stored in the cubicle that was right-clicked. The "Location'' fields
"Busbar'' and "Branch'' will be set automatically in that case.
A current transformer always needs a current transformer type.
The top "Location'' field is used either
• to select a cubicle when the CT is created from outside the cubicle,
• to select the preceding CT in the case of an auxiliary CT.
After selecting the type and the setting of the current transformer, its set ratio is shown
in the dialogue (Ratio). In very special cases CTs may be connected in series, that is the
output of one CT is used as the input of the second CT. In this application the second CT
will show a Ratio (the actual ratio of the CT) and a Complete Ratio, (the ratio between
the primary branch flow and the secondary CT current, which is the overall ratio of all CTs
connected in series). In the example of the figure 15.12, the CT is directly connected to
the primary component (which is the standard) and both Ratio and Complete Ratio show
the same value of 1000 A to 1 A.
The primary connection type is only available in the case of an auxiliary CT. The number
of phases can be set to 3, 2 or 1. For a 3- or 2-phase CT, the secondary connection type
can be set to D or Y. For a 1-phase CT, the phase can be set to
• a, b or c phase current
• N = 3*I0
• I0 = I0
The primary and secondary tap settings are limited to the values defined in the current

15 - 11
DIgSILENT PowerFactory Protection

transformer type.

The Current Transformer Type


The current transformer type dialogue, as depicted in the figure 15.13, defines the single
phases of a CT. The information about the connection of these phases (Y or D) is defined
in the CT element that uses the CT type.

Fig. 15.13: The Current Transformer Type dialogue

The current transformer type defines the primary and secondary taps of the transformer.
The "Additional Data page'' is used only when saturation is considered, to set the accuracy
parameters:
• The accuracy class
• The accuracy limit factor
• either
- The apparent power (acc. to IEC)
- The burden impedance (ANSI-C)
- The voltage at the acc. limit (ANSI-C)

15.2.2 The Voltage Transformer


A new voltage transformer (VT) can be created by right-clicking a cubicle in the single line
diagram and selecting "New Protection Device - Voltage Transformer''. The dialogue as
depicted in the figure 15.14 will then pop up.

15 - 12
DIgSILENT PowerFactory Protection

Fig. 15.14: The Voltage Transformer dialogue

A thus created current transformer will be stored in the cubicle that was right-clicked.
A voltage transformer always needs a voltage transformer type.
The "Location'' field is used either
• to select a cubicle when the VT is created from outside the cubicle
• to select the preceding VT in the case of an auxiliary VT
After selecting the type and the setting of the current transformer, its set ratio is shown
in the dialogue (Ratio). In the example of figure 15.14, the shown VT has a ratio of 5000
V to 100 V.
The primary winding is defined by selecting a tap and a connection type. The available
tap range is defined in the voltage transformer type.
The secondary winding is defined by the secondary winding type, the tap setting and the
connection type. The available tap range is defined in the secondary winding type. A volt-
age transformer requires at least one secondary winding. More windings can be defined
by pressing the button Additional Secondary Windings. This will bring a list of all
previously defined secondary windings. New windings can be created by pressing the
icon.
The connection type "O'' for the secondary windings is the "Open Delta'' connection, as
depicted in the figure 15.15.

15 - 13
DIgSILENT PowerFactory Protection

Fig. 15.15: The open delta (O) winding connection

The connection type "V'' for the primary and secondary windings is depicted in the figure
15.16. Selecting a "V'' connection for the primary winding automatically sets the second-
ary winding to a "V'' too.

Fig. 15.16: The "V'' winding connection

The VT Secondary Winding


A secondary winding element is needed when a voltage transformer with two or more sec-
ondary windings has to be modeled. The edit dialogue for the voltage transformer pro-
vides parameters to define the first secondary winding.

Fig. 15.17: The VT secondary winding dialogue

15 - 14
DIgSILENT PowerFactory Protection

The secondary winding element requires a type and a reference to the voltage transform-
er. The tap settings range is defined by the windings type.

The VT Secondary Winding Type


The secondary winding type, as depicted in the figure 15.8, defines the burden and tap
range for one phase of a voltage transformer. The phase connection type (Y, D, etc.) is
defined in the secondary winding element.

Fig. 15.18: The VT secondary winding type dialogue

The secondary tap settings defined in the secondary winding type determine the available
tabs for the secondary winding element.

The Voltage Transformer Type


The voltage transformer type, as depicted in the figure 15.19 defines the primary winding
of the voltage transformer.

15 - 15
DIgSILENT PowerFactory Protection

Fig. 15.19: The voltage transformer type dialogue

The secondary windings are defined in the voltage transformer element.

15.2.3 The Relay Model


The relay model (ElmRelay) is a general 'frame-object' which consists of a relay frame
with slots and one or more elements which occupy those slots. All protection relays, ex-
cept for the fuse models, are modeled as relay models.

15 - 16
DIgSILENT PowerFactory Protection

Fig. 15.20: The relay model dialogue

The relay element is defined by selecting a relay type. The relay type defines the relay
frame and the slot types which may be used with that frame. After a relay type has been
selected, the "Slot Definition'' list will be filled automatically with the correct slot elements.
The current and voltage transformers, however, are not created automatically, although
available CT's and VT's are selected automatically.
Editing the settings of the relay model is done by editing the settings of the listed slot
elements. Double-clicking a slot element in the "Slot Definition'' list will open the dialogue
of that element.

15.2.4 Directional Relay


The directional relay cannot be used 'as-is', but is always a part of a relay model. For more
information about relay models, see 15.2.3 (The Relay Model)
The directional relay calculates the angle between a 'polarization' voltage or current and
an 'operating' current. The polarization current or voltage is rotated to the amount of the
expected angle first. The relay trips if the remaining angle is smaller than 90° and if both
the polarization and the operating voltage/currents are large enough. This principle is
shown in the figure 15.21.

15 - 17
DIgSILENT PowerFactory Protection

Fig. 15.21: Directional relay principle diagram

The polarization quantity Apol is rotated over the angle MT, which is the "Max. Torque An-
gle'' set in the relay edit dialogue. The rotated polarization quantity A'pol defines a half
plane which forms the first tripping condition. Further conditions are the projection of the
operating quantity on A'pol, which must be larger than the operating current setting, and
the polarization quantity, which must be larger than the polarization setting. More details
about the polarization methods and the tripping conditions can be found in the basic
Technical References manual.
The choice for the type of operating and polarization quantity is made in the Directional
Relay Type object. The relay object itself allows for the setting of the tripping direction,
the polarization method when both methods (voltage and current) are available, and the
polarization criteria. See the figure 15.22.

Fig. 15.22: Directional relay

Selecting a 'Reverse Tripping Direction' will invert the used operating current. The voltage
or current polarization allow for setting the "Operating Current'', the "Polarization Voltage/

15 - 18
DIgSILENT PowerFactory Protection

Current'' and the "Max.Torque Angle''.

15.2.5 The Frequency Measurement Unit


The frequency measurement unit cannot be used 'as-is', but is always a part of a relay
model. For more information about relay models, see 15.2.3 (The Relay Model)).
The frequency measurement unit is used to calculate the electrical frequency for the given
"Measured Voltage''.

Fig. 15.23: Frequency Measurement

The Nominal Voltage is needed for per unit calculations. The Frequency Measurement
Time defines the time used for calculating the frequency gradient.

15.2.6 The Frequency Relay


The frequency relay cannot be used 'as-is', but is always a part of a relay model. For more
information about relay models, see 15.2.3 (The Relay Model).
The frequency relay either trips on an absolute under-frequency (in Hz), or on a frequency
gradient (in Hz/s). Which condition is used depends on the selected relay type. The relay
type also defines the reset time, during which the frequency condition must be met again
for the relay to reset.
The time delay set in the relay element defines the time during which the frequency con-
dition must be violated for the relay to trip. See the figure 15.24.

15 - 19
DIgSILENT PowerFactory Protection

Fig. 15.24: Frequency

15.2.7 The Fuse Model


The fuse model is implemented as a special instantaneous overcurrent relay which does
not need a current transformer. A fuse is always located in a cubicle and will trip the phase
which current exceeds the melt curve. Optionally, all three phases will be tripped if one
of the phase currents exceeds the melt curve.

Fig. 15.25: The Fuse model dialogue

The calculation of the trip time is either based on the minimum melt curve or on the total
clear curve. An example of these curves are shown in the figure 15.26.

15 - 20
DIgSILENT PowerFactory Protection

Fig. 15.26: Fuse melt characteristics

15.2.8 The Instantaneous Overcurrent Relay


The instantaneous overcurrent relay cannot be used 'as-is', but is always a part of a relay
model. For more information about relay models, see the reference documents).
The instantaneous overcurrent relay allows for the setting of the pickup current and the
time dial. Both entries are limited by the relay type. See the figure 15.27.

Fig. 15.27: Instantaneous Overcurrent

The instantaneous overcurrent relay is a combination of a direct overcurrent relay and an


optional time delay. The pickup time Ts is the minimum time needed for the relay to react.
Additionally, a time dial Tset may be specified. The relay will not trip unless the current
exceeds the pickup current Tsetr for at least Ts+Tset. See the figure 15.28.

15 - 21
DIgSILENT PowerFactory Protection

Fig. 15.28: Instantaneous overcurrent tripping area

The relay will not reset until the current drops under the reset level, which is specified by
the relay type in percent of the pickup current: Ireset=IpsetKr/100%. See the figure
15.29 for a typical timing diagram.

Fig. 15.29: Instantaneous overcurrent timing diagram

15.2.9 The Logic Unit


The logic unit is the front end part of a relay configuration. It combines all internal trigger
signals by successive AND and OR operations and produces one single output. The logic
unit type specifies the logical operation, the logic unit itself specifies the switches which
will be opened when the relay trips. See the figure 15.30.

15 - 22
DIgSILENT PowerFactory Protection

Fig. 15.30: Relay logic

If the relay is located in a cubicle and no switch has been specified, the breaker in the
cubicle will be opened by default.

15.2.10 The Measurement Unit


The measurement unit uses the 'raw' signals produces by the current or voltage trans-
formers to calculate 'measured signals'. Which signals are being calculated depends on
the measurement unit type.
The measurement unit allows for setting the nominal current and voltage. Both are limited
by the measurement unit type. If a relay does not need a nominal voltage (i.e. in the case
of an overcurrent relay), the nominal voltage field will normally be disabled.

Fig. 15.31: Measurement

15 - 23
DIgSILENT PowerFactory Protection

15.2.11 The Time Overcurrent Relay


The time-overcurrent relay cannot be used 'as-is', but is always a part of a relay model.
For more information about relay models, see 15.2.3 (The Relay Model).
The time-overcurrent relay allows for the selection of one of the I-t curves ('characteris-
tic') which are available for the selected relay type. The I-t curve is further specified by
the pickup current and the time dial. Both values must be in the range specified by the I-
t curve definition. See the figure 15.32 for an example.

Fig. 15.32: The time overcurrent relay dialogue

The time dial settings will scale the I-t curve in the Time vs. I/Ip plot, according to the
curve definition. See the figure 15.33 for example.

15 - 24
DIgSILENT PowerFactory Protection

Fig. 15.33: I-t curves for different time dials

The pickup current defines the nominal value Ip which is used to calculate the tripping
time. The I-t curve definition states a minimum and a maximum per unit current. Lower
currents will not trip the relay (infinite tripping time), higher currents will not decrease the
tripping time any further. These limits are shown in the figure 15.34.

Fig. 15.34: I-t curve limits

The pickup current may be defined by the relay type to be a per unit value, or a relay
current. The nominal current defined by the measurement unit (see 15.2.10 (The Mea-
surement Unit)) is used to calculate Ip in the case of a per unit value. The relay current
value already equals Ip.
Altering the pickup current will thus not change the I-t curve, but will scale the measured
current to different per unit values. The following example may illustrate this:
• Suppose the minimum current defined by the I-t curve is imin=1.1 I/Ip.
• Suppose the measurement unit defines Inom=5.0 rel.A.

15 - 25
DIgSILENT PowerFactory Protection

• Suppose pickup current Ipset=1.5 p.u.


−> relay will not trip for I<1.1*1.5*5.0 rel.A = 8.25 rel.A
• Suppose pickup current Ipset=10.0 rel.A
−> relay will not trip for I<1.1*10.0 rel.A = 11.0 rel.A

15.2.12 Under-/Overvoltage Relay


The under- or overvoltage relay cannot be used 'as-is', but is always a part of a relay mod-
el. For more information about relay models, see 15.2.3 (The Relay Model).
The under-/overvoltage relay type may define the relay to trip on either
• Either one of the three phase line to line voltages
• One particular line to line voltage
• The ground voltage U0.
• The positive sequence voltage U1
• The negative sequence voltage U2
The relay element allows only for setting the pickup voltage and the time delay. See the
figure 15.35.

Fig. 15.35: Under-/Overvoltage

15.3 Path Definitions


A path in a single line diagram is defined by selecting a chain of two or more busbars or
terminals and inter-connecting objects. The pop-up menu which opens when the selection
is right-clicked will show a Path... option. This menu option has the following sub-options:
New this option will create a new path definition
Edit this option is enabled when an existing path is right-clicked. It opens a
dialogue to alter the color and direction of the path
Add To this option will add the selected objects to a path definition. The end or
start of the selected path must include the end or start of an existing
path.

15 - 26
DIgSILENT PowerFactory Protection

Remove Partly This will remove the selected objects from a path definition, as long as
the remaining path is not broken in pieces
Remove This will remove the firstly found path definition of which at least one of
the selected objects is a member
Editing, adding objects to or removing objects from path definition is only possible when
the option coloring "Path Definitions'' was chosen in the Color Representation of Graphic
dialogue (SetColgr). This dialogue is opened by pressing the icon on the graphics
toolbar.
A path may be used as a selection for a calculation by selecting one or more objects from
the path definition. This will select the whole path.

15.4 Protection Analysis Results

15.4.1 Reports

The icon "Output Calculation Analysis'' ( ) in the main menu, will open the "Output''
dialogue (ComSh). The results of the load-flow or short-circuit analysis, for a range of
relays, can be generated in the output by selecting the options
• Results
• Relays
To generate a report for one or more relays, or for one or more previously defined paths,
the data manager may be used to select one or more relays or paths and right-clicking
the selection. The menu will show the option Output-Results if at least one relay was
found amongst the selected objects or in one of the selected paths. If a busbar was se-
lected, then all relays in connection with that busbar are selected too.

15.4.2 Results in Single Line Graph


The names of the relays or the tripping times may be made visible in the single line graph-
ic by selecting the following options in the main menu.
1 Output - Results for Edge Elements - Relays
2 Output - Results for Edge Elements - Relay Tripping Times
The first option ("Relays''), which is always available, will show the names of the relays
in all cubicles. The second option will show the tripping times of the relays after a load-
flow or short-circuit calculation has been made. If a relays does not trip, then a tripping
time of 9999.99 s is shown.

15.4.3 Plots
The time-overcurrent plots offer many features for displaying the settings of relays and
the results of short-circuit or load-flow calculations.
The time-overcurrent plots may also be used for changing the settings of relays and fuses,
by simply moving the tripping characteristics. Especially the possibility of changing the

15 - 27
DIgSILENT PowerFactory Protection

curves in combination with a short-circuit or load-flow result, and with the help of trans-
former or line damage curves, ensures a clear and comprehensible setting of the relay
parameters.
The following section explains the special features of the time-overcurrent plots.

15.5 Short-Circuit Sweep


The "Short-Circuit Sweep'' command as depicted in the figure 15.36 is used to calculate
a short-circuit sweep along a defined path. Short-circuits are calculated along a given path
and the results at each short-circuit location are written to a Results object. The position
in km relative to the beginning of the path is always written to the results. The sweep
command is used e.g. by the Time-Distance Diagram (see 15.7) to record the trigger
times of distance relays.

Fig. 15.36: The short-circuit sweep dialogue

15.5.1 Options

Path
Short-Circuits are calculated along this path. Path is set automatically and grayed out if
the command is called by the "Time Distance Plot''.

Additional Relays
If the option "Iterate Tripping Times'' on the advanced page is set, the positions where a
relay trips is interpolated and written to the results. The relays whose tripping times are

15 - 28
DIgSILENT PowerFactory Protection

checked are the relays found in the path and, in addition, the relays given by the selection
referenced in "Additional Relays''. Additional relays is grayed out and set if the command
is called by the "Time Distance Diagram''.

Results Frame
The variables written to the results object can either be defined by the user or by the
"Time Distance Diagram''. If the results are defined by the "Time Distance Diagram'' all
"Monitor Variable Sets'' in the results object are ignored. Otherwise the variables found in
the "Monitor Variable Sets'' stored in the results object are written. The result frame is
grayed out if the command is accessed through the time-distance diagram.

Results
Reference to result object, see also Result Frame, grayed out if the sweep dialogue is ac-
cessed through the time-distance diagram.

Locations
A short-circuit is calculated on each busbar/terminal found in the path. If "Buses and
Branches'' is selected short-circuits on the branches between the busbars are calculated.

Short-Circuit Frame
"Command'' is a reference to the short-circuit command. Except the short-circuit location
the short-circuit settings are not changed by the sweep. The type of failure, the method
of calculation and other settings can be modified there. "Calculation'' is just displaying the
"Fault Type'' set in the short-circuit command.

15.5.2 Advanced Options

Step Size
The relay tripping positions in the path can either be iterated or calculated with a contin-
uous step size. In the constant mode a short-circuit is calculated at the beginning of the
branch. The distance between the following short-circuits on the branch is "Continuous
Step Size''. There is always a short-circuit calculated at the end of the branch. In the "It-
erate Tripping Times'' method the relay tripping positions are iterated. If the tripping time
of a relay changes continuously (like overcurrent relays) the sweep changes to continuous
mode automatically. Iteration mode is used again when the tripping time remains un-
changed at the next short-circuit position. The step size frame is grayed out if the com-
mand is accessed by the time-distance diagram.

Precision and Step Size


The "Precision (Steps)'' defines the maximum iteration error at the relay tripping position.
The "Continuous Step Size'' defines the step size for the sweep with constant steps. "Pre-
cision and Step Size'' is unused (hidden) if location is set to buses.

15 - 29
DIgSILENT PowerFactory Protection

15.6 Time-Overcurrent Plot


The plot VisOcplot is showing different relay and fuse characteristics in one time-over-
current plot. Additionally the damage curve and characteristic currents of electrical equip-
ment in the network can easily be shown. This will help to set the relay tripping times and
current settings and the selecting of fuses for a good and thorough protection of the
equipment.
There are several ways to create a time-overcurrent plot (VisOcplot):
• The easiest way to create and show a VisOcplot is to select one switch, where
overcurrent relays or fuses are installed. Right-click the switch to open the context
sensitive menu. This will show the options Create Time-Overcurrent Plot and Add to
Time-Overcurrent Plot. PowerFactory will then create a new diagram showing the
time-overcurrent plot for all relays selected.
• Another way is to right-click an path element and select Path...−> Time-Overcurrent
Plot from the context sensitive menu.
• Also a relay element ElmRelay can be chosen from the list of calculation-relevant
objects or in the data manager. Right-click the relay on the right side of the data
manager or in the list of relays. Then select Show −> Time-Overcurrent Plot to create
a new plot or Show −> Add to Time-Overcurrent Plot to add the characteristic to an
existing plot.
• Additionally other elements like one or more transformers, cables or motors can be
selected and right- clicked. The context sensitive menu will show the options Show −>
Time-Overcurrent Plot to create a new plot and Show −> Add to Time-Overcurrent
Plot to add the characteristic to an existing plot.

Note To show the relay locations and thus to visualize the switches with
relays definitions these can be highlighted by setting the color rep-
resentation of the single-line diagram to "Relay Locations''. By
right-clicking these elements the option Show −> Time-Overcur-
rent Plot is available and can be chosen.

In all these cases, it is also possible to select the option Add to Time-Overcurrent Plot.
This will pop up a list of previously defined over current plots from which one has to be
selected.
The overcurrent plot shows
• the time-overcurrent characteristics of relays
• the damage curves of transformers or lines
• motor starting curves
• the currents calculated by a short-circuit or load-flow analysis and the resulting
tripping times of the relays
See the figure 15.37 for an example.

15 - 30
DIgSILENT PowerFactory Protection

Fig. 15.37: A time-overcurrent plot with short-circuit results

The time-overcurrent plot shows the results of the short-circuit or load-flow analysis as a
vertical 'x-value' line across the graph. Because the currents differ for each particular re-
lay, a current line is drawn for each relay. The intersection of the calculated current with
the time-overcurrent characteristic is labelled with the tripping time. A 'grading margin'
line, which shows the difference between the tripping times, may be added by right-click-
ing the plot and selecting "Show Grading Margins''.
It is also possible to create an user defined 'x-value' by right-clicking the graph and se-
lecting the Set Constant −> x-value option. The vertical line will show the values at the
intersections of all displayed characteristics. To move the line left, drag it with the mouse.

15.6.1 Changing Tripping Characteristics


The time overcurrent plots may also be used to change the relay characteristics graphi-
cally. Because a relay characteristic is normally the minimum of two or more sub-charac-
teristics, it has to be split first in order to change the sub-characteristics.
A characteristic is split by
• right-clicking the characteristic
• enable the split option
The relay characteristics can also be split by opening the edit dialogue of the plot and
enabling the option Split Relay in the table Relay, where all relays are listed.
The sub-characteristics are now visible. Each of them can be left clicked and dragged
along the time-overcurrent plot area. However, they cannot be dragged outside the al-
lowed range which has been defined for the relay type. After the relay sub-characteristics
have been changed, they can be combined again into one single characteristic by dis-
abling the split option again.
The plot option dialogue, which is opened by right-clicking the plot area and selecting Op-
tions, has an option for showing the grading margins when the time overcurrent charac-
teristics are dragged. The grading margin may be set to a fixed time. The grading margins

15 - 31
DIgSILENT PowerFactory Protection

are shown as two lines, plus and minus the grading margin above and below the dragged
tripping characteristic. See the figure 15.38 for an example: the original characteristic is
labelled "1'', the new position as "2'', and the grading margins are labelled "a''.

Fig. 15.38: Moving a characteristic with grading margins

Conductor/Cable Damage Curve


The conductor and cable damage curves are used to evaluate a protection coordination
scheme and as guides for positioning the time-overcurrent characteristics.

15 - 32
DIgSILENT PowerFactory Protection

Fig. 15.39: Conductor/Cable damage curve

To add a damage curve to a time-overcurrent plot, right-click the plot area and select
Add...−> Conductor/Cable Damage Curve.
The Rated Short-Circuit Current and time of the cable can be inserted. Also typical Cable
Parameters for the conductor, insulation factor, K, are given in figures 15.40 and 15.41.
These tables show the temperature range for the cables:
• T1 = maximum operating temperature in º C
• T2 = maximum short-circuit temperature in º C
and the K factor for a cross section in mm2, CM, MCM and inch2.

15 - 33
DIgSILENT PowerFactory Protection

Fig. 15.40: Typical damage parameters for copper conductor cables

Fig. 15.41: Typical damage parameters for aluminium conductor cables

Transformer Damage Curve


The transformer damage curves are used to evaluate a protection coordination scheme
and as guides for positioning the time-overcurrent characteristics.

15 - 34
DIgSILENT PowerFactory Protection

Fig. 15.42: Transformer damage curve

To add an ANSI/IEEE C57.109 damage curve to a time-overcurrent plot, right-click the


plot area and select Add...−> Transformer Damage Curve. An example of a time-overcur-
rent plot with two relay characteristics and a transformer damage curve is shown in the
figure 15.43.

Fig. 15.43: Transformer damage curve

To add the damage curves of specific transformers in the power system, right-click the
transformer object in the single line graphic or the database manager and select the op-
tion Show −> Add to Time-Overcurrent Plot. This will pop up the list of defined overcurrent
plots from which one has to be selected. A damage curve will then be calculated from the
electrical transformer data, according to the ANSI/IEEE C57.109 standard, and added to
the selected time over-current plot.

15 - 35
DIgSILENT PowerFactory Protection

It is also possible to add a two-winding or three-winding transformer object to the graph


manually. This is done by editing the graph and adding the transformer object to the list
of displayed relays.

Motor Start Curve


The motor start curves are used to evaluate a protection coordination scheme and as
guides for positioning the time-overcurrent characteristics.

Fig. 15.44: Motor start curve edit dialogue

The characteristic currents and durations given in the edit dialogue result in a step wise
motor start current plot, as depicted in the figure 15.45.

15 - 36
DIgSILENT PowerFactory Protection

Fig. 15.45: The motor start curve

Overcurrent Plot Settings


The time-overcurrent plot settings can be accessed by selecting the Options from the con-
text-sensitive menu. The dialogue shows the following options:
Current Unit The current unit may be set to either primary or secondary (relay)
ampere.
Show Relays This option is used to display only certain types of relay characteristics.
Recloser Operation
The different recloser stages can be shown simultaneously or switched
off in the diagram.
Display automatically
This option is used to select how the calculated load-flow or short-
circuit currents will be displayed. Either the current lines, the grading
margins, both or none may be selected.
Voltage Reference Axis
More than one current axis may be shown, based on a different voltage
level. All voltage levels found in the path when a time overcurrent plot
is constructed are shown by default. An user defined voltage level may
be added. Optionally, only the user defined voltage level is shown.
Cut Curves at normally the curves of different relay zones cut at the same tripping
current.
Show Grading Margins while Drag&Drop
When dragging the curves up and down resp. right and left, the
grading margins of the curve will be shown according to the margin
entered.

15 - 37
DIgSILENT PowerFactory Protection

Fig. 15.46: Overcurrent Plot Settings

The advanced options are:


Drag & Drop Step Sizes
These are used to set the step change in the relay settings when a
time-overcurrent plot is dragged with a continuous time dial or pickup
current.
Time Range for Step Sizes
Enter the tripping time range for the y-axis.
'Color for Out of Service' Units
The characteristics for units that are out of service are drawn invisible
by default. However, a visible color may be selected.
Brush Style for Fuses
This defines the fill style for fuse curves
Nr. of points per curve
The number of points can be changed to either refine the plotted
curves for more detail, or to speed up the drawing of the diagram.

15.7 The Time-Distance Diagram


The time-distance plot VisPlottz shows the tripping times of the relays depending on the
short-circuit location. It is normally calculated by the short-circuit sweep command. See
short-circuit sweep command (section 15.5) for more information.
It is directly connected to a path definition described in section 15.3 (Path Definitions), so
it can only be created if a path is already defined.

15 - 38
DIgSILENT PowerFactory Protection

Fig. 15.47: A time-distance plot

To create a time-distance diagram:


• The easiest way to create and show a VisPlottz is to right-clicked an element, which
is already added to a path definition. From the context sensitive menu the option
Show −> Time-Distance Diagram can be selected. PowerFactory will then create a
new object VisPlottz showing the time-distance plot for all distance relays in the
path.
• Another way is to right-clicked an path element and select Path...−> Time-Distance
Diagram from the context sensitive menu. Like above this will create a new object
VisPlottz.
• Also path object SetPath can be chosen in the data manager under Database\
Projectname\ Paths. Select the "Paths'' folder and right-click the path object on the
right side of the data manager. Then select Show −> Time-Distance Diagram from the
context sensitive menu.

Note To show the path definition and thus to visualize the elements con-
tained in the path can be highlighted by setting the color represen-

15 - 39
DIgSILENT PowerFactory Protection

tation of the single-line diagram to "Path Definitions''. By right-


clicking these elements the option Show −> Time-Distance Dia-
gram is available and can be chosen.

The time-distance plot in the figure 15.47 is separated in two different diagrams. The for-
ward diagram shows all relays at the beginning of the line in path direction. The reverse
diagram shows the relays at the beginning of the line in reverse path direction. The upper
diagram is in forward direction, the lower one in backward direction. There are three dif-
ferent styles for the time-distance plot.These are:
Forward/Reverse
Both diagrams are shown.
Forward Only forward direction diagram
Reverse Only reverse direction diagram

15.7.1 The Path Axis

Fig. 15.48: A path axis

The path axis in the figure 15.48 shows the complete path with busbar and relay loca-
tions. Busbars/Terminals are marked with a tick and the name. The boxes above and be-
low the line show the relay locations in forward and in backward direction. The reference
relays in both directions are marked with an arrow.

15.7.2 Methods for calculation of tripping times


There are several methods to calculate the tripping times shown in the plot. To change
the method, select the Method option in the context sensitive menu or double-click the
plot to access the time-distance plot dialogue and edit Methods option on the Relays page.
The methods differ in exactness and speed. The set of possible units for the x-Axis de-
pends on the method used. The methods are:
Short-Circuit Sweep Method
The short-circuit sweep method is the most accurate method for
calculating the short-circuit locations. A short-circuit sweep is
calculated over the branches between the first and the last busbar in
the path. At each short-circuit location the relay tripping times are
established. The disadvantage of this method is it's low speed.
Whenever the rebuild button of the graphics window is pressed the
sweep is recalculated. The possible units for the short-circuit location
are position in km or reactance in primary or relay ohm.
Kilometrical Method
This method is the fastest but most inaccurate one. Tripping time and
location are determined with the intersection of the impedances and
the relay characteristic. The impedances used for calculation are the
impedances of the device. If there is more than one intersection at the

15 - 40
DIgSILENT PowerFactory Protection

same impedance the smallest tripping time is used. The possible units
for the short-circuit location are position in km or reactance, resistance
and impedance, each in primary or relay ohm.

Fig. 15.49: The Time-Distance plot edit dialogue

The kilometrical method is applicable only for the following paths


• There are no parallel branches in the path.
• The path is fed from only one side or there is no junction on the path.

15.7.3 Short-Circuit Calculation Settings


If the method for the calculation of the time-distance plot is set to "Short-Circuit Sweep'',
the short-circuit sweep command object ComShcsweep is used. There is either the op-
tion Shc-Calc... in the context menu of the plot or the Shc-Calc... button in the "Time
Distance Plot'' edit dialogue to access the sweep command.
Some of the settings in the command are predefined by the time-distance plot. These set-
tings are grayed out when the sweep command is accessed through the plot. The short-
circuit command for the calculation is set in the sweep command. To change the short-
circuit method, e.. "IEC'' or "Complete'', open the sweep command and edit the short-
circuit dialogue.

Note The easiest way to calculate the short-circuit sweep for the time-
distance plot is by simply pressing the button .
Mind that this is only needed when using the Short-Circuit Sweep

15 - 41
DIgSILENT PowerFactory Protection

method. The Kilometrical method does not need the short-circuit


sweep command.

See section 15.5 (Short-Circuit Sweep) for more information.

15.7.4 The x-Unit


There is a set of possible x-units depending on the method used. See the methods de-
scription for details. The short-circuit sweep method needs a relay to measure the imped-
ance, named the reference relay. If there is no reference relay selected the first relay in
the diagram's direction is used as reference relay.
The options available for the x-unit are:
Length x-axis is shown depending on the line/cable length from the reference
relay in"km''.
Impedance (pri.Ohm)
x-axis is shown depending on the impedance from the reference relay.
Reactance (pri.Ohm)
x-axis is shown depending on the reactance from the reference relay.
Impedance (sec.Ohm)
Here the impedance from the reference relay is measured on the
secondary side.
Reactance (sec.Ohm)
Here the reactance from the reference relay is measured on the
secondary side.

15.7.5 The Reference Relay


The x-Axis positions or impedances are calculated relative to the beginning of the path.
If a reference relay was set the positions/impedances are relative to the reference relay.
The sweep method needs always a reference relay. If no reference relay was set the first
relay in the diagram's direction is taken for reference relay.
The busbar connected to the reference relay is marked with an arrow pointing in the di-
agrams direction.
The reference relay is set either using the graphic or by editing the "Time Distance Dia-
gram'' dialogue. Changing the reference relay graphically is done by clicking with the right
mouse button on the relay symbol and selecting "Set reference relay'' in the context
menu. If there is more than one relay connected to the selected busbar PowerFactory
prompts for the relay to use. In the dialogue of the "Time Distance Relay" the "Reference
Relay'' frame is located on the bottom. Change the "Relay'' reference to set or reset the
reference relay.

15.7.6 Double-Click Positions


The following positions can be double-clicked for a default action:
Axis Edit scale

15 - 42
DIgSILENT PowerFactory Protection

Curve Edit step of relay


Relay box Edit relay(s)
Path axis Edit Line
Any other Open the "Time Distance'' edit dialogue

15.7.7 The Context Sensitive Menu


If the diagram is right-clicked at any position, the context sensitive menu will pop up sim-
ilar to the menu described in section 27.1.2 (Plots) for the virtual instruments.
There are some additional functions available in addition to the basic VI-methods for the
time-distance plot.
Grid Shows the dialogue to modify the grid-lines.
Edit Path Opens the dialogue of the displayed path definition (SetPath).
Method Set the used method for calculating the tripping times.
x-Unit Set the unit for the x-Axis, km impedances,...
Diagrams Select diagrams shown forward, reverse or both.
Consider Breaker Opening Time
Report This option prints out a report for the position of the relays, their
tripping time as well as all calculated impedances in the output window.
Shc-Calc... Show "Short-Circuit Sweep'' command dialogue.

15.7.8 Set Relays Buttons


The Set Relays button in the dialogue of the time-distance plot fills the table with the
relays in forward or reverse direction of the path automatically.

15.8 Relay Plot


The relay or R-X plot VisDraw is showing the impedance characteristics of different dis-
tance protection relays in one or several R-X plots. Additionally the impedance of connect-
ed lines and transformers in the network nearby the protection equipment can easily be
shown. Thus the impedances of the different zones of the relay and the tripping time can
easily be adjusted and checked for a good and thorough protection of the equipment.
There are several ways to create a relay plot (VisDraw):
• The easiest way to create and show a VisDraw is to select one cubicle, where a
distance relay is installed. Right-click the switch to open the context-sensitive menu.
This will show the options Create R-X Plot and Add to R-X Plot. PowerFactory will
then create a new diagram showing the R-X plot for all relays in the selected cubicle.
• Another way is to right-clicked an element which is belonging to a defined protection
path and select Path...−> R-X Plot from the context-sensitive menu.
• Also a distance relay element ElmRelay can be chosen from the list of calculation-
relevant objects or in the data manager. Right-click the relay on the right side of the
data manager or in the list of relays. Then select Show −> R-X Plot to create a new

15 - 43
DIgSILENT PowerFactory Protection

plot or Show −> Add to R-X Plot to get a selection of already created plots to add the
characteristic to an existing plot.

Note To show the relay locations and thus to visualize the switches with
relays definitions these can be highlighted by setting the color rep-
resentation of the single-line diagram to "Relay Locations''. By
right-clicking these elements the option Show −> R-X Plot is avail-
able and can be chosen.

The R-X plots show


• the impedance characteristics of selected distance relays including the different
zones.
• impedance curve of the lines and transformers near the relay location.
• the location of other distance relay nearby.
• the short-circuit impedance depending on the location and the fault impedances.
• the tripping time of the relay.

Fig. 15.50: A R-X plot with short-circuit results and two relays

In the figure 15.50 an example is shown for the R-X plot, where two relay characteristics
and the transmission line impedances are displayed.
Furthermore shows the location of the short-circuit or load-flow calculation as a equiva-
lent impedance point in the plot. For every relay displayed in the graph also a legend is
shown containing the relevant information regarding the short-circuit calculation of each
relay:

15 - 44
DIgSILENT PowerFactory Protection

• name of the relay,


• measured impedances seen from the relay location,
• the fault type,
• the actual tripping time of the relay,
• which zone is tripped.
The information shown may be changed in the relay plot settings. For details please refer
to section 27.1.2 (Plots).

15.8.1 Modifying the Relay Settings


From the R-X plot the characteristics of the relays shown can easily be changed according
to the impedances of the electrical equipment, which is to be protected.
By double-clicking the characteristic of a relay zone the settings dialogue of the zone will
be opened and can be modified. Here the relay specific information of the impedance
characteristic can be entered. Also the information of the line branch connected to the
relay in "forward'' direction is shown in the dialogue. If the OK button is selected the char-
acteristic of the relay will be updated.
It is also possible to edit the lines or transformer elements shown in the plot. Holding still
the mouse arrow over the element for a second a balloon help box will appear and show
the name of the element. If one of the lines is double-clicked, the edit dialogue of the
element pops up like in the single-line graphics. In this way the line impedances can easily
be accessed.

Relay Plot Settings


The R-X plot settings can be accessed by selecting the Options from the context-sensitive
menu or by pressing the Options button in the edit dialogue of the plot.

Basic Options:
The dialogue shows the following options:
Unit The current unit may be set to either primary or secondary (relay)
ampere.
Relays Units This option is used to display only certain types of relay characteristics.
Zones Here the zone can be selected which is to be shown. Also All zones of
the relays can be displayed in one graph (default).
Display This option is used to select how the calculated load-flow or short-
circuit current/equivalent impedance will be displayed. Either as an
short-circuit arrow, a cross or none may be selected.
Show Impedance
Color out of service units
Zones being out of service can be shown as well in a different color.

15 - 45
DIgSILENT PowerFactory Protection

Fig. 15.51: R-X-Plot Setttings

Additionally, the show/hide option for the starting, overreach zones, power swing units
and the complete shape of the diagrams can be selected in the dialogue.

Branch Impedances:
There are special options to modify the appearance of the branch impedances:
Number of Relay Locations
Only the branches are shown up to the x-th next relay location. If zero,
no branches are shown at all.
Branches, max. Depth
Maximum number of branches shown from each relay location. If zero,
no branches are shown at all.
Ignore Transformers
Transformer impedances are ignored when activated.
Method Method for determining the line impedances.
Show Branch Options
Here the line style and width can be selected.

Legend:
In the legend belonging to each relay different information and calculation results is dis-
played. Here the user can choose, which results are to be shown.

15 - 46
DIgSILENT PowerFactory Harmonics Analysis

Chapter 16
Harmonics Analysis

One of several power quality aspects related is the harmonic contents of voltages and cur-
rents. Harmonics can either be analyzed in the frequency domain or using time domain
simulation together with post-processing using Fourier Analysis. The PowerFactory
"Harmonics'' functions allow analyzing harmonics in the frequency domain.
Two different functions are supported by PowerFactory:
• Harmonic Load-Flow
• Frequency Sweep
The so-called "Harmonic Load-Flow'' calculates actual harmonic indices related to voltage
or current distortion and harmonic losses caused by "harmonic sources'', usually non-lin-
ear loads (e.g. current converters). "Harmonic sources'' can be defined by a harmonic cur-
rent or a harmonic voltage spectrum. When starting the "Harmonic loadflow'',
PowerFactory carries out a steady state network analysis at each frequency at which
harmonic sources are defined.
A special application of the "Harmonic Load-Flow'' is the analysis of ripple-control signals.
For this application, a "Harmonic Load-Flow'' can be calculated at one specific frequency
only. In contrast to the "Harmonic Load-Flow'', the "Frequency Sweep'' allows a continu-
ous frequency domain analysis. The typical application of the "Frequency sweep'' function
is the calculation of network impedances that allow identifying series and parallel reso-
nances in the network.
These resonance points can tell, at which frequencies harmonic currents cause low or
high harmonic voltages. Especially for filter design purposes, network impedances are of
high importance.
There is a special tool bar available for accessing the different commands for the harmonic
analysis. This toolbar can be displayed (when not already active) by selecting the icon
on the main tool bar and then choosing the bar for Harmonics from the pull-down
menu.
The button bar on the main menu now offers two icons to open a pre-configured com-
mand dialogue:

• : Calculate harmonic load-flow

• : Calculate impedance frequency characteristics (Frequency Sweep)


The command dialogues can be also accessed through the main menu by
• selecting the Calculation −> Harmonics −> Voltage/Current Distribution... option.

16 - 1
DIgSILENT PowerFactory Harmonics Analysis

• selecting the Calculation −> Harmonics −> Impedance Frequency Characteristic...


option.
Furthermore if a harmonic load-flow is calculated a third icon on this tool bar as activated.
The icon opens the command dialogue for the ''Filter Analysis" (ComSh). All func-
tions and their usage are described in this chapter.

16.1 Harmonic Load-Flow

To calculate the harmonic load-flow, use the to open the dialogue of the command
ComHldf. The figure 16.1 shows the dialogue of the harmonic load-flow command.

Fig. 16.1: Harmonic load-flow command

For a detailed description of the harmonic calculations, see the section Harmonics Analysis
in the Technical References, where the analysis and the harmonic indices are described
in detail.
The following sections describe the different options available in the harmonic load-flow.

16.1.1 Basic Options

Network-Representation, Harmonic Load-Flow


Balanced In case of a symmetrical network and balanced harmonic sources,
characteristic harmonics either appear in the negative sequence
component (5th, 11th, 19th, etc.) or in the positive sequence

16 - 2
DIgSILENT PowerFactory Harmonics Analysis

component only. Hence, at all frequencies a single-phase equivalent


(positive or negative sequence) can be used for the analysis.
Unbalanced, 3 Phase (ABC)
For analyzing non-characteristic harmonics (3rd-order, even-order,
inter-harmonics) or harmonics in non-symmetrical networks, the
"Unbalanced" option modelling the network in the phase-domain has to
be selected.

Calculate Option
Single Frequency
will perform a single harmonic load-flow calculation at the given
''output" frequency fshow or harmonic order respectively. A common
application for this mode is the analysis of ripple control systems. The
results of the analysis are shown in the single line diagram, in the same
way as for a normal load-flow at the fundamental frequency.
All Frequencieswill perform harmonic load-flow calculations for all frequencies for
which harmonic sources are defined. These frequencies are gathered
automatically prior to the calculation. The results are stored in a result
file, which can be used to create harmonic bar graphs (see also section
27.1.2 (Plots)).

Nominal and Output Frequency, Harmonic Load-Flow


Nominal Frequency
PowerFactory can only calculate harmonics of AC-systems with the
same fundamental frequency. The relevant nominal frequency has to
be entered here (usually 50 or 60 Hz).
Output Frequency
is the frequency for which the result is shown. In the case of a Single
Frequency calculation, this is the frequency for which an harmonic
load-flow is calculated. In case All Frequencies is selected, the
calculation itself is not influenced but only the shown results in the
single line diagrams, which are the results for the selected frequency.
Harmonic Order
is used to check or to alter the output frequency. It is the same as the
Output Frequency but input as harmonic order (f/fn). The harmonic
order times the nominal frequency always equals the output frequency.
Here not only integer numbers are valid.

Result Variables and Load-Flow


Result Variables
is used to select the result object which will store the results of the
harmonic frequency sweep. See 16.5 (Definition of Result Variables) for
more information about specifying result variables.
Load-Flow is used to inspect and/or to adjust the load-flow command that is used
for the harmonic load-flow calculations.

16 - 3
DIgSILENT PowerFactory Harmonics Analysis

Advanced Options
Rated Fundamental Frequency Values (IEEE)
All values are rated on the basis of the fundamental frequency values
according to the IEEE standards.
Rated Total RMS-Values (DIN)
All values are rated on the basis of "true RMS''-values, according to the
DIN standards.

16.2 Frequency Sweep


To calculate impedances depending on the frequency, the impedance characteristic can
be computed for a given frequency range using the ComFsweep by selecting the
icon.
An example of a harmonic frequency sweep command is shown in the figure 16.2.

Fig. 16.2: Harmonic frequency sweep command

The harmonic analysis by frequency sweep is normally used for analyzing self and mutual
network impedances.
But not only self- and mutual-impedances can be analyzed and shown. The available volt-
age source models allow the definition of any spectral density function. Hence, impulse
or step responses of any variable can be calculated in the frequency domain. Especially
the analysis of series resonance problems is a very common application.
The following sections describe the different options available in the harmonic frequency
sweep.

16 - 4
DIgSILENT PowerFactory Harmonics Analysis

16.2.1 Basic Options

Network-Representation, Frequency Sweep


Balanced, positive sequence
This option will use a one-phase, positive sequence, network
representation, valid for balanced symmetrical networks. A balanced
representation of unbalanced objects is used.
Unbalanced, 3 Phase (ABC)
This option will use a full multi-phase, unbalanced, network
representation.

Impedance Calculation
The frequency sweep will be performed for the frequency range from "Start Frequency''
to the "Stop Frequency'', with the given "Step Size''.
An option is available for allowing an adaptive step size. Enabling this option will normally
speed up the calculation, and enhancing the results by using a smaller step size where
more detail is needed. The settings for the step size adaptation can be changed on the
"Advanced Options'' page.

Nominal and Output Frequency, Frequency Sweep


Nominal Frequency
is the fundamental frequency of the system and the base frequency for
the harmonic orders (usually 50 or 60 Hz)
Output Frequency
is the frequency for which the result is shown in the single line
diagram. This value has no effect on the calculations itself.
Harmonic Order
is used to check or to alter the output frequency. It is the harmonic
order equivalent of the output frequency. The harmonic order times the
nominal frequency always equals the output frequency. Here not only
integer numbers are valid.

Result Variables and Load-Flow


Result Variables
is used to select the result object which will store the results of the
harmonic frequency sweep. See 16.5 (Definition of Result Variables) for
more information about specifying result variables.
Load-Flow is used to inspect and/or to adjust the load-flow command that is used
for the harmonic load-flow calculations.
The results of a frequency sweep analysis of PowerFactory are the characteristics of
impedances over the frequency.

16 - 5
DIgSILENT PowerFactory Harmonics Analysis

16.2.2 Advanced Options


A good way to speed up the simulation considerably is using the option "Automatic Step
Size Adaption" on the basic page of the ComFsweep command. This option will enable
the step size adaptation algorithm for the frequency sweep.
With this algorithm the frequency step between two calculations of all variables is not held
constant but will be adapted according to the shape of the sweep. When no resonances
in the impedance occur, the time step can be increased without loosing accuracy. If the
impedance will start to change considerably with the next step, the step sizes will be re-
duced again. The frequency step is set that the prediction error will be according to the
given values.
The parameters to adapt this algorithm are:
errmax Maximum Prediction Error (typical 0.01)
errinc Minimum Prediction Error (typical 0.005)
ninc Delay for Step Size Increase (typical 10 frequency steps)

16.3 Filter Analysis


The ''Filter Analysis" command is a special form of the ''Output Calculation Analysis" com-
mand (ComSh). It is used to analyze the results from the previous harmonic load-flow to
the PowerFactory output window. It outputs a summary of the harmonics for the ter-
minals/busbars and for branch elements at a specified frequency, which is given as the
output frequency in the ComHldf command. Also it reports the parameters and different
variables for the installed filters.

The filter analysis report generator can be activated with the icon or by using the out-
put icon in the main menu (see also 27.2.7 (Output of Results)). This will open the
same dialogue for the report of the harmonic results, shown in the figure 16.3.
In the dialogue the output frequency, specified in the harmonic load-flow command, is
shown. There are four different reports to be chosen:
Busbars and Branches
This option displays the results of the harmonic load-flow for all node
and branch element in the network. The distortion for various electrical
variables is printed and summarized.
Busbars/Terminals
For the electrical nodes the rated voltage, the voltage at the calculation
frequency as well as RMS values and distortion at the nodes is
displayed.
Filter Layout The filter layout of all active filters in the network are calculated for the
given frequency. The rated values and impedances of the filter as well
as type and vector group are printed to the output window.
Furthermore the currents through the different components and the
losses are shown.
Filter Results
The filter results show the main layout of all filters in the network for
the calculation frequency. For a set of frequencies the voltages and the
currents through the filter are shown in a table format.

16 - 6
DIgSILENT PowerFactory Harmonics Analysis

Fig. 16.3: Filter analysis report dommand dialogue

The default format used for the report in the output window is defined in Used Format
and can be set or changed by selecting the ''edit" button .

16.4 Modelling Harmonic Sources


Every switched device produces harmonics and must therefore be modelled as a harmonic
source. In DIgSILENT PowerFactory harmonic sources can be both current or voltage
sources.
The following models can generate harmonics:
• General loads, as far as they are modelled as a current source (which is defined in the
load type)
• Thyristor rectifiers
• PWM-converters which are generally modelled as harmonic voltage source.
• Voltage sources, which may be used also for ripple control applications.
• Current sources, with a user-defined spectre of harmonic injections.
The spectrum of harmonic infeeds have to be defined using the "Harmonic Source'' type
object (TypHmcCur). The spectrum may be entered as a balanced or unbalanced spec-
trum. See the figure 16.4 and the figure 16.5. This object is a 'type' object, which signals
that it may be used by many elements. More than one current source load may, for ex-
ample, use the same TypHmcCur object. No ElmHmcCur object exists.

16 - 7
DIgSILENT PowerFactory Harmonics Analysis

Fig. 16.4: Balanced harmonic source type

Fig. 16.5: Unbalanced harmonic source type

The spectrum object is independent of the kind of harmonic source, which may be either
a voltage or a current source. The decision whether harmonic sources are fed into the
system as harmonic voltages or as harmonic currents is exclusively taken by the element
to which the spectrum type is associated.

16 - 8
DIgSILENT PowerFactory Harmonics Analysis

16.4.1 Harmonic Distortion Results


The harmonic distortion of a current or a voltage can be quantified in terms of the Har-
monic Distortion (HD), as described by equation (16.1). To describe the overall distortion,
the Total Harmonic distortion index THD (see (16.2)) has been introduced. An alternative
index, though less common, is the Total Arithmetic Distortion TAD (see (16.3)). All dis-
tortion indices are described in their definition for the current, but may be similarly used
for the voltage distortion.

I ( fi )
Eqn 16.1: HD I ( f i ) = --------------
I ( f1 )

1- ⋅ I 2 2
Eqn 16.2: THD I = ------- RMS – I ( f 1 ) (Total Harmonic Distortion)
I ref

Eqn 16.3:
1 - ⋅ [ I – I ( f ) ] (Total Arithmetic Distortion)
TAD I = -------
I ref ΣA 1

where
I(fi) component of the current at frequency fi
Iref Reference value for the current

n

2
Eqn 16.4: I RMS = I ( f i ) (Total RMS value)
i=1

n
Eqn 16.5: I ΣA = ∑ I ( f i ) (Arithmetic Sum value)
i=1
The reference value Iref depends on the standard used. The two possible options are the
calculation according to DIN (16.6) and according to IEEE (16.7).
Eqn 16.6: I ref, DIN = I RMS (DIN Standard)

Eqn 16.7: I ref, IEEE = I ( f 1 ) (IEEE Standard).


Another value that may be of importance is the Total Power (see (16.8)), that describes
the power absorbed over all frequency components.
n
Eqn 16.8: P tot = ∑
P ( f i ) (Total Power)
i=1

16.4.2 Magnitudes and Phase values


The quantities of the spectrum type are rated to current/voltage at fundamental frequen-
cy in the balanced case. Hence, in case of a harmonic current source, the actual harmonic
current at frequency fh is calculated by:

16 - 9
DIgSILENT PowerFactory Harmonics Analysis

∆ϕ h ϕ1
Ih = kh ⋅ e ⋅ I1 ⋅ e

where


⎪ Ih ⁄ I1 if balanced

⎪ I ah ⁄ I a1 if unbalanced phase a
kh = ⎨
⎪ I bh ⁄ I b1 if unbalanced phase b

⎪ I ch ⁄ I c1 if unbalanced phase c


⎪ ϕh – ϕ1 if balanced

⎪ ϕ ah – ϕ a1 if unbalanced phase a
∆ϕ h = ⎨
⎪ ϕ bh – ϕ b1 if unbalanced phase b

⎪ ϕ ch – ϕ c1 if unbalanced phase c

The values at the fundamental frequency, I1 and ϕ1, are taken from a preceding load-flow
calculation. A normal load-flow calculation is therefore required prior to a harmonic load-
flow calculation.
In case of balanced systems in which only characteristic harmonics of orders 5, 7, 11, 13,
17, etc., occur, the option "Balanced/Unbalanced Sources'' should be set to "Balanced''.
In this context, "Balanced'' stands for characteristic harmonics. In the balanced case, the
harmonic frequencies are determined by the program, while in the unbalanced case, the
rated frequencies can be defined freely.
The user also can enter magnitude and phase angle of each harmonic component. In case
of harmonic sources which produce non-characteristic, unbalanced or inter-harmonics,
the option "Balanced/Unbalanced Sources'' has to be set to "Unbalanced''. For the "Un-
balanced'' case, harmonic frequency, magnitude and phase angle of each phase can be
chosen individually for each harmonic frequency. This mode thus covers every possible
kind of harmonic source.
A typical problem is how to represent a given harmonic content in a different but the na-
tive modal system (positive, negative or zero sequence system). The following example
should illustrate how to represent the 3rd harmonics in positive or negative sequence sys-
tem (and not in the native zero sequence system).
The phase shift between the three phases is in the symmetrical case:
A: 0°
B: -120°
C: +120° (-240°)
For Harmonics of n-th order:
A: 0°

16 - 10
DIgSILENT PowerFactory Harmonics Analysis

B: -n*120°
C: +n*120°
3rd Harmonic, for example:
A: 0°
B: -360°(= 0°)
C: +360° (=0°)
Consequently, 3rd harmonics in the ideally balanced case only in the zero sequence com-
ponent, as their native modal system. For representing 3rd harmonics (and multiples) in
the positive sequence, the following phase correction needs to be entered:
A: 0°
B: +(n-1)*120°
C: -(n-1)*120°
E.g. the third harmonic:
A: 0°
B: -360° + 240° = -120°
C: +360° - 240° = 120°

16.4.3 Frequency Dependent Parameters


Due to skin effect and variations of the internal inductance, resistances and inductances
are usually frequency dependent. This can be modeled by associating a "frequency char-
acteristic'' to these parameters on the "Harmonics'' page of the corresponding dialogue.
Two types of characteristic may be used: either a polynomial characteristic (ChaPol), or
an user defined frequency table (TriFreq and ChaVec).

Fig. 16.6: The frequency polynomial characteristic

For the polynomial characteristic object, as depicted in the figure 16.6, the following for-
mula is used:

⎛ f h⎞ b
y ( f h ) = ( 1 – a ) + a ⋅ ⎜ ----⎟
⎝ f 1⎠

The parameters a and b are specified in the ChaPol dialogue. The unit of y is usually %
of the corresponding parameter specified in the input mask. For example, the resulting
line resistance is obtained by:

16 - 11
DIgSILENT PowerFactory Harmonics Analysis

R ( fh ) = R × y ( fh )

the figure 16.7 shows an example of the use of the polynomial characteristic for a line
type.

Fig. 16.7: Frequency dependencies in a line type

It also is possible to define frequency dependent characteristics using vectorial character-


istics (ChaVec). An example for a grid impedance defined with a ChaVec is shown in the
figure 16.8.

Fig. 16.8: Frequency dependent grid impedance as vectorial characteristic

The following objects have frequency dependent parameters which may be defined by a
frequency characteristic:
TypLne Line Type
TypAsm Asynchronous Machine Type
TypSym Synchronous Machine Type
ElmShnt Shunt/Filter

16 - 12
DIgSILENT PowerFactory Harmonics Analysis

ElmVac AC Voltage Source


ElmNec NEC/NER
Lines which are represented by a tower Type TypTow automatically are assigned a har-
monic characteristic. The same applies to cables using the detailed cable representation
type TypCab.

16.4.4 Waveform Plot


The waveform plot is used to display the waveform of a voltage or current after a har-
monics load-flow calculation. These harmonics are typically emitted by an harmonic volt-
age or current source described in this chapter.
Using this plot a waveform is generated from the magnitude and the phase angle of the
harmonic frequencies. With this diagram a variable like the voltage or current, which is
defined in a harmonic source e.g. a power electronic device or a load, can easily be shown
as a time dependent variable. So the real shape of the voltage can be seen and analyzed.
For a more detailed description see section 27.1.6 (The Waveform Plot).

16.5 Definition of Result Variables


Before a frequency scan is performed, all variable of interest must be defined for record-
ing. This can be done by right-clicking an object, either in the single line diagram or in the
data manager, and selecting the option Define −> Variable Set (Harmonics Load-Flow) or
Define −> Variable Set (Frequency Sweep). This will add a new, but still empty, variable
set for the selected object to the result object which is selected in the harmonic command
dialogue.
All results of the harmonic analyses, except for the single frequency harmonic load-flow,
are stored in a normal result object (ElmRes). Such a result object stores graphs of result
variables vs. frequency. For more information about the result object see section 27.2.1
(Result Objects).

New result variables may also be added by pressing the icon "Edit Result Variable'' ( ).
This will bring the list of all variable sets which have been defined already. Each variable
set contains variables for a single object. See the figure 16.9 for an example. A new vari-
able set is defined by pressing the "New'' icon ( ).

16 - 13
DIgSILENT PowerFactory Harmonics Analysis

Fig. 16.9: Example of a list of variable lists

The variable set manager (IntMon) will open when a new variable set is created. The
variable set manager is used to define the variables in the set. The "Object'' reference in
the variable set manager must first be set to the object for which result variables are to
be added to the set. Secondly, the "Harmonic'' page has to be selected. This will show the
list of all results that are available for the selected object, for the harmonic analysis. See
the figure 16.10 for an example.

Fig. 16.10: Harmonic result variables for a terminal

Result variables may be added or removed from the set of selected variables by pressing

the or buttons.
As the results of the discrete harmonic analysis are discrete, the plots made from the re-
sult file should have the "Bars'' option enabled in the Advanced page of the SubPlot def-
inition dialogue.

16 - 14
DIgSILENT PowerFactory Network Reduction

Chapter 17
Network Reduction

The typical application of network reduction is a project where a specific network has to
be analyzed but this network cannot be studied independent of a neighboring network of
the same or of a higher or lower voltage level. In this case it is one option to have both
networks modeled in detail for the calculation. There however may be situations when it
is not desirable to perform the studies with the complete model. This is the case for in-
stance when the calculation times would increase significantly or when the data of the
neighboring network should not be published in detail. In these cases it is good practise
to provide an representation of the neighboring network, which contains the interface
nodes (connection points) which may be connected by equivalent impedances and volt-
age sources.
The example configuration used in this chapter to illustrate the network reduction func-
tion is a transmission system as shown in the figure 17.1 feeding a distribution system as
shown in the figure 17.2. The distribution system is to be studied in detail, the transmis-
sion system only will be considered in its equivalent model. The distribution network is
fed by the two busbars "Bus 5'' and "Bus 6'' in the center of the transmission system.

Fig. 17.1: Example transmission system

17 - 1
DIgSILENT PowerFactory Network Reduction

Fig. 17.2: Example distribution system

17.1 Starting the Reduction Process


To reduce the network, please proceed as follows:
• Please activate the base study case. This loads the original network.
• Please create a new revision, in which the transmission system later will be
substituted by its equivalent model. If the revision is not created, the original model of
the transmission system may be overwritten and thus get lost. A new revision is
created by right-clicking the active project folder an selecting New - Revision. The
new revision creates variant (system stage) folders in all active grids and creates a
new study case.
• Please run a load-flow. This step is necessary for the network reduction command to
find the equivalent representation of the grid.
• Please open the Data Manager and check if the command input window is visible. If
not this can be change that by clicking the "Input Window'' ( ) icon in the data-
manager.
• The network reduction command is started by entering ed red in the input window.
• Please select one of the new system stages. The reduced network model will be
stored in this system stage. To avoid loss of data, the folder to which the equivalent
network definition is written should be empty.
• Please click on the Execute button to start the reduction.

17 - 2
DIgSILENT PowerFactory Network Reduction

Fig. 17.3: Configuration dialogue of Network Reduction

17.2 Network Reduction Results


The result of the network reduction is shown in the figure 17.4. The transmission network
has been reduced to the equivalent representation by two AC Voltage Sources (ElmVac)
and a common impedance (ElmZpu).
A load-flow calculation in the reduced network gives the same results for the distribution
network as for the original network.

17 - 3
DIgSILENT PowerFactory Network Reduction

Fig. 17.4: Reduced network

17 - 4
Volume III
Optimization Tools
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory Optimal Power-Flow

Chapter 18
Optimal Power-Flow

18.1 General
The Optimal Power Flow module allows to optimize a certain objective function in a net-
work whilst fulfilling the load flow equations (equality equations) and a certain predefined
set of inequality equations. The OPF performs a non-linear optimization based on a state-
of-the-art interior-point algorithm. It has the following key features.

18.1.1 Objective Functions


• Minimization of Losses,
• Maximization of Profit,
• Minimization of Generation Fuel Cost,
• Minimization of Load Shedding.

18.1.2 Controls
• Generator (ElmSym):
- Active Power
- Reactive Power
• 2-winding Transformer (ElmTr2):
- Tap Position (continuous or discrete)
• 3-winding Transformer (ElmTr3):
- HV-Tap Position (continuous or discrete)
- LV-Tap Position (continuous or discrete)
- MV-Tap Position (continuous or discrete)
• Shunt (ElmShnt):
- Number of steps (continuos or discrete)

18.1.3 Constraints
• Busbars and Terminals (StaBar, ElmTerm):
- Minimum Voltage

18 - 1
DIgSILENT PowerFactory Optimal Power-Flow

- Maximum Voltage
• Lines and Lineroutes (ElmLne, ElmLneroute):
- Maximum Loading
• 2- and 3-winding Transformer (ElmTr2, ElmTr3):
- Maximum Loading
- (Tap Position range, if corresponding tap is control parameter)
• Shunts (ElmShnt):
- (Controller Steps range, if switchable steps are control parameter)
• Generator (ElmSym):
- Minimum Active Power
- Maximum Active Power
- Minimum Reactive Power
- Maximum Reactive Power
• Secondary Controller (ElmSecctrl):
- Minimum Total Active Power
- Maximum Total Active Power
• Station Controller (ElmStactrl)
- Minimum Total Reactive Power
- Maximum Total Reactive Power
• Flexible OPF Constraint Object (ElmConstr) based on PQ-measurements (StaPqmea)
- Minimum Weighted Sum of Active Power Flows
- Maximum Weighted Sum of Active Power Flows
- Minimum Weighted Sum of Reactive Power Flows
- Maximum Weighted Sum of Reactive Power Flows
The setup of the individual control parameters and inequality constraints will be explained
in the following. We start the discussion by demonstrating the usage of the objective func-
tions.

18.2 Objective Functions


The OPF command object (ComOpf) dialogue allows to choose among four distinct ob-
jective functions, namely “Minimization of Losses”, “Maximization of Profit”, Minimization
of Generation Fuel Costs”, and “Minimization of Load Shedding”.

18.2.1 Minimization of Losses


The aim here is to find a power dispatch which minimizes the overall active power loss.

18 - 2
DIgSILENT PowerFactory Optimal Power-Flow

18.2.2 Maximization of Profit


The aim here is to supply the system under optimal operating cost. More precisely, the
goal is to minimize the cost for the power dispatch based on non-linear fuel cost functions
for each generator and on tariff systems for each external grid.
For this purpose, the user needs to introduce, for each generator, a cost function for its
power dispatch and for each external grid, a tariff system.

Fig. 18.1: Choosing the objective function in the ComOpf dialogue

Cost functions for generators


Imposing a fuel cost function on a generator can be done in the following way. On the
optimization page of the edit dialogue (see figure 18.2) for each synchronous machine
(ElmSym), it is possible to specify the operation costs of the unit with the aid of an oper-
ation cost table (that relates active power produced (in MW) with the corresponding cost
(in $/h)). The representation of the data is visualized (see figure 18.2) for checking pur-
poses. The number of points is unlimited. To add or delete rows to the table, choose the
corresponding task from the context menu by right-clicking on the table (Copy, Paste, Se-
lect; Append Cells, Delete Cells, etc.).

18.2.3 Tariff systems for external grids


An external grid contributes to the overall cost function by a predefined tariff system. On
the optimization page of the dialogue (see figure 18.3) for each external grid (ElmXnet),
the tariffs can be edited with the help of a table. This table relates the cost (in $/MWh)
which are due within a certain range of active power exchange. The representation of the
data is shown graphically. In addition, the user is asked to enter a monthly no load cost
(in $/per month), which can be interpreted as a vertical shift of the cost function.

18 - 3
DIgSILENT PowerFactory Optimal Power-Flow

Fig. 18.2: Editing the operation cost of a synchronous machine

In contrast to a synchronous machine, where the cost curve is directly expressed in $/h,
the cost curve of an external grid is defined by means of a tariff which holds within certain
intervals. Mathematically speaking, the cost curve of a synchronous machine is calculated
as the interpolation of predefined cost points, whereas the cost curve of an external grid
is a piece wise linear function with predefined slopes in each interval.
Note that this pizzerias linear function is not differentiable at the interval limits. Since non-
differentiable functions might cause problems in the optimization step, PowerFactory
slightly smoothens the cost function in a small range around the non-differentiable points.
The width of this range can be manipulated by the user through the “Smoothing Cost
Function” factor. A value of 0% corresponds to no smoothing of the curve at all, whereas
a value of 100% corresponds to full interpolation. The default value is 5%. It is recom-
mended not to change this value.

18.2.4 Minimization of Generation Fuel Cost


The aim of this method is to supply the system with minimal fuel cost. In contrast to the
“Profit Maximization”, here, the cost caused by the tariff systems for external nets are not
taken into consideration. In other word, the objective function only takes into account the
fuel cost functions of the generators.

18 - 4
DIgSILENT PowerFactory Optimal Power-Flow

Fig. 18.3: Editing the tariff system of an external grid

18.2.5 Minimization of Load Shedding


The goal in this option is to minimize the cost for an overall load shedding, such that all
constraints can be fulfilled. A typical application for this cost function comes from “Infea-
sibility Handling”. It might happen – for the above mentioned objective functions – that
the constraints imposed on the network are such that no feasible solution exists at all.
The user will note this, if the iterative non-linear optimization does not converge. In this
case, it is very likely that not all loads can be supplied due to constraint restrictions. It is
recommended in this situation to (first of all) perform a “Minimization of Load Shedding”.
In this (and only in this) optimization scenario, all loads will act as controls for which the
corresponding flag “Allow load shedding” has been enabled on the optimization page. All
other loads (i.e., the ones with disabled control flag) will behave as in the conventional
load flow calculation. In order to optimize the overall load shedding, for each individual
load, the user has to specify the cost for shedding (in $ per shedded MW).
For each load that participates as a control in the optimization, the scaling-factor will be
optimized. The optimization is such that the overall cost for load shedding is minimized.
The user can, in addition, specify the range within which the load may be scaled (Min.
and Max. load shedding), see figure 18.4.

18 - 5
DIgSILENT PowerFactory Optimal Power-Flow

Fig. 18.4: Editing the loads for minimization of load shedding

18.3 Controls
The user may specify which parameters might serve as potential degrees of freedom for
the OPF-algorithm, i.e., which parameters will contribute as controls. It is – independent
of the objective function – completely left to the user to decide which parameters will be
considered as optimization controls in the OPF. The set of potential controls can be
grouped into four categories:
1 Generator Active Power Dispatch.
2 Generator Reactive Power Dispatch.
3 Transformer Tap Positions (for 2- and 3-winding transformers).
4 Switchable Shunts.
Note that the scaling-factors of loads will only be taken into account for “Minimization of
Load Shedding”. In this case, all loads that allow load shedding are automatically used as
controls.

18.3.1 Individual model-based settings


Each control can be checked individually to take part in the optimization. More precisely,
for each generator (ElmSym), each transformer (ElmTr2, ElmTr3), and each shunt (Elm-
Shnt), the user may check the corresponding Control-Flags on the optimization page of
the element’s edit object.

Synchronous Machines
A synchronous machine may contribute with two possible setpoints, namely active and
reactive power control (see figure 18.5).

18 - 6
DIgSILENT PowerFactory Optimal Power-Flow

Fig. 18.5: Active and reactive power controls of a generator

2- and 3-winding Transformers


For transformers, an option is provided, whether the transformer tap position(s) that shall
serve as a control parameter is supposed to be considered as a continuous parameter, or
as a discrete parameter. Note that a 3-winding transformer has up to three tap changers
which may individually be used as continuous or discrete control parameters for the OPF.
Figure 18.6 shows the dialogue for a 2-winding transformer, figure 18.7 shows the dia-
logue for the 3-winding transformer.

Fig. 18.6: Tap position control for a 2-winding transformer

Fig. 18.7: Tap position control for a 3-winding transformer

18 - 7
DIgSILENT PowerFactory Optimal Power-Flow

Shunts
Similarly, for a shunt, its number of steps may serve either as a continuous or a discrete
optimization parameter (see figure 18.8).

Fig. 18.8: Control parameter of a shunt

18.3.2 Global control settings


After setting the individual parameters for each element, the user will find some global
setting parameters on the edit dialogue of the ComOpf object (see figure 18.9).
The general rule is as follows. A parameter will be considered as control, if the corre-
sponding flag is set on the optimization page of the element’s edit dialogue and if, in ad-
dition, the corresponding global parameter is set on the Basic Options page of the
command object ComOpf.
For example, the HV-tap position of a 3-winding transformer becomes an active control if
and only if the flag i_tapopt_h is set in the 3-winding transformer and the corresponding
flag iopt_trf is enabled on the ComOpf-dialogue.
If enabled, the above mentioned control parameters serve as variable setpoints during
the OPF optimization. However, if a parameter does not play the role of a variable set-
point, the OPF will treat this parameter according to the load flow settings!

Fig. 18.9: Global control settings in the ComOpf dialogue

For example, if, the MV-tap position of a 3-winding transformer is checked to be an OPF-
control the optimization algorithm will adjust it in such a way that it contributes best to
the objective function. On the other hand, if the user decides that this tap position shall
not be a control parameter, the OPF will calculate the correct tap position as specified in
the load flow settings. This could be, e.g., a fixed position, or adjusted by “automated tap
changing” in order to control the voltage of a certain node, or even be a slave that is ex-
ternally controlled by some other transformer tap.

18 - 8
DIgSILENT PowerFactory Optimal Power-Flow

18.4 Constraints
The user may “formulate” various inequality constraints on certain system parameters,
such that the OPF solution is required to stay strictly within these constraints. It is impor-
tant to note that – since all inequality constraints are considered to be “hard” – it may
happen that by imposing constraints which cannot be fulfilled the setting will disallow a
valid solution at all.
The handling of the constraints is very flexible and much like the way controls have to be
specified. Various categories of constraints do exist. A constraint is considered in the OPF
if and only if the individual constraint flag is checked in the element and the correspond-
ing global flag is enabled in the ComOpf dialogue. The distinct constraint categories are:
1 Branch flow limits (i.e., limits on the loading).
2 Voltage limits on busbars and terminals.
3 Active power limits of generators and active power sum limits of secondary
controllers.
4 Reactive power limits of generators and reactive power sum limits of station
controllers.
5 Constraint Objects: weighted sums of active and reactive power (ElmConstr).
The optimization uses further constraints that are automatically imposed as soon as the
corresponding parameter is used as a control. Such controls are tap position limits and
the number of steps for switchable shunts.

Branch flow limits


Branch flow limits formulate an upper bound on the loading of the branch element. The
user has to specify a maximum value for the loading (see figure 18.10). Such a constraint
is only taken into consideration if the corresponding flag is set. Limits on the loading are
supported for Lines, Line routes, 2- and 3-winding transformers.

Fig. 18.10: Constraint on the loading of a line element (similar for line routes, 2- and
3-winding transformers)

18.4.1 Voltage limits of busbars and terminals


The maximum and minimum voltage values of each terminal or busbar element can be
specified (see figure 18.11). In this sense, each terminal or busbar may contribute at most
two inequality constraints for the OPF. Upper and lower limits may be imposed individu-
ally, i.e., it is possible to only formulate an upper limit without specifying a lower limit.

18 - 9
DIgSILENT PowerFactory Optimal Power-Flow

Fig. 18.11: Constraint on maximum and minimum voltage of a terminal/busbar

18.4.2 Active and reactive power limits for generators


For each synchronous machine, the user may impose up to four inequality constraints,
namely a minimum and maximum value for the active power generation and minimum
and maximum limits for the reactive power generation (see figure 18.12). Reactive power
limits may be edited either in absolute, or in per unit values (referring to the type’s nom-
inal apparent power). Besides it is possible to directly use the reactive power limits spec-
ified in the machine’s type. Again, the user is free to impose any combination of the four
possible constraints individually.

Fig. 18.12: Active and reactive power constraints of a synchronous machine

18.4.3 Active power constraints of Secondary Controllers


A secondary controller may impose an upper and lower active power constraint on the
sum of the participating synchronous machines (see figure 18.13). For practical purpos-
es, this may serve as a reserve constraint for the total active power generation of various
synchronous machines in order to cover an outage of one of the machines.
Suppose, e.g., that a secondary controller is defined for three machines with maximum
active power limits of 15 MW, 20 MW, and 25 MW, respectively. Then a maximum total
active power constraint of 35 MW on these three generators would even cover an outage
of the biggest, and, thus, any one of the generators.

18 - 10
DIgSILENT PowerFactory Optimal Power-Flow

Fig. 18.13: Total active power sum limit constraint of a secondary controller

18.4.4 Reactive power constraints of Station Controllers


In complete analogy to the secondary controller (with roles of active and reactive power
interchanged), a station controller may hold an upper and a lower limit on the total sum
of the reactive powers of the participating generators (see figure 18.14).

Fig. 18.14: Total reactive power sum limit constraint of a station controller

18.4.5 Constraint Objects: linear combinations of active and


reactive power sums
PowerFactory offers an additional extremely flexible way of imposing constraints on the
power flow in the network, which is realized by adding so-called constraint objects (Elm-
Constr). It has the following icon . With this object it is, e.g., possible to restrict the
power flow over various branches which connect, e.g., two areas. Mathematically speak-
ing, the constraint object is able to put maximum and minimum mum constraints of the
form

P min ≤ c 1 ⋅ P 1 + c 2 ⋅ P 2 + ... + c n ⋅ P n ≤ P max


Q min ≤ c 1 ⋅ Q 1 + c 2 ⋅ Q 2 + ... + c n ⋅ Q n ≤ Q max
where, P1,…,Pn and Q1,…,Qn,, respectively, are the active and reactive power flows at
predefined cubicles and c1,…,cn are some real coefficients. More precisely, an ElmConstr
itself holds a set of n StaPqmeas whose measured active and reactive power flows
P1,…,Pn and Q1,…,Qn are considered in the above inequality constraints.
Refer to the example in figure 18.15, where the optimization page dialogue of an ElmCon-

18 - 11
DIgSILENT PowerFactory Optimal Power-Flow

str hosts three distinct StaPqmeas. The corresponding constraint equations that were
formulated in this constraint object would be:

P 1 + P 2 + P 3 ≤ 300 MW
P 1 + P 2 + P 3 ≥ 150 MW
Q 1 + Q 2 + Q 3 ≤ 200 Mvar
where P1,P2,P3 and Q1,Q2,Q3 are the active and reactive power flows measured by the
three StaPqmeas “PQ Export Line 1”, “PQ Export Line 2” and “PQ Export Line 3”. Figure
18.15 shows how this setting is entered in the ElmConstr dialogue.

Fig. 18.15: OPF constraint object (ElmConstr)

In the example in figure 18.15 the active power sum over three lines (where the
StaPqmeas were located) is restricted from above by 300MW and from below by
150MW. In addition, the reactive power sum over these lines is constrained by 200 Mvar.
An OPF constraint object can hold any number of StaPqmeas, and thus cope with any
linear combination of active and reactive power sums in the network.
Observe that, in the special case, where n=1, with the help of constraint objects it is pos-
sible to limit the active and reactive power flow at any location in the network.
Moreover, the OPF constraints that can be set in the Secondary Controller, and in the Sta-
tion Controller, can also be seen as special cases of this flexible OPF constraint object.
In order to define an OPF constraint object (ElmConstr), the user needs to first of all de-
fine some StaPqmea objects (into the desired cubicles). The user should be aware that
the orientation of the StaPqmea needs to be set properly. In a second step, a set of
StaPqmeas should be selected in the browser. Select “Define…/OPF Constraint...” in the

18 - 12
DIgSILENT PowerFactory Optimal Power-Flow

context menu of the selection. Then the ElmConstr dialogue will pop (see figure 18.16),
so that upper and lower limits and weighting factors can be edited. By clicking OK, the
OPF constraint object will be stored into the grid folder and, hence, will be considered in
the OPF optimization step.

Fig. 18.16: Defining an OPF constraint object ElmConst for a predefined set off
StaPqmeas

18.4.6 Global constraint settings


After setting the individual parameters for each element, the user will find some global
setting parameters on the edit dialogue of the ComOpf object (see figure 18.17).
As in the case of controls, the general rule is as follows. A constraint will be considered in
the optimization step, if the corresponding flag is set on the optimization page of the el-
ement’s edit dialogue and if, in addition, the corresponding category of constraints is en-
abled on the dialogue of the command object ComOpf.

18 - 13
DIgSILENT PowerFactory Optimal Power-Flow

Fig. 18.17: Global control and constraint parameters on the optimal power flow
dialogue

18.5 Running OPF


The execution of the OPF is started by pressing the Execute button on the command.

18.5.1 Mathematical Background


The non-linear optimization is implemented using an iterative interior-point algorithm
based on the Newton-Lagrange method. Recall that the goal of the optimization is to min-
imize an objective function f under the constraint that all load flow equations and all im-
posed inequality constraints are fulfilled. Mathematically speaking, the aim is to find
min = f ( x )
under the constraint that
g(x) = 0
h(x) ≤ 0
where g is the set of load flow equations and h is the set of inequality constraints that
need to be fulfilled. Introducing a slack variable for each inequality constraint, this can be
reformulated as
g(x) = 0
h(x) + s = 0
s≤0

18 - 14
DIgSILENT PowerFactory Optimal Power-Flow

We then incorporate logarithmic penalties and minimize the function:

min = f ( x ) – µ ⋅ ∑ log ( si )
i
where µ is the so-called penalty weighting factor. In order to change the contribution of
the penalty function:

f pen = ∑ log ( si )
i
to the overall minimization, the penalty weighting factor µ will be decreased from some
user-defined initial value µmax to some user-specified value µmin.
The smaller the minimum penalty weighting factor, the less the penalty for being close to
the constraint limits will be. This means, that a small minimum penalty weighting factor
will result in a solution that is close to the limiting constraint bounds (if necessary). On
the other hand, a smaller minimum penalty weighting factor will result in a higher number
of iterations necessary.
The parameters for adapting the penalty weighting factor can be adjusted on the Ad-
vanced Options page of the ComOpf dialogue (see figure 18.18). In addition, the user
can specify a factor, by which the current penalty factor shall be divided from one iteration
to another.

Fig. 18.18: Settings for the adaptation of the penalty weighting factor in the ComOpf
dialogue

18.5.2 Output during the iteration


Prior to the non-linear optimization, the OPF informs the user (in the output window)
about the actual total number of constraints and controls that will be considered in the
subsequent calculation. This information is detailed in the sense that the participating
constraints and the imposed controls are counted for each of the above mentioned cate-
gory separately.

Show Convergence Progress Report


If this flag is checked on the Advanced Parameter page of the OPF edit dialogue, the user
will get a detailed report on the convergence of the non-linear optimization. In each step

18 - 15
DIgSILENT PowerFactory Optimal Power-Flow

of the iteration, the following figures are displayed in the output window:
• The current error of the constraint nodal equations (in VA) (Err.Nodes).
• The current error of the constraint model equations (Err. ModelEqu).
• The current error of the inequality constraints (eInequ).
• The current value of the gradient of the Lagrangian function (gradLagFunc).
• The current value of the Lagrangian function (LagFunc).
• The current value of the objective function f to be minimized (ObjFunc).
• The current value of the penalty function fpen (PenFunc).
• The current values of the relaxation Factors (Rlx1,Rlx2) for the primal and dual
variables.
• The current value of the penalty factor µ (PenFac).

Show max. nodal and model equation error elements


If this flag is checked, the algorithm outputs per iteration, the components that happen
to have the largest error in the equality constrains.
An outer loop is wrapped around this central non-linear optimization algorithm. This outer
loop is required to round and optimize continuously evaluated tap and shunt positions to
discrete values if desired. The user will be informed at any stage of the algorithm, whether
a further outer loop is required or not.

18.5.3 Results
The presentation of the OPF results is integrated into the user interface. The solution of
the non-linear optimization in the OPF is available via the complete set of variables of the
conventional Load Flow calculations. It can be seen in the single line diagram of the grid
or through the browser. The inclusion of the following variables in the Flexible Data Tab
in the browser is suggested for synchronous machines and grids to observe the results.
Synchronous machines:
• Active Power (P:bus1)
• Reactive Power (Q:bus1)
• Apparent Power (S:bus1)
• Voltage Magnitude (u:bus1)
Grids:
• Total Production Cost, including costs through external grids (c_disp)
• Generation Fuel Costs (cst_gen)
• Losses (LossP)
• Active Power Generation (GenP)
• Reactive Power Generation (GenQ)
Besides theses specialized results the complete set of variables of conventional Load-Flow
calculations is available for particular user needs. The production costs are expressed in

18 - 16
DIgSILENT PowerFactory Optimal Power-Flow

the same units utilized in the production cost tables of the generator elements.

Also a text report is available. It can be activated using the icon and offers various
templates for detailed result documentation.

18.6 Advanced Setup Options for Iteration Control

18.6.1 Initialization
The non-linear optimization requires an initialization step to generate an initial starting
configuration.

Initialization of non-linear optimization


The user may specify whether the initialization shall be performed by a load flow calcula-
tion or by a flat start. If it is known in advance that the final solution of the optimization
part is close to a valid load flow solution, initializing by a load flow calculation pays off in
a faster convergence.
If the initialization is set to “Use Load Flow result”, the OPF checks whether an “OPF-ini-
tializing” load flow result has been calculated prior to the OPF. Here, “OPF-initializing”
means that the flag iopt_initOPF was enabled on the load flow object ComLdf before
execution. This flag can be found under the name “Use this load flow for initializing OPF”
on the second page of the Advanced Options in the ComLdf dialogue. The result of this
load flow is then used as stating point of the iterative OPF interior point algorithm. If no
valid OPF-initializing load flow result can be found, the OPF will recalculate a new load
flow.

Load Flow
Specifies the settings of the load flow command which is taken for initialization in case no
flat start is used.

18.6.2 Stopping criteria for the non-linear optimization


By the Lagrange-Newton method, the OPF will internally minimize the resulting Lagrange
function


T
L ( x, s, λ ) = f ( x ) – µ ⋅ log ( s i ) + ( λ ) ⋅ [ g ( x ) + h ( x ) + s ]
i

with the Lagrange multipliers ( λ ) .


The following parameters can be used to adapt the stopping criteria for this iterative pro-
cess. The algorithm stops successfully if the following three issues are fulfilled:
1 The maximum number of iterations has not yet been reached.

18 - 17
DIgSILENT PowerFactory Optimal Power-Flow

2 All load flow constraint equations g(x)=0 are fulfilled to a predefined degree of
exactness, which means:
- all nodal equations are fulfilled.
- all model equations are fulfilled.
3 The Lagrange function L itself converges. This can be achieved if
- either the objective function itself converges to a stationary point, or the gradient
of the objective function converges to zero.
The following parameters serve to adjust these stopping criteria.The user unfamiliar with
the underlying optimization algorithm is urged to use the default settings here.

Iteration Control of non-linear optimization


The user is asked to enter the maximum number of iterations.

Convergence of Load Flow Constraint Equations


The user should enter a maximal error for nodal equations (where the deviation is mea-
sured in kVA), and, in addition, a maximally tolerable error for the model equations (in
%).

Convergence of Objective Function


The user is asked choose among the following two convergence criteria for the
Lagrangian function: Either the function itself is required to converge to a stationary point,
or the gradient of the Lagrangian is expected to converge.
In the first case, the user is asked to enter an absolute maximum change in value of the
objective function. If the change in value between two consecutive iterations falls below
this value, the Lagrangian is assumed to be converged.
In the latter case, the user is asked to enter an absolute maximum value for the gradient
of the Lagrangian. If the gradient falls below this value, the Lagrangian is assumed to be
converged.
It is strongly recommended – due to mathematical preciseness – to use the criterion on
the gradient. The other option might only be of advantage if the underlying Jacobian ma-
trix behaves numerically instable which then typically results in a "toggling" of the con-
vergence process in the last iterations.

18 - 18
DIgSILENT PowerFactory State Estimation

Chapter 19
State Estimation

The State Estimator (SE) function of PowerFactory provides consistent load flow re-
sults for an entire power system, based on real time measurements, manually entered
data and the network model. Before any further analysis, such as contingency analy-
sis, security checks etc. can be carried out, the present state of a power system must
be estimated from available measurements. The measurement types that are pro-
cessed by the PowerFactory State Estimator are:
• Active Power Branch Flow
• Reactive Power Branch Flow
• Branch Current (Magnitude)
• Bus Bar Voltage (Magnitude)
• Breaker Status
• Transformer Tap Position
Unfortunately, these measurements are usually noisy and some data might even be
totally wrong. On the other hand, there are usually more data available than abso-
lutely necessary and it is possible to profit by redundant measurements for improving
the accuracy of the estimated network state.
The states that can be estimated by the State Estimator on the base of the given mea-
surements vary for different elements in the network:
• Loads
- Active Power, and/or
- Reactive Power, or
- Scaling Factor, as an alternative
• Synchronous Machines
- Active Power, and/or
- Reactive Power
• Asynchronous Machines
- Active Power
• Static var System
- Reactive Power
• 2- and 3-winding transformers
- Tap Positions (for all but one taps).

19 - 1
DIgSILENT PowerFactory State Estimation

19.1 Objective Function


The objective of a state estimator is to assess the generator and load injections, and
the tap positions in a way that the resulting load flow result matches as close as pos-
sible with the measured branch flows and bus bar voltages. Mathematically, this can
be expressed with a weighted square sum of all deviations between calculated (calVal)
and measured (meaVal) branch flows and bus bar voltages:

n
∑ wi ⋅ calVali ( x ) – meaVali
2
f(x) =
i=1

The state vector x contains all voltage magnitudes, voltage angles and also all vari-
ables to be estimated, such as active and reactive power injections at all bus bars.
Because more accurate measurements should have a higher influence to the final re-
sults than less accurate measurements, every measurement error is weighted with a
weighting factor w i to the standard deviation of the corresponding measurement
device (+transmission channels, etc.).
In this setting, the goal of a state estimator is to minimize the above given function f un-
der the side constraints that all load flow equations are fulfilled.

19.2 Components of the PowerFactory State Estimator


The State Estimator function in PowerFactory consists of several independent compo-
nents, namely:
1 Preprocessing
2 Plausibility Check
3 Observability Analysis
4 State Estimation (Non-Linear Optimization)
Figure 19.1 illustrates the algorithmic interaction of the different components. The first
Preprocessing phase adjusts all breaker and tap positions according to their measured sig-
nals.

19 - 2
DIgSILENT PowerFactory State Estimation

Preprocessing

Plausibility Check

Eliminate Errornous
Measurements

E lim in a te B a d M e a s u re m e n ts
“Repair” Unobservability”

Still Unobservable? Observable?

State Estimation
(non-linear Optimization)

Bad Data Detection

No Bad Measurements Exists

OK
Fig. 19.1: Scheme of the PowerFactory state estimator algorithm

The Plausibility Check is sought to detect and separate out, in a second phase, all mea-
surements with some apparent error. PowerFactory provides various test criteria for
that phase of the algorithm.
In a third phase, the network is checked for its Observability. Roughly speaking, a region
of the network is called observable, if the measurements in the system provide enough
(non-redundant) information to estimate the state of that part of the network.
Finally, the State Estimation itself evaluates the state of the entire power system by solv-
ing the above mentioned non-linear optimization problem. PowerFactory provides var-
ious ways for copying with non-observable areas of the network.
In order to improve the quality of the result, observability analysis and state estimation
can be run in a loop. In this mode, at the end of each state estimation, the measurement
devices undergo a so-called ”Bad Data Detection”: the error of every measurement device
can be estimated by evaluating the difference between calculated and measured quantity.
Extremely distorted measurements (i.e. the estimated error is much larger than the stan-
dard deviation of the measurement device) are not considered in the subsequent itera-
tions. The process is repeated until no bad measurements are detected any more.
In the following, the distinct components of the PowerFactory state estimator are ex-
plained in detail.

19 - 3
DIgSILENT PowerFactory State Estimation

19.2.1 Plausibility Check


In order to avoid any heavy distortion of the estimated network-state due to completely
wrong measurements, the following Plausibility Checks can be made before the actual
State Estimation is started. Every measurement that fails in any of the listed Plausibility
Checks will not be considered.
• Check for consistent active power flow directions at each side of the branch elements.
• Check for extremely large branch losses, which exceed their nominal values.
• Check for negative losses on passive branch elements.
• Check for large branch flows on open ended branch elements.
• Check whether the measured branch loadings exceed the nominal loading value of
the branch elements.
• Node sum checks for both, active and reactive power.
Each test is based on a stochastic analysis which takes into account the measurement’s
individual accuracy. The strictness of the above mentioned checking criteria can be con-
tinuously adjusted in the advanced settings.
The result of the Plausibility Check is reported, for each measurement, on a detailed error
status page (see section 19.5).

19.2.2 Observability Analysis


A necessary requirement for an observable system is that the number of available mea-
surements is equal or larger than the number of estimated variables. This verification can
easily be made at the beginning of every state estimation.
But it can also happen that only parts of the network are observable and some other parts
of the system are not observable even if the total number of measurements is sufficient.
Hence, it is not only important that there are enough measurements, but also that they
are well distributed in the network.
Therefore, additional verifications are made checking for every load or generator injection
whether it is observable or not. The entire network is said to be observable if all load or
generator injections can be estimated based on the given measurements. PowerFactory
does not only solve the decision problem whether the given system is observable or not:
If a network is not observable, it is still useful to determine the islands in the network that
are observable.
The Observability Analysis in PowerFactory is not purely based on topological argu-
ments; it heavily takes into account the electrical quantities of the network. Mathemati-
cally speaking, the Observability Check is based on an intricate sensitivity analysis,
involving fast matrix-rank-calculations, of the whole system.
The result of the Observability Analysis can be viewed using the data manager. Besides,
PowerFactory offers a very flexible color representation both for observable and unob-
servable areas, and for redundant and non-redundant measurements (see Section
19.5.4).

Observability of individual states


The Observability Analysis identifies not only, for each state (i.e., load or generator injec-

19 - 4
DIgSILENT PowerFactory State Estimation

tions) whether it is observable or not. It also subdivides all unobservable states into so-
called ”equivalence-classes”. Each equivalence-class has the property that it is observable
as a group, even though its members (i.e., the single states) cannot be observed. Each
group then can be handled individually for the subsequent state estimation.

Redundancy of measurements
Typically, an observable network is overdetermined in the sense that redundant measure-
ments exist, which—for the observability of the system—do not provide any further infor-
mation. During the Observability Analysis, PowerFactory determines redundant and
non-redundant measurements. Moreover, it subdivides all redundant measurements ac-
cording to their information content for the system’s observability status. In this sense,
PowerFactory is even able to calculate a redundancy level which then indicates how
much reserve the network measurements provide. This helps the system analyst to pre-
cisely identify weakly measured areas in the network.
It should be remarked that the non-linear optimization part of the State Estimator may
highly profit from these ”redundant” measurements; thus, redundant measurements will
not be neglected in the state estimation.

19.2.3 State Estimation (Non-Linear Optimization)


The non-linear optimization is the core part of the State Estimator. As already mentioned
in the introduction, the objective is to minimize the weighted square sum of all deviations
between calculated and measured branch flows and bus bar voltages whilst fulfilling all
load flow equations.
PowerFactory uses an extremely fast converging iterative approach to solve the prob-
lem based on Lagrange-Newton methods. If the Observability Analysis in the previous
step indicates that the entire power system is observable, convergence (in general) is
guaranteed.
In order to come up with a solution for a non-observable system, various strategies can
be followed: One option is to reset all non-observable states, such that some manually
entered values or historic data is used for these states. An alternative option is to use so-
called pseudo-measurements for non-observable states. A pseudo-measurement basically
is a measurement with a very poor accuracy. These pseudo-measurements force the al-
gorithm to converge. At the same time, the resulting estimated states will be of correct
proportions within each equivalence-class.
In the remaining sections of this guide of use, the instructions related to Data Entry, Op-
tions and Constraints, and Visualization of Results are presented.

19.3 State Estimator Data Input


The main procedures to introduce and manipulate the State Estimator data are indicated
in this section. For applying the PowerFactory State Estimator, the following data are
required additional to standard load flow data:
• Measurements
- Active Power Branch Flow
- Reactive Power Branch Flow

19 - 5
DIgSILENT PowerFactory State Estimation

- Branch Current (Magnitude)


- Bus Bar Voltage (Magnitude)
- Breaker Status
- Transformer Tap Position
• Estimated States
- Loads: Active Power (P) and/or Reactive Power (Q), or the Scaling Factor, as an
alternative.
- Synchronous Machines: Active Power (P) and/or Reactive Power (Q)
- Asynchronous Machines: Active Power (P)
- Static var Systems: Reactive Power (Q)
- Transformers: Tap Positions
For the measurements listed above, PowerFactory uses the abbreviated names P-mea-
surement, Q-measurement, I-measurement, V-measurement, Breaker-measurement,
and Tap position-measurement. Similarly, as a convention, the four different types of es-
timated states are shortly called P-state, Q-state, Scaling factor-state, and Tap position-
state.

19.3.1 Measurements
All measurements are defined by placing a so-called ”External Measurement Device” in-
side a cubicle. For this purpose, select the device in the single-line graphic and choose
from the context menu (right mouse button) ”New Devices” and then ”External Measure-
ments...” (see figure 19.2). Then, the new object dialogue pops up with a predefined list
of external measurements. Please select the desired measurement device among this list
(see figure 19.3).

19 - 6
DIgSILENT PowerFactory State Estimation

Fig. 19.2: External Measurements that are located in a cubicle

Fig. 19.3: Defining new external measurements

19 - 7
DIgSILENT PowerFactory State Estimation

The following measurement devices are currently supported


• (External) P-Measurement (StaExtpmea)
• (External) Q-Measurement (StaExtqmea)
• (External) I-Measurement, current magnitude (StaExtimea)
• (External) V-Measurement, voltage magnitude (StaExtvmea)
• (External) Breaker Signalization Breaker Status (StaExtbrkmea)
• (External) Tap-Position Measurement Tap Position (StaExttapmea)
Any number of mutually distinct measurement devices can be defined in the cubicle.

Branch Flow Measurements


Any branch flow measurement (StaExpmea, StaExtqmea) is defined by the following val-
ues (see figures 19.4 and 19.5):
• Measured value (e:Pmea or e:Qmea, respectively)
• Multiplicator (e:Multip)
• Orientation (e:i_gen)
• Accuracy class and rating (e:Snom and e:accuracy)
• Input status (to be found on the second page of the edit object, see figure 19.5):
E.g., tele-measured, manually entered, read/write protected, . . . (e:iStatus). It is
important to note that the state estimator takes into account only measurements, for
which the ”read”-Status is explicitly set and for which the ”Neglected by SE”-Status is
unset.

Fig. 19.4: Dialogue for an external P-measurement

The accuracy class and the rating are used for weighting the measurement element. In

19 - 8
DIgSILENT PowerFactory State Estimation

case of redundant measurements, a more accurate measurement will be higher weighted


than a less accurate measurement.
Using the flag ”orientation”, it is possible to define the meaning of the active or reactive
power sign. Load orientation means that a positively measured P or Q flows into the ele-
ment, generator orientation defines a positive flow as flowing out of an element. With the
”multiplicator”, a measured quantity can be re-rated. E.g., if a measurement instrument
indicates 150kW (instead of 0.15MW), the ”multiplicator” can be set to 0.001 and the
measured value is set to 150 resulting in a correct value.
It is important to note, that External P- and Q-measurements have the additional feature
to possibly serve as a so-called (externally created) pseudo-measurement. This feature is
activated by checking the corresponding box (e:pseudo). Pseudo-measurements are
special measurements which are ignored during the regular calculation. They are activat-
ed in a selective manner only if the observability check found unobservable states in the
network (see section 19.4.1 (Basic Setup Options) for details).

Current Measurements
The External I-measurement (Staextimea) plays a special role and slightly differs from
the External P- and Q-measurements (see figure 19.6): Besides specifying the measured
current magnitude (e:Imea), the user is asked to enter an assumed (or measured) value
for the power factor cosϕ (e:cosphi and e:pf_recapr).

Fig. 19.5: Second page ”Status” of the dialogue for an external P-measurement

Internally, the measured current magnitude is then additionally transformed into two fur-
ther measurements, namely an active and a reactive current. This is due to the fact that
current magnitude does not provide information on the direction of the flow, which — on
the other hand — is essential to avoid ambiguous solutions in the optimization.
In this sense, an external I-measurement may play the role of up to three measurements:

19 - 9
DIgSILENT PowerFactory State Estimation

1 as a current magnitude measurement.


2 as a measurement for active current.
3 as a measurement for reactive current.
The decision which of these measurements shall participate in the state estimator is left
to the user by checking the boxes (e:iUseMagn,e:iUseAct, and/or e:iUseReact).
In any case, the corresponding ratings for the used measurement types need to be spec-
ified. This is done (accordingly to the flow measurements) by entering the pairs of fields
((e:SnomMagn,e:accuracyMagn), (e:SnomAct,e:accuracyAct), and (e:SnomRe-
act,e:accuracyReact), respectively).

Voltage Measurements
Voltage measurements (StaExvmea) need to be placed in cubicles as well. The measure-
ment point then is the adjacent terminal.

Fig. 19.6: Dialogue for an external I-measurement

A voltage measurement basically has the same properties as a flow measurement, except,
for the rating, only a single value for the accuracy needs to be specified. The correspond-
ing internal reference is the nominal voltage of the terminal which serves as measurement
point.

19 - 10
DIgSILENT PowerFactory State Estimation

Breaker and Tap Position Measurements


Both breaker and tap position measurements are assumed to measure the corresponding
discrete breaker status and tap position signal accurately. Hence, no ratings needs to be
specified.
Tap position measurements have a conversion table as extra feature. The conversion ta-
ble allows any discrete translation mapping between external tap positions (Ext. Tap) and
tap positions used by PowerFactory (PF Tap).

19.3.2 Activating the State Estimator Display Option


To access and enter data for State Estimator calculations in the appropriate elements of
the grid, the pertinent ”Display Options” must be selected as follows:

a) Click the icon , or select from the main menu ”Options User Settings”. Change
to the tab page ”Functions”. The window shown in figure 19.7 will appear.
b) Enable the Display Function ”State Estimator” as shown below.
c) Exit the window clicking the OK button.

Fig. 19.7: User Settings for State Estimation

With this display function enabled, a new tab called ”State Estimator” appears in the State
Estimator related elements of the grids in the activated project. The State Estimator data

19 - 11
DIgSILENT PowerFactory State Estimation

manipulation of the different elements is indicated below.

19.3.3 Editing the element data


In addition to the measurement values, the user has to specify which quantities shall be
considered as ”states to be estimated” by the SE. Possible states to be optimized whilst
minimizing the sum of the error squares over all measurements are all active and/or re-
active power injections at generators and loads and all tap positions.

Loads
For each load (ElmLod), the user can specify whether its active and/or reactive power
shall be estimated by the state estimator. Alternatively, the state estimator is able to es-
timate the scaling factor (for a given P and Q injection). The specification which parame-
ter shall be estimated, is done by checking corresponding boxes on the ”State Estimator”
page of the load (see figure 19.8). When these options are disabled, the load is treated
as in the conventional load flow calculation during the execution of the SE.

Fig. 19.8: Editing element data for loads

Synchronous Machines
Similarly, for synchronous machines (ElmSym), the active and reactive power can be se-
lected as a control variable for being estimated by the state estimator. Again, the user will
find corresponding check boxes on the ”State Estimator” page of the element.
If the corresponding check box(es) are disabled, the synchronous machine behaves as in
the conventional load flow calculation.

Asynchronous Machines
For asynchronous machines (ElmAsm), the active power may serve as a state to be esti-
mated. Once again, the corresponding box has to be checked on the ”State Estimator”
page.
If the corresponding check box is disabled, the asynchronous machine behaves as in the
conventional load flow calculation.

19 - 12
DIgSILENT PowerFactory State Estimation

Static var Systems


For static var systems (ElmSvs), the reactive power may serve as a state to be estimated.
Again, the corresponding box has to be checked on the ”State Estimator” page.
If the corresponding check box is disabled, the static var system behaves as in the con-
ventional load flow calculation.

Transformers
In the 2-winding transformer elements (ElmTr2), the tap position can be specified as a
state to be estimated by the State Estimator (see figure 19.9). Tap positions will be esti-
mated in a continuous way (without paying attention to the given tap limits).
For 3-winding transformers, any two of the three possible tap positions (HV-, MV-, and
LV-side) can be selected for estimation (see figure 19.10).
The corresponding check boxes are found on the ”State Estimator” page of the transform-
ers. If the check box is disabled the State Estimator will treat the tap position of the trans-
formers as in the conventional load flow calculation.

Fig. 19.9: Editing element data for 2-winding transformers

Fig. 19.10: Editing element data for 3-winding transformers

19 - 13
DIgSILENT PowerFactory State Estimation

19.4 Running SE
The following steps should be performed to execute the State Estimator:
• Start from a case where the conventional power flow converges successfully.

• Make sure that in the toolbar selection, the icon is chosen.

• Execute the SE by clicking the icon .


• Select the desired options for the State Estimator run (see below).
• Select EXECUTE.

19.4.1 Basic Setup Options


Recall that the State Estimator in PowerFactory consists of three different parts (Plau-
sibility Check, Observability Analysis, State Estimation (non-linear optimization)) and an
additional precedent Preprocessing step (see figure 19.1). This scheme is reflected in the
Basic Options dialogue (see figure 19.11).

Fig. 19.11: Editing the basic options page of the ComSe

19 - 14
DIgSILENT PowerFactory State Estimation

Preprocessing
The algorithm distinguishes between breaker- and tap position-measurements on the one
hand, and P-,Q-,I-, and V-measurements on the other hand. Breaker- and tap position-
measurements are handled in the preprocessing step, whereas the latter types are pro-
cessed in the subsequent parts or the state estimator.
Adapt breaker measurements
If this check box is marked, all measured breakers statuses will be set
to the corresponding measured signal values.
Adapt tap position measurements
If this check box is marked, all measured tap positions will be set to the
corresponding measured values.

Plausibility Check
The algorithm offers various kinds of plausibility checks to validate measurements. Each
measurement undergoes the checks selected by the user. If a measurement fails any of
the required tests, it will be marked as erroneous and will be neglected in all subsequent
steps. A complete error report can be obtained via the error status page of each measure-
ments (see section 19.5).
The following checks can be enabled by marking the corresponding check boxes.
Consistent active power flow direction at each branch
Checks for each passive branch, whether all connected P-
measurements comply with a consistent power flow direction. More
precisely, if some flow out of a passive element is measured while, at
the same time, no flow into the element is measured, then all P-
measurements connected to this element fail this test. For this check, a
P-measurement is said to measure a ”non-zero” flow if the
measurement value is beyond a value of σ • rating , where σ and
rating are the accuracy and the rating, respectively, of the
measurement.
Branch losses exceed nominal values
Checks for each passive branch, whether the measured active power
loss exceeds the nominal loss of the branch by a factor of 1 + ε. This
check only applies to passive branches which have P-measurements
Pmea1 , . . . ,Pmear in each of its r connection devices. The threshold ε,
by which the nominal loss shall not be exceeded, is given by:
r
ε = ∑ σi ⋅ rating i , where σi and ratingi are the accuracy and the
i=1
rating, respectively, of measurement Pmeai.
Negative losses on passive branches
Checks for each passive branch, whether the measured active power
loss is negative, i.e., if a passive branch is measured to generate active
power. This check only applies to passive branches which have P-
measurements Pmea1 , . .. , Pmear in each of its r connection devices.

19 - 15
DIgSILENT PowerFactory State Estimation

The measured power loss of the branch is said to be negative if it is


r
below the threshold ( – ∑ σ i ⋅ rating i ).
i=1
Large branch flows on open ended branches
Checks for each connection of the element, whether the connection is
an open end (i.e., switch is open, or it is connected to only open
detailed switches). If the connection is open and there exists a (P-, Q-,
or I-) measurement which measures a ”non-zero” flow, then the
corresponding measurement fails the test. Again, a measurement is
said to measure a ”non-zero” flow if the measurement value is beyond
a value of σ ·rating.
Branch loadings exceed nominal values
Checks for each connection of the element, if the measured complex
power (which is computed by the corresponding P- and/or Q-
measurements) exceeds the rated complex power value by a factor of
1 + s. Here, s is the accuracy of the P- and/or Q-measurement(s).
Node sum checks for active and reactive power
This check applies to P- and/or Q-measurements. Checks, for each
node of the network, if the node sum of the measured values in the
adjacent branches is zero. If this is not the case, i.e., if the P- and/or Q-
sum exceeds a certain threshold value, all adjacent P- and/or Q-
measurements fail the test. Again, ”not being zero” means that the
sum of the measured values of the adjacent P-measurements Pmea1 ,
r
... , Pmear has magnitude below the threshold ∑ σi ⋅ ratingi
i=1
(similarly for Q-measurements).

Observability Analysis
The Observability Analysis is an optional component of the State Estimator. If activated,
it checks whether the specified network is observable, i.e., whether the remaining valid
P-, Q-, V-, and I-measurements (which successfully passed the plausibility checks) suffice
to estimate the selected P-, Q-, Scaling Factor-, and Tap position-states. In addition, the
Observability Analysis detects redundant measurements. Redundancy, in general, yields
more accurate results for the following state estimation.
Moreover, if the Observability Analysis detects non-observable states, upon user selec-
tion, it tries to fix this unobservability by introducing further pseudo-measurements.
Check for observability regions
If the corresponding check box is marked by the user, the execution of
the State Estimator will run the Observability Analysis (prior to the state
Estimation optimization).
Treatment of unobservable areas
In case of unobservable states, the user has different options to cope
with the situation:
Stop if unobservable regions exist. The algorithm terminates with
the detection of unobservable states. The Observability Analysis groups
all non-observable states into different ”equivalence classes”. Each

19 - 16
DIgSILENT PowerFactory State Estimation

equivalence class consists of states that carry the same observability


information through the given measurements. In other words, the
given measurements can only distinguish between different
equivalence classes, but not between various states of a single
equivalence class. The results can be viewed by the user (see section
19.5 (Results)).
Use P-, Q-values as specified by model. If this option is selected,
the algorithm internally drops the ”to be estimated” flag of each non-
observable state and uses the element specifications of the load flow
settings instead. For example, if a P-state of a load is unobservable, the
algorithm will use the P-value as entered on the load flow page. Hence,
the network is made observable by reducing the number of control
variables.
Use predefined pseudo-measurements. Using this option, the
algorithm ”repairs” the unobservability of the network by increasing the
degrees of freedom. For that purpose, at the location of each non-
observable state, the algorithm tries to activate a pseudo-measurement
of the same kind. Hence, if a P- (Q-)state is non-observable in some
element, the algorithm searches for a P-(Q-)pseudo-measurement in
the cubicle of the element carrying the non-observable state. In case of
a non-observable scaling-factor both, a P- and a Q-pseudo-
measurement are required. The introduced pseudo-measurements
remain active as long as needed to circumvent unobservable areas.
Use internally created pseudo-measurements. This option is
similar to the previous one, except the algorithm automatically creates
and activates a sufficient number of internal pseudo-measurements to
guarantee observability. More precisely, internal pseudo-measurements
are created at the locations of all elements that have non-observable P-
(Q-, scaling factor-)state. For each such element, the pseudo-
measurement value for P (Q, P and Q) is taken from the element’s load
flow specification. All internally created pseudo-measurements use a
common setting for their rating and accuracy, which can be specified
on the advanced setup options page for the observability check.
Use predefined and internally created meas. This mode can be
considered as a mixture of the latter two options. Here, in case of a
non-observable state, the algorithm tries to activate a predefined
pseudo-measurement of the same kind. If no corresponding pseudo-
measurement has been defined, then the algorithm automatically
creates an internal pseudo-measurement.

State Estimation (Non-Linear Optimization)


The non-linear optimization is the central component of the State Estimator. The under-
lying numerical algorithm to minimize the measurements’ overall error is the iterative
Lagrange-Newton method.
Run state estimation algorithm
Check this box to enable the non-linear optimization. Note that after
convergence of the method,—upon user settings on the advanced state
estimation option page—PowerFactory performs a bad data check
which eliminates the worst P-,Q-,V-, and I-measurements among all
bad data. Observability Analysis and State Estimation are run in a loop

19 - 17
DIgSILENT PowerFactory State Estimation

until no further bad measurements exist (recall the algorithm scheme


as shown in figure 19.1).

19.4.2 Advanced Setup Options for the Plausibility Check


Each Plausibility Check allows for an individual strictness setting. Note that all checks rely
on the same principle: namely, the given measurement values are checked against some
threshold. Recall, for example, that the ”node sum check for P” tests whether the active
r
power sum at a node is below a threshold of ε = ∑ σi ⋅ rating i . The user has the pos-
i=1
sibility to influence the strictness of this threshold. Therefore, the settings provide to enter
so-called ”exceeding factors” fac > 0 such that the new threshold is fac · ε instead of
ε. E.g., in the case of the node sum check for P, the user may define the corresponding
factor fac_ndSumP.
The higher the exceeding factor, the less strict the plausibility test will be. Similar exceed-
ing factors can be specified for any of the given tests.

19.4.3 Advanced Setup Options for the Observability Check

Rastering of sensitivity matrix


Internally, the Observability Check is based on a thorough sensitivity analysis of the net-
work. For that purpose, the algorithm computes a sensitivity matrix that takes into ac-
count all measurements, on the one hand, and all estimated states on the other hand.
This sensitivity matrix is discretized by rastering the continuous values.
The user can specify the precision of this process by defining the number of intervals into
which the values of the sensitivity matrix shall be rastered (SensMatNoOfInt), the
threshold below which a continuous value is considered to be a 0 (SensMatThresh) in
the discrete case, and the mode of rastering (iopt_raster). It is highly recommended
to use the predefined values here.

Settings for internally created pseudo-measurements


If, on the basic option page, the mode for the treatment of unobservable regions is set
to ”use only internally created pseudo-measurements” or to ”use predefined and internal-
ly created pseudo-measurements”, the user may specify a default power rating (SnomP-
seudo) and a default accuracy class (accuracyPseudo). These default values are used
for all automatically created internal pseudo-measurements.

19.4.4 Advanced Setup Options for Bad Data Detection


Recall that the state estimator loops Observability Analysis and State Estimation as long
as no further bad measurement is found (see figure 19.1). The following settings allow
the user to control the number of iterations performed by the loop.

19 - 18
DIgSILENT PowerFactory State Estimation

Maximum number of measurements to eliminate


The variable iBadMeasLimit specifies an upper limit on the number of bad measure-
ments that will be eliminated in the course of the State Estimation.

Tolerance factors for bad measurement elimination


A measurement is declared to be bad, if the deviation of measured against calculated val-
ue exceeds the measurement’s accuracy, i.e., if

Eqn 19.1:
calcVal – meaVal ≥ accuracy
--------------------------------------------- ---------------------
rating 100
where calVal and meaVal are the calculated value and the measured value, respective-
ly. The user may modify this definition by adjusting tolerance factors for bad measure-
ments. More precisely, a measurement is declared to be bad, if the left-hand side in
equation (19.1) exceeds facErr ⋅ accuracy ⁄ 100 . Here facErr > 0 is a factor which can
be specified by the user for each group of measurements individually. Use the factors
facErrP, facErrQ, facErrV, facErrIMagn, facErrIAct, and facErrIReact for
P-, Q-, V-measurements, and the three types of the I-measurements (magnitude mea-
sure, active current measure, reactive current measure).

19.4.5 Advanced Setup Options for Iteration Control

Initialization
The non-linear optimization requires an initialization step to generate an initial starting
configuration.

Initialization of non-linear optimization


The user may specify whether the initialization shall be performed by a load flow calcula-
tion or by some flat start. If it is known in advance that the final solution of the optimiza-
tion part is close to a valid load flow solution, initializing by a load flow calculation pays
off in a faster convergence.

Load Flow
Specifies the settings of the load flow command which is taken for initialization in case
no flat start is used.

Stopping criteria for the non-linear optimization


The non-linear optimization is implemented using an iterative Newton-Lagrange method.
Recall that the goal of the optimization is to minimize the objective function f (i.e., the
square sum of the weighted measurements’ deviations) under the constraint that all load
flow equations are fulfilled. Mathematically speaking, the aim is to find
min { f ( x ) }

19 - 19
DIgSILENT PowerFactory State Estimation

under the constraint that


g(x) = 0
where g is the set of load flow equations that need to be fulfilled. By the Lagrange-New-
ton method, we thus try to minimize the resulting Lagrange function
T
L ( x, λ ) = f ( x ) + λ ⋅ g ( x )

with the Lagrange multipliers λ .


The following parameters can be used to adapt the stopping criteria for this iterative pro-
cess. The algorithm stops successfully if the following three issues are fulfilled:
1. The maximum number of iterations has not yet been reached.
2. All load flow constraint equations g ( x ) = 0 are fulfilled to a predefined degree
of exactness, which means:
(a) all nodal equations are fulfilled.
(b) all model equations are fulfilled.

3. The Lagrange function L ( x, λ ) itself converges. This can be achieved if


(a) either the objective function itself converges to a stationary point, or
(b) the gradient of the objective function converges to zero.
The following parameters serve to adjust these stopping criteria. The user unfamiliar with
the underlying optimization algorithm is urged to use the default settings here.

Iteration Control of non-linear optimization


The user is asked to enter the maximum number of iterations.

Convergence of Load Flow Constraint Equations


The user should enter a maximal error for nodal equations (where the deviation is mea-
sured in kVA), and, in addition, a maximally tolerable error for the model equations (in
%).

Convergence of Objective Function


The user is asked choose among the following two convergence criteria for the
Lagrangian function: Either the function itself is required to converge to a stationary point,
or the gradient of the Lagrangian is expected to converge.
In the first case, the user is asked to enter an absolute maximum change in value of the
objective function. If the change in value between two consecutive iterations falls below
this value, the Lagrangian is assumed to be converged.
In the latter case, the user is asked to enter an absolute maximum value for the gradient
of the Lagrangian. If the gradient falls below this value, the Lagrangian is assumed to be
converged.
It is strongly recommended—due to mathematical preciseness—to use the criterion on
the gradient. The other option might only be of advantage if the underlying Jacobian ma-
trix behaves numerically instable which then typically results in a ”toggling” of the con-

19 - 20
DIgSILENT PowerFactory State Estimation

vergence process in the last iterations.

Output
Two different levels of output during the iterative process can be selected.

19.5 Results
The presentation of the State Estimator results is integrated into the user interface. The
solution of the non-linear optimization in the State Estimator is available via the complete
set of variables of the conventional Load Flow calculations. It can be seen in the single
line diagram of the grid or through the browser.

19.5.1 Output Window Report


The PowerFactory State Estimator reports the main steps of the algorithm in the output
window (see figure 19.12).
For the Plausibility Checks, this implies the information on how many models failed the
corresponding checks. For the Observability Analysis, the report contains the information
on how many states were determined to be observable, and—in addition—how many
measurements were considered to be relevant for observing these states.

Fig. 19.12: Report in the output window

Non-linear optimization reports, in each iteration step, the following figures:


• The current error of the constraint nodal equations (in VA) (Error Nodes).
• The current error of the constraint model equations (Error ModelEqu).
• The current value of the gradient of the Lagrangian function (Gradient
LagrFunc).
• The current value of the Lagrangian function (LagrFunc).
• The current value of the objective function f to be minimized (ObjFunc).

19 - 21
DIgSILENT PowerFactory State Estimation

19.5.2 External Measurements

Deviations
Each branch flow measurement (StaExtpmea, StaExtqmea) and each voltage mea-
surement (StaExtvmea) offers parameters to view its individual deviation between mea-
sured value and computed value by the State Estimation. The corresponding variables
are:
• e:Xmea: measured value as entered in StaExt*mea
• e:cMeaVal: measured value (including multiplier)
• e:Xcal: calculated value
• e:Xdif: deviation in % (based on given rating as reference value)
• e:Xdif_mea: deviation in % (based on the measured value as reference value)
• e:Xdif_abs: absolute deviation in the measurement’s unit
Here X is a placeholder for P, Q, or U in the case of a P-, Q-, or V-measurement.
Recall that a StaExtimea plays a special role, since a current measurement may serve
as up to three measurements (for magnitude, for active current, and/or for reactive cur-
rent). Hence, a current measurement has the above listed variables (with X being re-
placed by I) for each of the three measurement types. In order to distinguish between
the three types, for a StaExtimea, the variables carry the suffixes Magn (for magnitude
measurement), Act (for active current measurement), and React (for reactive current
measurement).

Fig. 19.13: For description page for external measurements (StaExtvmea,


StaExtqmea, StaExtvmea).

19 - 22
DIgSILENT PowerFactory State Estimation

Error Status
All measurements (StaExt*meas) which possibly participate in the Plausibility Checks,
the Observability Analysis, or the State Estimation provide a detailed error description
page (see figures 19.13 and 19.14) with the following information:
• General Errors:
- Is unneeded pseudo-measurement (e:errUnneededPseudo)
- Its input status disallows calculation, i.e., input status does not allow ”Read” or is
already marked as ”Wrong Measurement” (e:errStatus)
- Measurement is out of service (e:errOutOfService)
• Plausibility Check Errors:
- Fails test: Consistent active power flow direction at each side of branch
(e:errConsDir)
- Fails test: Large branch losses (e:errExcNomLoss)
- Fails test: Negative losses on passive branches (e:errNegLoss)
- Fails test: Large branch flows on open ended branches (e:errFlwIfOpn)
- Fails test: Branch loadings exceed nominal values (e:errExcNomLoading)
- Fails test: Node sum check for P (e:errNdSumP)
- Fails test: Node sum check for Q (e:errNdSumQ)
• Observability Analysis Errors:
- Measurement is considered to be redundant for observability of the network, i.e.,
observability is already guaranteed even without this measurement. Nevertheless
redundant measurements are used in the non-linear optimization since, in general,
they help to improve the result (e:errRedundant).
- For redundant measurements, also the redundancy level is indicated on this page
(e:RedundanceLevel). The higher the redundancy level, the more
measurements with a similar information content for the observability analysis
exist.
• State Estimation Errors:
- Measurement is detected to be bad, has been removed and was not considered in
last non-linear optimization loop (e:errBadData)
This detailed error description is encoded in the single parameter e:error that can be
found on the top of the error status page. Again, we have the convention that, for a
StaExtimea, the variables e:errRedundant, e:RedundanceLevel and e:errBad-
Data carry the suffixes Magn (for magnitude measurement), Act (for active current mea-
surement), and React (for reactive current measurement).

19.5.3 Estimated States

Which states participated as control variables?


Recall that —depending on the selected ”treatment of unobservable regions”— not all
states that were selected for estimation (see Section 19.3.3 (Editing the element data))
will necessarily be estimated by the algorithm: In case of non-observability, it may happen

19 - 23
DIgSILENT PowerFactory State Estimation

that some control variables need to be reset.


To access the information which states were actually used as control variables, Power-
Factory provides a flag for each possible state. These flags are called
c:i{P,Q,Scale,Tap}Setp for P-, Q-, Scaling factor-, and Tap-states, respectively.
They can be accessed through the Flexible Data Page as Load Flow calculation parameters
for the following elements: ElmLod, ElmAsm, ElmSym, ElmSvs, ElmTr2, and
ElmTr3.

Observability of individual states


The Observability Analysis identifies, for each state, whether it is observable or not. More-
over, if the network is unobservable, it subdivides all unobservable states into ”equiva-
lence-classes”. Each equivalence-class has the property that it is observable as a whole
group, even though its members (i.e., the single states) cannot be observed. The equiv-
alence classes are enumerated in ascending order 1, 2, 3, . ...

Fig. 19.14: Detailed error description page for external current measurements
(StaExtimea).

For this purpose, the Observability Analysis uses the flags c:i{P,Q,Scale,Tap}ob-
sFlg for P-, Q-, Scaling factor-, and Tap-states, respectively. These parameters exist for
all elements which carry possible states (ElmLod, ElmAsm, ElmSym, ElmSvs, ElmTr2,

19 - 24
DIgSILENT PowerFactory State Estimation

ElmTr3). The semantics is as follows:


• a value of -2 means that the correspond state is not estimated at all.
• a value of -1 means that the correspond state is unsupplied.
• a value of 0 means that the corresponding state is observable.
• a value of i > 0 means that the correspond state belongs to equivalence-class i.

19.5.4 Color Representation


In addition, PowerFactory provides a special coloring mode ”Observability” for the sin-
gle line diagram which takes into account the individual measurement error statuses and
the states to be estimated (see figure 19.15). The coloring can be accessed by clicking

the icon on the task bar.


The color representation is valid as soon as an Observability Analysis has been performed
successfully.
The color representation paints the location of measurements (of a specific type) and the
location of states (of a specific type) simultaneously.

Fig. 19.15: Coloring of measurement error statuses and estimated states.

Estimated States
The user selects to color states of a specific type (P-, Q-, Scaling factor-, or Tap position-

19 - 25
DIgSILENT PowerFactory State Estimation

states). Distinct colors for observable, unobservable, non-estimated states, and states
with unclear observability status can be chosen.

External Measurement Locations


The user selects to color measurements of a specific type (P-, Q-, V-, or I-measurements).
Distinct colors for valid, redundant and invalid measurements can be chosen. A measure-
ment is said to be valid if its error code (e:error) equals 0.
Besides, measurements with a specific error code can be highlightened separately using
an extra color. To select such a specific error code press the Error Code button and
choose from the detailed error description list any ”AND”-combination of possible errors.

19 - 26
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Chapter 20
Optimization Tools for Distribution Networks

The objective of this chapter is to present the tools implemented in PowerFactory for
the optimization of distribution networks. By means of simple command edit dialogues it
is possible to calculate the optimal placement, type and size of capacitors in radial distri-
bution networks; the optimal separation points of meshed networks and the optimal type
of reinforcement cables and overhead lines. Each section introduces a different tool, pre-
senting a general description, the objective function, the optimization procedure and the
command dialogues.

20.1 Optimal Capacitor Placement


The idea for optimal capacitor placement is to determine the location, type and the size
of capacitors to be installed in the nodes of the radial distribution network. The economic
benefits due to energy loss reduction are weighted against the cost of installation of such
capacitors while keeping the voltage profile of the system within defined limits.
The pre-configured commands related to optimal capacitor placement become available
at the button bar on the main menu after selecting the icon in flexible tool bar. These
commands are:

• Setup of Optimization and execution (see 20.1.3 and 20.1.4).

• Showing and setting up the list of available capacitor types .

• Result output for nodes with new capacitors installed .

• Result output for new capacitors recommended for installation .

• Result output as a pre-configured text report .

20.1.1 Objective Function


The optimization algorithm minimizes the annual total network cost. These cost contain
the following components:
• Annual cost of capacitors (investment, maintenance, insurance), as indicated on the
description page of the capacitor type.
• Cost of energy losses in the network, which can be reduced by the capacitors due to
the improved voltage profile and due to avoided transport of reactive power

20 - 1
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

• Fictitious penalty cost for network nodes with a voltage outside the allowed band (see
figure 20.1).

Fig. 20.1: Fictitious cost assigned by voltage band violations

20.1.2 Optimization Procedure


To find the optimal configuration of capacitors, PowerFactory applies 2 different steps:
1 Sensitivity analysis to select the candidate buses for capacitor installation
2 Optimization step to determine the actual locations and sizes of the shunt capacitors
The optimization is not only performed for a single load level, but for all load levels de-
scribed in a discrete scale that is handed over to PowerFactory. For each of these load
levels the voltage at the buses must be kept within the allowed bandwidth. An additional
vectorial characteristic describes the probability of each of these load levels in hours/year,
so that the cost of losses can be calculated accordingly. The final result of the optimization
process are the locations for the installation of capacitors, the types and sizes of capaci-
tors to be installed and the capacitor switch positions for the different load levels.

Sensitivity Analysis
In this step test capacitors are installed at all busbars in the system and the effect of the
installation on the total annual system cost is evaluated. The size of the test capacitors
used to evaluate the cost benefit can be selected according to 4 different options:
• Minimum available capacitor size is used.
• Maximum available capacitor size is used.
• The capacitor size is determined by the peak reactive power requirements of the load.
• The capacitor size best fitting to the reactive energy consumption of the load is used.

20 - 2
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Final optimization step


This step implements 2 different optimization procedures to determine the optimum loca-
tion of capacitors:
a. Gradient search - this search is fast and mostly will find a solution that performs
well - even if not the mathematically exact global optimum.
b. Tabu Search - this search finds the exact optimum, but may be more time-
consuming.

20.1.3 Basic Options Page

Fig. 20.2: Basic Options page

Feeder
Please select the feeder for which the optimum capacitor placement should be performed.
The feeder is a special PowerFactory element which has to be created before selecting
it in this dialogue (for information about feeders refer to 11.1 (Feeders and Feeder Ob-
jects)).

Optimization Level
The Optimization Level List offers 4 options:
• Remove previous solution - deletes any capacitors placed in the network during the
previous run of the optimization function

20 - 3
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

• Sensitivity only: Performs the sensitivity analysis and shows the result in the text
output window, but does not place any capacitors
• Fix Capacitors: Optimizes the network for fix capacitors, that is capacitors without any
voltage control
• Switched Capacitors: Optimizes the network for switched capacitors performing
voltage control.

Sensitivity Analysis
• Min Shunt: the minimum available capacitor size is used
• Max. Shunt: the maximum available capacitor size is used
• Best fit to load: the capacitor size best fitting to the reactive energy consumption of
the load is used
• Depend on load: the capacitor size is determined by the reactive power requirements
of the load

Optimization Approach
• Gradient Search: Newton-Raphson-Optimization to detect local optimum
• Reactive Tabu Search: Tabu search to detect global optimum of reactive power
installation

Max. Number of Iterations


Max. number of iterations as criterion for interrupting before termination of optimization
process.

Max. Execution Time


Max. duration until interrupting before termination of optimization process.

Connect Candidate Shunts


The optimization always generates a report describing the proposed capacitor locations.
If this field is checked, the capacitors are added to the data of the network.

Do not consider Energy Cost


If this option is checked, the cost of losses are not considered in the target function.

Energy Cost
Energy cost applied (in specific cost per kWh).

Constraints - Allowed voltage


Voltage band, defined by lower limit (min. voltage) and upper limit (max. voltage) in %.

20 - 4
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Different penalty cost apply for voltages within the allowed band and outside.

Constraints - Reactive Power of all capacitors


If the sum reactive power of all capacitors is limited, the value is entered in this field.

Available Capacitors
When pushing this button, the list appears with all capacitor types available for the opti-
mization. The recommended way of entering types to this list is by copy/paste from type
libraries.

20.1.4 Advanced Options Page

Fig. 20.3: Advanced Options page

Discrete Scale and Trigger


Scale with discrete steps of the loading.The correct consideration of the load levels makes
it necessary to have defined a vectorial characteristic with scaling factors for each load
during the defined load level. It is good practise to refer to this characteristic in the scaling
factor on the load-flow page of each load. Figures 20.4 and 20.5, show an example of a
discrete scale and a load characteristic. Further information on scales and vector charac-
teristics is given in 10.1 (Characteristics, Scales and Triggers) and 10.2 (Handling Scales
and Characteristics).

20 - 5
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Fig. 20.4: Example of discrete scale for loading level

Fig. 20.5: Example of load characteristic

Time Vector
Vectorial Characteristic to describe the probability of each discrete loading level (in hrs/
yr). Further information on scales and vector characteristics is given in 10.1 (Character-
istics, Scales and Triggers) and 10.2 (Handling Scales and Characteristics).

20 - 6
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Fig. 20.6: Example of load curve (time vector)

Candidate Buses
Percentage of all candidate buses from the sensitivity analysis that are used for the actual
optimization process.

Fix number of capacitors


If checked, each capacitor type in the list is used once only.

Penalty factor 1: dv > dvmax


Penalty cost for buses with voltage values outside the admissible band.

Penalty factor 2: dv < dvmax


Penalty cost for buses with voltage values inside the admissible band.

20.1.5 Results
The last three tool-bar buttons give access to the optimization results.

20 - 7
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Result output for nodes with new capacitors installed

When pressing the icon , a list appears with all nodes named where capacitors are
listed.

Result output for new capacitors recommended for installation

Pressing the icon generates a list of capacitors distributed in the grid.

Result output as a pre-configured text report

This icon ( ) generates a report with the results of the sensitivity analysis and the final
optimization procedure.

20.2 Open Tie Optimization

The open tie optimization is started when selecting the general tools in the flexible
toolbar and pressing the icon for open tie-point optimization:

• Open-Tie-Optimization .

20.2.1 Optimization Procedure


Input data for the optimization algorithm is a network with - in general - a meshed topol-
ogy. The optimization algorithm will proceed in the following way:
• A search is started for possible meshes in the network. Each found mesh is closed first
by closing all open switches in the loop. A load-flow calculation is then made, after
which the loop is opened at the position with the lowest current. Normally, the switch
with the lowest current is opened, but alternatively, the element with the lowest
current can be taken out of service when that current is lower than the lowest switch
current.
• When opening a loop at the optimum location for active losses leads to an overload
on any line in the network, the algorithm will open a different line instead.
• This is continued until no more closed loops can be found.
A final optimization step is following to search for further improvement.
The impact of opening disconnectors on voltage band violations is not checked. The typ-
ical case in open-tie optimization however is that the open-tie-location optimum for loss
reduction also performs best for keeping the defined voltage band.

20 - 8
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

20.2.2 Options Page

Fig. 20.7: Basic Options page

Feeding points
The section of the network where the optimum open-tie points should be determined is
defined by a set of "feeding points".
Such feeding points can be
• External grids.
• The source-side switchbay of Lines (Overhead lines and cables).
• The source-side switchbay of transformers (if the complete transformer is selected,
the HV side is considered the feeding side).
• The combination of a busbar/terminal and a branch, in which case the feeding
direction towards the branch.
• A feeder object.
The feeding points are the positions where power is assumed to flow into the network.
Only meshes between the feeding points will be optimized. Meshes connecting points in
already optimized meshes are optimized also.

Update Database
If this box is unchecked, the proposals for opening disconnectors are listed in the output
report. If the box is checked, the status of the respective disconnectors is also modified
in the data of the network.

20 - 9
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Force elements on outage when not switchable


The search for the position with the lowest current, which is to be opened, can be extend-
ed by allowing the command to force and opening by setting an element out of service,
when no switch is available at the specific location.

Selection
The possible options are:
• Whole System: the complete system fed by the feeding points is radialized;
• One Grid: If the network is composed of several grids (e.g. transmission and
distribution), the grid to be optimized can be selected;
• User-defined: an user defined set is selected, the lines in this set are used for
radializing the network. The selection can be used to further limit the area which is to
be optimized. The first limitation is by defining feeding points. Only meshes for which
all elements are in the selection will be optimized.

Load-Flow Command
Reference to the load-flow settings used by the optimization.

Output On
If this box is checked, the result report is directly written to the message window.

Output
Reference to the configuration dialogue of the output available after termination of the
optimization routine.

20.3 Cable Size Optimization

The cable size optimization can be selected using the general tools and pressing the
icon for cable size optimization:

• Cable Size Optimization

20.3.1 Objective Function


The objective function for the optimization are the annual cost for the reinforced lines.
This includes investment, operational cost and insurance fees. The following constraints
are considered in the optimization process, where the implementation is based on ficti-
tious penalty cost:
Maximum admissible line loading
An admissible overloading percentage may be defined by the user to avoid over-
rating of the lines. Typically any overloading can be avoided by selecting the

20 - 10
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

appropriate type of conductor for cables and overhead lines. The penalty factor for
these lines therefore is fix and cannot be defined by the user.
Maximum voltage drop
Depending on the system topology, on the loads and on the length of the feeder, it
may not be possible to avoid voltage band violations of some nodes due to voltage
drop. This may be mitigated by the installation of a capacitor during a post-
processing optimization.
The specific penalty cost of the optimization therefore is a parameter that can be defined
by the user to weight the voltage loss against the line investments.

20.3.2 Optimization Procedure


The optimization process minimizes the annual cost of the network. As constraints for the
optimization it uses the admissible voltage band (in terms of max. voltage drop along the
feeder) and loading limits for the planned network. The optimization does not need a load
curve or a load forecast, as the impact of the conductor type on the cost of losses is not
considered within the function. Input data for the reinforcement optimization is a network
model that is complete for load-flow calculation. In addition to the network model, the
planner has to provide the following information:
• A library section with standard line types (cable or overhead line) that are available
for the new type assignment.
• A value for the max. voltage drop that is allowed for the new network topology.
The result of the optimization is a report about the recommended new cable/overhead
types for the lines in the network and the cost evaluated for the recommended upgrading.

20.3.3 Basic Options Page


The basic parameter page for the Cable Reinforcement function is shown in the figure
20.8. Its options are explained in the following.
Feeder
Specific Feeder element that supplies the network region where the cables have to
be reinforced.
Cable Types
Reference to folder that contains the allowed new types for overhead lines and
cables.
Load-Flow
Parameter set for the load-flow performed to analyze overloading and voltage band
violations.
Cable Overloads
Defines how to deal with cable overloads detected during the optimization.
Consider Cable Overloads
Flag to allow overloading of cables and overhead lines for peak load
situation.
Max. Loading
Limit for the admissible loading in the case that overloading of
overhead lines and cables is allowed.

20 - 11
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Fig. 20.8: Basic Options page

Check Consistency
Additional plausibility check that can be performed for the final solution. Several
settings are possible:
Off No plausibility check performed
Sum of feeding cables >= sum of leaving cables
very strict condition
Smallest feeding cable >= biggest leaving cable
less strict criterion)
Voltage Profile
Criteria for dealing with voltage band violations.
Consider Voltage Profile
Flag to force that voltage band violations should be included into the
optimization of the line types.
Maximum Voltage Drop Limit value (in %)
to define the max. voltage drop admissible at the end of the feeder.
Output
Various output options for the optimization results are possible.

20 - 12
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Report
Only Proposed new types for cables and overhead lines are listed in a
report of pre-defined form
Automatic Type Replacement
If this option is selected, the Report will be generated and additionally
the network database will be update with the proposed types.
Report Format
Selection of the format of the generated report.

20.3.4 Advanced Options Page


The advanced parameter page for the Cable Reinforcement function is shown in the figure
20.9.

Fig. 20.9: Advanced Options page

Voltage Profile
The voltage profile is treated as a constraint of the optimization process. A plane
with two slopes at the lower and upper limits adds penalty cost to the optimization
result in case of violations. The options are as follows:
Penalty Factor 1
Penalty cost for voltage drop lower or equal than admissible limit
defined on the basic parameter page (typically this value is set to 0).
Penalty Factor 2
Penalty cost for voltage drop higher than the admissible limit defined
on the basic parameter page. The value entered here describes the
weight of the voltage band limit in comparison to the investment cost
for the cable/OHL reinforcement.
Consistency Verification/Voltage Drop
Additional plausibility check that can be performed for the final solution if voltage
drop optimization is applied
Cross Section
Type selection for reducing the voltage drop is based on cable/OHL
cross section.

20 - 13
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Nominal Current
Type selection for reducing the voltage drop is based on rated current
of cable/OHL.

20 - 14
Volume IV
Reliability Analysis
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory Reliability Assessment Functions

Chapter 21
Reliability Assessment Functions

In general, the assessment of reliability indices for a power system network, or of parts
of a network, is the assessment of the ability of that network to provide the connected
customers with electric energy of sufficient availability, as one aspect of power quality.
Three different analysis functions are provided:
Contingency analysis:
The non-probabilistic (deterministic) assessment of failure effects
under given contingencies
Network reliability assessment:
The probabilistic assessment of interruptions during a future operation
period of the power system.
Voltage sag assessment:
The probabilistic assessment of the frequency and severity of voltage
sags during an operation period
Each of these calculation methods has it own typical applications. The contingency anal-
ysis can be used to determine power transfer margins or for detecting risk inherent in
loading conditions. Network reliability assessment is used to calculate expected interrup-
tion frequencies and annual interruptions cost, or to compare alternative network designs.
Voltage sag assessment is applied to determine the expected number of equipment trips
due to deep sags.

21.1 Contingency Analysis


The contingency analysis performs load-flow calculations for a user-defined set of outage
definitions. Each outage definition will take one or more primary components out of ser-
vice, after which a load-flow calculation is started. The contingency analysis summarizes
and describes the initial consequences of the contingency. It does not bother about the
operational measures taken to mitigate voltage band problems or supply interruptions.
This is done manually by the planner revising the list of problematic outages.
The contingency analysis is performed by the "Outage Simulation" command (ComSimo-
utage). This command will perform load-flow calculations for all stored "Outage Case''
objects (ComOutage). Each outage case may define one or more elements in the power
system which will be taken out of service simultaneously.
To quickly define a set of outage cases, a special "Prepare N-K Simulation'' command
(ComNmink) is available. This command appears when a selection of elements is right-
clicked in the single line diagram, and the option Calculate - Outage Simulation is selected.
References to the selected elements will be created in the preparation command auto-
matically. Either an "n-1'' or an "n-2'' outage simulation for the selected elements can then
be prepared. Optionally, all lines/cables, transformers or generators may be added to the

21 - 1
DIgSILENT PowerFactory Reliability Assessment Functions

selected elements.

21.1.1 Preparation of an (n-1)-Simulation

The (n-k)-preparation command will prepare and start the outage simulation com-
mand (ComSimoutage) in the currently active study case. If the "Tools" section is not

active, it can be selected by activating .


The preparation command creates outage cases from a list of selected objects. The dia-
logue can be seen in the figure 21.1. For the creation of contingencies it offers the fol-
lowing options:

Outage Level
n-1 This will create a single outage case for each selected object
n-2 This will additionally create outage cases for each unique combination of two
selected objects. The following types can be selected for the contingencies:
All objects stored by shortcuts in the preparation command itself
• Optionally all lines and cables
• Optionally all transformers
• Optionally all synchronous machines

Fig. 21.1: Setting up the list of contingencies

The preparation command will issue a warning when more than 100 outage cases will be
generated.
When creating a new list of elements for the contingency evaluation, the previous content
of the list is overwritten, if existing. After execution the preparation command will pop-up
the outage simulation command.
Another possibility for setting up the list of elements for the contingency analysis is to
graphically select a group of elements and right-click on one element in the selection. Af-
terwards the menu option Calculate - Outage Simulation has to be selected. References
to the selected objects will then be stored in the preparation command automatically.

21 - 2
DIgSILENT PowerFactory Reliability Assessment Functions

Instead of right-clicking a selection in a single line diagram, it is possible to create short-


cuts to network elements manually. One or more objects in a database manager can be
copied, and shortcuts can be created in the preparation command by right-clicking the
contents of the preparation command and selecting Paste Shortcut. The selection of ele-
ments to outage in the preparation command can also be created by the use of DPL
scripts. Please look up the ConNmink methods in the DPL reference manual.

21.1.2 Outage Simulation


The Outage Simulation command (ComSimoutage) will perform load-flow calculations
for all stored outage cases (ComOutage). Each outage case may define one or more ob-
jects which will be taken on outage simultaneously prior to calculating the load-flow for
that outage case.
The outage cases stored in the outage simulation command are normally automatically
created by the N-K preparation command (ComNmink), but new ones may be added by
hand.

Fig. 21.2: Basic Options of dialogue for starting the outage simulation

The outage simulation may also be controlled from a DPL script. Please see the DPL ref-
erence manual or the online help for interfacing methods. Based on the commands avail-
able user-defined reports may be generated.
The basic options for the outage simulation are shown in the figure 21.2. The meaning of
the options is the following:
Load flow command
Settings of the load-flow for the contingency analysis.

21 - 3
DIgSILENT PowerFactory Reliability Assessment Functions

Limits
Max. loading of edge element
Defines the loading level above which a warning is given in the contingency report.
Lower limit of allowed voltage
Minimum admissible voltage; lower voltage values lead to warnings.
Upper limit of allowed voltage
Maximum admissible voltage; higher voltage values lead to warnings.

Output
Print report for each contingency
If activated, the summary of the system behavior is printed out for each
contingency.
Print summary report
If activated, the summary of the system behavior with the outage distribution
factors, as described below, is printed out.
Output Data
Settings of the contingency report to be produced. Several templates are available
(see description of each report template below):
- Maximum circuit loading.
- Voltage ranges
- Overloaded circuits
- Voltage violations.
Besides the report for each contingency PowerFactory produces a summary of all cal-
culated contingencies and the effect on the system conditions. This summary evaluates
maximum loading, minimum and maximum voltage levels, and outage distribution factors
(ODF). The outage distribution factor is defined as
∆I ij
ODF ij, mn = ---------
I mn

where ∆I ij is the current change in branch i-j due to the outage of line m-n, Imn is the
pre-fault current in line m-n and all currents are single-base per-unit values (Inet).
The outage distribution factors are also calculated for generator outages, in which case
∆I ij
ODF ij, m = ---------
Im

is used, where ∆I ij is the current change due to the outage of generator m and Im is the
pre-fault current in that generator.
The outage simulation produces 4 types of reports:
In addition, a contingency report can be printed for each analyzed outage case.
The maximum loading report shows the highest loading found for all contingency cases,
for all branches. Additionally, the ODF for each branch, for the corresponding contingen-
cy. Multiple contingencies (i.e. with more than one outage) produce ODF's of zero. The

21 - 4
DIgSILENT PowerFactory Reliability Assessment Functions

contingency case for which the highest loading was found is given by number, and the
outaged objects are listed. The columns "Gen1'' and "Gen2'' show the first and second
synchronous generator on outage. The columns "Element...'' show the first, second, third,
etc. non-generator object on outage. The maximum loadings are sorted from high to low.
The voltage ranges report shows the highest and lowest voltage found for all contingency
cases, for all busbars and terminals. The outage case for both the highest as well as for
the lowest voltage are shown.
The overloaded circuit report shows all the outage cases for which a branch's loading ex-
ceeded the maximum loading. Additionally, the ODF for each branch, for the correspond-
ing contingency. Multiple contingencies (i.e. with more than one outage) produce ODF's
of zero. More than one contingency case may be shown for a single branch.
The voltage violations report shows all outages cases for which a node's voltage was out-
side the specified range. More than one contingency case may be shown for a single node.
The following options are available on the ''Advanced Options'' tab of the outage simula-
tion (figure 21.3):

Calculation Method
AC Load Flow Calculation
The contingency analysis uses an iterative AC load flow calculation to
calculate the power flow per case.
Sensitivity Method
The power flow per case is calculated based on the network
sensitivities. Each contingency case is formulated as a linear equation
system that forces the power flows in the interrupted components to be
zero.

Sensitivities (only if Sensitivity Method was selected)


MW only
Per contingency case, the power flow is calculated based on the active
power sensitivities only. The linear equation system is such that only
the active power flow in the interrupted components is zero.
MW and Mvar
Per contingency case, the power flow is calculated based on the active
and reactive power sensitivities. The linear equation system is such that
both active and reactive power flow in the interrupted components are
zero.

21 - 5
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.3: Advanced Options of dialogue for starting the outage

21.1.3 Outage Case


The Outage Case defines one or more objects which are to be taken on outage simulta-
neously. It is an object of type ComOutage. The description of an outage is done by the
following set of parameters:

Obj Monitored element


Elms Outaged Elements
Loading Loading
OutDisF Outage Distribution Factor
U voltage
Uarc angle
OutGen1 first outaged generator
OutGen2 second outaged generator

Table 21.1: Outage Cases

The outage cases are normally analyzed by the outage simulation command (ComSimo-
utage) in which they are stored. Each outage case however provides the functionality of
a command. Its interface dialogue is shown in the figures 21.4 and 21.5. Pressing the Ex-
ecute button will activate the outage simulation command to analyze this sole outage
case only. The situation at the end of the outage simulation, e.g. the grid topology includ-

21 - 6
DIgSILENT PowerFactory Reliability Assessment Functions

ing the load-flow results, is updated in the single line graphic.

Fig. 21.4: List of simulated outages

Fig. 21.5: Dialogue for detailed analysis of an outage simulation

Possible objects to add to the outage case include

21 - 7
DIgSILENT PowerFactory Reliability Assessment Functions

• Synchronous generators
• Lines, line routes, line sections
• Transformers
• Loads, motors
If a line section is marked to be part of an outage case, the complete line is considered
to be out of service. Lines which have line routes are replaced by the first line route.
The outage of busbars/terminals is not supported. A single outage case, which takes out
all objects connected to the busbar/terminal can be used in stead.

21.2 Network Reliability Assessment


The contingency evaluation is studying the effect of pre-defined component outages on
the system. The effect of these outages on the supply situation as well as the possible
measures to re-supply interrupted customers have to be analyzed manually.
The reliability analysis is an automation and probabilistic extension of the contingency
evaluation. The planner does not have to pre-define outage events, but simply all possible
outages are considered. The relevance of each outage is considered using statistical data
about the expected frequency and duration of outages of each component type. Also the
effect of each outage is analyzed in an automated way, which means that the software is
simulating the protection system and the network operator's actions to re-supply inter-
rupted customers. As statistical data of the frequency of each event are available, also
the results can be formulated in probabilistic terms.
An analytical assessment of the network reliability indices (transmission, sub-transmission
or distribution level) is started by

• clicking the icon on the main toolbar to activate the reliability toolbar (when
needed)

• clicking the icon


The Reliability Analysis dialogue as shown in the figure 21.6 will now appear.

21 - 8
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.6: Reliability Analysis dialogue - Basic Options

A reliability assessment will be started when the Execute button is pressed. The calcula-
tion time required for a reliability assessment can range from a few seconds for a small
network and only considering single-order contingencies to several hours for a large net-
work including also second-order faults. A running reliability assessment can be interrupt-

ed by pressing the Break icon ( ) on the main toolbar.

21.3 Calculation Options

21.3.1 Basic Options


The following options can be selected in the setup dialogue shown in the figure 21.6:
Analysis
Network, connectivity analysis
This will start an analysis in which the whole network will be involved. A

21 - 9
DIgSILENT PowerFactory Reliability Assessment Functions

load is assumed to be supplied when it is connected to a source of


power. Possible overloading of components is not regarded.
Network, load-flow analysis
This will start an analysis during which load-flow calculations are made
to check for possible overloading. Generator re-dispatch, load transfer
and load shedding will be used to alleviate overloads.
Loads
Consider Load Curves
If this option is checked characteristics assigned to the active and
reactive power of loads will be considered during the analysis. If
unchecked, loads will be considered as peak loads only (worst-case
estimation).
Define Load States
When considering load curves the reliability analysis is not able to study
each time interval of the study period. A useful approach is to
aggregate the individual hours of the time to study to representative
states, so-called clusters. The procedure used in PowerFactory is
adaptive and selects the number of clusters according to the load and
generation characteristics.
Start Year Start of the period for consideration of load curves
End Year Final year of the period for consideration of load curves
Characteristic Load States
Sets the time scale for the load state clusters. Possible options are
Yearly (Only considering yearly load development) and Complete Time
Range (Considering all characteristics assigned to loads).
Contingencies
Define Contingencies
If activated PowerFactory will set up a database of contingencies that
have been considered, together with their effect on the customer
supply. If not activated only the existing contingencies will be filtered
and analyzed.
Delete Contingencies
If pressed, all existing contingencies will be deleted from the
PowerFactory database to create and analyze only the new defined
contingencies.
Contingency Definition
Selection It is typical of the reliability analysis that outages will be studied in one
specific part of the grid (e.g. one voltage level) but the consequences
should be analyzed for the complete grid. This item allows to limit the
outages studied to a part of the complete grid. The options are Whole
System (considering of all elements for outages), One Grid (only one
grid of the network data) and User Defined (uses a selection which
contains references to the failing elements).
Busbars/Terminals
Consideration of node element outages.
Lines/Cables
Consideration of overhead line and cable outages.

21 - 10
DIgSILENT PowerFactory Reliability Assessment Functions

Transformers
Consideration of transformer outages.
Generators/External Grids
Consideration of power source outages.
Common Mode
Consideration of Common Mode Outages. These are groups of
elements which are in topological or functional vicinity. Therefore all
elements in this group may be affected by a single outage event.
Common Mode Outages are treated like single element failures.
Maintenance
Not only stochastic but also determined outages can be considered for
reliability evaluation. Determined outages are known in advance and
therefore counted separated from stochastic outages. Even if
determined outages will not lead to service interruptions themselves
they are weakening the structure of the grid and therefore should be
considered for complete reliability analyses.
Results
Perform Evaluation of Result File
When a reliability analysis is started all contingencies studied are
written to a database file. Typically the database file is analyzed in a
second step, where the contingencies may be filtered and the results
may be analyzed in detail. The re-evaluation of the existing database
content is started in this topic.

21.3.2 FEA options


A failure effect analysis is made for each system state that occurs during the state enu-
meration.

21 - 11
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.7: Reliability Analysis dialogue - FEA options

Available options (please also see the figure 21.7):


Switch Events
Clear existing switch events
After the FEA of a contingency PowerFactory normally will store the
sequence of actions and re-use it the next time the same contingency
occurs. This is an efficient method for saving time when repeating
calculations with the same topology but different outage data. The
events however should be reset after changes in the network topology
or in the possible remedial actions, so that the possible new options for
customer re-supply will be checked.
Define Switch Events
With this option checked PowerFactory stores any actions used for
customer re-supply for later detailed verification of the FEA.
Automatic System Restoration
If this option is not active the FEA will stop after the protection tripping and will not check
any remedial actions. This typically leads to an extreme worst-case analysis, above all for
distribution systems where re-supply by switching is a typical option.

21 - 12
DIgSILENT PowerFactory Reliability Assessment Functions

Separate Fault to minimize faulted area


Any components affected by faults normally will be isolated, so that the
remaining healthy part of the grid can be re-connected to the power
supply. Within this option one can choose of all switches can be used
for disconnecting a defective component or only the switches with the
respective property checked.
Overloading
This option appears when the "Analysis" option on the "Basic Options" page is set to "Net-
work, Load-Flow Analysis".
Load-Flow Command
Defines the load-flow command setup used for contingency analysis.
Relevant options may affect the automatic transformer tap changer
setting or the automatic model adaptation in cases where no
convergence can be found.

21.3.3 Advanced Options

Fig. 21.8: Reliability Analysis dialogue - Advanced Options

21 - 13
DIgSILENT PowerFactory Reliability Assessment Functions

The following advanced options are available (Please see the figure 21.8):
Results
This options allows to select the result element where the outcome of
the reliability evaluation should be stored. Normally PowerFactory will
create a result object within the present study case.
Output of Results
The user can choose between different forms of the summarizing
report which is printed out after terminating the reliability evaluation.
Colors for the 'Isolated Grids' Coloring Mode
The sequence of events during the FEA of a contingency can be
visualized. In this option the colors used for differentiating the areas for
re-supply can be selected.

21.4 Calculated results


The network reliability assessment produces two sets of indices:
• Load point indices
• System indices
Load point indices are calculated for each individual load point. Many system indices are
calculated from these load point indices. This section gives the principle equations for the
various reliability indices. The actual reliability assessment calculations use somewhat
more complex calculation methods. Nevertheless, the shown principle equations can be
used for hand calculations or for getting a better understanding of the produced reliability
assessment results.
In the definitions for the various reliability indices, the following parameters are used:
Ci The number of customers supplied by load point i

Ai The number of affected customers for an interruption at load point i

Fr k The frequency of occurrence of contingency k

pr k The probability of occurrence of contingency k


C number of customers
A number of affected customers

The load point frequency and expectancy indices:


ACIF Average Customer Interruption Frequency
ACIT Average Customer Interruption Time
LPIF Load Point Interruption Frequency
LPIT Load Point Interruption Time are defined as

ACIF i = ∑ Frk ⋅ fraci, k , Unit: 1/a


k

21 - 14
DIgSILENT PowerFactory Reliability Assessment Functions

ACIT i = ∑ Prk ⋅ fraci, k , Unit: h/a


k
LPIF i = ACIF i ⋅ C i , Unit: 1/a
LPIT i = ACIT i ⋅ C i , Unit: h/a
ACIT i
AID i = ----------------
ACIF i

where i is the load point index, k is the contingency index, and frac_i,k is the
fraction of the load which is lost at load point i, for contingency k. For
unsupplied loads, or for loads that are shed completely, frac_i,k=1.0.
For loads that are shed only partly, 0.0 <= frac_i,k < 1.0.

For the analyzed system:


SAIFI System Average Interruption Frequency Index, in [1/C/a], is the mean
interruption frequency found by dividing by the total amount of
customers in the analyzed system.
CAIFI Customer Average Interruption Frequency Index, in [1/A/a], is the
mean interruption frequency found by dividing by the total amount of
affected customers. i.e. customers that will suffer interruptions, in the
analyzed system.
SAIDI System Average Interruption Duration Index, in [h/C/a], is the mean
time per year that customers are interrupted, by dividing by all
customers.
CAIDI Customer Average Interruption Duration Index, in [h], is the mean
duration per interruption.
ASAI Average Service Availability Index, is the probability of having one ore
more loads interrupted.
ASUI Average Service Unavailability Index, is the probability of having all
load supplied.


ACIF i ⋅ C i
SAIFI = ---------------------------------- , Unit: 1/C/a
∑ Ci

CAIFI =
∑ ACIF i ⋅ C i
- , Unit: 1/A/a
---------------------------------
∑ i A

SAIDI =
∑ ACIT i ⋅ C i
---------------------------------- , Unit: h/C/a
∑ i C

SAIDI
CAIDI = ----------------- , Unit: h
SAIFI

21 - 15
DIgSILENT PowerFactory Reliability Assessment Functions


ACIT i ⋅ C i
ASUI = ----------------------------------
8760 ⋅ ∑ Ci

ASAI = 1 – ASUI

The load point energy indices


LPENS Load Point Energy Not Supplied
LPES Load Point Energy Shed [MWh/a] are defined as
)

LPENS i = ACIT i ⋅ ( Pd i + Ps i ) in MWh/a )


)

LPEAR i = ACIT i ⋅ Pr i in MWh/a


)

LPES i = ACIT i ⋅ Ps i in MWh/a

Where
Pd_i is the weighted average amount of power disconnected
Pr_i is the weighted average amount of power at risk
Ps_i is the weighted average amount of power shed at load point i.

For the analyzed system:


ENS Energy Not Supplied, in [MWh/a], is the total amount of energy which
is expected not to be delivered to the loads.
SEAR System Energy At Risk, in [MWh/a], is the total amount of energy at
risk for the system.
SES System Energy Shed, in [MWh/a], is the total amount of energy which
is expected to be shed in the system.
AENS Average Energy Not Supplied, in [MWh/C/a], is the average amount of
energy not supplied, for all customers.
ACCI Average Customer Curtailment Index, in [MWh/A/a], is the average
amount of energy not supplied, for all affected customers.
ENS = ∑ LPENSi in MWh/a
SEAR = ∑ LPEAR i in MWh/a

SES = ∑ LPES i in MWh/a


ENS
AENS = ------------- in MWh/C/a
Ci ∑

21 - 16
DIgSILENT PowerFactory Reliability Assessment Functions

ENS
ACCI = ------------- in MWh/A/a

Ai

The load point interruption cost


LPEIC are defined as
LPEIC i = ∑ LPEICi, k in M$/a
where
LPEIC_i,k is the average interruption costs for load point i and contingency case
k, considering the load point interruption costs function and the
assessed distribution of the durations of the interruptions at this load
point for contingency case k. The interruption costs are calculated
differently for different cost functions. All costs functions express the
costs as a function of the interruption duration. For cost functions
expressed in money per interrupted customer, the number of
interrupted customers is estimated for each interruption as the highest
number of customers interrupted at any time during the whole
interruption duration.

For the analyzed system


EIC Expected Interruption Cost [M$/y], is the total expected interruption
costs.
IEAR Interrupted Energy Assessment Rate [$/kWh], is the total expected
interruptions costs per not supplied kWh.

EIC = ∑ LPEICi in M$/a


EIC
IEAR = ------------ in $/kWh
ENS

Additional calculated indices for the load points:


AID Average Interruption Duration [h]

Additional calculated indices for the busbars/terminals:


AID Average Interruption Duration [h]
LPIF Yearly Interruption Frequency [1/y]
LPIT Yearly Interruption Time [h/y]

21 - 17
DIgSILENT PowerFactory Reliability Assessment Functions

21.5 Voltage Sag Analysis

21.5.1 Calculation Options


Voltage sag analysis has much in common with probabilistic reliability analysis. Both use
fault statistics to describe the frequency of faults and use these statistics to weight the
results of each event and calculate the overall effect of failures.
But whereas the reliability analysis is looking for sustained interruptions as one aspect of
the quality of supply, the voltage sag analysis is calculating the voltage drop during the
fault until the protection system has disconnected the defective component.
An assessment of voltage sag tables for a selection of load points can be started by
• Selecting one or more busbars and/or loads in the single line diagram or the data
manager, right-clicking the selection and selecting "Calculate Voltage sag table..."

• clicking the icon on the main toolbar to activate the reliability toolbar (when not
already visible), then clicking the icon.
In both cases, the dialogue window of the voltage sag table command will open, as shown
in the figure 21.9 and the figure 21.10.

Fig. 21.9: Voltage sag analysis - Basic Options

Basic Options.
Load selection
points to the set of load points. A load point can be defined by a busbar
or terminal, or by a load.
Short-circuit command
points to the short-circuit command that is used. The options for the
short-circuit type will be changed during the voltage sag calculation,
but other settings may be changed at will.
Results points to the result file that is filled with intermediate results.
Exposed area limit
is the minimum remaining voltage for the voltage sag calculation to
continue calculating short-circuits at busbars further away from the
selected load points. If short-circuits at all busbar at a certain distance

21 - 18
DIgSILENT PowerFactory Reliability Assessment Functions

away from all load points result in remaining voltages at the load points
higher than this limit, then no further short-circuit will be analyzed.
Advanced Options.
The advanced options page shows the various short-circuit types that can be analyzed by
the voltage sag assessment command. All components for which a failure model has been
defined, have only an overall short-circuit frequency. It is not possible to define various
frequencies of occurrence for single phase, two-phase or three-phase short-circuits inde-
pendently for each component. The relative frequency for each type of short-circuit is en-
tered for all components in a uniform way.

Fig. 21.10: Voltage sag analysis - Advanced Options

The procedure of the voltage sag analysis is in the way, that various faults at all relevant
busbars are simulated. It starts with the selected load-points, and proceeds to neighbor-
ing busbars until the remaining voltage at all load-points does not drop below the exposed
area limit. The remaining voltages and the short-circuit impedances for all load-points are
written to a result file.
After all relevant busbars have been analyzed, the sag table assessment continues by an-
alyzing short-circuits at the middle of all lines and cables that are connected between the
relevant busbars. Again, all remaining voltages and short-circuit impedances for all load-
points are written to the result file.
After the complete exposed area has been analyzed in this way, the result file contains
the values for Z_F1, Z_F2, Z_F0, Z_S1, Z_S2, Z_S0 and ura, uia, urb, uib, urc, uic for the
two ends of all relevant lines and cables and at their middle.
The written impedances are interpolated between the ends of a line and the middle with
a two-order polynomial. From them, and from the written remaining voltages, the various
source impedances are estimated. These estimated impedances are also interpolated be-
tween the ends and the middle.
The interpolated impedances are then used to estimate the remaining voltages in be-

21 - 19
DIgSILENT PowerFactory Reliability Assessment Functions

tween the ends and the middle of the lines or cables. This quadratic interpolation gives
very good results also for longer lines, and also for long parallel or even triple parallel
lines.
The main advantage is, of course, a substantial reduction of the calculation effort and an
increase of the overall calculation speed.

21.5.2 Performing a Voltage Sag Table Assessment


A voltage sag table assessment is performed in two phases:
1 A result file with remaining voltages and short-circuit impedances is created by
executing the ComVsag command. This can be done by selecting one or more
nodes and executing the Calculate / voltage sag table... option.
2 A voltage sag curve is created by selecting one or more of the nodes for which the
ComVsag command was executed and executing the option Output Data / Create
voltage sag plot...
Alternatively,
• The "Load selection" can be filled manually with objects. A load point is defined by a
terminal, a busbar, or by a single-connection element (a load, motor, generator, etc.).
• A "Voltage Sag Plot" can be created on a virtual instrument page manually, and the
load points can then be selected from the list of analyzed load points.
If several objects are selected which are all connected to the same busbar, then that bus-
bar will be added only once to the set of load points.
The voltage sag assessment command will default to the selection which has the "Used
for: Voltage sag table" flag set. However, any other selection may be used.
The voltage sag tables are not calculated until a voltage sag plot is constructed. At reading
the remaining voltages, short-circuit frequencies and short-circuit impedances fro the re-
sult file, a voltage sag table is constructed for each selected load point. The figure 21.11
shows the part of the plot dialogue that is specific to the voltage sag plot.

21 - 20
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.11: Voltage Sag Plot dialogue

Because there is no single definition of a voltage sag, the plot offers a selection of sag
definitions:
• Minimum of Line-Neutral Voltages
• Minimum of Line-Line Voltages
• Minimum of Line-Line and Line-Neutral Voltage
• Positive Sequence Voltage
Secondly, the x-variable against which the sag frequency will be shown has to be selected.
Possible x-variables are
• Remaining Voltage
• Nom. Voltage at Shc-Busbar
• Fault clearing time
• Short-Circuit Type
Additionally, the x-variable can be sub-divided according to a split-variable. Possible split
variables are

21 - 21
DIgSILENT PowerFactory Reliability Assessment Functions

• no split
• any of the possible x-variables
It is not allowed to select the same parameter for the x-variable and the split-variable.
An example of the resulting voltage sag plot, in accordance with the settings shown in the
figure 21.11 is shown in the figure 21.12.

Fig. 21.12: Example voltage sag plot

The voltage sag plot always shows the annual frequency of occurrence on the y-axis.
The example plot shows a bar for each load point for each x-variable, which is the Re-
maining Voltage. All three loads seem to suffer either deep sags (remaining voltage less
than 0.4 p.u.), or very shallow sags, although the values for 0.8 p.u. are also significant.
Each bar is subdivided to the nominal voltage at SHC-Busbar. Apparently, the shallow
sags are cause by low voltage network, as well as the very deep sags. The high voltage
network seems to cause moderate voltage sags. This is cause by the fact that the low
voltage networks in this example are radially operated and the higher voltage networks
are meshed. More detailed information about a certain value in the voltage sag plot can
be obtained by pointing at a bar or part of a bar and holding the mouse to let the balloon
help pop up.
The Voltage Sag Plot dialogue offers a Report button, which cause the voltage sag plots
to be written to the output window. A table for each selected load point will be written in
accordance to the selected voltage sag definition, x-variable and split-variable. An exam-
ple of a voltage sag table is shown below. The reported voltage sag tables also show the
totals for each row and column.
DIgSI/info - 'Grid\TA2.ElmTerm'
col : Remaining Voltage (Volt.Sag) [p.u.]
row : Nom. Voltage at Shc-Busbar (Unom Shc) [kV]
val : Frequency of Shc (Sag Freq.) [1/a]
----------------------------------------------------------------------
| 0.20 0.50 0.60 0.80 0.85 0.90 0.95 1.00 |
-------|-------------------------------------------------------|------
10.0 | 1.56 0.94 0.00 0.00 0.00 0.00 2.25 6.75 | 11.50
50.0 | 1.45 1.52 0.00 0.83 0.09 0.12 1.08 5.57 | 10.66
150.0 | 3.50 2.32 1.67 0.00 0.00 0.00 0.00 0.00 | 7.50
380.0 | 0.00 1.25 0.00 1.25 0.00 0.00 0.00 0.00 | 2.50
-------|-------------------------------------------------------|------
| 6.52 6.04 1.67 2.08 0.09 0.12 3.33 12.32 | 32.16
----------------------------------------------------------------------

21 - 22
DIgSILENT PowerFactory Reliability Assessment Functions

21.6 Probabilistic Reliability Assessment - Some Theory


The assessment of reliability indices, or "reliability analysis'', basically comprises the fol-
lowing steps:
• Failure modeling
• Load modeling
• System state production
• Failure Effect Analysis (FEA)
• Statistical analysis
• Reporting

Electric System Failure Models


Model Load Models

System State
Generation

Failure Effect
Analysis

Statistical Evaluation

Fig. 21.13: Basic flow diagram

The basic calculation flow diagram is depicted in the figure 21.13. The failure models de-
scribe the way in which the system components may fail, how often they will fail and how
long it takes to repair them. The load models may consists of only a few possible load
demands, or may be based on precise load forecast and growth scenarios.
The combination of one or more simultaneous faults and a specific load condition is called
a 'system state'. The system state production module will use the failure and load models
to build a list of relevant system states. Each of these system states may have one or
more faults. It is the task of the FEA module to analyze the faulted system states by im-
itating the system reactions to these faults, given the current load demands. The FEA will
normally take the power system through a number of operational states which may in-
clude
• Fault clearance by tripping protection breakers
• Fault separation by opening separating switches
• Power restoration by closing normally open switches
• Overload alleviation by load transfer and load shedding
The basic task of the FEA functions is to find out if the system faults will lead to loads
interruptions and when such is the case, which loads will be interrupted for how long.
The results of the FEA are combined by the data that is provided by the system state pro-

21 - 23
DIgSILENT PowerFactory Reliability Assessment Functions

duction module to update the statistics. The system state data describes the expected fre-
quency of occurrence of the system state and its expected duration. The duration of these
system state should not be mistaken for the interruption duration. A system state with a
single line on outage, due to a short-circuit in that line for instance, will normally have a
duration equal to the time needed to repair that line. In case of a double feeder, however,
no loads may suffer an interruption at all. In the case that loads are interrupted by the
outage, the power may be restored by network reconfiguration (i.e by fault separation
and closing a back-stop switch). The interruption duration will then equal the restoration
time, and not the repair duration (=system state duration).

21.6.1 Stochastic Models


A stochastic model describes how and how often a certain object changes. A line, for ex-
ample, may suffer an outage due to a short-circuit. After such an outage repair will be
started and the line will be taken into service again after the repair has been finished. If
the two states for the line A as "in service'' and "in repair'' are defined, a monitoring of
the line could result in a graph as depicted in the figure 21.14.

A R1 S2 R2 S3 R3 S4

A T1 T2 T3 T4 T5 T6 t
Fig. 21.14: Example of a monitored component state in time

The line A in this example fails at time T1 after which it is repaired and put back into ser-
vice at T2. It fails again at T3, is repaired again, etc. The repair durations R1=T2-T1,
R2=T4-T3, etc. are exaggerated in this example.
The repair durations are also called the "Time To Repair'' or "TTR''. The service durations
S1=T1, S2=T3-T2, etc. are called the "life-time'', "Time To Failure'' or "TTF''.
Both the TTR and the TTF are stochastic quantities. By gathering failure data about a
large group of similar appliances in the power system, statistical information about the
TTR and TTF, such as the mean value and the standard deviation, can be calculated. The
statistical information is then used to define a stochastic model.
There are many ways in which to define a stochastic model. The so-called "homogenous
Markov-model'' is a highly simplified but generally used model. A homogenous Markov
model with two states is defined by
• A constant failure rate lambda ('lambda')
• A constant repair rate mu ('mu')
these two parameters can be used to calculate the
• mean time to failure, TTF = 1/lambda
• mean time to repair, TTR = 1/mu
• availability, P = TTF/(TTF+TTR)
• unavailability Q, = TTR/(TTF+TTR)

21 - 24
DIgSILENT PowerFactory Reliability Assessment Functions

The availability gives the fraction of time during which the component is in service, the
unavailability the fraction of time during which it is in repair and P+Q = 1.0.
For example, if 7500 monitored transformers where to show 140 failures in 10 years time
during which a total of 7360 hours is spend repairing, then
140 1 1
λ = ---------------------- ⋅ --- = 0,0019 ⋅ ---
10 ⋅ 7500 a a
1
TTF = --- = 530a
λ
7360
TTR = ------------ ⋅ h = 52,6h = 0,006a
140
1 1
µ = ------------ = 167 ⋅ ---
TTR a
530
P = ---------------------------- = 0,99989
530 + 0,006
0,006
Q = ---------------------------- = 6 min
----------
530 + 0,006 a
These equations also introduce some of the units used in the reliability assessment:
• frequencies are normally expressed in [1/a] = "per annum'' = per year
• lifetimes are normally expressed in [a] = "annum''
• repair times are normally expressed in [h] = “hours”
• probabilities or expectancies are expressed as a fraction or as time per year ([h/a],
[min/a]).
Of course, it is also possible to define a homogenous Markov model with more than two
states. Such may be needed to distinguish between faults that can be repaired reasonably
fast, and faults that will require more time. Two repair states are then needed, each with
a different mean repair time.
A peculiarity of the homogenous Markov model is that it is completely memory-less. This
means that, if a preventive maintenance is performed to improve the reliability of a com-
ponent, it does not make any change if the last maintenance has been performed one
week or 5 years ago, or even if maintenance was performed at all. The probability for the
component to fail in the next period of time will be equal in all cases. Effects of changing
preventive maintenance can therefore not be calculated when using the homogenous
Markov model.
The same memory-less quality makes that all repairs will behave in the same way, apart
from their mean duration. And only mean durations can be determined when using ho-
mogenous Markov models. Interruption costs, however, may be dependent on the frac-
tion of repairs that take longer then a certain amount of time. A certain repair may take
2 hours on average, for example, but when compensation has to be paid for interruptions
longer than 3 hours, and when such long repairs occur in 20% of all cases, using the mean
duration alone will not produce correct results. A realistic assessment of interruption costs
is therefore not possible when using the homogenous Markov model.
All reliability assessment functions in DIgSILENT PowerFactory are therefore based on

21 - 25
DIgSILENT PowerFactory Reliability Assessment Functions

the "Weibull-Markov'' model (WM-model). This more advanced stochastic model has the
following features.
• It uses Weibull distributions for all stochastic durations. This distribution uses a shape
factor and a characteristic time. By setting the shape parameter "beta'' to 1.0, a
homogenous Markov model results.
• The Weibull-Markov model is therefore 100% backwards compatible with the
homogenous Markov model, and existing 'homogenous Markov data' may be used
directly without a need for conversion.
• It allows for addressing the effects of maintenance and ageing of equipment.
• It allows for a fast and correct calculation of interruption costs in all cases.
A Weibull-Markov model with three states is depicted in the figure 21.15.

Pr01
S1
λ1, β1
Pr10
Pr21
Pr02
Pr20 Pr12

S2
λ2, β2

Fig. 21.15: A Weibull-Markov model

This example shows all parameters needed for defining a Weibull-Markov model. If the
example model would describe the behavior of a generator, then
• State S 0 could describe the state with 100% capacity;
• State S 1 could describe a derated state with limited capacity;
• State S 2 could describe the repair state.
The parameters beta ('beta') and eta ('eta') are used to define the stochastic duration of
each state, i.e. the stochastic TTF (State S 0) or TTR (State S 2). The "Transition Proba-
bilities'' Prij define the probability of the generator to change to another state. The prob-
ability Pr01, for example, equals the fraction of failures where the generator is not tripped
but kept on line with derated capacity. The probability Pr02 equals the fraction of failures
that cause the generator to trip, and Pr01+Pr02=1.0 in this example.
In the example of the 7500 monitored transformers, a Weibull-Markov model would result
in
10 ⋅ 7500
η 0 = ---------------------- a = 530a
140
TTF = η 0 = 530a

21 - 26
DIgSILENT PowerFactory Reliability Assessment Functions

η 1 = 7360
------------ a = 0,006a = 52,6h
140
TTR = η 1 = 52,6h

β 0 = 1,0

β 1 = 1,0
The shape factors beta0 and beta1 where left at their default values as no data is available
for calculating them. The raw data, however, could be analyzed to get more realistic val-
ues.

21.7 Failure Models


Failure models are available for the following objects:
• Busbars and terminals
• Lines and cables, routes and sections
• Transformers
• Synchronous generators
In addition to the line or cable failure model, a common mode failure model is available
too.
All failure models define how often a component will suffer an active failure. All active fail-
ures have to be cleared by protection. When a failure cannot be separated from all gen-
erators or external networks by protection, it will cause the reliability assessment to stop
with an error message. Repair of the faulted component is assumed to start directly after
the fault has been cleared. The repair duration which is also defined in the failure models
equals the time needed to restore the functionality of the component. The time needed
to start the repair (for instance because spare parts have to be ordered first) and all other
delays are thus to be included in the total repair time.

21.7.1 Busbar and Terminal Failures


The failure model for busbars and terminals is normally selected at the bar type model.
The bar type model (TypBar) has a reference to a failure model of which an example is
depicted in figure 21.16.

21 - 27
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.16: Bar type failures

The bar failure model defines a failure frequency for the busbar itself and an additional
failure frequency for each connection to the busbar. The repair duration is independent
of the number of connections. The total failure frequency for a triple busbar system with
six feeders is for instance calculated as
F_tot = 3 * F_bar + 6 * F_connection [1/a]
which would add up to 0.24 per year for the shown failure model.
The bar or terminal elements will show the total failure frequency, outage expectancy and
mean outage duration at the reliability page. See the figure 21.17 for an example.

Fig. 21.17: Reliability data for the busbar/terminal

21 - 28
DIgSILENT PowerFactory Reliability Assessment Functions

The bar or terminal element may overrule the failure model that it receives through the
bar type by selecting an element model.

21.7.2 Line Failures


The line and cable failure model is normally selected at the line type. The line type model
(TypLne) has a reference to a line failure model of which an example is depicted in the
figure 21.18.

Fig. 21.18: The line type failure model

The line failure model uses a failure frequency or expectancy per unit length. The repair
duration is independent of the length. Both the time to failure and the repair duration
have a shape factor Beta. The outage expectancy equals the mean repair duration times
the failure frequency and is thus also defined as per 100 km length.
The actual failure frequency for a particular line or cable is calculated by using the length
of the line/cable. The used failure frequency, outage expectancy and mean outage dura-
tion are shown in the reliability page of the line/cable element, as depicted in the figure
21.19.

21 - 29
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.19: Reliability data for the line/cable

The line or cable element may overrule the failure model that it receives through the line/
cable type by selecting an element model. All line and cable failures are assumed to occur
equally often for each position along the length of the line/cable. The line element page
offers an additional parameter to be defined:
Load Shedding/Power Restoration Constraints
Settings valid for emergency loading situations.
Max.Loading
This is the admissible loading during contingencies. Typically this value
depends on the thermal inertia of the element (cable or line) as this
emergency loading will only occur during a limited time. Reasonable
values may be 120% to 140%. If the loading of the element exceeds
this limit the reliability analysis will start shedding the load.

21.7.3 Transformer Failures


A single transformer failure model is available for both the two- and the three-winding
transformers. The transformer failure model is normally defined at the transformer type.
The transformer type (TypTr2 or TypTr3) has a reference to a failure model of which an
example is depicted in the figure 21.20.

21 - 30
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.20: The transformer failure model

The transformer failure model has a failure frequency or expectancy and a repair duration
distribution. Both the time to failure and the repair duration have a shape factor Beta. The
outage expectancy equals the mean repair duration times the failure frequency.

Fig. 21.21: Reliability data for a transformer

The used frequency, outage expectancy and mean outage duration are shown in the re-
liability page of the transformer element, as depicted in the figure 21.21. The transformer

21 - 31
DIgSILENT PowerFactory Reliability Assessment Functions

element may overrule the failure model that it receives through the transformer type. All
transformer failures are assumed to be active failures. Like the line element, the trans-
former element page also offers an additional parameter to be defined.
Load Shedding/Power Restoration Constraints
Settings valid for emergency loading situations.
Max.Loading Admissible loading during contingencies. This value for transformers
may be selected up to 140%.

21.7.4 Synchronous Machines Failures


The failure models for busbars, lines or transformers have a fixed amount of possible
states. Basically, these elements can only be available or not. The failure models for the
synchronous generator, however, allows for any number of states. So-called 'derated'
states, in which the generator is still available but with reduced capacity, can thus easily
be modeled.
This makes the failure model, however, somewhat more difficult to define. The first step
is to append one or more states to the model, as the default model only has one state.
This is done by right-clicking the number of an existing state in the state duration matrix
and selecting Append Cells , as depicted in the figure 21.22.

Fig. 21.22: Appending a state

The second step is to name the created states and to enter the capacity in each state.
The stochastic synchronous machine has the following state attributes:
• Relative Nominal Apparent Power percentage
• Machines On Outage
A fully available machine has
• Nominal Power = 100%
• Machines On Outage = 0
A fully unavailable machine has
• Nominal Power = 0%
A derated state can be defined by defining a nominal power less than 100%, or by setting
'Machines On outage' > 0. A nominal power or 50%, for example, will half the capacity
of all parallel machines, but all machines will remain running. A number of machines on

21 - 32
DIgSILENT PowerFactory Reliability Assessment Functions

outage larger than zero will also reduce the total capacity, but will also change the electric
properties because of less remaining machines running.
The definition of the Weibull-Markov model for the synchronous machine, i.e. the defini-
tion of the state duration matrix, transition probability matrix, or the transition rate matrix,
is described in section 21.7.5 (Defining a Stochastic Model for a Power Plant).
A failure model is selected for a synchronous machine by setting the "stochastic model''
reference on the reliability page of the synchronous machine, as depicted in the figure
21.23.

Fig. 21.23: Assigning a stochastic model to a machine

Each failure model may be used by more than one synchronous machine at the same
time. The synchronous machines that use the same failure model will nevertheless be-
have stochastically independent of each other.

21.7.5 Defining a Stochastic Model for a Power Plant


All failure and load models needed for the reliability assessment calculations are based on
the advanced Weibull-Markov model. For most failure models, however, a simple interface
is offered for entering the failure data. For a transformer, for instance, it is sufficient to
enter a failure frequency and a mean repair duration.
For some cases, the Weibull-Markov model can be defined freely. Examples are the failure
model for the synchronous generator and the stochastic load model. The advantage of a
free definition of the failure or load model is that it allows for any number of states. A
failure model for a synchronous generator may thus also contain so-called derated states,
in addition to the "in-service'' and the "out-or-service'' state. The possibility to define any
amount of states is even more important for creating realistic load models. The available
interface for creating a Weibull-Markov model is treated in this section.
The Weibull-Markov model allows for entering the stochastic data in various ways. The
following parameters may be used.
Mean the mean state duration
Variance the variance of the state duration
Beta the form factor of the Weibull probability distribution

21 - 33
DIgSILENT PowerFactory Reliability Assessment Functions

Lambda the characteristic time of the Weibull probability distribution


Transition Rates
The rates at which the element changes to the other states.
Transition Probabilities
the probabilities for going to the other states. Because these
parameters are redundant -- each of them can calculated from the
others -- there is more than one way to define a WM-model. Two basic
methods may be used:
- Specifying transition rates
- Specifying state duration parameters and transition probabilities
The choice of what to enter is made by pressing the Options button. The state duration
parameters Mean, Variance, Beta and Lambda are 2-out-4 redundant. Two of them will
determine the other two.
The combination of mean state durations and transition probabilities will determine the
transition rate matrix. The transition rate matrix alone determines both mean state dura-
tions and transition probabilities. The Variance or Beta must be specified additionally
when the transition rate matrix is used. The Beta parameter defaults to 1, which gives a
standard homogenous Markov model.
In the figure 21.24, an example is shown for a model which was defined by entering state
duration parameters (Mean duration and Beta), and transition probabilities. The example
shows a generator model with a derated state. The first state ("in service'') has a mean
duration of 2850 hours. There is a 65% probability that, when a failure occurs, the gen-
erator will go to state 2 ("single burner'') and a 35% that it will go to state 3.

Fig. 21.24: Example of a Weibull-Markov model

21 - 34
DIgSILENT PowerFactory Reliability Assessment Functions

The Weibull-Markov model is determined completely by the state duration parameters


and the transition probabilities. The use of form-factors (Beta) different from 1.0 is op-
tional.
The button Options may be used to switch to the transition rate matrix at any time. The
transition rate matrix is calculated from the state durations and transition probabilities.
the figure 21.25 shows the transition rate matrix for the model depicted in the figure.

Fig. 21.25: The calculated transition rate matrix

When the transition rate matrix is changed, then the state duration matrix and the tran-
sition probability matrix are changed in turn. the figure 21.26 shows the failure model af-
ter the transition rates have been rounded.

Fig. 21.26: The Weibull-Markov model by transition rates

A Weibull-Markov model may thus be defined as


• a Weibull-Markov model, by state durations and transition probabilities
• a homogenous Markov model, by transition rates only.

21 - 35
DIgSILENT PowerFactory Reliability Assessment Functions

In addition to the transition rates, the Beta's of the state durations may be changed to
other than 1.0, thus creating a Weibull-Markov model from 'homogenous data'.
A Weibull-Markov model with all Beta's set to 1.0 will equal a standard homogenous Mark-
ov model, which is fully determined by its transition rates.
As soon as a Weibull-Markov model has been defined, all statistic parameters for each
state are calculated automatically:
• The state Probability, which is the long-term probability to find the element in the
state
• The state Frequency, which is the mean number of times per year the element enters
or leaves the state
• The state Expectancy, which is overall mean number of hours per year the element
spends in the state
• The Mean Time Between, which is the mean time between entering the state
These state statistics are shown, together with the duration distribution, on the "Graph''
page as depicted in the figure 21.27.

Fig. 21.27: Example state statistics

21.7.6 Maintenance
Maintenance is included in the reliability analysis by defining one or more maintenance
blocks. A maintenance block consists of
• A list of objects to maintain
• A maintenance schedule

21 - 36
DIgSILENT PowerFactory Reliability Assessment Functions

Al objects in the list of objects will be taken out of service for maintenance by this main-
tenance block together. See the figure 21.28 for an example.

Fig. 21.28: Defining a maintenance block

The maintenance schedule is a list of deterministic moments in time for which the main-
tenance will start. For each planned maintenance, the duration must be given. See the
figure 21.29 for an example.

Fig. 21.29: Defining a maintenance schedule

21 - 37
DIgSILENT PowerFactory Reliability Assessment Functions

21.7.7 Common Mode Failures


All component failure models are independent models. Two or more objects may share
the same failure model, but their failure behavior will be independent. From the failure
models, the outage expectancy can be calculated as the average fraction of time, or the
average time per year, during which the component is not available.
Two parallel lines on the same tower or two cables in the same trench will normally share
the same failure data. The probability of both lines on outage at the same time will be the
product of the individual outage probabilities, because the failures that lead to the outag-
es are independent. The following example illustrates this.
• suppose each line suffers an outage ones every 5 years, for 10 hours. Their outage
expectancy is therefore 2 h/y, their individual outage probability is 2.3CDOT 10^-4.
• the probability of the overlapping events which result in both lines on outage is
5.2CDOT 10^-8, and the outage expectancy is thus a mere 1.6 SECONDS per year.
The overlapping outage occurs on average once every 21900 years
The double outage, however, may be much more frequent due to causes that effect both
lines. Examples of such causes are dredging, lightning, storms, cars hitting poles, etc. The
common mode object which is used to model such common mode causes is depicted in
the figure 21.30 and the figure 21.31.

Fig. 21.30: The common Mode Failure Basic Data

Fig. 21.31: The Common Mode Failure Data

21 - 38
DIgSILENT PowerFactory Reliability Assessment Functions

The basic page of the common mode model shows a list where all objects that are out-
aged by the common cause can be entered. The failure data is entered in the failure data
page. The example shows a common cause which outages two lines once every 5 years
on average, for an average of 52 hours. Common mode failure models can be defined for
lines or cables and for line or cable routes.
The common mode failures will not cancel the individual failure models, but will cause ad-
dition outages of all listed components at the same time.
Common mode failure models are created in the following way:
• In the database manager, open the grid folder in which the elements for which a
common mode failure is to be defined are located.

• Create a new StoCommon object in this grid folder (press icon)


• Add two or more lines in the model and select the elements that will fail.
• Enter the failure frequency etc., as described above.

21.7.8 Load Modeling for Reliability Assessment

Stochastic Load Models


A power system may include independent stochastic loads, such as large industrial loads,
pumping stations, etc. In most applications, however, the behavior of the loads can be
modeled by historic characteristics.
The respective settings for any load characteristics can be made in the reliability page of
the load dialogue. Besides the data indicated there also the load characteristics (e.g. 24h-
load curve, annual load growth rate) can also be considered during the reliability evalua-
tion.
The reliability page of the load data is shown in the figure 21.32. The following section
explains the meaning of the presented options.

Fig. 21.32: Stochastic load model

21 - 39
DIgSILENT PowerFactory Reliability Assessment Functions

Number of connected customers


Besides the active and reactive values of the load also the number of
customers have an effect on load point and system indices (e.g. SAIFI).
The number of individual customers aggregated in this load is given
here.
Interruption Cost
A characteristic of interruption cost (given in Currency units per kW of
installed power) can be referred to. This possibility is discussed in detail
in the next section of this chapter.
Cost Scaling Factor
This factor is used to scale the cost characteristic and adapt it to the
damage cost of a specific customer.

Load Shedding/Transfer
Load Priority If load shedding is necessary this priority is used for discriminating the
more important loads from the less important loads. The higher the
priority value, the more important is the load.
Shedding Steps
Number of steps for load shedding. A value of e.g. 4 steps means that
the load can be shed in steps of 25 %. An infinite number of steps
means a load that can be shed exactly as required.
Transferable
This percentage indicates to which extent a load can be supplied by an
external source, e.g. a connection to a neighboring network which is
not shown in detail in the grid.
Alternative Supply Node
Node which delivers the transferred power. If this node is not given, it
is assumed that the transferred supply comes from outside the
modeled grid.

Interruption Cost Functions


Interruption cost functions are defined as one-dimensional vector characteristics (Elm-
Vec) with time scales (TriTime). An example is shown in figures 21.33 and 21.34. The
time scale is free to choose, but must be monotonous rising. More than one interruption
cost function may be used at the same time for different loads, and each function may
use a different time scale.

21 - 40
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.33: Customer damage function - Time Intervals

Fig. 21.34: Customer damage function - Cost per Time Interval

Interruption costs functions are not interpolated in any way. The used interruption costs
for a certain interruption duration will remain constant in between durations. This means
that an interruption functions like

21 - 41
DIgSILENT PowerFactory Reliability Assessment Functions

30min → 7,5$
60min → 20,0$
180min → 80,5$
means
0min ≤ t < 30min → 0,0$
30min ≤ t < 60min → 7,5$
60min ≤ t < 180min → 20,0$
180min ≤ t → 80,5$
Selecting an interruption cost function for a particular load is done by setting the inter-
ruption costs reference on the reliability page of the load dialogue, as depicted in the fig-
ure 21.35. The type of interruption costs function must be set at the load element. Three
types of interruption cost functions can be used:
$/kW cost per interrupted power (kW), versus the interruption duration.
$/customer cost per interrupted customer, versus the interruption duration.
$ cost versus the interruption duration. The selected interruption cost
function will be interpreted according to the selected type.

Fig. 21.35: Load with interruption cost

Load Shedding and Transfer


Load transfer and load shedding is performed for overload alleviation. If overloads are
detected in the post-fault system condition, a search is started for those loads that con-
tribute to these overloads. The overloads are then alleviated by either

21 - 42
DIgSILENT PowerFactory Reliability Assessment Functions

• Transferring some of these loads, if possible


• Shedding some of these loads, starting with the lowest priority loads, when needed
Each load model uses three values to describe the load transfer and load shedding pos-
sibilities:
• The number of load shedding steps define the minimum amount of load that can be
shed. Four shedding steps means that the load can only be shed to 25%, 50%, 75%
or 100%. Zero shedding steps means that the load can be shed up to any amount.
• The load priority is used to determine which loads to shed. Only the loads with the
lowest priority will be shed.
• The load transfer percentage defines the amount of load that can be transferred away
from the current network. The network that picks up the transferred load is not
considered. A transfer percentage of 30% would mean that the load can be
transferred away up to 30%. A percentage of zero means no transfer.
The load transfer for overload alleviation must be distinguished from the load transfer for
power restoration. Load transfer by isolating a fault and closing a back-stop switch is al-
ready considered during the fault separation and power restoration phase of the failure
effect analysis.

21.7.9 System State Enumeration


The enumeration method analyses all relevant possible states of the system one by one.
A fast "topological'' state enumeration method is used which ensures that each possible
system state is only analyzed once. Realistic state frequencies (average occurrences per
year) are calculating by considering only the transitions from a healthy situation to an un-
healthy one and back again. This is important as the individual system states are analyzed
one by one, and the (chronological) connection between them is therefore lost.
The enumerated calculation method is fast enough for quick investigation of large distri-
bution networks and yet does not compromise accuracy. Exact analytic averages are cal-
culated. Distributions of reliability indices, however, cannot be calculated. The average
annual unavailability in hours/year can be calculated, but the probability that this unavail-
ability is less than 15 minutes for a certain year cannot.
The state enumeration algorithm may include independent overlapping failures as well as
common mode failures and maintenance schedules. Due to the use of the Weibull-Markov
model, annual interruption costs can also be assessed accurately.
The principle flow diagram for the whole reliability assessment by state enumeration is
depicted in the figure 21.36.

21 - 43
DIgSILENT PowerFactory Reliability Assessment Functions

Pre-Processing
- Load Curves First Fault Next Load
- Load Growth Contingency Clearance Demand
- Statistics Initialization

Fault Adjust
Separation Load-Flow

Power
Overload ?
Restoration N

Y
Worst-Case Optimize
AC Load-Flow Energy at Risk

First Year of Optimize


Load Growth Load Shedding

First Load Update


Demand Statistics

More

Next Year of More


Load Growth

Post-Processing
Next More - Load Point Indices
Contingency - System State Indices
- Reports

Fig. 21.36: Principle flow diagram

After the termination of the State Enumeration the analyzed cases are available for veri-
fication. An example can be found in the figures 21.37 and 21.39.

21 - 44
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.37: Reliability analysis - outage cases

Fig. 21.38: Reliability analysis dialogue - outage cases dialogue

21.7.10 Failure Effect Analysis


The kernel of the reliability assessment is the analysis of the reaction of the system to
specific contingencies. This analysis is performed by the failure effect analysis (FEA) func-

21 - 45
DIgSILENT PowerFactory Reliability Assessment Functions

tion. The FEA function is a stand-alone function which can also be started separately.
Basically, a FEA analysis consists of 4 steps
• Fault clearance
• Fault isolation
• Power Restoration
• Overload alleviation
The failure effect analysis for the network assessment may be carried out with or without
overload alleviation. Overload alleviation is performed by calculating an AC load-flow,
searching for overloaded branches and performing load transfer and load shedding. Dis-
abling the overload alleviation for networks where overloads due to contingencies are not
expected to occur may speed up the calculations considerably.
The failure effect analyses will be performed for each contingency, for each characteristic
load point and for each year or load growth.
The general sequence of actions is illustrated in figure 21.39. For each of the system
states, one or more failures are present in the system. All failures are assumed to be ac-
tive, i.e. they will cause an intervention by the protection system. The system is assumed
to react to these short-circuits by the immediate opening of one or more protection
switches (breaker B2), followed by manual or automated separation of the faulted equip-
ment (disconnectors D2A, D2B) and the restoration of power to the remaining part of the
protected area (restoration switch R12).

B1

R12
F2

B2 D2A D2B

Fig. 21.39: Fault clearance and power restoration

21.7.11 Fault Clearance


The fault clearance functions assumes 100% selectivity of the protection. Also protection
system failure or circuit breaker failure is not considered in the present version of Power-
Factory. In the pre-processing phase of the reliability assessment, all breakers in the sys-
tem that can be tripped by an overcurrent or distance relay, fuse, or any other kind of
relay, are marked as "protection breakers''. The figure 21.40 shows a simple network with
four loads, a breaker and a back-stop switch. The current system state which is to be an-
alyzed for possible load interruptions is the one with a short-circuit on line route "LR2''.

21 - 46
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.40: Short-circuit on line

At fault clearance, a topological search is started at all faulted components. This search
will find the smallest network area around each faulted component which is confined by
protection breakers only. This smallest area will be isolated from the rest of the network
if these protection breakers are opened. This set of protection breakers is further reduced
by regarding only those breakers which would actually interrupt a fault current. Breakers
further down a feeder past the fault position, i.e. breakers that would not see a fault cur-
rent, will not be opened.
The fault clearance phase is ended by opening the found minimum set of protection
breakers. If it is found impossible to isolate the faulted component from all synchronous
generators or external networks by protection breakers only, then an error message will
be written and the reliability assessment will terminate.
The area around the faulted components which is isolated by the protection breakers is
called the "protected area''. The figure 21.41 shows the example network after the fault
clearance functions have opened the protection breaker. The protected area is the whole
bottom line feeder, and load 1, 2, and 3 are interrupted.

Fig. 21.41: Protected area

21.7.12 Fault Isolation


If the option Use Power Restoration Switches has been enabled in the command dialogue,
and one or more separation and one or more power restoration switches have been
found, an attempt is made to minimize the effects of the faults by re-connecting as many
loads back to the healthy part of the system as possible.
After the protected area and the tripped breakers have been determined during the fault
clearance phase, a search is started for the minimum separated area.
The fault separation and power restoration both make use of the same topological search
for switches as has been used to find the protection breakers during the fault clearance

21 - 47
DIgSILENT PowerFactory Reliability Assessment Functions

phase. The fault separation phase starts a topological search at the faulted components
for the smallest area around these components which is confined by separating breakers.
This smallest area will be isolated from the remaining network by opening these separat-
ing switches. Either all closed switches qualify for separator, or only those switches which
have been marked as 'use for fault separation', when the option "Only use marked sepa-
rating switches'' was enabled in the reliability command dialogue.
The result of the search for the separation switches is a set of separating switches which
will, when opened, isolate the smallest possible area around the faulted elements from
the rest of the network. This area is called the "separated area''. The separated area is
smaller than or equal to the protected area. It will never extend beyond the protected
area.
The area between the protected and the separated area is called the "restorable area''
because, principally, power may be restored to those areas. the figure 21.42 shows the
example network with the opened separation switches. The separated area now only con-
tains the faulted line route. Two restorable areas result from the fault separation; the area
which contains load 1, and the area which contains load 2 and 3. Power to load 1 is re-
stored by (re)closing the protection breaker. The left-most separation switch is remote
controlled and has a switching time of 3 minutes. The protection breaker is also remote
controlled, and load 1 is therefore restored in 3 minutes (=0.05 hours). Load 2 and 3 are
still to be restored.

Fig. 21.42: Fault isolation and power restoration

21.7.13 Power Restoration


If the option Use Power Restoration Switches has been enabled in the command dialogue,
then a search will be started for the minimum number of restoration switches needed to
restore as large a part of the protected area as possible. During this search, only the
opened protection switches and the normally open switches that have been marked as
'available for power restoration', are considered.
The power restoration phase uses a topological search for all power restoration switches
along the borders of the restorable areas. Each of these switches which are connected to
a still supplied area are marked as possible candidates for power restoration. For each
restorable area, only the fastest candidate switch is closed. Each restorable area that is
reconnected to the supplied network again is called a "restored'' area. The figure 21.43
shows the example network in which power to load 1 is restored by (re)closing the pro-
tection breaker. Power to load 2 and 3 is restored by closing the back-stop switch. Be-
cause the back-stop switch has a switching time of 30 minutes, load 2 and 3 are restored
in 0.5 hours. The network is now in the post-fault condition.

21 - 48
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.43: Power restoration by back-stop switch

All loads and busbars in a separated area are considered to be interrupted for the duration
of the repair, which normally is in the order of hours. All loads and busbars in a restored
area are considered to be interrupted for the time needed to open all separators and to
close all power restoration switches. Each switch can be given an individual actuation
time. Effects of automation and remote control can thus be analyzed by lowering the ac-
tuation times for the remote controlled switches.
In order to enhance the transparency of the network reliability assessment, the system
reaction to user selected faults can be made visible in the single line graphs. The different
areas and the protection, separation and restoration switches will be colored differently.
This gives a quick insight in the possible impact of certain faults or fault combinations.

21.7.14 Overload Alleviation and Power at Risk


Many reliability calculations in radial distribution systems may be carried out by assuming
that an overloading of lines due to the outage of one or more components are seldom. In
such a case, the overload verification may be disabled, thus increasing the calculation
speed. A connection algorithm is used to check if a certain busbar or load is still physically
connected to a generator or external network. When so, the load or busbar is considered
to be supplied.
In meshed structures, or in cases where overloading is important, i.e. when there is a risk
that increasing loads would lead to overloads, an overload verification must be used. For
all contingencies which are analyzed in the reliability assessment, an AC load-flow is made
for the post-fault system state. The post-fault system-state is reached after the fault
clearance, fault separation and power restoration processes have finished.
The figure 21.44 shows that the example network does have a line overload in the post-
fault condition: line "LnA'' is loaded to 122%.

Fig. 21.44: Overloaded post-fault condition

21 - 49
DIgSILENT PowerFactory Reliability Assessment Functions

21.7.15 Load Transfer


In many distribution systems, it is possible to transfer loads from the one feeder to the
other. If both feeders are being considered in the reliability assessment, and when the
normally open switch between them is marked for power restoration, the transfer will be
automatically performed in the power restoration phase.
In some cases, however, the transfer switch and/or the alternative feeder are not includ-
ed in the network model for which the reliability assessment is made. Such may be the
case when a (sub-)transmission network is analyzed, where the connected distribution
networks are modeled as single lumped loads. Transfer switches that connect two distri-
bution networks will then not be visible. In that case, the possibility to transfer parts of
the lumped load model to other feeders can be modeled by entering a transfer percentage
at each lumped load. This transfer percentage defines what part of the lumped load can
be transferred 'away' from the analyzed network, without specifying to which feeder(s)
that part is transferred.
The use of the load transfer percentage is only valid when load transfer is not expected
to result in an overloading of the feeders which pick up the transferred loads.
Load transfer is used in the overload alleviation prior to the calculation of power at risk
(see the next section). The power at risk is considered to be zero if al overloads in the
post-fault condition can be alleviated by load transfers alone.

21.7.16 Load Shedding


In the example network of the figure 21.45, loads 2, 3 and 4 all contribute to the line
overload. Some of these loads therefore have to be shed. There are three basic shedding
schemes that can be used:
• Optimal load shedding
• Priority optimal load shedding
• Discrete optimal load shedding
Optimal load shedding presumes that all loads can be shed to any amount. The target is
then to find a shedding scheme in which as little load is shed as possible. In the example
network, it does not matter which load is shed, as a MW reduction of any load will result
in equal reduction of the line overloading. In more complex (meshed) networks, with
more than one overloaded branch, a reduction of the one loads may have a higher impact
on the total overloading than a reduction of another load.
The reliability assessment functions use linear sensitivity indices to first select those loads
which have a contribution to the overloads at all. A linear optimization is then started to
find the best shedding scheme for alleviating all overloads, which will minimize the total
amount of shed load. The resulting minimum amount of shed load is called the "Power at
Risk'', because it equals the minimum amount of load that has to be shed in case of the
initial network fault occurring. The power at risk is multiplied by the duration of the sys-
tem state to get the "Energy at Risk''. The total energy at risk for all possible system states
is reported after the reliability assessment has finished as the "System Energy At Risk''
(SEAR). The figure 21.46 shows the calculated energy at risk. Because the line was over-
loaded by 0.53 MW and the faulted line has an outage expectancy of 0.15 h/a, the energy
at risk is 0.08 MWh/a.

21 - 50
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.45: Energy at risk

The priority load shedding is performed after the power at risk has been determined. The
priority optimal load shedding considers the load priorities defined for each load. The
overload alleviation functions will use the load sensitivity indices to calculate the lowest
possible shedding priority in such a way that when all loads which have equal or lower
priority would be shed, then all overloads would be alleviated. From this, it is clear that
loads with higher priorities are not needed to alleviate the overloading. The priority load
shedding is performed by repeating the linear optimization for the lower priority loads
only. The figure 21.46 shows that when load 4 is set to a higher priority, load 2 is shed
in stead.

Fig. 21.46: Priority load shedding

The discrete optimal load shedding is performed together with the priority load shedding.
Mixing discrete and priority load shedding does not require additional calculations. The
discrete load shedding scheme uses the fact that each load can only be shed in a fixed
amount of steps. The number of possible steps is entered at each load. The discrete shed-
ding scheme is calculated by transforming the linear optimization problem into a discrete
optimization problem. Solving this linear optimization problem results in a higher or equal
total shed power. The figure 21.47 shows the example network where all loads can only
be shed completely. As load 3 only demands 0.35 MW, and the overload is 0.53 MW, it
cannot contribute to overload alleviation. Shedding load 2 therefore leads to the minimum
amount of shed load.

21 - 51
DIgSILENT PowerFactory Reliability Assessment Functions

Fig. 21.47: Discrete load shedding

21.8 Compact Reliability Glossary

Lost load
A system load that is disconnected from the supply as a direct result of one or more sys-
tem failures by intervention of automatic protection devices. A system load cannot be lost
partly.

Shed load
A system load that is disconnected from the supply as result of one or more system fail-
ures by intervention of a system operator. A system load may be shed up to a certain
percentage.

Stochastic
A quantity is said to be stochastic when its value is random and thus unknown. The range
of possible values, however, is known as well as the likelihood of these possible values.
The number of eyes thrown with a dice is random, the possible outcomes are
{1,2,3,4,5,6} and the likelihood is frac16 for each outcome. For a continuous range of
possible outcomes, the likelihood is a continuous function, which is called the Probability
Density Function or "PDF''.

Statistic
Statistic calculation methods are used to analyze stochastic quantities (see Stochastic). A
simple example is the method for calculating a mean repair duration by dividing the total
time spend repairing by the number of repairs performed.
Information obtained by using statistic methods on measured data can be used to build
stochastic models of the observed equipment.

Outage
The removal of a primary component from the system.

21 - 52
DIgSILENT PowerFactory Reliability Assessment Functions

Forced Outage
The unplanned removal of a primary component from the system due to one or more fail-
ures in the system. A failure does not have lead to lead to an outage, for instance the
failure of a transformer tap changer.

Scheduled Outage
The planned removal of a primary component from the system.

Maintenance
The planned removal of one or more primary components from the system.

Spare Unit
A reserve component, not connected to the system, which may be used as a replacement
for a component on outage by switching or replacing.

Failure
The event in which a component does not operate as intended or stops operating as in-
tended. An example of the first kind is a circuit breaker that fails to strip, an example of
the second kind is a transformer that is tripped by its Buchholz relay.

Hidden Failure
An undetected change of a component which will lead to the failure of the component the
next time it is required to operate, unless it is inspected and repaired first.

Active Failure
A failure of a component which activates the automatic protection system. Active failures
are always associated by short-circuits.

Passive Failure
A failure of a component which does not activate the automatic protection system.

Repair
The restoration of the functionality of a component, either by replacing the component or
by repairing it.

Interruption
An unplanned zero-voltage situation at one or more load points due to outages in the sys-
tem.

21 - 53
DIgSILENT PowerFactory Reliability Assessment Functions

Contingency
The state of a system in which one or more primary components are on outage. The level
of a contingency is determined by the number of primary components on outage. A "k-
Level'' contingency is thus the state of a system in which exactly k primary components
are on outage.

Adequacy
The ability of the electrical power system to meet the load demands under various steady
state system conditions.

Security
The ability of the system to meet the loads demands during and after a transient or dy-
namic disturbance of the system.

Availability
The fraction of time a component is able to operate as intended, either expressed as real
fraction or as hours per year.

Redundant Unit
A component which outage will never lead to an interruption in the base state (see Base
State) which cannot be restored by normal switching actions (i.e normal network recon-
figuration) alone.

Base State
The state of the system were all components are able to operate as intended.

(n-1) system
A system for which all relevant components are redundant units (see Redundant Unit).

(n-k) system
A system for which the outage of any k or less components will never lead to an interrup-
tion which cannot be restored by normal switching actions (i.e normal network reconfig-
uration) alone.

Distribution Function
The distribution function for the stochastic quantity X equals the cumulative density func-
tion CDF(x).
CDF(x) = the probability of X to take a value smaller than x.

21 - 54
DIgSILENT PowerFactory Reliability Assessment Functions

Probability Density Function


The function PDF(x), describing the probability of the stochastic quantity to take a value
from an interval around x, divided by the length of that interval. The PDF(x) is the deriv-
ative of the distribution function (see Distribution Function).

Hazard Rate Function


The function HRF(x), describing the probability of a stochastic quantity to be larger than
x+dx, given the fact that it is larger than x, divided by dx. The hazard rate may thus de-
scribe the probability of an element to fail in the next period of time, given the fact that
it is still functioning properly. The hazard rate is often used to describe ageing and wear
out. A famous example is the so-called "bath-tub'' function which describes the probability
of a device to fail in the next period of time during wear-in, normal service time and wear-
out.

21 - 55
DIgSILENT PowerFactory Reliability Assessment Functions

21 - 56
Volume V
Stability Analysis & Simulation of
Transients
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory Time-Domain Simulations

Chapter 22
Time-Domain Simulations

With the transient simulation functions of DIgSILENT PowerFactory the dynamic be-
havior of small systems up to large power systems can be analyzed in time domain. So it
is possible to model complex systems from industrial networks up to large transmission
grids in detail taking into account electrical as well as mechanical parameters.
Transients as well as stability and control problems in modern power systems constitute
important considerations during the planning, design and operation of these complex sys-
tems. The effects which are to be examined are for example electro-magnetic transients
and different aspects of stability in power systems. These can be analyses with Power-
Factory using different methods like various functions of time-domain simulations for
varying time periods as well as dynamic or small-signal stability analysis tools using e.g.
the powerful eigenvalue analysis.
There is a very large range of systems which can be analyses. For example it is easily
possible to analyze AC or DC systems (e.g. motor start-up, transmission systems with de-
tailed models of the power plants, complex HVDC systems) as well as a combination of
both. Also new study fields like wind-power or power electronics applications constitute
new challenges in the analysis of power systems and new models and techniques are pro-
vided to meet these requirements.
For modelling different machines and various controller units as well as the electrical and
mechanical parts of power plants, etc., there is the possibility of using a variety of pre-
defined models in the global library of PowerFactory. This model library includes various
models of generators, motors, controllers, motor driven machines, dynamic loads and
passive network elements. For example the IEEE standard models of controllers of power
plants can be found here. Furthermore specific models of controllers and block diagrams
of power plants can be modelled with a high degree of freedom.

22.1 Introduction
To study and analyses power system stability the behavior of power systems under con-
ditions before and after sudden changes in load or generation or during faults or outages
of elements have to be examined. The robustness of a system is defined by the ability of
the system to maintain stable operation under normal and perturbed conditions. There-
fore it is necessary to design and operate a power system so that transient events, e.g.
probable contingencies in the system, can be sustained without the loss of load or loss of
synchronism in the power system. Transients in electrical power systems can mainly be
divided into three time domains:
• short-term, or electromagnetical transients.
• mid-term, or electromechanical transients.
• long-term transients

22 - 1
DIgSILENT PowerFactory Time-Domain Simulations

Because of the sophisticated multilevel modelling of power-system elements and the use
of advanced algorithms, PowerFactory covers the whole range of transient phenomena
in electrical power systems. Consequently, there are three different simulation functions
available:
1 a basic function which uses a symmetrical steady-state (RMS) network model for
mid-term and long-term transients under balanced network conditions.
2 a three-phase function which uses a steady-state (RMS) network model for mid-
term and long-term transients under balanced and unbalanced network conditions
e.g. for analyzing the dynamic behavior after unsymmetrical faults.
3 an electromagnetic transient (EMT) simulation function using a dynamic network
model for electromagnetical and electromechanical transients under balanced and
unbalanced network conditions especially suited for analyzing short-term transients.
In addition to the time-domain calculations, two additional and more specific analysis
functions can be performed:
• Parameter Identification
• Modal Analysis or Eigenvalue Analysis
Based on the results of a valid load-flow calculation of the studied system, the Power-
Factory time-domain simulation functions determine the initial conditions of all power
system elements including all controller units and the mechanical parts of the system as
well. These initial conditions represent the equilibrium operation point at the beginning of
the simulation, fulfilling the requirements that the derivative of all state variables of loads,
machines, controllers, etc. are zero.
Before the start of the simulation process, it is also determined what type of network rep-
resentation must be used for further analysis, what step sizes to use, which events to han-
dle and where to store the results.
The simulation uses an iterative procedure to solve AC and DC network load-flow and dy-
namic model state variable integrations simultaneously. Non-linear and highly accurate
system models result in exact solutions also during high-amplitude transients. Various nu-
merical integration routines for the electromechanical systems (including voltage regula-
tors and power system stabilisers) and the hydro-mechanical or thermo-mechanical
models produce best results within a justifiable period of time.
The whole process of performing an transient simulation typically takes the following
steps:
1 Calculation of Initial Values, which includes a load-flow calculation.
2 Defining result variables and/or simulation events.
3 Optionally defining result graphs and/or other virtual instruments.
4 Run Simulation.
5 Creating additional result graphs / virtual instruments or editing existing ones.
6 Changing settings, repeating calculations.
7 Printing results.

22.2 Calculation Methods


The time-domain simulations can be divided into three different time periods to be anal-
yses, so there are three different simulation functions available:

22 - 2
DIgSILENT PowerFactory Time-Domain Simulations

• the symmetrical steady-state (RMS) network model for mid-term and long-term
transients under balanced network conditions.
• the three-phase steady-state (RMS) network model for mid-term and long-term
transients under balanced and unbalanced network conditions.
• the electromagnetic transient (EMT) simulation function using a dynamic network
model for electromagnetical and electromechanical transients under balanced and
unbalanced network conditions.
in the following sections these three analysis functions in the time domain are described
and the usage is explained in detail.

22.2.1 Balanced RMS Simulation


The balanced RMS simulation function considers dynamics in electromechanical, control
and thermal devices. It uses a symmetrical, steady-state representation of the passive
electrical network. Using this representation, only the fundamental components of volt-
ages and currents are taken into account.
Depending on the used models of generators, motors, controllers, power plants and mo-
tor driven machines, the following studies may be carried out:
• transient stability (e.g. determination of critical fault clearing times)
• mid-term stability (e.g. optimization of spinning reserve and load shedding)
• oscillatory stability (e.g. optimization of control device to improve system damping)
• motor start-up (e.g. determination of start-up times and voltage drops)
Various events can be introduced. As an example the following event types are listed:
• start-up and/or loss of generators or motors
• stepwise variation of loads
• load shedding
• line and transformer switching/tripping
• symmetrical short-circuit events
• insertion of network elements
• power plant shut down
• variations of controller setpoint
• change of any system parameter
Because of the symmetrical network representation, the basic simulation function allows
only the insertion of symmetrical faults.

22.2.2 Three-Phase RMS Simulation


If asymmetrical faults or unbalanced networks have to be analyses, the three phase RMS
simulation function must be used. This simulation function uses a steady-state, three-
phase representation of the passive electrical network and can therefore deal with unbal-
anced network conditions, either due to unbalanced network elements or due to asym-
metrical faults. Dynamics in electromechanical, control and thermal devices are

22 - 3
DIgSILENT PowerFactory Time-Domain Simulations

represented in the same way as in the basic RMS simulation function.


Asymmetrical electromechanical devices can be modelled as well as single phase and two-
phase networks can also be analyses using this analysis function.
In addition to the balanced RMS simulation events, unbalanced fault events can be sim-
ulated, such as:
• single phase and two phase (to ground) short-circuits
• phase to phase short-circuits
• intercircuit faults between different lines
• single and double phase line interruptions
All of these events can occur simultaneously or in cascades so that any combination of
symmetrical and asymmetrical faults can be calculated.

22.2.3 Three-Phase EMT Simulation


Voltages and currents are represented in the EMT simulation by their instantaneous val-
ues, so that dynamic behavior of passive network elements is also taken into account.
This ability is necessary for carrying out the following applications:
• DC and harmonic components of currents and voltages.
• Exact behavior of inverter driven machines.
• Exact behavior of HVDC transmission systems.
• Nonlinear behavior of passive network elements such as transformer saturation.
• Overvoltage phenomena in switching devices.
• Lightning strikes and travelling waves.
• Analysis of the exact behavior of protection devices during faults.
Due to the electrical network being represented in detail including all phases, all described
events, symmetrical and asymmetrical, can be simulated. The EMT function can also be
used for the simulation of longer-term transients, but due to the passive network ele-
ments being represented dynamically, the integration step size has to be much smaller
than in case of a steady-state representation and therefore, calculation time increases.

22.3 Setting up a Simulation


Based on the results of a load-flow calculation of the network, all internal variables and
the internal operation status of connected machines, controllers and other transient mod-
els have to be determined. As a result of this calculation, the synchronous generator ex-
citation voltages and load angles as well as all state variables of controllers and power
plant models, or any other device, which is active and will affect the time-domain simu-
lation are calculated.
The calculation of initial conditions is started by

• either pressing the on the main toolbar


• or selecting the Calculation −> Stability −> Initial Conditions... option from the main
menu.

22 - 4
DIgSILENT PowerFactory Time-Domain Simulations

In the upcoming dialogue of the initial conditions command dialogue all simulation set-
tings are defined. Here the type of simulation (RMS or EMT, balanced or unbalanced) can
be chosen and different setting like the time steps are specified, which are important for
executing the simulation.
These settings include
Basic Options The simulation type is selected here (RMS vs. EMT, balanced vs.
unbalanced), and the load-flow command, the result object and the
event list are defined.
Step Sizes Maximum and minimum step size are specified for the available step
size algorithms.
Step Size Adaptation
enables the variable step size algorithm.
Advanced Options
including various error margins, iteration limits, damping factors, etc.
Noise Generation
defines parameters of the noise generation for stochastic applications.

22 - 5
DIgSILENT PowerFactory Time-Domain Simulations

Fig. 22.1: The initial conditions dialogue

22.3.1 Basic Options


The basic options are used to select the type of simulation and the network representa-
tion. References to the result object, the event list and the load-flow command are avail-
able for inspecting or editing these objects.

Verify Initial Conditions


If the required operation status allows to fulfill the initial conditions, the power system will
be in steady-state conditions. When the Verify Initial Conditions is enabled, then the con-
dition dx/dt=0 is checked for all state variables. If one or more of the state variable de-
rivatives does not equal zero, the power system may start to 'moving' from the very
beginning, even without the application of an external event. In this case the user should
analyses the relevant controller or model and its defined initial conditions carefully.

22 - 6
DIgSILENT PowerFactory Time-Domain Simulations

All warnings or error messages should be checked carefully. Typical problems are devices
which are overloaded or operate above or below signal limitation from the beginning of
the simulation.
The error message displayed in the output window might look as follows:
DIgSI/err - Some models could not be initialized.
DIgSI/err - Please check the following models:
DIgSI/err - 'Simple Grid\AVR Common Model.ElmDsl':
DIgSI/err - Initial conditions not valid !

22.3.2 Fixed Step Size


When using a fixed step size for the simulation (deactivate "Automatic Step Size Adapta-
tion" on the basis options page), the integration step size for electromagnetic transients
(EMT) respectively for electromechanical transients (RMS) has to be set.
It is often not necessary and resulting in reduced simulation time not to plot every single
calculated time step. So additionally the step size for the output graphs can be set, so not
every point of simulation time will be drawn on the virtual instruments plot. By selecting
a higher output step size, the simulation process will speed up without influencing the cal-
culation process. Nevertheless faster changes may be lost in the reported results.
Also the start time of the simulation can be set. This point of time is typically negative, so
the first event to be analyses can take place at t=0s.
The parameters which are available for the step size are:
dtemt Electromagnetic Transients (typical 0.0001 sec)
dtgrd Electromechanical Transients (sym, asm, vco, pss) (typical 0.01 sec)
dtout Output (typical equal to dtemt for EMT respectively dtgrd for RMS
simulation)

Note When setting up time-domain simulations, it is very important to


use the correct time steps for the simulations in order to observe
the right phenomena in the results. For the RMS simulation the
minimum time step should always be smaller then the time con-
stants in the system. In controllers you have to consider not only
the open-loop up also the closed-loop time constants. For electro-
magnetic transients e.g. when analyzing travelling waves, the
smallest travelling time would set the upper limit for the minimum
time step.

In addition to the Newton-Raphson based algorithm for the solution of "weak'' nonlinear-
ities as for example saturation effects in synchronous and asynchronous machines, the
EMT simulation function allows interrupts for the simulation of "strong'' nonlinearities as
for example switches, two-slope transformer saturation or thyristors. These interrupts can
also occur in between time steps.
In case of such an interrupt, all time dependent variables are interpolated to the instant
of interrupt and the simulation restarts at that point. This prevents numerical oscillations
and allows much a lower integration stepsize in case of power electronics devices.
The dynamic model equations of the voltage-controllers (vco) and the power system sta-
bilisers (pss) are solved simultaneously with the electrical generator and passive network

22 - 7
DIgSILENT PowerFactory Time-Domain Simulations

equations (stepsize dtgrd).

22.3.3 Automatic Step Size Adaptation


A good way to speed up the simulation considerably is using the option "Automatic Step
Size Adaptation" on the basic page of the ComSim command. This option will enable the
step size adaptation algorithm.
When "Automatic Step Size Adaptation" is enabled, PowerFactory adjusts the step size
to the actual course of each state variable at any moment in time. Based on the local dis-
cretisation error, PowerFactory calculates an optimal step size that keeps the numerical
errors within the specified limits. A step size controller adjusts the integration step size.
As a result, when fast transients have decayed, PowerFactory automatically increases
the step size and speeds up the simulation process considerable. In case of events (ex-
ternal or internal), the step size is always be set back to the "Minimum Step Size''. So the
behavior of the system during a transient event is represented in the best way.
If this option is activated, on the page "step size'' there will be the two integration step
sizes available:
dtemt / dtgrd minimum step size for EMT respectively RMS simulations
dtemt_max / dtgrd_max
maximum step size for the method of simulation
Further parameters to adapt this algorithm can be found and the "Step Size Adaptation"
page:
errmax Maximum Prediction Error (typical 0.01)
errinc Minimum Prediction Error (typical 0.01)
ninc Delay for Step Size Increase (typical 10 time steps)
finc Speed Factor for increasing the time step (default value 1.5)
fdec Speed Factor for decreasing the time step (default value 2)
ddtemt_max Maximum increase of the time step only for EMT simulations (typical
0.001 sec)

Note The simulation time can be very sensitive to some of the parame-
ters. For example when you increase the maximum time step the
duration of calculating transients may not always increase. If this
time step is increased over an "optimal'' time step the simulation
time may increase as well. So please observe the simulation time
and the results critically for different simulation parameters.

22.3.4 Advanced Options


The advanced options may be used to tailor-tune the performance of the simulation al-
gorithm. Less experienced users are recommended to use the typical values.
The "Resolution Factor'' kres of the event control determines the time span which is used
to synchronize events. Every time an internal or external event occurs, which is usually
between two integration time steps, PowerFactory interpolates all state variables to the

22 - 8
DIgSILENT PowerFactory Time-Domain Simulations

moment of time at which the event has occurred and restarts the simulation from there.
In case of heavy disturbances it can happen that a very large number of events occur
almost at the same time. Because this would extremely slow down the simulation,
PowerFactory executes all events that occur within a time interval of duration kres*dt-
min at the same time.
The all system variables are then interpolated to the point in time, when the event is tak-
ing place, and the simulation is started from there. A higher resolution factor decreases
the minimum time span between events. The typical value of 0.001 is normally sufficient.
If an event occurs, there are two different options of treating it:
• Calculation of v(t) and v(t+h) as usual. PowerFactory uses special numerical
methods for allowing this without numerical oscillations.
• Calculation of v(t) and v(t+), hence to values at the same time, one before the event
occurs, one after the event occurred. The second method is applied if the option Re-
initialize after events is enabled.
Further parameters can be changed to control the simulation algorithm.

For integration control:


errseq Maximum Error of State Equations (typical: 0.1%)
itrpx Maximum Number of Successive State Iterations (typical: 10)
alpha_rms Damping Factor (RMS) (typical: 1)
alpha_emt Damping Factor (EMT) (typical: 0.99)

For iteration control:


errsm Maximum Iteration Error of Nodal Equations (typical: 10*errlf)
The iteration error errsm depends on the nominal power of the
machines and voltage levels. As an adequate starting value, errsm
should be set to:
errsm = 10*errlf, where errlf is the "Max. Allowable Load-Flow Error for
each Bus''. Checking is done best by plotting some voltages at
generator busbars. If there are voltage steps observed, the value of
errsm should be reduced.
erreq Maximum Error of Model Equations (typical: 1%)
itrlx Maximum Number of Iterations (typical: 25)
itrpx specifies the max. number of iterations at each integration step
which are allowed to reach the max. tolerable bus-error errsm. During
the transient simulation process, the typical number of iterations
required is 1 to 5. Under certain conditions - i.e. after switching
operations - up to 25 iterations may be observed.
itrjx Iteration Limit to Recompute Jacobian Matrix (typical: 5)

Local/Global Reference System


The PowerFactory stability analysis uses the angle of a reference machine and refers
all other angles to this reference angle. This is a numerically very efficient approach. After
running initial conditions, the reference machine is displayed in the output window. It is

22 - 9
DIgSILENT PowerFactory Time-Domain Simulations

usually the "Slack''-machine of the load-flow calculation.


In case of several isolated islands, PowerFactory offers the option of using one refer-
ence machine for the whole system, or to use an individual reference machine for each
island. The first case should be used if the islands are resynchronised again later in the
simulation. In all other cases the option "Local Reference System'' should be used be-
cause it leads to a higher numerical stability and to faster simulation times.

Maximum Rotor Angle Deviation


PowerFactory can also calculate the maximum deviation between the rotor angles be-
tween the synchronous machines in the system. This variable is then called dfrotx and
can be chosen and displayed from the variables of all synchronous generators in the sys-
tem. This variable can be used as an indicator for the synchronous operation of a large
transmission system.

Long-Term Stability
The PowerFactory simulation algorithm always uses A-stable numerical integration al-
gorithms. However, with regard to the solution of dynamic model equations and network
equations, the user can chose between two algorithms (the models are always the same):
• Relaxation Method: Mutual solution of Dynamic model equations and network
equations until convergence is reached: This algorithm is fast for small step sizes but
fails to converge when the step size is increased. Best choice for classical transient
stability applications.
• Simultaneous Solution of dynamic model equations and network equations. This
algorithm is (slightly) slower in case of small step sizes but converges much better in
case of large step sizes. Typical applications are longer term simulations, in which the
simulation step size is increased considerably after fast transients have decayed.
Another typical application are systems with power electronics. Even if power
electronics devices are usually equipped with very fast controls, the "long-term"
algorithm still allows reasonable step sizes, at which the relaxation method would fail.

Note A requirement for using the "long term" algorithm is that just
"true" input and output variables are used for exchanging informa-
tion between different models

When using a conventional, explicit numerical integration algorithm, such as Runge-Kut-


ta, the integration step size must be adjusted to the eigenvalues of a system and the nu-
merical solution becomes unstable if too large step sizes are used, even if fast modes have
fully decayed and are not apparent in the system. In the PowerFactory 'long-term al-
gorithm', the step size can be adjusted to the actual course of all state variables without
considering numerical stability. When fast transients have decayed, the step size can be
adjusted to the speed of slower transients etc.
If some very fast modes are not of interest, a large step size can be selected from the
beginning and the algorithm is automatically smoothing fast variations. The term "long-
term" comes from the classical application of this type of algorithm, the simulation of
long-term phenomena, where it is necessary to increase the simulation step size to the
range of minutes, even if fast modes are present in the system.
However, if power electronics are involved, characteristic time constants can be extremely

22 - 10
DIgSILENT PowerFactory Time-Domain Simulations

short (e.g. 1ms), even if a stability model with steady-state equations for the electrical
network is used. Hence, using a classical integration algorithm would require to use step
sizes much below the smallest time constant of the system, otherwise it would be numer-
ically instable.
With the long-term algorithm, these systems can be analyses with reasonable step sizes.
Hence, the long-term algorithm can not described as using simplified models but as dif-
ferent type of numerical integration algorithm.

22.3.5 Noise Generation


The element "Noise Generator'' (ElmNoise) can be used in a transient simulation to pro-
duce a noise signal based on random numbers. On the Noise Generation page the type
of this generator can be selected for producing these random numbers. The random num-
ber generator can be automatically chosen with auto, which is the default value and most
often used.
Also the option renew may be chosen. Then the random seed of the noise generator can
be selected manually from "A" to "K". Thus the noise signal will look the same in every
simulation, i.e. the results of a former simulation can be reproduced exactly.

22.3.6 Advanced Simulation Options - Load-Flow


There are further options, which can influence the simulation process and its results. In
the load-flow command dialogue (ComLdf, see also section 13.1 (Basic Options)) on the
page for the advanced simulation options, the influence of protection devices or various
controller models can be neglected. Hence the chosen models or protection devices will
be ignored during the simulation as well as in load-flow and other calculations.

22 - 11
DIgSILENT PowerFactory Time-Domain Simulations

Fig. 22.2: Advanced Simulation Options in the ComLdf command dialogue

The protection devices considered can be chosen between:


none no protection devices are considered in the calculations
all all protection devices are considered
main only the protection devices are in operation, which are defined as
'main' devices
backup only the 'backup' protection devices are considered. According to the
controller models, there is the possibility to ignore all controllers and
mechanical elements with the option "Ignore Composite Elements". If
there are only some model types one wants to neglect in the
simulation, they can be moved from the left window "Consider
Elements" to the right windows "Ignored Elements".

22.4 Result Objects


During an EMT or RMS simulation a high number of signal variables is changing in time.
To reduce the available data and to narrow down the number of variables to those nec-
essary for the analysis of every special case, a selection of these signals for later use has
to be defined.
Therefore one or more result objects, containing the result variables, can be configured.
The simulation function needs the reference to a result object to store the results.
The command dialogues for calculation functions, that produce signals, have result object
references, as depicted in the figure 22.3 for the initial conditions dialogue.

22 - 12
DIgSILENT PowerFactory Time-Domain Simulations

Fig. 22.3: Result object reference

Such a result object reference is referring to the currently used result object. The down-
ward arrowed button is used to select, or reset the reference or to edit the contents of
the referenced result object.
The right-arrowed button is used to edit the result object itself. When editing the output
variables press this Edit button and then Contents to get access to the list of variables
stored inside the result object. This will pop up the corresponding ElmRes edit dialogue.

An easier way to edit the result object is to press the icon on the main toolbar, or to
select the Data −> Stability −> Result Variables option on the main menu. This will enable
the user to edit the contents of the currently selected Result object in the Initial Conditions
command dialogue. Result objects (ElmRes) are treated in detail in chapter 27.
To add variables of different elements to the result object for RMS and EMT simulations,
right-click on the preferred element in the graphic and select Define... and Variable Set
(Sim)... as shown in the figure 22.4.

Fig. 22.4: Defining a variable set for an element

Then this element is monitored during the simulation. The result object is automatically
opened. By double-clicking on the variable set the desired variables can then be se-
lected, see also section 27.2.1.

22 - 13
DIgSILENT PowerFactory Time-Domain Simulations

Note Most of the variables for RMS and EMT simulations are identical.
Nevertheless there may exist variables that are valid for EMT but
not for RMS calculations. It is advisable only to use variables for
the calculation you are performing.

22.4.1 Saving Results from previous Simulations


The variables to be monitored are stored in the result object All calculations. Here the
results of the variables of the current simulation are stored as well. If the results of two
different simulations shall be displayed, e.g. in one virtual instrument, there is the possi-
bility to save the result object of a previous simulation simply by copying and renaming
the result object All calculations.
This can easily be done in the data manager. The result object can be found in the cur-
rently active study case. Just copy the result object and paste it into the same study case.
Then a second result object will be created with the name All calculations(1). The ob-
ject can also be renamed.
In the next simulation, the default result object All calculations will be overwritten with
the new results, but the copied results will not be modified and can be displayed together
with the new simulation results in one plot - see also section 27.1.2.

22.5 Events
Besides the reference to a result object the simulation function needs a reference to an
event object to determine the simulation events. The default event object in PowerFac-
tory is Simulation Events and, like the result object, it is also stored inside the study
case.
External events are used in steady-state calculations (e.g. short-circuit calculations) as
well as for transient calculations (Simulations).
PowerFactory offers several kinds of events for time-domain simulations:
1 Control switch events (EvtSwitch)
2 Set parameter events (EvtParam)
3 Short-circuit events (EvtShc)
4 Intercircuit fault events (EvtShcll)
5 Events of synchronous machines (EvtSym)
6 Events of loads (EvtLod)
7 Outage of element (EvtOutage)
The different events are stored in the event object. The contents of the currently selected
Event Object, which can be found in the dialogue of the initial conditions command Com-
Inc, can be edited by using the right-arrowed (Edit) button and then the Contents but-
ton to get access to the event list stored inside the event object.

Easier the event object can be accessed from the main toolbar by pressing the icon.
A list of the currently defined events will be displayed including the set simulation time,
when the event will occur, and the related object. The figure 22.5 shows an example for

22 - 14
DIgSILENT PowerFactory Time-Domain Simulations

a set of events.

Fig. 22.5: The event object including a set of events

When creating a new event, use the icon in the toolbar of the Simulation Events
object. The kind of event can be chosen from the list in the dialogue. The events can also
be modified during a simulation by stopping the calculation, editing the events and con-
tinuing the simulation.

Another way of defining events is - when the initial conditions ( ) are calculated or the
simulation is already running - to double-click on the cubicles to create switching events
respectively to right-click on an element and then select a element related event such as
Define... −> Control Switch, Define... −> Event of Load or Define... −> Short-Circuit Event.
During a simulation all previous events, which already occurred, are displayed in a grey
font style and can't be changed anymore. When the simulation is finished or is stopped
manually, the events which are still to come in the simulation can be altered and new
events can be created as well.

Note At the end of a simulation the event list shows all the events, which
are now in a grey color. Thus they can't be modified again for this
simulation, because the simulation could be restarted from this
point on. To change the events for a new simulation you have first
to initialise the calculation again ( ), so the simulation time is set
back to the beginning.

22 - 15
DIgSILENT PowerFactory Time-Domain Simulations

22.5.1 Switching Events


Switching events are used only in transient simulations. To create a new switching event,
the icon on the main menu can be pressed, if this icon is enabled, which will bring a
browser with all defined simulation events to the front. Pressing the icon in this
browser will show a ComNew dialogue which can be used to create a new switching
event.
The reference to the switch has to be set by hand. Any switch in the power system may
be selected, thus enabling the switching off lines, generators, motors, loads, etc. Here the
user is free to select the switches/breakers of all phases or only of one or two phases.
More than one switching event has to be created if, for instance, a line has to be opened
at both ends. These switching events should then have the same execution time.

22.5.2 Set Parameter Events


With this event an input parameter of any element or DSL model can be set or changed.
First a specified time of the simulation may be inserted, when the event will occur. Then

an element has to be to specified/selected using the button . Then choose Select...


for the context menu. Afterwards insert the name and the new value of a valid element
parameter.

22.5.3 Short-Circuit Events


This event causes a short-circuit on a busbar, terminal or on a specified point on the line.
The fault type (three phase, two phase or single phase faults) can be specified as well as
the fault resistance and reactance and the phases which are affected.
There is no possibility to define the duration of the fault. To clear the fault, another short-
circuit event has to be defined, which will clear the fault in the same place. An example
is shown in the figure 22.5.

22.5.4 Intercircuit Fault Events


This event is similar to the short-circuit event described before. Two different elements
and their phase can be chosen between which the fault occurs. Equal to the EvtShc four
different elements can be chosen:
• a busbar (StaBar)
• a terminal (ElmTerm)
• a overhead-line or cable (ElmLne)
• a line routes (ElmLnerout)
Here only single phase faults are allowed.

22 - 16
DIgSILENT PowerFactory Time-Domain Simulations

22.5.5 Events of Synchronous Machines


For synchronous machines there is a special event to easily change the mechanical torque
of the machine. A point in time in the simulation and an active synchronous machine Elm-
Sym has to specified. Then one can define the additional mechanical torque supplied to
the generator. The torque can be positive or negative and is entered in per unit values.

22.5.6 Events of Loads


For a certain load the point in time in the simulation and a load element (ElmLod, Elm-
Lodlv or ElmLodlvp) has to specified. The value of the load can then be altered using
the load event.
There are different ways to change the power of the selected load:
Incremental Change
adds additional power (positive or negative) to the current value in %
of the nominal power of the load
Absolute Change
changes the current value of the power to the given value in % of the
nominal power of the load
Nominal Change
changes current and nominal value of the power to the specified value
in % of the nominal power of the load

22.5.7 Outage of Element


This event can only be used during a RMS simulation, when an element shall be put out
of service at a certain point in time. Then the option "take element out of service" is to
be used. It is not possible to bring back the outaged elements into service in the transient
simulation. This option is active only in steady-state calculation functions, e.g. short-cir-
cuit calculation or reliability assessment. In time-domain simulation the following error
message will occur in the output window:
DIgSI/err (t=000:000 ms) - Outage Event in Simulation not available.
Use Switch-Event instead!

22.5.8 Save Results


This event is only used in the PowerFactory Monitor part of the program. It can't be
used during time-domain simulations.

22.6 Run a Simulation

When the initial values have been calculated successfully, the icon on the main tool-
bar will be activated and can be pressed to start the simulation.
The simulation is performed for the time interval between the start time defined in the
initial conditions command ComInc and stop time tstop, which can be specified in the
simulation dialogue. After a simulation has finished, it may be continued by pressing the

22 - 17
DIgSILENT PowerFactory Time-Domain Simulations

icon again and entering a new stop time. In the latter case, the stop time may also
be entered as relative to the current simulation time.

A running simulation may be interrupted by pressing the or the icon on the main
toolbar. Additional events can be created, while the simulation pauses and results may be
viewed. The simulation is then continued by pressing the icon again. Pausing and
continuing the simulation may be done as often as needed.

22 - 18
DIgSILENT PowerFactory Models for Stability Analysis

Chapter 23
Models for Stability Analysis

Stability analysis calculations are typically based on predefined system models. In the ma-
jority of cases the well known IEEE definitions for controllers, prime movers and other
associated devices and functions are in use.
For planning purposes, this approach might be acceptable. The predefined sets of param-
eters will allow a favorable and reasonable behavior of the analyzed system. This ap-
proach is often also applied for the purpose of operation analysis, and the system will
show a good response similar to the real system.
Also for systems and configurations for which no IEEE models exist, such as wind gener-
ators, HVDC-systems, etc., powerful tools for user defined modelling are required. For
such analysis, also individual and very exact models can be created in PowerFactory to
meet all needs of the system to be analyzed.
When manufacturers are able to supply exact controller models including the real param-
eters, the system model can be improved by not using the IEEE standard models but
building a new block diagram of the individual controller/mechanical system to represent
the device. This will enable to perform a highly accurate system modelling studies.
Especially utilities and consultants with an in-depth knowledge and tradition of conducting
system operation performance and optimization studies have a clear need for adequate
methods and tools for creating accurate transient models for stability analysis.
This includes complex operation analysis and special component planning problems. All
this led to the development of the highly flexible and accurate DIgSILENT PowerFac-
tory time-domain modelling features, which are introduced in this chapter.

23.1 System Modelling Approach


System modelling for stability analysis purposes is one of the most critical issues in the
field of power system analysis. Depending on the implemented model accuracy, large-sig-
nal validity, available system parameters and applied faults or tests, nearly any result
could be produced and arguments could be found for their justification.
This is one aspect of the complexity of a transient stability study. The other aspect results
from the often large set of time-domain models that are required, each of which may be
a combination of other models. All these time-domain models are ultimately wired togeth-
er into one single large transient model from which the basic set of system differential
equations can be obtained.
Given this complexity of a transient analysis problem, the PowerFactory modelling phi-
losophy targeted towards a strictly hierarchical system modelling approach, which com-
bines both graphical and script-based modelling methods.
The basis for the modelling approach is formed by the basic hierarchical levels of time-

23 - 1
DIgSILENT PowerFactory Models for Stability Analysis

domain modelling:
• The DSL block definitions, based on the "DIgSILENT Simulation Language"
(DSL), form the basic building blocks, to represent transfer functions and differential
equations for the more complex transient models.
• The built-in models and common models. The built-in models or elements are the
transient PowerFactory models for standard power system equipment, i.e. for
generators, motors, static VAr compensators, etc. The common models are based on
the DSL block definitions and are the front-end of the user-defined transient models.
• The composite models are based on composite frames and used to combine and
interconnect several elements (built-in models) and/or common models. The
composite frames enable the reuse of the basic structure of the composite model.
The relation between these models and the way that they are used is best described in
the following example.
Suppose the frequency deviations due to the sudden loss of a fully loaded 600 MW unit
in a particular network is to be analyzed. Depending on the network and the required de-
tail in the calculated results, such analysis may ask for a detailed modelling of the voltage
controllers, prime movers and primary controllers, or any other important equipment for
all large generators in the system.

PSS VCO VEXC V GEN


Power System Voltage Controller
Stabilizer V PSS PGEN
SYM
Synchronous
Machine ωGEN
PCO PMU PT
Primary Controller Prime Mover Unit
AV

PCU
Primary Controller Unit

Fig. 23.1: Example of a composite generator or power plant model

An typical configuration of a synchronous generator with power system stabilizer, voltage


controller, primary controller, and prime mover model is shown in the figure 23.1. Primary
controller and prime mover can be summarized as the primary controller unit model. To
create such a model, the following actions are required:
1 Transient models for each required controller type or unit type have to be defined
(Model/Block Definition).
2 For each generator, the transient models of the individual controller must be
customized by setting the parameters to the correct values (Common Model).
3 A diagram has to be made defining the connections between the inputs and outputs
of the various models (Composite Frame).
4 For each generator, the diagram and the customized transient models are to be
grouped together to define an unique 'composite' generator model (Composite
Model).
It may seem unnecessary to include point 2 and 3: it would be possible to create custom-

23 - 2
DIgSILENT PowerFactory Models for Stability Analysis

ized transient models for each generator directly, with 'burned-in' parameter settings, and
to link these models to a generator without having to define a diagram first. This, how-
ever, would mean that one would have to create a new voltage controller, e.g. for each
generator in the system.
Often the design of many of these voltage controllers will be similar. To omit the need of
creating copies of these controllers for each generator and to avoid redundant copies of
controllers or also of whole generator models.
Here the same relationship between individual controller (Common Model) and controller
definition (Model Definition) respectively between the generic power plant diagram (Com-
posite Frame) and the individual power plant (Composite Model) is used, as the relation-
ship between element and type definition). DIgSILENT PowerFactory uses two key
objects in creating composite models, which can be compared to the element definition
of the different elements:
• The Common Model (ElmDsl) combines general time-domain models or model
equations (a block definition) with a set of parameter values and creates a integrated
time-domain model.
• The Composite Model (ElmComp) connects a set of time-domain models inside a
diagram (a composite frame) and creates a 'composite model'.
The following diagrams explain the relation between the Composite Model (which is using
a Frame as type) and the Common Model (based on a block diagram as type) in detail.
• The Composite Model (ElmComp), see figure 23.2, references a a definition of a
composite frame. This composite frame is basically a schematic diagram containing
various empty slots, in which controller or elements can be assigned. These slots are
then interconnected according to the diagram, see section 24.3.1 (Composite Block
Definitions). The slots in the composite frame are pre-configured for specific transient
models.
• The schematic diagram in the figure 23.3 shows a Composite Frame (BlkDef)
which has one slot for a synchronous machine, one for a primary controller unit (pcu
slot), and one for a voltage controller (vco slot). The composite model, which uses
this composite frame, shows a list of the available slots and the name of the slot. Now
the specific synchronous generator, voltage controller or primary controller unit model
can be inserted into these slots.
• The synchronous machine that is used in the Composite Model are called Built-In
Models, see figure 23.4. This means these elements are pre-configured elements
which do not need a specific model definition. Into the slots all kinds of elements can
be inserted, which are able to input or output variables, e.g. converters, busbars, etc.
• The voltage controller, and primary controller unit, however, are user-defined
Common Models, see figure 23.5. The 'front-end' of all user-defined transient
models is always such a common model (ElmDsl), which combines a model definition
with specific parameter settings. There are predefined definitions as well as the user
can define model definitions by himself.
• The common model has a reference to the Model Definition (BlkDef), which looks
similar to the composite frame (shown in figure 23.6). Here different blocks are
defined and connected together according to the diagram. The input and output
variables have to fit to the slot definition of the slot the model is defined to.
Not all slots of the composite model have to be used. There can also be empty slots. Then
the input of this slot is not used and the output will be assumed to be constant over the
complete simulation. The usage of composite models with its composite frame as well as

23 - 3
DIgSILENT PowerFactory Models for Stability Analysis

the common model with its block definitions are described in the next sections.
The design and creation of user defined common models using the "DIgSILENT Simu-
lation Language" (DSL) can be found in chapter 24 (User Defined (DSL) Models).

Fig. 23.2: Example of a composite model using the frame “Frame_Generator”

0
vco slot ve
0 0
upss ElmVco*
pss slot 1
ElmPss*

sym Slot
ElmSym*

pcu Slot pt
1 1
ElmPcu*

fe

Fig. 23.3: Composite frame “Frame_Generator”

G
~
G1 L1

Fig. 23.4: Generator “G1” (built-in model)

23 - 4
DIgSILENT PowerFactory Models for Stability Analysis

Fig. 23.5: Example of a common model using the definition “vco_simple”

vco_Simple: Simplified Excitation System

usetp
o13

Emax

2
u - o12 yi PID Controller ve _{K/(1+sT)}_ uerrs
Ta,Tb,K1 Ke,Te

Emin

upss
3

Fig. 23.6: Example of a model definition “vco_simple”

23 - 5
DIgSILENT PowerFactory Models for Stability Analysis

23.2 The Composite Model

A composite model element (ElmComp) can created by using the "New Object" ( )
icon in the toolbar of the database manager and selecting Composite Model. The next
step is to select the composite frame. The composite frame can either be stored in the
global or in the local library and can be compared to the type definition of the electrical
elements. The composite model then shows the list of slots in the composite frame as
shown in the figure 23.7.
Existing controllers or models can be assigned to a slot manually by right-clicking the slot
and selecting Select Element/Type, as depicted in the figure 23.7. A data manger window
will pop up and the user can then browse the grid for the element to insert into the se-
lected slot.

Fig. 23.7: Editing the composite element folder

If inserting controller models into a slot often the controller element has not yet been cre-
ated. To create a new controller select New Element/Type from the context menu of the
slot. PowerFactory will automatically jump to the project library and show a list of avail-
able user defined models (ElmDsl).
Selecting a model definition form the project or the global library will open the element
dialogue of the newly created common model in order to define the parameters, similar
to e.g. a transformer element. If no suitable model is found, a block definition has to be
selected prior to setting the model parameters (see section 23.3 (The Composite Frame)
and the figure 23.6).
If a element is assigned to a slot, there is the possibility to edit the assigned element by
simply selecting Define... −> Edit Element/Type. The menu command Define... −> Reset
Element/Type will reset the slot, so it is empty again.

23 - 6
DIgSILENT PowerFactory Models for Stability Analysis

Note Depending on the settings of the individual slot the menu com-
mand Define... −> Reset Element/Type will not only clear the
marked slot but also delete the built-in or common model, if it is
stored inside the composite model in the data manager. These set-
tings are explained in the section 23.3 (The Composite Frame) in
more details.

A faster method for defining standard composite models is to right-click an object in the
single line diagram and selecting Define... from the context menu of the element.
When a standard composite model is available for the selected object, a list of the avail-
able controllers is shown. Selecting a controller will add it to the composite model, which
is automatically created when no composite model exists yet for the selected object.
Standard composite models are available for
• The synchronous motor and generator,
• The asynchronous motor and generator,
• The static VAr system.

23.2.1 Slot Update


The Slot Update button in the composite model will re-read the slot definitions from the
composite frame and will cancel all invalid slot assignments.
A slot assignment is invalid when a model has been assigned to a slot which is not suited
to receive such a model, i.e. a voltage controller cannot be assigned to a slot defined for
a primary controller model.
All built-in or common models which have been created for a specific composite model
are stored in that composite model itself. The contents of a composite model are shown
in the database manager where the composite model is treated as a normal database
folder. Basic power system equipment, such as synchronous machines or static VAr com-
pensators, are normally not stored in the composite folder, but in the grid itself.
The slot update will try to re-assign each model found in its contents to the corresponding
slot. Hereby the options defined for each slot are important. These are described in the
paragraph (Classification) in section 23.3 (The Composite Frame).

23.2.2 Step Response


The Step Response button in the composite model will activate the Step Response Com-
mand ComStepres. The dialogue can be seen in the figure 23.8.
Next to the references to the composite model, the template and the target directory, the
two step response tests, which will be created, can be specified. Also the study case to
be activated can be chosen. When Execute is activated, PowerFactory will create a
new folder in the current project named "Step Response Test". The figure 23.9 shows this
folder in the data manager.

23 - 7
DIgSILENT PowerFactory Models for Stability Analysis

Fig. 23.8: Dialogue of the step response command

Fig. 23.9: Step response folder in the Data Manager

Inside this folder a second folder with the name of the composite model, which is to be
tested, is created. Here the simple test grid can be found including only the generator,
the complete composite model and a load. Additionally there will be two new study cases
in which a step response for the AVR and the PCU respectively of the composite model
can be tested.
The user can change between the two study cases and your old cases by activating and
deactivating them.

Note There now doesn't exist any connection between the original and
the new elements of the composite model any more. So you can
change all settings of the controller without changing your net-
work.

After testing the controller, the folder "Step Response Test" can be deleted completely
without loss of information in the original network.

23 - 8
DIgSILENT PowerFactory Models for Stability Analysis

23.3 The Composite Frame


A composite frame is a block diagram which defines two or more slots, their input and
output signals, and the connections between them. A composite frame is defined graph-
ically by drawing it.
Drawing a composite model frame is similar to drawing a normal block diagram. The main
difference is that in stead of common blocks, only slots may be used.

To create a new composite frame select the "Insert New Graphic" icon on the main
toolbar and then selecting Block/Frame Diagram and pressing Execute as shown in the
figure 23.10. This new block definition will then be automatically created in the local li-
brary.

Fig. 23.10: Creating a new composite frame

An empty diagram of the frame will appear in the graphics window. A slot is then created

by selecting the icon in the graphics toolbox and positioning the slot on the drawing
surface by once clicking at the appropriate position. This is similar to placing elements in
the single line diagram.
An empty slot will be drawn on the page. To define the input and output signals and dif-
ferent parameters of the slot, edit the slot by double-clicking it. The slot edit dialogue will
pop up as depicted in the figure 23.11.

23 - 9
DIgSILENT PowerFactory Models for Stability Analysis

Fig. 23.11: Slot dialogue

Name and Sequences


The name of the slot will appear later in the dialogue of the composite model and should
be given according to the element that is to be assigned (e.g. 'vco slot'). The "Sequence"
parameter defines the order of the slots appearing in the composite model dialogue.

Input and Output Signals


The input and output signals have to be defined for each slot. The available signal names
for the Built-In transient models can be found in corresponding Technical References
of the elements. The given input and output signal names in this slot dialogue have to
match the input/output signals of the given transient model exactly, or the signals will not
be connected properly and an error message will occur.
Only after one or more input and output signals have been defined for a slot, it becomes
possible to connect the slot with signal lines to other slots. It is therefore recommended
to first position and edit all slots and draw the signal connections thereafter.

Limiting Signals
Also there is the possibility to enter 'limiting signals'. These signals are handled by
PowerFactory exactly like the normal input signals. The difference is only in the graph-

23 - 10
DIgSILENT PowerFactory Models for Stability Analysis

ical representation in the block diagram. These signals will be shown as inputs on the top
or bottom of the slot.

Class/Name Filter
Additionally there is the possibility to specify a filter for the class name and/or for the
model name to be inserted. This makes sense e.g. when only synchronous machines
should be assigned to the slot. Then for the class name ElmSym* has to be entered.
PowerFactory then will only allow the element class "synchronous machine'' to be in-
serted into the slot. A filter for a specific (part of an) element name can also be defined.

Classification
The classification options does only affect the external behavior of the slot.
Linear The slot representation in the frame diagram will be as a linear or non-
linear model.
Automatic, model will be created
When this option is activated, the function 'Slot Update' (see section
SlotUpdate) will automatically create a DSL model and ask for a block
definition from the library.
Local, Model must be stored inside
This option is activated by default. This means that when a Slot
Update is executed in the composite model, PowerFactory will only
search for elements, which are stored inside the ElmComp. A
reference to models, which are stored outside, i.e. like the synchronous
generator in a plant model, will be removed from the slot.
Not all input or output signals of built-in elements or common models have to be used
and defined in the slot. Also a slot may only have input or output signal.
For example the voltage or frequency of a AC voltage source ElmVac may be controlled
by an external function. So the slot for the source will only have two input signal u0 and
f0. More information about drawing composite frame diagrams can be found in 23.6
(Drawing Composite Block Diagrams and Composite Frames).

23.3.1 Assigning a Block Definition to a Slot


There is the possibility to assign a block definition (BlkDef) directly to a slot. This option
will simplify the handling of the slot and prevent errors due to not matching signal names
of slot and assigned block.
To assign the external form of a block definition to the selected slot, edit the slot by dou-

ble-clicking it and choose the "select" button for the "Block Definition" in the dialogue.
Now the block definition can be selected, e.g. the type of controller or built-in element,
which should be assigned to this slot later on.
For example if the new defined slot ought to represent a synchronous machine in the
frame diagram, a predefined block definition can be chosen to insert the input and output
signals to this slot available for the element ElmSym. A controller for example should only
assigning to a slot, when only this type of controller is to be inserted into this slot but no
other model.

23 - 11
DIgSILENT PowerFactory Models for Stability Analysis

Some predefined block definitions can be found in the global library in the path Library\
Models\ Built-in.
When the block definition is selected (in our example the ElmSym.BlkDef), the input
and output as well as limiting signals will disappear from the dialogue of the slot. The filter
for the class name will automatically be entered. When selecting the Ok button, the slot
will then show the right inputs and output of the block definition.

Note When a block definition is assigned directly to a slot, only the input/
output signals is set automatically. The internal equations/defini-
tions of the block definition are not implemented into the slot and
the slot itself remains empty. There is always the need to create a
common model, which is the inserted into slot of the composite
model. When the slot refers to an outside block definition, take
care that this reference is also inside your project. If the reference
to the definition is invalid or changed, the slot may be changed as
well. So use the option of assigning a block very carefully.

23.4 The Common Model


The common model element (ElmDsl, ) is the front-end object for all user-defined
block definitions. This means that user-defined transient models, but also the block dia-
grams that are ready shipped with the PowerFactory program, cannot be used other
than through a common model. The common model combines a model or block definition
with specific set of parameter values. The Common Model shown in figure 23.12 uses the
block definition “vco_Simple”.
Typically the model definition is implemented as a block definition, such as shown figure
23.13.
A model definition contains block references which may in turn either point to a primitive
block definition (see figure 23.14) or to a another composite block definition (see figure
23.15). The structure of the block definition is thus recursive and it should be watched
that this recursive structure does not contain circular references to composite block defi-
nitions.
A primitive block definition contains one or more DSL expressions and forms a basic block
for more complex transient models. A description of how to use and create DSL models
can be found in chapter 24 (User Defined (DSL) Models).
It is also possible to implement the model definition not as a block definition, but directly
as a primitive block definition (figure 23.14), coded using DSL.
Each block definition generally has one or more parameters which can be changed to de-
fine the model's behavior. Two kinds of parameters are supported:
• Scalar parameters, i.e. amplification factors, offsets, setpoints, etc.
• Two and three dimensional array parameters, which are used in the DSL lapprox()/
lapprox2() and sapprox()/sapprox2() functions.

23 - 12
DIgSILENT PowerFactory Models for Stability Analysis

Fig. 23.12: Common model for the VCO

vco_Simple: Simplified Excitation System

usetp
o13

Emax

2
u - o12 yi PID Controller ve _{K/(1+sT)}_ uerrs
Ta,Tb,K1 Ke,Te

Emin

upss
3

Fig. 23.13: Block definition of the VCO, using a Sub-Definition

23 - 13
DIgSILENT PowerFactory Models for Stability Analysis

Fig. 23.14: Implementation of the limiter block, using a DSL routine

yi K o11 y2 K1/K2 yo
K1 Ta,Tb
o11(1..

o1

yi1 1/sT
Tb
-

yo(1)

Fig. 23.15: Implementation of the controller, defining a sub-block

To create a common model, use the "New Object" ( ) icon in the toolbar of the data
manager and select Common Model. The block/model definition has to be selected first.
Similar to the composite frame, this definition is either stored in the global or in the local
library.
The common model then displays the list of available parameters and arrays from the
block diagram, as shown in the figure 23.16. All parameters are listed on the first page of
the common model, and their values be specified there.

23 - 14
DIgSILENT PowerFactory Models for Stability Analysis

Fig. 23.16: Common model with parameter list

If the selected block definition uses one or more arrays in its definition, then these arrays
are displayed on the second page (for simple characteristics) and third page (for two-di-
mensional characteristics) of the ElmDsl object. In the figure 23.17 an example is shown
for a simple 2x2 array definition.

Fig. 23.17: Common model with array list

The characteristics are defined as follows:


Characteristic In row 'Size' insert the number of rows in the first cell, the number of
columns is automatically set to 2 and can't be inserted. If the number

of rows is changed, jump to the previous page and back again


to update the characteristic.
Two-Dimensional Characteristic
In row 'Size' insert the number of rows in the first cell and the number
of columns in the second cell. If the a number is changed, jump to the

previous page and back again to update this characteristic.

23 - 15
DIgSILENT PowerFactory Models for Stability Analysis

23.5 The Composite Block Definition


A composite block diagram of the model definition is a graphical representation of a math-
ematical transfer function, which produces one or more output signals as function of one
or more input signals. A block diagram may also have limits (minimal and maximal values)
as input signals.
A block diagram may thus be described as
(y_0, y_1, ...) = function(u_0, u_1, ...)
where y_0, y_1, ... stands for output signal 0, 1, ... and u_0, u_1, ... stands for input sig-
nal 0, 1, .... All these signals are functions of time.
Block diagrams consist basically of the following elements:
Summation Points
which produces the single output y=(u_0+u_1+...)
Multipliers which produces the single output y=(u_0*u_1*...)
Divisors which produces the single output y=(u_0/u_1/...)
Switches which produces the single output y=u_0 or y=u_1
Signal Lines which produces one or more outputs from one input: y_0=y_1=...=u
Block References
which are used to include other block definitions.
Block references can be looked upon as macro's that insert a low-level block definition
inside a composite block diagram definition. A block reference may either point to another
composite block definition or to a primitive block definition.
The PowerFactory program is shipped with a large set of primitive block diagrams for
most common controller elements like PID-controllers, Dead Bands, Valve Characteristics,
etc. and can be found in DataBase\ Library\ Models\ Global Macros. These predefined DSL
primitives may be copied and altered to specific needs.

A block reference is created by using the icon in the graphics toolbox. This creates
an empty square which can then refer to any existing block definition in the library.

Note The composite frame and the model definition are very similar and
the usage is nearly identical. When creating one or the other Pow-
erFactory recognizes the class, when you place the first slot or
block. If you place a block ( ) first, the icon for the slot will
become inactive, so you can't mix up slots and block sin one dia-
gram. See also section 23.6 (Drawing Composite Block Diagrams
and Composite Frames).

If the block type is selected PowerFactory inserts all available parameters of the re-
ferred block. You may change the name of the parameter but make sure, the order of the
parameters is not changed. The order is important so the right parameter is assigned to
the parameters inside the block definition.
Signal lines are directed branches, connecting input and output signals. A single output
line may be branched off and connected to more than one input terminal.

23 - 16
DIgSILENT PowerFactory Models for Stability Analysis

After the block reference has been edited, the it will show the input, output and limiting
signal connection points of the referenced block definition as one or more colored dots on
the left and right side respectively on the upper and lower side of the box. Signal lines
may then be connected to these points. It is allowed to refer to the block definition more
than once in the same block diagram. In that way, it is possible to use a particular PID-
controller, for instance, twice or more in the same model definition.
An example of a simple block diagram, comprising a multiplier, a summation point and a
standard PI block, is shown in the figure 23.18.

Fig. 23.18: Example of a simple block diagram

When rebuilding a diagram, by pressing the icon, the DSL representation of the block
diagram is written to the output window. For the example block diagram in the figure
23.18, this results in
model o1 = 'MyBlock'(i1,i2;x1;Kp,Ti;yi)
s1 = '\System\Library\Models\DSL\PI.BlkDef'(xe;x1;Kp,Ti;yi)
xe = i1*i2
o1 = s1+i2+i1
This simple example shows the whole meaning of the block diagram graphics: it is a con-
venient way to define specific controllers, based on standard components.
However, it would also be possible to define exactly the same block diagram by entering
the above DSL script manually and so create a primitive block definition.

23.6 Drawing Composite Block Diagrams and Composite


Frames
Although the composite block diagram and the composite frame diagram should be dis-
tinguished from each other, they are drawn in about the same way.
The basic distinction between a block diagram and a frame diagram is that the latter con-
tains only slots and signals, whilst the block diagram must not contain any slots.
A new block or frame diagram can be created in various ways:
• by the main menu entry File −> New or Strg-N and then selecting the option Block/
Frame Diagram from the "New" command dialogue (ComNew).

• by the icon "Insert new Graphic" on the toolbar of an opened graphic, and
selecting the option Block/Frame Diagram.
• by right-clicking a or inside a (library) folder in the active project in the data manager
and selecting New... −> Block/Frame - Diagram from the context menu.

23 - 17
DIgSILENT PowerFactory Models for Stability Analysis

• by using the "New Object" icon in the database manager and selecting Block
Definition (BlkDef).

Note The two later options only create a block definition object (BlkDef),
but no graphic. This method is therefore not suited to create a
composite block or frame diagram, but only for creating primitive
block definitions by entering the DSL code.

In the first two methods, a graphic will be created and will appear in the opened graphics
board. A new graphics board will be created when no graphics board is open. The new
block/frame diagram graphic will show a single rectangular block, which visualizes the
block or frame. The name of the new diagram will appear on top of the frame.
Inside this rectangle the following objects can be placed from the graphic toolbox for the
block diagram:
Node objects:
- block references
- summation points
- multipliers
- divisors
- switches
- different kinds of graphical objects
Branch objects:
- signals lines
Inside a frame diagram only the following elements are allowed:
Node objects:
- slots
- different kinds of graphical objects
Branch objects:
- signals lines
These objects can be selected from the Drawing Tool Box. The toolbox also has buttons
for pure graphical add-on objects (lines, polygons, rectangles, texts, etc.) as shown in the
figure 23.19.

Fig. 23.19: Block/frame diagram objects

23 - 18
DIgSILENT PowerFactory Models for Stability Analysis

Note When creating a frame or a bock definition, PowerFactory recog-


nizes the type of definition, when you place the first slot or block.
Because a composite frame diagram may only contain slots and
signal lines, creating a slot will disable all other node objects in the
drawing toolbox. If you place a block ( ) first, the icon for the
slot will become inactive, so you can't mix up slot and block
elements in one diagram.

23.6.1 Adding a Block Reference


Drawing the block objects and connecting them with signals is done in very much the
same way as in the single line graphics. A block reference is first displayed as an empty
square which has to be edited in order to assign a (low level) block diagram to it.
Because of lack of information about the number of inputs and outputs of the new block
reference before a (lower level) block definition is assigned to it, it will not be possible to
connect signals to the empty block. It is therefore recommended to first draw all block
references and to assign block definitions to them. Then the blocks references show all
available input and output signal connections.
A block reference is edited by right-clicking it and selecting Edit from the context menu,
or simply by double-clicking on it. The dialogue as displayed in the figure 23.20 will pop
up.

Fig. 23.20: Edit dialogue of the block reference

Use the Select button (see the cursor in the figure 23.20) to select a model definition.
Predefined standard block diagrams for your usage are located in the folder DataBase\
Library\ Models.

23 - 19
DIgSILENT PowerFactory Models for Stability Analysis

23.6.2 Adding Calculation Blocks

Summation Point
Every dot can be used as an input to the summation point. The sign of signals at summa-
tion points can be changed by editing the summation point object. The "edit" dialogue will
pop up, where any connected input connection can be inverted. Mind that not all dots
have to be used and only one dot can be defined as an output.

Multiplier
Every grey dot of this block can be used as input or output of the multiplier. An output of
three input signals will thus be out=(in_0*in_1*in_2). Mind that not all dots have to be
used and only one dot can be defined as an output.

Divisor
Every grey dot of this block can be used as input or output for the divisor. The first input
will be the numerator and thus be divided by the second (and if existing the third) input.
The order of the signals will be clockwise beginning on the left. An output of three input
signals will then be out=(in_0/in_1/in_2). Mind that not all dots have to be used and only
one dot can be defined as an output.

Switch
Two input signals can be applied to this block, which will be connected to the output ac-
cording to the position of the switch. Additionally a control signal has to be connected to
the top, which will define the operation of the switch. If the control signal is zero or neg-
ative, the switch will stay in the displayed state, whereas a positive signal will cause the
switch to change to the upper signal and the other way round. In the edit dialogue the
zero position of the switch may be altered.

23.6.3 Connecting Signals


After drawing and defining the block references or slots, or other node elements, they can

be connected with signal lines. After selecting the button from the graphical toolbox,
a signal line is drawn by first clicking on a 'from' node (output of a block/slot), optionally
clicking on the drawing surface to make a non-straight connection, and finally clicking on
a 'to' node (input to a block/slot). The input and output terminals of common blocks and
other node elements are depicted with colored dots (see the figure 23.21).

23 - 20
DIgSILENT PowerFactory Models for Stability Analysis

Fig. 23.21: Block signal connections

Green: Input
Red: Output
Blue: Min. Limitation
Pink: Max. Limitation
Gray: Every Signal can be connected
The signals lines can also be edited in the corresponding dialogue, which gives the pos-
sibility to change the name of the signal.

Multi-Signal Connections
Signals normally connect a single output parameter with a single input parameter. Espe-
cially in the case of three phase signals, such as is often the case of voltage or current
signals, multi-signal connections may be used.
A multi signal is defined by writing two or more signal names together, separated by semi-
colons, e.g "I_A;I_B;I_C''. In figures 23.22 and 23.23, the multi signal output and input
of two block definitions are shown. Both blocks will show a single input or output connec-
tion point. They can be connected to each other by a single signal line, as is shown in the
figure 23.24.

Fig. 23.22: Output definition of block 1

Fig. 23.23: Input definition of block 2

Fig. 23.24: Multi signal connection

Note The number of variables and their order in the output signal must

23 - 21
DIgSILENT PowerFactory Models for Stability Analysis

equal the number of signals in the input signal.

Block Diagram Input and Output Definitions


The composite block diagram normally has input, output and limiting signals of its own.
Input signal points are defined by starting a new signal line on the left, top or bottom side
of the frame enclosing block diagram. This will create a new input signal for the composite
block definition.
New output signals are defined by ending a signal line by clicking on the right side of the
enclosing rectangle frame.
Signals, which are thus connected to the rectangular frame, have the following meaning:
• connected to the left side: Input
• connected to the right side: Output
• connected to the bottom side: Minimum Limitation
• connected to the top side: Maximum Limitation

Note The names of the input and output signals must equal the names
of the input and output signals defined in the slot/block, you intend
to assign the definition.

23.6.4 Resize
If a marked symbol has small black squares at its corners, it can be resized by left clicking
one of the squares, as can be seen in figure 23.25. The cursor will change to a double
diagonal arrow and moving it (while holding down the left mouse button) resizes the ob-
ject. Release the mouse when the new size is correct.

Fig. 23.25: Resizing an object

It is also possible to pull the object(s) to a new size by clicking at one side of the marking
box. The marked object(s) will only resize in one direction in that case. This is not possible
for all objects. Some objects may only be resized with a fixed X/Y- ratio, some other ob-
jects cannot be resized at all.

23.6.5 Additional Equations


After the internal structure of the block diagram has been defined graphically, the block
diagram itself can be edited. This can be done without having to close the graphical rep-

23 - 22
DIgSILENT PowerFactory Models for Stability Analysis

resentation of the block diagram. By left or double-clicking the enclosing rectangular


frame, the block diagram edit dialogue will pop up. This dialogue will show all input, out-
put and internal signals as have been defined graphically.

On the second page of the dialogue, which can be accessed by pressing the button,
information and equations for the initialisation of the block can/has to be entered. Also
the name and the unit of the parameters to be defined in the common model can be spec-
ified (see also chapter 24 (User Defined (DSL) Models)).
Additional DSL equations can be defined at the second page of the block diagram edit
dialogue.

23 - 23
DIgSILENT PowerFactory Models for Stability Analysis

23 - 24
DIgSILENT PowerFactory User Defined (DSL) Models

Chapter 24
User Defined (DSL) Models

System modeling for stability analysis purposes is one of the most critical issues in the
field of power system analysis. Depending on the implemented model accuracy, large sig-
nal validity, available system parameters and applied faults or tests, nearly any result
could be produced and arguments could be found for their justification.
A simple example may illustrate this fact. In a 10 GW power system the expected steady-
state frequency deviation when losing a fully loaded 2000 MW unit depends highly on the
frequency dependency K_f of loads. Assuming a total system droop of 7% and K_f to be
0, the steady-state frequency deviation will be 700 mHz approximately.
Now, with a more realistic coefficient of K_f = 5 %/Hz, the steady-state frequency devi-
ation is expected to be 596 mHz only. On the other hand, the frequency dependency
might be slightly higher or lower, but the nonlinear characteristics of hydro turbine effi-
ciencies and steam valve nonlinearities could be more relevant at a certain unit loading
point. Consequently, as long as only one or two different loading scenarios are consid-
ered, average values with reasonable simple models may give acceptable results by tun-
ing only some key parameters like the frequency dependency of loads or droop settings.
Thus system model structures and parameter settings are to be best evaluated against
the following main criteria:
System size Big systems and small system have different "key parameters''.
Referring to the above example, for a smaller power system the
frequency dependency of loads is not relevant at all, whilst in big
systems like UCTE or UPS/IPS, frequency dependency may cover the
spinning reserve requirements totally.
Unit size Steady-state and transient behavior of big units are more decisive for
the overall system response than smaller ones which might practically
not affect the total system.
System structure
Independent of system and unit size, the system structure may be
more relevant than any other factor. This can easily be demonstrated
when weak systems with a longitudinal geographical extension or
appropriate substructures are analyzed.
System fault Most relevant to system modeling considerations are the applied faults
and related problems which are to be analyzed. The analysis of system
damping and PSS tuning will not necessarily require the boiler
dynamics to be considered. On the other side, load shedding
optimization and frequency restoration would not give appropriate
results if mid and long-term characteristics of relevant system elements
are neglected.

24 - 1
DIgSILENT PowerFactory User Defined (DSL) Models

Study purpose In general, for systems which are in a planning stage, typical models
and parameters could be applied as long as there is no specific
additional information available. However, a more and detailed
representation is necessary for system extensions, where a detailed
model representation should form part of the performance
specification. Special attention has to be paid to the analysis of
operational problems and the operation optimization. For these cases,
a detailed modeling of the relevant components is indispensable.
As soon as a detailed analysis and representation of system models is required, the im-
mediately arising questions are:
• How can the structures and parameters of the model be determined?
• Are IEEE models and additional manufacturers block diagrams adequate and
accurate?
• How could the available information be used within the power system analysis
software?
The approach which is presented here and successfully applied in various projects can be
called the "Advanced System Modeling Approach (ASMA)''. Typical applications are
• the analysis of controller problems and relevant malfunctions, especially under
disturbance conditions
• optimization of control parameter settings
• modeling of unconventional system structures and control concepts often found in
industrial systems
• study applications for the design and specification phase of components and systems
(e.g. power system stabilizer, generator and HVDC controllers).
For the ASMA approach, the following steps are of crucial importance:
Setup of system models
Based on the fundamental equations of engineering and physics, the
basic algebraic and differential equations are to be set up within the
required degree of accuracy. In addition, all parameters like time
constants and gains which could be also derived from these basics, are
likewise to be calculated.
Performance of system tests
In order to define all other parameters and especially nonlinear
characteristics, system performance tests are the best method. In the
majority of cases, frequency response tests will not permit the
determination of any nonlinear structure and its parameters. Special
test procedures, which do not interfere with normal operation, have to
be applied to focus on the steady-state characteristics, gains and time
constants. These measurements are preferably executed with a highly
accurate digital transient performance measurement system.
System Identification
Nonlinear, multi-input and multi-output system identification
techniques are applied for system identification procedures. Typically,
the mismatch between measured and identified curves should be
smaller than 2%.

24 - 2
DIgSILENT PowerFactory User Defined (DSL) Models

Comparison of measurements and simulations


Besides the analysis of subsystems and components, overall system
performance is to be compared with the theoretical model for all
relevant operating modes.
Of course, very strict application of the ASMA approach is not necessary for modeling re-
lays and the less complex or digital control functions, as these are clearly defined by their
appropriate general and acceptance test documentation. But independently of the ana-
lyzed system, where the system representation cannot be matched to a classical IEEE or
any other standard model, there is a substantial need for an easy to use and flexible meth-
od for the realization of individual models.

24.1 Modeling and Simulation Tools


As already indicated, the most critical and decisive factor for reliable simulation results is
the accuracy and completeness of system model representation for identification and sim-
ulation purposes. Methods for solving this task range from the classical and traditional
way of using software which allows interfacing of user-defined models at the FORTRAN/
C level - typically via connection lists - to the block-oriented approach which is based on
the provision of predefined low level block macros being connected at the case definition
level.
In addition, most modern commercially available general purpose simulation tools may be
used for flexible and specific system representation. Unfortunately, this approach does
not cover adequately the special electrical system load-flow characteristics.
In order to provide a very flexible modeling and simulation tool, which forms part of a
stability program, a control system based simulation language was developed. The fol-
lowing main features of the DIgSILENT Simulation Language (DSL) have been to be
relevant:
• The simulation tool falls into the category of a Continuous System Simulation
Languages (CSSL)
• DSL includes a complete mathematical description of (time-) continuous linear and
nonlinear systems.
• The simulation tool is based upon common control and logic diagrams leading to a
non-procedural language as the sequence of elements could be chosen arbitrarily. In
other words, a DSL model can be converted into a graphical representation.
• Provision of a flexible definition of macros, which could be: algebraic equations, basic
control elements like PID, PTn or even complete physical subsystems like valve
groups or excitation systems.
• Provision of various intrinsic functions like: "select'', "lim'', "limits'', "lapprox'',
"picdrop'' in order to provide a complete control of models.
• Provision of various formal procedures for error detection and testing purposes like:
algebraic loop detection, reporting of unused and undefined variables and missing
initial conditions.

24.2 DSL Implementation: an Introduction


The "DIgSILENT Simulation Language" is used to define new dynamic controllers which

24 - 3
DIgSILENT PowerFactory User Defined (DSL) Models

receive input signals from the simulated power system and which react by changing some
other signals.
DSL itself can be looked upon as an add-on to the transient analysis functionality of
PowerFactory. During the simulation, the model equations of the DSL models are com-
bined with those describing the dynamic behavior of the power system components.
These equations are then evaluated together, leading to an integrated transient simula-
tion of the combination of the power system and its controllers.
The DSL main interfacing functions are:
Signal input and output channels:
Any variable defined within the kernel (currently more than 2500) and
in a DSL model, can be accessed in a read-and-write mode. Main and
sub-address features are implemented allowing the access of any
signal existing in the system or to build up complex structures like
hardware-based modules taking equipment "rack'' and "function card''
structures into account.
Events: Conditions evaluated by DSL models may cause events to be sent to
the program kernel where they will be scheduled within the event
queue.
Output and Monitoring:
Conditions may trigger user-defined messages to be displayed in the
output window.

Fig. 24.1: Structure of the PowerFactory DSL system

The structure of a DSL model is best explained by example. The used example is that of
a prime mover unit model of a simple hydro turbine. This DSL model has been defined
graphically, and contains one embedded DSL macro. That embedded macro models a sin-

24 - 4
DIgSILENT PowerFactory User Defined (DSL) Models

gle integrator and is defined by programming it.


This is the basic method for designing new DSL models:
1 A set of basic DSL models is created. These models implement simple, 'primitive'
controllers like a 'first order time lag' or a 'PID' controller. PowerFactory program
shipped with a large number of these primitive controller models. New primitives are
created by programming their differential equations and signal settings, using the
DSL language.
2 The more complex controller is created graphically by drawing its block diagram.
Such a block diagram normally uses references to other DSL models which are thus
combined into a more complex controller. Controller references may be used to
include DSL primitive models into the complex model, but may also refer to other
graphically defined complex models. Highly complex controllers may thus be
designed in a hierarchical way, by designing sub-models and sub-sub-models, where
the DSL primitives form the lowest level. In section 24.3, these procedures are
described in detail.

Fig. 24.2: Diagram of a simple model of a hydro turbine

In the figure 24.2, the model definition that was used to define the hydro turbine model
is depicted. The resulting DSL code, as shown in the output window when a "graphics
rebuild'' is performed is:
1. model Pt = 'pmu_hydro'(At,C;x1;Ti;)
2. pt_x = 'I.BlkDef'(xe;x1;Ti;)
3. i3 = i1/i2
4. i1 = At*At
5. i2 = pt_x*pt_x
6. i4 = xe*pt_x
7. xe = i3-C
8. Pt = pt_x-i4
The line numbers have been added for convenience. The corresponding block definition
shows:
Output Signals : Pt
Input Signals : At, C
State Variables : x1
Parameter : Ti
Internal Variables :
The example describes a simple hydro turbine model with the input signals A_t and C and
the output signal P_t.

24 - 5
DIgSILENT PowerFactory User Defined (DSL) Models

Fig. 24.3: Graphical representation of a DSL model of an integrator

In the figure 24.3, the graphical representation of the embedded primitive DSL model is
depicted. This primitive model is included in the hydro turbine (in line 2 of the hydro's
definition). The DSL primitive implements a single integrator and is programmed by:
1. model y = 'I'(xe;x1;Ti;)
2. [Ti] = 's'
3. limits(Ti) = (0,)
4. inc(x1) = y
5. inc(xe) = 0
6. x1. = xe/Ti
7. y = x1

Line 1 is generated by pushing the Equations button in the block diagram dialogue. Lines
2..7 were entered manually.
The block definition dialogue was used to set
Output Signals : y
Input Signals : xe
State Variables : x1
Parameter : Ti
Internal Variables

24.2.1 Parts of a DSL Model


Both example DSL models show the two basic parts of any DSL model, primitive or com-
plex:
1 The interface definitions
2 The DSL model description

Interface description
The interface defines the model name, names of input and output signals, model param-
eters and state variables. These are shown in the output window in the model heading.
Example (line 1 from the hydro turbine model):
1. model Pt = 'pmu_hydro'(At,C;x1;Ti;)
The block diagram dialogue further allows for the definition of limiting parameters and
input signals, and the classification of the model as a linear model and/or as a DSL macro.

Model description
The model description describes the DSL model, based on the signals defined in the in-
terface. The DSL description includes
• Parameter descriptions: name and unit
• Allowed parameter ranges
• Initial conditions and functions which are used to calculate initial values.

24 - 6
DIgSILENT PowerFactory User Defined (DSL) Models

• The algebraic relations which define the controller.


Example (the integrator):
2. [Ti] = 's' ! the unit of Ti is seconds
3. limits(Ti) = (0,) ! Ti > 0
4. inc(x1) = y ! initially x1=y
5. inc(xe) = 0 ! initially xe=0
6. x1. = xe/Ti ! equation 1: deltax1 / deltat = xe/Ti
7. y = x1 ! equation 2: y=x1

24.2.2 Advanced Features


The numerical integration of DSL models, interrupt scheduling and input-output signal
processing is handled automatically by the program kernel. In addition, if the output of a
DSL model is an electric current being added to the appropriate total bus current - which
is the case if a load or generator model is created - all Jacobean elements necessary for
the iterative simulation procedure will be calculated automatically.
Another useful feature of the DSL is the implemented algorithm for numerical setup of the
system matrix for eigenvalue calculation purposes. Consequently, any model implement-
ed at the DSL level will automatically be taken into consideration when calculating the sys-
tem eigenvalues or when applying the modal network reduction approach (MRT). Of
course, any signal limiting functions will be disabled automatically for this calculation pro-
cedure.
In addition, inputs and outputs of model parameters, its organization via windows menus
etc. is also derived automatically from the DSL model.

24.3 Defining DSL Models


A new DSL model is created either by entering the DSL code in the equation part of a
"Block Definition'' (BlkDef) object, or by creating a new Graphical Block Diagram (see
also section 24.3.1 on how to create a new block definition). Both methods will result in
a Block Definition Object which holds the definition of the DSL model.
The block definition objects thus serve two purposes in the process of constructing a DSL
model:
• They hold the definitions and parts of a graphically constructed composite block
definition, and the diagram graphic which was used to define the model.
• They provide the surrounding in which a new "DSL primitive '' or 'primitive block
definition' can be defined.

24.3.1 Composite Block Definitions


To create a new composite block definition
• use the main menu entry File −> New or Strg-N and then select the option Block/
Frame Diagram from the "New" command dialogue (ComNew).

• use the icon "Insert new Graphic" on the toolbar of an opened graphic, and select
the option Block/Frame Diagram.

24 - 7
DIgSILENT PowerFactory User Defined (DSL) Models

To access the dialogue of the block definition (BlkDef), double-click on the frame box
surrounding the diagram.
Complex Block Definition objects may be compared with the "Grid Folders'' in the Power-
Factory database tree. They are defined by graphically defining a controller block dia-
gram of which they will store the graphical information and all logic parts. These parts
include signals, small standard components (adders, multipliers, etc.) or DSL primitives.
Although a complex Block Definition object is created graphically, it allows for additional
DSL equations to define those aspects of the controller that would be difficult to enter in
a graphical way.
The graphical environment in which a complex Block Diagram is constructed, is not treat-
ed here. Please refer to chapter 8 (The Graphic Windows) for more information.

24.3.2 Primitive Block Definitions


To create a primitive DSL block definition
• right-click a or inside a (library) folder in the active project in the data manager and
selecting New... −> Block/Frame - Diagram from the context menu.

• use the "New Object" icon in the database manager and selecting Block Definition
(BlkDef).
• double-click an new/empty block reference in an open block diagram and then use
the button to select a block definition. Then use the icon to create a new
block definition inside the local library.
DSL primitives are the building blocks from which the more complex controller diagrams
are composed. A DSL primitive, for example, might implement a Low Pass filter, which
may then be used to graphically construct more complex controllers which include such
a filter.
Unlike transformers or other power system components, which may be looked upon as
'power system primitives', a DSL primitive is only referred to by a complex block diagram
and may thus be used in more than one complex DSL model at the same time.

24.3.3 Block Definition Dialogue


When creating a primitive DSL model or by double-clicking on the frame of a composite
block definition, a dialogue will appear, where input and output variables, parameters,
state variables and limiting signals can be defined. Furthermore additional equations, ini-
tial conditions of variables as well as names and units of parameters can be inserted.
the figure 24.4 shows an example dialogue of a PI controller including limiting parameters
and a 'switch' signal:

24 - 8
DIgSILENT PowerFactory User Defined (DSL) Models

Fig. 24.4: Dialogue of the block definition

• The name and title will appear in the library folder, where the model is stored.
• The level of the model representation is only important when using or changing old
models. For new created models "Level 3'' should be used always. For macros this
option does not have any impact, because the level of the highest block is important,
i.e. the controller definition.
• "Automatic Calculation of Initial Conditions'': PowerFactory can calculate the initial
conditions automatically. However if there is no sequence found (because of e.g.
dead lock situations) there will be an error message.
• "Classification'':
Linear This option will only effect the graphical representation of the block in
the diagram. If this option is enabled, the block will be represented as a
linear block, otherwise as a not-linear block with two lines.
Macro This option is used to identify the block definition as a macro inside the
library.
Matlab Enabling the 'Matlab' tag will show am input dialogue, where a Matlab
(*.m) file can be defined with which the block definition can

24 - 9
DIgSILENT PowerFactory User Defined (DSL) Models

communicate during a simulation. For more information about the


Matlab interface see 28.1.
• A constant limiting parameters may be defined, which are defined in the dialogue
of the Common Model, as well as limiting signals, which are similar to input signals.
The difference is the graphical representation in the block diagram.
• Input and output signals have to be defined for the internal use inside the block
definition. The number and their name will then appear in the graphical diagram when
the block is used.
• State variables are needed when not only linear but also differential equations are
used. Then for every first-order derivative one state variable has to be specified.
• The parameters will appear in the dialogue of the common model and can then be
specified. The parameter defined in here the block definition will automatically be
inserted in the block reference. The names of the parameters can be different in the
block reference and in the block definition. Only the order has to be identical.
• Internal variables are only used inside the block definition but can not be set from
outside.
There are several buttons on the right side of the dialogue:
Contents This button will display the (possible) contents of the block definition.
This can be the graphically inserted objects, further block references or
the packed macros. Additionally this may be e.g. internally defined
events.
Equations The "Equations" button will print the DSL equations to the output
window, independently if they are defined graphically or on the
"Additional Equations" page, as well as variable definitions.
Macro Equat. This button prints the DSL equations of the current block definition
including the equations in the used macros to the output window.
Check "Check" will verify the model equations and output error messages, if
fault have occurred. Otherwise the following message will occur:
DIgSI/info - Check '\TestUser.IntUser\Windparks.IntPrj\Library
\Block Definitions\DFIG\Voltage Control.BlkDef':
DIgSI/info - Block is ok.
Check Inc. The initial conditions of the block definition will be printed and checked.
Pack Pack will copy all used DSL models (macros) of a composite model
definition to the folder "Used Macros" inside the block definition. In this
way there will be now references to other projects or libraries outside
the model.Beware: Any further changes in the macro library has no
influence, the macros are copied and no longer linked to the library. So
if there is an error in a certain macro it has to be fixed separately in
each packed block.
Pack-> Macro
This command will reduce the whole model including DSL blocks and
additional equations and macros into one DSL model containing only
equations. All graphical information will be lost. This command is
irreversible.
Encrypt The "Encrypt" button is available when Pack-> Macro is activated
before. This command encrypts all equations inside the model, so the
equations can not be seen or outputted anymore. In this way a model

24 - 10
DIgSILENT PowerFactory User Defined (DSL) Models

containing sensitive or restricted device equations can be delivered


without showing the internal equations. This command is irreversible
and a decrypt function is not available.

By clicking on the button the second page of the dialogue can be accessed. Here the
(additional) equations of the DSL model can be defined. Also further information e.g. the
initial conditions of state variables and the name and unit of parameters can be specified.
the figure 24.5 shows the additional equations of the DSL model of the PI controller.

Fig. 24.5: Dialogue of the block definition - Page 2

The next section will show the handling and usage of the DSL language in detail.

24.4 The DIgSILENT Simulation Language (DSL)


The DSL language is used to program models for the electrical controllers and other com-
ponents used in electrical power systems. As for any other simulation or programming
language, a special syntax is provided for the model formulation.

24.4.1 Terms and Abbreviations


The following terms and abbreviations are used to describe the DSL syntax:
expr arithmetic expression, not to be terminated with a ';'
- arithmetic operators: +, -, *, /
- constants: all numbers are treated as real numbers
- standard functions: sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), sinh(x),
cosh(x), tanh(x), exp(x), ln(x), log(x) (basis 10), sqrt(x) (square root), sqr(x)
(power of 2), pow(x,y), abs(x), min(x,y), max(x,y), modulo(x,y), trunc(x), frac(x),
round(x), ceil(x), floor(x).
These standard functions are described in detail in the last chapter.
- Parenthesis: (arithmetic expression)
All trigonometric functions are based on radians (RAD).
Example:
A = x1+2.45*T1/sin(3.14*y)
boolexpr logical expression, not to be terminated with a ';'
- Logical relations: <, >, <> (inequality), >=, <=, =.
- Unary operators: .not.
- Binary operators: .and. .or. .nand. .nor. .eor.

24 - 11
DIgSILENT PowerFactory User Defined (DSL) Models

- Parentheses: {logical expression}


Example:
A = {x1>0.and..not.x2 <= 0.7}.or.T1=0.0
string anything within '...' (single quotation marks).
Example: A = 'this is a string'

24.4.2 General DSL Syntax


Line length: The maximal line length is 80 characters. Longer lines have to be
broken by using the '&' sign in the first column. A '&' sign at the first
column joins the row and the preceding row.
Example:
y = lapprox(x, 1.674, 7.367, 2.485, 12.479, 5.457, 18.578
& 6.783, 15.54, 8.453, 12.589, 9,569, 6.478)
Line breaking cannot be used within names or strings.
Case sensitivity
All keywords, names, functions, variables, models, macros, etc. are
case sensitive.
Blanks All blanks are removed when the DSL code is processed. Exception:
blanks in strings are kept.
Comments The '!' sign causes the remaining line to be interpreted as a comment.
Comments are removed when the DSL code is processed.
Example:
! 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)

24.4.3 DSL Variables


A DSL model may use 5 types of variables:
Output signals
Output signal variables are available as input signals to more complex
DSL models.
Input signals
Input variables may origin from other DSL models or from a power
system elements. In the latter case, currents and voltages, as well as
any other signal available in the analyzed power system, become
available to the DSL model.
State variables
State variables are time dependent signals generated and used within
the DSL model itself.
Parameters Parameters are 'read only' numbers which are set to alter the behavior
of the DSL model.

24 - 12
DIgSILENT PowerFactory User Defined (DSL) Models

Internal variables
Internal variables are defined and used in the DSL model to ease the
construction of a DSL set of equations.
The following rules may be helpful when interpreting warning and error messages:
• A state variable may not be at the same time an output variable; if required, the use
of an assignment like y=x1 is recommended.
• All parameters are real numbers.
• A special parameter 'array_iiii' (with up to 4 digits i), with 2*iiii elements is provided to
define characteristics (see procedure "lapprox'').
• Only the derivatives of state variables can be assigned an expression.

24.4.4 DSL Structure


DSL models are built up of three parts:
• The interface part, which states the model name, title, classification and variable set.
This part is set in first page of the block diagram edit dialogue. For detailed
information, please see section 24.3.3.
• Definition code.
• Equation code.
The definition and equation code form the actual controller network definition and are
treated in the next chapters.

24.4.5 Definition Code


A Definition code in the equation part of a DSL model is used to define parameter prop-
erties and initial conditions.

Unit and Parameter Description


vardef(varnm) = unitstring;namestring
Unit and name for variable varnm.
examples:
vardef(Ton) = 's';'Pick up time for restart' ! defines unit and name
vardef(Ton) = ;'Pick up time for restart' ! only defines name
vardef(Ton) = 's'; ! only defines unit
[varnm] = unitstring
Unit for variable varnm, maximal 10 characters width.
Remark:
a macro call causes error messages, if the units of the substituted
variables do not match the defined units.
Example:
[Ton] = 's' ! defines unit

24 - 13
DIgSILENT PowerFactory User Defined (DSL) Models

Valid Value Ranges


limits(varnm) = [/( minimum value, maximum value ]/)
Defines the valid interval for variable varnm. Violations of the interval
limits during simulation will be reported:
limits(yt)=(,1] is equivalent to output(yt>1,'Maximum exceeded: yt=yt>1')
The '(' and ')' braces exclude the minimum or maximum value. The '['
and ']' braces include them from the interval.
Examples:
limits(x)=[min,max] ! min <= x <= max
limits(x)=(min,max] ! min < x <= max
limits(x)=(,max] ! x <= max
limits(x)=(min,) ! min < x
If required and possible, the program automatically determines the smallest interval un-
der several intervals of the same variable.
Example:
limits(x)=(1,3) and limits(x)=(2,4] results in 2<x<3.
Macro models often define limits for certain variables. The model which uses the macro
might also define limits for the variables which are used in the macro calls. The 'smallest
interval' method gives the calling model thus the freedom to redefine parameter limits
without violating the internal macro limit definitions.

24.4.6 Initial Conditions

Direct Setting of Initial Conditions


inc(varnm) = expr
Definition of the initial condition of variable varnm. If inc(varnm) is not
defined, the normal assignment expression will be evaluated (only
possible if varnm is of the intern or input type). If inc(varnm) is
defined, it will be evaluated when the model resets.
inc0(varnm) = expr
Definition of the initial condition of variable varnm, for unconnected
output or input variables. This variant of the inc() statement is used
only when the variable varnm could not be initialized through the initial
condition of the connected input or output signal. The inc0() statement
is thus used to make open input or output terminals possible.
incfix(varnm) = expr
This variant of the inc() statement is valid only in connection with
automatic initialization and is used to determine the initial values in
ambivalent situations. With the incfix, one or more variables can be
directly initialized so that other variables can be initialized
automatically.
Example:
AVR model has two inputs, [upss , usetp ], and one output, [uerrs ]. Both inputs cannot
both be initialized automatically by the single output value, which is determined by the
connected machine. Therefore one of the inputs must be initialized fix, e.g. by incfix(up-
ss)=0. The initial value of usetp is now automatically determined, using upss=0.

24 - 14
DIgSILENT PowerFactory User Defined (DSL) Models

Iterative Setting of Initial Conditions


Three functions are available in order to determine initial values iteratively: looping, in-
tervalinc, newtoninc.
These functions are used to find the initial value for one set of parameters if the initial
values of another set of parameters, which are functions of the first set of parameters,
are known.
The iterative functions are used to find the (approximated) values for the unknown pa-
rameters for which the known parameter take their initial value.
loopinc (varnm, min, max, step, eps)
Performs a simple linear search for a single value for which the parameter varnm is
closest to its known initial value
varnm = target variable, whose initial value is known
min = lower limit
max = upper limit
step = stepsize
eps = maximum error
Example:
inc(a) = loopinc(b, -5, 5, 0.01, 0.001)
• The initial value of variable a is searched by evaluating parameter b, beginning
at a=-5, ending at a=5, with an increment of 0.01.
• Return value: the value for a for which the deviation of b to its known initial
value takes the smallest value. A warning is given if the smallest deviation is
greater than eps.
• Restriction: Can only be used as the right side of an inc()-statement
intervalinc(varnm, min, max, iter, eps)
Performs an 'interval-division search' for a single value for which the parameter
varnm is closest to its known initial value.
varnm = targetvariable, which initial value is known
min = lower limit, max = upper limit
iter = maximum number of iterations
s = maximum error
Example
inc(a) = intervalinc(b, -5, 5, 40, 0.001)
Explanation:
The initial value of the variable a is searched for, within the interval [-5,5] by suc-
cessively dividing the interval as long as the deviation of the variable b to its initial
value is less than eps. The iteration stops if the maximum number of iterations is
reached, and a warning is given if the smallest deviation is greater than eps.
Restriction:
May only be used as the right side of an inc()-statement
newtoninc(initexpr, start, iter, eps)
Performs a newton iterative search for one or more parameters by minimising the
errors in a set of coupled equations.
initexpr = the expression which must equal the parameters whose initial value is
sought
start = the starting value for the parameter whose initial value is sought

24 - 15
DIgSILENT PowerFactory User Defined (DSL) Models

iter = the maximum allowed number of iterations


eps = the maximum allowed absolute error between initexpr and the parameter
whose initial value is sought.
Example:
qt0 = 0.5
eps = 0.000001
maxiter = 100

inc(hedr) = newtoninc(hw-sqr(qedr)*(Rds+Rdr), hw, maxiter, eps)


inc(qt1) = newtoninc(Pt1/(4*dh*eta1), qt0, maxiter, eps)
inc(qt2) = newtoninc(Pt2/(4*dh*eta2), qt0, maxiter, eps)
inc(qt3) = newtoninc(Pt3/(4*dh*eta3), qt0, maxiter, eps)
inc(qt4) = newtoninc(Pt4/(4*dh*eta4), qt0, maxiter, eps)
This example shows a part of the initial value definitions for a model where the initial
values of 5 parameters (hedr ,qt1 ,..,qt4) are sought simultaneously by setting up a
system of coupled equations and solving that system by newton iteration so that,
eventually,

hedr ≈ hw – qedr ⋅ ( Rds + Rdr )


qt1 ≈ Pt1 ⁄ ( 4 ⋅ dh ⋅ eta1 )
qt2 ≈ Pt2 ⁄ ( 4 ⋅ dh ⋅ eta2 )
qt3 ≈ Pt3 ⁄ ( 4 ⋅ dh ⋅ eta3 )
qt4 ≈ Pt4 ⁄ ( 4 ⋅ dh ⋅ eta4 )

Please consider the following guidelines:


• Add the initial conditions to the complex block not to each primitive (like a first-order
time lag).
• The general initialisation 'direction' is from right to left, i.e. the outputs are normally
known and the inputs or setpoints have to be determined.
• If initial conditions are not defined for a certain variable the simulation equations are
used instead. It should be therefore enough to specify the initial conditions of the
state variables and input variables.
• The option Automatic Calculation of Initial Conditions needs some configuration work,
but does not require correct initial conditions for each state/input variables. The initial
values are only used to initialize the iteration process. The incfix-function can be used
to determine the initial values in ambivalent situations.
• Use the option Verify Initial Conditions to check, if the initial conditions lead to the
correct result.
• Add the initial conditions to the complex block not to each primitive (like a first-order
time lag).
• The general initialization 'direction' is from right to left, i.e. the outputs are normally
known and the inputs or setpoints have to be determined.
• If initial conditions are not defined for a certain variable the simulation equations are
used instead. It should be therefore enough to specify the initial conditions of the
state variables and input variables.

24 - 16
DIgSILENT PowerFactory User Defined (DSL) Models

• The option Automatic Calculation of Initial Conditions needs some configuration work,
but does not require correct initial conditions for each state/input variables. The initial
values are only used to initialize the iteration process. The incfix-function can be used
to determine the initial values in ambivalent situations.
• Use the option Verify Initial Conditions to check, if the initial conditions lead to the
correct result.

24.4.7 Equation code


Within the equation code, all equations necessary to build up the simulation models are
included. The set of equations defines a set of coupled differential equations which de-
scribes the transfer functions between the input and the output signals. These transfer
functions may range from simple linear, single-input single-output functions, to highly
complex nonlinear, non continuous multi-input multi-output functions.
DSL is used to describe direct relations between signals and other variables. Expressions
may be assigned to a variable itself, or to the first derivative of a state variable. Higher
order differential equations have thus to be spit up into a set of single order equations by
the introduction of additional state variables.

24.4.8 Equation statement


The equation statements are used to assign expressions to parameters, thus relating all
parameters in a set of differential equations.
Syntax:
varnm = expr
Assigns expression 'expr' to variable 'varnm'.
Examples:
y = sin(a)+3*x1
y = .not. x1>2 .or. a<=3
varnm. = expr
Assigns expression expr to the first order derivative of the variable varnm.
Examples:
x1. = (xe-x1)/T1
x2. = x1

Remarks:
• DSL assignments may occur in any sequence. The sequence does not influence the
evaluation of the assignments.
• All variables are of type floating point, even if assigned to a boolean expression, in
which case the value will be 0.0000 or 1.0000;
• When a variable z is used in a logical expression (i.e. y=.not.z), the logical 1 of z is
tested by evaluating (z>0.5):
y1 = .not.z is interpreted and equal to y1 = (z=<0.5)
There is no warning against mixing logical and non-discrete variables in expressions.
Consequently the following code will cause no message: depending on y, z will take
the value x1 + 4.0 or just x1 :

24 - 17
DIgSILENT PowerFactory User Defined (DSL) Models

y = .not. x1>2 .or. a<=3


z = 4.0*y + x1
• The assignment of a value to a variable is taking place in an order which recognizes
the connections between these variables. In the case of the following example, the
second line will be evaluated first, then line 1:
1. a = b+5
2. b = x1
3. x1. = 1
• Algebraic loops are not supported. In the following example, an error message will be
displayed:
a = b+5
b = 2*a
• If there is no assignment to a variable varnm, varnm will keep its initial value. The
right side expression may not contain derivatives. Derivatives may only appear on the
left side of the equation sign. The first example is correct, the second is false.
x1. = asin(a) ! Correct
a = sin(x1.) ! Not accepted

24.4.9 DSL Macros


A DSL macro is a predefined DSL model, complex or primitive, which is primary meant to
be included in higher level DSL models. The block diagram edit dialogue offers a 'Macro'
classification option which can be set to mark the model as a macro.
A DSL macro is included in a higher level DSL model either by creating a block reference
in the block diagram graphics or by explicit inclusion in a DSL equation.
Syntax:
varnm1, varnm2,... = macroname (i1,i2,... ; s1,s2,... ; p1,p2,... ; i1,i2,...)
Assigns the output signals of the DSL macro macroname to the variables varnm1,
varnm2 , ... Assigns the input signals of DSL macro to the variables i1, i2,... The
macro uses the state variables s1, s2,... the parameters p1, p2,... and the internal
variables i1, i2,...
Example:
P1,P2 = '\User\I.BlkDef'(i1,i2;s1,s2;T1,T2)
This example assigns to P1 and P2 the output of DSL model \ User\ I.BlkDef .
Macro calls are not supported within expressions, even if they only have one output vari-
able
Correct example:
y = my_macro(x1, s1, p1, i1) !
Incorrect example:
y = 3 * my_macro(x1, s1, p1, i1) + 4
should be replaced by:
y1 = my_macro(x1, s1, p1, i1)
y = 3 * y1 + 4

DSL Internal Macro Handling


A preparser substitutes each macro call with the equation code of the macro. The vari-
ables of the macro DSL model are then replaced by the variables used in the macro call.

24 - 18
DIgSILENT PowerFactory User Defined (DSL) Models

The local variable names of macros thus disappear after the prepare process.

DSL Models
In general, there are two basic types of DSL models possible:
1 Models of electrical devices like generators, loads or HVDC systems. These models
are characterized by their principal output signal "complex device current'', which is
injected to the electrical grid at a certain busbar. However, in addition to the
electrical device currents, there may be any other variable defined as an output
signal. A summary of the available variables can be seen in the corresponding
Technical References of the element.
2 Models with output signals which are not directly injected to the electrical network
(general devices). Among these types of models are prime mover units, voltage
controllers, relays, calculation procedures, etc.

24.4.10 Events and Messages


The DSL language provides procedures to generate an interrupt event or to send a mes-
sage to the output window:
• The procedure fault(boolexpr, event_string) generates an event and is evaluated
at the beginning of each time step
• The procedure output(boolexpr, message_string) outputs a message and is
evaluated at the end of each time step.
The "fault" and "output" procedures are evaluated at each time step during the simulation
of a model. The first time that boolexpr is found to be true, the string will be processed
and a message is send to the output window or an event is added to the PowerFactory
event queue. The '"fault" or "output" procedures will be disabled thereafter, to prevent
an avalanche of messages or events, until the DSL model will be reset again.
Both procedures are explained in detail in the following paragraphs.

output(boolexpr, message_string)
The message_string may contain variables and the special function num(boolexpr) or
num(expr):
• variable names which appear directly after an '=' sign will be substituted by their
actual values; the following line may generate the message:
maximum exceeded: yt=1.2 > ymax=1.0:
output(yymax,'maximum exceeded: yt=yt > ymax=ymax')
• the num(expr) or num(boolexpr) will be substituted with the calculated value of the
expression, e.g.:
value=num(a+b) may produce value=3.5000

fault(boolexpr, event_string)
Each DSL model has the capability to add events to the event list. A DSL model of a dis-
tance relay, for instance, can open the power switch of a line by adding the correct switch
event. 'Adding an event' is done by executing an existing event object in the PowerFac-

24 - 19
DIgSILENT PowerFactory User Defined (DSL) Models

tory database.
Consequently, all events that may be used by the DSL model have to be created together
with the DSL model. They must all be stored inside the common model (ElmDsl). These
'DSL events' will thus form an integrated part of the DSL model.
The event_string in the fault expression must refer to the name of one of these events.
At evaluation, the event will be thrown onto the event stack if boolexpr is true. As soon
as the simulation reaches the event, it will execute it. Consequently, a delayed event may
be thrown by the DSL model by setting the execution time ahead of the current time.
The parameters of the event can be modified in the fault string by assigning a new value.
The mechanism is the same as described above in the output procedure.
Example:
fault(u>1.1,'name=MySwitchEvent1 dtime=0.15')
If the variable u exceeds 1.1 the event named 'MySwitchEvent1' will be thrown onto the
event stack and its variable dtime (relative event time) will be set to 15 milliseconds. The
event will thus be delayed for that amount of time, which, in this case, mimics the time
needed to open a switch. Which switch will open is defined in the event object
'MySwitchEvent1'.

Note The events are accessed or created by opening the edit dialogue
of the common model (double-click on the DSL model in the
Data Manager), and then pressing the button Events . You get now
a list of already defined events inside this model.
The events are not added to the global event list of the project un-
less the event is 'activated' by the DSL model.

24.4.11 Example of a Complete DSL Model

Thermal Double Reheat Turbine with Steam Storage


Controller Model:
model pt,ptmw =
'pmu_1'(at,sgn,cosn,ngnum;x1,x2,x3,x4;Thp, Tip,Tlp,alflp,Tspi)
[T1] = 's'
limits(T1) = [0,)
limits(alfhp) = [0,1]
vardef(alfhp) = ;'High pressure turbine ratio';
limits(alflp) = [0,1-alfhp]
vardef(alflp) = ;'Low pressure turbine ratio';
vardef(Tspi) = 's';'Boiler capacity time constant';
limits(Tspi) = (0,)
vardef(Thp) = 's';'High pressure turbine time constant';
vardef(Tip) = 's';'First reheater time constant';
vardef(Tlp) = 's';'Second reheater time constant';

inc(x1) = y/K
inc(xe) = y/K
inc(x4) = 1.0
inc(at) = pt
inc(steamflow0) = pt
inc(ylp) = pt

24 - 20
DIgSILENT PowerFactory User Defined (DSL) Models

x1. = select(T1>0,(xe-x1)/T1,0)
y = K*select(T1>0,x1,xe) ! if T1=0 => y=xe
steamflow = at*x4
x4. = (steamflow0 - steamflow)/Tspi ! boiler
yhp = PT1(steamflow;x1;Thp) ! high pressure part
yip = PT1(yhp;x2;Tip) ! medium pressure part
ylp = PT1(yip;x3;Tlp) ! low pressure part
pt = yhp*alfhp + ylp*alflp+ yip*(1.0-alfhp-alflp)
ptmw = pt*sgn*cosn*ngnum ! only for output purposes
The used macro 'PT1' is defined as:
model y = 'PT1'(xe;x1;K,T1;)
x1. = select(T1>0,(xe-x1)/T1,0)
y = K*select(T1>0,x1,xe) ! if T1=0 => y=xe
inc(x1) = y/K
inc(xe) = y/K
[T1] = 's'
limits(T1) = [0,)

24 - 21
DIgSILENT PowerFactory User Defined (DSL) Models

24 - 22
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

Chapter 25
Modal Analysis/Eigenvalue Calculation

The modal analysis calculates the eigenvalues and eigenvectors of a dynamic multi-ma-
chine system including all controllers and power plant models. This calculation can be per-
formed not only at the beginning of a transient simulation but also at every time step
when the simulation is stopped.
The eigenvalue analysis allows for the computation of modal sensitivities with respect to
generator or power plant controllers, reactive compensation or any other equipment.
The calculation of eigenvalues and eigenvectors is the most powerful tool for oscillatory
stability studies. For its application it is highly recommended to first compute the ’bare
natural’ system oscillation modes. These are the oscillation modes of the system without
taking any controller or power plant model into consideration, i.e. with constant turbine
power, constant excitation voltage etc. Starting from these ’bare natural’ modes the ef-
fects of controllers (structure, gain, time constants etc.) and other additional models can
be calculated as the second step.

25.1 Theory of Modal Analysis


After the initial conditions have been calculated successfully, which means that all time-
derivatives of the state variables should be zero, or the simulation has been stopped at a
point in time, the modal analysis calculates the complete system A-matrix by means of
numerical, iterative algorithms. The representation of the electrodynamic network model
is equivalent to the representation used for the balanced RMS simulation, except for the
general load model, for which the frequency dependencies are neglected.
The computation time for the models analysis is approximately proportional to the num-
ber of state space variables to the power of three.
A multi-generator system exhibits oscillatory stability, if all conjugate complex eigenval-
ues, making up the rotor oscillations have negative real parts. This means they will lie in
the left complex half-plane. The individual generator oscillations will then be stable.
Assuming that one of the conjugate complex pair of eigenvalues is given by:
λ i = σ i ± jω i
then the oscillatory mode will be stable, if the real part of the eigenvalue is negative
σi < 0
The period and damping of this mode are given by
2⋅π
T i = ----------
ωi

25 - 1
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

1 ⎛ An ⎞
d i = – σ i = ------ ⋅ ln ⎜ --------------
-⎟
Tp ⎝ n + 1⎠
A

where An and An+1 are amplitudes of two consecutive swing maxima or minima respec-
tively.
The oscillatory periods of local generator oscillations are typically in the range of 0.5 to 5
Hz. Higher frequency of the natural oscillations, i.e. those which are normally not regu-
lated out, are often damped to a greater extent than slower oscillations. The oscillatory
period of the oscillations of areas (inter-area oscillations) is normally a factor of 5 to 20
times greater than that of the local generator oscillations.
The absolute contribution of an individual generator to the oscillation mode which has
been excited as a result of a disturbance can be calculated by:
n λi ⋅ t
ω(t) = ∑ ci ⋅ φi ⋅ e
i=1
where
ω(t) generator speed vector

λi i'th eigenvalue

φi i'th right eigenvector

ci magnitude of excitation of the i'th mode of the system (at t=0)


(depending on the disturbance)
n number of conjugate complex eigenvalues
(i.e. number of generators - 1)
In the following c is set to the unit vector, i.e. c = [1, ..., 1], which corresponds to a the-
oretical disturbance which would equally excite all generators with all natural resonance
frequencies simultaneously.
The elements of the eigenvectors Φi then represents the mode shape of the eigenvalue i
and shows the relative activity of a state variable, when a particular mode is excited. They
show e.g. the speed amplitudes of the generators when an eigenfrequency is excited,
whereby those generators with opposite signs in Φi oscillate in opposite phase.
The right eigenvectors Φi can thus be termed the "observability vectors''. The left eigen-
vectors Ψi measures the activity of a state variable x in the i-th mode, thus the left eigen-
vectors can be termed the "relative contribution vectors''.
Normalization is performed by assigning the generator with the greatest amplitude con-
tribution the relative contribution factor 1 or -1 respectively.
For a n-machine power system, n-1 generator oscillation modes will exist and n-1 conju-
gate complex pairs of eigenvalues λi will be found. The mechanical speed ω of the n gen-
erators will then be described by:

25 - 2
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

ω1 φ 11 φ 21 φ n1
ω2 φ 12 λ1 t φ 22 λ2 t φ n2 λn t
= c1 ⋅ ⋅e + c2 ⋅ ⋅e + ... + c 2 ⋅ ⋅e
... ... ... ...
ωn φ 1n φ 2n φ nn

The problem of using the right or left eigenvectors for analyzing the participation of a gen-
erator in a particular mode i is the dependency on the scales and units of the vector ele-
ments. Hence the eigenvectors Φi and Ψi are combined to a matrix P of participation
factor by:

p 1i φ 1i ⋅ Ψ i1
p 2i φ 2i ⋅ Ψ i2
pi = =
... ...
p ni φ ni ⋅ Ψ in

The elements of the matrix pij are called the participation factors. They give a good indi-
cation of the general system dynamic oscillation pattern. They may be used easily to de-
termine the location of eventually needed stabilizing devices in order to influence the
system damping efficiently. Furthermore the participation factor is normalized so that the
sum for any mode is equal to 1.
The participation factors can be calculated not only for the generator speed variables, but
for all variables listed in Table 25.1.

Name Unit Description

s:speed p.u. Speed

s:phi rad Rotor-angle

s:psie p.u. Excitation-Flux

s:psiD p.u. Flux in D-winding

s:psix p.u. Flux in x-winding

s:psiQ p.u. Flux in Q-winding

Table 25.1: Variables accessible for eigenvalue calculation

25.2 Performing an Eigenvalue Analysis


A modal analysis can be started when a balanced steady-state condition is reached in a
dynamic calculation. Normally, such a state is reached by a balanced load-flow calcula-
tion, followed by a calculation of initial conditions. However, it is also possible to perform

25 - 3
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

a balanced RMS simulation and start a modal analysis after the end of a simulation or after
stopping the simulation.

Note The modal analysis can be executed at any point of time in a tran-
sient simulation. Nevertheless always keep in mind that the results
of the modal analysis are valid on the basis, that the system is in
a quasi steady-state operation point.
Furthermore the calculated oscillation modes are only valid for
"small'' perturbations of the system. If large transient disturbances
are applied to the network, the oscillation frequency and damping
may change from the results of the eigenvalue analysis.

When a load-flow is calculated, the icon to open the modal analysis dialogue( ) be-
comes active. Using the Settings button (in the ''Basic Options'' page), the options for
calculating the initial conditions used by the modal analysis can be specified.
On the ''Advanced Options'' page, the state variable and the result file for the Eigenvalue
analysis can be defined. The default state variable is the speed signal of the generators.
The default result file is Eigenvalue (s:speed) and is stored inside the active study case.
The relative participation factors can be calculated not only for the generator speed vari-
ables, but there is also the possibility to select from the variables as shown in table 25.1.
The figure 25.1 shows the command dialogue of the modal analysis with the variable
s:speed selected as the state variable.

Fig. 25.1: Command dialogue of the modal analysis

25 - 4
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

When executing the command by pressing Execute, the initial conditions of all elements
is calculated first. Then the modal analysis constructs a system matrix from the load-flow
and the dynamic data. The eigenvalues and eigenvectors are calculated directly from that
matrix. Since eigenvalue calculations require linearized models, PowerFactory automat-
ically performs the linearization of all relevant system elements.
The following information is printed to the output window, when the eigenvalues are cal-
culated:
DIgSI/info (t=-100:000 ms) - Initial conditions calculated.
DIgSI/info (t=-100:000 ms) - Starting Modal Analysis. Please wait...
DIgSI/info (t=-090:000 ms) - Modal Analysis ready !

25.3 Visualization of Modal Analysis Results

25.3.1 Output Window


The results of the modal analysis can be outputted in various ways:
• The system eigenvalues and eigenvectors only
• The relative generator participation factors
• Detailed information about the eigenvalues and the relative generator participation
factors
The results are printed to the output window with the ComSh output command by acti-
vating the "Output Calculation Analysis"-icon . After a modal analyses has been exe-
cuted, the ComSh shows the active option Eigenvalues in the LoadFlow/Simulation report
selection.
Selecting Eigenvalues will then enable the selection Output of Eigenvalues, as shown in
the figure 25.2.
Either the eigenvalues may be reported, or the participation factors. When the option
Eigenvalues is selected all calculated eigenvalues of the system are printed in a report
style into the output window. The figure 25.3 shows the results of a small example power
system.

25 - 5
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

Fig. 25.2: Output of eigenvalues with participation factors selected

Fig. 25.3: Output of system eigenvalues

Selecting the option Participations, either detailed or not, will further enable the selection
of the state variables and the certain eigenvalues as can be seen in the figure 25.2. For
the user convenience, there is also the possibility to define a filter for the eigenvalues
(system modes). The filter for eigenvalues is used to show only the participation factors
of specific system modes, if Select Eigenvalue(s) is set to Filtered. Otherwise the selected
specific eigenvalue will be used and the filter will be ignored.
The system modes and participating generators can be filtered by using the following op-
tions:

25 - 6
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

Maximal Damping
The damping of the system mode will be below the defined value in [1/s].
Maximal Period
System modes oscillating below the defined periodic time in [s] will be shown.
Min. Participation
Only generators with a participation factors above the specified limit will by
outputted.
The results of the participation factors of the generators in the small example power sys-
tem are shown in the figure 25.4.

Fig. 25.4: Output of participation factors

25.3.2 Modal Analysis Plots

The Eigenvalue Plot (Viseigen)


The Eigenvalue Plot displays the calculated eigenvalues in a two axis coordinate system.
For the vertical axis, it is possible to select among the imaginary part, the period or the
frequency of the eigenvalue. The horizontal axis shows the real part.

An Eigenvalue Plot is generated by clicking on the icon from the 'Select Plot Type'
button of the toolbar menu (see figure 25.5). After cliking on the icon, the edit dialogue
of the Viseigen object pops up; there the user can set the figure appearance and the
displayed values on the vertical axis. Figure 25.6 shows an example of an Eigenvalue Plot
displaying the imaginary part of the calculated eigenvalues.

Fig. 25.5: Selection of the modal analysis plot

25 - 7
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

Double-clicking on any of the displayed eigenvalues, pops-up the informative dialogue of


figure 25.7. There the oscillation parameters and the coordinates in complex and polar
representation are given.

DIgSILENT
19,102

Imaginary Part [-]

11,461

3,8205

-1000,00 -799,89 -599,78 -399,67 Real Part [-] -199,56

-3,8205

-11,461

-19,102

29 out of 32 Eigenvalues are stable


3 out of 32 Eigenvalues are instable

Nine-bus system Eigenvalue Plot(1) Date: 4/16/2007


DIgSILENTThree-Cycle Fault near bus 7, disconnection of bus7-bus5 line G2: Mag-A-Stat Voltage Controller Annex: 3-cycle-f. /4

Fig. 25.6: The Eigenvalue plot

Fig. 25.7: IntEigen dialogue

The Mode Bar Plot (VisModbar)


Displays the participation factors of the system generators (according to the state variable
selected in the modal analysis command, figure 25.1) in a selected mode by means of a
bar diagram. A new Mode Bar Plot is created by clicking on the icon from the 'Select
Plot Type' button (figure 25.5).
After the icon has been clicked, the VisModbar dialogue pops up, there the bar diagram

25 - 8
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

options and the displayed mode can be set. Participant generators can be filtered accord-
ing to the magnitude of the participation factor; also the bar diagram can be restringed
to a selected group of generators. Figure 25.8 shows the Mode Bar Plot for the 20th mode
of the small power system used for the example of figures 25.3 and 25.4.

DIgSILENT
G3

G2

G1

-1,00 -0,50 0,00 0,50 1,00


Participation of mode (20): -0,974 +0,853*j

Mode Bar Plot Date: 4/16/2007


Annex:

Fig. 25.8: The Mode Bar plot

The magnitude and the phase of any participation factor can be visualized by double click-
ing on a bar. This action opens the so called IntEigstate dialogue from figure 25.9.

Fig. 25.9: Eigenvalue state dialogue

25 - 9
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

Mode Phasor Plot (VisModephasor)


The Mode Phasor Plot displays the participation factors of the system generators (accord-
ing to the state variable selected in the modal analysis command, figure 25.1) in a select-
ed mode by means of a phasor diagram. A new Mode Phasor Plot is created by clicking
on the icon from the 'Select Plot Type' button (figure 25.5).
Like in the Mode Bar Plots, the participant generators can be filtered according to the
magnitude of the participation factor and the diagram can be restringed to a selected
group of generators. Figure 25.10 shows the Mode Phasor Plot for the same mode from
figure 25.8. Double clicking on a participation factor phasor will display its IntEigstate
dialogue as in figure 25.9.

DIgSILENT
Shown generators (2nd quadrant) Shown generators (1st quadrant)
G 1: +0.350 / +176.9 deg 1,00 G3: +1.000 / +0.0 deg

0,50

-1,00 -0,50 0,50 1,00

-0,50

-1,00

Shown generators (3rd quadrant)


G2: +0.654 / -178.9 deg Participation of mode (7): -1,600 -19,102*j

Nine-bus system Mode Phasor Plot Date: 4/16/2007


DIgSILENTThree-Cycle Fault near bus 7, disconnection of bus7-bus5 line G2: Mag-A-Stat Voltage Controller Annex: 3-cycle-f. /2

Fig. 25.10: The Mode Phasor plot

25.3.3 Data Browser


The calculation results of the modal analysis can be displayed in a data browser by clicking
on the icon (toolbar menu). The ComModres dialogue from figure 25.11 pops up.
There the result file containing the defined output variables (see 25.2) and the values to
display (eigenvalue or mode data) are selected.
Pressing the Execute button in the ComModres dialogue, opens a data browser con-
taining the calculation results as in figure 25.12.

25 - 10
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

Fig. 25.11: Displaying modal analysis results in a data browser (ComModres


dialogue)

Fig. 25.12: Modal analysis results in a data browser

25 - 11
DIgSILENT PowerFactory Modal Analysis/Eigenvalue Calculation

25 - 12
DIgSILENT PowerFactory Model Parameter Identification

Chapter 26
Model Parameter Identification

The process of parameter estimation for power system elements for which certain mea-
surements have been made is performed with the "Parameter Estimation" function using
the icon .
The ComIdent command object is a high performance non-linear optimization tool,
which is capable of a multi parameter identification for one or more models, given a set
of measured input and output signals. This identification is principally performed in the
following way:
• A "Measurement File'' object (ElmFile) is created which maps the raw measured data
onto one or more "measurement signals''. These signals may contain measured
excitation and response signals.
• The measurement signals are used as inputs by the models of the power system
elements for which one or more parameters have to be identified, or they may be
used to control voltage or current sources.
• The output signals of the power system elements are fed into a comparator, just as
the corresponding measured signals. The comparator is thus given the measured
response on the excitation and the simulated response of the element models.
• The comparator calculates an objective function, which is the weighted sum of the
differences between the measured and the simulated response, raised to a whole
power (by default to the power of 2).
• The ComIdent command will collect all objective functions from all comparator
objects in the currently active study case and will minimize the resulting overall
objective function. To do this, the ComIdent command is given the list of
parameters which are to be identified. The objective functions are minimized by
altering these parameters.
This whole process is visualized in the figure 26.1.

26 - 1
DIgSILENT PowerFactory Model Parameter Identification

Fig. 26.1: The identification Principle

Of course, this figure 26.1 only visualizes the principle of the identification. To connect
measurement files, power system models and comparator objects to each other, a com-
posite frame is used. This, and all other details of the PowerFactory identification func-
tions, is described in the following sections.

26.1 Target Functions and Composite Frames


The parameter identification process is performed by minimizing objective functions.
These objective functions are calculated by ElmCompare objects from the difference be-
tween measured responses and calculated responses of one or more power system ele-
ments.
To define an objective function, the measured excitation signals must be connected to the
component models or to voltage or current sources, and the measured and calculated re-
sponse signals must be connected to the compare object. All this is done graphically by
drawing a Composite Frame, using a block definition (BlkDef) with slots.
A simple example of an identification block diagram, for the objective function for a volt-
age controller, is visible in the figure 26.2.

26 - 2
DIgSILENT PowerFactory Model Parameter Identification

Fig. 26.2: Simple identification block diagram

The block diagram uses slots which reserve space for the measurement files, the compar-
ator and the element models.

26.1.1 The Measurement File Slot


The measurement file object (ElmFile) has the following signals available:
• Number of Input Signals: 0
• Number of Output Signals: 10
• Input Signals Names: -
• Output Signals Names: "y1,..,y10''
The measurement file slot in the example of the figure 26.2 has the following settings:
• Class Name Filter: "ElmFile''
• Output Signals: "y1,y2''
The fact that the signal is named "output'' signals in the case of the measurement file
does not implicate that the parameter identification only regards measured response sig-
nals ("measured outputs'') from power system elements. It only means that the measured
excitation signals will be mapped onto ElmFile signals. The ElmFile will reproduce the
measured excitation and response signals during the identification process.

26.1.2 Power System Element Slot


Power system element slots are used in the identification block diagram in the same way
as they are used to define composite models.
As in the case of a composite model diagram, the element slots may use any of the avail-
able parameters of the power system element model as input or output. The in- and out-
put signals are defined by stating the exact variable name (see also chapter 24.3.1
(Composite Block Definitions)).
In the case of the example in the figure 26.2, the "Vco1'' slot has the following parameters
set:
• Class Name Filter: "ElmVco*''
• Output Signals: "uerrs''
• Input Signals: "u''

26 - 3
DIgSILENT PowerFactory Model Parameter Identification

26.1.3 Comparison Slot


The comparison object ElmCompare has the following properties:
• Number of Input Signals: 21
• Number of Output Signals: 0
• Measured Response Signal Names: "in1mea,..,in10mea''
• Simulated Response Signal Names: "in1sim,..,in10sim''
• Weighting Factor: qzpf
• Output Signals Names: -
The calculated value of the objective function will be multiplied by the weighting factor
before it is put out. The weighting factor may be used, for instance, to connect a time-
window to the comparison object which forces the objective function to zero for those
moments in time which are not to be used in the identification process.
In the case of the example in the figure 26.2, the Comparison slot has the following pa-
rameters set:
• Class Name Filter: "ElmCompare''
• Input Signals: "in1meas,in1sim''

26.2 Creating The Composite Identification Model


The identification block diagram only defines a generalized 'workbench' that is needed for
the identification process. Its function is similar to that of the "Composite Frame'' object.
There is also the need to create a composite model, based on the block diagram, to iden-
tify particular parameters of particular objects.
Suppose having a voltage controller model of which one wants to identify the parameters
ka '' and ta. Measurements of the behavior of the physical appliance are available as mea-
sured voltage-curves on the input and output of the controller during a disturbance.
Assuming the example identification block diagram of the figure 26.2, a composite model
(ElmComp) has to be created in the active grid folder.

Note If the identification process only addresses secondary power sys-


tem element, which are not directly connected to busbars, the
identification process does not require a power system grid.
However, all calculation functions like load-flow or EMT simulation
require a calculation target in the form of an activated grid of sys-
tem stage folder. Therefore, a grid folder with at least one 'DUM-
MY' busbar has to be created when secondary element models are
to be identified.

The composite model must be set to use the identification block. It will then show the
slots that have been defined in that block. In the current example, the composite model
dialogue will look like the figure 26.3.

26 - 4
DIgSILENT PowerFactory Model Parameter Identification

Fig. 26.3: The example composite identification model

In this figure, the three slots have been assigned already. Visible is that the comparison
object "Compare Signals'' is selected, as well as a measurement file and the voltage con-
troller of which to find the best possible values for ka and ta.

26.2.1 The Comparison Object


The comparison object calculates the objective function from the connected measured
and simulated responses. It allows for the use of weighting factors and for other powers
to raise to. The example in figure 26.4 shows the default settings.

26 - 5
DIgSILENT PowerFactory Model Parameter Identification

Fig. 26.4: The comparison object dialogue

In this figure, the 10 difference signals are listed, with their weighting factor. By default,
these are one, but they may be edited freely. The power factor equals 2 by default but
may be set to any other positive whole number from 2 to 10.
The objective function calculated by the comparison object equals
n


p
[ ( Mi – Si ) ⋅ wi ]
i=1
where
• M i is the measured response (i.e. "in1mea'')

• S i the simulated response (i.e. "in1sim'')

• w i is the weighting factor (i.e. for the difference signal nr.1)

• p is the power

26.3 Performing a Parameter Identification


The identification process is executed by the ComIdent command. This command can
be opened by the icon on the main menu. This icon can be found on the "Stability''
toolbar which is be accessed by selecting the icon .
The Comident dialogue is depicted in the figure 26.5.

26 - 6
DIgSILENT PowerFactory Model Parameter Identification

Fig. 26.5: The ComIdent dialogue

This dialogue shows references to the following objects:


Composite Model
This reference is normally not needed. When left open, the identification process
will automatically gather all composite identification models and will minimize all
objective functions.When the composite model reference is set, then the
identification will only minimize that model's objective function.
Load-Flow Settings
This reference is automatically set to the load-flow command that will be used
during the identification process.
Initial Conditions
This reference is automatically set to the initial conditions command that will be
used during the identification process.
Simulation
This reference is automatically set to the simulation command that will be used
during the identification process.
The identification process allows for the use of load-flow calculations and/or dynamic sim-
ulations.
The "Load-Flow'' and "Simulation'' pages shows the variables that are to be identified, in
case of a load-flow or a dynamic identification. See for example the figure 26.6.

26 - 7
DIgSILENT PowerFactory Model Parameter Identification

Fig. 26.6: Setting identification parameters

In this example, two parameters of the voltage controller element "vco IEEEX1'' from the
Composite Identification Model are listed. The identification process will alter these pa-
rameters in order to minimize the objective functions.
The "Mode'' field in the parameter list determines the parameter constraints:
0 means not to change the parameter, but to leave it at its initial conditions. This
option may be used to temporarily exclude some parameters from the identification
process.
1 mean to optimize the parameter without restrictions
2 means to optimize the parameter, given the constraint that the parameter value
must always be greater than zero.
Although the object for which the parameters are optimized in this example is the same
object as is used in the Composite Identification Model, it is allowed to enter any other
parameter from any other element, as long as that element belongs to the active study
case. Such may be used to optimize secondary appliance, where only the behavior of the
primary appliance has been measured.

26.4 Identifying Primary Appliances


A primary appliance, such as a general load, an asynchronous machine or a static var sys-
tem, do not have an input signal like a voltage controller or any other secondary appli-
ance. It would therefore not be possible to connect a measured signal directly to a load
model in order to simulate its response.
To identify a primary element model, a small grid model is used to which one or more
controllable voltage sources may be connected. These voltage sources will translate the
measured voltage signals from the measurement file into a normal busbar voltage which
will be used in the load-flow or simulation calculations. The response of the primary ele-
ment models connected to that busbar may then be compared to a measured response.
An example of this method is shown in the following figures.

26 - 8
DIgSILENT PowerFactory Model Parameter Identification

Fig. 26.7: Identification diagram with primary element

In the figure 26.7, a simple Identification Block Diagram is shown in which the measure-
ment file is no longer connected to the element slot, but to the voltage source slot. The
voltage at the busbar at which the voltage source will be connected will thus be forced to
the measured values during the identification process.

Fig. 26.8: Primary element and voltage source

In the figure 26.8, a very simple grid is shown to which the load which is to be identified
and a voltage source element are connected. As with the normal identification process, a
Common Identification Model has to be created which uses the Identification Diagram
with Primary Element as shown in figure 26.7. In the ComIdent command dialogue, the
unknown parameters of the load may then be listed.
It is of course possible to mix the identification of both primary and secondary power sys-
tem elements at the same time.

26 - 9
DIgSILENT PowerFactory Model Parameter Identification

26 - 10
Volume VI
Tools Utilities & Interfaces
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Chapter 27
Visualization of Results in PowerFactory

This chapter presents the tools and options included in PowerFactory to view the results
of the preformed calculations. Key concepts in this topic are Virtual Instruments (VIs), Re-
sults Objects and Variable Sets.

27.1 Virtual Instruments


A virtual instrument is basically a tool for displaying calculated results. The most common
use of a VI is to look at the results of a time-domain simulation like an EMT or RMS sim-
ulation, by defining one or more plotted curves showing the variables changing with time.
But there are various applications of the virtual instruments, for example to graphically
display voltage profiles, FFT plots or the results of a harmonic analysis. This could be in
the form of a bar graph, a plotted curves, single displayed variables, tables of values, etc.
To visualize results from a calculation, two different parts are important:
The Virtual Instrument Panel
The Panel is basically a page in the active graphics board, where different plots or
graphs are stored and displayed. Also the basic information about the included
virtual instruments is stored here.
The Virtual Instruments
The virtual instruments are shown on the VI panel. They display the results of one
or more variables or parameters in various ways. Every VI on a panel can be set up
individually to the need of the variable(s) which is to be displayed.
So all signals, parameters, variables or other magnitudes can be chosen to show in a vir-
tual instrument. These are normally floating point numbers, but there is also the possibil-
ity to show discrete variables as well as binary numbers, like e.g. a binary variable, a "out
of service" flag or the switching operation of a circuit-breaker.
To show these magnitudes there are various designs of virtual instruments available.
These can be divided into several groups, which are described in the sections of this chap-
ter:
Plots
are the 'basic' diagrams to show all sorts of time-domain variables or magnitudes
depending on other variables. The plots can be used in the following ways:
• Subplot (VisPlot)
• Subplot with two y-axis (VisPlot2)
• X-Y plot (VisXyplot)
• FFT plots (VisFft)

27 - 1
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Bar Diagrams
are similar to the plots. The results are then not shown as a line, but as single bars
for every data point.
Vector Diagrams
easily show different variables - like voltage, current or power - in a vector diagram
using polar or cartesian coordinates.
Meter Panels
can display variables or parameters using different panels like:
• digital display
• horizontal scale of a meter
• vertical scale of a meter
• measurement VI
• interactive button/switch
Curve Inputs
are used to conveniently convert graphical information (graphs or curves) into a set
of data by scanning and sampling the data points.
Bitmaps
can be inserted as a remark or to provide further information.
Additionally to these options there are further types of diagrams for a specific usage are
e.g. the time-overcurrent plot or the time distance diagram used for protection studies.
These plots are not described in this chapter but directly in the part of the manual dealing
with the individual calculation method.
The usage of the plots and the available tools like labels, constants, etc. for the virtual
instruments can be used in either one of the diagrams described above or below. In the
following list these virtual instruments are described shortly:

VIs for Protection Studies


Time-Overcurrent Plot
When studying overcurrent relays their characteristic is often displayed depending
on the magnitude of the current and the specified tripping time. Here also the
characteristic curves of power system elements which are to be protected can be
inserted into the diagram.See also 15.6.
R-X Plot
This plot is used specially for showing the characteristics of distance relays. The
tripping characteristic of one or more relays can be visualized in a R-X diagram.
Also the impedance of adjacent elements can be shown graphically inside the
diagram.See also 15.8.
Time-Distance Diagram
For studying the selectivity of distance protection the time-distance protection is
often used. So PowerFactory provides a convenient method to automatically
show all distance relays in a specified protection path in one specified diagram. See
also 15.7.

27 - 2
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Feeder Definitions
Voltage Profile
shows voltage profile of a complete subsystem belonging to a defined feeder in the
power system depending on the distance or the node number. See also 11.1.
Schematic Path
With this plot a meshed or a radial network can easily be shown in a brief
schematic way without result boxes but with optical information like colors for
overloading, etc.

Harmonics
Waveform Plot
Using this plot a waveform is generated from the magnitude and the phase angle
of the harmonic frequencies. With this diagram a variable like the voltage or
current, which is defined in a harmonic source e.g. a power electronic device or a
load, can easily be shown as a time dependent variable. So the real shape of the
voltage can be seen and analysed.A more detailed description see 27.1.6 (The
Waveform Plot).

Modal Analysis
Eigenvalue Plot
The Eigenvalue Plot (Viseigen) displays the eigenvalues calculated in the modal
analysis (Chapter 25). Double-clicking any of the displayed eigenvalues, pops-up
an informative dialogue, where the oscillation parameters and the coordinates in
complex and polar representation are given. For a full description of the eigenvalue
plot is see 25.3.2 (Modal Analysis Plots).
Mode Bar Plot
The Mode Bar Plot (VisModbar) displays the participation factors of the system
generators in a selected mode. Full description of the Mode bar Plot is given in
25.3.2 (Modal Analysis Plots).
Mode Phasor Plot
The Mode Phasor Plot (VisModephasor) displays the same information of the
Mode Bar Plot but in a phasor diagram. For further information see 25.3.2 (Modal
Analysis Plots).

27.1.1 Virtual Instrument Panels


Virtual instruments are created and edited on a Virtual Instruments Panel (SetViPage)
which is one of the possible types of pages on a Graphics Board. Other page types are
single line graphics and block diagram or frame graphics.
A new virtual instrument panel can be created by
• selecting the File −> New option on the main menu and subsequently selecting a
"Virtual Instrument Page" in the ComNew. This will create a new page in the
"Graphics Board" of the currently active study case.

27 - 3
DIgSILENT PowerFactory Visualization of Results in PowerFactory

• selecting the "Insert New Graphic" icon on the graphics board's toolbar and
selecting "Virtual Instrument Panel". This will also create a new VI panel in the current
graphics board.
All virtual instrument panels are stored in graphics boards. A graphic board holds default
settings for plots and other diagrams. The icon is clicked or the Edit Actual Virtual
Instrument Panel option is selected from the context sensitive menu to edit the dialogue.

Note If a a new virtual instrument panel is created, while there is no


Graphics Board opened already, a new Graphics Board in will be
added to the current study case.

The dialogue is build of several pages. These are


x-Axis holds the default x-Axis for plots without local axis stored in pages
without local axis.
Advanced holds the advanced settings like the arrangements of the plots or their
specific style.
Results stores a reference to the default results object used by the plots.

Once a VI panel has been created, the "Append new VI(s)" icon ( ) can be clicked or
the option Create VI −>... from the context menu of the SetVipage can be selected to
add new virtual instruments to the VI panel.
Virtual instrument panels usually set the size and position of new virtual instruments like
plots automatically. But it is possible to turn on user defined moving and resizing of the

plots. In this modes the plots can be moved or resized by the user. Also the and
icons are used to tile the Virtual Instruments horizontal or to arrange the VIs automati-
cally.
A ViPage uses a predefined style which set line-styles, line-width, fonts and other graph-
ical settings. Own styles can be created and selected. A different style can be selected on
each VI panel of a Graphics Boards.
These different options are described in the following sections.

Editing the Virtual Instrument Panel dialogue


There are several ways to access the graphics board dialogue from PowerFactory
• When the panel is empty one can access the dialogue by simply double-clicking the
empty VI panel or an empty area on the panel.
• Right-click the background of the VI panel besides the shown plots and choose Edit
actual Virtual Instrument Panel from the context menu.

• The simplest way to edit the dialogue is to click the icon.

The icon is clicked or the "Edit Actual Virtual Instrument Panel'' option is selected
from the context sensitive menu to edit the dialogue. The dialogue is split into three dif-
ferent pages named:

27 - 4
DIgSILENT PowerFactory Visualization of Results in PowerFactory

• x-Axis holds the settings for x-Axis of plots and Waveform Plots.
• Advanced holds graphical settings like Style and Background.
• Results contains the reference to the default results object for plots.

Automatic Scale Buttons

The buttons or are clicked to scale the x-axis respectively the y-axis of all plots
on the virtual instrument panel automatically. Plots on other panels in the same graphics
board are unchanged if their axes are local.
The buttons are inactive, if there are no plots shown at all or if the x or y axes can not be
scaled automatically. That applies e.g. for bar-diagrams showing the distortion after a
harmonics load-flow calculation, where the x-axis is given by the harmonic frequencies.
Different types of plots, like the subplot and the waveform plot, can be scaled simulta-
neously.

With the button "Zoom X-Axis" a certain range of the x-axis or of several x-axes can
be zoomed easily. Click on the icon to activate the function, then click on a plot, hold the
right mouse button and 'drag' the mouse to the right or to the left to mark the desired
range on the x-axis. If the mouse button is released, PowerFactory will then show the
marked x ranged zoomed.

Automatic Arrangement of VIs


Virtual instrument panels usually set the size and position of new virtual instruments like
plots automatically. Then the VIs can not be resized or moved. So the position of these
VIs is set automatically and their size remains unchanged.
There are two different modes for automatically arranging the VIs. The user can choose
to arrange the VIs using either

• "Arrange Subplots on Top of Each Other'' with the icon or

• "Arrange Subplots automatically'' with the icon .


The modes can easily be changed by pressing the one or the other button. In addition the
position of VIs can easily be exchanged. Thereto mark the VI by clicking it. Then 'drag'
the VI onto another plot. Thus the position of the VIs will be exchanged.

Note This option of exchanging the plots by dragging is only possible,


when one of the arrangement buttons are active. If you deactivate
both buttons by unselecting them in the toolbar, the plots can free-
ly be moved by dragging them on the panel. See also "Moving and
Resizing".

Another way to rearrange the VIs is to open the dialogue of the VI panel by pressing the
icon and then use the Arrangement options on the "Advanced" page. Here the option
User defined can be activated. So the VIs will no longer be arranged automatically but
can be resized and moved inside the panel. So the user is free to arrange the VIs 'ad li-

27 - 5
DIgSILENT PowerFactory Visualization of Results in PowerFactory

bitum'. This mode is also activated by disabling the selected icon or .

Moving and Resizing


Moving and resizing of VIs in the standard virtual instrument panels is turned off. Both
can be activated by deactivating the 'auto-arrangement' modes by disabling then current-

ly active icon or . Also the option User defined can be activated on the "Advanced"
page of the "edit" dialogue of the VI panel.
A VI is clicked to mark it. The VI is 'dragged' inside the panel by clicking it with the mouse
button pressed. Then the VI can be move across the panel. The mouse is released to set
the new position. A VI is clicked on the border to resize it. A VI is clicked on the border
to resize it.

Note Please note that some VIs can not be resized at all because their
size is set automatically. This applies e.g. for the bitmap VI with
the option "Adapt Size of VI to Size of Bitmap" enabled.

Page Format

The page format is modified using the in the toolbar of the graphics board. VI panels
use the page format set in the graphics board. In addition a local page format can be cre-
ated for each VI panel. The option "Create local Page Format'' is selected in the context
sensitive menu to create a local page format. The VI panel now uses a local page format
independent of the page format set in the graphics board.
"Set default Page Format'' is selected in the context sensitive menu to reset the local page
format. The VI panel now uses the default format of the graphics board again.

Editing Variables of Plots

The icon is clicked to open the "Edit Plots on Page'' dialogue for defining curves of
several plots. If the variables of only one subplot are to be changed, it is suggested to
edit the dialogue of the plot itself by double-clicking it. This procedure is more convenient.
This dialogue gives a very good overview over the diagrams on the VI panel and the vari-
ables, axis and curve styles. The figure 27.1 shows an example of the dialogue.

27 - 6
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.1: Editing all plots on the page

Each line of the table named Curves defines a variable shown on the panel. The variables
definition applies to the plot shown in the first column. When the dialogue is opened the
plots are sorted from left to right and from top to bottom and are numbered accordingly.
All data and settings of each variable is displayed in the table, and the columns are used
exactly like the columns in the table of a plot. To move a variable from one plot to another,
simply change the Plot Nr. of the variable to move.
In this table not only subplots (VisPlot) are shown but also plots with two y-axis
(VisPlot2) can be modified. Here additionally in the column y the y-axis can be defined
to which the variable is related. In the figure 27.1 this can be seen in the to last rows of
the table. Here both variables are shown in one plot number 4 with two different axis. If
the number in this row is grey, only one y-axis is available in this plot.
Like in most tables new rows can be add. Default File for Page is a reference to the results
element of the virtual instrument panel. The Filter... button opens the filter dialogue. The
selected filter will be applied to all plots on the current virtual instrument panel.
Default File for Page is a reference to the default results element of the virtual instrument
panel. This is exactly the same setting like the one displayed on the Results page of the
dialogue box of the virtual instrument panel.

Title Block
All virtual instrument panels in a Graphics Board show the same title by default. The only
difference of the title blocks on the VI-Panels are the panel name and the page number
which are unique for each panel. To create a local title for a VI-Panel simply right-click on
the title and select Create local Title from the context sensitive menu.

Like in the single line graphics the icon in the toolbar is clicked to show or hide the
title block. The title can ba defined or changed by double-clicking on them or use the icon
to modify the title text. For details about the settings of the title object refer to section
8.3.6.

27 - 7
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Results
Some VIs like the most frequently used class "subplot" show curves stored in one ore
more result objects (ElmRes). The curves are selected in a table where the result ele-
ment, the element and a variable have to be selected.
The result column of VIs needs not to be set for most calculations. The VI itself will look
for the results element to display automatically. The default results element is either:

1 Results reference on page Results of the VI Panel accessed by pressing the


icon.
2 If 1. is empty the Results reference on the Results page of the Graphics Board will
be used by pressing the icon.
3 If both (1. and 2.) are not empty, the results element used for the last calculation
will be applied. If there is no calculation the appropriate results element in the study
case will be used (if any).

Background
The default background of virtual instrument panels is empty. The background settings
for the panel can be found in the frame Background on the "Advanced'' page of the virtual
instrument panel dialogue.
The Filename defines the background file, which can be either a Windows Metafile
(*.wmf), a Bitmap (*.bmp) or a AutoCad DXF file. If the selected file does not exist, or if
the filename is not set the background remains empty. VIs can be transparent or opaque.
Graphics are transparent must be activated to make all graphics transparent. If an opaque
graphic fills the complete panel area the background will be invisible.

The Context Sensitive Menu


The options in the context sensitive menu of the VI panel may vary depending on the cur-
sor and the settings of the panel. The options are listed below:
• Edit Actual Virtual Instrument Panel opens the virtual instrument panel dialogue.
• Create local Page Format creates a page format for the current panel.
• Paste Text inserts text from the from the clipboard into the panel.
• A VI can be selected from the list shown in the Create VI −>... option to create a new
VI on the panel.
• Style −> Select Style is clicked to select a style for the panel.
• Style −> Create new Style is selected to create a new style for the panel.
• Style −> Edit Style of clicked Element is selected to modify the style of the selected
element only.
• Select All is selected to mark all VIs.
• Export Results... exports the shown result into e.g. the output window, a ASCII file, a
Comtrade file or the clipboard.

27 - 8
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Creating Virtual Instruments

New VIs can easily be created with the "Append New VI(s)" icon . A small dialogue
will pop up, where the class of VI can be selected from the available Object and the num-
ber of VIs to be added to the current VI panel.
Another way to create VIs is to select the option Create VI −>... from the context menu
of the SetVipage. Then a class of virtual instrument can be selected to be added to the
current VI panel.

The Default Styles


Each virtual instrument panel uses a style where line-widths, fonts, brushes and other
graphical settings are defined. There are six predefined styles available in DIgSILENT
PowerFactory, which are:
• Default - Standard English Text and Symbols
• Gr Default - Greek Symbols
• Tr Default - Turkish Symbols
• Paper
• Gr Paper
• Tr Paper
The "Default" styles uses smaller line-widths and smaller fonts than the "Paper" styles. It
was designed to get nice printouts. The paper style was designed for reports and papers
where meta-files are included in text-programs. In addition to the layout the styles hold
predefined VIs.
There are several ways to select a predefined or user-defined style for the current virtual
instrument panel. The easiest way to change the style is using the toolbar.
• The list-box in the toolbar is clicked and an available style is selected.
• A style is selected from the Style −> Select Style −>... in the context sensitive menu of
the VI panel.
• A style is selected in the VI-Style list-box on the "Advanced'' page of the SetVipage
dialogue.
The user-defined styles are described in detail in section 27.1.10 later in this chapter.

27.1.2 Plots
Plots are the most used diagrams to show all sorts of parameters, states, signals or vari-
ables depending on the time or on another variable. To show these time-domain variables
or to visualize a magnitude depending on other variables, there are the following plots
available:
• SubPlot (VisPlot)
• SubPlot (2y) with two y-axes (VisPlot2)
• X-Y plot (VisXyplot)
• FFT plots (VisFft)

27 - 9
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The Subplot
SubPlots are the 'basic' diagrams and are typically used to display one or more plotted
curves from the results of a EMT or RMS simulation. But also bar diagrams used e.g. to
visualize the results of a harmonics calculation are a special type of SubPlots.

A new subplot is created on the current VI panel by pressing the icon and selecting
a Subplot (VisPlot) from the pull down list. More than one subplot may be created at
once by setting the Number of VI(s). The new empty subplots appear with standard set-
tings, as is shown in the figure 27.2.

Fig. 27.2: Creating a new SubPlot (VisPlot)

To edit the subplot either


• right-click it, and select the Edit option from the context sensitive menu
• double-click it.

Editing Subplots
The edit dialogue of a subplot, as shown in the figure 27.3 has pages for the y-axis and
x-axis of the individual subplot as well as an additional Advanced page for auxiliary set-
tings. The y-axis page is normally used to set the curves in the subplot, while the x-axis
normally, and by default, shows time.

27 - 10
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.3: The SubPlot edit dialogue

The subplot edit dialogue has the following features:


Scale The y-axis may be defined for more than one subplot at the same time,
or, and by default, may be defined as a "local Axis'' format. When the
option Use local Axis is disabled, a reference to the used 'global' axis

type is shown and can be edited by pressing the .


Automatic The color, line style, and line width of all new curves in the subplot will
be set automatically when the corresponding option is enabled. The
Set now button will apply automatic line formats all existing curves
again.
Shown Results This is a reference to the currently active result file (ElmRes). This
object will be used, if no result file is specified in the Curves definition
table.
Curves The definition table for the curves is used to specify the result file
(optional), object and parameter for each of the curves as well as their
representation.
These available options are described in more detail below.

Setting the X-Axis


The x-axes often have to be synchronized for all subplots or for all subplots on one VI

27 - 11
DIgSILENT PowerFactory Visualization of Results in PowerFactory

panel, for instance to show the same time-scale in all plots. In order to synchronize the
x-axes without losing the freedom to manually set each subplot, a hierarchy of x-axes is
used in the Graphics Board:
• The Graphics Board contains the basic x-axis definition. This definition is used by
default by each new subplot.
• A VI panel, however, may define a local x-axis definition, which will then be the
default for each new subplot created on that panel.
• The subplot thus uses the Graphics Board or the panel SetViPage definition by
default, but may also use a local x-axis definition.

Note If you change the settings of the x-axis, which uses the definition
stored in the graphics board, all x-axis are changed using the same
definition in the whole project. These are also affected, if the x-axis
is automatically scaled or zoomed.

The following list describes how to edit the definition of the different x-axes:
• For editing the graphics board definition, select the option Graphics Board and go to

the x-Axis page of the edit dialogue of the plot. Using the button the dialogue for
changing the x-axis definition for the complete graphics board can be accessed.

Another way is to click the icon for the graphics board dialogue and then go to
the x-Axis page.
• Similar to the graphics board definition, the x-axis definition of the VI panel is
changed by selecting the option Page. This will open the dialogue of the of the VI
panel (SetVipage).

Another way is to go to the panel dialogue by clicking the icon or selecting Edit
actual Virtual Instrument Panel from the context menu and then go to the x-Axis
page.
• The local x-axis definition is simply accessed by selecting the option Local. Then the
options for specifying the x-axis is shown in this dialogue.
The options available for the x-axis are similar to the one for the y-axis. They are de-
scribed in the following section. The only difference is in selecting the variable of the axis.
For the x-axis there is a list to choose the x-Axis Variable shown in the figure 27.4. The
Default value is depending on the type of simulation and the result object created during
the previous simulation. Then for time-domain simulations different representations of
the time scale are available. For the FFT plot e.g. the x-axis can be scale using the fre-
quency respectively the harmonic order.

27 - 12
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.4: The variable list available for the x-Axis

The option User defined enables the user to choose any variable for the x-axis, which is
selected to be stored in the result object. As shown in the figure 27.4 an element and a
variable can be selected for the x-axis. In this way a x-y plot can be created. There is also
an own plot type for a more convenient way to create x-y plot: the VisXyplot is described
in more detail in section .

Setting the Y-Axis


The y-axes are normally not synchronized like the x-axis, because they all show different
parameter values and thus need parameter-specific settings. By default, the Graphics
Board's default plot type is used, but more plot types may be created and used, i.e. plot
types for voltages, power, factors, slip factors, etc. By using the same plot type, different
plots can be compared more easily, without the risk of mis-interpreting a difference in
curve amplitude.
Although the x- and y-scale definitions thus use somewhat other synchronizing schemes,
the way a particular axis is set is quite similar. Both the y-axis and the x-axis page in the
subplot edit dialogue have the option to Use local Axis or simply Local.
• If this option is disabled, a reference is shown which points to the used axis definition
as described in the last section.
• If the option is enabled, the axis is defined locally and the edit dialogue changes in
order to do so. See the figure 27.4.

27 - 13
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The local definitions of an axis has three parts:


• the axis limits (minimum and maximum)
• the kind of axis (linear, logarithmic)
• the auto scale options
• the settings to adapt the scale to a setpoint.
The axis limits can be given manually, or can be auto scaled by pressing the Scale button.
With this button the limits are defined automatically from the curve shape once.
The options to Auto Scale the plot are
Off Turns any auto scaling function off and will display the results in the
range between the given limits.
On This option will automatically scale the plot at the end of a simulation.
Online This option will automatically scale the plot during the simulation.
The x-axis additionally features a Chart option. If ticked a range and a start value can be
set. This will set the x-axis to the specified range. During the simulation only a x-range,
set in the options, is shown and will 'wander' along with the calculation time.
The Adapt Scale settings are used to force a tick mark on the axis at a particular value.
This is the Offset value. Other tick marks will be drawn at 'nice' distances from this offset.
The default value for both x- and y-axis is an active adapt scale with Trigger equal to zero.
So the main ticks of the axes start at zero.
To see the deviations from the offset, the Show Deviations from Offset option will draw
a second axis on the right, which has its zero baseline at the offset value. The Show De-
viations from Offset option is available for the y-axis only.
An example of two subplots is given in the figure 27.5 where a voltage sag is shown with
both an instantaneous and a RMS value curve. The top curve has the Adapt option dis-
abled, and both axes autoscaled.

Fig. 27.5: Two subplots with different axis definitions

The bottom subplot has a smaller x-axis, to show only the interesting part, and has the

27 - 14
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Adapt option set on both axes.


The y-axis has its offset set to the nominal voltage level (11kV) and also shows the devi-
ations from that level in the right vertical axis. From this deviation, it is directly clear that
the RMS voltage initially drops more than 5kV. The x-axis has its offset set to the event
time, which in this case is 100ms when a short-circuit was simulated. From the x-axis, it
is now directly clear that this short-circuit was cleared after 200ms, at t=300ms.

Specifying Curves for Plots


The curves in a subplot must be taken from a result object (ElmRes), which is created
by a power system calculation function like the RMS or EMT simulation. How to create
such a result object is explained in 27.2.1.
The selection of the variables to be plotted in the current plot is done in the y-axis page
of the edit dialogue. This is easily accessed by double-clicking the background of the plot.
The dialogue is shown in the figure 27.6 and the figure 27.7 in detail.

Fig. 27.6: Defining a new curve

Each line in the shown matrix has the definition of a curve.


• The first column states the result object from which the data to plot the curve will be
read. If it is empty, the standard result file will be used defined in the reference
Shown Results in the same dialogue.
• The second column states the power system element (here: the generator "G1d''),
which is selected from the available elements in the result object.
• The third column states the actual variable for the curve ("xspeed''), selected from the
variables in the result object, belonging to the selected element.
• The next columns specify the style of the individual curve.
• With the last two columns the user can norm the values of the variable to a nominal
value given.
A new result object, element or parameter is selected by double-clicking the field or by
right-clicking it and selecting Select Element/Type or Edit from the context sensitive
menu. A list of possible result objects resp. elements or parameters will pop up from which
a new entry can be selected.
The color, line style and line width settings are edited in the same way: double-clicking
or right-clicking and selecting Edit.
New curve definition lines can be created by right-clicking on the column number (on the

27 - 15
DIgSILENT PowerFactory Visualization of Results in PowerFactory

far left) (see cursor arrow in the figure 27.6) and selecting Insert Rows or Append (n)
Rows. Marked curve definitions can similarly be deleted from the list by selecting Delete
Rows.

Note If you want to see changes between to consecutive simulations,


you can run the first simulation. These results will be stored inside
the result object Results.ElmRes, which can be found in the ac-
tive study case. Copy this object, paste it and rename it to e.g. "old
Results". Then you can add the same variable to a plot twice and
select the "old Results" result object for one of them (as shown in
the figure 27.6). This will show the old and the new results in one
plot.

If more than one curve is to be specified for the same result file and element, this may
be done in one action by selecting more than one variable from the variable list. This will
automatically create new entries in the curve definition table for all additionally selected
variables. The entered Result File and Element are copied automatically. This very conve-
nient procedure is shown in the figure 27.7 and the figure 27.8.

Fig. 27.7: Defining subplots with minimum effort, step 1

Fig. 27.8: Defining subplots with minimum effort, step 2

Similarly several elements can be selected. Then PowerFactory will automatically insert
the according number of rows. The variables are then set automatically to the one select-
ed in the first row.

27 - 16
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The Subplot with two Y-Axes

A plot with two y-axes can be seen in the figure 27.9. To create this plot the icon has
to be pressed and a Subplot (2y) (VisPlot2) to be selected from the pull down list. This
will add a subplot with two y-axes to the current VI panel.
The second axis can then be defined and curves for this axis can be specified similar to
the 'basic' subplot VisPlot. In the edit dialogue of this plot, as shown in the figure 27.9,
there will now appear a page for y1-Axis and for y2-Axis.

Fig. 27.9: The definition of the second y-axis

On the page for the second y-axis, this additional axis can be deactivated by unticking the
option Use second y-Axis.

The X-Y Plot


A further type of plot is the x-y plot. This plot will show one variable depending on a sec-
ond variable in one diagram. The two variables can be completely independent from each
other and do not have to belong to one element.

To create a x-y plot press the icon and then select a X-Y Plot (VisXYPlot) from the
pull down list. This will add a new x-a plot to the current VI panel.
The figure 27.10 shows the edit dialogue of the plot.

27 - 17
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.10: Defining variables for a X-Y plot

On the variables page the variables for the x- and y-axis are specified. Both variables have
to be stored in one result file of a simulation. To select variables of two different elements
the option Show x-Element in Table has to be activated. The options and the tools for the
curves are similar to the ones described in section (The Subplot).
On the second page Scales of the dialogue the scales of the two axis can be set automat-
ically or global definitions can be used for them.
The plot is drawn for a certain time range. On page Time Range this range can be set to
the whole simulation time. Another way is to select only a specified range to show these
results.

The FFT Plot


The FFT plot (VisFft) is similar to the normal subplot (VisPlot) from the handling point
of view. This plot will not show variables depending on the simulations time but on the
frequency. A time range of signal can be selected and then be transformed from the time
domain into the frequency domain using the Fast-Fourier Transformation (FFT). This then
will shown the harmonic contents of this signal depending on the nominal frequency of
the system.

Like other plots it can be created by using the "Append VI(s)" icon . An much easier
way is to click on a plotted curve and then selecting Create FFT Plot from the context sen-
sitive menu. Then the mouse pointer can be 'dragged' from the selected point on the
curve to the left or right. When holding the mouse still, a quick-help box shows the range,
beginning and end of the curve to be transformed.
By clicking the diagram again, a range for the FFT is set and the FFT is calculated and
shown in a newly created plot.
When entering the "edit" dialogue by double-clicking the plot, the x- and y-axis can be
defined on the different pages similar to the VisPlot. Additional options are:

27 - 18
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Calculate This additional option on the page y-Axis modifies the fast-fourier
transformation and the time range of the signal the FFT is applied to.
The button Synchronize will synchronize the time range with the
given frequency.Furthermore the different parts of the variable and the
number of samples for the FFT can be selected.
Unit The unit of the x-axis can be set to Frequency or Harmonic Order. For
the Harmonic Order the nominal frequency can be set different to the
network frequency.
Display On the Advanced page the display of the FFT results can be toggled
between the Spectral Line and a solid Curve.

27.1.3 The Vector Diagram


Using a vector diagram complex values such as voltages, currents and apparent power
can be visualized as vectors in one or more diagrams. A complex variable can be defined
and then shown in two different representations:
• Polar coordinates, i.e. magnitude and phase of the current
• Cartesian coordinates, i.e. active-and reactive power
There are predefined vector diagrams for calculation results. The predefined vector dia-
grams can easily be created using the context menu of a branch:
• right-click a branch in the single line graphic or in the data manager.
• select the option Show −> Vector Diagram −>... from the menu
• select one of the predefined variable, i.e. Voltage/Currents
The example the figure 27.11 shows the voltage and current on one terminal of a line.

27 - 19
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.11: Vector diagram of voltage and current on a line

Note A vector diagram can only be shown when branch elements like
lines, load, transformers, etc. are selected. Then the vectors of the
voltage, current or power across the elements or at the nodes con-
nected to the elements are shown in diagrams.
The vector can be shown after a load-flow calculation or before
and after a transient RMS simulation.

Another way of creating a vector diagram VecVis to the current VI panel is - equal to

adding a subplot - by pressing the icon and selecting a Vector Diagram (VecVis)
from the pull down list. In the edit dialogue the variables can then be shown as described
in section (The Subplot).
The objects and variables of the vector diagram can be changed manually by editing the
dialogue, which is opened by double-clicking the vector diagram. The more convenient
method is to right-click the diagram and selecting
• Default Vectors −>... to select a predefined vector from the list.
• Label of Vectors changes the label of the displayed elements shown in the diagram.
• Jump to Element to select one of the elements that is connected to the currently
displayed element.
• Set Origin set the origin of the diagram to the position selected with a mouse-click.
• Center Origin set the origin of the diagram in the middle of the plot.

27 - 20
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The X And Y Axes


In most plots, the x and y scale are given by the minimum and maximum value of each
scale. A vector diagram can't be defined using minimum and maximum for each scale be-
cause the x- and the y-ratio must be equal. The ratio for each unit is therefore set as the
parameter units per axis tick. In addition the location of the origin can be defined.
If all shown variables have the same unit, the axis are labelled with values and unit. If
there is more than one unit, the labels show ticks. A legend showing the ratio of the units
is add at the right bottom of the plot. The balloon help of the scale labels always the ab-
solute values for each unit.

Editing the Unit/Tick


To modify the scale of an axis the table Scales in the edit dialogue can be changed. The
column "Unit'' shows the unit, the column "Scale'' shows the ratio in unit per tick. A higher
ratio then shortens the vector.
If the "Auto Scale'' option in the dialogue is turned on, the scales are adapted whenever
a new calculation is ready. Turn off "Auto Scale'' to keep the scale limits.

Setting the Origin


The origin position of the vector plot can be changed either graphically or with the dia-
logue:
• Right-click the vector plot and select Set Origin. This will move the origin to the right-
clicked position.
• Modify the "x-Min.'' and "y-Min.'' values in the plot dialogue to the starting value of
the x-and y scale.

Changing Coordinates
The plot displays the vectors in cartesian or in polar representation. The grid of a polar
plot is shown as circles and can be altered as described in section (The Subplot). The
representation setting is also used for the mouse position display in the status bar.
The option Polar in the context menu toggles between representation in polar and carte-
sian coordinates. On the Advanced page in the edit dialogue this representation can also
ba changed.

Label of Vectors
In the edit dialogue as well as from the context menu of the plot the label of the vector
can be displayed in the different coordinate representation, so the real and imaginary val-
ue or the magnitude and phase angle can be shown.

Changing the Object


There are two different ways to change the objects for which the vector plot is made by:
• Right-clicking one of the vector plots and select Jump To. This shows a list of all
connected elements from which one can be selected. Here the side of a branch

27 - 21
DIgSILENT PowerFactory Visualization of Results in PowerFactory

element is automatically checked. The Jump To option is not available if there is more
than one element shown in the same plot or if there are no calculation results
available.
• The "Element'' column in the variables table in the plot dialogue, as depicted in the
figure 27.12, is double-clicked to select a new object.

Fig. 27.12: Variable list of a vector diagram

Changing the Variables


There are two different ways to change the displayed variables:
• Right-click the vector plot and select the Default Variables option. This will show a list
of predefined variables. This option is not available if there is more than one element
shown in the same plot or if there are no calculation results available.
• The "Var. x-Axis'' column in the variables table in the plot dialogue, as depicted in the
figure 27.12 is double-clicked to select a new variable from a list. The variables shown
in the list are either the magnitude or the real-part of the vector. The angle or the
imaginary part are set automatically. The selection list is empty when no calculation
result are available.

27.1.4 The Voltage Profile Plot


This plot VisPath shows the voltage profile of a radial network based on the load-flow
results. It is directly connected to a defined feeder in the network, so it can only be cre-
ated for the part of the system a feeder is assigned to.
The voltage profile plot needs a successful load-flow calculation. It can not be created if
there is no load-flow calculated. The most easy way of creating a voltage path plot is to
define such a plot in the single line graphic.
To create a voltage profile:
• First a feeder for the radial network has to be define, for which a voltage profile is to
be created, by right-clicking on a switch and then select Define −> Feeder.... A new
feeder object is created.
• A branch of an already defined feeder is right-clicked. The context sensitive menu will
show the option Show −> Voltage Profile. PowerFactory will then create a new
object VisPath showing the voltage profile for the defined feeder.
• In the 'calculation relevant objects' or in the data manager select the feeder object
which is just created or which is to be shown the voltage profile of. Right-click on it
and select Show −> Voltage Profile from the context sensitive menu.

Note The option Show −> Voltage Profile is only available when a load-

27 - 22
DIgSILENT PowerFactory Visualization of Results in PowerFactory

flow calculation is performed or the results of the last calculation


are valid.

The voltage profile plot shows the voltage of terminals or busbars along a feeder. The
variable(s) shown by the plot can be changed. If there is no valid load-flow calculation
the plot remains empty. A voltage profile is shown in the figure 27.13.

Fig. 27.13: Example of a voltage profile plot

The curve shown can be clicked and marked at the busbar positions (points). Like most
plots available in DIgSILENT PowerFactory the voltage profile plot can be labelled. See
the context sensitive menu or the description of the result graphs for details.
The plot in the example shows the voltage m:u with the unit "p.u.''. The position of the
busbars (x axis) is shown as the distance from the beginning of the feeder. The unit is
"km''. The variables shown for the busbars can be changed by the user through the edit
dialogue of the plot.
The x-Variable of the voltage profile can be changed by editing the dialogue of the plot.
On the Scales page of the Edit dialogue a list box defines the x-axis variable. There are
two predefined x axis.
Distance shows the distance of the busbar away from the feeder in "km''.
Bus Index numbers the busbars so the distance on the plot between the busses is
constant.
Other prompts for random variable input. Each variable available at all
busbars in the feeder can be input there.

The y-Variable(s) can be user-defined. The predefined variable for the plot is the voltage
m:u with the unit "p.u.''. Any other variable available at all busbars in the feeder can be
set. To change the shown variable, edit the voltage profile dialogue and change the vari-
able name in the table. Resize the table to append variables.
The Branch Coloring settings define a different coloring of the plot. For example the over-

27 - 23
DIgSILENT PowerFactory Visualization of Results in PowerFactory

loading of a branch element can be defined and shown in the plot. In the figure 27.13 to
line elements are loaded over 80%, so they are displayed in red. Also either the maximum
or the minimum values of parallel branches can be shown.
On the Advanced page the Coloring of the busnames shown in the plot can be defined
additionally.
Off does not display any bus names.
Black simply shows all names in black font style.
Colored acc. to Feeder
Colors the bus names according to the color of the different feeders.
The context sensitive menu shows now additional functions regarding the voltage profile
plot, when right-clicking on the plot or on the profile:
Edit Feeder
opens the "edit" dialogue of the feeder related to the plot.
Edit Data
opens the "edit" dialogue of the selected line, transformer or other
element.
Edit and Browse
shows the selected element in the data manager.
Mark in Graphic
marks selected element in the single line graphic(s).

27.1.5 Schematic Visualization

Schematic Diagram
Besides the voltage profile the object VisPath can also be used to show the schematic
diagram of a radial network. The usage and the different options available for this plot
are similar to the voltage profile plot in section 27.1.4.
The diagram shows a schematics of a radial network. It is also directly connected to a
defined feeder in the network, so it can only be created for the part of the system a feeder
is assigned to. It can only be shown or created, if a load-flow is calculated for the system
To create a schematic diagram,
• a feeder has to be defined for the radial network by right-clicking on a switch in the
single line graphic or in the data manager and then select Define −> Feeder....
• The context sensitive menu of a branch with a defined feeder will now show the
option Show −> Schematic Visualization −> Plot. PowerFactory will create a new
VisPath and the schematic diagram showing the profile for radial network.
• In the 'calculation relevant objects' or in the data manager select the feeder object
and select Show −> Schematic Visualization −> Plot from the context sensitive menu.
In the plot the terminals and busbars are displayed as well as the electrical elements be-
longing to the feeder depending on the real distance of the network or on the bus index,
where the distance between every node is constant.

27 - 24
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Schematic Single Line Diagram


There are further functions to show the schematics of radial networks. These functions
are applied especially when no single line graphics of a network exists and one wants to
let PowerFactory draw the schematic of a radial network automatically in a very conve-
nient way.
These functions can be activated from the context sensitive menu of the branch element
with a defined feeder similar to the voltage plot or the schematic plot described above.
Using the option Show −> Schematic Visualization −>... two slightly different operations
can be used:
Distance PowerFactory will draw automatically from the database a single line
diagram for the radial network defined by the feeder. The distances
between the terminals/busbars in "km'' are set automatically according
to the distances specified in the lines.
Bus Index Similar to the schematic diagram the distances between the terminals/
busbars will be neglected and a standard value will be used for all
terminals.

Note Remember to run a load-flow prior to activating these functions.


Otherwise you will not have access to the options.

27.1.6 The Waveform Plot


The waveform plot VisHrm is used to display the waveform of a voltage or current after
a harmonics load-flow calculation. These harmonics are typically emitted by an harmonic
voltage or current source described in 16.4. The waveform is calculated according to the
following formula:
n
u(t) = ∑ u ( i ) ⋅ cos ( 2πf ( i ) ⋅ t + ϕ ( i ) )
i=1
where
i Index of frequency
n Number of frequencies
t Time
f(i) Frequency at index i
u(i) Magnitude at frequency i
phi(i)Angle at frequency i
For the If a successful harmonic load-flow calculation with the option All Frequencies is
performed, the waveform plot will show the results of any distorted or pure sinusoidal
variable, e.g. voltages or currents, from any element in the network. It can also be cre-
ated if there is no load-flow calculated.

To create a waveform plot on the current VI panel, press the icon and select a Wave-
form Plot (VisHrm) from the pull down list. More than one subplot may be created at

27 - 25
DIgSILENT PowerFactory Visualization of Results in PowerFactory

once by setting the Number of VI(s). The new empty subplots appear with standard set-
tings.
Usage, settings and tools of this plot are similar to the subplot. A detailed description can
be found in (The Subplot). Although the definition of the variables is slightly different.
Besides the result object and the element, there can be defined the magnitude of the vari-
able, which is to be shown in the plot, and additionally the angle related to the magnitude
can be inserted when this information is needed.
The appropriate angle is automatically matched to the selected magnitude, if such angle
is available in the results and if the variable is a voltage or a current. When no appropriate
angle is found, one may be selected manually. Nevertheless it is not obligable to insert
an angle to shown the waveform plot.
The figure 27.14 shows an example for defining a variable in the VisHrm.

Fig. 27.14: Defining variables in a waveform plot (VisHrm)

The Waveform Plot Settings


Most other settings/options of the waveform plot act exactly like the settings of the Sub-
plot (VisPlot). See section (The Subplot) for more information. Additionally to the stan-
dard settings of the plots there are specified settings of the waveform plot. Step size and
range for time t are specified at the waveform plot settings object stored in the "Changed
Settings'' of the active project.
To change the waveform plot settings either press the Calculation button in the dialogue
of the plot or select Calculation in the context menu on the plot. The Settings Waveform
Plot object SetWave holds the Step Size and the Range for the calculation of waveforms
in the Waveform Plots (see figure 27.15).

Fig. 27.15: The waveform plot settings dialogue

27 - 26
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Step Size
The waveforms seen in the plot are calculated by the waveform plot itself. To avoid errors
the Step Size must be smaller than half the period of the highest frequency calculated by
the harmonics load-flow. To guarantee that this criteria is always fulfilled, independent of
the harmonics calculation, the Step Size is entered in Number of Samples in Highest Fre-
quency. The Highest Frequency and the resulting Step Size are shown just for informa-
tion.

Range
To be independent of the basic frequency the time range of the waveform is entered in
Number of cycles of Basic Frequency. Basic Frequency and the resulting Range are shown
just for information.

27.1.7 The Curve-Input Command


The curve input command is used for measuring printed curves. The original curves must
be available in windows metafile (*.wmf) or in bitmap (*.bmp) format. The graphics file
is displayed as background in a curve input plot. This plot then allows for defining plot
points by successive mouse clicks.
The curve input plot (VisDefcrv) allows for measuring and editing single curves of group
of curves at once. The measured curve points are stored in a Matrix object, see section
6.7.1. The positions of the axis in the curve input plot can be set by the user.
Special functions for groups of curves allow for x-value synchronization and many other
facilities to make their input easier and faster.

Creating a Curve-Input Plot


The special 'Curve Input' virtual instrument plot VisDefcrv is needed for measuring
curves. Such a plot, like al other virtual instruments, is displayed on a Virtual Instrument
Panel. A new virtual instrument panel is created with the new command in the file menu
or the new icon of the graphics window.

A new Curve Input plot is created by right-clicking the empty panel, or by pressing
on the panel button bar and subsequently selecting the Curve-Input (VisDefcrv). The
curve input option dialogue as shown in figure 27.16 is opened by double-clicking the
curve input plot.

The Input Options


The input options are used to select the graphics file which is to be measured. Only win-
dows metafile (*.wmf) or bitmap (*.bmp) formats are allowed. The x-scale and y-scale
settings are used to set the range and type of the axes of the curves as they are in the
graphics file.

27 - 27
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.16: Editing the curve input plot

Two different types of curves can be input:


Single
Each matrix input defines a single curve. The first column in the matrix holds the x-
values, the second one the y values. Other columns are ignored.
Set of Curves
Only the first matrix is used for input. The first column in the matrix holds the x-
values, the other columns hold the y-values of each curve in the group of curves.
The measured curve is drawn between the measured points by interpolation. This is im-
portant when the measured curve is later used with a specific interpolation. Setting the
correct interpolation mode when measuring the curve causes a better fit while avoiding
excess curve point definitions. Available modes of interpolation:
• Linear
• Cub. Spline
• Polygon
• Hermite

The Context Sensitive Menu


The case sensitive menu is opened by right-clicking the curve input plot. The menu is used
to select the curve for which points are to be measured or edited, to select the measure-

27 - 28
DIgSILENT PowerFactory Visualization of Results in PowerFactory

ment mode, to synchronize x-values by interpolation, etc.


Grid Opens the grid layout dialogue
Curves Used to switch from 'single' to 'set of curves' mode.
Interpolation
Selects the interpolation mode
Interpolate All
interpolates undefined y values for all curves for all defined x-values
Interpolate N
interpolates undefined y values of curve N for all defined x-values
Delete Curve N
Removes curve N from the matrix
Add Curve appends a new curve
Set Axis With this option the origin of the axes and the length of the axes can
be adjusted according to the figure imported.
Origin sets the origin of the graph to be inserted.
x-Axis sets the x-axis independent on the y-axis.
x-Axis (y=Origin)
sets the x-axis dependent on the y-axis origin.
y-Axis sets the y-axis independent on the x-axis.
y-Axis (x=Origin)
sets the y-axis dependent on the x-axis origin.
Origin sets the origin of the graph to be inserted.
Input specifies the input mode:
Off switches off the measurement mode
x/y-Pairs each left mouse click adds a point to the curve.
Drag & Drop
turns on the 'edit' mode: all points can be dragged and dropped to
change their y-position or left clicked and deleted with the 'Del' key.
Active Curve sets the curve to modify
How to Scan curve(s) using the curve-input plot:
• Create a virtual instrument panel with a curve input plot
• Open the curve-input dialogue with a double-click and set the following options
- Select the background file
- Select "Single'' or "Set of Curves'' in the "Curves Listbox''
- Select the interpolation mode
- Select on or more Matrix objects in the table named "Curves''. At least two columns
must be already present in the matrix object.
• Close the dialogue.
• Define the axis position to adapt the curve input to the background plot:
- Select the graphic cursor
- Right-click the plot and select Set Axis - Origin. Left click the origin of the plot

27 - 29
DIgSILENT PowerFactory Visualization of Results in PowerFactory

- Right-click the plot and select Select Set Axis - x-Axis. Left click the end of the x-
axis of the background plot.
- Right-click the plot and select Select Set Axis - y-Axis. Left click the end of the y-
axis of the background plot.
• Open the curve-input dialogue and adapt the scale of the curve input plot to the scale
of background plot
• Right-click the plot and select the Active Curve option and activate the first curve. The
option is not available when
- There is no Matrix object selected in the 'Curves' table of the dialogue
- One of the matrix object(s) has less than two columns
• Right-click the plot and select the Input option. Select the input mode. With the first
curve, select the with x/y-Pairs option.
• Left click the curve to set x/y values.
• Right-click the plot and select the Input - Off option to finish the definition of the
curve

27.1.8 Embedded Graphic Windows


Some dialogues contain embedded graphic windows to visualize input settings. An exam-
ple is shown in the figure 27.17 for the parameter characteristic dialogue. Many other di-
alogues have also such embedded graphs. An embedded graph shares much of its
functionality and features with the 'normal' graphs in the Virtual Instruments, like the sub-
plot in section .

Fig. 27.17: Example of an embedded graphs

27 - 30
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Similar to the plots on a VI page the mouse position in the embedded graphic is shown
in the status bar. The context sensitive menu of the embedded graphs offers commands
for printing and zooming.
Print Picture
This option opens the print dialogue. The default print format for embedded graphs
is A4. The printer orientation is set to the orientation of the embedded graph. The
print dialogue offers to preview the printed area.
Zoom In
This option changes the cursor to a magnifying glass. Drawing a rectangle with the
cursor will enlarge that area.
Zoom Back
This option restores the previous zoom area.
Zoom All
This option zooms out to the complete window.
Change Viewpoint

This option changes the arrow to the move arrow . Press the left mouse button,
hold it down and move the mouse outside the window. This will move the zoomed
area in that direction. Press the right mouse button or Esc to change the cursor
back again.
Additionally there may be a Limits available in the dialogue. Pressing this button will open
a small dialogue where the minimum and maximum of the x-axis can be changed, or the
Scale button will reset the settings and scale the axis automatically.

27.1.9 Tools for Virtual Instruments


Different kinds of plots are used to display calculation results or device data. There are a
lot of tools, which will help the user interpreting and analyzing these data or results of
calculations. Most of them are accessible directly through the "status bar" of PowerFac-
tory or through the context sensitive menu. This is activated by right-clicking on the
curve or an the plot background depending on the function one wants to choose.

Edit Dialogues
The "Edit" dialogue of the plots can be accessed through double-clicking on the back-
ground of each plot or by selecting Edit in the context sensitive menu. A faster way to
access special information of the plot is to double-click directly on the element which is
to be change. This can be the:
Legend
the legend text and representation can be edited directly.
X-Axis
to edit the x-axis limits, scales and variable representation and auto scaling options
of the current graphics board or panel.
Y-Axis
to edit the y-axis limits, scales and variable representation and auto scaling options
as well as the variable to be shown.
A double-click on other positions will open the plot dialogue.

27 - 31
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The Status Bar


In the status bar of PowerFactory on the bottom of the program window useful infor-
mation of the data shown in the curves can be obtained.
• First the value of the mouse position in the diagram is displayed in the status bar,
similar to the information shown with an open single line diagram.
• When a curves is clicked and marked with a cross, the cross value is also displayed in
the status bar and remains unchanged until the cross is set to a different position. If
there is no cross on the active page the status bar value is reset and no longer
displayed. Some plots have different scales on one axis, therefore these plots can not
display a value in the status bar.
• The option Curve-Tracking can be found in the status bar, normally in a grey font
style. When double-clicking this option the "Curve-Tracking" mode will be activated.
Then a cross will appear if the mouse arrow will be near a curve. If the mouse is hold
still for one second, the x- and y-value will be shown in a balloon window.

Labelling Plots
There are different styles of labels available for labelling curves and graphics. Setting la-
bels is possible in most of the different plots, although some of the labels are not available
in all kinds of plots. The labels are created the same way.
The label option is available from the context sensitive menu whenever a curve or graphic
was clicked and marked with a cross. The option Label −> Insert... Label can be selected
for the different labels. In addition there are two icons and in the toolbar, which
can be used to create labels.
After selecting the appropriate label from the sub-option of label, a rubber band from the
cross to the mouse is shown. A click with the left mouse button sets the label, the right
mouse button cancels. The following different labels are available.
The Text and Value Label
The text-label displays an user defined text above and below a line connected to
the curve with a rubber band. Edit the label to change the text shown.
The value-label displays the x/y coordinates of the cross. The label is a text-label
filled with the coordinates. Edit the label to change the text.
The Format Label
The form-label uses a form to print the displayed text. The form is local for each
label or common to all plots of the same type in the active project.

The Text and Value Label


The text and the value label (VisValue) is used to label curves or graphics displayed in
plots. The text of the label is written above and below a horizontal line. The line is con-
nected to the curve/graphic with a 'rubber band'.
After creating the labels, they can freely be dragged across the plot while staying con-
nected to the data point on the curve. The text can also be changed by double-clicking
the label or the rubber band. The edit dialogue of these two labels is depicted in the figure
27.18.

27 - 32
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.18: X/Y value dialogue

Value Value displays the connected curve position of the label. For labels
created as value this position is displayed as label text. "x-Axis''
displays the x axis value, "y-Axis'' the y axis value. "Time'' is visible only
for plots showing a trajectory.
Text on Top Text written above the horizontal line.
Text on BottomText written below the horizontal line.
Delete Label when a new Simulation is started
Some plots show the simulation results. Labels in plots showing
simulation results are deleted when the simulation is started again. To
keep labels in such plots, e.g. to compare curves with the last run, turn
off this option. The default of this option is "on''.

The Format Label


Like the "text/value label'', the format label (VisLabel) is set in plots to label curves or
graphics. This label displays text printed using a form. The form is different for each type
of diagram. It is either defined local at the label or defined for all diagrams of the same
type in the activated project. Its dialogue is shown in figure 27.19.

27 - 33
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.19: The form-label dialogue

The different information and parameters for this label are described below:
Value Value displays the connected curve position of the label. "x-Axis''
displays the x axis value, "y-Axis'' the y axis value.
Data Object "Data Object'' is a reference to the shown object. If "Data Objectless
not set the label itself is taken as shown object.
Shown Object The object output by the form, see "Data Object'' described above.
Edit Used Format
Shows the used "Form Manager''. The used format is either the local
format or the one defined for all plots of the same type in the active
project.
Create Local Format
Creates a new "Form Manager'' valid for the current label only. The
forms can be edit without influencing other labels in the same plot or in
the active project. The "Create Local Format'' button is replaced by the
"Set Default Format'' when a local format was defined.
Set Default Format
Removes the local format. The format used is the one used for all plots
of the same type in the active project. The "Set Default Format'' button
is replaced by the "Create Local Format'' when the local format was
reset.
Delete Label when a new Simulation is started
Some plots show simulation results. Labels in plots showing simulation
results are deleted when the simulation is started again. To keep labels
in such plots, e.g. to compare curves with the last run, turn off this
option.
From the context sensitive menu of the format labels more options can be selected
Border A simple border of the selected label can be turned on or off.
Form The format options can be directly accessed by Edit used Format and
Create Local Format for the marked format label.

27 - 34
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Reconnect with...
Reconnects the format label to another curve or data point.

The Constant Value


The constant label (VisXvalue) is used to display y-values for a constant x-quantity or x-
values for a constant y. In some plots like the overcurrent plot, constant labels are created
and deleted automatically e.g. to visualize the short-circuit current for relays.
The look of constant labels may vary because of different settings like the label location,
the intersection values and other options. The dialogue of the constant label is depicted
in the figure 27.20.

Fig. 27.20: The constant label dialogue

To insert a constant label into a diagram or plot, the option Set constant −> x-Value or
Set constant −> y-Value places a constant x- or a constant y-value into the current plot.
Thus the dialogue for constant the VisXvalue object will pop up (shown in the figure
27.20) and a horizontal respectively vertical line will then be displayed at the value spec-
ified in the dialogue. Also the constant value and (if exist) the value of intersections with
the curves will be shown.
There are different options and styles for the constant label:
Name defines the name of the constant line and will be displayed in the plot.
Style changes the representation of the constant label:
Line Only displays only the solid line and the related label.
Line with Intersections
shows a solid line including label and indicates the values when
intersections with the curves of the plot.
Short Line Only (Left/Right)
indicates the constant value at the bottom/top respectively at the right/
left side of the plot.

27 - 35
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Short Line/Intersection (Left/Right)


indicates the constant value at the bottom/top respectively at the right/
left side of the plot and the intersections with curves.
Intersection Only
shows only the intersection points with the curves.
Label defines the position of the constant value label:
None displays no label at all.
Outside of Diagram
creates the label between the border of the VI and the diagram area.
Labels of constant x values are created above the diagram area, labels
of constant y values are created right of the diagram area.
Above Line (right)
shows a label above the line if y is constant, the label will be on the
right hand side.
Below Line (left)
shows the label below the line on the left hand side.
Left of Line (top)
shows a label on the left side of the line if x is constant, the label will be
on the top end.
Right of Line (bottom)
shows the label right of the line on the bottom end.
Value defines the constant value, either X or Y. The dialogue shows if either a
X or Y is set. Also the actual position of the cross will be shown as a x-
respectively y-value. It is not possible to change a constant X into a
constant Y label other than by removing the old and creating the new
one.
Color specifies the color of the line and the labels/intersections.
Linestyle and Width
specifies the line style and line width for the line shown. Invisible if
"Show Values'' is set to "Intersections Only''.
For constant x-values in time-overcurrent diagrams there exist additional options:
x-Value is Displays the type of current displayed. Visible only for constant x values
in time overcurrent diagrams.
Show Values The constant value can be displayed as a line, as intersections with the
curves/graphics or both. "Line Only'' shows a vertical or horizontal line
without labels for the intersections with the curves. "Line with
Intersection'' creates crosses at the intersection of the line with the
curves. For constant x values the y value is displayed at the crossing
ant the other way round. The values and their unit are colored like the
curve crossed.
Intersections Constant x values created automatically in the overcurrent plot are
displaying the short-circuit current. To get the tripping times
"Intersections'' can be set to SHC Currents. "All'' would display the
intersection of the relay curve ignoring the type of current. Visible only
for automatic constant x values showing currents in the time
overcurrent diagrams.

27 - 36
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Set User Defined


The button "Set user defined'' is visible for constant values created by
the short-circuit in overcurrent plots. Labels showing this button display
the short-circuit current. The labels are deleted whenever a new short-
circuit was calculated. If one wants to modify and keep the label even if
a new short-circuit was calculated the label must be changed to user
defined.

The Straight Line


There are various ways of inserting lines into a plot. With the option Straight Line −>...
there can be used a
Set Secant to add a line directly through the selected data point.
Through Point
defines a graphic line through the selected data point with a defined
gradient and gives back the function of the line.
User Defined
defines a line independent from the curves shown with a defined
gradient and y-offset. The function of the inserted line can also be
seen, when holding the mouse arrow over the line for 1 second. The
options of the line dialogue or similar to the options for the constant
value in section .

Curve Filter
Curves shown in the plots and diagram can be filtered using the "Curve Filter". The option
Filter... from the context sensitive menu displays the filters available to be applied to the
data read from the result object. Another way to access this function is from the "edit"
dialogue of the plot. Here the Filter... button can be pressed. The figure 27.21 shows the
dialogue of the function.

Fig. 27.21: Defining a curve filter

The "Curve Filter'' specifies the type of filter applied to the data read from the result ob-
ject. This object is a filter applied to curves in plots. There are different filter types avail-
able. The following filter settings are available. (N=number of points in the original curve,
K=number of points in the filtered curve)
Disabled No filtering will be performed. K=N.
Average The filtered curve is the running average of the last n points. The first
n-1 points are omitted. K=N-n+1.

27 - 37
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Balanced Average
The filtered curve is the running average of the last (n-1)/2 points, the
current point and the next (n-1)/2 points. This filter thus looks ahead of
time. The first and last (n-1)/2 values are omitted, n must be an odd
number. K=N-n+1.
Purge Points by averaging
The filtered curve contains the averages of each block of n values.
K=N/n. This filter may be used to speed up the display of large curves.
Purge Points The filtered curve only contains every n-th value. All other values are
omitted. K=N/n. This filter may be used to speed up the display of
large curves.

Note A curve filter can only be applied at the end of the simulation or
measurement, points added during a simulation or measurement
are not filtered. The option Filter... is not available in all plots.

Border
The option Border in the context sensitive menu will insert or change the border of the
selected plot or diagram. The options available are
• Off
• Simple
• 3D
• 3D with label
The border with 3-dimensional effect and label will insert an additional label on the bot-
tom of the selected plot. This label can now be defined by double-clicking on it. Further-
more the text style can be altered by choosing the option Select Font for Border.

Export of Curve Graphic


The whole diagram or plot can also be exported for further usage in reports. Thereto first
mark the plot which is to be exported to a graphic file. Then select the option File −> Ex-
port...−>... from the main menu.
There is the selection between the export into a Windows MetaFile (*.wmf) or into a Bit-
map File (*.bmp).

Export of Curve Data


The export of curve data is available for a single VI or for the variables of the entire VI
panel. Hence there are different ways to access the "ASCII Results Export" command
ComRes of curve data, described in the following paragraph. The export directly from
the result file gives the opportunity to directly export several variables at once and is de-
scribed in more detail in section (Exporting Results).
Exporting curves of a single VI:
• Press the Export... button in the right side of the dialogue box of a virtual
instrument.

27 - 38
DIgSILENT PowerFactory Visualization of Results in PowerFactory

• Right-click on the VI and select Export... from the context sensitive menu.
Exporting curves of the entire VI panel:
• Press the Export Results... button on the "Results" page of the VI panel.
• Right-click on an empty area of the VI panel and select Export Results... from the
context sensitive menu.

Note If in one plot or on one VI panel variables are shown from several
result objects, a dialogue will appear before the export command,
where you have to select one result file from the list.

This function will export the data from the displayed curve with the given time range as
ASCII text to the following programs/files:
• Output Window
• Windows Clipboard
• Measurement File (ElmFile)
• ComTrade
• Textfile
In this dialogue the individual step size can be set, the columns of the result file and the
header for the export as can be seen from the figure 27.22.

27 - 39
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.22: Command dialogue of the ASCII result export

Various VI Tools
Grid This option in the context sensitive menu displays a dialogue to turn
on/off the available grid lines. For both x- and y-axis a main grid and a
help grid can be displayed in the plots. Furthermore - depending on the
type of plot - the representation of the different ticks on the axes can
also be specified.
Autoscale X, Autoscale Y
Changes the autoscale settings of the plot. Off turns off the auto-scale
mode. On performs an auto-scale at the end of the simulation or
calculation. Online is available in simulation plots only and tests the plot
limits after each new simulation point.These settings can also be
defined in the "edit" dialogue of the x- and y-axes.
x-Scale(s), y-Scale(s)
There are two options in the x-scale or y-scale entry. Edit displays a
dialogue to modify the scale settings like minimum, maximum and
other settings. Scale Automatic calculates the minimum and maximum
of the curve and adapts the scale limits.These settings can also be
defined in the "edit" dialogue of the x- and y-axes or by double-clicking
on the corresponding axis.

27 - 40
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Show dx/dy Right-click on data point on a curve and select Show dx/dy from the
menu. The two lines will appear, which are connected to the tip of the
mouse pointer. A balloon window will show the x- and y-difference
between the selected data point and the point where the tip of the
mouse pointer is in the diagram. Additionally the gradient is displayed.

27.1.10 User-Defined Styles


Each VI panel, each virtual instrument and every single plot uses a style where line-
widths, fonts, brushes and other graphical settings are defined. These objects normally
use predefined styles. In PowerFactory there are six predefined styles available:
• Default - Standard English Text and Symbols
• Gr Default - Greek Symbols
• Tr Default - Turkish Symbols
• Paper
• Gr Paper
• Tr Paper
These styles can be modified for all VIs or only for single plots. For this user-defined styles
can easily be created and specified. The base for an user defined style is always the pre-
vious default style.
There are several ways to select a predefined or user-defined style or change between
the available styles.
• The easiest way is using the list-box in the toolbar by clicking and selecting one of the
available styles.
• A style can be selected from the Style −> Select Style −>... in the context sensitive
menu of the VI.
• A style is selected in the VI-Style list-box on the "Advanced'' page of the VI dialogue.
The user-defined styles are stored in the changed settings element of the active project.
Therefore each project has its own \ Changed Settings\ Styles\ UserStyle\... path and user
defined styles. Only the changed elements are stored in the project, the unchanged ones
are the ones predefined in the default style.
The "changed settings" elements can be seen in the database in the figure 27.23.

Fig. 27.23: The changed settings in the database

27 - 41
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Defining Styles for the VI Panel


The Style −> Create new Style option in the context sensitive menu of the VI panel Set-
Vipage or every plot on the panel is selected to create a new style for the actual virtual
instrument panel. Insert a name for the style to be created in the input dialogue. Then
the new style is added to the predefined styles and is automatically selected for the cur-
rent VI panel. The created style is not set automatically in other VI panels of the project.
If a user-defined style is selected for the current VI panel, the Style −> Edit Style option
of the context sensitive menu of the panel may be selected to open the dialogue of the
new panel style. The figure 27.24 shows the dialogue for editing the layout of the panel.

Fig. 27.24: Editing the panel style

With the settings shown in the figure 27.24, mainly the layout of the title block of the VI
panel is edited. Here the user can define
• the different font styles for the various entries of the block by clicking on the buttons
• the height and the width of the columns of the title block (see section 8.3.6)
• the line width of the title block and of the page frame

Defining Styles for the Virtual Instruments


There is the possibility to define the x- and y-axis of the plots inside on one page. These
settings then are valid every plot on panels using this style
To change the styles, right-click on a virtual instrument on the panel and select the option
Style −> Edit Style in the context menu. Then a dialogue will pop up containing the set-
tings for
• all x-axis of VIs using this style
• all y-axis
• the selected object VIsplot
Double-click on the object which is to be changed. As shown in figures 27.25, the dialogue

27 - 42
DIgSILENT PowerFactory Visualization of Results in PowerFactory

of the selected axis will be opened and can then be modified.

Fig. 27.25: Editing the styles of X-axis

In the dialogue the following settings of the axes can be specified for the selected style:
Axis Here the style and width of the axis itself can be changed. Also the
number of small ticks shown between the divisions can be chosen.
Text The number of characters and the digits behind the decimal point as
well as the font type and size can be specified.
Distance between Axis and Text
Arrow The representation can be altered between the normal style and a style
with an arrow at the end of the axis with a certain width and length of
its tip.

Defining Styles for Single Plots


In addition to the axes the presentation of the plot itself can be chosen by the user. These
settings can be accessed through the dialogue shown in 27.26 and then double-clicking
on the settings of the VisPlot object.
Another and simpler way to change the settings of the style is to directly select the option
Style −> Edit Style of clicked Element from the context sensitive menu. These are the
same dialogues shown in figure 27.26 and can directly be accessed by right-clicking on
the
• x-axis in the plot to access the settings of the x-axis
• y-axis in the plot to access the settings of the y-axis

27 - 43
DIgSILENT PowerFactory Visualization of Results in PowerFactory

• on the plot itself to access the settings plot style, i.e. the grid, legend, etc.

Fig. 27.26: Editing the settings of the plot

The figure 27.26 shows all different settings available for the plots on a VI panel. Thus
one can
Grid Options to alter the width, line style and color of the main grid and the
help grid.
Legend Edit the distances from the legend to axis and between the different
legends.
Margins Set spaces between the diagram and the surroundings.

Saving Predefined Styles for Plots


If the settings of the x- and y-axis, of the plot itself as well as the size of a particular plot
shall be saved and then reused for further plots, there is the option Style −> Save as pre-
defined VI form the context menu of every plot or VI.
This option saves the setting of the plot and stores a new VI in the list of all VIs. Hence
if adding a plot the newly created VI can now be selected from the list by pressing the
icon and selecting the e.g. NewName (VisPlot) from the pull down list or by using
the option Create VI −>... from the context menu of the SetVipage to add new virtual
instruments to the VI panel. The new empty subplots appear with new defined settings

27.2 Results, Graphs and Documentation


This section presents the set of objects, commands and tools, dedicated to the handling
and presentation of results in PowerFactory.

27 - 44
DIgSILENT PowerFactory Visualization of Results in PowerFactory

27.2.1 Result Objects

The result object (ElmRes, ) is used by the PowerFactory program to store tables
of results. The typical use of a result object is in writing specific variables during a tran-
sient simulation, or during a data acquisition measurement. Result objects are also used
in DPL scripts, in reliability calculations, for harmonic analysis, etc.
An example of the result object dialogue is depicted in the figure 27.27.

Fig. 27.27: The result object

The result object shows the following fields:


Name the name of the result object
Database ID its database ID and the date, when it was changed the last time
Default for its default use
Info information about the currently stored data, ie.e the time interval, step
sizes, number of variables, etc.
Trigger-Times trigger times (in case of a Triggered default use)
The information about the stored data shows
• the time interval
• the average time step
• the number of points in time
• the number of variables
• the size of the database result-file
The Update button will recalculate these parameters and update the shown information
if necessary. The Clear Data will clear all result data.

Note Clearing the data will delete the result-file and will reset the data-

27 - 45
DIgSILENT PowerFactory Visualization of Results in PowerFactory

base ID. This will destroy all calculated or measured data in the re-
sult file. It will not be possible to restore the data.

The default type settings are used for two purposes:


1 Creating a new result object and setting the default type to Harmonics, for instance,
will cause the harmonics command dialogue to use this result object by default.
2 Setting the Default type to Triggered will cause the calculation module to copy and
temporarily store signals in that copied result object, every time a Trigger Event
becomes active. The Triggered default type enables the trigger time fields.
When the Protocol Output is pressed, all events that happened during the simulation,
recorded by the result object, will be written again into the output window. So one can
check what events took place during the last simulation.
The contents of a result object are determined by one or more monitor variable set (Int-
Mon) objects. These monitor objects can be edited by pressing the Contents button.
This will show the list of monitor sets currently in use by the result object.
Selecting a set of result variables, trough the use of monitor objects is necessary because
otherwise all available variables would have to be stored, which is practically impossible.

Exporting Results
The stored results for the monitored result variables can be exported by pressing the Ex-
port button in the result object. This will activate the "ASCII Results Export'' command
ComRes and will pop up the ASCII-results export dialogue, which allows for exporting to
the output window, to the windows clipboard, to a file or to other export formats.
This command is the same command for exporting curve data form a VI plot. This is de-
scribed further in section (Export of Curve Data).
In this dialogue the individual step size can also be set, the columns of the result file and
the header for the export as can be seen from the figure 27.28.

27 - 46
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.28: Command dialogue of the ASCII result export

This function will export the data from the displayed curve with the given time range as
ASCII text to the following programs/files:
• Output Window
• Windows Clipboard
• Measurement File (ElmFile)
• ComTrade
• Textfile
The export command allows for exporting an interval of results only and to export every
n-th result. So the user may define an additional step size n for the export. Additionally a
User defined interval for the time/x-scale can be set as the minimum and maximum value
of the first recorded variable (in time domain simulations this is of course the time).
By default, all the results for all monitored variables are exported. But also a selection of
variables can be made by entering column numbers under the section Columns (Vari-
ables). The header of the exported result table can include either the variable name or its
long or short description.

27 - 47
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Selecting Results Definitions


When a new calculation has to be made and no result object has been selected yet, the
in the calculation command dialogue can be pressed to show a database browser with
available result object definitions. Pressing the icon in the database browser will cre-
ate a new result object.
To create a new list of parameters or to edit an existing list in a result object, the Con-
tents button can be pressed, which will pop up a browser with all monitor variable sets
that have already been defined. To define a new variable set, the icon in the browser
can be pressed.
The result object thus combines one or more monitor variable sets, which allows for a
very flexible and highly transparent result definition. In fact, by using monitor variable
sets, just about every parameter used in the PowerFactory program comes available as
calculation result, together with a description and a unit.
The variables selected with the IntMon dialogue in the result object become available to
the subplot objects in the virtual instrument panels. In these subplots, one or more result
objects can be selected and from those result objects a power system element and one
of its variables can be chosen, if that element and that variable was selected in one of the
IntMon objects. The subplot will then show the calculated curve of that variable.
For more information about defining result objects with monitor variable sets, see section
27.2.4 (Variable Sets and Variable Monitors).

27.2.2 The Output Window


All textual output of DIgSILENT PowerFactory will be written to the output window.
This includes all error messages or warnings, command messages, device documentation,
result of calculations, generated reports, etc.
The output window, at the bottom of the screen, is always there; it cannot be closed al-
though it can be minimized. The output window can be "docked'', that is: fixed to a loca-
tion on the bottom of the main window. The docked state is the default, as shown in the
figure 27.29.

Fig. 27.29: The PowerFactory output window

When clicking the right mouse button, when the cursor is in the output window area, the
context sensitive menu of the output window appears. The output window can then be
undocked by deselecting the "Docking View'' (by clicking the mouse onto "Docking View"
to 'untick' it). The undocked output window is still confined to the main window, but now
as a free floating window.

27 - 48
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Note This sometimes occurs 'accidentally' when the user left clicks the
tool bar for the output window and drags the mouse (keeping the
mouse button down) to somewhere outside of the output window
boundaries. To rectify this simply left click in the title bar of the un-
docked window and drag it down to the bottom of the screen,
where it will dock once more (if you have right-clicked 'unticked'
"Docking View" to right-click and select "Docking View" once more.

The undocked state is not a normal situation for the output window. Because the output
messages that appear in this window are important at any stage while using the program,
the docked state is the best place because it will be visible then and easy to locate.
The upper edge of the output window shows a splitter bar which is used to change the
size of the output window. The 'drag' cursor, appears automatically when the cursor is
placed on the splitter bar. The left mouse button can be pressed when the 'drag' cursor
is visible. This will turn the splitter bar to grey and the output window can now be resized
by holding down the mouse button and moving the mouse up or down.
The output window may be moved and resized by:
• Dragging the splitter bar as shown in the figure 27.29, when the output window is in
the 'docking' mode
• Double-clicking the frame of the output window to dock/undock it from the main
window.

• Pressing the on the main toolbar, which enlarges the graphics board by hiding
the output window.

• Pressing the icons on the main toolbar, which enlarges the output window
The contents of the output window may be stored, edited, redirected, etc., using the fol-
lowing icons:

Opens an editor and pastes any selected or complete text from the
output window

Opens a different output file

Either saves the selected text to an ASCII file, or the complete contents
of the output window if no selection was made

Copies the selected text to the Windows Clipboard for use in other
programs

Clears the output window by deleting all messages

Searches the text in the output window for the occurrences of a given
text. A "?'' wild cart may be used

Changes the font used in the output window

27 - 49
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Redirects everything to a file on disk. The output window will stop


displaying messages while this icon is down

Acts like "redirect to disk", but all messages will now be printed directly

Pre-sets the option for the print dialogue. Either chooses printing of the
selected text or all buffered text if no selection was made

The Output Window Settings


The user settings (see section 4.4 define options for different kinds of output messages:
errors, warnings and informations. See the figure 27.30.

Fig. 27.30: The output window settings

To enable the copy and paste of other than normal messages, the corresponding message
categories have to be checked. Only the selected messages will be copied. This means,
for example, that when the information texts are disabled and a block of text is copied in
which the following 4 lines are present:
DIgSI/info - Calculating load-flowDIgSI/info - load-flow iteration: 1DIgSI/
info ------------------------------------------DIgSI/info - Load-flow
converged with 1 iteration
then these 4 lines will not be copied.In most cases only the calculation results are of in-
terest, not the messages that surround them. The errors, warnings, information and pro-
tocol messages are therefore disabled by default.
The other option is to disable all escape sequences in the ASCII export to file, printer or
other editors. These escape sequences are used by PowerFactory to code for text color
and special characters. Other programs may not be able to display the exported text cor-
rectly. The escape sequences have to be disabled in that case.
Additionally the maximum number of lines in the output window can be specified. This
means that if this number is exceeded due to further information displayed in the window,

27 - 50
DIgSILENT PowerFactory Visualization of Results in PowerFactory

the oldest messages will be deleted. The value "-1'' will disable the limit for the number
of lines.

Using the Output Window


The output window is more than just a dumb message viewer. It is an interactive tool,
which helps in preparing your data for calculations and it improves any search for errors
or bugs in your projects.
Every line in the output window with a full folder and object name can be double-clicked
with the left mouse button. This will open the appropriate edit dialogue for the shown
object. See the example in the figure 27.31.

Fig. 27.31: The interactive output window

In this example, a calculation function reported an error because a transformer element


has not been assigned a transformer type. Double-clicking the error message opens the
edit dialogue of the transformer.

Context Sensitive Menu inside the Output Window


It is also possible to press the right mouse button while pointing at the object name. The
context sensitive menu will pop-up and show entries to easily find and edit objects, if the

27 - 51
DIgSILENT PowerFactory Visualization of Results in PowerFactory

printed object name was found to be an existing object in the database tree.
These option are
Edit Object will open the edit dialogue of the printed object, which is i.e. the reason
for the error message
Edit and Browse Object
will open the data manager and show the element and its parameters
there.
Mark in Graphic
will mark the clicked element in the single line diagram and zoom into
the region of its place. The interactive feature of the output window is
extremely convenient when 'debugging' a new or changed power
system design. Faulty elements don't have to be searched for in order
to correct their parameters.

Output Window Legend


The output window uses colors and other formatting to distinguish between different
types of messages or for specials like bar diagrams.
Text messages formats:
DIgSI/err - ... Error messages. Format: red colored.
DIgSI/info - ....Information messages. Format: green colored.
DIgSI/wrng - ...Warning message. Format: brown colored.
DIgSI/pcl - ...' Protocol message. Format: blue colored.
Text only Output text. Format: black colored.
Reports of calculation results may contain bar graph information. The "voltage profiles''
report after a load-flow command, for instance, produces bar graphs of the per-unit volt-
ages of busbars. These bars will be colored blue, green or red if the "Verification'' option
in the load-flow command dialogue has been enabled. They will be hatch-crossed if the
bars are too large to display.
An part of a bar graph output is shown in the figure 27.32. The following formatting is
visible:

27 - 52
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.32: Output window bar diagram

Green Solid Bar


Used when the value is in the tolerated range.
Blue Solid Bar Used when the value is too low.
Red Solid Bar Used when the value is too high
Hatch-crossed Bar
Used when the value is out of reach and cannot be displayed correctly.

Copying from the output window


The contents of the output window, or parts of its contents, may be copied to the build-
in editor of PowerFactory or to any other program.
Normally, not all selected lines will be copied and the format of the copied text may un-
dergo changes. The latter is caused by the fact that the PowerFactory output window
uses special formatting 'escape sequences'. Other programs may not be capable of deal-
ing with these formatting commands.

27 - 53
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.33: The output window Info Message

Which lines will be copied is determined by the output window settings. See section 4.4
for more information. When text from the output window is about to be copied, an info
message will pop up, informing the user about the current settings. See the figure 27.33.
A button is supplied which brings the user directly to the user settings dialogue. The info
message may be disabled, in which case it will never show up again.

27.2.3 The Form Editor


The form editor within DIgSILENT PowerFactory is used to define text reports, from
very small result boxes, to more complex and comprehensive reports.
For a detailed technical description of the report generating language, see 27.2.5 (The
DIgSILENT Output Language).
The form editor (IntForm) will be used in most cases to change the contents of the result
boxes in the single line graphic. PowerFactory offers three ways in which to change a
result box definition:
• selecting three variables out of three predefined lists
• selecting one or more variables out of all available variables
• writing a new user defined format, using the PowerFactory output format.
Because of all these, the result boxes are used as example to introduce the nature and
use of the form editors.
As explained in section 8.5, the result boxes may be right-clicked to select a particular
format. When this format is selected, the "Form Select'' edit dialogue pops up which
shows a reference to a form for each calculation function (load-flow, short-circuit, etc.).
Editing the reference will show the Form Editor of the current result box definition. See
the figure 27.34.

27 - 54
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.34: The Form editor

This form editor has a page to change the format by selecting variables, and a page to
manually define a format. What is displayed on which page depends on the input mode
of the Form Editor, which can be change using the button Input Mode.

Fig. 27.35: The Form editor - Selection Moder

As shown in the figure 27.35 the three modes are:


Predefined Variables
This mode lets the user select three variables from three predefined
lists of variables. This is visible in the figure 27.34 as the three listboxes
at the bottom ('Line 1,2,3').
User Selection
This mode lets the user select any amount of parameters out of all
available parameters for the selected object or class of objects. This
includes model parameters as well as calculated values.
Text editor This is the most flexible, but also the most difficult mode. In this mode,
any text and any available variable, in any color, can be entered in the
Form. The highly flexible DIgSILENT output language allows for
highly complex automatic reports. This mode also offers a fast append
of predefined lines. The From List button is used to select a variable
from the list shown in "Predefined Variables'' mode. A standard line

27 - 55
DIgSILENT PowerFactory Visualization of Results in PowerFactory

with that variable is appended to the form. The User defined button
acts like the input mode "User Selection'' with one important difference.
Where the "User Selection'' mode is used to redefine the complete form
text, the User defined button appends a line for each selected
variables to the existing form text.

Note To use the "Predefined Variables'' is the easiest way to select vari-
ables, if they are accessible from the pull-down list.
If not only the standard variables should be shown, but also addi-
tional ones shall be defined, the best way is to use the option "User
Selection''.

In the figure 27.34, the editor is in the default 'Predefined Variables' mode. The three list-
boxes show the names of the variables, their units and their description.
The three listboxes used for the 'Predefined Variables' mode are replaced by a Select
Variables button in the 'User Selection' mode. Pressing this button will pop up a 'Monitor
Variable Set' dialogue (IntMon) which is used to define a set of variables. The IntMon
dialogue is explained in the next section.
The example in the figure 27.34 shows that the active and reactive power at the element
Xnet have been selected as well as the loading percentage. This selection will produce
three lines of DIgSILENT output language code. This code can be viewed by selecting
the View page. The text editor in this page will be disabled, because a format is selected
in stead of typing in the codes ourselves. However, it still shows the format of our selec-
tion as:
#.## $N,@:m:P:_LOCALBUS
#.## $N,@:m:Q:_LOCALBUS
#.## $N,@:c:loading
This example shows the basic syntax of the DIgSILENT output language:
• The '#' sign is a placeholder for generated text. In the example, each line has a
placeholder for a number with two digits after the decimal point ('#.##'). The first
'#'-sign stands for any whole number, not necessary smaller than 10.
• The '$N' marks the end of a line. A line normally contains one or more placeholders,
separated by non-'#' signs, but may also contain normal text or macro commands.
• After the '$N', the list of variable names that are used to fill in the placeholders have
to be added. Variable names must be separated with commas. Special formatting
characters, like the '@:'-sign, are used to select what is printed (i.e. the name of the
variable or its value) and how.
The mentioned example will produce an result box like
12.34
4.84
103.56

The form editor offers options for the unit or name of the selected variable. If the Unit-
show option is enabled, a second placeholder for the unit is added:
#.## # $N,@:m:P:_LOCALBUS,@:[m:P:_LOCALBUS
#.## # $N,@:m:Q:_LOCALBUS,@:[m:Q:_LOCALBUS
#.## # $N,@:c:loading,@:[c:loading
The '['-sign encodes for the unit of the variables, in stead of the value.
The same goes for the variable name, which is added as

27 - 56
DIgSILENT PowerFactory Visualization of Results in PowerFactory

# #.## $N,@:~m:P:_LOCALBUS,@:m:P:_LOCALBUS
# #.## $N,@:~m:Q:_LOCALBUS,@:m:Q:_LOCALBUS
# #.## $N,@:~c:loading,@:c:loading
Where the `~'-sign encodes for the variable name.With both options on, the produced
format line
# #.## # $N,@:~m:P:_LOCALBUS,@:m:P:_LOCALBUS,@:[m:P:_LOCALBUS
Will lead to the following text in the result box:
P 12.34 MW
Other often used format characters are '%', which encodes for the full variable descrip-
tion, and '&', which decodes for the short description, if available.

27.2.4 Variable Sets and Variable Monitors

The Concept of Variable Monitor Sets


The "Variable Set" object (*.IntMon) is used to manage these variables and display or
monitor a particular set or the complete variable set that is available. The variable set ob-
ject is accessed not only by the result boxes editor, but also by other configuration tools,
such as the "Flexible Page Selector" or the "Form" object defining the variables to be mon-
itored during a simulation run.
An example of the variable set object is shown in the figure 27.36.

Fig. 27.36: Example of a variable set dialogue

27 - 57
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Object
This figure illustrates the variable set for the load object called 'Bulk Load,' which is
found in the 'Grid' folder of the active project. Since a load-flow calculation has just
been performed the load-flow tab has been selected.
Note that if the variable set dialogue has been accessed when editing a results box
or flexible page selector the variables that are chosen are displayed for the entire
class of variable selected in the "object" field. In other words, in this case the 'Bulk
Load' is the selected object so the variable set will be applied to the ElmLod class.
Class Name
If no object has been selected the "Class Name" field becomes active. This is
normally used for more advanced studies and need not be explained further here.
Display Values during simulation in output window (...)
When performing simulation studies over time it is useful to sometimes have the
output values of the selected variables printed to the output window as the
simulation is running. This is achieved by checking this box.
Filter for
As mentioned previously, there are a large number of variables that may be
observed in PowerFactory. To be able to find and select these they are sorted
into sets. A series of filters allows the user to sort through the sets.
Page Tab (here Load Flow)
The load-flow tab has been automatically selected as a prior load-flow calculation
was performed.
Available Variables
All of the variables that are available for display are listed here (as sorted by the
filter).
Selected Variables
The selected variables are shown here. Variables are placed here by highlighting

(selecting) them on the "Available Variables" side and then pressing the
button. Individual variables can also simply be double-clicked to transfer them from
one column to the other.
Display as
If this box is checked then all of the selected variables are shown in the "Selected
Variables" area. If it is not checked then the filter will also apply to the "Selected
Variables" area and only those selected variables in the filtered set will be shown.
The first sorting of the variables is by calculation function (load-flow, short-circuit, etc.).
Within these sets variables are sorted into sub-sets as follows:
Filter for/Variable Set:
• Currents, Voltages and Powers; almost self explanatory- these are the outputs as
calculated by a calculation function. The variable is preceded by "m:" (representing
'monitored' or 'measured') as in "m:P:bus1" for the active power drawn by the load.
The user may select one set for branches and one set for the nodes, which then is
used for each node the edge is connected to.
• Bus Results; variables for the bus/s that the element is connected to (usually
preceded by "n:"). A branch element (having only one connection to a bus) will
obviously only have results for "Bus1." An edge element (two connections, as in a line
for example) will have "Bus1" or "Bus2." This means that the results for objects can
be accessed that are connected to the object that the list is compiled for. An example

27 - 58
DIgSILENT PowerFactory Visualization of Results in PowerFactory

of this variable is the open end voltage at a line end. See following for a more
complete explanation of usage. Also see section (Bus1, Bus2, Bushv, Buslv and
Localbus Explained) for more on Bus1, Bus2, etc.
• Signals; variables that are used between models (inputs and outputs) and are
preceded by "s:". These should be used when creating a controller or in a DPL script.
These variables are accessible whilst an iteration is being calculated, whereas the
other variables sets are calculated following an iteration.
• Calculation Parameter; variables (such as loading, or losses) that are derived from the
'core' calculation, or are derived from input data, such as absolute line impedance
(derived from impedance/ km * line length), or have been transformed from input
data to a format useful for calculation (actual to per unit), or that are required for
such transformation (e.g. nominal power). The parameters that actually are available
depend on the object type. Preceded by "c:".
• Element Parameter; variables that belong to the directly to the object selected
(preceded by "e:"). For general use, where the selected object is an Element (as
opposed to a Type) this will mean that these are indeed Element variables and the
user need not trouble themselves further. For further explanation please see the note
at the end of this section.
• Type Parameter; type variables that are linked to the element object under
consideration; for example, the current rating of a line type that a line element is
using.
• Reference Parameter; these are variables from objects that are linked or connected to
the object under consideration (preceded by "r:"). For example, a line element may
be part of a line coupling and the reference parameter will allow us to display the
name of the coupling element. The use of reference parameters is explained
following.
Buttons on the right of the dialogue are:
• Balanced toggles between the balanced and unbalanced variable set.

• goes to the manual input page for variables- for advanced use.
• Print Values prints the current values for all the selected variables to the output
window.
• Variable List prints a list of all available variables to the output window.
• Variable List (Page) prints a list of available variables for the current tab (e.g.
Basic Data) to the output window.
For general use it is sufficient to simply select the variables required and transfer them to
the selected variables column. To find a particular variable requires some knowledge of
where the variables are stored in the object under consideration. As an example display
following information is displayed
• type name,
• the tap setting,
• the nominal and calculated voltages at the HV node for a particular transformer.
These variables may need to be displayed on the single line diagram so we will start by
creating a textbox and editing its format, which is described later in this section. These
variables may also be displayed in the flexible data tab - the process is the same.

27 - 59
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The name of the transformer type is entered in the type data so we select the type pa-
rameters (as the Variable Set) in the filter- the name is also entered on the basic data tab
so we should select the Basic Data Tab, and the type name parameter is "loc_name". No-
tice that the focus object for the variable set object is a transformer. This has been auto-
matically selected since we created a textbox for the transformer by right-clicking it.

Fig. 27.37: Finding the type name

The tap setting will be found in the element data and the parameter is located on the
load-flow tab (this information is gained as the user becomes more familiar with Power-
Factory and recalls where the data was entered; such recollection directs the user to the
correct variable sub-set). The variables seen in the selected Variables column should now
be:
t:loc_name
e:nntap
To now be able to see the variables for the HV bus we use the reference parameters. The
reference parameters work like a 'refer to' command. In the figure 27.38 this is illustrated
schematically. We have started by creating a variable set for the object 'TX1' which is an
element object. Using the reference parameter we will refer to the object that the LV side
of the transformer is connected to, which is the cubicle ’Cub_1’. Since the nominal and
calculated voltages of the node are located in the node object itself we will next need to
refer to this node object ’LV’.

27 - 60
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.38: 'Referring to' with reference parameters

In a step by step fashion the process will now be shown. We first need to refer to or 'jump
to' the cubicle. If we picture the input dialogue for the transformer element we recall that
the connections for the HV and LV sides are listed on the basic data tab, so this is where
we will logically find the 'link' to the connected object (the cubicle). In the figure 27.39
we can see that this selection has been made (page tab Basic Data). We also notice that
the object that is presently the focus is the transformer element as the object. To affect
the jump to the cubicle we choose the reference parameter set, and then select the object
that we want to jump to, the cubicle connected to the HV side in the Available Variables
list.

27 - 61
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.39: Selecting the parameter to be displayed

Double-clicking on this jumps us to another variable set object whose focus object is the
cubicle that the LV side of the transformer is connected to. It is not immediately obvious
that the jump has occurred as the new variable set object appears directly on top of the
original one. If grabbing the one that appears before you and drag it to one side it will
become more obvious (you can also see this by noting that the name in the "Object" field
has changed), and will look as shown in the figure 27.40.
The second jump must now be affected - to the node that the cubicle is connected to. In
a logical fashion this 'connectivity' is also found on the basic data tab. The figure 27.41
shows the result of these jumps in PowerFactory. Lastly, the parameter required must
be selected.

27 - 62
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.40: Jumping to the cubicle using the reference parameter

The parameter we wish to display is the nominal voltage of the connected node. This will
be found on the Basic data tab and we must choose the element parameter set to find
the parameter, as shown in the figure 27.41. The parameter is called:
uknom kV Nominal Voltage: Line-line
At this point we could also add the calculated voltage for the node. This will be found un-
der "Currents, Voltages and Powers" on the load-flow tab.
After having clicked OK until you are back at the original variable set object you will see
that these referenced variables have been added as:
r:buslv:r:cBusBar:e:uknom
r:buslv:r:cBusBar:m:U
which can be read as −> 'jump to the LV bus' −> 'jump to the connected node' −> 'display
the selected variables.'
Once the user is more familiar with this nomenclature this jump may be typed in directly
to the variable set object. The understanding of this is also useful for writing DPL scripts.

Note In this particular example we have used a 'long' method to show


to the node variables for illustration purposes. Typically, however,
a user wishes to display calculated variables such as the voltage at
the end of a line where the breaker at that end is open. In this case
PowerFactory has a special 'shortcut' set - the "Bus Results".

27 - 63
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.41: Jumping to the node and selecting the parameter

These bus results can only be seen in the calculation function tabs and they are drawn
from an internal node that is not displayed on the single line graphic. An illustration of this
node and its relationship to the cubicle is shown in the figure 27.42.
An additional example on the use of reference parameters is the display of conductor
types (*.TypCon) for a line element (*.ElmLne) that uses a tower type (*.TypTow). Once
the variable set manager for the line is displayed, the basic data tab is selected, then the
reference parameter set, and the referenced variables, of which the conductor types are
one, is displayed. Once again this is a convenient shortcut that has been made for this
combination of element and type.

27 - 64
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.42: Internal node

Should the tower be close to another tower, and thus be coupled by a coupling element
however, the coupling element object must first be referenced.
The procedure would be:
• select the reference parameter set on the basic data tab (assuming that one have
started at the variable set object for the line element),
• double-click the "c_ptow Line Couplings" variable (or select it and then press the
arrow button to transfer the variable to the "Selected Variables" column),
• select the "loc_name Name" variable and transfer it to the "Selected Variables"
column,
• press "OK" until returned to the graphic or flexible data tab.

Note In the above examples we have used the element parameter set
to access variables of the element class (*.Elm* - what we 'tradi-
tionally' know as elements in PowerFactory). However, it should be
borne in mind that "Element Parameter" actually refers to the pa-
rameters of the focus object.
For example, if we have referenced the variable set from a line el-
ement -> (then to) line coupling -> tower type -> conductor type
the focus object is already a type and "Element Parameters" refers
to the parameters of the type object itself.

Bus1, Bus2, Bushv, Buslv and Localbus Explained


When selecting variables from the "Currents, Voltages and Powers" set the user will notice
that there is a filter called "Bus Name." This is used to determine which side of an edge
element is to be considered.
To maintain standard nomenclature the objects at the ends of a line element are named
"Terminal i" or "Terminal j" and "HVside" or "LVside" in the case of a transformer.

27 - 65
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The ends of an edge element are named "bus1" or "bus2" and "bushv" or "buslv" respec-
tively (a three winding transformer will also have "busmv"). These ends are matched to
the "i" and "j" sides so that i −> bus1 or bushv and j −> bus2 or buslv. Thus, when choos-
ing variables from the flexible page manager the user should specify which side of the
edge element the variables are to be taken from. Note that "bus1, bus2, bushv, bus-
lv" are not references to the connected node, they are in fact the ends of the
edge element.
When a variable is selected for display from the single line graphic the user will notice a
further classification, that of "_LOCALBUS." This classification merely indicates the end of
the edge element and describes internally which side of the edge element the result box
should access its variables from. That is the 'bus' local to that end.

27.2.5 The DIgSILENT Output Language


When more than just the variable name, value and unit has to be displayed, if the use
colors is preferred, or other special formats, the DIgSILENT Output Language can be
used.
By selecting the Text Editor input mode, all entries on first page of the Form Editor dis-
appear, except for the form name, and the editor on the second page is activated (see
the figure 27.43).

Fig. 27.43: The Form text editor

Almost all textual output that is produced in PowerFactory, is defined by a report form.
The use of report forms range from the simple and small result forms that specify the
contents of the single line result boxes to large and complex forms that are used to print
out complete system reports.
In all cases, the text in the editor field of a IntForm object specifies the report that is to
be generated. For result boxes, that text is normally created automatically in the IntForm
dialogue by selecting "Predefined Variables'', or any other set of variables, and some ex-
tra's such as the number of decimals and if an unit or name should be shown. These op-
tions will automatically create a report form. That automatic form is normally used as it
is, but it may be altered manually. This is shown in the figure 27.43, where report format
is changed such that the variable name of the loading factor is deleted and replaced by

27 - 66
DIgSILENT PowerFactory Visualization of Results in PowerFactory

the fixed text 'ld', because the variable name "loading'' is felt too long compared with the
names of the other two variables ("P'' and "Q''). The shown format will produce result box-
es like
P 12.34 MW
Q 4.84 Mvar
ld 103.56 %
Defining single line result boxes only asks for a basic understanding of the DIgSILENT
output language. For more complex reports, many different variables from all kinds of ob-
jects have to be printed as listings or tables. Such a report would require macro handling,
container loops, selection of parameters, headers, footers, titles, colors, etc. The DIgSI-
LENT output language offers all this, and more.
The basic syntax, which is primary used for defining result boxes is given in the following
overview.

Format string, Variable names and text Lines


A standard line consists of three parts (see the figure 27.44):
1 A format string, containing placeholders, macros and/or user defined text.
2 An 'end of line' character like '$N', '$E' or '$F'
3 Variable names, separated by commas, which are used to fill in the placeholders.

Fig. 27.44: Basic parts of the report format

The format string is normally much longer.

Placeholders
A placeholder for strings like variable names or whole numbers is a single '#'-sign. For
real numbers, the placeholder consists of
• a single '#' for the integer part
• a point or comma
• one or more '#'-signs for the fractional part
The number of '#'-signs after the decimal point/comma defines the number of decimals.
The '#'-sign itself can be included in user-defined text by typing '\#'.

Variables, Units and Names


The variable name can be used to display the name of the variable, its value or its unit.
The possible formats are ('xxx' = name of variable):
xxx returns the value
%xxx returns the long variable name, as used in the edit dialogues
&xxx returns the short variable name, as used in the database browser

27 - 67
DIgSILENT PowerFactory Visualization of Results in PowerFactory

[xxx returns the unit


xxx the object dependent name of the variable (default name)
"%width.precision,xxx''
uses special formatting.

The special formatting %width.precision is explained by the following examples:


• "%.60,TITLE:sub1z'' outputs TITLE:sub1z 60 column width, left aligned.
• "@:"%1.0,s:nt'' inserts s:nt as an integer at the placeholder's position
• ""%1.3,s:nt'' writes s:nt with 3 digits precision at the placeholder's position
The centering code | may be used in front of the formatting code for centering at the
placeholder, for example "|%.60,TITLE:sub1z''.
The insertion code @ is used to switch to insert mode, for example,
|#|$N,@:loc_name
will output
|aElmSym|.
The cformat string may be used to alternatively reserve place for a value or text. A cfor-
mat of ’%10.3' will reserve 10 characters for a number with 3 decimals. The first number
can be omitted for text: ’%.6' will reserve 6 characters for the text field. The cformat syn-
tax allows for centering text by adding the ’|'-sign to the `%'-sign:
’|%.10' will reserve 10 characters and will center the text.
Free, language dependent text can be defined by use of the format
{E|a text;G|ein Text}. This will produce 'a text' when the user has selected the English
language (see the user settings dialogue), and 'ein Text' when the language has been
chosen to be German.
Special commands for access of Elements
OBJECT(cls)
Gets Element of class cls. Used to access a variable name or unit without actually
accessing such an object. Used in header lines.
argument
cls (obligatory): The name of the class
example:
[OBJECT(StaBar):m:Skss
writes the unit of the busbar variable Skss
EDGE
Gets an arbitrary object with at least one connection, i.e. a Load, a Line, etc. Used
to access a variable name or unit without actually accessing such an object.
example:
%EDGE:m:U1:bus1
writes description of the variable U1
CUBIC(idx)
Returns the cubicle (StaCubic) at bus index idx of branch

27 - 68
DIgSILENT PowerFactory Visualization of Results in PowerFactory

argument:
idx: index of branch, the currently set bus index is used when idx<0
example:
CUBIC(0):e:loc_name
returns name of cubicle at busindex 0
TITLE
Gets the title that is set in the output command (ComSh or ComDocu)
example:
TITLE:e:annex
writes annex of title
VARIANT
Gets the active variant in which the current object is stored
example:
VARIANT:e:loc_name
writes the name of the variant
NET
Gets the grid in which the current object is stored
example:
NET:e:loc_name
writes the name of the grid
CMD
Returns the last calculation command, i.e. a Short-Circuit (ComShc), Load-flow
(ComLdf),...
example:
CMD:pabs
writes the short-circuit position on the line after calculation of a short-circuit.
CASE
Returns the currently active calculation case
example:
CASE:e:loc_name
writes the name of the active calculation case
DEF
Returns the default object. The default object depends on the currently processed
output.
example:
DEF:e:loc_name
writes the name of the default object
STALNE
Returns the station if the current object is a busbar. Returns a line if the current
object is a terminal between line routes. Otherwise, nothing is returned, and the
entry will be ignored.
example:
STALNE:e:locname
writes the name of the line or station.

27 - 69
DIgSILENT PowerFactory Visualization of Results in PowerFactory

RES
Returns the currently active results object (ElmRes) used by simulation, harmonics
or other calculation modules
example:
RES:e:desc
writes the first line of the description of the results object

Color
A line can be set to another color by adding a '_LCOL(c)' command directly after the '$N,'
marker. This will color the whole line according to the color number c.

a black i gray

b black j light gray

c red k bordeaux

d green l dark red

e blue m dark green

f brown n light green

g cyan o marine

h magenta p dark blue

Table 27.1: Color Codes

iA single item can be colored by using the '_COLOR(Variable name; color code)'.

Advanced Syntax Elements


The advanced syntax is mainly used for writing forms for larger and more complex re-
ports. An example is a short-circuit result form, which lists all the short-circuit parameters
for all busbars and for each busbar for all connected elements.

Line Types and Page Breaks


The character '$' ends a format line. A line without this ending will be interpreted as a
normal '$N' line type. The following line type are available:
'$N' Normal line
'$H' Header on the top of each page
'$F' Footer on the bottom of each page
'$T' Title line, only appears on top of the first page
'$C' Comment line (not used for output)
'$R' Marker that make that the line will only be used when the specified
results are valid
The line type '$H', '$F' and '$T' will be treated as normal ('$N') line types when used inside

27 - 70
DIgSILENT PowerFactory Visualization of Results in PowerFactory

a loop command. Line type codes may be made language dependent by adding a 'E', for
English lines or a 'G' for German lines, i.e. '$HG' specifies a German header line.
A report format must at least contain one normal ($N) line.
The following commands are used for page and line controls. They can only be used di-
rectly behind the line type codes '$N', '$F' or '$H'.
_PAGEBREAK
Forces a page break after the current line
_AVAILBREAK
Enables page breaking after the current line (default)
_NOBREAK
Disables page breaking directly after the current line
_LCOL(c) Changes the color of the current line, c is the color code.
_OBJ(ClsNam)
The current line will only be used for objects from the class "ClsNam''.
_BUS(inum) The current line will only be used for objects which connect to exactly
inum nodes
_FIRST The current line will only be used when the loop index is 0 (first
passage)
_NFIRST The current line will only be used when the loop index is not 0 (all but
the first passages)
_IF(boolean expression)
The current line will only be written when the expression is true.
Example: _IF(m:u:bus1>0.95)
_IFNOT(boolean expression)
The current line will only be written when the expression is false.
Example: \IF(m:u:bus1<0.95)
Example:
| #.## # #.## # #.## |$R,_NOBREAK, ..

Predefined Text Macros


The following macros will produce specific names or other texts.
_DATE(c) present date: c='e' give the English format, c='g' the German one.
_TIME present time
_VERSION version number of the DIgSILENT PowerFactory software.
_BUILD build number of the DIgSILENT PowerFactory software.
_VERBUILD combines _VERSION and _BUILD
_ORDER order title, if a title has been defined previously
_CLASS class name of the object
_LINE current line number in page
_ALLLINE current line number in report
_PAGE current page number

27 - 71
DIgSILENT PowerFactory Visualization of Results in PowerFactory

_LOCALBUS name of the local busbar


_CALC(c) name of last performed calculation. c=1 returns a long description.
_SHORT short object name
_FSHORT short name of parent object
_CLS class name without the 'Elm', 'Sta', 'Typ', etc. part.
_ANNEX the annex number
_NGB neighborhood depth
_TEXT(E | text;G | Text)
language dependent text (E=English, G=German)

Object Iterations, Loops, Filters and Includes


To create a report that creates a table with the voltages for all busbars, command are
needed to filter the busbar objects and to create a loop that outputs a line of text for each
busbar. A loop or filter command consists of the following parts:
• the keyword "$LOOP'' or "$CLOOP''
• the filter or loop name
• the format text
• the keyword "$END''
Example:
$LOOP,_LROUTES()
| # |,$N,loc_name
$END
This example uses the filter "_LROUTES()'', which filters line route objects (ElmLner-
oute). The format text has one line, which prints the object name.

27.2.6 The Output of Device Data


The ComDocu command ("Output of Device Data'') is used to produce an output of de-
vice data. The output can be used in reports or may help to check the entered data. Re-
ports of calculated results can be made with the ComSh command. See chapter 27.2.7
(Output of Results) for more information.
There are two types of reports. These are either the "Short Listing'' or the detailed report.
The "Short Listing'' is not defined for all elements.

The Short Listing


The "Short Listing'' reports only the most important device data, using one line for each
single object. This allows a small but clear documentation. Like the "Output of Results''
the "Short Listing'' report uses a form to generate the output. This form can be modified
by the user. When the report form is changed, it is stored in the "Changed Settings'' object
of the active project. This does not influence the reports of other projects. The output of
objects without a defined short listing will produce warnings like:
DIgSI/wrng - Short Listing report for StoMaint is not defined.

27 - 72
DIgSILENT PowerFactory Visualization of Results in PowerFactory

The Detailed Report


The detailed report outputs all device data of the elements selected for output. In addi-
tion, type data can be included ("Print Type Data in Element''). Device Data is split into
the different calculation functions like "Load-Flow'' or "Short-Circuit''. The "Basic Data'' is
needed in all the different calculations. "Selected Functions'' shows a list of the functions
whose data will be output. If one wants to report the device data for all functions move
all functions from left to right. If "Selected Functions'' is empty no device data will be out-
put.

Device Data

Fig. 27.45: Device data page

Use Selection
The set of reported elements depends on the "Use Selection'' setting. If "Use
Selection'' is checked one element or a "Set'' object must be chosen for output. If
"Use Selection'' is not checked the "Filter/Annex'' page specifies the set of elements
for the report. This page is described further down. Another way to select object
for the report is to select the objects in the "Data Manager'' or the "Single Line''
graphics and select "Documentation'' in the "Output'' entry of the context menu.
The "Output of Device Data'' command will pop up.
Annex
Each class uses it's own annex. There is either the default annex or the individual
annex. To use the default annex check "Use default Annex''. Changes of the annex
are stored in the "Changed Settings'' of the active project. The local annex is stored

27 - 73
DIgSILENT PowerFactory Visualization of Results in PowerFactory

in the "Output of Device Data'' command. To modify the local annex press the
"Change Annex'' button. See section (The Annex for Documentation) for details.
Title
Most reports display a title on top of each page. The reference "Title'' defines the
contents of the header.

Filter/Annex

Fig. 27.46: Filter/Annex page

If one wants to report elements without defining a set of objects "Use Selection'' on the
"Device Data'' page must not be checked. The objects in the list "Selected Objects'' will
be filtered out of the active projects/grids and reported. "Available Objects'' shows a list
of elements which can be add to the "Selected Objects'' list. The list in "Available Objects''
depends on the "Elements'' radio button. Elements in the left list are moved to the right
by double-clicking them. The text in the "Annex'' input field will be set as default annex
for the selected class.

The Annex for Documentation


The "Annex for Documentation'' stores the annex for the documentation of results. The
annex number and the page number for the first page are unique for each class.

27 - 74
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.47: The annex dialogue

Objects This column shows the different classes with their title.
Annex This column stores the annex number shown in the Annex field of the
report.
First Page This column defines the start page for the class in the report. The first
page number depends on the class of the first element output in your
report. The page number of its class is the page number of the first
page.

27.2.7 Output of Results


The command ComSh ("Output of Results'') is used to produce an output of calculation
results. The output can be used in reports or may help in interpreting the results, as
shown in figure 27.48. To generate a report with input data use the ComDocu command,
see section 27.2.6 (The Output of Device Data).
Several different reports, depending on the actual calculation, can be created. The radio
button on the upper left displays the different reports possible for the active calculation
(the figure 27.48 shows a load-flow). Some reports may be inactive, depending on the
object(s) chosen for output. In the figure 27.48, a station was selected for output. "Used
Format'' displays the format(s) used for the report. Some reports are a set of different
outputs. For these reports more than one form is shown. If the form is modified it will be
stored automatically in the "Changed Settings'' folder of the active project. The changed
form does not influence the reports of other projects. If "Use Selection'' is active a set of
objects (selection) or a single object must be chosen. The report is generated only for
these elements. All relevant objects are used if "Use Selection'' is not selected. The rele-
vant objects depend on the chosen report. Most reports display a title on top of each
page. The reference "Title'' defines the contents of the header.
For some reports additional settings are required. These settings depend on the chosen
report, the selected objects for output and the calculation processed before. The calcula-
tion (left top) and the used format(s) (right top) are always shown.

27 - 75
DIgSILENT PowerFactory Visualization of Results in PowerFactory

Fig. 27.48: Output of results

27 - 76
DIgSILENT PowerFactory Interfaces with Other Programs

Chapter 28
Interfaces with Other Programs

28.1 Matlab Integration


Additionally to designing controllers or various electrical and mechanical models using the
DIgSILENT Simulation Language, there is also the possibility to use an interface to Mat-
lab. This interface gives the opportunity to model controller or very complex transfer func-
tions using the Matlab environment and insert them as a block definition into a frame in
a PowerFactory transient simulation.
PowerFactory can correspond to the Matlab program during the simulation. It will trans-
fer the input values of a block to Matlab for every time step, which will then simulate a
specified *.m file in its own environment and gives back the results as the outputs of the
block definition. Consequently this function needs a installation of the Matlab program in-
cluding the Simulink package.
The implementation of a Matlab file is shown in the next sections. In this example a volt-
age controller is implemented first using a built-in model (ElmVco) and using a definition
from Matlab. This example can also be found in the FAQ on the DIgSILENT home page.

28.1.1 Implementation of Voltage Controller - Example


In this example the grid consists of two generators, one load and one line, as shown in
the figure 28.1.

Fig. 28.1: Matlab example grid

The simulation event is defined for the load, where the reactive power is increased after
0.5 seconds.

28 - 1
DIgSILENT PowerFactory Interfaces with Other Programs

The complete example contains three files:


1 Matlab Example.dz is a PowerFactory file.
2 VCOtype16.m is a Matlab M-file.
This file is an interface to the Simulink model, and it is used as a middle layer in the
communication between PowerFactory and Simulink.
3 vcotype16mod.mdl is a Simulink model and contains Simulink implementation of
VCO type 16.

28.1.2 Implementation with Built-In Model


In the base study case, the voltage controller models are represented by the built-in mod-
els VCO type 16 (ElmVco__16). The built-in VCO type 16 inside PowerFactory is one
excitation control system with simplified exciter. Both composite models use the AVR in-
side the IEEE-frame from the global library. The generators have different VCO parame-
ters set.
In the figure 28.2 the edit dialogue of the ElmVco with the parameters of the AVR can
be seen.

Fig. 28.2: Parameters dialogue of the voltage controller

The model representation of the ElmVco__16 is indicated in the figure 28.3.

28 - 2
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.3: Parameters dialogue of the voltage controller

After the simulation the resulting plots show busbar voltages and excitation voltage for
both generators. The results are stored in result files located on "Results'' folder of the
according study case.
These results from the reactive power step in the load can be seen as dotted curves in
the figure 28.8. Here the generator terminal voltage (controller input) and the excitation
voltage of both generators is shown. Thus the response of the AVR can be seen from
here.

28.1.3 Implementation with Matlab Model


In the second study case "Matlab'' which is a modification of the base case, VCO type 16
is modelled inside the Simulink package, instead of using a built-in model. The Matlab
console is started automatically when running the simulation.
To implement a Matlab model into a current project in PowerFactory it has to be includ-
ed into a frame similar to a DSL model definition. This procedure is described in detail in
the section 24.3.3 (Block Definition Dialogue). First a slot inside the frame has to be cre-
ated, where the controller model should be inserted. This is done exactly like for imple-
menting built-in models or common models. Then a block definition BlkDef has to be
created inside the library. Instead of programming the transfer function using the DSL
code, there can now the definition of the Matlab code be imported.
This can be done in the dialogue of the block definition. When creating a primitive DSL
model in the library by
• right-clicking a or inside a (library) folder in the active project in the data manager
and selecting New... −> Block/Frame - Diagram from the context menu.

• using the "New Object'' icon in the database manager and selecting Block
Definition (BlkDef).
• double-clicking an new/empty block reference in an open block diagram and then use

the button to select a block definition. Then The icon can be used to create a
new block definition inside the local library.
Now open the dialogue of the new BlkDef
• by double-clicking on the frame of a composite block definition
• by double-clicking the definition in side the library or on its icon
Here input and output variables, parameters, state variables and limiting signals have to
be defined. Instead of inserting the equations to describe the different function blocks, a

28 - 3
DIgSILENT PowerFactory Interfaces with Other Programs

Matlab file *.m can be selected, when the option Matlab is activated.
The edit dialogue of the block definition including the parameter definition and the select-
ed file can be seen in the figure 28.4 for the mentioned example.

Fig. 28.4: Composite model using a special frame

The model representation of the ElmVco__16 in the Matlab Simulink package is shown
in the figure 28.5.

Fig. 28.5: Parameters dialogue of the voltage controller

When the block definition is specified, a DSL model has to be created first. As described
in 23.4 (The Common Model), the common model element (ElmDsl, ) is the front-end

28 - 4
DIgSILENT PowerFactory Interfaces with Other Programs

object for all user-defined block definitions. This means that all user-defined transient
models including built-in elements or Matlab models cannot be used other than through
a common model.
The common model then combines a model or block definition with specific set of param-
eter values. The edit dialogue of the DSL element now looks different to the built-in Elm-
Vco. From the figure 28.6 can be seen, that this dialogue is similar to the normal DSL
models. All time constants and other parameters are the same as for the built-in VCO
models.

Fig. 28.6: Parameters dialogue for the Matlab voltage controller

The figure 28.7 shows the composite model using the special frame with the generator
'G1' and the Matlab-AVR inserted into the slots.

28 - 5
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.7: Composite Model using a special frame

These results from the simulation of the reactive power step using the built-in VCO model
(dotted curves) and using the Matlab representation (solid curves) can be seen in the fig-
ure 28.8.

Fig. 28.8: Results of the transient simulation with the Built-In model

28 - 6
DIgSILENT PowerFactory Interfaces with Other Programs

28.1.4 The Matlab File


The Matlab file VCOtype16.m is an interface configuration for the Simulink model,
stored in the file vcotype16mod.mdl, and the PowerFactory DSL model. There the
input and output signals, the parameters and the state variables are defined, as described
below. The transfer function is specified.
The contents of this file is listed here.
function [t, x, y] = VCOtype16
global U Tvm Usetp Upss Vska Tisp Ur1mx Ur1mn Vsex Efdmx
Efdmn ve1 x1 x2
options = simget('VCOtype16mod');
options = simset('InitialState', [x1,x2]);
[t, x, y] = sim('VCOtype16mod', [], options);

PowerFactory inserts the following variables into the Matlab workspace:


U, Tvm, Usetp, Upss, Vska, Tisp, Ur1mx, Ur1mn, Vsex, Efdmx,
Efdmn, ve1, x1, x2

Those variables are necessary to successfully run the Simulink model. There are three in-
put signals (U, Estop, Upss), one output signal Uerrs and two state variables x1 and x2.
In each step of the PowerFactory simulation the Simulink model is completely evaluat-
ed. State variables ('InitialState') are assigned to Simulink model in each step of the sim-
ulation. For PowerFactory it is a simple function call:
[t, x, y] = VCOtype16.
PowerFactory uses only one Simulink model for both generators. To avoid limitation of
Simulink, which allows only one instance of the model running at the same time, Power-
Factory must send all parameters in the each step of the simulation.
To find appropriate equations for the initial conditions you need to understand the con-
struction of the transfer function blocks in Simulink. To obtain this understanding you
can replace the variables with actual numbers in the Matlab Simulink model, set the
initial conditions, run it for a few seconds and monitor the outputs of all transfer functions
to see whether the model initialized correctly.
The Matlab Simulink model (.mdl) and the interface file (.m) file may not have the same
name.
The order of the state variables in the interface file's statement "options = simset('Initial-
State', [x1, x2, …….])" is important; the order of the elements in the vector [x1, x2, …]
must be the same as in the state variable vector constructed internally by Matlab. To de-
termine the order of the Matlab state variable vector the user may use the command "[siz-
es,x0,xstring]= ModelName" in the Matlab workspace, where ModelName is the name
of the Simulink model (without the .mdl extension and without inverted commas). The
output of the string variable xstring contains the names of the dynamic blocks in the Sim-
ulink model in the desired order. In the case of the above example the first state variable
is in the measurement block and the second state variable is in the integrator:
xstring =
...'VCOtype16_model/Measure/State Space'
...'VCOtype16_model/Integrator'
The names of the variables in the 'Initial conditions' fields in the masks of the Simulink
model dynamic blocks is irrelevant.

28 - 7
DIgSILENT PowerFactory Interfaces with Other Programs

The initial conditions are set within Power Factory. Also, for the purpose of Power Facto-
ry's model checking mechanisms, the state derivatives equal to zero
The Simulink solver parameters are set to integrate over one small time step, e.g. start
time = 0, end time = 0.01, and step size = 0.01.
The y-matrix returned by MATLAB contains the output variables. If more than one output
variable is defined in the DSL model, then those are sorted alphabetically before assign-
ing the outputs from MATLAB. For example, if there are two outputs "uerrs" and "out-
put", then the value from the first column of the y-matrix is assigned to "output" and the
value from the second column is assigned to "uerrs".

28.1.5 Additional notes


DIgSILENT PowerFacory calls MATLAB using the programme identification keys
"Matlab.Application" and "Matlab.Application.Single". PowerFactory will start that same
MATLAB installation which was used last. Additional information on the calling of MATLAB
is available on http://www.mathworks.com.

28.2 DOLE and On-Line Data Exchange


The DIgSILENT PowerFactory program offers sophisticated dynamic data import and
export possibilities for the use of other programs and for dynamic data exchange for SCA-
DA interfacing.
Both data exchange features, DOLE and SCADA interfacing, are based on a small set of
interfacing commands. Yet, these commands enable the import and export of a wide
range of parameters in an object oriented way.
The DOLE language and the SCADA interface are treated separately in the following sec-
tions.

28.2.1 DOLE Interface


The DOLE interface is a common ASCII interface for all kind of data transfer to DIgSI-
LENT PowerFactory. Creating new objects, changing values of existing objects and
drawing single line graphics are the main features of the interface. Use the option Open
Dole File ... of the context sensitive menu by right-clicking the input window of the data
manager.

File Definition
The first line of a DOLE file configures the DOLE interface and must have the following
definition:
dole [/fkey][/dbupd][/gupd][/mm] langue= level=
/fkey use for all DOLE commands foreign keys. Set option /dbupd
/dbupd update database while reading dole file
/gupd update graphic while reading dole file
/mm graphic coordinates in mm (command ComGrp), PowerFactory uses
internally coordinates in mm/87.5 !

28 - 8
DIgSILENT PowerFactory Interfaces with Other Programs

langue 0 = English, 1 = German


level 0 = old DOLE interface compatible, 1 = new DOLE interface
(recommended)
Default dole no options set !
The switches /dbupd and /gupd are time consuming.
To insert comments in the DOLE file set the first character in the line to '*'.
Each line must contain one of the following commands:
• create
• set
• connect
• buscnf
• ac
• new
• grp
• ifupd
• echo
These commands are described in the next sections.

Create - Command
The Create command creates new objects in the PowerFactory database and has fol-
lowing definition:
create [/sec][/rou][/noswt] objname.classname [name=....]
objname name of the new object
classname class type of the new object, i.e. ElmLod (General Load), ElmSym
(Synchronous Machine), TypSym (Type of Synchronous Machine), etc.
/sec creates Line Sub-Sections
/rou creates Line Routes
/noswt in combination with /rou, set switch insert mode to false, default =
true
name Names of Line Routes, Line Sub-Sections, with /sec: name=section
name 1,section name 2,... with /rou : name=[term. x],route 1,term
1,route 2 ...
Examples for the Create - Command:
create .\Example 1.ElmNet
Creates a grid with name Example 1
Create .\Example 1\Load 1.ElmLod
Creates a general load in the Example 1 folder with name Load 1
create .\Example 1\Line 1.ElmLne
Creates a line in the Example 1 folder with name Line 1
create .\Grid 2.ElmNet\Gen 1.ElmSym
Creates a grid with name Grid 2 if not exists and create a synchronous machine in the
folder Grid 2 with name Gen 1

28 - 9
DIgSILENT PowerFactory Interfaces with Other Programs

Example for creating Line Sub-Sections


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/sec .\Example 1\Line 1 name=Sec 1,Sec 2
create/sec .\Example 1\Line 1 name=Sec 3
appends line sub-sections into the line
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 contains 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.

Additional functions
By default the command inserts switches between line routes. With the option /noswt
the command does not insert switches. Change the default if wanting to 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
A switch is inserted between Route 1 and Term 1
No switch is inserted between Term 1 and Route 2
create/rou .\Example 1\Line 1 name=,Route 1,~Term 1,Route 2
No switch is inserted between Route 1 and Term 1
A switch is inserted between Term 1 and Route 2
Option /noswt, no switch insert
create/rou/noswt .\Example 1\Line 1 name=,Route 1,Term 1~,Route 2
No switch is inserted between Route 1 and Term 1
A switch is inserted between Term 1 and Route 2
create/rou/noswt .\Example 1\Line 1 name=,Route 1,~Term 1,Route 2
A switch is inserted between Route 1 and Term 1
No switch is inserted between Term 1 and Route 2

Set - Command
The Set command is used for defining variable sets and modify values of these sets. The
command has the following definition:
set [/def][/fkey][/cls] obj=name [var=...][val=...]
/def Define a variable set for all elements from type name
/cls Clear all variable sets
/fkey Interpret 'name' as foreign key, this switch is ignored with dole/fkey
var= List of variable names etc. var=plini,qlini,...
val= List of values etc. val=,10.3, 2.5, .... (first character = used delimiter)

28 - 10
DIgSILENT PowerFactory Interfaces with Other Programs

obj='name' Name or foreign key of element or class name (option /def)


Example for the data section of an update file
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=Load1 val=, 10.5, 1.3
Element Load1: 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
The set command takes the last object created with the create - command when
"obj=blank'' is used.
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/def obj=ElmStactrl var=qsym:SIZE,qsym:ALL
Set values and size of a vector (table):
SIZE: change the size of the vector
ALL: set all values of the vector
set obj=Stactrl 1 var=5,20,25,35,7,13
Element Stactrl 1: qsym[0]=20,qsym[1]=25 ...
size of qsym = 5
set/def obj=ElmDsl var=params:LIST:table1_R
Set DSL Parameter:
set obj=Dsl 1 val=No,vname1:2,vname2:1.25,vname3:2.3,vname4:125
Special syntax of ElmDsl
No: number of following parameters (here No=4)
name of parameter : value of parameter, ....

Connect - Command
The Connect command connects edge elements (Lines, Loads, Machines, etc.) to bus-
bars and terminals and has the following definition:
connect name [b1=bus1][ib1=] ... [b4=bus4][ib4=]
name name of element
b1,..,b4 names of the terminal or busbar bus1..bus4
ib1,..,ib4 connection mode (0 or 1)
mode=0: switch opened, mode=1: switch closed
PowerFactory connects the edge elements to the busbars or terminals (bus1, bus2,...)
and creates (if necessary) for all busbars automatically cubicles and switches.
Examples for the Connect command
connect .\Line_10kV b1=.\SS1 ib1=1 b2=.\SS2 ib2=1
Connect a line (Line_10kV) to the terminals SS1 and SS2
connect .\Tr_10_15 b1=.\SS2 ib1=1 b2=.\STAT_1\SS3 ib2=1
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.

28 - 11
DIgSILENT PowerFactory Interfaces with Other Programs

Buscnf - Command
The Buscnf command is used for renaming switches and cubicles which are created with
the connect command or the create/rou command.
buscnf cubn=cubicle name swtn=switch name
cubn set the name of the cubicle to cubicle name
swtn set name of the switch to switch name
Example for the Buscnf - Command
connect .\Line_10kV b1=.\SS1 ib1=1 b2=.\SS2 ib2=1
buscnf cubn=Cub 0.1 swtn=S 0.1
renames the cubicle and switch which connecting SS1 with Line_10kV (terminal i)
buscnf 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
buscnf cubn=Cub_1 swtn=S_1
renames the cubicle and switch connecting SS10 with trf_10/100 (HV - Side)
buscnf 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
buscnf cubn=C_R1 swtn=S_R1
renames the cubicle and switch which connecting Route 1 with Term 1
buscnf cubn=C_R2 swtn=S_R2
renames the cubicle and switch which connect Term 1 with Route 2
buscnf cubn=C_R3 swtn=S_R3
renames the cubicle and switch which connect Route 2 with Term 2
buscnf cubn=C_R4 swtn=S_R4
renames the cubicle and switch which connect Term 2 with Route 3

Ifupd Command
The Ifupd command is used for composite models to update the interface and insert ref-
erences.
ifupd mod=name objs=object1,object2,object3...
mod name of the composite model
objs list of object names to insert references into the composite model
Example for the Ifupd - Command
ifupd mod=Comp1 objs=Gen 1,Busbar 1
inserts into the composite model Comp1 two references points to Gen 1 and Busbar 1 and
updates the interface.

Echo Command
The Echo Command is used for printing information messages into the Output Window of
PowerFactory.
Example for the Echo- Command:
echo Reading Transformer Data
Prints into Output Window: "DIgSI/Info Reading Transformer Data''

28 - 12
DIgSILENT PowerFactory Interfaces with Other Programs

Activate Command
The Activate Command is used to activate or deactivate projects and study cases. Calcu-
lations are only possible after a study case has been activated.
ac [/de] [ name | all ]
name name of the project or study case
/de deactivate
all Deactivates the currently active project and study case
Examples
ac \User\Factory\20kV
Activates the project or study case 20kV in the folder \ User\ Factory
ac/de \User\Distribution\Shc1
Deactivates the project or study case Shc1 in the folder \ User\ Distribution

New Command
The New Command is used to create a new visual object. Visual objects are all objects
which can be displayed graphically in a single line or a block diagram.
Syntax:
new /sgl | /blk | /vis [pTarget=target] [sName=name]
/sgl Creates a new grid with a corresponding single line graphic. The
command will automatically activate the newly created grid.
/blk Creates a new block diagram.
/vis Creates a new virtual instrument panel.
pTarget= Specifies the folder in which the new object should reside. The default
value for this parameter is '\ User '
sName= Specifies the name of the object to create. The default value for this
parameter is "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 .

Graphic Command Mode 1: Creating objects (grp/new)


The graphic command allows to create or modify all necessary objects for single line
graphics or block diagrams from a DOLE input file. It is one of the most powerful com-
mands within PowerFactory. An appropriate graphic window must be opened before
this command can be used. Such can be done either with the new or activate command.
The use of the graphic command is similar to the interactions of the user when creating
or modifying a diagram with the mouse. Therefore the user should be familiar with the
basic interactions in PowerFactory graphic windows (see PowerFactory Users Manual
- Chapter 'Graphic Windows'). If one never has created a drawing interactively in Power-
Factory, some problems might occur to understand the structures and principles of this
command.
The graphic command can be used in three different modes specified by the first option.
The mode 1 described in the following is designed for creating new graphic objects.

28 - 13
DIgSILENT PowerFactory Interfaces with Other Programs

Syntax:
grp/new [obj=] [sFKey=] symbol= pos= [size=] [iRot=] [sAttr=] [iNamVis=]
[iResVis=]
obj= Specifies the complete name (incl. path) of the corresponding data
object. If this data object exists it will be linked to the created graphic
object, if not it will be created, too.
sFKey= Specifies the value for the foreign key (parameter 'for_name') of the
data object. This parameter can be used to identify the created object
by later commands or interactions. Therefore it must be unambiguous
in the complete database and can be considered as an unique foreign
key for all objects in the PowerFactory database.
symbol= The identifier name for the graphical symbol which is used to represent
the created object in the graphic.
• "symbol=__HGRAF__'' is used to create auxiliary graphic objects for illustrating
purposes.
• "symbol=__BREAKER__'' is used to insert breaker switches in single line
graphics. Breakers in single lines are not represented by real graphic objects.
They are only virtual instruments which show the summary switch mode of a
complete feeder.
• In PowerFactory the insertion of compound objects into a graphic is possible
by specifying a compound symbol. This means, that with one grp/new command
it is possible to insert several graphic objects representing a complex data
object. This is, for example, used in single line graphic windows to insert a
complex busbar system into the drawing.
pos= A list of coordinates used to insert the created object into the drawing.
The coordinates are separated by a comma. Each coordinate consists
of two values (one for the dimension x and one for the dimension y),
separated by a comma. For node objects only one position is
necessary. For branch objects the coordinate list should contain the
same positions as if the object will be interactively entered into the
graphic window (see PowerFactory Users Manual - Chapter 'Graphic
Windows', 'Adding New Power System Elements'). 'Double-clicks' are
simulated by entering the same position twice.
size= This options allows to specify a graphical size different from the default
for the created object. The default value is determined by the used
symbol.
iRot= This options allows to specify a graphical rotation angle different from
the default for the created object. The value for the angle must be
entered in degrees (0-360) and is counted counterclockwise. The
default value is determined by the used symbol.
iNamVis= Specifies whether the name attribute of the created object is visible in
the drawing. Name attributes are defined by the appropriate symbol
definition. The possible values for this parameter and their meaning
are:
0 Do not show name attributes
1 Show name attributes
-1 Take the default value from the symbol definition

28 - 14
DIgSILENT PowerFactory Interfaces with Other Programs

iResVis= Specifies whether the result attribute(s) of the created object are
visible in the drawing. These attributes are defined by the appropriate
symbol definition. The possible values for this parameter and their
meaning are:
0 Do not show result attributes
1 Show result attributes
-1 Take the default value from the symbol definition
sAttr= In the create mode of the Graphic command this parameter can
contain a definition of an additional geometry object to visualize the
created objected. The syntax for the geometry object definition is the
same as is used by the symbol definition (see syntax description of the
symbol definition).
&Hint: to transform coordinates from mm to the internal coordinate
space, please divide by 87.5, even if dole/mm was set.
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 PowerFactory 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 PowerFactory database contains an
appropriate transformer with the specified complete name (inclusive the 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 objects will be taken from the graphical topology,
otherwise the graphical topology must match the given topology at data object level.
grp/new symbol=d_lin pos=2.55,0.35,2.75,0.35,2.75,0.80, ...
... 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.

Graphic Command Mode 2: Modify =Objects (grp/mod)


This mode allows to modify existing graphic objects. To reference objects there are three
possibilities:
• Identify the object by entering the complete name (incl. path) of the object with the
parameter 'obj'
• Identify the object by entering the foreign key value of the object with the parameter
'sFKey'

28 - 15
DIgSILENT PowerFactory Interfaces with Other Programs

• Identify objects by entering the positions of the object in the drawing with the
parameter 'pos'.
• If only one coordinate is entered, the coordinate will have to lay inside the
surrounding rectangle of the desired object. By entering more than one coordinate
more than one object can be referenced. Then the coordinates are interpreted as
points of an imaginary polyline in the drawing. Objects are referenced if their
surrounding rectangles will be intersected by this imaginary polyline.
Syntax:
grp/mod obj= | sFKey= | pos= [size=] [iRot=] [iNamVis=] [iResVis=]
obj= Used to identify a graphic object via the complete name (incl. path) of
the linked data object or the complete name (incl. path) of the graphic
object itself.
sFKey= Used to identify a graphic object via the foreign key of the linked data
object or the foreign key of the graphic object itself.
pos= A list of coordinates used to identify the object(s) in the drawing. The
coordinates are separated by a comma. Each coordinate consists of two
values (one for the dimension x and one for the dimension y),
separated by a comma (see description above).
size= This options allows to specify a new graphical size for the referenced
object(s).
iRot= This options allows to specify a new graphical rotation angle for the
referenced object(s). The value for the angle must be entered in
degrees (0-360) and is counted counterclockwise.
iNamVis= Specifies whether the name attribute of the object(s) is (are) visible in
the drawing. Name attributes are defined by the appropriate symbol
definition. The possible values for this parameter and their meaning
are:
0 Do not show name attributes
1 Show name attributes
-1 Take the default value from the symbol definition
iResVis= Specifies whether the result attribute(s) of the created object(s) is (are)
visible in the drawing. These attributes are defined by the appropriate
symbol definition. Possible values for this parameter and their meaning
are:
0 Do not show result attributes
1 Show result attributes
-1 Take the default value from the symbol definition
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.

28 - 16
DIgSILENT PowerFactory Interfaces with Other Programs

Graphic Command Mode 3: Set Foreign Key Values


This mode allows to set the foreign key values of the linked data objects for existing
graphic objects. The graphic objects have to be referenced by entering the positions of
the object in the drawing with the parameter 'pos'. If only one coordinate is entered, the
coordinate will have to lay inside the surrounding rectangle of the desired object. By en-
tering more than one coordinate more than one object can be referenced at once. Then
the coordinates are interpreted as points of an imaginary polyline in the drawing. Objects
are referenced if their surrounding rectangles will be intersected by this imaginary
polyline. With this command it will be possible to set the foreign key values for objects
created automatically from PowerFactory by inserting a compound object into the
drawing via the grp/new command (see description above). Automatically created objects
are, for example, the several busbars in a busbar system or the routes of a line.
Syntax:
grp/sfk [symbol=] pos= {sAttr:index=}
symbol= If given this parameter will limit the group of referenced objects via the
parameter 'pos' to objects which graphical symbol names matches the
value of this parameter.
pos= A list of coordinates used to identify the object(s) in the drawing. The
coordinates are separated by a comma. Each coordinate consists of two
values (one for the dimension x and one for the dimension y),
separated by a comma (see description above).
sAttr:index= For every referenced object the specification of this parameter will set
the foreign key parameter of the linked data object to the given value.
Therefore the term :index specifies the index in the list of all referenced
objects, beginning with the value '0'.

Note Note that it is not necessary that you specify values for all identi-
fied objects. The list of referenced objects is sorted in increasing
order according to their intersection with the points of the imagi-
nary polyline given by the parameter 'pos'.

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

28.2.2 DIgSILENT On-Line Operation Mode


The PowerFactory -software can be operated in an on-line mode with a direct connec-
tion to a SCADA system. This feature enables to access real measured system data, either
the last actual ones, or any set which has been saved previously by the SCADA interfacing
system.
By activating the last measured system status which will comprise generation, loads,
transformer tap settings, shunt reactor switching and system configuration, this option
allows the analysis of the actual system operation with respect to:

28 - 17
DIgSILENT PowerFactory Interfaces with Other Programs

• active and reactive power flow, voltage profile, system losses and reactive power
compensation requirements
• general fault analysis
• system losses optimization
• spinning reserve and load shedding supervision and optimization
• analysis of measures for system oscillation stabilization
The access to previously stored data allows the analysis of any occurred fault or otherwise
specific situation needed to be studied. In this case, the main advantage of accessing
SCADA history files is the ability of updating power system data easily without being
forced to edit any data manually.
PowerFactory SCADA interfacing has been realized in a very general manner, ensuring
that a PowerFactory SCADA on-line link can be realized with nearly any SCADA hard-
ware and software.

DIgSILENT Method for SCADA Interfacing


The procedure implemented for SCADA interfacing is as follows:
1 The operated power system must be set up in PowerFactory using the single line
graphic editor or the data manager. This configuration must reflect the general
structure of the operated system, including the existing busbars (substations)
installed lines, cables, transformers, shunt-reactors etc. Specific operation
information like loads, generation or any general "on/off" information concerning
bus-couplers, circuit breakers or isolators will later be overwritten.
2 Data transfer files (*.dle) have to be generated, organized and stored periodically by
a SCADA interfacing program, which may run on the PowerFactory computer
system or the SCADA system itself. The generated update files can be best
described as "incremental files" containing the operated system actual data.
Access to a specific system status is done by the following procedure:
1 Start the PowerFactory program
2 Activate the case or grid containing the power system configuration
3 Read in one of the transfer files using the main menu "File/Import".
This will automatically update the operation information. The program is then ready to
execute any available command concerning power flow, fault analysis, stability calculation
etc.

Description Of The Generalized Update-File


The update-file consists of two different sections containing
1 definition for the data - variable link
2 operation data
which are both using the set command. The Set -Command has the following definition:
set [/def][/fkey][/cls] obj=name [var=...][val=...]
/def Define a variable set for all elements from type name
/cls Clear all variable sets

28 - 18
DIgSILENT PowerFactory Interfaces with Other Programs

/fkey Interpret 'name' as foreign key


var= List of variable names etc. var=plini,qlini,...
val= List of values etc. val=,10.3, 2.5, .... (first character = used delimiter)
obj='name' Name or foreign key of element or class name (option /def)
Example for the definition section of an update file
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.
Example for the data section of an update file
set obj=Load1 val=, 10.5, 1.3
Element Load1: plini = 10.5, qlini = 1.3
set/fkey obj=L32 val=, 10.5, 1.3
Element Load1 with foreign key L32
a) 2-winding transformer
set/def obj=ElmTr2 var=nntap
Define variable set
nntap = tap position
b) General load
set/def obj=ElmLod var=plini,qlini
Define variable set
plini = active power [MW]
qlini = reactive power [MVAr]
c) Synchronous Machine
set/def obj=ElmSym var=pgini,qgini
Define variable set
pgini = active power [MW]
qgini = reactive power [MVAr]
d) Switch
set/def obj=StaSwitch var=on_off
Define variable set
on_off (1=closed, 0=opened)

Create - Command
The Create command creates new objects in the PowerFactory database and has fol-
lowing definition:
create [/sec][/rou][/noswt] objname.classname [name=....]
objname name of the new object
classname class type of the new object, i.e. ElmLod (General Load), ElmSym
(Synchronous Machine), TypSym (Type of Synchronous Machine), etc.
/sec creates Line Sub-Sections
/rou creates Line Routes
/noswt in combination with /rou, set switch insert mode to false, default = true
name Names of Line Routes, Line Sub-Sections, with /sec : name=section
name 1,section name 2, ..., with /rou : name=[term. x],route 1,term
1,route 2 ...
Example for the Create - Command:
create .\Example 1.ElmNet
creates a grid with name Example 1

28 - 19
DIgSILENT PowerFactory Interfaces with Other Programs

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

Connect - Command
The Connect command connects edge elements (Lines, Loads, Machines, etc.) to busbars
and terminals and has the following definition:
connect name [b1=bus1][ib1=] ... [b4=bus4][ib4=]
name name of element
b1,..,b4 names of the terminal or busbar bus1 .. bus4
ib1,..,ib4 connection mode (0 or 1)
mode=0: switch opened, mode=1: switch closed
PowerFactory connects the edge elements to the busbars or terminals (bus1, bus2,...)
and creates for all busbars automatically cubicles and switches.
Examples for the Connect command
connect .\Line_10kV b1=.\SS1 ib1=1 b2=.\SS2 ib2=1
Connect a line (Line_10kV) to the terminals SS1 and SS2
connect .\Tr_10_15 b1=.\SS2 ib1=1 b2=.\STAT_1\SS3 ib2=1
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.

28.3 Conversion from Graphical Information Systems


The conversion of system data from a GIS (Graphical Information System) is performed
by the ComGis command. The dialogue of this command is opened by selecting the Con-
version... - Gis... option on the main File menu.
The ComGis conversion command takes a special ".DGS'' format file and creates a single
graph and a list of electrical models from that file. The syntax of the ".DGS''-file, which is
in plain ASCII, is explained further on in this section.
The GIS conversion uses millimeter units with respect to the bottom-left origin and a limit
up A0 paper format (1188 x 840 mm). It could therefore be necessary to transform the
GIS coordinates before creation of the ".DGS''-file file.

28.3.1 ".DGS''-File Creation by using the Excel Sheet


A special Microsoft Excel spreadsheet is shipped with the PowerFactory program, which
can be used to create the ".DGS''-file in a more user-friendly way. This Excel spreadsheet
is named "Gis2Dole.xls'' and is found in the subdirectory "\ Dole'' of the installation path
of DIgSILENT PowerFactory.
The first sheet of "Gis2Dole.xls'' is called 'Description'. All the parameters of the different
conversion elements and types are described here. The actual data is entered in the other
worksheets:

28 - 20
DIgSILENT PowerFactory Interfaces with Other Programs

• 'Terminals'
• 'Loads'
• 'Lines'
• 'Transformers
• 'LV Transformers'
• 'DigSI Lines'
The 'DigSI Lines' worksheet is for internal use only.
The button Create ConversionFile is used to generate the ".DGS''-file. The created
".DGS''-file is stored in the current directory and will receive the same named as the excel
file (but with the extension 'DGS').
Alternatively, the ".DGS''-file can be generate by the GIS itself, without using the Excel
spreadsheet. The format of the ".DGS''-file is described hereinafter for that purpose.

28.3.2 The PowerFactory Import


The import of the GIS data from the ".DGS''-file is performed in the following steps.
• Create a new project in the PowerFactory database or activate an existing project
or study case.
• Within the File - Conversion... menu, select the GIS... option to open the GIS
conversion command dialogue.
In most cases, the default settings of the conversion command can be used. The general
page of the conversion command is depicted in the figure 28.9.

Fig. 28.9: The GIS conversion dialogue

The "New Grid'' option are used to select


• Graphic Name: optionally select an existing single line graphic to which the new
graphic objects will be added.

28 - 21
DIgSILENT PowerFactory Interfaces with Other Programs

• Grid Name: Either enter the name of an existing grid, or a new name. The new
electrical models will be created in the given grid.
If no single line graphic is selected, then the default graphic in the selected grid will be
used to draw the new graphic symbols.
The "GIS Conversion File'' option is used to enter the name and path of the ".DGS''-file
on disk.
The "Predefined Terminals'' option is used to optionally select an existing Grid which con-
tains previously defined terminals to which branches that are imported from the ".DGS''-
file are to be connected.

Conversion Options
Several conversion options are available on the Options page of the conversion command
dialogue, as depicted in the figure 28.10.

Fig. 28.10: The GIS conversion options

The "Conversion Elements'' option is used to disable the import of specific classes. Dis-
abling the Transformers -option, for instance, will disregard all transformer data in the
".DGS''-file. No transformers will thus be imported.
The "Line Types'' option is used to generate routes and sections, dependent on the se-
lected type libraries:
• Overhead Line (OHL) Type Library (optional): Existing PowerFactory Library path
• Cable Line Type Library (optional): Existing PowerFactory Library path
The option "Automatic Drawing of Branch Net Elements'' can be disabled to switch off the
automatic drawing of lines and transformers.

28.3.3 ".DGS''-File Format


The ".DGS''-File syntax uses special sections for defining all graphical and electrical infor-
mation for all power system objects. Comment lines are started with an asterisk.

28 - 22
DIgSILENT PowerFactory Interfaces with Other Programs

Each new section must start at a new line that starts with two dollar characters '$$' fol-
lowed by the section name:
$$<section_name>[: parameter descriptions][element_parameters]
Each line within a section must start with a line number, followed by comma separated
fields. The line numbers are identical with the row number of the respective page of the
spreadsheet, when the ".DGS''-File was created by the Excel spreadsheet. The available
parameters are found on the "Description'' page of the "Gis2Dole.xls'' spreadsheet.
Example:
$$Version
1.1

$$Terminals:xlsLineNumber,Name,uknom,X,Y,Length,Rotation,GrType
2,X3177,11,250,350,60,90,1 3,X3702,11,150,350,60,90,1

$$Loads:xlsLineNumber,Name,Busbar,Type,App Power (kVA),Power Factor


2,Load1,X1531,Loads\GLT,100,0.95
3,Load2,X1058,Loads\GLT,500,0.95

$$Lines:xlsLineNumber, Name, GIS Name, Station1, Busbar1, Conn1, Station2,


Busbar2, Conn2, Switch 1, Switch 2, OoS, Par.no., Type?, Length?, ...
3,Line(001),C-3177__C-3702,,C-3177,1,,C-3702,1,2284,8120,0,1, Cables\300
Al,0.0067108,OHL\185 Cu,0.017003,OHL\300 Al,
0.08713,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

$$Transformers:xlsLineNumber,Name,Type,Busbar1,Conn1,Busbar2,Conn2,OoS,Par.
no.,TapPos
2,2WTr1,Transformer\300 kVA,C-3462 H,1,C-3462 L,0,1,2,0
3,2WTr2,Transformer\300 kVA,C-3462 H,1,C-3462 L,1,0,1,0

$$LV Transformers :xlsLineNumber, Name, LV uknom(kV), Type of Load, App


Power (kVA), Pow. Factor, Type of Transformer, Busbar HV, Conn1, Conn2,
SwitchHV, HV FuseRating, HV FuseType, OoS, Par.no., Tap
2,X1058_1,0.415,Loads\GLT,1000,0.95,Transformers\1000 kVA,X1058,0,0,
S1058_1,,,1,1,0
3,X1112_2,0.415,Loads\GLT,1000,0.95,Transformers\1000

28.4 Converting PSS/E Files


The import function for PSS/E files is an integrated command of PowerFactory . It sup-
ports versions of PSS/E from 23 to 29 and can be found in the main menu under File −>
Conversion −> PSS/E . Both import of PSS/E files as a PowerFactory project and export
of PowerFactory -projects as PSS/E files are supported.

28.4.1 Importing PSS/E Steady-State Data


PowerFactory is able to convert both steady-state data (for load-flow and short-circuit
analyses) and dynamic data files. It is good practise to first import the steady-state data
(described in this section), then to add the dynamic models (described in section 28.4.2
(Import of PSS/E file (Dynamic Data)).
Before starting the next steps for importing a PSS/E file, all projects should be de-activat-
ed. Then please select from the main menu File - Conversion - PSS/E - Import. Afterwards
the window of the import command will pop-up, asking the user to specify various op-
tions.

28 - 23
DIgSILENT PowerFactory Interfaces with Other Programs

General Settings Tab Page

Fig. 28.11: PSS/E Import - General Settings

Nominal Frequency
Nominal frequency of the file to be Converted/Imported.
PSS/E Raw data
Location on the hard disk of the PSS/E raw data file. By default the
program searches for *.raw extensions. The user may consider all
types of files by typing *.*.
Add Graphic Files
Location of the PSS/E drw files on the file system. Again by default the
programs searches for files with extension *.drw. The user may
consider all types of files by typing *.*.

Note After the Conversion/Importing has finished, the resulting project


will contain a graphics folder where all of the PSS/E drw converted
graphics will be stored. The user must therefore relocate each one
of them to the corresponding grids.

Save converted data in:


Project The project name that will be assigned to the converted/imported file.
in Location in the data manager tree where the imported file will be
stored.
Sequence Data
Location of the PSS/E sequence data file. By default the program

28 - 24
DIgSILENT PowerFactory Interfaces with Other Programs

searches for *.seq extensions. The user may consider all types of files
by typing *.*.
The following topics
Dyn Models Data
Parameter Mapping
Composite Frame Path
DSL - Model Path
are not used for the import of steady-state data and will be explained in the dynamic im-
port section 28.4.2.

Import Options Tab Page

Fig. 28.12: PSS/E Import - Options

Convert only sequence data file


With this option enabled, the converter will only add the sequence data
to an existing project.
Convert only dynamic models file
With this option enabled, the converter will only add the dynamic data
file to an existing project (only for dynamic data import).
Convert only graphic file
With this option enabled, the converter will add only a single-line
diagram to an existing project.
Only convert file (no DB action)
Internal option used for syntax check and error messages during
conversion. Normally this box should be left unchecked.

28 - 25
DIgSILENT PowerFactory Interfaces with Other Programs

Output only used dynamic models


Displays a list of used dynamic models (only for dynamic data import).
Unit of 'LEN' for lines in miles instead of km
With this option enabled, all lengths will be interpreted in miles in the
PSS/E raw files.
Consider transformer phase shift
With this option enabled, transformer phase shifts will be considered.
This option is recommended and activated by default.
Convert Induction Machines (P<0)
With this option enabled, all generators in the raw data file that have
negative active power will be converted to asynchronous machines. For
transmission grids the option should be disabled for proper modeling of
phase shift generators.
Automatic 3-W. Transformer detection/conversion
The older versions of PSS/E do not know 3-winding transformers.
Therefore the converter will try to detect the existence of three 2-
Winding Transformers connected to a busbar. If any candidates are
available, PowerFactory will replace them by a 3-Winding
Transformer. The detection is using the impedances and the voltage
control of the transformers.
Convert capacitive line shunts to line susceptance B'
If a line has line shunts the converter adds automatically the line shunt
capacitance to the C1' (B1') in the PowerFactory line type.
Convert Common Impedance as Transformer
The Common Impedance in PSS/E may be converted to a
PowerFactory common impedance or to a transformer. This is
selected here.
Convert Series Capacitance as Common Impedance
Older versions of PSS/E do not know series capacitances as a dedicated
model. These elements therefore are represented by lines with
negative reactances. During the conversion PowerFactory detects
these branches and converts them to series capacitances (by default)
or to common impedances (when this option is active).
Convert off-nominal turn ratio to transformer tap
Transformer ratios different from the rated ratio are automatically
converted to a transformer type using taps, including the correct tap
position.
Busbar naming: 'PSSE_NAME'
With this option enabled, the busbars are named similar to the PSS/E
raw data file (without bus number).
Branch naming: 'BUSNAME1_BUSNAME2_ID'
With this option enabled, the branches are named as the name of the
busbars + ID.

28 - 26
DIgSILENT PowerFactory Interfaces with Other Programs

Import Graphical Options Tab Page

Fig. 28.13: PSS/E Import - Graphical Options

Rotate with respect to busbar


The converter will rotate the graphical layout in case of the majority of
busbars being in vertical or horizontal position.
Snap coordinates to grid
The converter will snap to grid all objects in the single line graphics.
Transformer Symbol according to IEC
This options lets the user to choose the transformer symbol as IEEE
(default) or IEC representation.
Scaling factor The graphic files are scaled according to the scaling factor shown.

28.4.2 Import of PSS/E file (Dynamic Data)


As explained in section 28.4.1 it is good practise first to import the steady-state data and
then to add the dynamic model data.
Before converting dynamic data, it is recommended to copy the IEEE library folder located
in the global library into the user directory. The IEEE dynamic data library folder can be
found under Library\Models\IEEE . This folder has the structure as shown in the figure
28.14.

28 - 27
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.14: IEEE Library

The following subdirectories are of importance in the Conversion/Importing.


Frames This folder contains the composite frames which are basically wired
diagrams.
Macros All models are described in the DIgSILENT simulation language DSL.
These DSL models may use functional primitives, the so-called DSL
macros. The standard macros are stored in this folder.
Models This folder contains the models for most typical models, e.g. automatic
voltage regulators (AVRs), power system stabilizers (PSS), primary
controllers (PCO) and others. The models are described in DIgSILENT
Simulation Language (DSL). The folders also may contain user-defined
models.
An important condition for successful file conversion is that all DSL models used during
the conversion process should be stored in the same model library folder. By default, this
is the case in the global PowerFactory library. If the original library should use specific
folders for the different types of controllers (AVR,PCO,PSS,..), the user should copy all of
the models into the same library folder. After the conversion, the user may re-arrange the
models.
The procedure to start the import of dynamic network data is very similar to the import
of steady-state data. Some parameter adjustments have to be made.

General Settings Tab Page - Dynamic Model Import


In the dialogue of General Settings in figure 28.11 the following topics have to be speci-
fied:

28 - 28
DIgSILENT PowerFactory Interfaces with Other Programs

Dyn Models Data


Location of the PSS/E Dynamic Models data file. By default the program
searches for *.dyn and *dyv extensions. The user may consider all
types of files by typing *.*.
Parameter Mapping
Location of the PowerFactory mapping file. This is an option that
normally will not have to be touched by the user. By default
PowerFactory will automatically set up its own internal mapping file.
This file defines how to translate the PSS/E internal models into
PowerFactory models, including the mapping of controller
parameters. For automated conversion of user-defined PSS/E
controllers the mapping file may be customized. Please contact our
support if you wish to do so.
Composite Frame Path
Location in the PowerFactory data base where the composite frames
are stored (IEEE/Frames...).
DSL - Model Path
Location in the PowerFactory data base where the DSL models are
stored (IEEE/Models....).

Import Options Tab Page - Dynamic Model Import


In the dialogue of Import Options in figure 28.11 the following options should be consid-
ered:
Convert only dynamic models file
With this option enabled, the converter will only add the dynamic data
file to an existing project.
Output only used dynamic models
Displays a list of used dynamic models.

28.4.3 Exporting a project to a PSS/E file


This function allows the export of the network model in PSS/E format. The export com-
prises both steady-state and dynamic data sets. The correct conversion of dynamic mod-
els is only possible for the standard IEEE models. Models which the user implemented in
PowerFactory DSL can not automatically be translated but must be modeled as user-
defined controller types separately in PSS/E.

28 - 29
DIgSILENT PowerFactory Interfaces with Other Programs

Export General Settings Tab Page

Fig. 28.15: PSS/E Export - General settings

RAW Conversion File


Path and file name for the PSS/E RAW file, containing the symmetrical
description of the model.
SEQ Conversion File
Path and file name for the PSS/E SEQ file, containing the additional
description of the model necessary for unbalanced conditions.
DYN Conversion File
Path and file name for the PSS/E DYN file, containing the dynamic
models of the project.

Export Options Tab Page

Fig. 28.16: PSS/E Export - Options

Convert Motors to Generators if P<0


With this option enabled, all asynchronous machines in generator mode
will be converted to synchronous machines.

28 - 30
DIgSILENT PowerFactory Interfaces with Other Programs

Base Apparent Power


Base for the power values given in per-unit system.
Min (Zero) Impedance Branch
Minimum impedance for ideal connections.
PSS/E Version
Version of PSS/E target files.
The section of developers' options contains additional options used for debugging. Please
use these options only when requested to do so by the PowerFactory support.
Extra PrecisionActivates the output of values in extended precision.

28.5 PowerWare Interface


This chapter describes the PowerWare interface. An introduction into PowerWare’s
general philosophy is given in section 28.5.1.
The following two sections describe the overall PowerWare architecture (section 28.5.2)
and the conceptual differences between PowerFactory and PowerWare (section
28.5.3).
Both PowerFactory and PowerWare have to be configured before they can be used
together (section 28.5.4).
The Getting Started section (section 28.5.5) provides a gentle introduction into the most
important features. The complete documentation can be found in the Reference section
(section 28.5.6).
The final Technical Reference (section 28.5.7) provides some deeper knowledge how
PowerFactory data is converted to PowerWare data and vice versa.
The terms PowerWare and PSMS are used as synonyms throughout the whole chapter.
PSMS stands for Protection Settings Management System, and stresses the more internal
and technical part of PowerWare.

28.5.1 About PowerWare


DIgSILENT PowerWare provides a reliable central protection settings database and
management system for the complete power system substation data, both to manage the
various control parameters and to centrally store substation related information and data,
based on latest .NET technology.
PowerWare stores and records all settings in a central database, allows modeling of all
relevant work flow sequences, provides quick access to relay manuals, interfaces with
manufacturer specific relay settings software, and integrates with PowerFactory soft-
ware, allowing for powerful and easy-to-use settings co-ordination studies.
Modern numerical relays have a large number of settings that are determined, stored and
communicated by proprietary software solutions (these may even be suitable for only a
particular manufacturer or even a series or type of relay). This results in a fragmented
and distributed settings ”database.” DIgSILENT PowerWare provides a single system
that incorporates all such different device protocols, thereby providing one manageable
software data storage system, based on modern IT techniques, facilitating data interfac-
ing and exchange in a transparent and hassle free manner.

28 - 31
DIgSILENT PowerFactory Interfaces with Other Programs

PowerFactory’s data exchange facility allows it to access the settings stored


inPowerWare, such that these may be used as input for the powerful PowerFactory
system simulation and protection setting tools. Settings that are calculated by using these
tools may then be transferred back to PowerWare.

28.5.2 Component Architecture


DIgSILENT PowerWare is a so-called Client-Server Application: the functionality is dis-
tributed on at least two computers: client and server. Figure 28.17 gives an overview on
the components.

Client 1 Client 2

Web Browser Power Factory

HTML/HTTP SOAP/HTTP

HTML Web Service


Front End Front End

PowerWare
Kernel

PowerWare Server

Fig. 28.17: Architecture overview

Usually there are several clients. One main advantage of this architecture is the fact that
the data is stored in one central database on the server. One client connects to the server
and fetches the data from there, modifies them, and afterward stores them back to the
server. On other clients these changes are visible.
DIgSILENT PowerWare server provides two interfaces to access from client machines:
3 Visualization by means of a standard web browser. The HTML interface can be used
with an usual web browser (e.g. Microsoft Internet Explorer or Mozilla Firefox) as
shown in figure 28.18.
The browser displays HTML pages which are created by PowerWare’s HTML front
end. The HTML pages are transferred using the HTTP protocol on top of the TCP/IP
internet protocol.
HTML allows to present all kind of data e.g. plain text, tables or images.
Additionally HTML provides concepts to achieve interactivity: by submitting HTML
forms or pressing on hyperlinks data is sent to the server. The server interpretssuch
requests and creates new HTML pages which are displayed by the browser again.

28 - 32
DIgSILENT PowerFactory Interfaces with Other Programs

4 The web service interface, similar to the HTML interface uses the HTTP protocol to
communicate with the web service frontend, though no HTML pages are transferred
but lower-level data (SOAP/XML encoded). The web service client application is
responsible to present this data conveniently.
PowerFactory is able to play the role of a web service client. It integrates parts of
PowerWare’s data and concepts smoothly into its own world.
The functionality of the HTML interface is covered in the PowerWare manual. The re-
mainder of this chapter focuses on PowerFactory as client.

Fig. 28.18: HTML interface

28.5.3 Fundamental Concepts


Though both in PowerWare and in PowerFactory the settings and data associated
with protective devices, such as relays, CTs, VTs and circuit breakers are stored, the sys-
tems provide a different set of concepts how to deal with this data.
In PowerWare it is possible to model a location hierarchy and associate the devices to
nodes in this hierarchy (e.g. substations). This has no equivalent on the PowerFactory
side where the devices are stored inside the parent grid (ElmNet) object.
On the other side PowerFactory allows to create a topological representation of net-
works which is not supported in PowerWare.
This section describes the concept mismatch between PowerFactory and PowerWare.

28 - 33
DIgSILENT PowerFactory Interfaces with Other Programs

In order to use the PowerWare interface it’s important to know about the differences
between both applications.

Location
In PowerWare each device belongs to exactly one location. There are different location
types e.g. Region, Area, Substation, or Bay. The locations are organized in a hierarchy
tree as shown in figure 28.19.

Fig. 28.19: PowerWare locations

In PowerFactory the data is organized in projects (IntPrj). A project may have one or
more grids (ElmNet) which in turn contain net elements e.g. terminals, cubicles, and re-
lays (ElmRelay). See figure 28.20 for a typical PowerFactory project.

28 - 34
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.20: PowerFactory project

PowerWare’s location concept and PowerFactory’s pr oject/grid concept hardly fit to-
gether. That’s the reason why the data mapping between PowerFactory and Power-
Ware begins at the device level which is the subject of the next sections.

Device
PowerWare manages a set of devices e.g. relays, CTs, VTs, or Circuit breakers. Each
device is associated to a device type e.g. ABB DPU2000R or SEL421 003. Additionally each
device has an unique ID: the device ID.
In PowerFactory a relay is represented by an ElmRelay object which references exactly
one TypRelay object. The ElmRelay object contains several sub-components e.g. the I>
component (a RelToc object), the Logic component (RelLogic), or the Ios component
(RelMeasure). See figure 28.21 for an example. The device ID is used to link one Power-
Ware device to one PowerFactory device. The PowerFactory device e.g. an ElmRelay
object stores the PowerWare device ID as foreign key.

28 - 35
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.21: PowerFactory relay

Device State
A device’s state is in PowerWare called setting. A setting is a list of attributes, and de-
scribes the state of one device completely. An attribute is a tuple of
• attribute name,
• attribute type which can be an arbitrary integer or floating point number, optionally
with a range restriction, or a string, or a enumeration type.,
• a default value,
• an optional unit.
A complex relay may have thousands of attributes. In PowerWare the setting attributes
are organized in so-called setting groups. A setting group groups the attributes together
which belong somehow together. It’s often defined by the device manufacturer. Each at-
tribute belongs to exactly one setting group. Inside a group the attribute name is unique.
The device type defines which attributes and groups characterize a device. Table 28.1
shows an example of a possible device type. There are two setting groups G and H. Group
G has the attributes a, b, and c, group H has the attributes d and e.

Group Name Type Default Unit


G a integer in [0,10] 0 A
b float -0.32 I/s
c float in [0.03,1.65] 1.0
H d string ’DEFAULT’
e enum ’yes’,’no’,’maybe’ ’yes’

Table 28.1: Settings Definition

28 - 36
DIgSILENT PowerFactory Interfaces with Other Programs

According to this attribute definition a device can have settings as shown in tables 28.2
or 28.3.

Group, Name Value


G,a 7
G,b 23.43
G,c 1.1
H,d ’abc’
H,e ’maybe’

Table 28.2: Settings Example 1

Group, Name Value


G,a 8
G,b 0
G,c 1.1
H,d ’abcdef’
H,e ’yes’

Table 28.3: Settings Example 2

On the PowerFactory side there are neither setting nor group nor attribute. There is the
ElmRelay object and its sub-objects. These objects can have parameters. See table 28.4
for a definition and table 28.5 for an example. The TypRelay type defines components
and parameters.
PowerWare attributes are somehow mapped to PowerFactory parameters and vice
versa. How this actually is accomplished, is described in section 28.5.7 (Technical Refer-
ence). The mapping is non-trivial since only a small subset of the attributes (the calcula-
tion-relevant data) is modeled in PowerFactory and vice versa. Additionally there is no
one-to-one relationship between attributes, and parameters and a parameter could get
calculated out of several attributes.
.

Component Parameter Type


i> o integer
Logic p string
q enum ’enabled’,’disabled’
Ios r float
s float

Table 28.4: Parameter Definition

Some relays support multiple setting groups (MSG) also called parameter sets. Such re-

28 - 37
DIgSILENT PowerFactory Interfaces with Other Programs

lays have the same group many times (c.f. table 28.5). The groups H1, H 2, and H 3 have
the same set of attributes (c and d). Some relay models in PowerFactory do not support
this concept fully. Instead of modeling all MSGs, only one instance of the H groups is pro-
vided.
In this case a group index parameter defines which of the MSGs actually is transferred
from PowerWare to PowerFactory.

Life Cycle Phase


In PowerWare each setting has one life cycle phase e.g. Planning or Applied. At each
point in time a device can have a set of settings e.g. three Planning settings, one Applied
setting and 12 Historic settings.

Component Parameter Value


i>:o 8
Logic:p ’HIGH’
Logic:q ’enabled’
Ios:r 18.5
Ios:s 19.5

Table 28.5: Parameter Example

Group Name Type Default Unit


G a integer in [0,10] 0 A
b float -0.32 I/s
H1 c string ’DEFAULT’
d float in [0.03,1.65] 1.0
H2 c string ’DEFAULT’
d float in [0.03,1.65] 1.0
H3 c string ’DEFAULT’
d float in [0.03,1.65] 1.0

Table 28.6: Multiple Setting Group Definition

In PowerFactory a device has exactly one state (or setting). Therefore when data is
transferred between PowerFactory and PowerWare, always a concrete device setting
in PowerWare must be specified.
For PowerFactory purposes a special PowerFactory planning phase is introduced. The
transfer directions are specified as follows:
• Imports from PowerWare into PowerFactory are restricted to Applied and
PowerFactory settings. Applied denotes the current applied setting (Applied) or
a previous applied (Historic) setting.

28 - 38
DIgSILENT PowerFactory Interfaces with Other Programs

• Exports from PowerFactory to PowerWare are restricted to the PowerFactory


setting. (Applied and Historic settings are read-only and can never be changed).
(Actually PowerFactory’s sophisticated variant management is similar to the phase con-
cept, but there is no obvious way how to bring them together.)

28.5.4 Configuration
In order to transfer data between PowerFactory and PowerWare both systems must
be configured.

PowerWare Server
An arbitrary PowerWare user account can be used for the PowerWare interface in
PowerFactory. The user must have enough access rights to perform operations e.g. for
the export from PowerFactory to PowerWare write-rights must be granted.
A non-default life cycle phase named PowerFactory of status Planning must be cre-
ated. This phase must have a cardinality constraint of 1 i.e. there may exist one or no
such setting for one device.

PowerFactory Client
The client operating system must allow connections to the server (network and firewall
settings etc.).
Nothing has to be done in the PowerFactory configuration itself. The TypRelays in the
Library must of course support PowerWare/PowerFactory mapping.

28.5.5 Getting Started


This section is a simple walkthrough and covers the most essential PowerWare interface
functionality. By using a simple PowerFactory project and simple PowerWare substa-
tion, it describes
1 how relays in PowerWare and PowerFactory are created,
2 how these relays are linked,
3 how settings can be exported from PowerFactory to PowerWare,
4 how settings can be imported again into PowerFactory.
All (especially the more advanced) options and features are described in the reference
section (see section 28.5.6 (Reference)).

Prepare substation in PowerWare


We begin with the PowerWare side. We create a substation and two relays within:
 start the web browser,
 log on to the PowerWare system,
 create a new substation titled Getting Started,

28 - 39
DIgSILENT PowerFactory Interfaces with Other Programs

 create two relays named Getting Started Relay 1 and Getting Started Relay 2 in the
Getting Started substation
In the HTML interface the station detail page should look as shown in figure 28.22.
 Go to the detail page of the Getting Started Relay 1 (c.f. figure 28.23).
Since we have just created the device it has no settings, yet. Later it will contain a Power-
Factory setting which reflects the relay state on the PowerFactory side.

Fig. 28.22: Substation

Fig. 28.23: Device

28 - 40
DIgSILENT PowerFactory Interfaces with Other Programs

Prepare project in PowerFactory


Create a new PowerFactory project and create a simple grid within
 start PowerFactory,
 create a new project titled GettingStarted,
 draw a simple grid with two terminals (ElmTerm) connected by a line (ElmLne) as
shown in figure 28.24.

Fig. 28.24: Grid

Now add a relay to the upper terminal


 right-click the cubicle quadrangle with the mouse. A context menu pops up.
 select New Devices.../Relay Model... as shown in figure 28.25.
A dialogue pops up that allows you to specify the settings of the new relay (ElmRelay).
 insert Getting Started Relay 1 as Name
 select an appropriate Relay Type which supports PowerWare import/export (c.f.
figure 28.26).
 press OK
 in the same way add a relay Getting Started Relay 2 to the second terminal.
PowerFactory’s object filter mechanism gives an overview over all devices inside the
current project.

28 - 41
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.25: Cubicle context menu

 Press the icon (Edit Relevant Objects for calculation) in the toolbar and select
the icon (ElmRelay) to filter out all non-relay objects as shown in figure 28.27.
All calculation relevant relays (actually there only the two we created above) are displayed
in a table (c.f. figure 28.28).

Link Relays and establish a Connection


Now the PowerFactory relays must get linked to the PowerWare relays.

 mark both relay icons with the mouse,


 press the right mouse button.
A context menu pops up as shown in figure 28.29.
 select the PowerWare menu item,
 select the Select Device ID item.
A Log on to PowerWare server dialogue pops up. Since this is the first time PowerFac-
tory connects to the PowerWare server some connection settings must be entered.

28 - 42
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.26: Relay dialogue

Fig. 28.27: Relay object filter

 enter the Server Endpoint URL of the PowerWare server. The URL should have a
format similar to
http://the.server.name/powerwarews/powerwarews.asmx
 enter Username and Password of a valid PowerWare user account.

28 - 43
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.28: Relay display

Fig. 28.29: Device context menu

Figure 28.30 shows the dialogue settings.

Fig. 28.30: Log on dialogue

 press OK.
The connection procedure may take some seconds. If the server could be accessed and

28 - 44
DIgSILENT PowerFactory Interfaces with Other Programs

the user could be authenticated a success message is printed into the output window
DIgSI/info - Established connection
to PowerWare server ’http://192.168.1.53/psmsws/psmsws.asmx’
as user’pf00002’
Otherwise an error dialogue pops up. Correct the connection settings until the connection
is successfully created. The reference section (section 1.6.2) explains the connection op-
tions in detail.
Having established a connection to the server, a browser dialogue pops up which displays
the location hierarchy as known from the PowerWare HTML interface. The dialogue is
shown in figure 28.31.
 navigate to the Getting Started substation,
 select the Getting Started Relay 1 device,
 press OK.

Fig. 28.31: Browser dialogue

Now the PowerFactory relay is ”connected” to the PowerWare device.


 in the same way select Getting Started Relay 2 for the second PowerFactory relay.

Export and Import Settings


Having linked PowerFactory to PowerWare devices, the transfer between both sys-
tems can be done.
 mark the relays with the mouse and right-click to get the relay context menu as
shown in figure 28.29.
 select the Export... item in the PowerWare menu entry.
A ComPowerware dialogue is shown which allows to specify the export options (c.f. Fig.
1.16). See section (Export and Import Settings) in the Reference section for all export
options.

28 - 45
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.32: ComPowerware dialogue

 leave PowerFactory as Life cycle Phase,


 press Execute.
After a few seconds the relay settings are transferred to the server, and the output win-
dow contains the message
DIgSI/info - Exported 2 of 2 device settings successfully
The result can now be observed in the PowerWare HTML interface.

Fig. 28.33: Device detail page

 navigate to the relay detail view of the Getting Started Relay 1 relay (c.f. Fig. 28.33)
Observe the new created PF setting. The phase of this setting is PowerFactory.

28 - 46
DIgSILENT PowerFactory Interfaces with Other Programs

 switch to the settings detail page of the new PF setting (c.f.Fig. 28.34).

Fig. 28.34: Setting detail page

The setting values should correspond to the relay state in PowerFactory. In the same
way the Getting Started Relay 2 relay has a new PF setting.
Now try the opposite direction and import a setting from PowerWare into PowerFac-
tory.
 modify the PF settings in PowerWare by entering some other values
 in PowerFactory mark the relays with the mouse and right-click to get the relay
context menu as shown in figure 28.29.
 select the Import... item in the PowerWare menu entry.
Again the ComPowerware dialogue (c.f. figure 28.32) pops up as known from the export.
 leave the default settings,
 press Execute.
Again the result of the settings transfer is reflected in the output window:
DIgSI/info - Imported 2 of 2 device settings successfully
 find ElmRelay object parameters changed according to the changes on the
PowerWare side
All import options are described in detail in the reference section (Export and Import Set-
tings).

28.5.6 Reference
This section describes all options and features concerning the PowerWare interface.

The Device Context Menu


Almost all functionality can be accessed by the device context menu. Mark one ore more
objects which supports the PowerWare transfer e.g. ElmRelay

28 - 47
DIgSILENT PowerFactory Interfaces with Other Programs

• in the object filter (c.f. in figure 28.29)


• in the data manager as shown in figure 28.35.

Fig. 28.35: Device context menu

The PowerWare submenu contains the entries as follows:


Import... opens the ComPowerware dialogue and sets the device selection
according to the above selected device objects. The ComPowerware
dialogue settings are explained in detail in section (The
ComPowerware Object).
Export... does the same for the export direction.
Select Device ID...
starts the Browser dialogue (c.f. figure 28.39) to link this device to a
PowerWare device. The dialogue is subject of section (The Browser
Dialogue).
Reset Device ID
resets the device ID.
Connect... terminates the current PowerWare session if it’s already existing.
Shows a Log On dialogue. The connection settings are covered by
section 1.6.2. This may be useful when you are using several
PowerWare accounts and want to switch between them.
Disconnect terminates the PowerWare session

Connection
Similar to the HTML interface the PowerWare interface in PowerFactory is session-ori-
ented: when a user logs on to the system by specifying a valid PowerWare account
(username and password) a new session is created. Only inside such a session Power-

28 - 48
DIgSILENT PowerFactory Interfaces with Other Programs

Ware can be used. The account privileges restrict the application functionality e.g. an ad-
ministrator account is more powerful than a usual user account.

Fig. 28.36: Log on dialogue

Working with PowerFactory the first time the PowerWare server is required the Logon
dialogue is shown as shown in figure 28.36.
The PowerWare connection options are stored in the user settings (c.f. figure 28.37).
After each successful logon the user settings are updated.

Fig. 28.37: User settings

As mentioned in the Architecture section (section 1.2) PowerWare is a client-server ap-


plication. The PowerWare server component is located on a server machine in the in-
ternet. The client component is the PowerFactory application which is running on a
client machine.
The technology PowerFactory and PowerWare use to communicate is called web ser-
vices and is standardized like many other internet technologies (HTML, HTTP). The server
computer (or more exactly the PowerWare service application on the server computer)
has a ’name’ by which it can be accessed. This ’name’ is called service endpoint and re-
sembles a web page URL:
http://the.server.name/psmsws/psmsws.asmx
or
http://192.168.1.53/psmsws/psmsws.asmx
http denotes the protocol, the.server.name is the computer name (or DNS) of the server
computer and psmsws/psmsws.asmx is the name of the PowerWare application.
The connection options are as follows:
Service Endpoint
The Service Endpoint denotes the PowerWare server ’name’ as
described above
Username/Password
Username and Password have to be valid user account in PowerWare.
A PowerWare user account has nothing to do with the
PowerFactory user account.
The very same PowerWare account can be used by two different PowerFactory users.
The privileges of the PowerWare account actually restrict the functionality. For device

28 - 49
DIgSILENT PowerFactory Interfaces with Other Programs

import the user requires read-access rights. For exporting additionally write-access rights
are required.

The Browser Dialogue


As mentioned in the Concept description (see section (Device)) the PowerWare device
ID is stored as Foreign Key in the ElmRelay object dialogue (Description page) as shown
in figure 28.38.

Fig. 28.38: ElmRelay dialogue

A more convenient way is to use the Browser dialogue shown in figure 28.39. The dia-
logue allows to browse through the PowerWare location hierarchy and select a device.
The hierarchy data is cached to minimize network accesses. Due this caching it’s possible
that there may exist newly created locations or devices which are not displayed in the
browser dialogue. The Refresh button empties the cache and enforces PowerFactory
to re-fetch the correct data from the server.

The ComPowerware Object


In PowerFactory almost everything is an object: relays are ElmRelay objects, users are
IntUser objects, and grids are ElmNet objects.
What may be on the first sight confusing is the fact that actions are objects as well: for a
short-circuit calculation a ComShc object is created. The calculation can be performed
with several options e.g. 3-Phase, single phase, or 3 Phase to Neutral.

Fig. 28.39: Browser dialogue

28 - 50
DIgSILENT PowerFactory Interfaces with Other Programs

You can even specify the fault location. All these calculation options are stored in the
ComShc object. Every action object has an Execute button which starts the action. In
fact there is a large number of parametrized actions like load flow calculation (ComLdf),
simulation (ComSim), there is even a ComExit object that shuts down PowerFactory. All
objects which can ’do’ something have the Com prefix.
Since the PowerWare interface is actually ’doing’ something (it does import data, it does
export data) it is implemented as a ComPowerware object.
The ComPowerware object is used both for the import (section 1.6.4.1) and the export
(section 1.6.4.2). It is located in the project’s study case according to PowerFactory
conventions. The actual Getting Started project (section 1.5) is shown in figure 28.40.
By default the study case of a new project contains no ComPowerware object. It is auto-
matically created when it is first needed, as well as the ComShc object is instantiated at
the time when the first short-circuit calculation is performed.

Import Options
The ComPowerware dialogue provides import options as follows (figure 28.41):
Transfer Mode
select Import from PowerWare as Transfer Mode
Check only Plausibility
if the Check only Plausibility flag is enabled the import is only simulated
but not really executed.
Life cycle Phase/Time stamp
The Life cycle phase may either be PowerFactory or Applied.

Fig. 28.40: Project study case

28 - 51
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.41: ComPowerware import options

• PowerFactory selects the current setting with PowerFactory phase as source


setting.
• if Applied is selected the current Applied setting is transferred. If additionally a
Timestamp value is entered the setting that was applied at this time is transferred
which may either be Applied or Historic.
The Timestamp format is in ISO format: 2005-02-28 22:27:16
The time part may be omitted. Then 00:00:00 AM is assumed.
All Devices If All Devices is enabled, all calculation-relevant devices are imported.
Devices not supported by PowerWare are ignored.
Device Selection
Unless All Devices is enabled, the Device Selection provides a more
subtle way to specify which devices are to be transferred. The Device
Selection parameter can be
• an ElmRelay object: this and only this relay is imported
• a SetSelect object: a SetSelect is a container that may hold several objects. All of
them are transferred, except the ones not supported by PowerWare
• a SetFilt object: the SetFilt is the most flexible way to specify the device
selection e.g. you can select all devices in the project of type ElmRelay and
whose name begin with PW....
Devices outside the activated project are ignored.
The Device Selection is automatically set if the Device Context Menu mechanism
(section (The Device Context Menu)) is used.
All Settings Groups/Group Index
This parameter specifies how multiple settings groups (MSG) are
handled (c.f. section 1.3).
• If the relay in PowerWare has MSGs and the PowerFactory relay model
supports MSGs and
– All Settings Groups is enabled: then all groups are transfered.

28 - 52
DIgSILENT PowerFactory Interfaces with Other Programs

– All Settings Groups is disabled: then only the Group Index -th group is
transferred.
• • If the relay in PowerWare has MSGs and the PowerFactory relay model
doesn’t support MSGs: then the Group Index-th group is imported.
These parameters are ignored completely if the relay has no MSGs.
The import transfer is started by pressing Execute.

Fig. 28.42: ComPowerware export options

Export Options
The export options are almost identical to the import options (c.f. figure 28.42):
Transfer Mode
Select Export as Transfer Mode
Life cycle Phase
Only the PowerFactory setting in PowerWare can be the target
setting. Applied settings can never be changed.
Click Execute to start the data transfer. If there exists already a PowerFactory setting
in PowerWare it is removed completely.
Then a new PowerFactory is created as copy of the current Applied setting. If no Ap-
plied setting is available the default settings are copied. Then the PowerFactory -rel-
evant part of the settings are copied upon the PowerFactory setting.

28.5.7 Technical Reference


The purpose of this section is to describe what happens internally inside PowerFactory
when device settings are exported or imported.
This section also explains how new device types are integrated. PowerFactory is deliv-
ered with a library of relay models. This library cannot contain all relays of all manufac-
turers. A way how to enhance the library for new device types is shown in this section as

28 - 53
DIgSILENT PowerFactory Interfaces with Other Programs

well. The PowerWare interface is heavily based on DPL (DIgSILENT Programming Lan-
guage) which is documented in a separate DPL Manual.

Overview
For each device type (TypRelay) and each transfer direction a separate DPL script is re-
quired.
The import DPL script takes the PowerWare attributes and a ElmRelay object as input
and fills somehow the ElmRelay object’s and its subobjects’ parameters.
The export DPL script takes a ElmRelay object as input parameter and calculates some
output parameters which are the PowerWare attributes.

Note: DPL’s most important benefit is: you can do everything. That’s ex-
actly DPL’s most important disadvantage as well. Be sure that your
DPL scripts do what they should do and not more.
An import script should only set the parameters in the ElmRelay
object and its subcomponents. An export script shouldn’t change
anything at all (at least within PowerFactory).

The scripts have to be named PsmsImport.ComDpl and PsmsExport.ComDpl and


must be located in the same folder as the TypRelay object.
Type data like TypRelay objects should be located in a library folder e.g. in the project
library. If it is referenced from several projects, it belongs into a global library. See figure
28.43 for an example database structure.

Import Scripts
The algorithm used for the import from PowerWare to PowerFactory is as follows. Let
d be the device whose setting is to be imported:
1 let t be d’s device type
2 let dpl be the PsmsImport.ComDpl object near t
3 initialize dpl’s input parameter with the device attributes from PowerWare
4 initialize dpl’s external object parameter Relay with d
5 execute dpl

28 - 54
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.43: Database structure

The execution step actually sets the relay parameters.


We use the PowerWare device type example shown in table 28.1 from the Concept sec-
tion (section 1.3) and the PowerFactory device type as shown in table 28.3.
The PowerWare attributes are G.a, G.b, G.c, H.d, and H.e, the PowerFactory param-
eters are I>:o, Logic:p, Logic:q, Ios:r, and Ios:s.
Only the attributes G.a, G.c, and H.d and the parameters I>:o, Logic:p, and Ios:r
are mapped. The others are ignored since there is no equivalent concept on the other
system.
Figure 28.44 shows the Basic options. The PsmsImport.ComDpl must meet the require-
ments as follows:
Name must be PsmsImport
General Selection must be empty
Input Parameters this table holds the PowerWare attributes. The Name has the
format
[group name]__[attribute name]
The Type may either be int (for integer numbers), double (for
floating point numbers), or string (for string and enum values).
The Value field must be empty. The attribute unit has to inserted in the
Unit field if appropriate. A Description may be inserted, too.
External Object this table contains exactly one entry: an object with the Name Relay.
The object column must be empty.

28 - 55
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.44: DPL import script: Basic options

The Input parameters get initialized with the PowerWare attribute values and the Ex-
ternal Object with the current relay.
The second page of the ComDpl script holds the output parameters. They have the mean-
ing as follows (figure 28.45 shows the Advanced options).
Remote Script this parameter must be unset
Result Parameters the table must have one entry with Name Result of Type String.
The DPL script should set this parameter to OK if the import procedure
was successful. Otherwise it may hold an error message which is
displayed in the output window.
Figure 28.46 shows the Script page which contains the DPL code. The code must be a
valid DPL program. It should set the relay parameters according to the input parameters.

28 - 56
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.45: DPL import script: Advanced options

Fig. 28.46: DPL import script: Script

Export Scripts
The export direction is almost symmetric to the import process. Be d the device whose
setting is to exported:
1 let t be d’s device type

28 - 57
DIgSILENT PowerFactory Interfaces with Other Programs

2 let dpl be the PsmsExport.ComDpl object near t


3 initialize dpl’s external object parameter Relay with d
4 execute dpl
5 transfer dpl’s output parameter to the setting in PowerWare
The export DPL script must also meet some requirements: figure 28.47 shows the Basic
options.

Fig. 28.47: DPL export script: Basic options

Name ComDpl.Name must be PsmsExport.


General Selection must be empty
Input Parameters this table must be empty
External Object this table contains exactly one entry: an object with the Name Relay.
The object column must be empty.
The second page of the ComDpl script holds the output parameters. They have the mean-
ing as follows (c.f. figure 28.48 shows the Advanced options).
Remote Script this parameter must be unset
Result Parameters the table must have the first entry with Name Result of Type
String.
The DPL script should set this parameter to OK if the import procedure
was successful. Otherwise it may hold an error message which is
displayed in the output window.
Below the Result parameter are the PowerWare attributes.
Figure 28.49 shows the Script page which contains the DPL code. The code must be a
valid DPL program. It should not change the database.

28 - 58
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. 28.48: DPL export script: Advanced options

Fig. 28.49: DPL export script: Script

How to create a new Device Type conversion


This section gives some practical guidelines how to create the conversion scripts for new
types. First create a test environment:

28 - 59
DIgSILENT PowerFactory Interfaces with Other Programs

 create in PowerWare a new substation with one device of the desired device type.
Create a default PowerFactory setting for this device.
 create a simple PowerFactory project which contains a device of the desired type
 link the PowerFactory device to the PowerWare device by setting the foreign key
to the device ID.
Then write the import script:
 create an empty PsmsImport.ComDpl near the TypRelay object.
 define the input and output parameters of the ComDpl object
 write the DPL code
 test the script by importing the PowerFactory setting
Iterate these steps until there are no error messages. Change the setting in PowerWare
and re-try the import. In quite the same way create and verify a PsmsExport.ComDpl
script.

28 - 60
DIgSILENT PowerFactory Interfaces with Other Programs

28 - 61
DIgSILENT PowerFactory Interfaces with Other Programs

28 - 62
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Chapter 29
The DIgSILENT Programming Language - DPL

The DIgSILENT Programming Language DPL serves the purpose of offering an interface
for automating tasks in the PowerFactory program. The DPL method distinguishes itself
from the command batch method in several aspects:
• DPL offers decision and flow commands
• DPL offers the definition and use of user-defined variables
• DPL has a flexible interface for input-output and for accessing objects
• DPL offers mathematical expressions
The DPL adds a new dimension to the DIgSILENT PowerFactory program by allowing
the creation of new calculation functions. Such user-defined calculation commands can
be used in all areas of power system analysis, such as
• Network optimizing
• Cable-sizing
• Protection coordination
• Stability analysis
• Parametric sweep analysis
• Contingency analysis
• etc.
Such new calculation functions are written as program scripts which may use
• Flow commands like 'if-then-else´ and 'do-while'
• PowerFactory commands (i.e. load-flow or short-circuit commands)
• Input and output routines
• Mathematical expressions
• PowerFactory object procedure calls
• Subroutine calls

29.1 The Principle Structure of a DPL Command


The principle Structure of a DPL script is shown in the figure 29.1.

29 - 1
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Fig. 29.1: Principle of a DPL command

The DPL command object ComDpl is the central element, which is connecting different
parameter, variables or objects to various functions or internal elements and then puts
out results or changes parameters.
As the input to the script can be predefined input parameters, single objects from the sin-
gle line diagram or the database or a set of objects/elements, which are then stored inside
a so called "General Selection''.
These input information can then be evaluated using functions and internal variables in-
side the script. Also internal objects can be used and executed, like
• a calculation command, i.e. ComLdf, ComSim, etc., especially defined with certain
calculation options
• subscripts also released in DPL
• filter sets, which can be executed during the operation of the script
Thus the DPL script will run a series of operation and start calculation or other function
inside the script. It will always communicate with the database and will store changed set-
tings, parameters or results directly in the database objects. There is nearly no object in-
side the active project, which can not be accessed or altered.
During or at the end of the execution of the DPL script, the results can be outputted or
parameters of elements my be changed. There is the possibility to execute a predefined
output command ComSh or to define own outputs with the DPL commands available.

29.2 The DPL Command Object


The DPL command object ComDpl holds a reference to a remote DPL command when it
is not a root command. The example depicted in the figure 29.2 is apparently a referring
command, since its "DPL script'' reference is set to the remote command \ Library\ DPL
Commands\ CheckVLoading.

29 - 2
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Fig. 29.2: A DPL command

• A root command has its own script on the "script'' page of the dialogue.
• A referring command uses the script of the remote DPL command.

29.2.1 Creating a new DPL Command

A DPL Command ComDpl can be created by using the "New Object'' ( ) icon in the
toolbar of the data manager and selecting DPL Command and more. Then press OK and
a new DPL command is created. The dialogue is now shown and the parameters, objects
and the script can now be specified.
This dialogue is also opened by double-clicking a DPL script, by selecting Edit from the

context sensitive menu or by selecting the script from the list when pressing the icon .

29.2.2 Defining a DPL Commands Set


The DPL command holds a reference to a selection of objects (General Selection). At first
this general selection is empty, but there are several ways to define a special set of object
used in the DPL command. This "DPL Commands Set'' (SetSelect) can be specified
through:

29 - 3
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

• Select one or more elements in the single line diagram. Then right-click the selection
(one of the selected elements) and choose the option Define...−> DPL Commands
Set... from the context sensitive menu.
• It is also possible to select several elements in the data manager. Right-click the
selection and choose the option Define...−> DPL Commands Set... from the context
sensitive menu.

29.2.3 Executing a DPL Command

To execute a DPL command or to access the dialogue of a script, the icon can be
activated. This will pop up a list of available DPL scripts from the global and local library.
The easiest way to start a DPL command AND define a selection for it is
• To select one or more elements in the single line diagram or in the data manager and
then right-click the selection.
• Choose the option Execute DPL Scripts from the context sensitive menu.
• Then select a DPL script from the list. This list will show DPL scripts from the global as
well as from the local library.
• Select a DPL script, insert/change the variables and then press the button
Execute
In this way the selection is combined into a DPL Commands Set and the set is auto-
matically selected for the script chosen.
Only one single DPL command set is valid at a time for all DPL scripts. This means that
setting the DPL command set in one DPL command dialogue, will change the DPL com-
mand set for all DPL commands in the database.

Note To choose different sets for various DPL scripts you can either use
different selection object SetSelect like the "General Set''. Or new
DPL command sets can be created and selected inside the active
study case. This is done by pressing , selecting "other'' and the
element "Set (SetSelect)'' and then selecting the set type.

The interface section Input Parameters is used to define variables that are accessible from
outside the DPL command itself. DPL commands that call other DPL commands as sub-
routines, may use and change the values of the interface variables of these DPL subrou-
tines.
The list of External Objects is used to execute the DPL command for specific objects. A
DPL command that, for example, searches the set of lines for which a short-circuit causes
too deep a voltage dip at a specific busbar, would access that specific busbar as an ex-
ternal object. Performing the same command for another busbar would then only require
setting the external object to the other busbar.

29.2.4 DPL Advanced Options


On the Advanced Options page a Remote script can be selected, which is then used by

29 - 4
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

this script instead of a local defined script on the next page Script. This is a so called "re-
ferring command''. The "root command'' as described above in the example uses the local
defined script.
Also there can be Result parameters defined. These parameters are results from the script
and they are stored inside the result object. Hence it is possible to access them through
the variable monitor and display them in a plot.

29.2.5 DPL Script Page


The most important part of a DPL root command is of course the actual DPL program
script. That script is written on the Script page of a DPL root command dialogue, if no
Remote script is selected.
On this page the DPL code of a already defined script is shown and/or new command lines
can be inserted for modifying this script or writing a new script. The available commands
and the DPL language are described in the following sections.
The edited program code also features a highlighting specially suited for handling DPL
scripts.

29.3 The DPL Script Editor


There is also an own editor available for conveniently writing a DPL script. To activate this
editor press the icon on the bottom side of the Script page of a DPL command dia-
logue.
Now a new window will be opened in PowerFactory. Here the script can be written in a
very convenient way similar to the programming language C++. The highlighting will be
activated automatically.
There are several tools which can be used in this editor:

With this icon "Edit Object'' the edit dialogue of the script is opened and the user
can Check the modified script for errors or one can Execute it.

The script inside the editor and in the dialogue are synchronized each time the
script is saved or edited in the dialogue. If this "Disconnect'' icon is pressed, the
scripts will not be synchronized anymore.

With the "search'' icon the user can activate a Find, a Replace or also a Go To
function inside the editor.

With the "search next'' icon find/replace/go to the next matching word.

With the "search previous'' icon find/replace/go to the previous matching word.

With the these icons bookmarks can be set in the editor. Also jump from one
bookmark to the next or previous as well as clear all bookmarks.

When finished editing, press the icon and the script will be synchronized with the

29 - 5
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

main dialogue. One can also jump to the main graphics board by selecting the option Win-
dow −> Graphic... from the main menu.

29.4 The DPL Script Language


The DPL script language uses a syntax quite similar to the C++ programming language.
This type of language is intuitive, easy to read, and easy to learn. The basic command set
has been kept as small as possible.
The syntax can be divided into the following parts:
• variable definitions
• assignments and expressions
• program flow instructions
• method calls
The statements in a DPL script are separated by semicolons. Statements are grouped to-
gether by braces.
Example:

statement1;
statement2;
if (condition)
{
groupstatement1;
groupstatement2;
}

29.4.1 Variable Definitions


DPL uses the following internal parameter types
• double, a 15 digits real number
• int, an integer number
• string, a string
• object, a reference to a PowerFactory object
• set, a container of objects
Vectors and Matrices are available as external objects.
The syntax for defining variables is as follows:

[VARDEF] = [TYPE] varname, varname, ..., varname;


[TYPE] = double | int | object | set

All parameter declarations must be given together in the top first lines of the DPL script.
The semicolon is obligatory.
Examples:

29 - 6
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

double Losses, Length, Pgen;


int NrOfBreakers, i, j;
string txt1, nm1, nm2;
object O1, O2, BestSwitchToOpen;
set AllSwitches, AllBars;

29.4.2 Constant parameters


DPL uses constant parameters which cannot be changed. It is therefore not accepted to
assign a value to these variables. Doing so will lead to an error message.
The following constants variables are defined in the DPL syntax:
SEL is the general DPL selection.
NULL is the 'null' object
this is the DPL command itself
Besides these global constants, all internal and external objects are constant too.

29.4.3 Assignments and Expressions


The following syntax is used to assign a value to a variable:

variable = expression
variable += expression
variable -= expression

The add-assignment "+='' adds the right side value to the variable and the subtract-as-
signment "-='' subtracts the right-side value.
Examples:

double x,y;x = 0.5*pi(); ! x now equals 1.5708


y = sin(x); ! y now equals 1.0
x += y; ! x now equals 2.5708
y -= x; ! y now equals -1.5708

29.4.4 Standard Functions


The following operators and functions are available:
• Arithmetic operators: +, -, *, /
• Standard functions ( all trigonometric functions based on radians (RAD)):

sin(x) cos(x) tan(x) asin(x)

29 - 7
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

acos(x) atan(x) sinh(x) cosh(x)

tanh(x) exp(x) ln(x) log(x) (basis 10)

abs(x) min(x,y) max(x,y) sqrt(x) (square root)

trunc(x) frac(x) round(x) sqr(x) (power of 2)

pow(x,y) modulo(x,y) ceil(x) floor(x)

Table. 29.1: DPL Standard Functions

• Constants:

pi() pi

twopi() 2 pi

e() e

Table. 29.2: DPL Internal Constants

29.4.5 Program Flow Instructions


The following flow commands are available.

if ( [boolexpr] ) [statlist]
if ( [boolexpr] ) [statlist] else [statlist]
do [statlist] while ( [boolexpr] )
while ( [boolexpr] ) [statlist]
for ( statement ; [boolexpr] ; statement ) [statlist]

in which

[boolexpr] = expression [boolcomp] expression


[boolcomp] = "<" | ">" | "=" | ">=" | ">=" | "<>"
[statlist] = statement; | { statement; [statlist] }

• Unary operators: ".not."


• Binary operators: ".and." | ".or." | ".nand." | ".nor." | ".eor."
• Parentheses: {logical expression}
Examples:

if (a<3) {
b = a*2;
}
else {
b = a/2;
}

while (sin(a)>=b*c) {

29 - 8
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

a = O:dline;
c = c + delta;
}
if ({.not.a}.and.{b<>3}) {
err = Ldf.Execute();
if (err) {
Ldf:iopt_lev = 1;
err = Ldf.Execute();
Ldf:iopt_lev = 0;
}
}
for (i = 0; i < 10; i = i+1){
x = x + i;
}
for (o=s.First(); o; o=s.Next()) {
o.ShowFullName();
}

Break and Continue


The loop statements 'do-while' and 'while-do' may contain 'break' and 'continue' com-
mands. The 'break' and 'continue' commands may not appear outside a loop statement.
The 'break' command terminates the smallest enclosing 'do-while' or 'while-do' statement.
The execution of the DPL script will continue with the first command following the loop
statement.
The 'continue' command skips the execution of the following statements in the smallest
enclosing 'do-while' or 'while-do' statement. The execution of the DPL script is continued
with the evaluation of the boolean expression of the loop statement. The loop statement
list will be executed again when the expression evaluates to TRUE. Otherwise the loop
statement is ended and the execution will continue with the first command following the
loop statement.
Example:

O1 = S1.First();
while (O1) {
O1.Open();
err = Ldf.Execute();
if (err) {
! skip this one
O1 = S1.Next;
continue;
}
O2 = S2.First();
AllOk = 1;
DoReport(0); !reset
while (O2) {
err = Ldf.Execute();
if (err) {
! do not continue
AllOk = 0;
break;
}
else {
DoReport(1); ! add

29 - 9
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

}
O2 = S2.Next();
}
if (AllOk) {
DoReport(2); ! report
}
O1 = S1.Next();}

29.4.6 Input and Output


The "input'' command asks the user to enter a value.
input(var, string);
The input command will pop up a window with the string and an input line on which the
user may enter a value. The value will be assigned to the variable "var''.
The "output'' command writes a line of text to the output window.
output(string);
The string may contain "=''-signs, followed by a variable name. The variable name will
then be replaced by the variable's value.
Example:

input(diameter, 'enter diameter');


output('the entered value=diameter');

The example results in the pop up of a window as depicted in the figure 29.3.

Fig. 29.3: The input window

The following text will appear in the output window:

DIgSI/dpl - the entered value=12.3400

The output command is considered obsolete and has been replaced by the more versatile
"printf'' and "sprintf'' functions. Please see the DPL reference for detailed information.

29.5 Access to Other Objects


With the syntax for the parameter definitions, program flow and the input and output, it
is already possible to create a small program. However, such a script would not be able
to use or manipulate variables of 'external' objects. It would not be possible, for instance,

29 - 10
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

to write a script that replaces a specific line by possibly better alternatives, in order to
select the best line type. Such a script must be able to access specific objects (the specific
line) and specific sets of objects (the set of alternative line types).
The DPL language has several methods with which the database objects and their param-
eters become available in the DPL script:
• The most direct method is to create an object, or a reference to an object, in the DPL
command folder itself. Such an object is directly available as "object'' variable in the
script. The variable name is the name of the object in the database.
• The DPL command set may be used. This method is only useful when the order in
which the objects are accessed is not important. The DPL command set is
automatically filled when a selection of elements is right-clicked in either the single
line graphic or the data manager and the option Execute DPL Script is selected.
• The list of external objects is mainly used when a script should be executed for
specific objects or selections. The list of external objects is nothing more than a list of
'aliases'. The external object list is used to select specific objects for each alias, prior
to the execution of the script.

29.5.1 Object Variables and Methods


If a database object is known to the DPL command, then all its methods may be called,
and all its variables are available. For example, if we want to change a load-flow command
in order to force an asymmetrical load-flow calculation, we may alter the parameter
"iopt_net''. This is done by using an assignment:

Ldf:iopt_net = 1; ! force unbalanced

In this example, the load-flow objects is known as the objects variable "Ldf''.
The general syntax for a parameter of a database object is

objectname:parametername

In the same way, it is possible to get a value from a database object, for instance a result
from the load-flow calculations. One of such a result is the loading of a line object, which
is stored in the variable "c:loading''. The following example performs the unbalanced load-
flow and reports the line loading.
Example

00. int error;


01. double loading;
02. Ldf:iopt_net = 1; ! force unbalanced
03. error = Ldf.Execute(); ! execute load-flow
04. if (error) {
05. exit();
06. } else {
07. loading = Line:c:loading; ! get line loading
08. output('loading=loading'); ! report line loading
09. }

29 - 11
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

This examples is very primitive but it shows the basic methods for accessing database ob-
jects and their parameters.

29.6 Access to Locally Stored Objects


Locally stored objects (also called 'internal objects') can be accessed directly. They are
known in the DPL script under their own name, which therefore must be a valid DPL vari-
able name. It will not be possible to access an internal object which name is "My Load-
flow\~{}1*'', for instance.
Internal objects may also be references to objects which are stored elsewhere. The DPL
command des not distinguish between internal objects and internal references to objects.
An example is shown in the figure 29.4, where a DPL script is shown on the left which has
a load-flow command and a reference to a line in its contents folder on the right.

Fig. 29.4: DPL contents

The example DPL script may now access these objects directly, as the objects "Ldf'' and
"Line''. In the following example, the object "Ldf'', which is a load-flow command, is used
in line 01 to perform a load-flow.

00. int error;


01. error = Ldf.Execute();
02. if (error) {
03. output('Load-flow command returns an error');
04. exit();
05. }

In line 01, a load-flow is calculated by calling the method "Execute()'' of the load-flow
command. The details of the load-flow command, such as the choice between a balanced
single phase or an unbalanced three phase load-flow calculation, is made by editing the
object "Ldf'' in the database. Many other objects in the database have methods which can
be called from a DPL script. The DPL contents are also used to include DPL scripts into
other scripts and thus to create DPL "subroutines''.

29.7 Accessing the General Selection


Accessing database objects by storing them or a reference to them in the DPL command
would create a problem if many objects have to be accessed, for instance if the line with
the highest loading is to be found. It would be impractical to create a reference to each
and every line.

29 - 12
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

A more elegant way would be to use the DPL global selection and fill it with all lines. The
data manager offers several ways in which to fill this object DPL Command Set with
little effort. The selection may then be used to access each line indirectly by a DPL "ob-
ject'' variable. In this way, a loop is created which is performing the search for the highest
loading. This is shown in the following example.
Example

00. int error;


01. double max;
02. object O, Omax;
03. set S;
04.
05. error = Ldf.Execute(); ! execute a load-flow
06. if (error) exit(); ! exit on error
07.
08. S = SEL.AllLines(); ! get all selected lines
09. Omax = S.First(); ! get first line
10. if (Omax) {
11. max = Omax:c:loading; ! initialize maximum
12. } else {
13. output('No lines found in selection');
14. exit(); ! no lines: exit
15. }
16. O = S.Next(); ! get next line
17. while (O) { ! while more lines
18. if (O:c:loading>max) {
19. max = O:c:loading; ! update maximum
20. Omax = O; ! update max loaded line
21. }
22. O = S.Next();
23. }
24. output('max loading=max for line'); !output results
25. Omax.ShowFullName();

The object SEL used in line 08 is the reserved object variable which equals the General
Selection in the DPL command dialogue. The SEL object is available in all DPL scripts at
all times and only one single "General Selection'' object is valid at a time for all DPL scripts.
This means that setting the General Selection in the one DPL command dialogue, will
change it for all other DPL commands too.
The method "AllLines()'' in line 08 will return a set of all lines found in the general selec-
tion. This set is assigned to the variable "S''. The lines are now accessed one by one by
using the set methods "First()'' and "Next()'' in line 09, 16 and 22.
The line with the highest loading is kept in the variable "Omax''. The name and database
location of this line is written to the output window at the end of the script by calling
"ShowFullName()''.

29.8 Accessing External Objects


The DPL contents make it possible to access external object in the DPL script. The special
general selection object ("SEL'') is used to give all DPL functions and their subroutines
access to a central selection of objects. i.e. the DPL Command Set.
Although flexible, this method would create problems if more than one specific object

29 - 13
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

should be accessed in the script. By creating references to those objects in the DPL com-
mand itself, the DPL command would become specific to the current calculation case.
Gathering the objects in the general selection would create the problem of selecting the
correct object.
To prevent the creation of calculation-specific DPL commands, it is recommended practice
to reserve the DPL contents for all objects that really 'belong' to the DPL script and which
are thus independent on where and how the script is used. Good examples are load-flow
and short-circuit commands, or the vector and matrix objects that the DPL command uses
for its computations.
If a DPL script must access a database object dependent on where and how the DPL script
is used, an "External Object'' must be added to the external object list in the DPL root
command. Such an external object is a named reference to an external database object.
The external object is referred to by that name. Changing the object is then a matter of
selecting another object.
In the figure 29.5, an example of an external object is given. This external object may be
referred to in the DPL script by the name "Bar1'', as is shown in the example.

Fig. 29.5: DPL external object table

Example:

sagdepth = Bar1:u;

29.9 Remote Scripts and DPL Command Libraries


To understand the DPL philosophy and the resulting hierarchical structure of DPL scripts,
the following is important to understand:
• A DPL command either executes its own script or the script of another, remote, DPL
command. In the first case, the DPL command is called a 'root command' and the
script is called a 'local script'. In the second case, the DPL command is called a
'referring' command and the script is called a 'remote script'.
• A root command may define interface variables that are accessible from outside the
script and which are used to define default values.
• Each root command may define one or more external objects. External object are
used to make a DPL command run with specific power system objects, selections,
commands, etc.

29 - 14
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

• A referring command may overrule all default interface values and all selected
external objects of the remote command.
• Each DPL command can be called as a subroutine by other DPL commands.
The use of remote scripts, external objects and interface variables makes it possible to
create generic DPL commands, which may be used with different settings in many differ-
ent projects and study cases.
The easiest way to develop a new DPL command is to create a new ComDpl in the cur-
rently active study case and to write the script directly in that DPL object. In such a way,
a DPL "root command'' is made. If this root command needs DPL subroutines, then one
or more DPL command objects may be created in its contents. Each of these subroutines
will normally also be written as root functions.
The newly written DPL command with its subroutines may be tested and used in the cur-
rently active study case. However, it cannot be executed when another study case is ac-
tive. In order to use the DPL command in other study cases, or even in other projects,
one would have to copy the DPL command and its contents. This, however, would make
it impossible to alter the DPL command without having to alter all its copies.
The solution is in the use of 'remote scripts'. The procedure to create and use remote
scripts is described as follows.
Suppose a new DPL command has been created and tested in the currently active study
case. This DPL command can now be stored in a save place making it possible to use it
in other study cases and projects.
This is done by the following steps:
• Copy the DPL command to a library folder. This will also copy the contents of the DPL
command, i.e. with all it's DPL subroutines and other locally stored objects.
• "Generalize'' the copied DPL command by resetting all project specific external
objects. Set all interface variable values to their default values. To avoid deleting a
part of the DPL command, make sure that if any of the DPL (sub)commands refers to
a remote script, all those remote scripts are also stored in the library folder.
• Activate another study case.
• Create a new DPL command object (ComDPL) in the active study case.
• Set the "DPL script'' reference to the copied DPL command.
• Select the required external objects.
• Optionally change the default values of the interface variables
• Press the Check button to check the DPL script
The Check or Execute button will copy all parts of the remote script in the library that
are needed for execution. This includes all subroutines, which will also refer to remote
scripts, all command objects, and all other objects. Some classes objects are copied as
reference, other classes are copied completely.
The new DPL command does not contain a script, but executes the remote script. For the
execution itself, this does not make a change. However, more than one DPL command
may now refer to the same remote script. Changing the remote script, or any of its local
objects or sub-commands, will now change the execution of all DPL commands that refer
to it.

29 - 15
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

29.9.1 Subroutines and Calling Conventions


A DPL command object may be included in the contents of another DPL command. In that
case, the included DPL "subroutine'' may be called in the script of the enclosing DPL com-
mand. In principle, this is not different from calling, for example, a load-flow command
from a DPL script.
As with most other command objects, the DPL command only has one method:
int Execute() ; executes the DPL script.

The difference is that each DPL subroutine has different interface parameters, which may
be changed by the calling command. These interface parameters can also be set directly
at calling time, by providing one or more calling arguments. These calling arguments are
assigned to the interface parameters in order of appearance. The following example illus-
trates this.
Suppose we have a DPL sub-command "Sub1'' with the interface section as depicted in
the figure 29.6.

Fig. 29.6: Interface section of subroutine

The calling command may then use, for example:

! set the parameters:


Sub1:step = 5.0;
Sub1:Line = MyLine;
Sub1:Outages = MySelection;
! execute the subroutine:
error = Sub1.Execute();

However, using calling arguments, we may also write:

! execute the subroutine:


error = Sub1.Execute(5.0, MyLine, MySelection);

29.10 DPL Functions and Subroutines


The DPL syntax is very small because it mainly serves the purpose of basic operations like
simple calculations, if-then-else selections, do-while loops, etc..
The strength of the DPL language is the possibility to call functions and to create subrou-
tines. A function which can be called by a DPL command is called a "method''. Four types
of methods are distinguished:

29 - 16
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Internal methods
These are the build-in methods of the DPL command. They can always
be called.
Set methods These methods are available for the DPL 'set' variables.
Object methods
These methods are available for the DPL 'object' variables.
External methods
These are the methods which are available for certain external
PowerFactory objects, such as the load-flow command, the line
object, the asynchronous machine, etc.
Please see the DPL Reference for a description of these functions including implementa-
tion examples.

29 - 17
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

29 - 18
Volume VII
Power System Models Reference
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory

Chapter 30
Type Objects-Reference Data

30.1 2-Winding Transformer Type (TypTr2)


Type used to define two winding transformers/autotransformers (ElmTr2 and ElmTr2n).

Input parameters
Table 30.1 shows the input parameters for the TypTr2 object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the 2-winding transformer model, presenting the relations among the
input parameters is given in the corresponding Technical Reference Paper (Support page
under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.1: TypTr2 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


strn Rated Power MVA x>0 1.

utrn_h HV-Side kV x>0 6.

utrn_l LV-Side kV x>0 6.

uktr Short-Circuit Voltage uk % 3.

Power Systems Elements: Application References 1


DIgSILENT PowerFactory

Table 30.1: TypTr2 Parameters


Name Description Unit Range Default

pcutr Copper Losses kW 0.

curmg No Load Current % x>=0 0.

dutap Additional Voltage per Tap % 0.

phitr Phase of du deg 0.

ntpmx Maximum Position 0

ntpmn Minimum Position 0

nntap0 Neutral Position 0

fdtr2r Resistance R=R(freq) [A-Z]


fdtr2l Reactance L=L(freq) [A-Z]
uk0tr Absolute uk0 % 3.

ur0tr Resistive Part ukr0 % 0.

tr2cn_h HV-Side _IsVecGrpValid

tr2cn_l LV-Side _IsVecGrpValid

nt2ag Phase Shift *30deg x>=0&x<=12 0

nt2ph Technology x=1|x=2|x=3 0

itrdl x,Pos.Seq. HV-Side x>=0&x<=1 0.5

itrdr r,Pos.Seq. HV-Side x>=0&x<=1 0.5

itrmt Type 0

it0mt Type 0

cknee Knee Current p.u. 0.

psi0 Knee Flux p.u. x>=0 01. Jan

xmlin Linear Reactance p.u. x>=0 0.

xmair Saturated Reactance p.u. x>=0 0.

ksat Saturation Exponent x>1 0

iLimb Core x=3|x=5 0

iInterPol Interpolation x=0|x=1 0

smoothfac Smoothing Factor % x>=0.0&x<=100.0 10.

zx0hl_h z, Zero Sequ. HV-Side x>=0&x<=1 0.9

zx0hl_n Mag. reac. / uk0 x>=0 100.

Power Systems Elements: Application References 2


DIgSILENT PowerFactory

Table 30.1: TypTr2 Parameters


Name Description Unit Range Default

pict2 Ratio Ip/In p.u. 0.

pitt2 Max. Time s 0.

twct2 Ratio It/In p.u. 0.

twtt2 Max. Time s 0.

ansiclass Class
tap_side at Side x=0|x=1 0

frnom Nominal Frequency Hz x>=0 50.

pfe No Load Losses kW x>=0 0.

strnfc Rated Power (forced cooling) MVA x>=0 0.

oltc On-load Tap Changer x=0|x=1 0

itapzdep Tap dependent impedance x=0|x=1 0

uktmn uk (min. tap) % 0.

pcutmn Pcu (min. tap) kW 0.

uktmx uk (max. tap) % 0.

pcutmx Pcu (max. tap) kW 0.

uk0tmn uk0 (min. tap) % 0.

uk0rtmn Re(uk0) (min. tap) % 0.

uk0tmx uk0 (max. tap) % 0.

uk0rtmx Re(uk0) (max. tap) % 0.

manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model
satcur Current (peak) p.u.

satflux Flux (peak) p.u.

Power Systems Elements: Application References 3


DIgSILENT PowerFactory

30.2 3-Winding Transformer Type (TypTr3)


Type used to define three winding transformers/autotransformers (ElmTr3).

Input parameters
Table 30.2 shows the input parameters for the TypTr3 object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the 3-winding transformer model, presenting the relations among the
input parameters is given in the in the corresponding Technical Reference Paper (Support
page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.2: TypTr3 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


strn3_h HV-Side MVA x>0 1.

strn3_m MV-Side MVA x>0 1.

strn3_l LV-Side MVA x>0 1.

utrn3_h HV-Side kV x>=0 0.

utrn3_m MV-Side kV x>=0 0.

utrn3_l LV-Side kV x>=0 0.

uktr3_h HV-MV % x>=0 3.

uktr3_m MV-LV % x>=0 3.

uktr3_l LV-HV % x>=0 3.

Power Systems Elements: Application References 4


DIgSILENT PowerFactory

Table 30.2: TypTr3 Parameters


Name Description Unit Range Default

pcut3_h HV-MV kW x>=0 0.

pcut3_m MV-LV kW x>=0 0.

pcut3_l LV-HV kW x>=0 0.

curm3 No Load Current % x>=0 0.

cr0m3 No Load Current % 0.

n3tmn_h Min. Position 0

n3tmn_m Min. Position 0

n3tmn_l Min. Position 0

n3tmx_h Max. Position 0

n3tmx_m Max. Position 0

n3tmx_l Max. Position 0

n3tp0_h Neutral Position 0

n3tp0_m Neutral Position 0

n3tp0_l Neutral Position 0

du3tp_h Add. Voltage per Tap % x>=0 0.

du3tp_m Add. Voltage per Tap % x>=0 0.

du3tp_l Add. Voltage per Tap % x>=0 0.

ph3tr_h Phase of du deg x>=0&x<=360 0.

ph3tr_m Phase of du deg x>=0&x<=360 0.

ph3tr_l Phase of du deg x>=0&x<=360 0.

uk0hm HV-MV % x>=0 3.

uk0ml MV-LV % x>=0 3.

uk0hl LV-HV % x>=0 3.

ur0hm HV-MV % x>=0 0.

ur0ml MV-LV % x>=0 0.

ur0hl LV-HV % x>=0 0.

fdtr3r Resistance R=R(freq) [A-Z] _FrqDepValid

fdtr3l Reactance L=L(freq) [A-Z] _FrqDepValid

tr3cn_h HV-Side _IsVecGrpValid

Power Systems Elements: Application References 5


DIgSILENT PowerFactory

Table 30.2: TypTr3 Parameters


Name Description Unit Range Default

tr3cn_m MV-Side _IsVecGrpValid

tr3cn_l LV-Side _IsVecGrpValid

nt3ag_h Phase Shift *30deg x>=0&x<=12 0

nt3ag_m Phase Shift *30deg x>=0&x<=12 0

i3loc Position 0

i30lc Position 0

itrmt Type 0

it0mt Type Zero Sequence 0

c3nee Knee Current p.u. 0.

psi0 Saturation Flux p.u. 01. Jan

x3lin Linear Part p.u. 0.

x3air Saturated p.u. 0.

pict3 Ratio Ip/In 0.

pitt3 Max. Time s 0.

twct3 Ratio It/In 0.

twtt3 Max. Time s 0.

pfe No Load Losses kW x>=0 0.

t3nam transformer name (only for


compatib.)
bname1 bus name 1 (only for
compatib.)
bname2 bus name 2 (only for
compatib.)
bname3 bus name 3 (only for
compatib.)
elemnm Element Name (only for
compatib.)
ansiclass Class
nt3ag_l Phase Shift *30deg x>=0&x<=12 0

itapos Tap Modeled at x=0|x=1 0

Power Systems Elements: Application References 6


DIgSILENT PowerFactory

Table 30.2: TypTr3 Parameters


Name Description Unit Range Default

snfc_h HV-Side MVA x>=0 0.

snfc_m MV-Side MVA x>=0 0.

snfc_l LV-Side MVA x>=0 0.

oltc_h HV-Side x=0|x=1 0

oltc_m MV-Side x=0|x=1 0

oltc_l LV-Side x=0|x=1 0

itapzdep Tap dependent impedance x=0|x=1 0

itapzside for Tap at x>=0&x<=2 0

uktr3mn_h uk(HV-MV)(min. tap) % x>=0 0.

uktr3mn_m uk(MV-LV)(min. tap) % x>=0 0.

uktr3mn_l uk(LV-HV)(min. tap) % x>=0 0.

pcut3mn_h Pcu(HV-MV)(min. tap) kW x>=0 0.

pcut3mn_m Pcu(MV-LV)(min. tap) kW x>=0 0.

pcut3mn_l Pcu(LV-HV)(min. tap) kW x>=0 0.

uktr3mx_h uk(HV-MV)(max. tap) % x>=0 0.

uktr3mx_m uk(MV-LV)(max. tap) % x>=0 0.

uktr3mx_l uk(LV-HV)(max. tap) % x>=0 0.

pcut3mx_h Pcu(HV-MV)(max. tap) kW x>=0 0.

pcut3mx_m Pcu(MV-LV)(max. tap) kW x>=0 0.

pcut3mx_l Pcu(LV-HV)(max. tap) kW x>=0 0.

uk0mnhm uk0(HV-MV)(min. tap) % x>=0 0.

uk0mnml uk0(MV-LV)(min. tap) % x>=0 0.

uk0mnhl uk0(LV-HV)(min. tap) % x>=0 0.

ur0mnhm Re(uk0)(HV-MV)(min. tap) % x>=0 0.

ur0mnml Re(uk0)(MV-LV)(min. tap) % x>=0 0.

ur0mnhl Re(uk0)(LV-HV)(min. tap) % x>=0 0.

uk0mxhm uk0(HV-MV)(max. tap) % x>=0 0.

uk0mxml uk0(MV-LV)(max. tap) % x>=0 0.

uk0mxhl uk0(LV-HV)(max. tap) % x>=0 0.

Power Systems Elements: Application References 7


DIgSILENT PowerFactory

Table 30.2: TypTr3 Parameters


Name Description Unit Range Default

ur0mxhm Re(uk0)(HV-MV)(max. tap) % x>=0 0.

ur0mxml Re(uk0)(MV-LV)(max. tap) % x>=0 0.

ur0mxhl Re(uk0)(LV-HV)(max. tap) % x>=0 0.

manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model

30.3 Asynchronous Machine (TypAsmo)


Type object defined for asynchronous machine elements (ElmAsm) and double feed in-
duction machines (ElmAsmsc).

Input parameters
Table 30.3 shows the input parameters of the TypAsmo object. Parameters are present-
ed in the same order of the Type dialogue (starting from the 'Basic Data' tab).
The description of the asynchronous machine model, presenting the relations among the
input parameters is given in the in the corresponding Technical Reference Paper (Support
page under Technical References).
Note: The name of the parameter is displayed in the Type edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.3: TypAsmo Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

Power Systems Elements: Application References 8


DIgSILENT PowerFactory

Table 30.3: TypAsmo Parameters


Name Description Unit Range Default

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

sgn Rated Apparent Power kVA x>0 500.

ugn Rated Voltage kV x>0 6.

cosn Rated Power Factor x>0&x<=1 0.8

nppol No of Pole Pairs x>0 0

aiazn Locked Rotor Current (Ilr/In) p.u. x>0 5.

tag Acceleration Time Constant s x>0 2.

xm Mag. Reactance Xm p.u. x>0 4.

rtox R/X Locked Rotor x>=0 0.1

rstr Stator Resistance Rs p.u. x>=0 0.

rrtrA Rotor Resistance RrA p.u. x>0 0.01

rrtrB Rotor Resistance RrB p.u. x>0 0.1

xstr Stator Reactance Xs p.u. x>=0 0.01

xrtrA Rotor Reactance XrA p.u. x>0 0.1

xrtrB Rotor Reactance XrB p.u. 0.1

xmrtr Rotor Leakage Reac. Xrm p.u. x>=0 0.

frequ Nominal Frequency Hz x>0 50.

istt Status of ESB Calculation 0

nslty Connection 0

pgn Rated Mechanical Power kW x>=0 400.

anend Nominal Speed rpm x>=0 0.

aslkp Slip at Stalling Point x>=0 0.

asstl Slip at Saddle Point x>=0 0.

amazn Locked Rotor Torque p.u. x>=0 0.

amkzn Torque at Stalling Point p.u. x>=0 0.

amstl Torque at Saddle Point p.u. x>=0 0.

coazn cos(phi) Locked Rotor p.u. x>=0 0.

Power Systems Elements: Application References 9


DIgSILENT PowerFactory

Table 30.3: TypAsmo Parameters


Name Description Unit Range Default

slp Slip % x>=0 0.

mslp Torque p.u. x>=0 0.

islp Current p.u. x>=0 0.

fdasmr Resistance R=R(freq) [A-Z] FrqDepValid

fdasml Reactance L=L(freq) [A-Z] FrqDepValid

i_mode Input Mode x=0|x=1 0

effic Efficiency at nominal Operation % 100.

i_trans Consider Transient Parameter 0

fcharrstr Stator Resistance Rs(f)

fcharlss Inductance L''(f)

iinrush Ratio Ip/In p.u. x>0 10.

Tinrush Max. Time s x>0 0.02

Tcold Cold s x>0 20.

Thot Hot s x>0 10.

i_cdisp Consider Current Displacement (Squirrel Cage x=0|x=1 0


Rotor)

n_cdisp Order of R-L Approximation 0

rrsn Slip dependent part of RrA at nominal slip 0.

xrsn Slip dependent part of XrA at nominal slip 0.

rrs1 Slip dependent part of RrA at slip=1 0.

xrs1 Slip dependent part of XrA at slip=1 0.

rrtrA0 Slip indep. Resistance RrA0 0.

xrtrA0 Slip indep. Reactance XrA0 0.

r0 Resistance RrA1 0.1

x0 Reactance XrA1 0.1

r1 Resistance RrA2 0.1

x1 Reactance XrA2 0.1

i_cage Rotor 0

i_optpn Power Rating 0

rtoxshc R/X Locked Rotor x>=0 0.1

Power Systems Elements: Application References 10


DIgSILENT PowerFactory

Table 30.3: TypAsmo Parameters


Name Description Unit Range Default

aiaznshc Locked Rotor Current (Ilr/In) p.u. x>0 5.

xtorshc X/R Locked Rotor x>=0 10.

xdssshc Locked Rotor Reactance p.u. x>0 0.199007

iansitp ANSI Type x>=0&x<=6 0

manuf Manufacturer

doc_id Additional Data

desc Description

J Inertia kgm^2 x>0 08. Feb

rzero Resistance p.u. 0.01

xzero Reactance p.u. 0.1

30.4 Booster Transformer Type (TypTrb)


Type used to define booster transformers (ElmTrb).

Input parameters
Table 30.4 shows the input parameters for the TypTrb object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the booster transformer model, presenting the relations among the in-
put parameters is given in the corresponding Technical Reference Paper (Support page
under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 11


DIgSILENT PowerFactory

Table 30.4: TypTrb Parameters


DisplayNam Description Unit Range Default
e

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


manuf Manufacturer
doc_id Additional Data
desc Description
strn Rated Power MVA x>0 1.

utrn_h HV-Side kV x>0 6.

utrn_l LV-Side kV x>0 6.

uktr Short-Circuit Voltage uk % x>=0 3.

pcutr Copper Losses kW x>=0 0.

curmg No Load Current % x>=0&x<=100 0.

uk0tr Absolute uk0 % x>=0&x<=100 3.

ur0tr Resistive Part ukr0 % x>=0&x<=100 0.

tr2cn_l LV-Side _IsVecGrpValidB

nt2ag Phase Shift *30deg x>=0&x<=12 0

itrdz z,Pos.Seq. HV-Side x>=0&x<=1 0.5

itrdz_lv z,Pos.Seq. LV-Side x>=0&x<=1 0.5

zx0hl_h z, Zero Sequ. HV-Side 0.9

zx0hl_l z, Zero Sequ. LV-Side 0.1

zx0hl_n Mag. reac. / uk0 x>=0 100.

Power Systems Elements: Application References 12


DIgSILENT PowerFactory

30.5 Cable Type (TypCab)


Type used to define cable objects.

Input parameters
Table 30.5 shows the input parameters for the TypCab object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the cable type model, presenting the relations among the input param-
eters is given in the corresponding Technical Reference Paper (Support page under Tech-
nical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.5: TypCab Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


typCon Shape
diaTube Inner Diameter mm x>=0 0.

diaCon Outer Diameter mm x>=0 5.

thSht Thickness of Sheath mm x>=0 1.

thArm Thickness Armour mm x>=0 1.

thIns Thickness mm x>=0 1.

rho Resistivity uOhm*cm x>0 Jan 68

my Relative Permeability 1.

Power Systems Elements: Application References 13


DIgSILENT PowerFactory

Table 30.5: TypCab Parameters


Name Description Unit Range Default

epsr Relative Permittivity 3.

tand Dielectric Loss Factor 0.02

has_ins3 Has Insulation 3 (Serving) x=0|x=1 0

has_ins2 Has Insulation 2 (Over Sheath) x=0|x=1 0

has_arm Has Armour x=0|x=1 0

has_sht Has Sheath x=0|x=1 0

manuf Manufacturer
doc_id Additional Data
desc Description
uline Rated Voltage kV x>=0 0.

rtemp Max. End Temperature degC x>0 80.

Ithr Rated Short-Time (1s) Current kA x>=0 0.

30.6 Conductor Type (TypCon)


Type used to define conductor objects. A reference to a conductor type is required in the
tower types: TypTow/TypGeo, to define the conductors of the transmission line.

Input parameters
Table 30.6 shows the input parameters for the TypCon object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the conductor type model, presenting the relations among the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 14


DIgSILENT PowerFactory

Table 30.6: TypCon Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


ncsub Number of Subconductors x>0&x<100 0

dsubc Bundle Spacing m 0.1

diaco Diameter mm x>0 30.

radco Radius mm x>0 15.

erpha GMR (Equivalent Radius) mm x>0 11.682

Lint Internal Inductance mH/km x>0 0.05

my_r Relative Permeability x>0 1.

iskin Skin effect x=0|x=1 0

gline Line Conductivity uS/km x>=0 0.

rpha DC-Resistance Ohm/km x>0 0.05

uline Nominal Voltage kV x>0 6.

sline Nominal Current kA x>=0 1.

rtemp Max. End Temperature degC x>0 80.

Ithr Rated Short-Time (1s) Current kA x>=0 0.

manuf Manufacturer
doc_id Additional Data
desc Description

Power Systems Elements: Application References 15


DIgSILENT PowerFactory

30.7 General Load (TypLod)


Type object defined for general load elements (ElmLod).

Input parameters
Table 30.7 shows the input parameters of the TypLod object. Parameters are presented
in the same order of the Type dialogue (starting from the 'Basic Data' tab).
The description of the general load model, presenting the relations among the input pa-
rameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Type edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.7:TypLod Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

lodst Static (const Z) % x>=0&x<=100 0

loddy Dynamic % x>=0&x<=100 0

lodsp Special % x>=0&x<=100 0

kpf Frequ. Dependence on P 0.

kpu Volt. Dependence on P 01. Jun

tpf Transient Frequency Dependence s x>=0 0.

tpu Transient Voltage Dependence s x>=0 0.

kqf Frequ. Dependence on Q 0.

kqu Volt. Dependence on Q 01. Aug

Power Systems Elements: Application References 16


DIgSILENT PowerFactory

Table 30.7:TypLod Parameters


Name Description Unit Range Default

tqf Transient Frequency Dependence s x>=0 0.

tqu Transient Voltage Dependence s x>=0 0.

t1 Dynamic Load Time Constant s x>=0 0.1

pgrd QL/QC % x>=0 200.

qcq QC/Q % 100.

cnm Connection (*x)='Y'|(*x)='D '

spfilnm Measurement File

fdlodr Resistance R=R(freq) [A-Z] FrqDepValid

fdlodl Reactance L=L(freq) [A-Z] FrqDepValid

systp System Type x=0|x=1 0

nlnph Phases x>=1&x<=3 0

iintgnd External Star Point x=0|x=1 0

manuf Manufacturer

doc_id Additional Data

desc Description

i_nln Nonlinear Model x=1|x=0 0

i_pure Load model x=0|x=1 0

i_csrc Current Source/Impedance x=0|x=1 0

udmax Upper Voltage Limit p.u. x>1 01. Feb

udmin Lower Voltage Limit p.u. x<1&x>0 0.8

Prp Power of parallel Resistance/Total Active % x>=0&x<=100 0.


Power

xt Transformer Short Circuit Reactance % x>=0 0.

30.8 Line Type (TypLne)


Type used to define transmission lines/cables (ElmLne), whose line impedances have
been already calculated (no electromagnetic coupling between conductors is calculated in
this type).

Power Systems Elements: Application References 17


DIgSILENT PowerFactory

Input parameters
Table 30.8 shows the input parameters for the TypLne object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the line type model, presenting the relations among the input param-
eters is given in the corresponding Technical Reference Paper (Support page under Tech-
nical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.8: TypLne Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


nlnph Phases x>=1&x<=3 0

uline Rated Voltage kV x>=0 0.

sline Rated Current kA x>=0 1.

slin1 Rated Current (1.) kA x>=0 0.

slin2 Load Current (*In) *In x>=0 0.

lodln Type of Load


picln Ratio Ip/In p.u. 0.

pitln Maximum Time s 0.

twcln Ratio It/In p.u. 0.

twtln Maximum Time s 0.

rline Resistance R 'Ohm/km x>=0 0.

Power Systems Elements: Application References 18


DIgSILENT PowerFactory

Table 30.8: TypLne Parameters


Name Description Unit Range Default

xline Reactance X 'Ohm/km 0.

rlin1 Loop Resistance (sev) Ohm/km x>=0 0.

xlin1 Loop Reactance (sev) Ohm/km x>=0 0.

rtemp Max. End Temperature degC x>0 80.

bline Susceptance B 'uS/km 0.

lline Inductance L 'mH/km x>=0 0.

cline Capacitance C 'uF/km 0.

gline Conductance G 'uS/km 0.

tline Ins. Factor 0.

fdlinr Resistance R=R(freq) [A-Z] _FrqDepValid

fdlinl Reactance L=L(freq) [A-Z] _FrqDepValid

fdlinc Capacitance C=C(freq) [A- _FrqDepValid


Z]
rline0 Resistance R0 'Ohm/km x>=0 0.

xline0 Reactance X0 'Ohm/km x>=0 0.

lline0 Inductance L0 'mH/km x>=0 0.

bline0 Susceptance B0 'uS/km 0.

cline0 Capacitance C0 'uF/km 0.

gline0 Conductance G0 'uS/km 0.

tline0 Ins. Factor 0.

Ices Earth-Fault Current A/km 0.

miso Insulation Material


mlei Conductor Material
qurs Nominal Cross Section mm*2 0.

bett Operating Temp. degC 0.

crosect Cross Section


systp System Type x=0|x=1 0

aohl_ Cable / OHL _AohlValid

InomAir Rated Current (in air) kA x>=0 1.

Power Systems Elements: Application References 19


DIgSILENT PowerFactory

Table 30.8: TypLne Parameters


Name Description Unit Range Default

Ithr Rated Short-Time (1s) kA x>=0 0.


Current (Conductor)
rtheta Resistance R'(theta) Ohm/km x>=0 0.

theta Temperature theta degC x!=20 0.

manuf Manufacturer
doc_id Additional Data
desc Description
frnom Nominal Frequency Hz x>=0 50.

fcharL1 L1'(f)
fcharR1 R1'(f)
fcharC1 C1'(f)
fcharL0 L0'(f)
fcharR0 R0'(f)
fcharC0 C0'(f)
pStoch Stochastic model
cabdiam Outer Diameter mm 0.

ncond No. of Conductors 3.

iopt_cnd Cable is
iopt_ord Conductors
cmeth Installation Method (IEC
364)
iopt_dir Arrangement
lcost Line Cost $/km x>=0 0.

nneutral No. of Neutrals x=0|x=1 0

rnline Resistance Rn 'Ohm/km x>=0 0.

xnline Reactance Xn 'Ohm/km x>=0 0.

bnline Susceptance Bn 'uS/km x>=0 0.

rpnline Resistance Rpn 'Ohm/km x>=0 0.

xpnline Reactance Xpn 'Ohm/km x>=0 0.

Power Systems Elements: Application References 20


DIgSILENT PowerFactory

Table 30.8: TypLne Parameters


Name Description Unit Range Default

bpnline Susceptance Bpn 'uS/km x>=0 0.

30.9 Rectifier Type (TypRec)


Type used to define a 6 pulse bridge rectifier/inverter elements (ElmRecmono and Elm-
Rec).

Input parameters
Table 30.9 shows the input parameters for the TypRec object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the rectifier model, presenting the relations among the input parame-
ters is given in the corresponding Technical Reference Paper (Support page under Tech-
nical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.9:TypRec Parameters


DisplayNam Description Unit Range Default
e

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


manuf Manufacturer

Power Systems Elements: Application References 21


DIgSILENT PowerFactory

Table 30.9:TypRec Parameters


DisplayNam Description Unit Range Default
e

doc_id Additional Data


desc Description
Unom Rated AC Voltage kV x>0 1.

Pnom Rated Active Power MW x>0 1.

Rthy Thyristor-Resistance (at On) Ohm x>0 0.0001

alphamin Minimum Firing Angle deg 0.

alphamax Maximum Firing Angle deg 180.

gammamin Minimum Extinction Angle deg 0.

gammamax Maximum Extinction Angle deg 180.

Imax Rated DC-Current kA x>0 1.

Unomdc Rated DC-Voltage (DC) kV x>0 1.

tapmin Minimum Turns-Ratio p.u. x>0.5|x<1.5 0.9

tapmax Maximum Turns-Ratio p.u. x>0.5|x<1.5 01. Jan

i_diode Diode-/Thyristor Converter x=0|x=1 0

Goff Thyristor-Conductance (at Off) S x>=0 0.

Gs Snubber-Conductance S x>=0 0.

Cs Snubber-Capacity uF x>0 0.1

i_trf Built-In Transformer x=0|x=1 0

alphanom Nominal Firing Angle deg 15.

tapnom Nominal Turns-Ratio (t2/t1) x>0 1.

30.10 Synchronous Machine Type (TypSym)


Type used to define synchronous machine elements (ElmSym)

Input parameters
Table 30.10 shows the input parameters for the TypSym object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).

Power Systems Elements: Application References 22


DIgSILENT PowerFactory

The description of the synchronous machine model, presenting the relations among the
input parameters is given in the corresponding Technical Reference Paper (Support page
under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 30.10: TypSym Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


sgn Nominal Apparent Power MVA x>0 1.

ugn Nominal Voltage kV x>0 6.

cosn Power Factor x>0&x<=1 0.8

tag Acceleration Time Const. (rated to s x>0 10.


Pgn)
tds Td 's x>0 1.

tqs Tq 's x>=0 1.

tdss Td ''s x>0 0.05

tqss Tq ''s x>0 0.05

xd xd p.u. x>0 2.

xds xd 'p.u. x>0 0.3

xdss xd ''p.u. x>0 0.2

xq xq p.u. x>0 2.

xqs xq 'p.u. x>=0 0.3

Power Systems Elements: Application References 23


DIgSILENT PowerFactory

Table 30.10: TypSym Parameters


Name Description Unit Range Default

xqss xq ''p.u. x>0 0.2

xdsat short-circuit ratio p.u. x>=0 01. Feb

xdsss saturated value xd''sat p.u. x>0 0.2

xtor Ratio X/R x>=0 10000000.

rstr rstr p.u. 0.

xpot Potier reactance p.u. x>=0 0.

sg10 1.0 p.u. x>=0 0.

sg12 01. Feb p.u. x>=0 0.

x2sy Reactance x2 p.u. x>0 0.2

r2sy Resistance r2 p.u. x>=0 0.

x0sy Reactance x0 p.u. x>=0 0.1

r0sy Resistance r0 p.u. x>=0 0.

iamort with amortisseur windings x=0|x=1 0

iusesat Use saturated value x=0|x=1 0

satur Machine Type IEC909 x>=0&x<=3 0

fdsymr Resistance R=R(freq) [A-Z] _FrqDepValid

fdsyml Reactance L=L(freq) [A-Z] _FrqDepValid

bname bus name (only for compatib.)


q_min Minimum Value p.u. -1.

q_max Maximum Value p.u. 1.

Q_min Minimum Value Mvar -1.

Q_max Maximum Value Mvar 1.

iturbo Rotor Type x=0|x=1 0

isat Main Flux Saturation x=0|x=1 0

iuseXdk Ik instead of Reactances x=0|x=1 0

curk 3-Phase Ik3p kA x>=0 0.

curk1p 1-Phase Ik1p kA x>=0 0.

curk2p 2-Phase Ik2p kA x>=0 0.

nslty Connection x>=0&x<=2 0

Power Systems Elements: Application References 24


DIgSILENT PowerFactory

Table 30.10: TypSym Parameters


Name Description Unit Range Default

tags Acceleration Time Const. (rated to s x>0 8.


Sgn)
h Inertia Time Constant (rated to s x>0 4.
Sgn) H
tds0 Td0 's x>0 666.667

tqs0 Tq0 's x>=0 666.667

tdss0 Td0 ''s x>0 0.075

tqss0 Tq0 ''s x>0 0.075

lss l ''p.u. x>0 0.2

i_trans Consider Transient Parameter x=0|x=1 0

fcharrstr rs(f)
fcharlss l''(f)
i_v12 Model x=0|x=1 0

xl xl p.u. x>=0 0.1

xrl xrl p.u. x>=0 0.

kcanay Canay Factor p.u. x>=0 0.

manuf Manufacturer
doc_id Additional Data
desc Description
dpu Mechanical Damping p.u. x>=0 0.

hpn Inertia Time Constant (rated to s x>=0 5.


Pgn) H

30.11 Tower Types (TypTow/TypGeo)


Both types are used to define the tower structure of a transmission line. If TypTow or
TypGeo are referred in an ElmLne, the coupling impedances of the line are calculated
according to the given geometrical distribution of the conductors. The tower types require
a reference to conductors types (TypCon).

Power Systems Elements: Application References 25


DIgSILENT PowerFactory

Input parameters
Tables 30.11 and 30.12 show the input parameters for the TypTow and TypGeo objects.
Parameters are presented in the same order of the element dialogue (starting from the
'Basic Data' tab).
The description of the tower models, presenting the relations among the input parameters
is given in the corresponding Technical Reference Paper (Support page under Technical
References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 30.11: TypTow Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


nlcir Number of Line Circuits x>=1 0

nlear Number of Earth Wires x>=0 0

gearth Earth Conductivity uS/cm x>0 100.

rearth Earth Resistivity Ohmm x>0 100.

ktrto Transposition
nphas Num. of Phases
pcond_e Conductor Types TypCon

pcond_c Conductor Types TypCon

xy_e Coordinate of Earth m


Conductors

Power Systems Elements: Application References 26


DIgSILENT PowerFactory

Table 30.11: TypTow Parameters


Name Description Unit Range Default

xy_c Coordinate of Line Circuits m

ktrto_c1 t x=0|x=1 0

ktrto_c2 t x=0|x=1 0

ktrto_c3 t x=0|x=1 0

ktrto_c4 t x=0|x=1 0

ktrto_c5 t x=0|x=1 0

ktrto_c6 t x=0|x=1 0

nphas_1 x=1|x=2|x=3 0

nphas_2 x=1|x=2|x=3 0

nphas_3 x=1|x=2|x=3 0

nphas_4 x=1|x=2|x=3 0

nphas_5 x=1|x=2|x=3 0

nphas_6 x=1|x=2|x=3 0

cond_e1 1
cond_e2 2
cond_c1 1
cond_c2 2
cond_c3 3
cond_c4 4
cond_c5 5
cond_c6 6
xy_e1 1 m 0.

xy_e2 2 m 0.

xy_c1 1 m 0.

xy_c2 2 m 0.

xy_c3 3 m 0.

xy_c4 4 m 0.

xy_c5 5 m 0.

xy_c6 6 m 0.

Power Systems Elements: Application References 27


DIgSILENT PowerFactory

Table 30.11: TypTow Parameters


Name Description Unit Range Default

R_c Matrix of Resistances R_ij Ohm/km

X_c Matrix of Reactances X_ij Ohm/km

R_c0 Matrix of 0-Sequence- Ohm/km


Resistances R_ij_0
X_c0 Matrix of 0-Sequence- Ohm/km
Reactances X_ij_0
R_c1 Matrix of 1-Sequence- Ohm/km
Resistances R_ij_1
X_c1 Matrix of 1-Sequence- Ohm/km
Reactances X_ij_1
frnom Nominal Frequency Hz 50.

L_c Matrix of Inductances L_ij H/km

L_c0 Matrix of 0-Sequence- H/km


Inductances L_ij_0
L_c1 Matrix of 1-Sequence- H/km
Inductances L_ij_1
G_c Matrix of Conductances G_ij uS/km

B_c Matrix of Susceptances B_ij uS/km

G_c0 Matrix of 0-Sequence- uS/km


Conductances G_ij_0
B_c0 Matrix of 0-Sequence- uS/km
Susceptances B_ij_0
G_c1 Matrix of 1-Sequence- uS/km
Conductances G_ij_1
B_c1 Matrix of 1-Sequence- uS/km
Susceptances B_ij_1
C_c Matrix of Capacitances C_ij uF/km

C_c0 Matrix of 0-Sequence- uF/km


Capacitances C_ij_0
C_c1 Matrix of 1-Sequence- uF/km
Capacitances C_ij_1
sline Nominal Current kA x>=0 1.

systp System Type x=0|x=1 0

Power Systems Elements: Application References 28


DIgSILENT PowerFactory

Table 30.11: TypTow Parameters


Name Description Unit Range Default

i_mode Input Mode x=0|x=1 0

manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model

Table 30.12: TypGeo Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


xy_e Coordinates Earth Wires m

xy_c Coordinates Phase Circuits m

manuf Manufacturer
doc_id Additional Data
desc Description

Power Systems Elements: Application References 29


DIgSILENT PowerFactory

Power Systems Elements: Application References 30


DIgSILENT PowerFactory

Chapter 31
Element Objects-Reference Data

31.1 2-Winding Transformers (ElmTr2/ElmTr2n)


Elements used to represent 2-winding, three or single phase transformers (autotrans-
formers), require a reference to a TypTr2 object. If the option Auto Transformer is en-
abled, autotransformer winding connection instead of galvanic separation is used.

Input parameters
Table 31.1 shows the input parameters for the ElmTr2 object, Table 31.2 for the
ElmTr2n. Parameters are presented in the same order of the element dialogue (starting
from the 'Basic Data' tab).
The description of the two winding transformers, presenting the relations among the input
parameters is given in the in the corresponding Technical Reference Paper (Support page
under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.1:ElmTr2 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

Power Systems Elements: Application References 1


DIgSILENT PowerFactory

Table 31.1:ElmTr2 Parameters


Name Description Unit Range Default

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

ntnum parallel Transformers x>0&x<100 0

nntap Tap Position 0

t2ldc Controlled Node x=0|x=1|x=2 0

ilcph Phase x>=0&x<=6 0

imldc Control Mode x[0]='V'|x[0]='P'|x[0] '


='Q

ldcct Current Transformer Rating A 1.

ldcpt Voltage Transformer Ratio 1.

ldcrs Rset V 0.

ldcxs Xset V 0.

ntrcn Automatic Tap Changing x=1|x=0 0

ildc Line Drop Compensation (LDC) x>=0&x<=2 0

strf1 Load Current 0.

ratfac Rating Factor x>0 1.

ifrqft Frequent Fault ( >10(5)/lifetime, Category x=1|x=0 0


II(III) )

usetp Voltage Setpoint p.u. x>=0 1.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

i_cont Tap Changer x>=0&x<=1 0

usp_up Upper Voltage Bound p.u. 01. Jan

usp_low Lower Voltage Bound p.u. 0.99

psp_up Upper Active Power Bound MW 0.

psp_low Lower Active Power Bound MW 0.

qsp_up Upper Reactive Power Bound Mvar 0.

Power Systems Elements: Application References 2


DIgSILENT PowerFactory

Table 31.1:ElmTr2 Parameters


Name Description Unit Range Default

qsp_low Lower Reactive Power Bound Mvar 0.

tapctrl Tap Controller

re0tr_h Re Ohm x>=0 0.

xe0tr_h Xe Ohm x>=0 0.

re0tr_l Re Ohm 0.

xe0tr_l Xe Ohm x>=0 0.

iopt_hf Consider HF-Parameter x=0|x=1 0

Cg_h Capacitance HV-Ground uF x>=0 0.

Cg_l Capacitance LV-Ground uF x>=0 0.

Cc1_hl Capacitance HV-LV, 1-Sequence uF x>=0 0.

Cc0_hl Capacitance HV-LV, 0-Sequence uF x>=0 0.

ifc Forced Cooling Enabled x=1|x=0 0

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

i_auto Auto Transformer x=0|x=1 0

i_eahv HV-side, phase 2 internally grounded x>=0|x<=2 0

i_ealv LV-side, phase 2 internally grounded x>=0|x<=2 0

ignd_h Star Point x>=0|x<=2 0

ignd_l Star Point x>=0|x<=2 0

iintgnd External Star Point x=0|x=1 0

i_hvcon HV-side, phase 2 connected x=0|x=1 0

i_lvcon LV-side, phase 2 connected x=0|x=1 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

iTaps According to Measurement Report x=0|x=1 0

Power Systems Elements: Application References 3


DIgSILENT PowerFactory

Table 31.1:ElmTr2 Parameters


Name Description Unit Range Default

iMeasLoc Measured at x=0|x=1 0

mTaps Measurement Report

i_uopt Tap Position 0

i_uoptCont Control Mode x=0|x=1 0

maxload Max. Loading % x>=0 100.

iOPFCload Max. Loading x=0|x=1 0

iblock Unit Transformer x=0|x=1 0

ilt_op Long-term operating conditions before x=0|x=1 0


short-circuit are known

Ub_lv Highest Operating Voltage kV 0.

Ib_lv Highest Operating Current kA 0.

cosphib_lv Power factor 0.9

Ubqmin_hv Minimum Operating Voltage kV 0.

Tctrl Controller Time Constant s x>0 0.5

Kqctrl Controller Sensitivity dv/dQ %/Mvar x<0|x>0 0.1

Kpctrl Controller Sensitivity dv/dP %/MW x<0|x>0 0.1

pldc External LDC

i_tapini Estimate Tap Position 0

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

Table 31.2: ElmTr2n Parameters


Name Description Unit Range Default

loc_name Name _NameValid

Power Systems Elements: Application References 4


DIgSILENT PowerFactory

Table 31.2: ElmTr2n Parameters


Name Description Unit Range Default

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

ntnum parallel Transformers x>0&x<100 0

nntap Tap Position 0

t2ldc Controlled Node x=0|x=1|x=2 0

ilcph Phase x>=0&x<=6 0

imldc Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

ldcct Current Transformer Rating A 1.

ldcpt Voltage Transformer Ratio 1.

ldcrs Rset V 0.

ldcxs Xset V 0.

ntrcn Automatic Tap Changing x=1|x=0 0

ildc Line Drop Compensation (LDC) x>=0&x<=2 0

ratfac Rating Factor x>0 1.

ifrqft Frequent Fault ( >10(5)/lifetime, Category II(III) x=1|x=0 0


)

usetp Voltage Setpoint p.u. x>=0 1.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

i_cont Tap Changer x>=0&x<=1 0

usp_up Upper Voltage Bound p.u. 01. Jan

usp_low Lower Voltage Bound p.u. 0.99

psp_up Upper Active Power Bound MW 0.

Power Systems Elements: Application References 5


DIgSILENT PowerFactory

Table 31.2: ElmTr2n Parameters


Name Description Unit Range Default

psp_low Lower Active Power Bound MW 0.

qsp_up Upper Reactive Power Bound Mvar 0.

qsp_low Lower Reactive Power Bound Mvar 0.

tapctrl Tap Controller

iopt_hf Consider HF-Parameter x=0|x=1 0

Cg_h Capacitance HV-Ground uF x>=0 0.

Cg_l Capacitance LV-Ground uF x>=0 0.

Cc1_hl Capacitance HV-LV, 1-Sequence uF x>=0 0.

Cc0_hl Capacitance HV-LV, 0-Sequence uF x>=0 0.

ifc Forced Cooling Enabled x=1|x=0 0

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

i_auto Auto Transformer x=0|x=1 0

i_eahv HV-side, phase 2 internally grounded x>=0|x<=2 0

i_ealv LV-side, phase 2 internally grounded x>=0|x<=2 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

iTaps According to Measurement Report x=0|x=1 0

iMeasLoc Measured at x=0|x=1 0

mTaps Measurement Report

i_uopt Tap Position 0

i_popt Optimize Active Power Setpoint 0

i_qopt Optimize Reactive Power Setpoint 0

maxload Max. Loading % x>=0 100.

iblock Unit Transformer x=0|x=1 0

Power Systems Elements: Application References 6


DIgSILENT PowerFactory

Table 31.2: ElmTr2n Parameters


Name Description Unit Range Default

ilt_op Long-term operating conditions before short- x=0|x=1 0


circuit are known

Ub_lv Highest Operating Voltage kV 0.

Ib_lv Highest Operating Current kA 0.

cosphib_lv Power factor 0.9

Ubqmin_h Minimum Operating Voltage kV 0.


v

Tctrl Controller Time Constant s x>0 0.5

Kqctrl Controller Sensitivity dv/dQ %/Mvar x<0|x>0 0.1

Kpctrl Controller Sensitivity dv/dP %/MW x<0|x>0 0.1

pldc External LDC

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

31.2 3-Winding Transformer (ElmTr3)


Element used to represent 3-phase, 3-winding transformers (or autotransformers), re-
quires a reference to a TypTr3 object.

Input parameters
Table 31.3 shows the input parameters for the ElmTr3 object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the 3-winding transformers, presenting the relations among the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more

Power Systems Elements: Application References 7


DIgSILENT PowerFactory

than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.3: ElmTr3 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

nt3nm parallel Transformers x>0&x<100 0

ntrcn Automatic Tap Changing x=0|x=1 0

usetp Voltage Setpoint p.u. x>=0 1.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

ictrlside for Tap at x>=0&x<=2 0

imldc Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

ilcph Phase x>=0&x<=6 0

t3ldc Controlled Node x>=0|x<=3 0

n3tap_h Act. Position 0

n3tap_m Act. Position 0

n3tap_l Act. Position 0

n3rcn_h Automatic Tap Changing x=0|x=1 0

n3rcn_m Automatic Tap Changing x=0|x=1 0

n3rcn_l Automatic Tap Changing x=0|x=1 0

Power Systems Elements: Application References 8


DIgSILENT PowerFactory

Table 31.3: ElmTr3 Parameters


Name Description Unit Range Default

lodt3 Type Load

nt3rl Pointer to relais 0

usetp_h Voltage Setpoint p.u. x>=0 1.

usetp_m Voltage Setpoint p.u. x>=0 1.

usetp_l Voltage Setpoint p.u. x>=0 1.

psetp_h Active Power Setpoint p.u. 0.

psetp_m Active Power Setpoint p.u. 0.

psetp_l Active Power Setpoint p.u. 0.

qsetp_h Reactive Power Setpoint p.u. 0.

qsetp_m Reactive Power Setpoint p.u. 0.

qsetp_l Reactive Power Setpoint p.u. 0.

imldc_h Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

imldc_m Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

imldc_l Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

t3ldc_h Controlled Node x>=0|x<=3 0

t3ldc_l Controlled Node x>=0|x<=3 0

t3ldc_m Controlled Node x>=0|x<=3 0

ratfac_h HV-Side x>0 1.

ratfac_m MV-Side x>0 1.

ratfac_l LV-Side x>0 1.

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

tapctrl Tap Controller

Tctrl Controller Time Constant s x>0 0.5

Kqctrl Controller Sensitivity dv/dQ %/ x<0|x>0 0.1


Mvar

Kpctrl Controller Sensitivity dv/dP %/ x<0|x>0 0.1


MW

Power Systems Elements: Application References 9


DIgSILENT PowerFactory

Table 31.3: ElmTr3 Parameters


Name Description Unit Range Default

i_cont Tap Changer x=0|x=1 0

usp_up Upper Voltage Bound p.u. x>=0 01. Jan

usp_low Lower Voltage Bound p.u. x>=0 0.99

psp_up Upper Active Power Bound MW 0.

psp_low Lower Active Power Bound MW 0.

qsp_up Upper Reactive Power Bound Mvar 0.

qsp_low Lower Reactive Power Bound Mvar 0.

ignd_h Star Point x>=0|x<=2 0

ignd_m Star Point x>=0|x<=2 0

ignd_l Star Point x>=0|x<=2 0

i_auto_hl Auto Transformer x=0|x=1|x=2 0

iintgnd External Star Point x=0|x=1 0

i_cont_h Tap Changer x=0|x=1 0

i_cont_m Tap Changer x=0|x=1 0

i_cont_l Tap Changer x=0|x=1 0

re0h Re Ohm 0.

re0m Re Ohm 0.

re0l Re Ohm 0.

xe0h Xe Ohm 0.

xe0m Xe Ohm 0.

xe0l Xe Ohm 0.

ifc Forced Cooling Enabled x=1|x=0 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

i_tapopt_l Tap Position LV-Side x=0|x=1 0

i_tapopt_h Tap Position HV-Side x=0|x=1 0

Power Systems Elements: Application References 10


DIgSILENT PowerFactory

Table 31.3: ElmTr3 Parameters


Name Description Unit Range Default

i_tapopt_ Tap Position MV-Side x=0|x=1 0


m

i_tapoptCo Control Mode LV-Side x=0|x=1 0


nt_l

i_tapoptCo Control Mode HV-Side x=0|x=1 0


nt_h

i_tapoptCo Control Mode MV-Side x=0|x=1 0


nt_m

maxload Max. Loading % x>=0 100.

iOPFCload Max. Loading x=0|x=1 0

ildc Line Drop Compensation (LDC) x>=0&x<=1 0

pldc External LDC

i_tapini_h Estimate Tap Position HV-Side 0

i_tapini_m Estimate Tap Position MV-Side 0

i_tapini_l Estimate Tap Position LV-Side 0

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0

iTaps According to Measurement Report x=0|x=1 0

iMeasTap for Tap at x>=0&x<=2 0

iMeasLoc Measured at x>=0&x<=2 0

mTaps Measurement Report

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

31.3 Asynchronous Machine (ElmAsm)


Element used to represent asynchronous machine models, requires a reference to a
TypAsmo or TypAsm (obsolete) object.

Power Systems Elements: Application References 11


DIgSILENT PowerFactory

Input parameters
Table 31.4 shows the input parameters of the ElmAsm object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the asynchronous machine model, presenting the relations among the
input parameters is given in the corresponding Technical Reference Paper (Support page
under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.4: ElmAsm Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

monof Operation Mode x=0|x=1 0

ngnum parallel Machines x>0&x<100 0

pgini Active Power MW x>=0 0.

qgini Reactive Power Mvar 0.

bustp Bus Type

i_mot Generator/Motor 0

mdmex Exponent x>=0 2.

mdmlp Proportional Factor p.u. x>=0&x<=100 1.

tstart Starting Time s x>=0 0.

Power Systems Elements: Application References 12


DIgSILENT PowerFactory

Table 31.4: ElmAsm Parameters


Name Description Unit Range Default

iconfed Static converter-fed drive x=0|x=1 0

i_rem Remote Control x=0|x=1 0

p_cub Controlled Branch (Cubicle)

i_pset Estimate Active Power x=0|x=1 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

iAstabint A-stable integration algorithm x=0|x=1 0

ignd Star Point x=0|x=2 0

iintgnd External Star Point x=0|x=1 0

Xe Xearth Ohm x>=0 0.

Re Rearth Ohm x>=0 0.

iUseStart Use Motor Starting Method x=0|x=1 0

iStartMethod Motor Starting Method x>=0&x<=2 0

Tyd Switch to 'D' after s x>=0 0.5

mdTradd Variable Rotor Resistance

idfig Doubly Fed Induction Machine x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

31.4 Booster Transformer (ElmTrb)


Element used to represent booster transformers (3-phase), requires a reference to a
TypTrb object.

Power Systems Elements: Application References 13


DIgSILENT PowerFactory

Input parameters
Table 31.5 shows the input parameters for the ElmTrb object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the booster transformers, presenting the relations among the input pa-
rameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.5: ElmTrb Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

ntnum parallel Transformers x>0&x<100 0

re0tr_l Re Ohm 0.

xe0tr_l Xe Ohm x>=0 0.

Power Systems Elements: Application References 14


DIgSILENT PowerFactory

31.5 Cable System (ElmCabsys)


Element used to represent a system of electromagneticaly coupled cables.

Input parameters
Table 31.6 shows the input parameters for the ElmCabsys object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the cable system, presenting the relations among the input parameters
and the required types is given in the corresponding Technical Reference Paper (Support
page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.6: ElmCabsys Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Cable Definition

desc Description

plines Circuit ElmLne,ElmLneroute

dpolar Polarity

i_dist Line Model x=0|x=1 0

c_dist Distributed Parameter 0

c_lumped Lumped Parameter (PI) 0

Power Systems Elements: Application References 15


DIgSILENT PowerFactory

Table 31.6: ElmCabsys Parameters


Name Description Unit Range Default

tmat Transformation Matrix Tv

pzs Surge Impedance Ohm

pa Wave Propagation

pTa Travel Time s

ftau Frequency for Parameter Hz x>0 100000


Approximation .

31.6 Common Impedance (ElmZpu)


The Common Impedance is a per unit impedance model including an ideal transformer.
The main usage is for branches used for network reduction.

Input parameters
Table 31.7 shows the input parameters for the ElmZpu object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the common impedance model, presenting the relations among the in-
put parameters is given in the corresponding Technical Reference Paper (Support page
under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 31.7:ElmZpu Parameters


Name Description Unit Range Default

name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

Power Systems Elements: Application References 16


DIgSILENT PowerFactory

Table 31.7:ElmZpu Parameters


Name Description Unit Range Default

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iZoneBus Zone 0

Sn Nominal Power MVA x>=0 1.

nphases Phases x=1|x=3 0

iequalz Use equal Impedances (zij = zji) x=0|x=1 0

iz2eqz1 Use Impedance z2 = z1 x=0|x=1 0

r_pu Real Part p.u. 0.

x_pu Imaginary Part p.u. 0.

r_pu_ji Real Part p.u. 0.

x_pu_ji Imaginary Part p.u. 0.

r0_pu Real Part p.u. 0.

x0_pu Imaginary Part p.u. 0.

r0_pu_ji Real Part p.u. 0.

x0_pu_ji Imaginary Part p.u. 0.

r2_pu Real Part p.u. 0.

x2_pu Imaginary Part p.u. 0.

r2_pu_ji Real Part p.u. 0.

x2_pu_ji Imaginary Part p.u. 0.

iZshc Use same impedance as for loadflow x=0|x=1 0

rs_pu Real Part p.u. 0.

xs_pu Imaginary Part p.u. 0.

rs_pu_ji Real Part p.u. 0.

xs_pu_ji Imaginary Part p.u. 0.

r0s_pu Real Part p.u. 0.

x0s_pu Imaginary Part p.u. 0.

r0s_pu_ji Real Part p.u. 0.

x0s_pu_ji Imaginary Part p.u. 0.

r2s_pu Real Part p.u. 0.

Power Systems Elements: Application References 17


DIgSILENT PowerFactory

Table 31.7:ElmZpu Parameters


Name Description Unit Range Default

x2s_pu Imaginary Part p.u. 0.

r2s_pu_ji Real Part p.u. 0.

x2s_pu_ji Imaginary Part p.u. 0.

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

31.7 Doubly Fed Induction Machine (ElmAsmsc)


Element used to represent doubly fed induction generators, requires a reference to a
TypAsmo object.

Input parameters
Table 31.8 shows the input parameters of the ElmAsm object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the double feed asynchronous machine model, presenting the relations
among the input parameters is given in the corresponding Technical Reference Paper
(Support page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 18


DIgSILENT PowerFactory

Table 31.8: ElmAsmsc Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

monof Operation Mode x=0|x=1 0

ngnum parallel Machines x>0&x<100 0

pgini Active Power MW x>=0 0.

qgini Reactive Power Mvar 0.

i_mot Generator/Motor 0

mdmex Exponent x>=0 2.

mdmlp Proportional Factor p.u. x>=0&x<=100 1.

tstart Starting Time s x>=0 0.

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

slipset Slip % x>-100&x<100 0.5

Urot Rated Slip Ring Voltage V x>0 1.

rcrow Crow-Bar Resistance p.u. x>=0 0.

xcrow Crow-Bar Reactance p.u. x>=0 0.

i_conv Use Integrated PWM Converter x=0|x=1 0

i_ctrl Use Built-In Current Controller x=0|x=1 0

i_feedback Rotor Flux Feed-Back x=0|x=1 0

cv Cv x>=0 0.

Power Systems Elements: Application References 19


DIgSILENT PowerFactory

Table 31.8: ElmAsmsc Parameters


Name Description Unit Range Default

Pmmax Max Pulse Width Modulation Index x>0 1.

Kd Kd 0.1

Kq Kq 0.1

Td Td s 0.01

Tq Tq s 0.01

p_pctrl Controlled Flow

iAstabint A-stable integration algorithm x=0|x=1 0

ignd Star Point x=0|x=2 0

Xe Xearth Ohm x>=0 0.

Re Rearth Ohm x>=0 0.

31.8 External Network (ElmXnet)


Element used to represent external networks.

Input parameters
Table 31.9 shows the input parameters for the ElmXnet object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the external network model, presenting the relations among the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.9: ElmXnet Parameters


Name Description Unit Range Default

loc_name Name _NameValid

Power Systems Elements: Application References 20


DIgSILENT PowerFactory

Table 31.9: ElmXnet Parameters


Name Description Unit Range Default

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

bustp Bus Type

pgini Active Power MW 0.

qgini Reactive Power Mvar 0.

sgini Apparent Power MVA x>=0 0.

cosgini Power Factor x>=-1&x<=1 0.

snss Short-Circuit Power Sk''max MVA x>0 10000.

rntxn R/X Ratio (max.) x>=0 0.1

xntrn X/R Ratio (max.) x>=0 10.

cmax c-Factor (max.) x>0 01. Jan

cmin c-Factor (min.) x>0 1.

cused Use for calculation x=0|x=1 0

z2tz1 Z2/Z1 max. x>=0 1.

z0tz1 Z0/Z1 max. x>=0 1.

x0tx1 X0/X1 max. x>=0 1.

r0tx0 R0/X0 max. x>=0 0.1

iintgnd External Star Point x=0|x=1 0

ignd Star Point x>=0|x<=2 0

Re Grounding Resistance Ohm 0.

Xe Grounding Reactance Ohm 0.

fdsymr Resistance R=R(freq) [A-Z] _FrqDepValid

fdsyml Reactance L=L(freq) [A-Z] _FrqDepValid

usetp Voltage Setpoint p.u. x>=0 1.

ip_ctrl Secondary Controller (Slack) x=0|x=1 0

Power Systems Elements: Application References 21


DIgSILENT PowerFactory

Table 31.9: ElmXnet Parameters


Name Description Unit Range Default

iv_mode Voltage Controller Mode x=0|x=1 0

phiini Angle deg x>=-180&x<=180 0.

tag Acceleration Time Constant s x>0 99.

K Secondary Frequency Bias MW/Hz x>=0 0.

desc Description

snssmin Short-Circuit Power Sk''min MVA x>0 8000.

rntxnmin R/X Ratio (min.) x>=0 0.1

xntrnmin X/R Ratio (min.) x>=0 10.

z2tz1min Z2/Z1 min. x>=0 1.

z0tz1min Z0/Z1 min. x>=0 1.

x0tx1min X0/X1 min. x>=0 1.

r0tx0min R0/X0 min. x>=0 0.1

MaxS Max. Power MW x>=0 100000


.

ecost Energy Cost $/kWh x>0 0.05

p_uctrl Reference Busbar

cmonth No load costs (monthly) $/M 0.

cpower From MW

ccost Costs $/MWh

ictpg Active Power x=0|x=1 0

ictqg Reactive Power x=0|x=1 0

iOPFCPmi Min. x=0|x=1 0


n

iOPFCPm Max. x=0|x=1 0


ax

iOPFCQmi Min. x=0|x=1 0


n

iOPFCQm Max. x=0|x=1 0


ax

q_min Min. Mvar 0.

q_max Max. Mvar 100.

Pmin_uc Minimum Power MW 0.

Power Systems Elements: Application References 22


DIgSILENT PowerFactory

Table 31.9: ElmXnet Parameters


Name Description Unit Range Default

round Smoothing of Cost Function % x>=0.0&x<=100.0 5.

Kpf Primary Frequency Bias MW/Hz 0.

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

Pctrl Active power steps 0

i_prty Priority x>=0 0

mode_inp Input Mode

31.9 Load General (ElmLod)


Element used to represent load models. Requires a reference to a TypLod object for gen-
eral loads and a TypLodind object for complex loads.

Input parameters
Table 31.10 shows the input parameters of the ElmLod object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the general load model, presenting the relations among the input pa-
rameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 23


DIgSILENT PowerFactory

Table 31.10: ElmLod Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

plini Active Power MW 0.

qlini Reactive Power Mvar 0.

plinir Active Power MW 0.

qlinir Reactive Power Mvar 0.

plinis Active Power MW 0.

qlinis Reactive Power Mvar 0.

plinit Active Power MW 0.

qlinit Reactive Power Mvar 0.

scale0 Scaling Factor 1.

i_sym Balanced/Unbalanced x=0|x=1 0

mode_inp Input Mode

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

u0 Voltage p.u. x>0 1.

phmc Harmonic Currents

pSCDF Time dependent rate

fSCDF Scaling factor 1.

OptCost Unit 0

Power Systems Elements: Application References 24


DIgSILENT PowerFactory

Table 31.10: ElmLod Parameters


Name Description Unit Range Default

NrCust Number of connected customers x>0 0

i_prty Load priority 0

shed Shedding steps 0

trans Transferable % x>=0.0&x<=100.0 0.

pTrans Alternative Supply (Load)

i_scale Adjusted by Feeder Load Scaling x=0|x=1 0

i_pini Estimate Active Power x=0|x=1 0

i_qini Estimate Reactive Power x=0|x=1 0

i_rem Remote Control x=0|x=1 0

p_cub Controlled Branch (Cubicle)

i_scaleini Estimate Scaling Factor x=0|x=1 0

iShedding Allow load shedding x=0|x=1 0

shedcost Costs for load shedding $/MVA 1.

shedmax Max. load shedding % x>=0.0&x<=100.0 100.

shedmin Min. load shedding % x>=0.0&x<=100.0 0.

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

31.10 Load Low Voltage (ElmLodlv)


Element used to represent loads at low voltage level.

Input parameters
Table 31.11 shows the input parameters for the ElmLodlv object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the low voltage load model, presenting the relations among the input
parameters and the required types is given in the corresponding Technical Reference Pa-

Power Systems Elements: Application References 25


DIgSILENT PowerFactory

per (Support page under Technical References).


Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.11: ElmLodlv Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

lodparts Add. Loads

plini Active Power, P kW x>=0 0.

slini Apparent Power, S kVA x>=0 0.

coslini Power Factor, cos(phi) x>=0&x<=1 0.

ulini Voltage, U(L-L) kV x>0 0.4

ilini Current, I A x>=0 0.

pf_recap Power Factor x=0|x=1 0

pnight P kW x>=0 0.

NrCust Number of Customers x>=0 0

iopt_inp Load Type x>=0&x<=3 0

scale0 Scaling Factor 1.

i_scale Adjusted by Load Scaling x=0|x=1 0

nphase No. of Phases x>=1|x<=3 0

iintgnd External Star Point x=0|x=1 0

Power Systems Elements: Application References 26


DIgSILENT PowerFactory

Table 31.11: ElmLodlv Parameters


Name Description Unit Range Default

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pSCDF Time dependent rate

fSCDF Scaling factor 1.

OptCost Unit 0

i_prty Load priority 0

shed Shedding steps 0

trans Transferable % x>=0.0&x<=100.0 0.

pTrans Alternative Supply (Load)

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

31.11 Load Partial (ElmLodvp)


Element used to represent partial loads.

Input parameters
Table 31.12 shows the input parameters for the ElmLodvp object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the partial load model, presenting the relations among the input pa-
rameters and the required types is given in the corresponding Technical Reference Paper
(Support page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-

Power Systems Elements: Application References 27


DIgSILENT PowerFactory

ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.12: ElmLodvp


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

plini Active Power, P kW x>=0 0.

slini Apparent Power, S kVA x>=0 0.

coslini Power Factor, cos(phi) x>=0&x<=1 0.

ulini Voltage, U kV x>0 0.4

ilini Current, I A x>=0 0.

pf_recap Power Factor x=0|x=1 0

pnight P kW x>=0 0.

NrCust Number of Customers x>=0 0

iopt_inp Load Type x>=0&x<=3 0

lnepos Position on Line % x>=0&x<=100 50.

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

Power Systems Elements: Application References 28


DIgSILENT PowerFactory

31.12 Line Route (ElmLneroute)


Element used to represent routes in both lines and cables. It can refer to any of the types
defined for transmission lines or cables (TypLne, TypTow, TypGeo).

Input parameters
Table 31.13 shows the input parameters for the ElmLneroute object. Parameters are
presented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the line route model, presenting the relations among the input param-
eters and the required types is given in the corresponding Technical Reference Paper
(Support page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.13: ElmLneroute


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

sections Sections

dline Length km x>=0 0.

fline Derating Factor x>=0 1.

Top Operating Temperature degC 20.

inAir Laying x=0|x=1 0

Power Systems Elements: Application References 29


DIgSILENT PowerFactory

Table 31.13: ElmLneroute


Name Description Unit Range Default

index Index 0.

ishclne Available x=0|x=1 0

fshcloc Short-Circuit Location % x>=0&x<=100 50.

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

NrCust Number of connected customers x>0 0

i_ldlv Line Load x=0|x=1 0

pStoch Element model

iperfect Ideal component 0

pCondCir Type of Phase Conductors

pCondGnd Type of Earth Conductors

pCondN Type of Neutral Conductors

sagCir Max.Sag, Phase Conductors m x>=0 0.

sagGnd Max.Sag, Ground Wires m x>=0 0.

ktrto Transposition x=0|x=1 0

rearth Earth Resistivity Ohmm x>=0 100.

maxload Max. Loading % x>=0 100.

iOPFCload Max. Loading x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

Power Systems Elements: Application References 30


DIgSILENT PowerFactory

31.13 Line Sub-Section (ElmLnesec)


Element used to represent sections of lines or cables. It can refer to any of the types de-
fined for transmission lines or cables (TypLne, TypTow, TypGeo).

Input parameters
Table 31.14 shows the input parameters for the ElmLnesec object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the line route model, presenting the relations among the input param-
eters and the required types is given in the corresponding Technical Reference Paper
(Support page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.14:ElmLnesec
Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

dline Length km x>=0 0.

fline Derating Factor x>=0 1.

inAir Laying x=0|x=1 0

index Index 0.

sernum Serial Number

constr Year of Construction 0

Power Systems Elements: Application References 31


DIgSILENT PowerFactory

Table 31.14:ElmLnesec
Name Description Unit Range Default

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

31.14 Motor Driven Machine (ElmMdm__X )


Elements used to represent motor driven machines. Three types of driven machine mod-
els are defined in PowerFactory: ElmMdm__1 (Type 1), ElmMdm__3 (Type 3) and
ElmMdm__5 (Type 5). All types of motor driven machine models may be used in con-
nection with a synchronous or an asynchronous motor.

Input parameters
Tables 31.15, 31.16 and 31.17 show the input parameters for the defined motor driven
machine types. Parameters are presented in the same order of the element dialogue
(starting from the 'Basic Data' tab).
The description of the motor driven machine models, presenting the relations among the
parameters and the connection to a motor, are given in the corresponding Technical Ref-
erence Paper (Support page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 31.15:ElmMdm__1 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

Power Systems Elements: Application References 32


DIgSILENT PowerFactory

Table 31.15:ElmMdm__1 Parameters


Name Description Unit Range Default

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

mdmex mdmex;Exponential factor 0.

mdmlp mdmlp;Proportional factor p.u. 0.

Table 31.16: ElmMdm__3 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0.

typ_id Type

alf1 alf1;Torque at synchronous speed p.u. 0.

slipm slipm;Slip at min. torque p.u. 0.

exp1 exp1;Exponent of first polynom. function 0.

alf2 alf2;Torque at standstill p.u. 0.

exp2 exp2;Exponent of second polynom. function 0.

xkmm xkmm;Torque at slip = Slipm (min. torque) p.u. 0.

Power Systems Elements: Application References 33


DIgSILENT PowerFactory

Table 31.17: ElmMdm__5 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

speed Speed p.u.

torque Torque p.u.

load Load p.u. x>=0 1.

nkoor nkoor;Number of used coordinates (speed) 0.

x1 x1;X-axis coordinates (speed) p.u. 0.

y1 y1;Y-axis coordinates (torque) p.u. 0.

x2 x2;X-axis coordinates (speed) p.u. 0.

y2 y2;Y-axis coordinates (torque) p.u. 0.

x3 x3;X-axis coordinates (speed) p.u. 0.

y3 y3;Y-axis coordinates (torque) p.u. 0.

x4 x4;X-axis coordinates (speed) p.u. 0.

y4 y4;Y-axis coordinates (torque) p.u. 0.

x5 x5;X-axis coordinates (speed) p.u. 0.

y5 y5;Y-axis coordinates (torque) p.u. 0.

x6 x6;X-axis coordinates (speed) p.u. 0.

y6 y6;Y-axis coordinates (torque) p.u. 0.

x7 x7;X-axis coordinates (speed) p.u. 0.

y7 y7;Y-axis coordinates (torque) p.u. 0.

x8 x8;X-axis coordinates (speed) p.u. 0.

y8 y8;Y-axis coordinates (torque) p.u. 0.

Power Systems Elements: Application References 34


DIgSILENT PowerFactory

Table 31.17: ElmMdm__5 Parameters


Name Description Unit Range Default

x9 x9;X-axis coordinates (speed) p.u. 0.

y9 y9;Y-axis coordinates (torque) p.u. 0.

x10 x10;X-axis coordinates (speed) p.u. 0.

y10 y10;Y-axis coordinates (torque) p.u. 0.

x11 x11;X-axis coordinates (speed) p.u. 0.

y11 y11;Y-axis coordinates (torque) p.u. 0.

x12 x12;X-axis coordinates (speed) p.u. 0.

y12 y12;Y-axis coordinates (torque) p.u. 0.

x13 x13;X-axis coordinates (speed) p.u. 0.

y13 y13;Y-axis coordinates (torque) p.u. 0.

x14 x14;X-axis coordinates (speed) p.u. 0.

y14 y14;Y-axis coordinates (torque) p.u. 0.

x15 x15;X-axis coordinates (speed) p.u. 0.

y15 y15;Y-axis coordinates (torque) p.u. 0.

31.15 Neutral Earthing Element (ElmNec)


The NEC/NER (Neutral Earthing Conductor/Neutral Earthing Reactor) is the grounding el-
ement in PowerFactory, does not require any type.

Input parameters
Table 31.18 shows the input parameters for the ElmNec object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the NEC/NER model, presenting the relations among the input param-
eters is given in the corresponding Technical Reference Paper (Support page under Tech-
nical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 35


DIgSILENT PowerFactory

Table 31.18: ElmNec Parameters


DisplayN Description Unit Range Default
ame

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

Unom Rated Voltage kV x>0 1.

Curn Rated Current (Ie=3*I0) kA x>0 0.1

Ithlim Rated Short-Time Thermal Current (3*I0) kA x>0 1.

Tkr Rated Short-Circuit Duration s x>0 1.

ignd Star Point x>=0|x<=1 0

R0 Zero Sequence Resistance Ohm 0.

X0 Zero Sequence Reactance Ohm 0.

Re Grounding Resistance Ohm 0.

Xe Grounding Reactance Ohm 0.

fcharR0 Frequency Dependency R0

fcharL0 Frequency Dependency L0

fcharRe Frequency Dependency Re

fcharLe Frequency Dependency Le

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

Power Systems Elements: Application References 36


DIgSILENT PowerFactory

31.16 PWM AC/DC Converter - 1 DC Connection


(ElmVscmono)
Element used for a PWM converter model. Represents a self-commutated, voltage
sourced AC/DC converter (capacitive DCcircuit).

Input parameters
Table 31.19 shows the input parameters of the ElmVscmono object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the PWM converter model, presenting the relations among the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 31.19: ElmVscmono Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

Unom Rated AC-Voltage kV x>0 1.

Unomdc Rated DC-Voltage (DC) kV x>0 1.

Snom Rated Power MVA x>0 1.

usetp AC Voltage Setpoint p.u. x>0.0 1.

usetpdc DC Voltage Setpoint p.u. x>0.0 1.

phisetp Phase Setpoint deg 0.

Power Systems Elements: Application References 37


DIgSILENT PowerFactory

Table 31.19: ElmVscmono Parameters


Name Description Unit Range Default

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

p_phictrl Controlled Node

p_uctrl Controlled Node (AC)

p_uctrldc Controlled Node (DC)

p_pctrl Controlled Flow

p_qctrl Controlled Flow

i_acdc Control Mode x>=0&x<=6 0

pmsetp PWM Factor p.u. 0<=x 1.

pmd_max Upper Limit of Pmd p.u. 0<=x&x<=1 1.

pmd_min Lower Limit of Pmd p.u. 0<=x&x<=1 0.

pmq_max Upper Limit of Pmq p.u. 0<=x&x<=1 1.

pmq_min Lower Limit of Pmq p.u. 0<=x&x<=1 0.

phmc Harmonic Injections

i_mod Modulation x=0|x=1|x=2 0

fmod Modulation Frequency Hz 10000.

Ron Transistor/Diode On-Resistance Ohm x>0 0.0001

Goff Transistor/Diode Off-Conductance uS x>=0 0.001

Cvalve Snubber Capacitance uF x>0 0.1

Gvalve Snubber Conductance S x>=0 0.

i_det Model x=0|x=1 0

i_ctrl Use Integrated Current Controller x=0|x=1 0

uk Short Circuit Impedance % x>=0 0.

Pcu Copper Losses kW x>=0 0.

Pnold No-Load Losses kW x>=0 0.

Cdc DC-Capacitance (not in use) uF x>=0 0.

Kd Kd 0.1

Kq Kq 0.1

Td Td s 0.01

Tq Tq s 0.01

Power Systems Elements: Application References 38


DIgSILENT PowerFactory

Table 31.19: ElmVscmono Parameters


Name Description Unit Range Default

q_max Max. p.u. 1.

q_min Min. p.u. -1.

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

iconfed Static converter-fed drive x=0|x=1 0

ictrltp Model x>=0&x<=2 0

iAstabint A-stable integration algorithm x=0|x=1 0

31.17 PWM AC/DC Converter - 2 DC Connections


(ElmVsc)
Element used for a PWM converter model. Voltage sourced AC/DC converter with 2-DC
connections.

Input parameters
Table 31.20 shows the input parameters of the ElmVsc object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the converter model, presenting the relations among the input param-
eters is given in the corresponding Technical Reference Paper (Support page under Tech-
nical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 39


DIgSILENT PowerFactory

Table 31.20: ElmVsc Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

Unom Nominal Voltage (AC) kV x>0 1.

Unomdc Nominal Voltage (DC) kV x>0 1.

Snom Nominal Power MVA x>0 1.

usetp Voltage Setpoint p.u. x>0.0 1.

phisetp Phase Setpoint deg 0.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

p_phictrl Controlled Node

p_uctrl Controlled Node

p_pctrl Controlled Flow

p_qctrl Controlled Flow

i_acdc Control Mode x>=0&x<=5 0

pmsetp PWM Factor p.u. 0<=x 1.

pmd_max Upper Limit of Pmd p.u. 0<=x&x<=1 1.

pmd_min Lower Limit of Pmd p.u. 0<=x&x<=1 0.

pmq_max Upper Limit of Pmq p.u. 0<=x&x<=1 1.

pmq_min Lower Limit of Pmq p.u. 0<=x&x<=1 0.

phmc Harmonic Voltages

i_mod Modulation x=0|x=1|x=2 0

fmod Modulation Frequency 10000.

Ron Transistor/Diode On-Resistance Ohm x>0 0.0001

Power Systems Elements: Application References 40


DIgSILENT PowerFactory

Table 31.20: ElmVsc Parameters


Name Description Unit Range Default

Goff Transistor/Diode Off-Conductance myS x>=0 0.001

i_det Model x=0|x=1 0

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

iconfed Static converter-fed drive x=0|x=1 0

ictrltp Model x>=0&x<=2 0

iAstabint A-stable integration algorithm x=0|x=1 0

31.18 Rectifier/Inverter 1-DC Connection (ElmRecmono)


Rectifier model with a sigle DC connection, requires a reference to a TypRec object.

Input parameters
Table 31.21 shows the input parameters for the ElmRecmono object. Parameters are
presented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the rectifier model, presenting the relations among the input parame-
ters is given in the corresponding Technical Reference Paper (Support page under Tech-
nical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 41


DIgSILENT PowerFactory

Table 31.21:ElmRecmono Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

uset Voltage Setpoint p.u. 1.

pset Power-Setpoint p.u. 1.

Pset Power-Setpoint MW 1.

Qset Reactive Power-Setpoint Mvar 1.

Iset Current Setpoint kA x>0 1.

Xd Commutation Reactance Ohm x>=0 0.

mode Orientation (Rectifier/Inverter) *x='R'|*x='I '

bstp Control-Characteristic *x='V'|*x='I'|*x='P'|*x='Q'|*x='E' '


|*x='G

alpha_set Actual Firing-Angle deg 0<=x&x<=180 15.

gamma_set Extinction Angle (gamma) Setpoint deg 0<=x&x<=180 15.

ntrcn Tap-Changer x=0|x=1|x=2 0

nntap Actual Winding Ratio p.u. x>0 1.

alphacn Automatic Firing Angle Control x=0|x=1 0

pctrl Controller

phmc Harmonic Currents

Power Systems Elements: Application References 42


DIgSILENT PowerFactory

Table 31.21:ElmRecmono Parameters


Name Description Unit Range Default

i_int Ideal Rectifier x=0|x=1 0

maxorder Maximum Harmonic Order x>0 0

i_cv Current/Voltage-Source Converter x=0|x=1 0

alphamin Minimum Firing Angle deg 0<=x&x<=180 0.

alphamax Maximum Firing Angle deg 0<=x&x<=180 180.

gammamin Minimum Extinction Angle deg 0<=x&x<=180 0.

gammamax Maximum Extinction Angle deg 0<=x&x<=180 180.

nt2ag Phase Shift *30d x>=0&x<12 0


eg

iAstabint A-stable integration algorithm x=0|x=1 0

iconfed Static converter-fed drive x=0|x=1 0

31.19 Rectifier/Inverter 2-DC Connection (ElmRec)


Rectifier model with 2-DC connections, requires a reference to a TypRec object.

Input parameters
Table 31.22 shows the input parameters for the ElmRec object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the rectifier model, presenting the relations among the input parame-
ters is given in the corresponding Technical Reference Paper (Support page under Tech-
nical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Power Systems Elements: Application References 43


DIgSILENT PowerFactory

Table 31.22: ElmRec Parameters


Name Description Unit Default

loc_name Name

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key

dat_src Data source

outserv Out of Service 0

typ_id Type

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

uset Voltage Setpoint p.u. 1.

pset Power-Setpoint p.u. 1.

Pset Power-Setpoint MW 1.

Qset Reactive Power-Setpoint Mvar 1.

Iset Current Setpoint kA 1.

Xd Commutation Reactance Ohm 0.

mode Orientation (Rectifier/Inverter)

bstp Control-Characteristic

alpha_set Actual Firing-Angle deg 15.

gamma_set Extinction Angle (gamma) Setpoint deg 15.

ntrcn Tap-Changer 0

nntap Actual Winding Ratio p.u. 1.

alphacn Automatic Firing Angle Control 0

pctrl Controller

phmc Harmonic Currents

i_int Ideal Rectifier 0

Power Systems Elements: Application References 44


DIgSILENT PowerFactory

Table 31.22: ElmRec Parameters


Name Description Unit Default

maxorder Maximum Harmonic Order 0

i_cv Current/Voltage-Source Converter 0

alphamin Minimum Firing Angle deg 0.

alphamax Maximum Firing Angle deg 180.

gammamin Minimum Extinction Angle deg 0.

gammamax Maximum Extinction Angle deg 180.

nt2ag Phase Shift *30deg 0

iAstabint A-stable integration algorithm 0

iconfed Static converter-fed drive 0

31.20 Series Capacitances (ElmScap)


The ElmScap object represents series capacitances in PowerFactory. It can be used
for various applications, e.g.
• Series compensation of transmission lines
• Filter capacitance

Input parameters
Table 31.23 shows the input parameters of the ElmScap object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the Series Capacitance model, presenting the relations among the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Power Systems Elements: Application References 45


DIgSILENT PowerFactory

Table 31.23: ElmScap Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iZoneBus Zone 0

ucn Rated Voltage kV x>=0 1.

nphases Phases x=1|x=3 0

xcap Reactance 1/B Ohm x>=0 0.

bcap Susceptance, B S x>=0 0.

ccap Capacitance, C F x>=0 0.

Imov1 MOV Current 1 kA x>=0 0.

Vmov1 MOV Voltage 1 kV x>=0 0.

Imov2 MOV Current 2 kA x>=0 0.

Vmov2 MOV Voltage 2 kV x>=0 0.

Curn Rated Current kA x>0 1.

Sn Rated Power MVA x>0 173.205

i_enter Metal Oxid Varistor x=0|x=1 0

Im Current kA

Vm Voltage kV

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

systp System Type x=0|x=1 0

Power Systems Elements: Application References 46


DIgSILENT PowerFactory

Table 31.23: ElmScap Parameters


Name Description Unit Range Default

iAstabint A-stable integration algorithm x=0|x=1 0

iInterPol Interpolation x=0|x=1 0

smoothfac Smoothing Factor % x>=0.0&x<=1 10.


00.0

31.21 Series Reactance (ElmSind)


The ElmSind object represents series reactances in PowerFactory.

Input parameters
Table 31.24 shows the input parameters for the ElmSind object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the series reactance model, presenting the relations among the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.24: ElmSind Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

Power Systems Elements: Application References 47


DIgSILENT PowerFactory

Table 31.24: ElmSind Parameters


Name Description Unit Range Default

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iZoneBus Zone 0

ucn Rated Voltage kV x>0 6.

nphases Phases x=1|x=3 0

Curn Rated Current kA x>0 0.096225

Sn Rated Power MVA x>0 1.

uk Short-Circuit Voltage uk % x>=0 0.

ukr Short-Circuit Voltage (Re(uk)) ukr % x>=0 0.

Pcu Copper Losses kW x>=0 0.

Zd Impedance (absolute) Zd Ohm x>=0 0.

xrea Reactance, X Ohm x>=0 0.

lrea Inductance, L mH x>=0 0.

rrea Resistance, R Ohm x>=0 0.

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

systp System Type x=0|x=1 0

iAstabint A-stable integration algorithm x=0|x=1 0

31.22 Shunt/Filter Element (ElmShnt)


The ElmShnt object is used to represent different shunt connection types.

Input parameters
Table 31.25 shows the input parameters for the ElmShnt object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).

Power Systems Elements: Application References 48


DIgSILENT PowerFactory

The description of the shunt/filter model, presenting the relations among the input pa-
rameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.25: ElmShnt Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0,00

ushnm Nominal Voltage kV x>0 6.

nshph Phases x>=1&x<=3 0,00

iintgnd External Star Point x=0|x=1 0,00

ignd Star Point x>=0|x<=2 0,00

nbsph of Phase

imldc Control Mode x[0]='V'|x[0]='Q'|x[0]='P '

ilcph Phase x>=0&x<=6 0,00

iQorient Orientation x=0|x=1 0,00

ncapx Max. No. of Steps x>0 0,00

ncapa Act.No. of Step x>=0 0,00

shtype Shunt Type x=0|x=1|x=2|x=3|x=4 0,00

capsa Vector Group

qcapn Rated Reactive Power, C Mvar x>=0 0.96

qtotn Rated Reactive Power, L-C Mvar x>=0 1.

cucap Rated Current, C A x>=0 0.

Power Systems Elements: Application References 49


DIgSILENT PowerFactory

Table 31.25: ElmShnt Parameters


Name Description Unit Range Default

cutot Rated Current, L-C A x>=0 96224998,00

bcap Susceptance uS x>=0 26666699219,00

ccap Capacitance uF x>=0 84882599,00

c1 Capacitance C1 uF x>=0 0.

c2 Capacitance C2 uF x>=0 84882599,00

pgrad Degree % x>=0&x<=100 4.

fres Resonance Frequency Hz x>=0 250.

nres Tuning Order x>=0 5.

qrean Rated Reactive Power, L Mvar x>=0 24.

curea Rated Current, L A x>=0 2309399902,00

xrea Reactance Ohm x>=0 39203,00

rlrea Inductance mH x>=0 477465,00

grea Quality Factor (at fn) x>=0 0.

greaf0 Quality Factor (at fr) x>=0 0.

rrea Resistance Ohm x>=0 0.

rpara Parallel Resistance Ohm x>=0 0.

tandc Loss Factor, tan(delta) x>=0 0.

gparac Parallel Conductance uS x>=0 0.

fcharL L(f)

fcharR R(f)

fcharC C(f)

shuz0 Z0/Z1 x>=0 0.

i_opt Use Controller for OPF x=0|x=1 0,00


optimization

i_optCont Control Mode x=0|x=1 0,00

systp System Type x=0|x=1 0,00

Bg Susceptance to Ground nS x>=0 0.

Xe Reactance, Xe Ohm x>=0 0.

Re Resistance, Re Ohm x>=0 0.

acost Annual Cost $/ x>=0 0.


year

Power Systems Elements: Application References 50


DIgSILENT PowerFactory

Table 31.25: ElmShnt Parameters


Name Description Unit Range Default

iswitch Switchable x>=0&x<=1 0,00

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0,00

doc_id Additional Data

desc Description

i_rem Remote Control x=0|x=1 0,00

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

Tctrl Controller Time Constant s x>0 0.5

Kctrl Controller Sensitivity dq/dv p.u./ x>0&x<1 0.1


%

usetp_mx Upper Voltage Limit p.u. x>0 39203,00

usetp_mn Lower Voltage Limit p.u. x>0 0.95

qsetp_mx Upper Reactive Power Limit Mvar 0.

qsetp_mn Lower Reactive Power Limit Mvar 0.

pfsetp_mx Upper Power Factor Limit x<=1&x>=-1 1.

pfsetp_mn Lower Power Factor Limit x<=1&x>=-1 0.95

pf_recap_ Power Factor x=0|x=1 0,00


mx

pf_recap_ Power Factor x=0|x=1 0,00


mn

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0,00

mode_inp Input Mode

31.23 Soft Starter (ElmVar)


The ElmVar object is used to represent voltage control, soft starter devises for induction
motors. The ElmVar does not require a type object.

Power Systems Elements: Application References 51


DIgSILENT PowerFactory

Input parameters
Table 31.26 shows the input parameters for the ElmVar object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the soft starter model, presenting the relations among the input pa-
rameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.26: ElmVar Parameters


DisplayN Description Unit Range Default
ame

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iZoneBus Zone 0

Unom Nominal Voltage kV x>0 6.

Inom Nominal Current kA x>0 1.

K Amplification x>=0&x<=1 0.

i_onoff Bypass x=0|x=1 0

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

Power Systems Elements: Application References 52


DIgSILENT PowerFactory

31.24 Static Var System (ElmSvs)


The static var compensator system (ElmSvc) is a combination of a shunt capacitor bank
and a thyristor controlled shunt reactance.

Input parameters
Table 31.27 shows the input parameters for the ElmSvs object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the static var compensator, presenting the relations among the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.27:ElmSvs Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

nxcap Max. Number of Capacitors x>=0 0

nncap Act. Number of Capacitors x>=0 0

qmax Q Reactance (>0) Mvar x>=0 0.

qmin Q per Capacitor Unit (<0) Mvar x<=0 0.

Power Systems Elements: Application References 53


DIgSILENT PowerFactory

Table 31.27:ElmSvs Parameters


Name Description Unit Range Default

tcrmax TCR, Max. Limit Mvar x>=0 0.

ibvco Remote Bus

usetp Voltage Setpoint p.u. x>0 1.

tcrqact Act. Value of TCR Mvar x>=0 0.

qsetp Q Setpoint Mvar 0.

ictsv Use for OPF Control x=0|x=1 0

ivcop Controlled Phase x>=0&x<=4 0

i_ctrl Load Flow Control x>=0&x<=2 0

i_sctrl Balanced/Unbalanced Control x=0|x=1 0

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

iconn Connection mode of Capacitors x=0|x=1|x=2 0

pcu Maximum Copper Losses kW x>=0 0.

i_det TCR Model x=0|x=1 0

q0 Reactive Power Mvar 0.

Re Resistance, Re Ohm 0.

Xe Reactance, Xe Ohm 0.

R0 Resistance, R0 Ohm 0.

X0 Reactance, X0 Ohm 0.

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

phmc Harmonic Currents (TCR)

i_int Ideal SVS x=0|x=1 0

maxorder Maximum Harmonic Order x>0 0

iAstabint A-stable integration algorithm x=0|x=1 0

i_qini Estimate Reactive Power x=0|x=1 0

Power Systems Elements: Application References 54


DIgSILENT PowerFactory

31.25 Synchronous Machine (ElmSym)


Element used to represent synchronous machine models, requires a reference to a
TypSym object.

Input parameters
Table 31.28 shows the input parameters of the ElmSym object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the synchronous machine model, presenting the relations among the
input parameters is given in the corresponding Technical Reference Paper (Support page
under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.28: ElmSym Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

ngnum parallel Machines x>0 0

pgini Active Power MW 0.

qgini Reactive Power Mvar 0.

sgini Apparent Power MVA x>=0 0.

Power Systems Elements: Application References 55


DIgSILENT PowerFactory

Table 31.28: ElmSym Parameters


Name Description Unit Range Default

cosgini Power Factor 0.

ictpg Active Power x=0|x=1 0

ictqg Reactive Power x=0|x=1 0

costp Costs per MW $/MW 0.

iestp Estimate Active Power x=0|x=1 0

iestq Estimate Reactive Power x=0|x=1 0

bustp Corresponding Bus Type

usetp Voltage p.u. x>0 1.

i_mot Generator/Motor 0

xesy Xearth Ohm x>=0 0.

resy Rearth Ohm x>=0 0.

ip_ctrl Reference Machine x=0|x=1 0

iv_mode Mode of Local Voltage Controller x=0|x=1 0

i_spin Spinning in isolated operation x=0|x=1 0

phiini Angle deg x>=- 0.


180&x<=180

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Stochastic model

Pctrl Active power steps 0

i_prty Priority x>=0 0

iOPFCPmin Min. x=0|x=1 0

iOPFCPmax Max. x=0|x=1 0

Pmax_uc Max. MW 0.8

Pmin_uc Min. MW 0.

tmin_up Minimum up-time h 0.

tmin_down Minimum down-time h 0.

cost_up Startup $ 0.

Power Systems Elements: Application References 56


DIgSILENT PowerFactory

Table 31.28: ElmSym Parameters


Name Description Unit Range Default

cost_down Shutdown $ 0.

cpower Power MW

ccost Costs $/h

dsecres Reserve 0.

iqtype Use limits specified in type 0

iOPFCQmin Min. x=0|x=1 0

iOPFCQmax Max. x=0|x=1 0

q_min Min. p.u. -1.

q_max Max. p.u. 1.

i_cap User defined Capability Curve 0

cap_P Act.Power MW

cap_Qmn Min. Mvar

cap_Qmx Max. Mvar

iunitcom Optimized in unit commitment 0

t_on Initial Condition h 0.

t_off Initial Condition h 0.

P_min Min. MW 0.

pmaxratf Rating Factor x>=0 1.

pG Range of Voltage Regulation (+/-) % x>=0&x<=100 0.

Kpf Prim. Frequency Bias MW/Hz x>=0 0.

ignd Star Point x=0|x=2 0

iintgnd External Star Point x=0|x=1 0

iAstabint A-stable integration algorithm x=0|x=1 0

mode_inp Input Mode

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

Power Systems Elements: Application References 57


DIgSILENT PowerFactory

31.26 Tower Line Coupling (ElmTow)


The ElmTow is used to represent electromagnetic coupling between transmission lines.
In order to define the line coupling, a TypTow/TypGeo object determining the geometrical
characteristics and the conductor type of the structure where the coupled lines are locat-
ed, is required.

Input parameters
Table 31.29 shows the input parameters for the ElmTow object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the line coupling model, presenting the relations among the input pa-
rameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.29: ElmTow Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Tower Type

desc Description

line1 Circuit 1

line2 Circuit 2

line3 Circuit 3

line4 Circuit 4

Power Systems Elements: Application References 58


DIgSILENT PowerFactory

Table 31.29: ElmTow Parameters


Name Description Unit Range Default

line5 Circuit 5

line6 Circuit 6

rearth Earth Resistivity Ohmm x>0 100.

pGeo Type TypTow,TypGeo

towdist Distance m

pCon_e Type TypCon

sag_e Max.Sag m

plines Circuit ElmLne,ElmLnero


ute

dpolar Polarity

pCon_c Type TypCon

sag_c Max.Sag m

transp Transposition

dtow Length 0.

iusecoup Use Coupling Length x=0|x=1 0

pos1 Position 1 km

pos2 Position 2 km

couplen Coupling Length km

i_dist Line Model x=0|x=1 0

c_dist Distributed Parameter 0

c_lumped Lumped Parameter (PI) 0

tmat Transformation Matrix Tv

pzs Surge Impedance Ohm

pa Wave Propagation

pTa Travel Time s

ftau Frequency for Parameter Approximation Hz x>0 100000.

Power Systems Elements: Application References 59


DIgSILENT PowerFactory

31.27 Transmission Lines (ElmLne)


The ElmLne is used to represent transmission lines/cables, it requires a reference to a
TypLne or a TypTow object. The ElmLne can contain line sections and routes as present-
ed in 9.2.

Input parameters
Table 31.30 shows the input parameters for the ElmLne object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the line model, presenting the relations among the input parameters
and the posible types is given in the corresponding Technical Reference Paper (Support
page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.30: ElmLne Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

nlnum parallel Lines x>=1 0

dline Length of Line km x>=0 1.

fline Derating Factor x>=0 1.

Top Operating Temperature degC 20.

Power Systems Elements: Application References 60


DIgSILENT PowerFactory

Table 31.30: ElmLne Parameters


Name Description Unit Range Default

inAir Laying x=0|x=1 0

nlsim Enable for Contingency Analysis x=0|x=1 0

ishclne Available x=0|x=1 0

fshcloc Short-Circuit Location % x>=0&x<=100 50.

lodln Type of Load

lprot Protection Devices

slin1 Load Current/Nom.Current p.u. x>=0 0.

i_dist Line Model x=0|x=1 0

pCondCir Type of Phase Conductors

pCondGnd Type of Earth Conductors

pCondN Type of Neutral Conductors

sagCir Max.Sag, Phase Conductors m x>=0 0.

sagGnd Max.Sag, Ground Wires m x>=0 0.

ktrto Transposition x=0|x=1 0

rearth Earth Resistivity Ohmm x>=0 100.

i_model Line Model x=0|x=1 0

kz1 Surge Impedance, HF, Mode 1. Ohm x>0 50.

pz1 Poles,Mode 1 Hz

zz1 Zeros, Z1 Hz

kz0 Surge Impedance, HF, Mode 0 Ohm x>0 50.

pz0 Poles, Mode 0 Hz

zz0 Zeros, Zl0 Hz

kz2 Surge Impedance, HF, Mode 2. Ohm x>0 50.

pz2 Poles,Mode 2 Hz

zz2 Zeros, Z2 Hz

ka1 Wave Propagation Constant. p.u. x>0 1.

a1dc Wave Propagation, DC, Mode 1 p.u. x>0 1.

Ta1 Travel Time, Mode 1 s x>0 0.001

pa1 Poles, A1 Hz

za1 Zeros, A1 Hz

Power Systems Elements: Application References 61


DIgSILENT PowerFactory

Table 31.30: ElmLne Parameters


Name Description Unit Range Default

ka0 Wave Propagation Constant p.u. x>0 1.

a0dc Wave Propagation, DC, Mode 0 p.u. x>0 1.

Ta0 Travel Time, Mode 0 s x>0 0.001

pa0 Poles, A0 Hz

za0 Zeros, A0 Hz

ka2 Wave Propagation Constant. p.u. x>0 1.

a2dc Wave Propagation, DC, Mode 2 p.u. x>0 1.

Ta2 Travel Time, Mode 2 s x>0 0.001

pa2 Poles, A2 Hz

za2 Zeros, A2 Hz

fmin Min. Frequency of Parameter Fitting Hz x>0 0.001

fmax Max. Frequency of Parameter Fitting Hz x>0 1000000.

ftau Frequency for Travel-Time Estimation Hz x>0 100000.

tolBode Tolerance for Bode Approximation % x>0 5.

tmat Transformation Matrix

cubsecs Routes/Cubicles/Sections

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

NrCust Number of connected customers x>=0 0

i_ldlv Line Load x=0|x=1 0

pStoch Element model

iperfect Ideal component 0

maxload Max. Loading % x>=0 100.

iOPFCload Max. Loading x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

Power Systems Elements: Application References 62


DIgSILENT PowerFactory

Table 31.30: ElmLne Parameters


Name Description Unit Range Default

dpl5 dpl5 0.

31.28 Digital Clock (ElmClock)


Element used to represent clock inputs.

Input parameters
Table 31.31 shows the input parameters of the ElmClock object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the clock model, presenting the relations among the input parameters
is given in the corresponding Technical Reference Paper (Support page under Technical
References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 31.31:ElmClock Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

Tp Period ms x>0 1.

Power Systems Elements: Application References 63


DIgSILENT PowerFactory

Table 31.31:ElmClock Parameters


Name Description Unit Range Default

tonTp Ratio Ton/Tp x>0&x<1 0.5

iopt_meas Use Measurement Frequency x=0|x=1 0

ctrlsim Control Simulation Step Size x=0|x=1 0

31.29 Fast Fourier Transform (ElmFft)


Element used to represent fast Fourier transforms.

Input parameters
Table 31.32 shows the input parameters of the ElmFft object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the fast Fourier transform model, presenting the relations among the
input parameters is given in the in the corresponding Technical Reference Paper (Support
page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 31.32: ElmFft Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

Power Systems Elements: Application References 64


DIgSILENT PowerFactory

Table 31.32: ElmFft Parameters


Name Description Unit Range Default

typ_id Type

nsamp Number of Points x>0 256.

nphase No. of Phases x=1|x=3 0

i_win Window x>=0 0

31.30 File Object (ElmFile)


Element used to read data from a file during calculations.

Input parameters
Table 31.33 shows the input parameters of the ElmFile object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the measurement file element, presenting the functionality of the input
parameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table 31.33: ElmFile Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

Power Systems Elements: Application References 65


DIgSILENT PowerFactory

Table 31.33: ElmFile Parameters


Name Description Unit Range Default

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iopt_imp Import from x>=0&x<=1 0

f_name Filename

icol Column j 0

afac Factor a 1.

bfac Factor b 0.

prim P or S

tini Time Index 0.

desc Description

31.31 Fourier Source (ElmFsrc)


Fourier source element, used to generate periodical signals in the frequency domain.

Input parameters
Table 31.34 shows the input parameters of the ElmFsrc object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the Fourier source model, presenting the relations among the input pa-
rameters is given in the corresponding Technical Reference Paper (Support page under
Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Power Systems Elements: Application References 66


DIgSILENT PowerFactory

Table 31.34: ElmFscr Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

dc_com DC Component 0.

f_min Minimum Frequency Hz x>0 10.

delta_f Frequency Step Hz x>0 10.

overspl Oversampling Factor x>=10 10.

ampl_ Amplitude

phase_ Phase deg

rb_proc Calculate with

31.32 Digital Register (ElmReg)


The ‘Register’ (ElmReg) model in PowerFactory is a digital shifting register. With every
rising edge of the clock signal the values are shifted by one, then the output is set and
the input is read and stored in the register.

Input parameters
Table 31.35 shows the input parameters of the ElmReg object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Bata' tab).
The complete description of the Register model is given in the corresponding Technical
Reference Paper (Support page under Technical References).

Power Systems Elements: Application References 67


DIgSILENT PowerFactory

Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 31.35: ElmReg Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

nsamp Size x>0 0

nphase No. of Phases x=1|x=3 0

31.33 Sample and Hold Model (ElmSamp)


The ‘Sample and Hold’ model of PowerFactory (ElmSamp) samples a signal, setting
the output at the rising edge of a clock. The output value is constant up to the next clock
pulse.

Input parameters
Table 31.36 shows the input parameters of the ElmSamp object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The complete description of the Sample and Hold model is given in the corresponding
Technical Reference Paper (Support page under Technical References).

Power Systems Elements: Application References 68


DIgSILENT PowerFactory

Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table 31.36: ElmSamp Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

nphase No. of Phases x=1|x=3 0

31.34 Trigger Model (ElmTrigger)


The trigger model (ElmTrigger) is used to monitor the value of a signal. If certain trigger
conditions are met the model will start a trigger event.

Input parameters
Table 31.37 shows the input parameters of the ElmTrigger object. Parameters are pre-
sented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The complete description of the Trigger model is given in the corresponding Technical
Reference Paper (Support page under Technical References).
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Power Systems Elements: Application References 69


DIgSILENT PowerFactory

Table 31.37:ElmTrigger Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

nphase No. of Phases x=1|x=3 0

i_max On x=0|x=1 0

i_min On x=0|x=1 0

i_grd On x=0|x=1 0

valmax Threshold 1.

valmin Threshold -1.

valgrd Threshold 1/s 1.

npickmax Set after... 0

npickmin Set after... 0

npickgrd Set after... 0

ndropmax Reset after... 0

ndropmin Reset after... 0

ndropgrd Reset after... 0

npts Number of Points for Calculation of Gradient x>=0 0

sleep Number of measured values after Start until Trigger x>=0 0


gets active

res Acquire Data x=0|x=1 0

iopt_res Writing of RMS Results 0

iopt_sys Trigger Type 0

Power Systems Elements: Application References 70


DIgSILENT PowerFactory

Power Systems Elements: Application References 71


DIgSILENT PowerFactory

Power Systems Elements: Application References 72


Volume VIII
Appendix
DIgSILENT PowerFactory
Version 13.2
DIgSILENT PowerFactory Glossary

Appendix A
Glossary

Device
A certain kind of physical power system components: certain synchronous machines, two-
winding transformers, busbars, or other kinds of equipment. Example: a NKBA 0.6/1kV 4
x 35sm cable.

Appliance
A specific physical, installed, power system component: a specific generator, transformer,
busbar, etc. Example: a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 meters long.

Type
A mathematical model for devices: general models for two-winding transformers, two-
winding transformers, busbars, etc. A type model only contains the non-specific data valid
for whole groups of power system elements. Example: a NKBA 0.6/1kV 4 x 35sm cable
type, named "NKBA_4x35.TypLne"

Element
A mathematical model for specific appliances. Most element models only hold the appli-
ance-specific data while the more general type-specific data comes from a type-reference.
Example: a model of a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 meters long, named
"FC 1023.ElmLne"

Cubicle
A cubicle is the connection point between a edge or branch element and a node (repre-
sented by a busbar or terminal). It may be visualized as a bay in a switch yard or a panel
in a switchgear board. Elements such as CT's, protection equipment, breakers and so
forth, are housed in the cubicle, as one would expect to find in reality.

Node
The mathematical or generic description for what are commonly known as busbars in the
electrical world. In PowerFactory nodes may be represented by "Busbars" or "Termi-
nals" of various kinds. These are treated in the same manner in mathematical terms but
treated slightly differently in the database. As far as possible the user should use terminals
as Busbars can be somewhat inflexible. See also Busbars, Edge Elements, Branch Ele-

A-1
DIgSILENT PowerFactory Glossary

ments.

Busbars
Busbars are particular representations of nodes. Busbars are housed in a Station folder
and several busbars may be part of a station.

Edge Elements
The elements between two nodes. May also be termed 'two port element.' Source, topo-
logical studies; picture a 3 dimensional box, the corners of the box would be called the
nodes, and the edges between corners are hence 'edges.' See also nodes, branch ele-
ments.

Branch Elements
A one port element connected to a node, such as a load or a machine. See also nodes,
edge elements.

Class
A class is a template for an element, type or other kind of objects like controller block
diagrams, object filters, calculation settings, etc. Examples:
• The 'TypLne' class is the type model for all lines and cables
• The 'ElmLne' class is an element model for a specific line or cable
• The 'ComLdf' class is a load-flow command
• The 'EvtSwitch' class is an event for a switch to open or close during simulation

Object
An object is a specific item stored in the database. Examples are specific type or element
models which have been edited to model specific devices or appliances. Examples: the
element "FC 1023.ElmLne", the type "NKBA_4x35.TypLne", the load-flow command
"3Phase.ComLdf"

Grid
A Grid is a collection of power system elements which are all stored in one so-called "Grid
Folder'' in the database. Normally, a grid forms a logical part of a power system design,
like a the MV distribution system in a province, or the HV transport system in a state.

System Stage
A system stage is an alternative design or variation for a particular grid. A system stage
is stored in a system stage folder, which keeps track of all differences from the design in
the higher hierarchical level. The highest level is formed by the base grid folder. It is pos-
sible to have system stages of system stages.
See also: Grid, Base Case

A-2
DIgSILENT PowerFactory Glossary

Base Case
A base case is the highest level in a tree of hierarchical system stage designs. It is the
basic power system design, for which one or more alternative designs may be created and
analyzed. The base case is always stored in a grid folder.
See also: System Stage, Grid

Study Case
A study case is a folder which stores a list of references or shortcuts to grid or system
stage folders. These folders are (de)activated when the calculation case folder is (de)ac-
tivated.
Elements in the grid folders that are referenced by the study case form the 'calculation
target' for all calculation functions. Elements in all other, non-active, grid folders are not
considered for calculation.
Besides the list of active folders, the calculation case also stores all calculations com-
mands, results, events, and other objects which are, or have been, used to analyze the
active power system.
See also: Grid, System Stage

Project
All power system definitions and calculations are stored and activated in a project. The
project folder therefore is a basic folder in the user's database tree. All grids that make
out the power system design, with all design variants, study cases, commands, results,
etc. are stored together in a single project folder.

Result Object
A result object keeps one or more lists of parameters which are to be monitored during a
calculation. Results objects are used for building calculation result reports and for defining
a virtual instrument.
See also: Virtual Instrument

Virtual Instrument
A virtual instrument is a graphical representation of calculation results. It may be a line
or bar graph, a gauge, a vector diagram, etc. A virtual instrument gets its values from a
result object.
See also: Result Object.

Block Definition
A block definition is a mathematical model which may be used in other block definitions
or in a composite model. Examples are all default controllers (i.e. VCO's, PSS's, MDM's),
and all additional user-defined DSL models. A block definition is called "primitive'' when it
is directly written in DSL, or "complex'' when it is build from other block definitions, by
drawing a block diagram.

A-3
DIgSILENT PowerFactory Glossary

Block Diagram
A block diagram is a graphical representation of a DSL model, i.e. a voltage controller, a
motor driven machine model or a water turbine model. Block diagrams combine DSL prim-
itive elements and block definitions created by drawing other block diagram.
The block models thus created may (again) be used in other block diagrams or to create
a Composite Frame.
See also: DSL primitive, Composite Frame

DSL primitive
A DSL primitive is the same as a primitive block definition. A DSL primitive is written di-
rectly in DSL without the use of a block diagram.
Examples are PID controllers, time lags, simple signal filters, integrators, limiters, etc. DSL
primitives are normally used to build more complex block definitions.
See also: Block Definition, Block Diagram

Slot
A slot is a place-holder for a block definition in a composite frame. A composite model is
created from a composite frame by filling one or more slots with an appropriate object.
See also: Block Definition, Composite Frame.

Composite Frame
A composite frame is a special block diagram which defines a new stand-alone model,
mostly without in- or outputs. A composite frame is principally a circuit in which one or
more slots are connected to each other.
A composite frame is used to create composite models by filling the slots with appropriate
objects. The composite frame thus acts as template for a specific kind of composite mod-
els.
See also: Block Diagram, Slot

Composite Model
A composite model is a specific combination of mathematical models.These models may
be power system elements such as synchronous generators, or block definitions, such as
voltage controllers, primary mover models or power system stabilizers.
Composite models may be used to create new objects, such as protection devices, to
'dress-up' power system elements such as synchronous machines with controllers, prime
movers models, etc., or for the identification of model parameters on the basis of mea-
surements.

Virtual Instrument Panel


Virtual instrument panels are one of the possible types of pages in a graphics board win-
dow. Virtual instrument panels are used to create and show virtual instruments. Each vir-

A-4
DIgSILENT PowerFactory Glossary

tual instrument panel may contain one or more virtual instruments.


See also: Graphics Board Window, Virtual Instrument

Graphics Board Window


The graphics board window is a multi document window which contains one or more
graphical pages. These pages may be single line graphics, virtual instrument pages, block
diagrams etc.
The graphics board shows page tabs when more than one page is present. These tabs
may be used to change the visible page or to change the page order by drag&drop on the
page tab.
See also: Virtual Instrument, Block Diagram, Page Tab, Drag&Drop

Page Tab
Page tabs are small indexes at the edge (mostly on the top or bottom) of a multi-page
window. The tabs show the titles of the pages. Left-clicking the page tab opens the cor-
responding page. Page tabs are used in object dialogues, which often have different pag-
es for different calculation functions, and in the Graphics Board Window, when more than
one graphical page is present.

Drag&Drop
"Drag&Drop'' is a method for moving an object by left clicking it and subsequently moving
the mouse while holding the mouse button down ("dragging''). Releasing the mouse but-
ton when the new location is reached is called "dropping''. This will move the object to
the new location.

DAQ
Abbreviation for "Data Acquisition''.

DPL
Abbreviation for "DIgSILENT Programming Language''.

A-5
DIgSILENT PowerFactory Glossary

A-6
DIgSILENT PowerFactory DPL Reference

Appendix B
DPL Reference

B.1 DPL Internal Methods


The DPL program language has a small set of DPL-specific internal commands:
Exe Executes a command.
AllRelevant Returns all calculation relevant objects.
ClearCommands Clears the command pipe.
ClearOutput Clears the output window.
Delete Deletes the object.
Format String Syntax Uses same format string for all syntax.
printf Outputs a formatted string.
sprintf Returns a formatted string.
fprintf Outputs a formatted string to a file.
Write Writes a report.
Error Outputs a formatted error.
Warn Outputs a formatted warning.
Info Outputs a formatted information.
EchoOn Re-activates the user interface
EchoOff Freezes (de-activates) the user-interface.
NoFinalUpdate Prevents "EchoOn()'' at end of execution.
strstr Searches for a substring in a string.
strcpy Copies a substring from a string.
strcmp Compares two strings.
strchg Substitutes a sub-string in a string.
strlen Returns the length of a string.
strtok Finds a token in a string.
strftime Creates a formatted time string.
sscanf Assigns fields in string and returns number of fields.
fscanf Assigns fields in file and returns number of fields.

B-1
DIgSILENT PowerFactory DPL Reference

fscanfsep Assigns fields in file and returns number of fields. Considers separation
character and stops after max. number of positions given.
ActiveCase Returns the active calculation case.
SummaryGrid Returns the summary grid.
ActiveProject Returns the active project.
validLDF Checks for a valid load-flow result.
validRMS Checks for a valid simulation result.
validSHC Checks for a valid short-circuit result.
validSIM Checks for a valid simulation result.
SetLineFeed Sets the automatic line feed for "printf()''.
GetPageLen Returns the number of lines per page.
GetCaseObject Returns the found class object from current case.
GetCaseCommand Returns default command objects.
GetGraphBoard Returns the currently active Graphics Board.
GetTime Returns current processor time.
GetLanguage Returns the current language.
GetLocalLib Returns a local library folder.
GetGlobalLib Returns a global library folder.
PostCommand Adds a command to the command pipe.
ResIndex Returns column number of variable in result object.
GetResData Returns a value from a certain result curve.
ResNval Returns number of values stored in certain result curve.
ResNvars Returns the number of variables (columns) in result file.
LoadResData Loads the data of a result file in memory.
ResetCalculation Resets the calculations.
fopen Opens a file from a path.
fclose Closes an open file.
Random Returns a random number.
SetRandSeed Initializes the random number generator.
fRand Returns stochastic numbers according to a probability distribution.
ddeOpen Establishes a DDE connection to a topic of an application.
ddeClose Closes the DDE link.
ddeExe Starts command in the current dde opened topic.
ddePoke Sends data to an item in the currently opened DDE topic.
ddeRequest Receives data from an item in a previously opened DDE topic.

B-2
DIgSILENT PowerFactory DPL Reference

Exe
void Exe (string Command)
DPL Internal Methods
Immediately executes the command, bypassing the command pipe in the input window.
The DPL command will continue after the command has been executed. The 'Exe' com-
mand is provided for compatibility and testing purposes only and should only be used by
experienced users.
Arguments:
string Command (obligatory): The command string
Return value:
void (no return value)
Example:
The following command connects two terminals via an existing coupler 'NameBreaker'.
while (Obj) {
NameBreaker = ...;
NameTerm1 = ...;
NameTerm2 = ...;
ObjTerm = SEL.First();
if (ObjTerm) {
printf('Connect to Terminal: %s',NameTerm2);
sExec = sprintf('connect obj=%s b1=%s b2=%s',
NameBreaker,NameTerm1,NameTerm2);
Exe(sExec);
Obj = SelGrids.Next();
}

AllRelevant
Set AllRelevant (string S |int i)
DPL Internal Methods
Returns a set with calculation relevant objects, i.e. the objects which are used by the cal-
culations. The set of calculation relevant objects is determined by the currently active
study case and the currently active grids.
Objects which are out-of-service are ignored when i=0, but are included when i=1 or
when i is omitted. A wildcard argument can be given, and only objects whose name and
class-name satisfy this wildcard will be returned.
Arguments:
string S (optional) : Classname(s) with wildcards
int i (optional) : flag to include out of service objects
Return value:
The set of all calculation relevant objects, according to the given class-name wildcards
Example 1:
The following example writes the names of calculation relevant objects for various set-
tings.

B-3
DIgSILENT PowerFactory DPL Reference

set S;
object O;
printf('all objects, including out-of-service:');
S = AllRelevant();
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all objects, excluding out-of-service:');
S = AllRelevant(0);
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all busbars and terminals,');
printf('including out-of-service:');
S = AllRelevant('*.StaBar,*.ElmTerm');
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all lines, excluding out-of-service:');
S = AllRelevant('*.ElmLne',0);
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}

Example 2:
The following example writes the full name of all relevant busbars and terminals in the
output window.

set S;
object O;
S = AllRelevant('*.StaBar,*.ElmTerm'); ! includes out-of-service objects
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}

ClearCommands
void ClearCommands ()
DPL Internal Methods
Clears the command pipe of the input window.
Arguments:
none
Return value:
void (no return value)
Example:
The following command clears the input window.
ClearCommands();

ClearOutput
void ClearOutput ()

B-4
DIgSILENT PowerFactory DPL Reference

DPL Internal Methods


Clears the output window.
Arguments:
none
Return value:
void (no return value)
Example:
The following command clears the output window.
ClearOutput();

Delete
void Delete (object O | set S)
DPL Internal Methods
Deletes an object or a set of objects from the database. The objects are not destroyed
but are moved to the recycle bin.
Arguments:
object O (optional): The object to delete
set S (optional): The set of objects to delete
Return value:
void
Example:
The following example removes all "Dummy" fuses from the network. The 'DummyType'
variable is a local variable in the DPL script. A set of objects-to-delete is created first and
then that set is deleted. This has the advantage that one single entry in the recycle bin is
created which contains all deleted fuses. Manually restoring ('undelete') the deleted fuses,
in case of a mistake, can then be done by a single restore command.

object O;
set S, Del;
S = AllRelevant();
O = S.Firstmatch('RelFuse');
while (O) {
if (O:typ_id=DummyType) {
Del.Add(O);
}
O = S.Nextmatch();
}
Delete(Del);

Format String Syntax


The string printing commands "printf'' , "sprintf'' , "fprintf'' as well as "Write'' , "Error'' ,
"Warn'' and "Info'' all use the same format string syntax.
The format string must contain a valid place holder for every given argument. The place-
holder format is

B-5
DIgSILENT PowerFactory DPL Reference

[flags] [width] [.precision] type


Where "type'' is one of the following specifiers:
'd' or 'i' For an integer value.
'e' For a double value. The printed format is "[ – ]d.dddd e [sign]ddd''
where d is a single decimal digit, "'dddd'' is one or more decimal digits,
"ddd'' is exactly three decimal digits, and "[sign]'' is "+'' or "–''.
'E' Identical to the e format except that "E'' in stead of "e'' is used.
'f' For a double value. Printed format is "[ – ]dddd.dddd'', where "dddd'' is
one or more decimal digits. The number of digits before the decimal
point depends on the magnitude of the number, and the number of
digits after the decimal point depends on the requested precision.
'g' For a double value. Printed format is the "f'' or "e'' format, whichever is
more compact for the given value and precision. The e format is used
only when the exponent of the value is less than –4 or greater than or
equal to the precision argument. Trailing zeros are truncated, and the
decimal point appears only if one or more digits follow it.
'G' Identical to the "g'' format, except that "E'' in stead of "e'', is used
(where appropriate).
's' For a string.
The optional "flag'' can be one of the following specifiers:
'-' Left align the result within the given field width.
'+' Prefix the output value with a sign (+ or –)
The optional "width'' specifies the number of characters to be printed and the optional
".precision'' specifies the number of decimals printed.
Example:
The following examples shows various placeholder definitions.
double x;
int i;
string s;
x = 123456789.987654321;
i = 2468;
s = 'hello dpl';
printf('%f|%15.3f|%E|%.2e|%+f|', x,x,x,x,x);
printf('%d|%6d|%-6d|', i,i,i);
printf('%s|%-20s|%20s|',s,s,s);
! string concat is possible:
s = 'this';
s = sprintf('%s %s', s, 'DPL script');
! print and assign in one action:
s = printf('%s %s "%s"', s, 'is called', this:loc_name);
printf('%s (again)',s); ! print again:
In addition to placeholders, the printed string may also contain "escape''-sequences for
line feeds, tabs, form feeds and color. The following escape-sequences can be used:
• "\n'' inserts a line feed
• "\t'' inserts a horizontal tab
• "\f'' inserts a form feed, for printing purposes

B-6
DIgSILENT PowerFactory DPL Reference

• "\\'' writes a backslash, even when the next character is a n,t,f or c


• "%%'' writes a percent sign
• "\cx'' inserts a color change, where "x'' is a color, according to the following table, i.e.
#"\ce'' switches to blue

Table B.1:
a black i gray
b black j light gray
c red k bordeaux
d green l dark red
e blue m dark green
f brown n light green
g cyan o marine
h magenta p dark blue

Example:
printf('The \cfbrown\ca fox jumped\nover\tthe\nlazy\tcat');
printf('result written to c:\\documents\\pf\\res.txt');
printf('%% = %%%6.2f%% %%', 123.34);

printf
void printf (String Format, String T | double X | int I, ...)
DPL Internal Methods
Outputs a formatted string. The printf() command uses the C++ printf() formatting syn-
tax.
Arguments:
String Format (obligatory): The format string
String T (optional): string argument
double X (optional): double argument
int I (optional): int argument
Return value:
void
Example:
See the format string syntax for examples and more information.
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
The 'printf' will automatically insert a line-break after printing by default. This means that
the next 'printf' will start on the next line. The automatic line-break can be disabled by
using the "SetLineFeed''-function.
See "SetLineFeed'' for more information.

B-7
DIgSILENT PowerFactory DPL Reference

Also see "sprintf'' .


Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' .
Also see "Write'' .

sprintf
string sprintf (String Format, String T | double X | int I, ...)
DPL Internal Methods
Returns a formatted string. The sprintf() command uses the C++ printf() formatting syn-
tax.
Arguments:
String Format (obligatory): The format string
String T (optional): string argument
double X (optional): double argument
int I (optional): int argument
Return value:
The formatted string
Example:
See the format string syntax for examples and more information.
The following example redirects the output to a file. The filename is formatted from a path
and the name of the current calculation case. "Redirect'' is an ComOp and "StopRedirect''
is an ComCl object in the DPL command
Redirect:f = sprintf('%s%s.out',
'c:\\MyDocuments\\results0813\\', O:loc_name);
Redirect.Execute();
Form.WriteOut(Lines); ! write a report
StopRedirect.Execute(); ! stop redirection
Since version 13.1 there is an easier way of writing an string to a file by using "fprintf'' .
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' . Also see "Write'' .

B-8
DIgSILENT PowerFactory DPL Reference

fprintf
void fprintf (int iFH, string Format, string T | double X | int I, ...)
DPL Internal Methods
Writes a formatted string to a file. The fprintf() command uses the C++ printf() format-
ting syntax.
Arguments:
int iFH (obligatory): Number of file handler (0,1,...,9)
string Format (obligatory): Defines a format of variable types (int/string/double) to which
the fields are assigned
string T (optional): Return of the result string
double X (optional): Return of the result double
int I (optional): Return of the result integer
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
See the format string syntax for examples and more information.
The following example outputs a defined string to a file.
double x;
int i;
string s;
fopen('d:\tmp\test.txt','r',0);
x = 123456789.987654321;
i = 2468;
s = 'hello dpl';
fprintf(0,'string:%s int=%d double=%f', s,i,x);
fclose(0);
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' . Also see "Write'' .

fWrite
The command "fWrite'' is obsolete and has been replaced by the "printf'' command. See
"printf'' for more information.

B-9
DIgSILENT PowerFactory DPL Reference

ToStr
The command "ToStr'' is obsolete and has been replaced by the "sprintf'' command. See
"sprintf'' for more information.

Write
int Write (string Format, [object aObj | set aSet], ...)
DPL Internal Methods
Writes out a line of formatted text, using the DIgSILENT output language.
Arguments:
string Format (obligatory): The format string
object aObj (optional): An object which is used to get data from
set aSet (optional): A set which is used to get objects from
Return value:
0 on success, 1 on error
The "Write'' command is used to quickly output a line of formatted output, using the same
formatting language as is used for defining reports and result-boxes. See section 27.2.5
for more information.
Because data or parameters of more than object is often written out, the DIgSILENT
output language has the special macro "ACC(x)'' to distinguish between these objects. Pri-
or to execution, all given objects and all objects in the given sets are listed together in a
single list. The "ACC(x)'' macro returns the object with the index "x'' in that list. The ACC
("acc''="access'') macro can be used more than once for the same object.
Interface variables of the DPL script can also be used in the format string by the "DEF''
macro. If the DPL script has "ResX'' as an interface double, then "DEF:ResX'' will access
that variable.
Example:
In the following example, two lines of output are written out. The first line only contains
normal text. The second line writes the name and loading of two lines. In this example,
"ACC(1)'' refers to the object "LineA', and "ACC(2)'' to "LineB''
Write('The following results are found');
Write('# : #.## # , # : #.## # $N,
ACC(1):loc_name,ACC(1):c:loading,[ACC(1):c:loading,
ACC(2):loc_name,ACC(2):c:loading,[ACC(2):c:loading', LineA, LineB);
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' .

B - 10
DIgSILENT PowerFactory DPL Reference

Error
string Error (String Format,String T | double X | int I, ...)
DPL Internal Methods
Writes a formatted string as error message to the output window. The DPL execution will
continue, but a pop-up error message box will appear at the end of execution.
Arguments:
String Format (obligatory): The format string
String T (optional): string argument
double X (optional): double argument
int I (optional): int argument
Return value:
The formatted string
Example:
The following example writes an error to the output window.
Error('Index could not be calculated.');
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Warn'' .
Also see "Info'' .
Also see "Write'' .

Warn
string Warn(String Format, String T | double X | int I, ...)
DPL Internal Methods
Writes a formatted string as warning to the output window.
Arguments:
String Format (obligatory): The format string
String T (optional): string argument
double X (optional): double argument
int I (optional): int argument
Return value:
The formatted string
Example:

B - 11
DIgSILENT PowerFactory DPL Reference

The following example writes a warning message to the output window.


Warn('No loads attached: using approximation.');
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Info'' .
Also see "Write'' .

Info
string Info (String Format, String T | double X | int I, ...)
DPL Internal Methods
Writes a formatted string as information message to the output window.
Arguments:
String Format (obligatory) : The format string
String T (optional) : string argument
double X (optional) : double argument
int I (optional) : int argument
Return value:
The formatted string
Example:
The following example writes an info message to the output window.
Info('Trying to calculate first index...');
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Write'' .

B - 12
DIgSILENT PowerFactory DPL Reference

EchoOn
void EchoOn ()
DPL Internal Methods
Re-activates the user interface.
Arguments:
none
Return value:
void
Example:
The following example de-activates the user-interface to speed up the calculations, after
which the user-interface is re-activated again.
EchoOff(); .. do some calculation ... EchoOn();
Also see "EchoOff()'' .
Also see "NoFinalUpdate()'' .

EchoOff
void EchoOff ()
DPL Internal Methods
Freezes (de-activates) the user-interface. For each EchoOff(), an EchoOn() should be
called. An EchoOn() is automatically executed at the end of a DPL execution, except for
when "NoFinalUpdate()'' has been called.
Arguments:
none
Return value:
void
Example:
The following example de-activates the user-interface to speed up the calculations, after
which the user-interface is re-activated again.
EchoOff();
.. do some calculation ...
EchoOn();
Also see "EchoOn()'' .
Also see "NoFinalUpdate()'' .

NoFinalUpdate
void NoFinalUpdate ()
DPL Internal Methods
Prevents the automatic "EchoOn()'' at end of execution.
Arguments:

B - 13
DIgSILENT PowerFactory DPL Reference

none
Return value:
void
Example:
EchoOff();
.. do some calculation ...
NoFinalUpdate();
Also see "EchoOff()'' .
Also see "EchoOn()'' .

strstr
int strstr (string S1, string S2)
DPL Internal Methods
Searches for a substring in a string and returns the position of the first letter of substring
S2 in string S1.
Arguments:
string S1 (obligatory) : The string
string S2 (obligatory) : The substring
Return value:
The first position in S1 where S2 was found, or -1 when S2 was not found.
Example:
The following example searches for string 'brown' in string S1
string S1, S2;
int i;
S1 = 'The brown fox';
i = strstr(S1, 'brown');
! i now equals 4

strcpy
String strcpy (string S, int start, int count)
DPL Internal Methods
Copies a substring from a string.
Arguments:
string S (obligatory) : The string
int start (obligatory) : The start position in S
int count (optional) : Number of characters to copy
Return value:
The copied substring
Example:
string S1, S2;
S1 = 'The brown fox';

B - 14
DIgSILENT PowerFactory DPL Reference

S2 = strcpy(S1, 4, 5); ! S2 now equals 'brown'

strcmp
int strcmp (string S1, string S2, int count)
DPL Internal Methods
Compares two strings.
Arguments:
string S1 (obligatory) : The first string
string S1 (obligatory) : The second string
int count (optional) : Number of characters to compare
Return value:
-1 when S1 < S2, for up to count characters
0 S1 = S2, for up to count characters
1 when S1 > S2, for up to count characters

strchg
int strchg(string sStr, string sFind, string sNew)
DPL Internal Methods
Searches in the string sStr for the sub-string sFind and substitutes it by teh sub-string
sNew.
Arguments:
string sStr (obligatory): string to be scanned and modified.
string sFind (obligatory): sub-string to be found.
string sNew (obligatory): sub-string to be inserted instead of sFind.
Return value:
-1 if substring was not found.
0 if substring was found at least once.
Example:

int iRet;
string sStr, sFind, sNew;

sStr = 'This is just a test';


sFind = 'just a';
sNew = 'a very important';
iRet = strchg(sStr,sFind,sNew);
if (iRet = -1){
printf('String could not be found!');
}
else{
printf('%s',sStr);
}

B - 15
DIgSILENT PowerFactory DPL Reference

strlen
int strlen (string S)
DPL Internal Methods
Returns the length of a string.
Arguments:
string S (obligatory) : The string

strtok
string strtok (string Source, string Delimiter, int Pos, int Num)
DPL Internal Methods
Splits the string Source into tokens separated by the characters defined in the Delimiter.
The function returns the token between separator (Num-1) and (Num) as a string and the
position of the token in the Source.
Arguments:
string Source (obligatory) : String containing token(s)
string Delimiter (obligatory) : Set of delimiter characters
int Pos (obligatory) : Returns the position of token in Source (beginning with 0)
int Num (optional) : Number of the token to be read (default = 1)
Return value:
Token read. If nothing is read, the token is empty and Pos = -1
Example:
The following example searches for different tokens in sStr
string sRes, sStr, sDel;
int iPos;
sStr = 'Das, ist nur, ein Test mit Nr. (555); weiter nichts';
sDel = ',;()';
sRes = strtok(sStr,sDel,iPos);
printf('Token: %s iPos = %d',sRes,iPos);
sRes = strtok(sStr,sDel,iPos,2);
printf('Token: %s iPos = %d',sRes,iPos);
sRes = strtok(sStr,sDel,iPos,4);
printf('Token: %s iPos = %d',sRes,iPos);
Output of the script above:
Token: Das iPos = 0
Token: ist nur iPos = 4
Token: 555 iPos = 32

strftime
string strftime (String Format)
DPL Internal Methods

B - 16
DIgSILENT PowerFactory DPL Reference

Creates a formatted time string.


Arguments:
String Format (obligatory) : The format string
The following formatting codes are recognized in the format string.

Table B.2:
%a Abbreviated weekday name

%A Full weekday name

%b Abbreviated month name

%B Full month name

%c Date and time representation


appropriate for locale

%d Day of month as decimal number


(01..31)

%H Hour in 24-hour format (00..23)

%I Hour in 12-hour format (01..12)

%j Day of year as decimal number


(001..366)

%m Month as decimal number (01..12)

%M Minute as decimal number (00..59)

%p Current locale’s A.M./P.M. indicator


for 12-hour clock

%S Second as decimal number (00..59)

%U Week of year as decimal number,


Sunday as first day of week (00..53)

%w Weekday as decimal number (0..6;


Sunday is 0)

%W Week of year as decimal number,


Monday as first day of week (00..53)

%x Date representation for current locale

%X Time representation for current locale

%y Year without century, as decimal


number (00..99)

%Y Year with century, as decimal number

%z, %Z Time-zone name or abbreviation; no


characters if zone is unknown

%% Percent sign

Return value:
The formatted time string
Example:
The following example shows the date.

B - 17
DIgSILENT PowerFactory DPL Reference

str = strftime('Today is %A, day %d of %B in the year %Y.');


printf('%s', str);
Output:
Today is Wednesday, day 30 of April in the year 2003.

sscanf
int sscanf (string Source, string Format, string T | double X | int I, ...)
DPL Internal Methods
Returns the number of fields successfully converted and assigned; the return value does
not include fields that were read but not assigned.
Arguments:
string Source (obligatory) : The string
string Format (obligatory) : Defines a format of variable types (int/string/double) to which
the fields are assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
The following example assignes the first two fields of string sStr to the string sRes and
the double rVal
iPos = 0;
sStr = 'Test 23';
iRet = sscanf(sStr,'%s %d',sRes,iPos);
printf('%s %d iRet = %d',sRes,iPos,iRet);
Output of the script above:
Test 23 iRet = 0

fscanf
int fscanf (int iFH, string Format, string T | double X | int I, ...)
DPL Internal Methods
Returns the number of fields successfully converted and assigned; the return value does
not include fields that were read but not assigned.
Arguments:
int iFH (obligatory) : Number of file handler (0,1,...,9)
string Format (obligatory) : Defines a format of variable types (int/string/double) to which
the fields are assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer

B - 18
DIgSILENT PowerFactory DPL Reference

Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
The following example assignes the first to fields of the text file 'test.txt' (contents: 'Name
12.333') to the string sRes and the double rVal
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);
Output of the script above:
Name 12.3 iRet = 0

fscanfsep
int fscanfsep(int iFH, string Ft, string T | double X | int I, ..., string sSep, int iLine)
DPL Internal Methods
Functionality like fscanf. Returns the number of fields successfully converted and as-
signed; the return value does not include fields that were read but not assigned. This
function additionally considers a special character to separate the values, instead of the
standard separators like blanks and tabs. It also can be instructed to stop after the line
read.
Arguments:
int iFH (obligatory) : Number of file handler (0,1,...,9)
string Ft (obligatory) : Defines a format of variable types (int/string/double) to which the
fields are assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
string sSep : separator character
int iLine (obligatory) : 1 if the interpretation of the line will be stopped after the current
line. 0 for continued interpretation.

Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
int iRet;
string sRes;

fopen('c:\test1.txt','r',0);
SetLineFeed(0);

while (iRet > -1){


iRet = fscanfsep(0,'%s',sRes,';',1);
if (iRet = -1){

B - 19
DIgSILENT PowerFactory DPL Reference

break;
}
printf('%s\n',sRes);
}
fclose(0);

ActiveCase
Object ActiveCase ()
DPL Internal Methods
Returns the currently active Study Case.
Arguments:
none
Return value
A "IntCase'' object
Example:
The following example writes the name of the active study case to the output window.
object aCase;
aCase = ActiveCase();
aCase.ShowFullName();

SummaryGrid
Object SummaryGrid ()
DPL Internal Methods
Returns the summary grid in the currently active Study Case. The summary grid is the
combination of all active grids in the study case.
Arguments:
none
Return value:
A ElmNet object, or a 'NULL' object when no grids are active
Example:
The following example performs a load-flow and returns the total grid active power losses.
object SumGrid;
SumGrid = SummaryGrid();
if (SumGrid) {
Ldf.Execute();
output('Active Power Losses=SumGrid:c:LossP');
}

ActiveProject
Object ActiveProject ()
DPL Internal Methods
Returns the currently active project.

B - 20
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
A "IntPrj'' object
Example:
The following example prints the name of the active project to the output window.
object Prj;
Prj = ActiveProject();
Prj.ShowFullName();

validLDF
int validLDF ()
DPL Internal Methods
Checks to see if the last load-flow results are still valid and available.
Arguments:
none
Return value:
0 if no load-flow results are available
Example:
The following example checks if a load-flow is available, and performs one when not.
int valid;
valid = validLDF();
if (.not.valid) {
Ldf.Execute();
}

validRMS
int validRMS ()
DPL Internal Methods
Checks to see if the last RMS simulation results are still valid and available.
Arguments:
none
Return value:
0 if no RMS simulation results are available
Example:
The following example checks if a RMS simulation is available, and performs one when
not.
int valid;
valid = validRMS();
if (.not.valid) {
Rms.Execute();
}

B - 21
DIgSILENT PowerFactory DPL Reference

validSHC
int validSHC ()
DPL Internal Methods
Checks to see if the last short-circuit results are still valid and available.
Arguments:
none
Return value:
0 if no short-circuit results are available
Example:
The following example checks if a short-circuit result is available, and performs one when
not.
int valid;
valid = validSHC();
if (.not.valid) {
Shc.Execute();
}

validSIM
int validSIM ()
DPL Internal Methods
Checks to see if the last simulation results are still valid and available.
Arguments:
none
Return value:
0 if no simulation results are available
Example:
The following example checks if a simulation result is available.
int valid;
valid = validSIM();
if (.not.valid) {
output('No simulation result available');
}

SetLineFeed
void SetLineFeed (int i)
DPL Internal Methods
Sets or resets the automatic line feed for printf().
Arguments:
int i (obligatory) : use '0' to disable the automatic line feed, use '1' to enable it again.
Return value:
void

B - 22
DIgSILENT PowerFactory DPL Reference

Example:
The following example disables the automatic line feed prior to printing a matrix of num-
bers. The special character '\n' is used to force a line feed.
int i,j;
SetLineFeed(0); ! disable line-feed
for (i=0; i<3; i+=1) {
printf('%2d', i);
for (j=1; j<5; j+=1) {
printf('\t%2d', i+j);
}
printf('\n'); ! insert a line-feed
}
Also see "printf'' .

GetPageLen
int GetPageLen (int orientation)
DPL Internal Methods
Returns the number of lines per page according to the currently selected printer and pa-
per size.
Arguments:
int orientation (optional) : Paper orientation: 0: landscape, 1: portrait ; default: landscape
Return value:
The maximum number of lines that can be printed on a single sheet of paper.

GetCaseObject
object GetCaseObject (string ClassName)
DPL Internal Methods
Returns the first found object of class "ClassName'' from the currently active calculation
case. The object is created when no object of the given name and/or class was found.
Returns the default command object of class "ClassName'' from the currently active cal-
culation case. Initializes newly created commands according to the project settings.
The icons on the main menu for load-flow, short-circuit, transient simulation, etc. also
open the corresponding default command from the currently active study case. Using
"GetCaseCommand()" in a DPL script will return the same command.
Arguments:
string ClassName (optional) : Class name of the object ("Class''), optionally preceded by
an object name without wildcards and a dot ("Name.Class'').
Return value:
The found or created object.
Example:
The following example uses the default SetTime object to change the calculation time,
and then executes the load-flow command with the name 'Unbalanced'.
object time, com;

B - 23
DIgSILENT PowerFactory DPL Reference

time = GetCaseObject('SetTime');
time:hourofyear = 1234;
com = GetCaseObject('Unbalanced.ComLdf');
com.Execute();

GetCaseCommand
object GetCaseCommand (string ClassName)
DPL Internal Methods
This command is obsolete. Please use the more versatile "GetCaseObject'' in stead.
Please refer to "GetCaseObject()'' .

GetGraphBoard
SetDeskTop GetGraphBoard ()
DPL Internal Methods
Returns the currently active Graphics Board.
Arguments:
none
Return value:
The graphics board object
Example:
The following example looks for an opened Graphics Board and sets its default results to
the results object named 'Results'.
object aGrf;! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) { ! Set default results object
aGrf.SetResults(Results);
}
Also see
SetDeskTop.GetPage
SetDeskTop.SetResults
SetDeskTop.SetXVar
SetDeskTop.SetScaleX
SetDeskTop.SetAutoScaleX
SetDeskTop.SetAdaptX

GetTime
int GetTime (int iN)
DPL Internal Methods
Returns current processor time.
Arguments:

B - 24
DIgSILENT PowerFactory DPL Reference

int iN (obligatory) : precision after decimal point


Return value:
Current processor time in seconds

GetLanguage
int GetLanguage ()
DPL Internal Methods
Returns the current program language setting.
Arguments:
none
Return value:
0 = English, 1 = German
Example:
The following example displays a different message, depending on the language.
int err, lng;
lng = GetLanguage();
err = Ldf.Execute();
if (err) {
if (lng) {
output('Load-flow command returned an error');
} else {
output('Fehler im Lastfluss Kommando');
}
exit(); }

GetLocalLib
object GetLocalLib ([string ClassName])
DPL Internal Methods
Returns the local library for object-types of class "ClassName''. ClassName may be omit-
ted, in which case the complete local library folder is returned.
Arguments:
string ClassName (optional) : The classname of the objects for which the library folder is
sought
Return value:
The library folder
Example:
The following example shows the contents of the local library for line types.
object Lib, O;
set S;
Lib = GetLocalLib('TypLne');
S = Lib.GetContents();
O = S.First();
while (O) {
O.ShowFullName();

B - 25
DIgSILENT PowerFactory DPL Reference

O = S.Next();
}
Also see "GetGlobalLib'' .

GetGlobalLib
object GetGlobalLib ([string ClassName])
DPL Internal Methods
Returns the global library for object-types of class "ClassName''. ClassName may be omit-
ted, in which case the complete global library folder is returned.
Arguments:
string ClassName (optional) : The classname of the objects for which the library folder is
sought
Return value:
The library folder
Example:
The following example shows the contents of the global library for line types.
object Lib, O;
set S;
Lib = GetGlobalLib('TypLne');
S = lib.GetContents();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "GetLocalLib'' .

PostCommand
void PostCommand (string Command)
DPL Internal Methods
Adds a command to the command pipe in the input window. The posted commands will
be executed after the DPL command has finished.
Arguments:
string Command (obligatory) : The command string
Return value:
void (no return value)
Example:
The following command causes the PowerFactory program to end after the DPL script
has finished.
PostCommand('exit');

B - 26
DIgSILENT PowerFactory DPL Reference

ResIndex
int ResIndex (object res, object O, string vnm)
DPL Internal Methods
Returns the column number of the variable 'vnm' of object 'O' in the result object 'res'. An
error is produced when 'res' is not a ElmRes object, when 'O' is not in the result file.
Arguments:
object res (obligatory) : the result file
object O (obligatory) : The monitored object
string vnm (obligatory) : the name of the monitored variable of object 'O'
Return value:
The index of the variable. This index can be used in "GetResData'' to retrieve the value.
A negative index is returned when 'vnm' is not in the result file.
Example:
object obj, res;
double x, x1, x2;
int n, ix, i1, i2;
int Nval;
obj = GetCaseCommand('ComInc');
res = obj:p_resvar;
LoadResData(res);
Nval = ResNval(res,0);
obj = res.GetObject(1);
i1 = ResIndex(res, obj, 'm:I1:bus1');
i2 = ResIndex(res, obj, 'm:U1:bus1');
if (i1<0.or.i2<0) exit();
ix = 0;
while (ix<Nval) {
GetResData(x, res, ix);
GetResData(x1, res, ix, i1);
GetResData(x2, res, ix, i2);
printf('%8.5f %8.5f %8.5f', x, x1, x2);
ix += 1;
}
Also see "LoadResData()''
"GetResData()''
"GetObject'' .

GetResData
int GetResData (double d, object O, int iX, int iCrv)
DPL Internal Methods
Returns a value from a result object for row iX of curve iCrv. An error is produced when
O is not a ElmRes object.
Arguments:
double d (obligatory) : the returned value
object O (obligatory) : The result file object

B - 27
DIgSILENT PowerFactory DPL Reference

int iX (obligatory) : the row index


int iCrv (optional) : The curve number, which equals the variable or column number, first
column value (time,index, etc.) is returned when omitted.
Return value:
0 when ok
1 when iX out of bound
2 when iCrv out of bound
3 when invalid value is returned ('INFINITY', 'DUMMY', etc.)
Also see "LoadResData()'' .

ResNval
int ResNval (object O, int iCrv)
DPL Internal Methods
Returns the number of values stored in result object for curve iCrv. An error is produced
when O is not a ElmRes object.

Arguments:
object O (obligatory) : The result file object
int iCrv (obligatory) : The curve number, which equals the variable or column number.

Also see "LoadResData()'' .

ResNvars
int ResNvars (object O)
DPL Internal Methods
Returns the number of variables (columns) in result file. An error is produced when O is
not a ElmRes object.
Arguments:
object O (obligatory) : The result file object
Also see "LoadResData()'' .

LoadResData
void LoadResData (object O)
DPL Internal Methods
Loads the data of a result file (ElmRes) in memory. An error is produced when O is not
a ElmRes object.
Arguments:
object O (obligatory) : The result file object
Return value:

B - 28
DIgSILENT PowerFactory DPL Reference

void
Example:
object obj, res;
double x;
int Nvar, Nval, n, ix,iy;
string str;
obj = GetCaseCommand('ComInc');
res = obj:p_resvar;
LoadResData(res);
Nvar = ResNvars(res);
Nval = ResNval(res,0);
printf('Nvar=%d Nval=%d', Nvar, Nval);
ix = 0;
while (ix<Nval) {
iy = 0;
GetResData(x, res, ix);
str = sprintf('%f :', x);
while (iy<Nvar) {
GetResData(x, res,ix,iy);
str = sprintf('%s %8.5f ', str, x);
iy += 1;
}
printf('%s', str);
ix += 1;
}
An example (depending of the results in the result object) of the output for this script :
Nvar=3
Nval=11
-0.050000 : 0.12676 30.73286 12.91360
-0.040000 : 0.12676 30.73286 12.91360
-0.030000 : 0.12676 30.73286 12.91360
-0.020000 : 0.12676 30.73286 12.91360
-0.010000 : 0.12676 30.73286 12.91360
-0.000000 : 0.12676 30.73286 12.91360
0.010000 : 0.12676 30.73286 12.91360
0.020000 : 0.12676 30.73286 12.91360
0.030000 : 0.12676 30.73286 12.91360
0.040000 : 0.12676 30.73286 12.91360
0.050000 : 0.12676 30.73286 12.91360

ResetCalculation
void ResetCalculation ()
DPL Internal Methods
Resets all calculations and destroys all volatile calculation results.
Arguments:
none

Return value:
void (no return value)
Results that have been written to result objects (for display in graphs) will not be de-
stroyed. All results that are visible in the single line diagrams, however, will be destroyed.
Example:

B - 29
DIgSILENT PowerFactory DPL Reference

The following example resets all calculations


ResetCalculation();

fopen
int fopen (string Path, string Mode, int iFH, int iRet)
DPL Internal Methods
Opens file with attribute Mode and assigns an ID iFH of the file handler to the open file.
Arguments:
string Path (obligatory): Path of file to open. Path must exist. File could be created de-
pending on the Mode
string Mode (obligatory): The attribute for opening the file (r,w,a,r+,w+,a+,b,t)
int iFH (obligatory): Number of file handler (0,1,...,9)
int iRet (optional): If it is set to 0 or no value is given, the function does not return any
value. If different that 0, value is returned
Return value:
0 on success, 1 on error
Example:
The following example opens a file and closes it again.
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);

fclose
void fclose (int iFH)
DPL Internal Methods
Closes file with the ID iFH of the file handler (between 0 and 9).
Arguments:
int iFH (obligatory) : Number of file handler (0,1,...,9)
Return value:
void
Example:
The following example opens a file and closes it again.
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);

Random
double Random ([double x1 [,double x2]])
DPL Internal Methods

B - 30
DIgSILENT PowerFactory DPL Reference

Returns a pseudo random value. If x1 and x2 are omitted, a value in the range of [0 ...
1] is returned. If only x1 is given, the possible range is [0 ... x1] and with both x1 and x2,
[x1 ... x2].
Arguments:
double x1 (optional) : upper/lower limit
double x2 (optional) : upper limit
Return value:
A pseudo-random number
Example:
The following example sets a load to a random active power prior to calculating a load-
flow.
double P;
Load:plini = Random(1.2, 2.3);
Ldf.Execute();

SetRandSeed
void SetRandSeed (int N)
DPL Internal Methods
Initializes the random number generator. One out of 10 predefined initialization seeds can
be selected.
Arguments:
int N (obligatory) : seed 0..10
Example:
See fRand()

fRand
double fRand (int mode | double p1 | double p2)
DPL Internal Methods
Returns a stochastic number according to a specific probability distribution.
Arguments:
int mode (obligatory) :
Table B.3:
0: uniform distribution

1: normal distribution

2: weibull distribution

else: returns 0.0

double p1 (obligatory) :

B - 31
DIgSILENT PowerFactory DPL Reference

double p1 (obligatory) :
Table B.4:
uniform normal weibull

p1 min mean shape

p2 max stdvar scale

Return value:
void
Example:
The following example prints random numbers for the following distributions:
uni0 : an uniform distribution in [0..1]
uni1 : an uniform distribution in [0..50]
uni2 : an uniform distribution in [-8, 21];
norm : a normal distribution with mean=30 and standard variance=5
weib : a Weibull distribution with lambda=5 and beta=30
int n;
double uni0,uni1,uni2,norm,weib;
SetRandSeed(2);
for (n=0; n<10; n+=1) {
uni0 = fRand(0);
uni1 = fRand(0, 50);
uni2 = fRand(0, -8, 21);
norm = fRand(1, 30, 5);
weib = fRand(2, 5, 30);
printf('%f %f %f %f %f', uni0, uni1, uni2, norm, weib);}

Results Output:
0.232422 20.225048 20.364702 32.294429 15.165993
0.877555 31.371372 11.501229 28.380458 26.404837
0.901226 15.313008 14.782988 23.883499 34.911052
0.598748 17.908476 -6.831869 28.314934 20.706127
0.588662 35.265549 6.403110 25.233148 16.437912
0.474393 44.846884 20.024787 35.297444 22.190684
0.122955 24.725714 -6.099016 28.535867 27.149573
0.554570 17.020344 13.658290 32.858903 30.625329
0.920789 47.127992 0.749566 28.616229 21.187893
0.609307 11.819403 -6.716297 37.955694 29.645523

ddeOpen
int ddeOpen(string sPath, string sAppName, string sTopic)
DPL Internal Methods
Establishes a DDE connection to a topic of an application.
Arguments:
string sPath (obligatory) :Path to application to start. If empty ('') the application must be
started manually by the user. If path is given, ddeOpen will start the application if it not
already running.
string sAppName (obligatory) : Application name.
string sTopic (obligatory) : Topic; The topic of a DDE conversation can be either the name

B - 32
DIgSILENT PowerFactory DPL Reference

of a open document or the special topic "System". A document can be either a regular
document in the application, a template, or a macro
Return value:
0 on success, != 0 on errors
Example:
The following example establishes a DDE connection to topic System of Excel and closes
the connection if successfully established.
int ierr;

! open a DDE connection to Excel :


ierr = ddeOpen(s, 'Excel', 'System');
if (.not.ierr) {
! ok, excel can be opened.
! ...
ddeClose();
}
Also see ddeClose

ddeClose
void ddeClose()
DPL Internal Methods
Closes the DDE link.
Arguments:
none
Return value:
none
Example:
The following example establishes a DDE link to topic named 'System' of Excel and closes
the connection if successfully established.
int ierr;

! open a DDE connection to Excel :


ierr = ddeOpen(s, 'Excel', 'System');
if (.not.ierr) {
! ok, excel can be opened.
! ...
ddeClose();
}
Also see ddeOpen

ddeExe
int ddeExe (string sCmd)
DPL Internal Methods
Starts command in the currently opened topic. A command can be a visual basic com-
mand, too. Commands are usually sent to the topic named 'System'.

B - 33
DIgSILENT PowerFactory DPL Reference

Arguments:
string sCmd (obligatory): Command to execute
Return value:
<0 if the dde connection was not established before calling ddeExe, =0 if ddeExe suc-
cessfully executed, >0 if ddeExe failed
Example:
The following example looks for a sheet named 'Sheet1'. A new sheet is created if Sheet1
was not found. Then the DDE link to the page is established.
int ierr;

ierr = ddeOpen('', 'Excel', 'System');


if (.not.ierr) {
! excel can be opened. Now close and connect to a specific sheet
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
if (ierr) {
Info('No Sheet1 yet, creating one...');
ierr = ddeOpen('', 'Excel', 'System');
if (ierr) {
printf('Cannot open DDE to Excel');
} else {
! create a new sheet
ddeExe('[New(1)]');
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
}
}
}
if (ierr) {
Error('Could not open DDE connection');
exit();
}

ddePoke
int ddePoke (string sItem, string sData)
DPL Internal Methods
Sends data to an item in the currently opened DDE topic.
Arguments:
string sItem: the item receiving the data. Examples for an item are a cell in excel or a
named bookmark in word.
string sData: the data to send.
Return value:
<0 if the dde connection was not established before calling ddePoke, =0 if the ddePoke
was successfully executed, >0: if the ddePoke failed.
Example:
The following example writes data to some cells on the worksheet named 'Sheet1' in Ex-
cel. It is assumed that Excel is already running when starting the dpl command.
int ierr, i;
double x,y,z;

B - 34
DIgSILENT PowerFactory DPL Reference

string s,s1,s2;

Warn('This example assumes an English Excel');


Warn('Other languages should translate the Excel commands');
Warn('like "concatenate"');

! open a DDE connection to Sheet1 :


ierr = ddeOpen('', 'Excel', 'System');
if (.not.ierr) {
! excel can be opened. Now close and connect to a specific sheet
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
if (ierr) {
Info('No Sheet1 yet, creating one...');
ierr = ddeOpen('', 'Excel', 'System');
if (ierr) {
printf('Cannot open DDE to Excel');
} else {
! create a new sheet
ddeExe('[New(1)]');
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
}
}
}
if (ierr) {
Error('Could not open DDE connection');
exit();
}

! write some numbers


x = 3;
while (x<7) {
y = 5;
while (y<14) {
z = x+y/100;
s1 = sprintf('R%dC%d',x,y);
s2 = sprintf('%f',z);
ddePoke(s1,s2); ! poke the numbers in the sheet
y+=1;
}
x+=1;
}
Also see ddeRequest

ddeRequest
int ddeRequest (string sItem, string sStringData, double dNumVal)
DPL Internal Methods
Receives data from an item in a previously opened DDE topic
Arguments:
string sItem: The item. Examples for an item are a cell in excel or a named bookmark in
word
string sStringData:The data received from the topic as string (return value=2)
double dNumVal:The data received from the topic as a number (if sStringData is a num-

B - 35
DIgSILENT PowerFactory DPL Reference

ber, return value=2)


Return value:
<0 if the dde connection was not established before calling ddeRequest, =0 if the ddeRe-
quest failed, =1 if value is a number, =2 if value is a string.
Example:
The following is a small code fragment where data is read from an Excel sheet. The code
fragment runs fine, in case that the currently opened DDE topic is an Excel sheet.
i = ddeRequest('R12C2',s,x); ! get the contents of a cel
if (i=1) printf('%f', x); ! i=1 means a number
i = ddeRequest('R5C2',s,x);
if (i=2) printf('%s', s); ! i=2 means a string
Also see ddePoke

B.2 DPL External General Types

B.2.1 DPL Set Methods


Set methods are functions for the set type parameters.
set . [SETMETHOD] ( arguments) ;
The following [SETMETHOD] methods are available:
Add Adds an object.
Remove Removes an object.
Clear Removes all objects from the set.
First Returns the first objects.
Next Returns the next object.
Firstmatch Returns the first matching object.
Nextmatch Returns the next matching object.
FirstFilt Returns the first matching object.
NextFilt Returns the next matching object.
IsIn Searches for an object in the set.
Count Returns the number of stored objects.
Obj Returns the object at index i.
SortToVar Sorts the objects to a variable value.
SortToClass Sorts the objects to their class.
SortToName Sorts the objects to their names.
MarkInGraphics Marks the objects in the graphic.

Set.Add
int Set.Add ([object O | set S])

B - 36
DIgSILENT PowerFactory DPL Reference

Adds an object or all objects from a set to the set.


Arguments:
One of the following two parameter has to be given
object O (optional) : an object
set S (optional) : a set of objects
Return value:
0 on success
Example:
The following example collects all loads and lines and the first breaker from the general
DPL selection
set S, Sbig;
object O;
Sbig = SEL.AllLines();
S = SEL.AllLoads();
Sbig.Add(S);
S = SEL.AllBreakers();
O = S.First();
Sbig.Add(O);

Set.Remove
int Set.Remove (object O)
Removes an object from the set.
Arguments:
object O (obligatory) : the object to remove
Return value:
0 on success
Example:
The following example removes al short lines from a set
set S;
object O;
double l;
S = SEL.AllLines();
O = S.First();
while (O) {
l = O:dline;
if (l<1) {
S.Remove(O);
}
O = S.Next();
}

Set.Clear
void Set.Clear()
Clears the set.
Arguments:

B - 37
DIgSILENT PowerFactory DPL Reference

none
Return value:
void
Example:
The following example clears a set
set Sbig;
Sbig = SEL.AllLines();
...
Sbig.Clear();

Set.First
Object Set.First()
Returns the first object in the set.
Arguments:
none
Return value:
The first object or 0 when the set is empty
Example:
The following example writes the full names of all line in the general selection to the out-
put window.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "Next'' .

Set.Next
Object Set.Next ()
Returns the next object in the set.
Arguments:
none
Return value:
The next object or 0 when the last object has been reached
Example:
The following example writes the full names of all line in the general selection to the out-
put window.
set S;
object O
S = SEL.AllLines();
O = S.First();

B - 38
DIgSILENT PowerFactory DPL Reference

while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "First'' .

Set.Firstmatch
Object Set.Firstmatch (String WildCard)

Set.Firstmatch (string) is obsolete. Use Set.FirstFilt (string) instead.

Set.Nextmatch
int Set.Nextmatch ()

Set.Nextmatch () is obsolete. Use Set.NextFilt () instead.

Set.FirstFilt
Object Set.FirstFilt (String WildCard)
Returns the first object from the set which name matches the wildcard. The wildcard may
contain (parts of the) name and classname.
Arguments:
String WildCard (obligatory) : class name, possibly containing '*' and '?' characters
Return value:
The first matching object, or NULL when no first object exists.
Example:
The following example writes all two and three winding transformers whose name start
with a "T'' to the output window
set S;
object O;
S = AllRelevant();
O = S.FirstFilt('T*.ElmTr?');
while (O) {
O.ShowFullName();
O = S.NextFilt();
}
Also see "NextFilt'' .

Set.NextFilt
int Set.NextFilt ()
Returns the next object from the set which name matches the wildcard.
Arguments:
none

B - 39
DIgSILENT PowerFactory DPL Reference

Return value:
The next object, or NULL when no next object exists.
Example:
The following example writes all two and three winding transformers to the output win-
dow
set S;
object O;
S = AllRelevant();
O = S.FirstFilt('T*.ElmTr?');
while (O) {
O.ShowFullName();
O = S.NextFilt();
}
Also see "FirstFilt'' .

Set.IsIn
int Set.IsIn (object O)
Checks if the set contains object 'O'.
Arguments:
object O (obligatory) : an object
Return value:
1 if the O is in the set.
Example:
The following example collects all not selected lines.
set Ssel, Srel, Snsel;
object lne;
int i;
Ssel = SEL.AllLines();
Srel = AllRelevant();
lne = Srel.Firstmatch('ElmLne');
while (lne) {
i = Ssel.IsIn(lne);
if (i=0) Snsel.Add(lne);
lne = Srel.Nextmatch();
}

Set.Count
int Set.Count ()
Returns the number of objects in the set.
Arguments:
none
Return value:
The number of objects in the set.
Example:
The following example terminates the DPL script when the general selection is found to

B - 40
DIgSILENT PowerFactory DPL Reference

contain no lines.
set S;
int n;
S = SEL.AllLines();
n = S.Count();
if (n=0) {
exit();
}

Set.Obj
int Set.Obj (int Index)
Returns the object at the given index in the set.
Arguments:
int Index (obligatory) : the index of the object.
Return value:
The object at the given index in the set, when "Index'' is in range, NULL otherwise.

Set.SortToVar
int Set.SortToVar (int R, string V1, ..., string V5)
Sorts the objects in the set to the variable names.
Sorts the objects to the values for V1. Within the sorting for V1, a sub-sorting for V2, sub-
sub-sorting for V3, etc., until V5 can be performed. The sorting is from higher values to
lower when R==1, and reverse when R==0.
Arguments:
int R (obligatory) : sorting direction
string V1 (obligatory) : first variable name
string V2 (optional) : , ..., string V5 (optional) : 2nd..5th variable names
Return value:
0 on success
Example:
The following example writes all lines to the output window, sorted to derating factor and
length.
set S;
object O;
S = AllRelevant('*.ElmLne,*.ElmLneRoute');
S.SortToVar(0, 'fline', 'dline');
O = S.First();
while (O) {
printf('%10s %f %f',O:loc_name,O:fline,O:dline);
O = S.Next();
}

Set.SortToClass
int Set.SortToClass (int R)
Sorts the objects in the set to their class name. The sorting is from A..Z when R=0 and

B - 41
DIgSILENT PowerFactory DPL Reference

reverse when R=1.


Arguments:
int R (obligatory) : sorting direction
Return value:
0 on success
Example:
The following example writes all objects to the output window, sorted to classes.
set S;
object O;
S = AllRelevant();
S.SortToClass(0); O = S.First(); while (O) { O.ShowFullName(); O =
S.Next(); }

Set.SortToName
int Set.SortToName (int R)
Sorts the objects in the set to their name.
Sorts the objects in the set to their name. The sorting is from A..Z when R=0 and reverse
when R=1.
Arguments:
int R (obligatory) : sorting direction
Return value:
0 on success
Example:
The following example writes all objects to the output window, sorted to names.
set S;
object O;
S = AllRelevant();
S.SortToName(0);
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}

Set.MarkInGraphics
void Set.MarkInGraphics ()
Marks all objects in the set in the currently visible graphic by hatch crossing them.
Arguments:
none
Return value:
void
Example:
The following example will try to mark a set of lines in the single line graphic.

B - 42
DIgSILENT PowerFactory DPL Reference

set S;
object O;
S = SEL.AllLines();
S.MarkInGraphics();

B.2.2 DPL Object Methods


The object methods are specific for each type of object class. A result file object
(ElmRes), for instance, has a "Write'' method, which would not make sense for a load-
flow command object.
The general syntax for an object method equals that of the set method:
object . [OBJMETHOD] ( arguments) ;
The following overview lists all the non-specific [OBJMETHOD] methods which are avail-
able for all classes.
CreateObject Creates a new object.
ShowFullName Prints the full database path and name.
GetFullName Returns the full database path and name.
GetContents Returns the stored objects.
GetClass Returns the class name of an object.
IsClass Checks for a certain class.
GetParent Returns the parent folder.
GetNode Returns the node(s) connected to an object.
IsNode Checks if the object is a busbar or terminal.
GetCubicle Returns the object's cubicle.
HasResults Returns if the object has result parameters.
GetConnectedElms Returns the set of connected elements.
GetConnectionCount Returns the number of electrical connections.
Edit Opens the object dialogue.
Move Moves an objects to this folder.
AddCopy Adds a copy of an object.
IsRelevant Returns if the object is used for calculations.
IsOutOfService Returns if the object is out of service.
IsInFeeder Returns if the object belongs to the feeder.
VarExists Checks a variable name.
GetNet Returns the grid in which the object is located.
GetSize Get the size of a vector or matrix variable.
GetVal Returns the value of a parameter.
lnm Returns the long name of a variable.
snm Returns the short name of a variable.
unm Returns the unit of a variable.

B - 43
DIgSILENT PowerFactory DPL Reference

Unom Returns the nominal voltage.


Inom Returns the nominal current.
MarkInGraphics Marks the object in the graphic.
StochEvt Returns the first or the next state of a stochastic object.

Object.CreateObject
object Object.CreateObject (string ClassNm [, string | int NM1, ...])
Creates a new object of class 'ClassNm' in the target object. The target object must be
able to receive an object of the given class. A fatal DPL error will occur when this is not
the case, causing the running DPL command to exit. "Fold.CreateObject(aClass, nm1,
nm2, ...)'' will create a new object of class aClass and names it to the result of the con-
catenation of 'nm1', 'nm2', etc.
Arguments:
string ClassNm (obligatory) : The class name of the object to create
string | int NM1 (optional) : The first part of the object name
string | int NM2 (optional) : The next part of the object name
...
Return value:
The created object, or NULL when no object was created
Example:
The following example creates a fuse in a set of cubicles. The new fuses will be named
"Fuse Nr.0'', "Fuse Nr.1'', etc.
object target;
set Cubs;
int n;
Cubs = SEL.GetAll('StaCubic');
target = Cubs.First();
n = 0;
while (target) {
target.CreateObject('RelFuse', 'Fuse Nr', n);
target = Cubs.Next();
n+=1;
}

Object.ShowFullName
void Object.ShowFullName ()
Writes the complete path and name to the output window.
Arguments:
none
Return value:
void
Because the complete database path is written to the output window, the written names
can be right-clicked in the output window to edit the objects. This procedure is therefore

B - 44
DIgSILENT PowerFactory DPL Reference

useful for selecting objects which should be inspected or edited after the DPL script has
finished.
Example:
The following example will write all overloaded lines from the selection to the output win-
dow.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
if (O:c:loading>100.0) {
O.ShowFullName();
}
O = S.Next();
}

Object.GetFullName
string Object.GetFullName ()
Returns the complete path and name as a string.
Arguments:
none
Return value:
The full name of the object
Example:
The following example will write all overloaded lines from the selection to the output win-
dow.
set S;
object O;
string objname;
S = SEL.AllLines();
O = S.First();
objname = O.GetFullName();
printf('Name of object: %s',objname);

Object.GetContents
set Object.GetContents (string WildCard, int Contents)
Returns the set of objects that are stored in the object and which name matches the wild-
card. Returns an empty set, if the object's container is empty or if the object is not capable
of storing objects. The wildcard may contain (parts of the) name and classname.
Arguments:
string WildCard (optional) : class name, possibly containing '*' and '?' characters
int Contents (optional) : if Contents = 1, the DPL command will additionally search all sub-
folders. If Contents = 0 (Default), the DPL command will only search object o.
Return value:
The set of objects

B - 45
DIgSILENT PowerFactory DPL Reference

Example:
The following example collects all lines that are stored in line objects.
set Grids, Lines;
object pLne, pGrd;
Grids = AllRelevant('*.ElmNet');
! get all grids
pGrd = Grids.First();
while (pGrd) {
printf('Lines in Grid %s',pGrd:loc_name);
! get all objects of class ElmLne* (ElmLne, ElmLneroute)
! in all pGrd and it's subfolders of pGrd
Lines = pGrd.GetContents('*.ElmLne*',1);
pLne = Lines.First();
while (pLne) {
pLne.ShowFullName();
pLne = Lines.Next();
}
pGrd = Grids.Next();
}

Object.GetClass
string Object.GetClass ()
Returns the class name of the object.
Arguments:
none
Return value:
The class name of the object
Example:
The following example checks to see if two sets start with the same class.
object O1, O2;
O1 = S1.First();
O2 = S2.First();
i = O1.IsClass(O2.GetClass());
if (i) {
output('Both sets start with the same class');
}

Object.IsClass
int Object.IsClass (string ClassName)
Checks to see if the object is of a certain class.
Arguments:
string ClassName (obligatory) : The name of the class.
Return value:
1 when the object is of the given class, 0 otherwise
Example:
The following example write all overloaded lines and transformers to the output window,
where a different maximum loading is used for lines or transformers.

B - 46
DIgSILENT PowerFactory DPL Reference

set S;
object O;
int i;
S = AllRelevant();
O = S.First();
while (O) {
i = O.IsClass('ElmLne');
if (i) {
if (O:c:loading>0.85) O.ShowFullName();
} else {
i = O.IsClass('ElmTr2');
if (i) {
if (O:c:loading>0.95) O.ShowFullName();
}
}
O = S.Next();
}

Object.GetParent
object Object.GetParent ()
Returns the parent folder.
Arguments:
none
Return value:
The parent folder object.
Example:
The following example returns the folder in which a line is stored. The function "GetBest-
Line()'' is an example DPL script which returns a line.
object Lne, Fold;
Lne = GetBestLine();
Fold = Lne.GetParent();
...
Also see "GetContents'' .

Object.GetNode
string Object.GetNode (int iBusNo, int iSw)
Returns the node(s) connected to the object.
Arguments:
int iBusNo (obligatory) : Bus number (0,1)
int iSw (obligatory) : Considering configuration of switches (0,1), Default=0
Return value:
Connected node object

Object.IsNode
int Object.IsNode ()

B - 47
DIgSILENT PowerFactory DPL Reference

Returns 1 if object is a node (terminal or busbar).


Arguments:
none
Return value:
1 if object is s node, 0 otherwise

Object.GetCubicle
object Object.GetCubicle (int N)
Returns the cubicle of an object at the connection with index n, or NULL if there is no
cubicle inside the object.
Arguments:
int N (obligatory) : The connection number.
Return value:
The cubicle object or NULL.

Object.HasResults
void Object.HasResults ()
Returns 'true' when the object has calculated result parameters.
Arguments:
none
Return value:
'true' (1) or 'false' (0)

Object.GetConnectedElms
set Object.GetConnectedElms ([int rBrk[,int rDis[,int rOut]]])
Returns the set of connected elements. Only electrically connected elements are returned
when the conditions of all switches are regarded. Possible connections will also be re-
turned when rBrk and/or rDis is zero, in case of open breakers and/or disconnectors. The
default values are (0,0,0).
Arguments:
int rBrk (optional) : if true, regards position of breakers
int rDis (optional) : if true, regards position of disconnectors
int rOut (optional) : if true, regards in-service or out-of-service status
Return value:
The set of connected elements

Object.GetConnectionCount
int Object.GetConnectionCount ()

B - 48
DIgSILENT PowerFactory DPL Reference

Returns the number of electrical connections.


Arguments:
none
Return value:
The number of connections.
Example:
set aSet;
int iCount,iCub;
object pObj,pCub,pBus;
! list all nodes where a 3-winding transformer is connected
aSet = AllRelevant('*.ElmTr3');
for (pObj=aSet.First(); pObj; pObj=aSet.Next()) {
iCount = pObj.GetConnectionCount();
for (iCub=0; iCub<iCount; iCub=iCub+1) {
pCub=pObj.GetCubicle(iCub);
if (pCub) {
pBus = pCub:cBusBar;
if (pBus) {
pBus.ShowFullName();
}
}
}
}

Object.Edit
void Object.Edit ()
Opens the edit dialogue of the object. Command objects (like the ComLdf) will have their
Execute button disabled. The execution of the running DPL script will be halted until the
edit dialogue is closed again.
Editing of DPL command objects ComDPL is not allowed.
Arguments:
none
Return value:
void
Example:
The following example opens a line dialogue, prior to calculating a load-flow.
MyLine.Edit(); Ldf.Execute();

Object.Move
void Object.Move (object O | set S)
Moves an object or a set of objects to this folder.
Arguments:
object O (optional) : Object to move
set S (optional) : Set of objects to move

B - 49
DIgSILENT PowerFactory DPL Reference

Return value:
0 on success, 1 on error.
Example:
object targetobj,pObj;
set AllObjs;
! move pObj to targetobj
targetobj.Move(pObj);
! move all objects inside AllObjs to targetobj
targetobj.Move(AllObjs);

Object.AddCopy
object Object.AddCopy (set aSet | object aObj [, string | int NM1, ...])
Copies a single object or a set of objects to the target object. "Fold.AddCopy(aObj)'' cop-
ies object 'aObj' into the target object 'Fold', "Fold.AddCopy(aSet)'' copies all objects in
'aSet' to "Fold''.
"Fold.AddCopy(aObj, nm1, nm2, ...)'' will copy aObj and rename it to the result of the
concatenation of 'nm1', 'nm2', etc.
The target object must be able to receive a copy of the objects. The function "Fold.Ad-
dCopy(aObj,...)'' returns the copy of "aObj'', "Fold.AddCopy(aSet)'' returns "Fold'', when
the copy operation was successful. A "NULL'' object is returned otherwise.
Copying a set of objects will respect all internal references between those objects. Copy-
ing a set of lines and their types, for example, will result in a set of copied lines and line
types, where the copied lines will use the copied line types.
Arguments:
set aSet (obligatory) : The set of objects to copy
or
object aObj (obligatory) : The object to copy
string | int NM1 (optional) : The first part of the new name
string | int NM2 (optional) : The next part of the new name
...
Return value:
Returns the copy that has been created.
Example:
The following example copies a fuse to a set of cubicles. The copies will be named "Fuse
Nr.0'', "Fuse Nr.1'', etc.
object target, copy;
set Cubs;
Cubs = SEL.GetAll('StaCubic');
target = Cubs.First();
while (target) {
copy = target.AddCopy(aFuse, 'Fuse Nr', n);
if (copy) copy.ShowFullName();
target = Cubs.Next();
}

B - 50
DIgSILENT PowerFactory DPL Reference

Object.IsRelevant
int Object.IsRelevant ()
Returns 1 if the object is currently used for calculations. Returns 0 otherwise.
Arguments:
none
Return value:
0 when not used
Example:
The following example checks if a line is used in the calculation.
i = MyLine.IsRelevant();
if (i) {
MyLine.ShowFullName();
}

Object.IsOutOfService
int Object.IsOutOfService ()
Returns 1 if the object is currently out of service. Returns 0 otherwise.
Arguments:
none
Return value:
0 when not out of service
Example:
The following example checks if a line is out of service.
i = MyLine.IsOutOfService();
if (i) {
MyLine.ShowFullName();
}

Object.IsInFeeder
void Object.IsInFeeder (object Feeder [, double OptNested=0])
Returns if the object belongs to the feeder area defined by "Feeder''.
Arguments:
object Feeder (obligatory) : The Feeder definition object
double OptNested (optional) : "Nested feeders'' option (1 or 0)
Return value:
1 if "Feeder'' is a feeder definition and the object is in the feeder area, 0 otherwise.

Object.VarExists
int Object.VarExists (string VarName)

B - 51
DIgSILENT PowerFactory DPL Reference

Checks to see if this object has a currently valid variable called "VarName''.
Arguments:
string VarName (obligatory) : The name of the variable.
Return value:
1 when "VarName'' is the name of a currently valid variable for this object.
Example:
The following example calculates the total length of cables and lines.
double x;
int i;
set s;
object O;
s = AllRelevant();
O = s.First();
while (O) {
i = O.VarExists('dline');
if (i) {
x += O:dline;
}
O = s.Next();
}
printf('Total length = %d', x);

Object.GetNet
object Object.GetNet(void)
Returns the grid in which the object is located.
Arguments:
none
Return value:
The result object or NULL, if the current object is not stored in any grid.

Object.GetSize
int Object.GetSize (string VarName,int rows,int cols)
Returns the size of the variable "VarName'' when this variable is a vector or a matrix.
Arguments:
string VarName (obligatory) : The name of the variable
int rows (obligatory) : The number of rows for a vector or matrix
int cols (optional) : The number of columns for a matrix
Return value:
0 when "VarName'' is a valid variable name, else 1.
Example:
The following example prints the matrix resistances from a Tower model with 2 circuits.
int ierr;
double x;

B - 52
DIgSILENT PowerFactory DPL Reference

int r, rows, c, cols;


string s;
ierr = Tower.GetSize('R_c',rows, cols);
if (.not.ierr) {
r=0;
while (r<rows) {
s = '';
c = 0;
while (c<cols) {
ierr = Tower.GetVal(x, 'R_c', r,c);
if (.not.ierr) s = sprintf('%s %f', s, x);
c+=1;
}
printf(s);
r+=1;
}
}
Example Output :
0.067073 0.016869 0.016594 0.016851 0.016576 0.016372 0.016869 0.066832
0.016701 0.016576 0.016445 0.016408 0.016594 0.016701 0.066738 0.016372
0.016408 0.016516 0.016851 0.016576 0.016372 0.067073 0.016869 0.016594
0.016576 0.016445 0.016408 0.016869 0.066832 0.016701 0.016372 0.016408
0.016516 0.016594 0.016701 0.066738
Also see "GetVal'' .

Object.GetVal
int Object.GetVal (object/double X,string VarName,int rows,int cols)
Returns the value of the variable "VarName'' when this variable is a vector or a matrix,
for the given row and column.
Arguments:
double/object X (obligatory) : The variable in which to return the result
string VarName (obligatory) : The name of the variable
int rows (obligatory) : The row number for a vector or matrix
int cols (optional) : The column number for a matrix
Return value:
0 when "VarName'' is a valid variable name and row number and column number are in
range, else 1.
Example:
See "GetSize''

Object.lnm
string Object.lnm (string VarName)
Returns the long description of the variable.
Arguments:
string VarName (obligatory) : The variable name
Return value:

B - 53
DIgSILENT PowerFactory DPL Reference

The long variable description.


Example:
The following example prints information about the length of a line.
string s1,s2,s3;
s1 = Line.lnm('dline');
s2 = Line.snm('dline');
s3 = Line.unm('dline');
printf('%s (%s) = %5.3f [%s]',s1, s2, Line:dline, s3);
Example output:
Length of Line (Length) = 0.547 [km]
Also see "snm''
Also see "unm''

Object.snm
string Object.snm (string VarName)
Returns the short variable name. By default, the short name equals the long variable
name. In some cases, the variable also has a short name which is used to save space in
reports or dialogues.
Arguments:
string VarName (obligatory) : The variable name
Return value:
The short name.
Example:
See "lnm''
Also see "unm''

Object.unm
string Object.unm (string VarName)
Returns the unit of the variable.
Arguments:
string VarName (obligatory) : The variable name
Return value:
The unit name.
Example:
See "lnm''
Also see "snm''

Object.Unom
double Object.Unom ()
Returns the nominal voltage of the object.

B - 54
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
The nominal voltage
Example:
The following example collects all high voltage lines. The value VoltageLevel is an input
parameter.
set S, Shv;
object O;
double U;
S = SEL.AllLines();
O = S.First();
while (O) {
U = O.Unom();
if (U>VoltageLevel) {
Shv.Add(O);
}
O = S.Next();
}
Also see "Inom''

Object.Inom
double Object.Inom ()
Returns the nominal current of the object.
Arguments:
none
Return value:
The nominal current
Example:
The following example collects all high current lines. The value MinCurrent is an input pa-
rameter.
set S, Shv;
object O;
double U;
S = SEL.AllLines();
O = S.First();
while (O) {
U = O.Inom();
if (U>MinCurrent) {
Shv.Add(O);
}
O = S.Next();
}
Also see "Unom''

Object.MarkInGraphics
void Object.MarkInGraphics ()

B - 55
DIgSILENT PowerFactory DPL Reference

Marks the object in the currently visible graphic by hatch crossing it.
Arguments:
none
Return value:
void
When the currently visible single line graphic does not contain the object, nothing will
happen.
Example:
The following example will try to mark a set of lines in the single line graphic.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
O.MarkInGraphics();
O = S.Next();
}

Object.StochEvt
int Object.StochEvt (double d | double st)
Returns the first or the next state of a stochastic object, when the object has a valid failure
model. Draws a first state, using the state probabilities, when "st'' is omitted. Draws the
next state, using Monte-Carlo simulation, when "st'' is given. The drawn state is returned.
The duration of the drawn state is returned in "d''.
Arguments:
double d (obligatory) : duration of the returned state
double st (optional) : current state of the object
Return value:
void
Example:
The following example prints the states of a line for a year. This is a small example of a
chronological Monte-Carlo simulation.
SetRandSeed(1);
st = Line.StochEvt(t);
while (t<8760) {
printf('%7.2f %d', t, st);
st = Line.StochEvt(d, st);
t = t + d;
}
result:
1172.67
01186.05
15554.87
05560.11
17873.65
07888.94
18260.78

B - 56
DIgSILENT PowerFactory DPL Reference

08274.29
1

B.3 Reference of DPL External Specialized Types


The external methods are available for external PowerFactory objects, such as the load-
flow command, the line object, the asynchronous machine, etc. as well as additional func-
tions dealing with classes and virtual instruments.

B.3.1 ComOutage Methods


SetObjs Sets the list of objects according to S
GetObject Returns the object at position i
RemoveEvents Removes events stored inside the comman

ComOutage.SetObjs
int ComOutage.SetObjs (set S)
Sets the list of objects according to S.
Arguments:
set S (obligatory) : the set of objects
Return value:
O on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ComOutage.GetObject
object ComOutage.GetObject (int line)
Get the element stored in line number line in the table of ComOutage. The line index
starts with 0.
Arguments:
int line (obligatory):line index, if index exceeds the range NULL is returned
Return value:
the element of line line in the table.
Example:
The following example shows how to access elements in the table of all ComOutage
whose names start with "L".
object aCmd,

B - 57
DIgSILENT PowerFactory DPL Reference

aOutage,
aElm;
set Outages;
int iElements,
iElm;

aCmd = GetCaseObject('*.ComRel3'); ! get rel. command from study case


if (aCmd) {
! get all outages of which the names starts with "L"
Outages = aCmd.GetContents('L*.ComOutage');
! show the elements of all outages
for (aOutage=Outages.First(); aOutage; aOutage=Outages.Next()) {
aOutage.GetSize('Elms',iElements); ! get size of vector Elms
for (iElm=0; iElm<iElements; iElm=iElm+1) {
aElm = aOutage.GetObject(iElm);
!aOutage.GetVal(aElm,'Elms',iElm); same like GetObject
aElm.ShowFullName();
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects
Object.GetVal

ComOutage.RemoveEvents
void ComOutage.RemoveEvents (string type, int info)
Removes events stored inside the command.
Arguments:
string type (optional):
none remove all events stored inside ComOutage
'Lod remove all EvtLod
'Gen' remove all EvtGen
'Switch' remove all EvtSwitch
int info (optional):
1 show info message in output window (default)
0 do not show info message
Return value:
none
Example:
The following example shows how to remove events from ComOutage
object aCmd,
aOutage;
set Outages;

B - 58
DIgSILENT PowerFactory DPL Reference

aCmd = GetCaseObject('*.ComRel3'); ! get rel. command from study case


if (aCmd) {
! get all outages of which the names starts with "L"
Outages = aCmd.GetContents('L*.ComOutage');
! remove the events
for (aOutage=Outages.First(); aOutage; aOutage=Outages.Next()) {
aOutage.RemoveEvents(0);! delete remaining,suppress info message
}
}

B.3.2 ComSimoutage Methods


Reset Resets the intermediate results
Execute Executes a ComSimoutage after resetting the results
ExecuteCntcy(object O) Executes a ComSimoutage for all outage cases stored in the ob-
ject O, without resetting results
AddCntcy(object O) Executes a ComOutage without resetting results, for the outage cases
stored in object O
SetLimits Sets the voltage limits to Umn and Umx and the loading limit to Lmx.
ReportObjs Returns the objects which are normally given to the reporting command to
produce the contingency reports.

ComSimoutage.Reset
int ComSimoutage.Reset ()
Resets the intermediate results of the outage simulation.
Arguments:
none
Return value:
O on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ComSimoutage.Execute
int ComSimoutage.Execute ()
Executes an outage simulation after resetting the results.
Arguments:
none
Return value:

B - 59
DIgSILENT PowerFactory DPL Reference

O on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ComSimoutage.ExecuteCntcy
int ComSimoutage.ExecuteCntcy (object O)
Executes an (additional) ComSimoutage, without resetting results. The results of the out-
age analyses will be added to the intermediate results. Object "O'' must be a ComSimo-
utage object. Outage definitions in O which have already been analyzed will be ignored.
Arguments:
object O (obligatory) : The ComSimoutage object
Return value:
O on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ComSimoutage.AddCntcy
int ComSimoutage.AddCntcy (object O, string name)
Executes an (additional) ComOutage, without resetting results. The results of the outage
analysis will be added to the intermediate results. Object "O'' must be a ComOutage ob-
ject. If the outage definition has already been analyzed, it will be ignored. The Co-
mOutage will be renamed to "name'' when "name'' is given.
Arguments:
object O (obligatory) : The ComOutage object
string name (optional) : A name for the outage
Return value:
O on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B - 60
DIgSILENT PowerFactory DPL Reference

ComSimoutage.SetLimits
int ComSimoutage.SetLimits (double vlmin, double vlmax, double ldmax)
Sets the limits for the outage simulation.
Arguments:
double vlmin (obligatory) : The minimum voltage
double vlmax (obligatory) : The maximum voltage
double ldmax (obligatory) : The maximum loading
Return value:
1 always
Example:
The following example analyses all selected outage definitions and adds the results to the
intermediate results.
set s;
object o;
s = SEL.GetAll('ComOutage');
o = s.First();
while (o) {
CA.AddCntcy(o);
o = s.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.
returns the objects which are normally given to the reporting command to produce the
contingency reports.

ComSimoutage.ReportObjs
set ComSimoutage.ReportObjs (set s, int mode)
Returns the objects which are normally given to the reporting command to produce the
contigency report.
Arguments:
set set (obligatory) : Initial set of objects
int mode (obligatory) : Report mode (1..4)
Return value:
set of objects for report.
See also
DPL Internal Methods
Set Methods

B - 61
DIgSILENT PowerFactory DPL Reference

Object Methods
Using other objects.

B.3.3 IntPrj Methods


Activate Activates the project
Deactivate De-activates the project

IntPrj.Activate
int IntPrj.Activate ()
Activates the project. Deactivates other projects first.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

IntPrj.Deactivate
int IntPrj.Deactivate ()
De-activates the project.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.4 IntCase Methods


Activate Activates the study case
Deactivate De-activates the study case

B - 62
DIgSILENT PowerFactory DPL Reference

IntCase.Activate
int IntCase.Activate ()
Activates the study case. Deactivates other study cases first.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

IntCase.Deactivate
int IntCase.Deactivate ()
De-activates the study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.5 ElmNet Methods


Activate Adds a grid to the active study case
Deactivate Removes a grid from the active study case

ElmNet.Activate
int ElmNet.Activate ()
Adds a grid to the active study case.
Arguments:
none
Return value:

B - 63
DIgSILENT PowerFactory DPL Reference

0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ElmNet.Deactivate
int ElmNet.Deactivate ()
Removes a grid from the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.6 IntVariant Methods


Activate Adds a variant to the active study case
Deactivate Removes a variant from the active study case

IntVariant.Activate
int IntVariant.Activate ()
Adds a variant to the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B - 64
DIgSILENT PowerFactory DPL Reference

IntVariant.Deactivate
int IntVariant.Deactivate ()
Removes a variant from the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.7 TypAsm Methods


CalcElParams Calculates the electrical parameters

TypAsm.CalcElParams
int TypAsm.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.8 TypAsmo Methods


CalcElParams Calculates the electrical parameters

TypAsmo.CalcElParams
int TypAsmo.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none

B - 65
DIgSILENT PowerFactory DPL Reference

See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.9 ElmFeeder Methods


GetAll Returns all objects in this feeder
GetBuses Returns all buses in this feeder
GetBranches Returns all branch elements in this feeder
GetNodesBranches Returns all buses and branches in this feeder
GetObjs Returns all objects of class 'ClassName'' in this feeder

ElmFeeder.GetAll
set ElmFeeder.GetAll (int iNested)
Returns a set with all objects belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of feeder objects.
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Elements in feeder %s',pFeeder:loc_name);
aAll = pFeeder.GetAll(1);
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B - 66
DIgSILENT PowerFactory DPL Reference

ElmFeeder.GetBuses
set ElmFeeder.GetBuses (int iNested)
Returns a set with all buses belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of bus elements in feeder.
Example:
set aNodes,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Buses in feeder %s',pFeeder:loc_name);
aNodes = pFeeder.Getbuses(1);
for (pObj=aNodes.First(); pObj; pObj=aNodes.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ElmFeeder.GetBranches
set ElmFeeder.GetBranches (int iNested)
Returns a set with all branch elements belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of branch elements in feeder.
Example:
set aBranches,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');

B - 67
DIgSILENT PowerFactory DPL Reference

for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){


printf('Branches in feeder %s',pFeeder:loc_name);
aBranches = pFeeder.GetBranches(1);
for (pObj=aBranches.First(); pObj; pObj=aBranches.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ElmFeeder.GetNodesBranches
set ElmFeeder.GetNodesBranches (int iNested)
Returns a set with all buses and branches belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of bus and branch elements in feeder.
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Branches and Nodes in feeder %s',pFeeder:loc_name);
aAll = pFeeder.GetNodesBranches(1);
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ElmFeeder.GetObjs
set ElmFeeder.GetObjs (string ClassNameint iNested)

B - 68
DIgSILENT PowerFactory DPL Reference

Returns a set with all objects of class 'ClassName'' which belong to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of feeder objects.
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Cubicles in feeder %s',pFeeder:loc_name);
aAll = pFeeder.GetObjs('StaCubic');
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.10 ComNmink Methods


AddRef Adds shortcuts
Clear Empties the selection
GetAll Returns all objects of class 'ClassName'

ComNmink.AddRef
void ComNmink.AddRef ([object O | set S])
Adds shortcuts to the objects to the existing selection.
Arguments:
One of the following two parameter has to be given
object O (optional) : an object
set S (optional) : a set of objects
Return value:
void
Example:

B - 69
DIgSILENT PowerFactory DPL Reference

The following prepares and executes an outage simulation for all high loaded lines.
PrepOut.Clear();
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
if (O:c:loading>75) {
PrepOut.AddRef(O);
}
O = S.Nextmatch();
}
PrepOut.Execute();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ComNmink.Clear
void ComNmink.Clear ()
Empties the selection.
Arguments:
none
Return value:
void
Example:
The following example creates a selection of all loads.
PrepOut.Clear();
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
if (O:c:loading>75) {
PrepOut.AddRef(O);
}
O = S.Nextmatch();
}
PrepOut.Execute();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ComNmink.GetAll
Set ComNmink.GetAll (String ClassName)
Returns all objects which are of the class 'ClassName'.

B - 70
DIgSILENT PowerFactory DPL Reference

Arguments:
String ClassName (obligatory) : The object class name.
Return value:
The set of objects
Example:
The following example writes all three winding transformers in the preparation command
to the output window.
set S;
object O;
S = Prep.GetAll('ElmTr3');
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.11 ElmComp Methods


Slotupd Performs a slot update

ElmComp.Slotupd
int ElmComp.Slotupd ()
Performs a slot update for the composite model, to automatically select available models
for the slots.
Arguments:
none
Return value:
void
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B.3.12 ComRes Methods


ExportFullRange Exports the whole data range

B - 71
DIgSILENT PowerFactory DPL Reference

FileNmResNm Sets the filename for the data export

ComRes.ExportFullRange
int ComRes.ExportFullRange ()
Executes the export command for the whole data range.
Arguments:
none
Return value:
0
Example:
The following example exports a range of results
object O;
set S;
S = SEL.GetAll('ElmRes');
O = S.First();
while (O) {
Export:pResult = O;
Export.ExportFullRange();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

ComRes.FileNmResNm
int ComRes.FileNmResNm ()
Sets the filename for the data export.
Arguments:
none
Return value:
1
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.

B - 72
DIgSILENT PowerFactory DPL Reference

B.3.13 ComEcho Methods


On Turns on the user interface
Off Turns off the user interface

ComEcho.On
int ComEcho.On ()
Turns on the user interface.
ComEcho.On() is obsolete. Use the internal command EchoOn() instead.
Arguments:
none
Return value:
0 on success
Example:
The following example turns off the user interface, calls a subroutine and turns it back on
again.
aEcho.Off();
PerformCalculation();
aEcho.On();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ComEcho.Off
int ComEcho.Off ()
Turns off the user interface.
ComEcho.Off() is obsolete. Use the internal command EchoOff() instead.
Arguments:
none
Return value:
0 on success
Example:
The following example turns off the user interface, calls a subroutine and turns it back on
again.
aEcho.Off();
PerformCalculation();
aEcho.On();
See also

B - 73
DIgSILENT PowerFactory DPL Reference

DPL Internal Methods


Set Methods
Object Methods
Using other objects

B.3.14 SetTime Methods


SetTime Sets the time
Date Sets the date at actual
Time Sets the time at actual

SetTime.SetTime
void SetTime.SetTime (double H,double M,double S)
Sets the time in the current year. There is no restriction to the values for H, M and S,
except for the fact that negative values are interpreted as zero. Values higher than 24 or
60 will be processed normally by adding the hours, minutes and seconds into an absolute
time, from which a new hour-of-year, hour-of-day, minutes and seconds are calculated.
Arguments:
double H (obligatory) : The hours
double M (optional) : The minutes
double S (optional) : The seconds
Return value:
none
Example:
The following sets the time to 1134.45 hours, 91.2 minutes and 675.3 seconds, which re-
sults in the time 08:09:27 on the 48'th day of the year.
object Time, Com;
Time = GetCaseObject('SetTime');
Time.SetTime(1134.45, 91.2, 675.3);
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetTime.Date
void SetTime.Date ()
Sets the current date.
Arguments:
none

B - 74
DIgSILENT PowerFactory DPL Reference

Return value:
none
Example:
The following example executes a load-flow for 14:30 at the current day (the computer's
system date).
object Time, Com;
Time = GetCaseObject('SetTime');
Com = GetCaseCommand('ComLdf');
Time.Date();
Time:hour = 14;
Time:min = 30;
Com.Execute();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetTime.Time
void SetTime.Time ()
Sets the current time.
Arguments:
none
Return value:
none
Example:
The following example executes a load-flow for the current time and date (the computer's
system time).
object Time, Com;
Time = GetCaseObject('SetTime');
Com = GetCaseCommand('ComLdf');
Time.Date();
Time.Time();
Com.Execute();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.15 IntMon Methods


PrintVal Prints the values of the selected variables

B - 75
DIgSILENT PowerFactory DPL Reference

PrintAllVal Prints a description for all variables


NVars returns the number of selected variables
GetVar Returns the n'th selected variable name
RemoveVar De-selects a variable
ClearVars Clears the selected variable names
AddVar Selects a variable name

IntMon.PrintVal
void IntMon.PrintVal ()
Prints the values of the selected variables to the output window.
Arguments:
none
Return value:
none
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntMon.PrintAllVal
void IntMon.PrintAllVal ()
Prints a description for all available variables to the output window.
Arguments:
none
Return value:
none
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntMon.NVars
int IntMon.NVars ()
Returns the number of selected variables or, more exact, the number of lines in the vari-
able selection text on the second page of the IntMon dialogue, which should contain one

B - 76
DIgSILENT PowerFactory DPL Reference

variable name per line.


Arguments:
none
Return value:
The number of selected variables.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntMon.GetVar
string IntMon.GetVar (int row)
Returns the variable name on the given row of the variable selection text on the second
page of the IntMon dialogue, which should contain one variable name per line.
Arguments:
none
Return value:
The variable name.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntMon.RemoveVar
int IntMon.RemoveVar (string name)
Removes the variable "name'' from the list of selected variable names.
Arguments:
The variable name.
Return value:
1 when the variable name was not found, 0 otherwise.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B - 77
DIgSILENT PowerFactory DPL Reference

IntMon.ClearVars
int IntMon.ClearVars ()
Clears the list of selected variable names.
Arguments:
none
Return value:
none
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntMon.AddVar
int IntMon.AddVar (string name)
Appends the variable "name'' to the list of selected variable names.
Arguments:
The variable name.
Return value:
none
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.16 SetFilt Methods


Get Returns a container with the filtered objects

SetFilt.Get
Set SetFilt.Get ()
Returns a container with the filtered objects.
Arguments:
none
Return value:
The set of filtered objects

B - 78
DIgSILENT PowerFactory DPL Reference

Example:
The following example shows the names of objects filtered by the FiltLongLines.SetFilt fil-
ter
set S;
object O;
S = FiltLongLines.Get();
O = S.First();
while (O) {
O.ShowFullName();
O=S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.17 ComDpl Methods


Execute Executes an external DPL script as a subroutine

ComDpl.Execute
int ComDpl.Execute (user defined arguments)
Executes an external DPL script as a subroutine.
Arguments:
user defined arguments
Return value:
0 on success
Example:
The following example performs a load-flow and calls the DPL subroutine "CheckVoltages''
to check the voltage conditions.
int err;
err = Ldf.Execute();
if (.not.err) err = CheckVoltages(0.94, 1.05);
if (err) printf('Voltage conditions are violated');
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B - 79
DIgSILENT PowerFactory DPL Reference

B.3.18 IntMat Methods


Get Returns the (row, col) value
Set Set the value at position (row,col)
Init Initializes the matrix
Resize Resizes the matrix
NRow Returns the number of rows in the matrix
NCol Returns the number of columns in the matrix
RowLbl Sets the label of the R'th row
ColLbl Sets the label of the C'th column

IntMat.Get
double IntMat.Get (int row, int col)
Returns the (row, col) value from the matrix. An run-time error will occur when 'row' or
'col' are out of range.
Arguments:
int row (obligatory) : row in matrix: 1..NRow()
int col (obligatory) : column in matrix: 1..NCol()
Return value:
Value in matrix.
Example:
The following example multiplies two matrices
int r,c,z,s,s1r,s2c;
double v1,v2,v;
s = M1.NCol();
r = M2.NRow();
if (s<>r) {exit();}
s1r = M1.NRow();
s2c = M2.NCol();
M3.Init(s1r,s2c);
r=1;
while (r<=s1r) {
c=1;
while (c<=s2c) {
z=1; v=0.0;
while (z<=s) {
v1=M1.Get(r,z);
v2=M2.Get(z,c);
v+=v1*v2;
z+=1;
}
M3.Set(r,c,v);
c+=1;
}
r+=1;
}
See also

B - 80
DIgSILENT PowerFactory DPL Reference

DPL Internal Methods


Set Methods
Object Methods
Using other objects

IntMat.Set
int IntMat.Set (int row, int col, double V)
Set the value at position (row,col) in the matrix to V. The matrix is automatically resized
if necessary.
Arguments:
int row (obligatory) : row number: 1..NRows()
int col (obligatory) : col number: 1..NCols()
double Vj (obligatory) : value
Return value:
0 on success
Example:
See IntMat.Get for an example

IntMat.Init
int IntMat.Init (int NRows, int NCols)
Initializes the matrix. The size is set to (NRows, NCols), all values are set to 0.
Arguments:
int NRows (obligatory) : number of rows
int NCols (obligatory) : number of columns
Return value:
0 on success
Example:
See IntMat.Get for an example

IntMat.Resize
int IntMat.Resize (int NRows, int NCols)
Resizes the matrix. Existing values will not be changed. Added values will be set to 0.
Arguments:
int NRows (obligatory) : number of rows
int NCols (obligatory) : number of columns
Return value:
0 on success

B - 81
DIgSILENT PowerFactory DPL Reference

Example:
The following example gets a value from the matrix, possibly resizing it first.
int Nc,Nr,x,y;
Nr = Mat.NRows();
Nc = Mat.NCols();
x=5;y=3;
if ({x>Nr}.or.{y>Nc}) {
Mat.Resize(x,y);
}
v = Mat.Get(x,y);
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntMat.NRow
int IntMat.NRow ()
Returns the number of rows in the matrix. The function "NRow()'' replaces the obsolete
function "SizeX()''.
Arguments:
none
Return value:
The number of rows
Example:
See IntMat.Get for an example

IntMat.NCol
int IntMat.NCol ()
Returns the number of columns in the matrix. The function "NCol()'' replaces the obsolete
function "SizeY()''.
Arguments:
none
Return value:
The number of columns
Example:
See IntMat.Get for an example

IntMat.RowLbl
string IntMat.RowLbl (String S, int R)

B - 82
DIgSILENT PowerFactory DPL Reference

Sets or reads the label of the R'th row.


Arguments:
String S (optional) : Labelstring, required to set the label
int R (obligatory) : Number of the row
Return value:
Assigned or read labelstring
Example:
The following example labels some rows.
Mat.RowLbl('overloaded',1);
Mat.RowLbl('overvoltage',2);
Mat.RowLbl('undervoltage',3);
The following example assigns the label of the first row to the string aLabel
string aLabel;
aLabel = Mat.RowLbl(1);
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntMat.ColLbl
string IntMat.ColLbl (String S, int C)
Sets or reads the label of the C'th column.
Arguments:
String S (optional) : Labelstring
int C (obligatory) : Number of the column
Return value:
Assigned or read labelstring
Example:
The following example labels some columns.
Mat.ColLbl('transformers',1);
Mat.ColLbl('lines',2);
Mat.ColLbl('busbars',3);
The following example assigns the label of the first column to the string aLabel
string aLabel;
aLabel = Mat.ColLbl(1);
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B - 83
DIgSILENT PowerFactory DPL Reference

B.3.19 IntVec Methods


Get Returns the value at index i
Set Sets the value at index i
Init Initializes the vector
Resize Resizes the vector
Size Returns the size of the vector

IntVec.Get
double IntVec.Get (int i)
Returns the value at index i.
Arguments:
int i (obligatory) : Vector index.
Return value:
Value at index i.
Example:
The following example adds two vectors.
int i,j;
double v1,v2;
i = Vec1.Size();
j = Vec2.Size();
if (i<>j) {
output('invalid operation');
exit();
}
Vec3.Init(i);
i=1;
while (i<=j) {
v1 = Vec1.Get(i);
v2 = Vec2.Get(i);
Vec3.Set(i,v1+v2);
i+=1;
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntVec.Set
double IntVec.Set (int i, double V)
Sets the value at index i to V. Valid indexes are in [1, IntVec.Size()].
Arguments:
int i (obligatory) : Vector index.

B - 84
DIgSILENT PowerFactory DPL Reference

double V (obligatory) : The value to set.


Return value:
0 on success
Example:
See IntVec.Get for an example

IntVec.Init
int IntVec.Init (int Size)
Initializes the vector. Sets the length to Size and all values to 0.
Arguments:
int Size (obligatory) : The initial size.
Return value:
0 on success
Example:
See IntVec.Get for an example

IntVec.Resize
int IntVec.Resize (int Size)
Resizes the vector. Added values are set to 0.0.
Arguments:
none
Return value:
0 on success
Example:
The following example adds a value to a dynamically scaled vector.
int i,s;
i = 5;
s = Vec.Size();
if (i>s) {
Vec.Resize(i);
}
Vec.Set(i,V);
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B - 85
DIgSILENT PowerFactory DPL Reference

IntVec.Size
int IntVec.Size ()
Returns the size of the vector.
Arguments:
none
Return value:
The size of the vector
Example:
See IntVec.Get for an example

B.3.20 ElmCoup Methods


Close Closes the buscoupler
Open Opens the buscoupler
IsOpen Returns 1 when the coupler is open
IsClosed Returns 1 when the coupler is closed

ElmCoup.Close
int ElmCoup.Close ()
Closes the buscoupler.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all open couplers before closing them.
int opn;
set S, So;
object O;
S = Couplers.AllElm();
O = S.First();
while (O) {
opn = O.IsOpen();
if (opn) {
O.Close();
So.Add(O);
};
}
See also
DPL Internal Methods
Set Methods
Object Methods

B - 86
DIgSILENT PowerFactory DPL Reference

Using other objects

ElmCoup.Open
int ElmCoup.Open ()
Opens the buscoupler.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all closed couplers before opening them.
int cl;
set S, Sc;
object O;
S = Couplers.AllElm();
O = S.First();
while (O) {
cl = O.IsClosed();
if (opn) {
O.Open();
Sc.Add(O);
};
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmCoup.IsOpen
int ElmCoup.IsOpen ()
Returns 1 when the coupler is open.
Arguments:
none
Return value:
1 when open, 0 when closed
Example:
See ElmCoup.Close for an example

ElmCoup.IsClosed
int ElmCoup.IsClosed ()

B - 87
DIgSILENT PowerFactory DPL Reference

Returns 1 when the coupler is closed.


Arguments:
none
Return value:
1 when closed, 0 when open
Example:
See ElmCoup.Open for an example

B.3.21 ElmLne Methods


HasRoutes Returns if the line is subdivided into routes
HasRoutesOrSec Returns if the line is subdivided into routes or sections
GetType Returns the line type object
IsCable Returns if this is a cable
IsNetCoupling Returns if the line connects two grids
SetCorr Sets the correction factor of the line
CreateFeederWithRoutes Splits the line in 2 routes

ElmLne.HasRoutes
int ElmLne.HasRoutes ()
Returns if the line is subdivided into routes.
Arguments:
none
Return value:
0 when the line is a single line, 1 when it is subdivided into routes.
Example:
The following example reports all lines with routes.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
i = O.HasRoutes();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
See also
DPL Internal Methods
Set Methods
Object Methods

B - 88
DIgSILENT PowerFactory DPL Reference

Using other objects

ElmLne.HasRoutesOrSec
int ElmLne.HasRoutesOrSec ()
Returns if the line is subdivided into routes or sections.
Arguments:
none
Return value:
0 when the line is a single line, 1 when it is subdivided into routes, 2 when into sections.
Example:
The following example reports all lines with sections.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
i = O.HasRoutesOrSec();
if (i=2) O.ShowFullName();
O = S.Nextmatch();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmLne.GetType
int ElmLne.GetType ()
Returns the line type object.
Arguments:
none
Return value:
The TypLne object
Example:
The following example reports all 'untyped' lines
set S;
object O, T;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
T = O.GetType();
if (T=0) {
O.ShowFullName();

B - 89
DIgSILENT PowerFactory DPL Reference

}
O = S.Nextmatch();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmLne.IsCable
int ElmLne.IsCable ()
Returns if this is a cable.
Arguments:
none
Return value:
1 when the line is a cable, otherwise 0.
Example:
The following example reports the loading of all cables.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
i = O.IsCable();
if (i) {
Write('# : #.## $N, @ACC(1):loc_name, @ACC(1):c:loading, O);
}
O = S.Nextmatch();
}

ElmLne.IsNetCoupling
int ElmLne.IsNetCoupling ()
Returns if the line connects two grids.
Arguments:
none
Return value:
1 when the line is a coupler, otherwise 0.
Example:
The following example reports all the loading of all couplers
set S;
object O;
int i;
S = AllRelevant();

B - 90
DIgSILENT PowerFactory DPL Reference

O = S.Firstmatch('ElmLne');
while (O) {
i = O.IsNetCoupling();
if (i) {
Write('# : #.## $N, @ACC(1):loc_name, @ACC(1):c:loading, O);
}
O = S.Nextmatch();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmLne.SetCorr
int ElmLne.SetCorr ()
Sets the correction factor of the line, according to IEC364-5-523.
Arguments:
none
Return value:
0 on success, 1 on error;
Example:
The following example sets a correction factor.
BuriedLine.SetCorr();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmLne.CreateFeederWithRoutes
int ElmLne.CreateFeederWithRoutes (double dis,double rem,object O[int sw0,int
sw1])
Creates a new feeder in the line by splitting the line in 2 routes and inserting a terminal.
Arguments:
double dis (obligatory) :
double rem (obligatory) :
object O (obligatory) : A branch object that is to be connected at the inserted terminal.
int sw0 (optional) : when true, a switch is inserted on the one side
int sw1 (optional) : when true, a switch is inserted on the other side

B - 91
DIgSILENT PowerFactory DPL Reference

Return value:
0 on success, 1 on error;
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.22 ElmLneroute Methods


IsCable Returns if the route is a cable
HasSections Returns if the line route is subdivided into sections

ElmLneroute.IsCable
int ElmLneroute.IsCable ()
Returns if the route is a cable.
Arguments:
none
Return value:
1 when a cable, otherwise 0.
Example:
The following example reports all cable routes.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLneroute');
while (O) {
i = O.IsCable();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmLneroute.HasSections
int ElmLneroute.HasSections ()
Returns if the line route is subdivided into sections.

B - 92
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
1 when subdivided sections, 0 otherwise
Example:
The following example reports all lines routes with sections.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLneroute');
while (O) {
i = O.HasSections();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.23 TypLne Methods


IsCable Returns if the line type is a cable type
SetNomCurr Sets the nominal current of the line type

TypLne.IsCable
int TypLne.IsCable ()
Returns if the line type is a cable type.
Arguments:
none
Return value:
1 when the line type is a cable type, otherwise 0.
Example:
The following example reports all cable types.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('TypLne');
while (O) {
i = O.IsCable();
if (i) O.ShowFullName();
O = S.Nextmatch();

B - 93
DIgSILENT PowerFactory DPL Reference

}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

TypLne.SetNomCurr
int TypLne.SetNomCurr ()
Sets the nominal current of the line type, according to IEC364-5-523.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example sets the correction factor.
BuriedLineType.SetNomCurr();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.24 ElmRes Methods


Init Initializes the result object
Clear Clears the result object
Write Writes the current results
Draw Updates all relevant plots
WriteDraw Writes results and updates all plots
SetAsDefault Sets this as default results
AddVars Adds to the list of monitored variables
GetObj Returns objects used in the result file

ElmRes.Init
int ElmRes.Init ()
Initializes the result object. This is required for all result files that are not stored in the
DPL command object.

B - 94
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
0 on success
Example:
The following example initializes the result object.
Res.Init();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmRes.Clear
int ElmRes.Clear ()
Clears the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example clears the result object.
Res.Clear();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmRes.Write
int ElmRes.Write ()
Writes the current results to the result object.
Arguments:
none
Return value:
0 on success
Example:

B - 95
DIgSILENT PowerFactory DPL Reference

The following example performs load-flows for a number of load levels and writes the re-
sults to the result object
double P;
double i;
P = LoadMin;
i = 1;
while ({P<LoadMax}.and.{i}) {
i = Ldf.Execute();
if (i) {
Res.Write();
P += LoadStep;
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmRes.Draw
int ElmRes.Draw ()
Updates all plots that display values from the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example updates the graphics every 10 steps to save time and yet follow
the results while calculating
double i,n;
Ld:pini = LoadMin;
i = 1;
n = 0;
while ({Ld:pini<LoadMax}.and.{i}) {
i = Ldf.Execute();
if (i) {
Res.Write();
n += 1;
Ld:pini += LoadStep;
}
if (n>9) {
Res.Write();
n = 0;
}
}
See also
DPL Internal Methods
Set Methods

B - 96
DIgSILENT PowerFactory DPL Reference

Object Methods
Using other objects

ElmRes.WriteDraw
int ElmRes.WriteDraw ()
Writes current results to the result objects and updates all plots that display values from
the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example performs load-flows for a number of load levels and writes the re-
sults to the result object
double P;
double i;
P = LoadMin;
i = 1;
while ({P<LoadMax}.and.{i}) {
i = Ldf.Execute();
if (i) {
Res.WriteDraw();
P += LoadStep;
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmRes.SetAsDefault
void ElmRes.SetAsDefault ()
Sets this results object as the default results object.
Arguments:
none
Return value:
none
See also
DPL Internal Methods
Set Methods
Object Methods

B - 97
DIgSILENT PowerFactory DPL Reference

Using other objects

ElmRes.AddVars
void ElmRes.AddVars (object O, string v1 [,string v2,...])
Adds variables to the list of monitored variables for the Result object.
Arguments:
object O (obligatory) : an object.
string v1 (obligatory) : variable name for object O.
string v2..v9 (optional) : optional further variables names for object O.
Return value:
none
Example:
object Res;
Res = MyResults();
Res.AddVars(MyLine,'m:Ikss:busshc','m:I:busshc');
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmRes.GetObj
object ElmRes.GetObj (int index)
Returns the objects used in the result file. Positive index means objects for which param-
eters are being monitored (i.e. column objects). Negative index means objects which oc-
cur in written result rows as values.
Arguments:
int index (obligatory) : index of the object.
Return value:
the object, when found.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.25 ElmZone Methods


GetAll Returns all objects in this zone

B - 98
DIgSILENT PowerFactory DPL Reference

GetBuses Returns all buses in this zone


GetNodes Returns all nodes in this zone
GetBranches Returns all branches and buses in this zone
GetObjs Returns all objects of the given class in this zone

ElmZone.GetAll
set ElmZone.GetAll ()
Returns all objects which belong to this zone.
Arguments:
none
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = ActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Elements in zone %s',pZone:loc_name);
aAll = pZone.GetAll();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmZone.GetBuses
set ElmZone.GetBuses ()
Returns all buses which belong to this zone.
Arguments:
none
Return value:
The set of objects
See also
DPL Internal Methods

B - 99
DIgSILENT PowerFactory DPL Reference

Set Methods
Object Methods
Using other objects

ElmZone.GetNodes
set ElmZone.GetNodes ()
Returns all nodes which belong to this zone.
Arguments:
none
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = ActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Nodes in zone %s',pZone:loc_name);
aAll = pZone.GetBuses();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmZone.GetBranches
set ElmZone.GetBranches ()
Returns all branches which belong to this zone.
Arguments:
none
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone

B - 100
DIgSILENT PowerFactory DPL Reference

pPrj = ActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Branches in zone %s',pZone:loc_name);
aAll = pZone.GetBranches();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

ElmZone.GetObjs
set ElmZone.GetObjs (string classname)
Returns all objects of the given class which belong to this zone.
Arguments:
string classname (obligatory) : name of the class.
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output cubicles in the zone
pPrj = ActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Cubicles in zone %s',pZone:loc_name);
aAll = pZone.GetObjs('StaCubic');
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B - 101
DIgSILENT PowerFactory DPL Reference

B.3.26 ComRel3 Methods


Execute Executes the command
RemoveOutages Removes contingency definitions
RemoveEvents Removes events stored in contingencies
AnalyseElmRes Evaluates results object created in last calculation

ComRel3.Execute
int ComRel3.Execute ()
Executes the Level 3 reliability assessment calculations.
Arguments:
none
Return value:
0 on success
Example:
The following example executes a ComRel3 Command named 'Rel3'
Rel3.Execute();

ComRel3.RemoveOutages
void ComRel3.RemoveOutages ()
Removes all contingency definitions (*.ComOutage) stored inside the command. This is
exactly the same like pressing the button named "Delete Contingencies" in the dialogue
box of the command.
Arguments:
int msg (optional) :
1 show info message in output window (taken by default),
0 do not show a message
Return value:
none
Example:
The following example removes all ComOutage objects stored inside the ComRel com-
mand in the study case.
object aCmd;

aCmd = GetCaseObject('*.ComRel3'); ! get the command from study case


if (aCmd) {
aCmd.RemoveOutages(0); ! suppress info message
}

ComRel3.RemoveEvents
void ComRel3.RemoveEvents (string type, int info)

B - 102
DIgSILENT PowerFactory DPL Reference

Removes events stored inside the contingencies (*.ComOutage) inside the command.
Arguments:
string type (optional):
none remove all events stored inside the ComOutages inside ComRel3
'Lod' remove all EvtLod
'Gen' remove all EvtGen'
'Switch' remove all EvtSwitch'
int info (optional):
1 show info message in output window (default)
0 do not show info message
Return value:
none
Example:
The following example shows how to remove events from the ComOutage commands
stored inside ComRel3:
object aCmd;

aCmd = GetCaseObject('*.ComRel3'); ! get the command from study case


if (aCmd) {
aCmd.RemoveOutages('Lod');! delete all EvtLod
aCmd.RemoveOutages('Gen');! remove all EvtGen
aCmd.RemoveOutages(0); ! delete remaining, suppress info message
}

ComRel3.AnalyseElmRes
int ComRel3.AnalyseElmRes (int error)
Evaluate the results object created by the last calculation. Performs exactly the same like
pressing the button 'Perform Evaluation of Result File' in the dialogue box of the com-
mand.
Arguments:
int error (optional):
0 do not display an error message (default)
1 display error messages in case of errors
Return value:
0 on success, !=0 on error.
Example:
The following example shows how to call the evaluation of the results.
object aCmd,
aResFile;
int iError;

aCmd = GetCaseObject('*.ComRel3'); ! get the command from study case


if (aCmd) {
iError=aCmd.AnalyseElmRes(0); ! hide error message

B - 103
DIgSILENT PowerFactory DPL Reference

if (iError) {
! display my own error message
aResFile = aCmd:p_resenum;
if (aResFile) {
Error('Evaluation of results %s failed', aResFile:loc_name);
}
}
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.27 ComInc Methods


Execute Executes the command

ComInc.Execute
int ComInc.Execute ()
Executes a calculation of initial values.
Arguments:
none
Return value:
0 on success
Example:
The following example executes the ComInc command named 'Inc'
Inc.Execute();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.28 ComLdf Methods


Execute Executes the command

ComLdf.Execute
int ComLdf.Execute ()
Execute a load-flow calculation.

B - 104
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
0 on success
Example:
The following example executes the ComLdf command name 'Ldf'
Ldf.Execute();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.29 ComShc Methods


Execute Executes the command

ComShc.Execute
int ComShc.Execute ()
Executes a short-circuit calculation.
Arguments:
none
Return value:
0 on success
Example:
The following example execute the ComShc command named 'Shc'
Shc.Execute();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.30 StaSwitch Methods


Close Closes the switch
Open Opens the switch
IsOpen Returns if the switch is open
IsClosed Returns if the switch is closed

B - 105
DIgSILENT PowerFactory DPL Reference

StaSwitch.Close
int StaSwitch.Close ()
Closes the switch.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all open switches before closing them.
int opn;
set S, So;
object O;
S = Switches.AllElm();
O = S.First();
while (O) {
opn = O.IsOpen();
if (opn) {
O.Close();
So.Add(O);
};
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

StaSwitch.Open
int StaSwitch.Open ()
Opens the switch.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all closed switches before opening them.
int cl;
set S, Sc;
object O;
S = Couplers.AllElm();
O = S.First();
while (O) {
cl = O.IsClosed();
if (opn) {
O.Open();

B - 106
DIgSILENT PowerFactory DPL Reference

Sc.Add(O);
};
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

StaSwitch.IsOpen
int StaSwitch.IsOpen ()
Checks if the switch is open.
Arguments:
none
Return value:
1 when open, 0 when closed
Example:
See StaSwitch.Close for an example

StaSwitch.IsClosed
int StaSwitch.IsClosed ()
Checks if the switch is closed.
Arguments:
none
Return value:
1 when closed, 0 when open
Example:
See StaSwitch.Open for an example

B.3.31 SetFeeder Methods


GetAll Returns all objects in the feeder
GetBuses Returns all nodes in the feeder
GetBranches Returns all branches in the feeder

SetFeeder.GetAll
Set SetFeeder.GetAll ()
Returns all objects in the feeder.

B - 107
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
The set with all objects
Example:
The following example gets all feeder objects.
set S;
S = Feeder1.GetAll();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetFeeder.GetBuses
Set SetFeeder.GetBuses ()
Returns all busbars and terminals in the feeder.
Arguments:
none
Return value:
The set with all busbars and terminals
Example:
The following example gets all feeder bars.
set S;
S = Feeder1.GetBuses();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetFeeder.GetBranches
Set SetFeeder.GetBranches ()
Returns all branches in a feeder.
Arguments:
none
Return value:
The set with all branches

B - 108
DIgSILENT PowerFactory DPL Reference

Example:
The following example gets all feeder branches
set S;
S = Feeder1.GetBranches();
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.32 SetPath Methods


GetAll Returns all objects in the path
GetBusses Returns all nodes in the path
GetBranches Returns all branches in the path
AllBreakers Returns all breakers in the path
AllClosedBreakers Returns all closed breakers in the path
AllOpenBreakers Returns all open breakers in the path

SetPath.GetAll
Set SetPath.GetAll ()
Returns all objects in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all objects in the path definition to the output window.
set S;
object O;
S = aPath.GetAll();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B - 109
DIgSILENT PowerFactory DPL Reference

SetPath.GetBusses
Set SetPath.GetBusses ()
Returns all busbars and terminals in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all busbars and terminals in the path definition to the output
window.
set S;
object O;
S = aPath.GetBusses();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetPath.GetBranches
Set SetPath.GetBranches ()
Returns all branches in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all branches in the path definition to the output window.
set S;
object O;
S = aPath.GetBranches();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods

B - 110
DIgSILENT PowerFactory DPL Reference

Set Methods
Object Methods
Using other objects

SetPath.AllBreakers
Set SetPath.AllBreakers ()
Returns all breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all breakers in the path definition to the output window.
set S;
object O;
S = aPath.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetPath.AllClosedBreakers
Set SetPath.AllClosedBreakers ()
Returns all closed breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all closed breakers in the path definition to the output win-
dow.
set S;
object O;
S = aPath.AllClosedBreakers();
O = S.First();
while (O) {
O.ShowFullName();

B - 111
DIgSILENT PowerFactory DPL Reference

O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetPath.AllOpenBreakers
Set SetPath.AllOpenBreakers ()
Returns all open breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all open breakers in the path definition to the output win-
dow.
set S;
object O;
S = aPath.AllOpenBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.33 SetSelect Methods


All Returns all objects
GetAll Returns all of the given class
AddRef Add references
Clear Empties the selection
AllElm Returns all elements
AllLines Returns all lines
AllBars Returns all busbars and terminals

B - 112
DIgSILENT PowerFactory DPL Reference

AllLoads Returns all loads


AllAsm Returns all asynchronous machines
AllSym Returns all synchronous machines
AllTypLne Returns all line types
AllBreakers Returns all breakers
AllClosedBreakers returns all closed breakers
AllOpenBreakers returns all open breakers

SetSelect.AddRef
void SetSelect.AddRef ([object O | set S])
Adds a reference to the objects to the existing selection.
Arguments:
One of the following two parameter has to be given
object O (optional) : an object
set S (optional) : a set of objects
Return value:
void
Example:
The following example adds all loads and lines from the general DPL selection to the se-
lection "MySelection''.
set S;
S = SEL.AllLines();
MySelection.AddRef(S);
S = SEL.AllLoads();
MySelection.AddRef(S);
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.Clear
void SetSelect.Clear ()
Empties the selection.
Arguments:
none
Return value:
void
Example:

B - 113
DIgSILENT PowerFactory DPL Reference

The following example creates a selection of all loads in the general DPL selection.
set S;
S = SEL.AllLines();
MySelection.Clear();
MySelection.AddRef(S);
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllElm
Set SetSelect.AllElm ()
Returns all elements (Elm*) in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all objects in the general DPL selection to the output win-
dow.
set S;
object O;
S = SEL.AllElm();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllLines
Set SetSelect.AllLines ()
Returns all lines and line routes in the selection.
Arguments:
none
Return value:
The set of objects

B - 114
DIgSILENT PowerFactory DPL Reference

Example:
The following example writes all lines and line routes in the general DPL selection to the
output window.
set S; object O; S = SEL.AllLines(); O = S.First(); while (O) {
O.ShowFullName(); O = S.Next(); }
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllBars
Set SetSelect.AllBars ()
Returns all busbars and terminals in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all bars in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllBars();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllLoads
Set SetSelect.AllLoads ()
Returns all loads in the selection.
Arguments:
none
Return value:
The set of objects

B - 115
DIgSILENT PowerFactory DPL Reference

Example:
The following example writes all loads in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllLoads();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllAsm
Set SetSelect.AllAsm ()
Returns all asynchronous machines in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all asynchronous machines in the general DPL selection to
the output window.
set S;
object O;
S = SEL.AllAsm();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllSym
Set SetSelect.AllSym ()
Returns all synchronous machines in the selection.

B - 116
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
The set of objects
Example:
The following example writes all synchronous machines in the general DPL selection to
the output window.
set S;
object O;
S = SEL.AllSym();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllTypLne
Set SetSelect.AllTypLne ()
Returns all line types in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all line types in the general DPL selection to the output win-
dow.
set S;
object O;
S = SEL.AllTypLne();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B - 117
DIgSILENT PowerFactory DPL Reference

SetSelect.All
Set SetSelect.All ()
Returns all objects in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes objects in the general DPL selection to the output window.
set S;
object O;
S = SEL.All();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.GetAll
Set SetSelect.GetAll (String ClassName)
Returns all objects in the selection which are of the class 'ClassName'.
Arguments:
String ClassName (obligatory) : The object class name.
Return value:
The set of objects
Example:
The following example writes all three winding transformers in the general DPL selection
to the output window.
set S;
object O;
S = SEL.GetAll('ElmTr3');
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods

B - 118
DIgSILENT PowerFactory DPL Reference

Set Methods
Object Methods
Using other objects

SetSelect.AllBreakers
Set SetSelect.AllBreakers ()
Returns all breakers in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all breakers in the general DPL selection to the output win-
dow.
set S;
object O;
S = SEL.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllClosedBreakers
Set SetSelect.AllClosedBreakers ()
Returns all closed breakers in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all closed breakers in the general DPL selection to the out-
put window.
set S;
object O;
S = SEL.AllClosedBreakers();
O = S.First();

B - 119
DIgSILENT PowerFactory DPL Reference

while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

SetSelect.AllOpenBreakers
Set SetSelect.AllOpenBreakers ()
Returns all open breakers in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all open breakers in the general DPL selection to the output
window.
set S;
object O;
S = SEL.AllOpenBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.34 IntForm Methods


SetText Sets the format text
WriteOut Write the report to the output window

IntForm.SetText
int IntForm.SetText (String Text)
Sets the format text of a report form.

B - 120
DIgSILENT PowerFactory DPL Reference

Arguments:
String Text (obligatory) : The format text string
Return value:
0 on success
Example:
The following example sets a format string and writes the report for two sets
set SLines,SLoads;
... fill SLines and SLoads ...
OvlReport.SetText('
| Loading of lines: |$H
$LOOP,_EXTERNAL
|# #.# |$N,loc_name,loading
$END ');
OvlReport.WriteOut(SLines, SLoads);
See also IntForm.WriteOut
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

IntForm.WriteOut
int IntForm.WriteOut (set ListSet, set PoolSet, int Landscape)
Write the report to the output window.
The report form object will write a report to the output window, based on the format text,
for the objects in the ListSet and the PoolSet. The ListSet is used in the _EXTERNAL mac-
ro. All format lines between the $LOOP,_EXTERNAL and the $END macro's will be written
for each object in the Listset, which is therefore called the 'sequential set'. In the format
text itself, objects from the PoolSet may be referenced directly by the "ACC(x)'' macro,
which is replaced by the x'th object in the PoolSet. The PoolSet is therefore called the
'random access set'. The ListSet or PoolSet may be empty.
The command object that is normally reached by the macro "DEF'' in report forms will
always return the main DPL command that is running at the moment, even when the
'WriteOut' call is made in a DPL subscript.
Arguments:
Set ListSet (obligatory) : The sequential set of objects
Set PoolSet (optional) : The random access set of objects
int Landscape (optional) : Sets the page orientation used to calculate the number of lines
fitting on a printed page
0 = Portrait, 1 = Landscape; default: Landscape
Return value:
0 on success
Example:

B - 121
DIgSILENT PowerFactory DPL Reference

The following example reports the loading of a list of objects for a certain load condition.
The objects for the loading are sequentially listed. The load conditions are reported for a
special set of loads, which are given as a pool of objects.
set SLines,SLoads;
... fill SLines and SLoads ...
OvlReport.WriteOut(SLines, SLoads);
If OvlReport has the following format string:
---------------------$H,
| command : # |$H,DEF:loc_name
| Load settings: |$H| # #.# |$H,ACC(2):loc_name,ACC(2):plini
| # #.# |$H,ACC(3):loc_name,ACC(3):plini
---------------------$H,
| Loading of lines: |$H
$LOOP,_EXTERNAL
|# #.# |$N,loc_name,loading
$END
---------------------$F,
the following report could be the result:

---------------------|
command : FindWL |
| Load settings: |
| Ld12a 3.43 |
| Ld14b 2.52 |
---------------------
| Loading of lines: |
| Ln1 95.6 |
| Ln2 92.1 |
| Ln3 90.4 |
| Ln4 85.3 |
| Ln5 84.7 |
| Ln6 84.2 |
| Ln7 82.6 |
| Ln8 62.5 |
---------------------
See also IntForm.SetText
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects

B.3.35 SetDesktop Methods


Show
WriteWMF
GetPage
SetResults
SetXVar
SetScaleX

B - 122
DIgSILENT PowerFactory DPL Reference

DoAutoScaleX
SetAutoScaleX
SetAdaptX

SetDesktop.Show
int SetDesktop.Show ([string name|object O])
Shows the page with the same name as 'O'' or the page with name "name'' in the Graphics
Board. The object "O'' is typically a ViPage object but, as only its name is used, it may
be any other type of object.
Arguments:
string name (obligatory) : Name of graphics page.
object O (optional) : An object.
Return value:
0 on success, 1 on error.
Example:
The following example activates all pages in the graphics board one by one and exports
them as WMF figures.
object GrBrd,Pg;
set Pgs;
int n;
string FileName;
GrBrd = GetGraphBoard();
if (GrBrd) {
Pgs = GrBrd.GetContents();
Pg = Pgs.First();
while (Pg) {
GrBrd.Show(Pg);
FileName = sprintf('c:\\mydoc\\%s%d', n, Pg:loc_name);
GrBrd.WriteWMF(FileName);
Pg = Pgs.Next();
}
}
Also see Using other objects

SetDesktop.WriteWMF
void SetDesktop.WriteWMF (string filename)
Exports the currently open graphic in the graphics board to a WMF figure.
Arguments:
string name (obligatory) : Filename without extension.
Return value:
none
Example:
See SetDeskTop.Show()
Also see Using other objects

B - 123
DIgSILENT PowerFactory DPL Reference

SetDesktop.GetPage
object SetDesktop.GetPage (string name, int create)
Searches, activates and returns a graphics page in the currently open Graphics Board. If
"create'' is true, then a new ViPage will be created added to the graphics board when no
page with the name was found.
Arguments:
string name (obligatory) : Name of the page.
int create=1 (optional) : create > 0 --> create panel if not exists.
Return value:
Virtual Instrument Panel (SetVipage)
Example:
The following example looks for the Virtual Instrument Panels named Voltage, Current
and Power in the Graphics Board currently opened. The pages are created if they do not
exist.
object aGrf;
object aPageV;
object aPageC;
object aPageP;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Search or create Virtual Instrument Panels
aPageV=aGrf.GetPage('Voltage',1);
aPageC=aGrf.GetPage('Current',1);
aPageP=aGrf.GetPage('Power',1);
}
Also see Using other objects

SetDesktop.SetResults
void SetDesktop.SetResults (object res)
Sets default Results (ElmRes) of Graphics Board.
Arguments:
object res (obligatory) : Results to set (ElmRes) or NULL to reset.
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its default results to
the results object named 'Results'.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set default results object
aGrf.SetResults(Results);
}

B - 124
DIgSILENT PowerFactory DPL Reference

Also see Using other objects

SetDesktop.SetXVar
void SetDesktop.SetXVar (object obj, string varname)
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
object obj (optional) : x-axis object
string varname (optional) : variable of obj
Return value:
none
Example:
The following examples look for an opened Graphics Board and set its x-axis variable. The
first example sets an user defined x-axis variable. The second one sets the default x-axis
(time).
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set user defined x-axis variable
aGrf.SetXVar(line,'m:U1:bus1');
}
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set default x-axis variable (time)
aGrf.SetXVar();
}
Also see Using other objects

SetDesktop.SetScaleX
void SetDesktop.SetScaleX (double min, double max, int log)
Sets scale of x-axis. Invalid arguments like neg. limits for log. scale are not set. No argu-
ments --> automatic scaling.
Arguments:
double min (optional) : Minimum of x-scale.
double max (optional) : Maximum of x-scale.
int log (optional) : > 0 --> x-scale is logarithmic.
Return value:
none
Example:
The following examples look for an opened Graphics Board and set its x-axis scale. There
are three different examples. 1. Example: Scale x-axis automatically 2. Example: Set min-
imum to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000.

B - 125
DIgSILENT PowerFactory DPL Reference

Changes to a log. scale


! Scale x-axis automatically
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Scale automatically
aGrf.SetScaleX();
}
! Set minimum and maximum without changing map mode
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set minimum and maximum
aGrf.SetScaleX(2,10);
}
! Set minimum and maximum, change to log.
scaleobject aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set minimum and maximum
aGrf.SetScaleX(1,1000,1);
}
Also see Using other objects

SetDesktop.DoAutoScaleX
int SetDesktop.DoAutoScaleX ()
Scales the x-axes of all plots in the graphics board which use the x-axis scale defined in
the graphics board. The same can be achieved by pressing the Scale button on the x-
Axis page of the graphics board.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling
of the x-axes.
! perform autoscale of x-scales of all plots
! using the x-scale definition of the graphics board.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
aGrf.DoAutoScaleX();
}
Also see VisFft Methods
VisPlot Methods and
SetViPage Methods

B - 126
DIgSILENT PowerFactory DPL Reference

SetDesktop.SetAutoScaleX
void SetDesktop.SetAutoScaleX (int mode)
Sets the automatic scaling mode of the x-scale.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its auto scale mode
to off.
! Set autoscale mode to offobject aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Turn off automatic scaling of x-scale
aGrf.SetAutoScaleX(0);
}
Also see Using other objects

SetDesktop.SetAdaptX
void SetDesktop.SetAdaptX (int mode, double trigger)
Sets the adapt scale option of the x-scale.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Trigger value, unused if mode is off or empty.
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its adapt scale option.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Turn on adapt scale, use a trigger value of 3
aGrf.SetAdaptX(1,3);
! Turn off adapt scale
aGrf.SetAdaptX(0,3);
! Turn on adapt scale again, do not change the trigger value
aGrf.SetAdaptX(1);
}
Also see Using other objects

B - 127
DIgSILENT PowerFactory DPL Reference

B.3.36 SetVipage Methods


GetVI
SetStyle
SetTile
SetResults
SetXVar
SetScaleX
SetDefScaleX
DoAutoScaleX
DoAutoScaleY
SetAutoScaleX
SetAdaptX
GetScaleObjX

SetVipage.GetVI
object SetVipage.GetVI (string name, string class, int create)
Searches for a virtual instruments on the Virtual Instrument Panel.
Arguments:
string name (obligatory) : Name of Virtual Instrument
string class='VisPlot' (optional) : classname of Virtual Instrument.
int create=1 (optional) : create >0 --> create panel if not exists.
Return value:
Virtual Instrument
Example:
The following example looks for a Plot (VisPlot) named RST on a Virtual Instrument Panel.
The plot is created if it was not found.
object aGrf;
object aPage;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get plot named RST. Create the plot if not exists
aPlot=aPage.GetVI('RST','VisPlot',1);
}
}
Also see Using other objects

B - 128
DIgSILENT PowerFactory DPL Reference

SetVipage.SetStyle
void SetVipage.SetStyle (string name)
Sets style folder of Virtual Instrument Panel.
Arguments:
string name (obligatory) : Name of style.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and sets its
style to 'Paper'.
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set style named Paper
aPage.SetStyle('Paper');
}
}
Also see Using other objects

SetVipage.SetTile
void SetVipage.SetTile (int tile)
Rearranges the Virtual Instruments.
Arguments:
int tile=1 (optional) : tile > 0 --> tile Virtual Instruments, tile =0 --> arrange them hori-
zontally.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and rearranges
the Virtual Instrument.
object aGrf;object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Arrange the VIs horizontally
aPage.SetTile(0);
! Tile VIs (default input parameter is 1)
aPage.SetTile();
}

B - 129
DIgSILENT PowerFactory DPL Reference

}
Also see Using other objects

SetVipage.SetResults
void SetVipage.SetResults (object res)
Sets default Results (ElmRes) of Virtual Instrument Panel.
Arguments:
object res (obligatory) : Results to set (ElmRes) or NULL to reset.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and resets its
default results.
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set default results on page
aPage.SetResults(NULL);
}
}
Also see Using other objects

SetVipage.SetXVar
void SetVipage.SetXVar (object obj, string varname)
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
object obj (optional) : x-axis object
string varname (optional) : variable of obj
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and set the x-
axis variable. The first example sets an user defined x-axis variable of the Virtual Instru-
ment Panel. The second one sets the default x-axis (time).
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage

B - 130
DIgSILENT PowerFactory DPL Reference

aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale from 100 to 120
aPage.SetScaleX(100,120);
! Set x-scale variable
aPage.SetXVar(line,'m:U1:bus1');
}
}
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale from 100 to 120
aPage.SetScaleX(100,120);
! Set default x-scale variable (time)
aPage.SetXVar();
}
}
Also see Using other objects

SetVipage.SetScaleX
void SetVipage.SetScaleX (double min, double max, int log)
Sets scale of x-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No input arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of x-scale.
double max (optional) : Maximum of x-scale.
int log (optional) : > 0 --> x-scale is logarithmic.
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and set its x-
axis scale. There are three different examples. 1. Example: Scale x-scale automatically.
2. Example: Set minimum to 0 and maximum to 20. 3. Example: Set minimum to 1 and
maximum to 1000. Changes to a log. scale
! Scale x-scale automatically.
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Automatic scaling
aPage.SetScaleX();
}
}

B - 131
DIgSILENT PowerFactory DPL Reference

! Set minimum and maximum without changing map


modeobject aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set minimum and maximum
aPage.SetScaleX(0,20);
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set minimum and maximum, change to log. scale
aPage.SetScaleX(1,1000,1);
}
}
Also see Using other objects

SetVipage.SetDefScaleX
void SetVipage.SetDefScaleX ()
Sets default scale of x-axis (SetDesktop).
Arguments:
none
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and resets the
option 'Use local x-Axis' to 0. After that the x-scale used is the Graphics Board (SetDesk-
top).
! Set default x-scale
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' aPage.SetDefScaleX();
}
}
Also see Using other objects

B - 132
DIgSILENT PowerFactory DPL Reference

SetVipage.DoAutoScaleX
int SetVipage.DoAutoScaleX ()
Scales the x-axes of all plots on the virtual instrument panel automatically. The same can
be achieved by pressing the icon in the toolbar of the graphic.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling
of the x-axes.
! perform autoscale of x-axis of all plots on page
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
aPage.DoAutoScaleX();
}
}
Also see VisFft Methods
VisPlot Methods
SetDesktop Methods

SetVipage.DoAutoScaleY
int SetVipage.DoAutoScaleY ()
Scales the y-axes of all plots on the virtual instrument panel automatically. The same can

be achieved by pressing the icon in the toolbar of the graphic.


Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling
of the y-axes.
! perform autoscale of y-axis of all plots on page
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {

B - 133
DIgSILENT PowerFactory DPL Reference

! Get Virtual Instrument Panel named Voltage


aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
aPage.DoAutoScaleY();
}
}
Also see VisPlot Methods

SetVipage.SetAutoScaleX
void SetVipage.SetAutoScaleX (int mode)
Sets automatic scaling mode of the x-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and change its
auto scale mode. The first example works fine, the second one generates an error mes-
sage because the x-scale is unused.
! Set autoscale mode Off
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set limits to change x-scale of page to used scale
aPage.SetScaleX(0,10);
! Turn off automatic scaling of x-scale
aPage.SetAutoScaleX(0);
}
}
! Try to set autoscale mode to online
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Try to set automatic scaling of x-scale to Online
aPage.SetAutoScaleX(2);
}
}
Also see Using other objects

B - 134
DIgSILENT PowerFactory DPL Reference

SetVipage.SetAdaptX
void SetVipage.SetAdaptX (int mode, double trigger)
Sets the adapt scale option of the x-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Trigger value, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and sets its
adapt scale option. The first example works fine, the second one generates an error mes-
sage because the x-scale is unused.
! Modify adapt scale option of Virtual Instrument Panel
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale limits to set option 'Use local x-Axis'
aPage.SetScaleX(0,20);
! Turn on adapt scale, use a trigger value of 3
aPage.SetAdaptX(1,3);
! Turn off adapt scale
aPage.SetAdaptX(0,3);
! Turn on adapt scale again, do not change the trigger value
aPage.SetAdaptX(1);
}
}
! Try to turn on adapt scale
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Try to turn on adapt scale, use a trigger value of 3
! Leads to error message because scale is not local
aPage.SetAdaptX(1,3);
}
}
Also see Using other objects

SetVipage.GetScaleObjX
object SetVipage.GetScaleObjX ()

B - 135
DIgSILENT PowerFactory DPL Reference

Returns used object defining x-scale. The returned object is either the Virtual Instrument
Panel itself or the Graphics Board.
Arguments:
none
Return value:
Object defining the x-scale.
Example:
The following examples look for a Virtual Instrument Panel named Voltage and get the
used x-scale object. GetScaleObjX of the first example gets the Graphics Board, in the sec-
ond one the Virtual Instrument Panel itself is returned.
! Used scale is Graphics Board
object aPage;
object aGrf;
object aScale;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get object defining scale
aScale=aPage.GetScaleObjX();
if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel
itself.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
! Used scale is Virtual Instrument Panel itself
object aPage;
object aGrf;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale to change it to local
aPage.SetScaleX(1,100);
! Get object defining scale
aScale=aPage.GetScaleObjX();
if (aPage=aScale)
output('The scale used is the Virtual Instrument Panel itself.');
else if (aGrf=aScale)
output('The scale used is the Graphics Board.');
else
output('The scale used was not found.');
}
}
Also see Using other objects

B - 136
DIgSILENT PowerFactory DPL Reference

B.3.37 VisPlot/VisPlot2 Methods


AddVars
AddResVars
Clear
SetXVar
SetScaleX
SetScaleY
SetDefScaleX
SetDefScaleY
DoAutoScaleX
DoAutoScaleY
DoAutoScaleY2
SetAutoScaleX
SetAutoScaleY
SetAdaptX
SetAdaptY
GetScaleObjX
GetScaleObjY
SetCrvDesc

VisPlot.AddVars
void VisPlot.AddVars (string V, object O1,...,O8)
void VisPlot.AddVars (object O, string V1,...V8)
Appends variables to the SubPlot. Variables which are already in the plot are not added.
Arguments:
object O (obligatory) : Object for which variables V1..V8 are added
string V1..V8 (obligatory) : One to eight variables names for object O
or
string V (obligatory) : Variable name which is added for objects O1..O8
object O1..O8 (obligatory) : One to eight objects variable V
Return value:
none
Using AddVars a single object with different variables or one variable with several objects
can be add to the Subplot. To append a list of variables of a single object the first input
parameter is an object followed by a list of maximum nine variables. To append the same
variable for several objects the first input parameter is the variable name followed by a
list of maximum nine objects.
Example:

B - 137
DIgSILENT PowerFactory DPL Reference

The following examples look for a Subplot named RST on Virtual Instrument Panel named
Voltage and append a list of variables.
1. Example: Append several variables for one single object.
2. Example: Append one variable for a list of objects.
! Append several variables for one single object.
object aPage;
object aGrf;
object aPlot;
object aScale;
! Note: object load is an interface parameter,
! therefore it is not defined here
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(load, 'm:U1:bus1','m:U1l:bus1','m:phiu1:bus1');
}
}
}
! Append several objects with one single variable
object aPage;
object aGrf;
object aPlot;
object aScale;
! objects load,line and xnet are interface parameters,
! therefore they are not defined here.
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars('m:U1:bus1',load, line, xnet);
}
}
}
Also see Using other objects

VisPlot.AddResVars
void VisPlot.AddResVars (object Res, string V, object O1,...,O7)
void VisPlot.AddResVars (object Res, object O, string V1,...V7)

B - 138
DIgSILENT PowerFactory DPL Reference

Appends variables from a specific result file to the SubPlot. Combinations of result file and
variables which are already in the plot are not added.
Arguments:
object Res (obligatory) : Result object
plus
object O (obligatory) : Object for which variables V1..V8 are added
string V1..V8 (obligatory) : One to eight variables names for object O
or
string V (obligatory) : Variable name which is added for objects O1..O8
object O1..O8 (obligatory) : One to eight objects variable V
Return value:
none
See "AddResVars'' for more information.

VisPlot.Clear
void VisPlot.Clear()
Removes all variables from SubPlot.
Arguments:
none
Return value:
none
Example:
The following example looks for a Subplot named RST on Virtual Instrument Panel named
Voltage and removes all variables from the plot.
! Remove all variables in Subplot named RST on
! Virtual Instrument Panel named Voltage
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get Subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Remove all variables from Subplot
aPlot.Clear();
}
}
}
Also see Using other objects

B - 139
DIgSILENT PowerFactory DPL Reference

VisPlot.SetXVar
void VisPlot.SetXVar (object obj, string varname)
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
object obj (optional) : x-axis object
string varname (optional) : variable of obj
Return value:
none
Example:
The following examples look for a Subplot named RST and set its x-axis variable. The first
example sets an user defined x-axis variable of the plot. The second one sets the default
x-axis variable (time).
! Set user defined x-axis variable
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get Subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale from 100 to 120
aPlot.SetScaleX(100,120);
! Set x-scale variable
aPlot.SetXVar(line,'m:U1:bus1');
}
}
}
! Set default x-axis variable (time)
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get Subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale from 100 to 120
aPlot.SetScaleX(100,120);
! Set default x-scale variable (time)
aPlot.SetXVar();
}
}
}
Also see Using other objects

B - 140
DIgSILENT PowerFactory DPL Reference

VisPlot.SetScaleX
void VisPlot.SetScaleX (double min, double max, int log)
Sets scale of x-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of x-scale.
double max (optional) : Maximum of x-scale.
int log (optional) : > 0 --> x-scale is logarithmic.
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and set its x-scale. There are three
different examples. 1. Example: Perform auto scaling on x-axis. 2. Example: Set minimum
to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000. Changes
to a log. scale
! Automatic scaling of x-scale
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Automatic scaling
aPlot.SetScaleX();
}
}
}
! Set minimum and maximum without changing map mode
object aPage;
object aGrf;object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum
aPlot.SetScaleX(0,20);
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;

B - 141
DIgSILENT PowerFactory DPL Reference

object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum, change to log scale
aPlot.SetScaleX(1,1000,1);
}
}
}
Also see Using other objects

VisPlot.SetScaleY
void VisPlot.SetScaleX (double min, double max, int log)
Sets scale of y-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of y-scale.
double max (optional) : Maximum of y-scale.
int log (optional) : > 0 --> y-scale is logarithmic.
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and set its y-axis scale. There are
three different examples. 1. Example: Perform auto scaling on y-Axis. 2. Example: Set
minimum to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000.
Changes to a log. scale
! Automatic scaling of y-scale
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Automatic scaling
aPlot.SetScaleY();
}
}
}
! Set minimum and maximum without changing map mode
object aPage;

B - 142
DIgSILENT PowerFactory DPL Reference

object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum
aPlot.SetScaleY(0,20);
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum, change to log. scale
aPlot.SetScaleY(1,1000,1);
}
}
}
Also see Using other objects

VisPlot.SetDefScaleX
void VisPlot.SetDefScaleX ()
Sets default scale of x-axis (SetDesktop or SetVipage).
Arguments:
none
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and sets the option 'Use local x-
Axis' to 0. After that the x-scale used is the Graphics Board (SetDesktop) or the Virtual
Instrument Panel (SetVipage).
! Reset option 'Use local x-Axis'
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {

B - 143
DIgSILENT PowerFactory DPL Reference

! Get Virtual Instrument Panel named Voltage


aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis'
aPlot.SetDefScaleX();
}
}
}
Also see Using other objects

VisPlot.SetDefScaleY
void VisPlot.SetDefScaleY ()
Sets default scale of y-axis (IntPlot).
Arguments:
none
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and sets its option 'Use local y-
Axis' to 0. After that the y-scale used is the Plot Type (IntPlot).
! Reset option 'Use local y-Axis'
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis'
aPlot.SetDefScaleY();
}
}
}
Also see Using other objects

VisPlot.DoAutoScaleX
int VisPlot.DoAutoScaleX ()
Scales the x-axis of the plot automatically. The function works for local x-scales only. If
the x-scale is not local a warning is shown in the output window and 1 is returned by the
function. This command works for the plot VisPlot, VisHrm and VisPlot2.
Arguments:

B - 144
DIgSILENT PowerFactory DPL Reference

none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST' and performs an automatic scal-
ing.
! perform autoscale of x-axis
object aPage;
object aGrf;
object aPlot;
int iFailed;
iFailed=1;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleX();
if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale x-axis');

}
}
}
}
Also see VisFft Methods
SetDesktop Methods and
SetViPage Methods

VisPlot.DoAutoScaleY
int VisPlot.DoAutoScaleY ()
Scales the y-axis of the plot automatically. The function works for local y-scales only. If
the y-scale is not local a warning is shown in the output window and 1 is returned by the
function. This command works for the plot VisPlot, VisHrm, VisFft and VisPlot2.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST' and performs an automatic scal-
ing.
! perform autoscale of y-axis
object aPage;

B - 145
DIgSILENT PowerFactory DPL Reference

object aGrf;
object aPlot;
int iFailed;
iFailed=1;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleY();
if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale y-axis');
}
}
}
}
Also see SetViPage Methods

VisPlot2.DoAutoScaleY2
int VisPlot2.DoAutoScaleY2 ()
Scales the second y-axis of the plot automatically. The function works if the y-Axis is en-
abled and uses the local y-scale settings. In any other case a warning is produced and
the function returns 1.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST' and performs an automatic scal-
ing.
! perform autoscale of y2-axis
object aPage;
object aGrf;
object aPlot;
int iFailed;
iFailed=1;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot2',1);
if (aPlot) {
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleY2();

B - 146
DIgSILENT PowerFactory DPL Reference

if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale y2-axis');
}
}
}
}
Also see SetViPage Methods

VisPlot.SetAutoScaleX
void VisPlot.SetAutoScaleX (int mode)
Sets automatic scaling mode of the x-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and change its auto scale mode.
The first example works fine, the second one generates an error message because the x-
scale is unused.
! Set autoscale mode of x-scale to off
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set limits to change x-scale of page to used scale
aPlot.SetScaleX(0,10);
! Turn off automatic scaling of x-scale
aPlot.SetAutoScaleX(0);
}
}
}
! Try to set autoscale mode of x-scale to online
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {

B - 147
DIgSILENT PowerFactory DPL Reference

! Reset option 'Use local x-Axis' of Subplot


aPlot.SetDefScaleX();
! Try to set automatic scaling of x-scale to Online
aPlot.SetAutoScaleX(2);
}
}
}
Also see Using other objects

VisPlot.SetAutoScaleY
void VisPlot.SetAutoScaleY (int mode)
Sets automatic scaling mode of the y-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and change its auto scale mode.
The first example works fine, the second one generates an error message because the y-
scale is unused.
! Set autoscale mode of y-scale to off
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set limits to change y-scale of page to used scale
aPlot.SetScaleY(0,10);
! Turn off automatic scaling of y-scale
aPlot.SetAutoScaleY(0);
}
}
}
! Try to set autoscale mode of y-scale to online
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of Subplot
aPlot.SetDefScaleY();

B - 148
DIgSILENT PowerFactory DPL Reference

! Try to set automatic scaling of y-scale to Online


aPlot.SetAutoScaleY(2);
}
}
}
Also see Using other objects

VisPlot.SetAdaptX
void VisPlot.SetAdaptX (int mode, double trigger)
Sets the adapt scale option of the x-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Trigger value, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and change its adapt scale option.
The first example works fine, the second one generates an error message because the x-
scale is unused.
! Modify adapt scale option of Subplot
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale limits to set option 'Use local x-Axis'
aPlot.SetScaleX(0,20);
! Turn on adapt scale, use a trigger value of 3
aPlot.SetAdaptX(1,3);
! Turn off adapt scale
aPlot.SetAdaptX(0,3);
! Turn on adapt scale again, do not change the trigger value
aPlot.SetAdaptX(1);
}
}
}
! Try to turn on adapt scale of x-scale
object aPage;
object aGrf;object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'

B - 149
DIgSILENT PowerFactory DPL Reference

aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis' of Subplot
aPlot.SetDefScaleX();
! Try to turn on adapt scale, use a trigger value of 3
! Leads to error message because scale is not local
aPlot.SetAdaptX(1,3);
}
}
}
Also see Using other objects

VisPlot.SetAdaptY
void VisPlot.SetAdaptY (int mode, double offset)
Sets the adapt scale option of the y-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Offset, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and change its adapt scale option
of the y scale. The first example works fine, the second one generates an error message
because the y-scale is unused.
! Modify adapt scale option of Subplot
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set y-scale limits to set option 'Use local y-Axis'
aPlot.SetScaleY(0,20);
! Turn on adapt scale, use a trigger value of 3
aPlot.SetAdaptY(1,3);
! Turn off adapt scale
aPlot.SetAdaptY(0,3);
! Turn on adapt scale again, do not change the trigger value
aPlot.SetAdaptY(1);
}
}
}
! Try to turn on adapt scale for y-scale
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();

B - 150
DIgSILENT PowerFactory DPL Reference

if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of Subplot
aPlot.SetDefScaleY();
! Try to turn on adapt scale, use a trigger value of 3
! Leads to error message because scale is not local
aPlot.SetAdaptY(1,3);
}
}
}
Also see Using other objects

VisPlot.GetScaleObjX
object VisPlot.GetScaleObjX ()
Returns used object defining x-scale. The returned object is the Subplot itself, the Virtual
Instrument Panel or the Graphics Board.
Arguments:
none
Return value:
Object defining the x-scale.
Example:
The following examples look for a Subplot named 'RST' and get the used x-scale object.
There are three different examples.
1. Example: Used scale is Graphics Board 2. Example: Used scale is Virtual Instrument
Panel 3. Example: Used scale is Subplot itself.

! Used scale is Graphics Board


object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis' of Subplot
aPlot.SetDefScaleX();
! Get object defining scale
aScale=aPlot.GetScaleObjX();
if (aPlot=aScale) {
output('The scale used is the Subplot itself.');

B - 151
DIgSILENT PowerFactory DPL Reference

} else if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
}
! Used Scale is Virtual Instrument Panel
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale to change it to local
aPage.SetScaleX(1,100);
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis' of Subplot
aPlot.SetDefScaleX();
! Get object defining scale
aScale=aPlot.GetScaleObjX();
if (aPlot=aScale) {
output('The scale used is the Subplot itself.');
} else if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
}
! Used Scale is Subplot itself
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale of Subplot to change it to local
aPlot.SetScaleX(1,100);
! Get object defining scale

B - 152
DIgSILENT PowerFactory DPL Reference

aScale=aPlot.GetScaleObjX();
if (aPlot=aScale) {
output('The scale used is the Subplot itself.');
} else if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
}
Also see Using other objects

VisPlot.GetScaleObjY
object VisPlot.GetScaleObjY ()
Returns used object defining y-scale. The returned object is either the Subplot itself or
the Plot Type (IntPlot).
Arguments:
none
Return value:
Object defining the y-scale.
Example:
The following examples look for a Subplot named 'RST' and get the used y-scale object.
There are three different examples.
1. Example: Used scale is Plot Type.
2. Example: Used scale is Subplot itself.
! Used scale is Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of Subplot
aPlot.SetDefScaleY();
! Get object defining scale
aScale=aPlot.GetScaleObjY();
if (aScale=aPlot) {
output('The y-scale used is the Subplot itself.');
} else {
output('The y-scale used is the Plot Type.');
}
}

B - 153
DIgSILENT PowerFactory DPL Reference

}
}
! Used scale is Subplot itself
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale of Subplot to change it to local
aPlot.SetScaleY(1,100);
! Get object defining scale
aScale=aPlot.GetScaleObjY();
if (aScale=aPlot) {
output('The y-scale used is the Subplot itself.');
} else {
output('The y-scale used is the Plot Type.');
}
}
}
}
Also see Using other objects

VisPlot.SetCrvDesc
object VisPlot.SetCrvDesc (int index, string desc [, string desc1]...)
Sets the description of curves starting at curve number 'index'. A list of descriprions can
be set.
Arguments:
int index (obligatory) : Row of first curve to change the description.
string desc (obligatory) : Description to set for curve in row index.
string desc1 (optional) : Description to set for curve in row index+1. Object defining the
y-scale.
Example:
The following examples look for a Subplot named 'RST' sets the description for the curves
defined in row two and three. The first variable's description remains unchanged.
! Modify descriptions
object aPage;
object aGrf;
object aPlot;
object aScale;
! Note: object load is an interface parameter,
! therefore it is not defined here! Look for opened graphics
board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);

B - 154
DIgSILENT PowerFactory DPL Reference

if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(load, 'm:U1:bus1','m:U1l:bus1','m:phiu1:bus1');
! Set description of row 2 and 3
aPlot.SetCrvDesc(2,,'Line-Line Voltage','Angle');
}
}
}
Also see Using other objects

B.3.38 VisFft Methods


DoAutoScaleX

VisFft.DoAutoScaleX
int VisFft.DoAutoScaleX ()
Scales the x-axis of the fft plot automatically. After scaling the x-axis automatically the x-
scale minimum is 0. The maximum is nsamples/2 or nsamples/2 x fundamental frequency.
Arguments:
none
Return value:
always 0
Example:
The following example looks for a FFT-Plot named 'FFT' and performs an automatic scal-
ing.
! perform autoscale of x-axis
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get FFT plot named 'FFT'
aPlot=aPage.GetVI('RST','VisFft',1);
if (aPlot) {
! perform automatic scaling now
aPlot.DoAutoScaleX();
}
}
}
Also see VisPlot Methods and SetViPage Methods

B - 155
DIgSILENT PowerFactory DPL Reference

B.3.39 IntPlot Methods


SetScaleY
SetAutoScaleY
SetAdaptY

IntPlot.SetScaleY
void IntPlot.SetScaleY (double min, double max, int log)
Sets scale of y-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of y-scale.
double max (optional) : Maximum of y-scale.
int log (optional) : > 0 --> y-scale is logarithmic; 0 --> y-scale is linear.
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and set its y-axis scale. There are
three different examples. 1. Example: Perform auto scaling on y-Axis. 2. Example: Set
minimum to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000.
Changes to a log. scale
! Automatic scaling of y-scale
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY();
}
}
}
}
! Set minimum and maximum without changing map mode
object aPage;
object aGrf;
object aPlot;
object aScale;

B - 156
DIgSILENT PowerFactory DPL Reference

! Look for opened graphics board.


aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY(0,20);
}
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY(1,1000,1);
}
}
}
}
Also see Using other objects

IntPlot.SetAutoScaleY
void IntPlot.SetAutoScaleY (int mode)
Sets automatic scaling mode of the y-scale.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none

B - 157
DIgSILENT PowerFactory DPL Reference

Example:
The following example sets the auto scale mode of the Plot Type to On.
! Set autoscale option of Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Set auto scale option to on
aScale.SetAutoScaleY(1);
}
}
}
}
Also see Using other objects

IntPlot.SetAdaptY
void IntPlot.SetAdaptY (int mode, double offset)
Sets the adapt scale option of the y-scale.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double offset (optional) : Offset, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Subplot named 'RST', gets its Plot Type and changes
the adapt scale option of the scale.
! Modify adapt scale option of Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'

B - 158
DIgSILENT PowerFactory DPL Reference

aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Set y-scale limits to set option 'Use local y-Axis'
aScale.SetScaleY(0,20);
! Turn on adapt scale, use an offset of 3
aScale.SetAdaptY(1,3);
! Turn off adapt scale
aScale.SetAdaptY(0,3);
! Turn on adapt scale again, do not change the offset
aScale.SetAdaptY(1);
}
}
}
}
Also see Using other objects

B - 159
DIgSILENT PowerFactory DPL Reference

B - 160
DIgSILENT PowerFactory DSL Reference

Appendix C
DSL Reference

C.1 DSL Standard Functions


All trigonometric functions use RADIANS.

Table C.1:Standard DSL Functions List


function description example

sin(x) sine sin(1.2)=0.93203

cos(x) cosine cos(1.2)=0.36236

tan(x) tangent tan(1.2)=2.57215

asin(x) arcsine asin(0.93203)=1.2

acos(x) arccosine acos(0.36236)=1.2

atan(x) arctangent atan(2.57215)=1.2

sinh(x) hyperbolic sine sinh(1.5708)=2.3013

cosh(x) hyperbolic cosine cosh(1.5708)=2.5092

tanh(x) hyperbolic tangent tanh(0.7616)=1.0000

exp(x) exponential value exp(1.0)=2.718281

ln(x) natural logarithm ln(2.718281)=1.0

log(x) log10 log(100)=2

sqrt(x) square root sqrt(9.5)=3.0822

sqr(x) power of 2 sqr(3.0822)=9.5

pow (x,y) power of y pow(2.5, 3.4)=22.5422

abs(x) absolute value abs(-2.34)=2.34

min(x,y) smaller value min(6.4, 1.5)=1.5

max(x,y) larger value max(6.4, 1.5)=6.4

modulo(x,y) remainder of x/y modulo(15.6,3.4)=2

trunc(x) integral part trunc(-4.58823)=-


4.0000

frac(x) fractional part frac(-4.58823)=-


0.58823

C-1
DIgSILENT PowerFactory DSL Reference

Table C.1:Standard DSL Functions List


round(x) closest integer round(1.65)=2.000

ceil(x) smallest larger integer ceil(1.15)=2.000

floor(x) largest smaller integer floor(1.78)=1.000

time() current simulation time time()=0.1234

pi() 3.141592... pi()=3.141592...

twopi() 6.283185... twopi()=6.283185...

e() 2,718281... e()=2,718281...

C.2 DSL Special Functions

lim
lim ( u, min, max)
Nonlinear limiter function:

limstate
limstate ( x1, min, max)
Nonlinear limiter function for creating limited integrators.
Example:

x1. = xe/Ti;
y = limstate(x1,min,max);
This was previously realized by using "select'' and "lim'' functions:

x1. = select( {x1>=max.and.xe>0}


& .or.{x1<=min.and.xe<0}, 0, xe/Ti);
y = lim(x1,min,max);

delay
delay ( x, Tdelay)
Delay function. Stores the value x(Tnow) and returns the value x(Tnow-Tdelay).
Tdelay in seconds and larger than 0.0. The expression Tdelay must evaluate to a
time independent constant and may therefore only consist of constants and param-
eter variables. The expression x(t) may contain other functions.
Example:

C-2
DIgSILENT PowerFactory DSL Reference

y = delay(xe + delay(x1, 1.0), 2.0)


Resetting a DSL model initializes its delay functions with x(Treset).

select
select ( boolexpr, x, y)
Returns x if boolexpr is true, else y.
Example:

x1.=select(T1>0, xe/T1, 0.0) !to avoid division by zero

time
time ()
Returns the current simulation time.
Example:

t=time()
y = sin(t) or
y = sin(time())

file
file ( ascii-parm, expr)
!OBSOLETE! Please use an ElmFile object in the composite model in stead.

picdro
picdro ( boolexpr, Tpick, Tdrop)
Logical pick-up-drop-off function useful for relays. Returns the internal logical state:
0 or 1.
Return value:
The internal state:
• changes from 0 to 1, if boolexpr=1, for a duration of at least Tpick seconds
• changes from 1 to 0, if boolexpr=0, after Tdrop seconds
• remains unaltered in other situations.

flipflop
flipflop ( boolset, boolreset)
Logical flip-flop function. Returns the internal logical state: 0 or 1.
Return value:
The internal state:
• changes from 0 to 1, if boolset=1 and boolreset=0 (SET)

C-3
DIgSILENT PowerFactory DSL Reference

• changes from 1 to 0, if boolset=0 and boolreset=1 (RESET)


• remains unaltered in other situations. (HOLD)
Initial value: boolset.
The initial condition boolset=boolreset=1 will cause an error message.

aflipflop
aflipflop ( x, boolset, boolreset)
'Analog' flip-flop function. Returns the (old) value for x at SET-time if internal
state=1, else returns the current value of x.
Return value:
The internal state:
• changes from 0 to 1, if boolset=1 and boolreset=0 (SET)
• changes from 1 to 0, if boolset=0 and boolreset=1 (RESET)
• remains unaltered in other situations. (HOLD)

lapprox
lapprox ( x, array_iiii)
Returns the linear approximation y=f(x), where f is defined by the array_iiii. Please
consider that the array has to be sorted in ascending order.
Example:

y = lapprox(1.8, array_valve)

invlapprox
invlapprox ( y, array_iiii)
Inverse lapprox with array.

lapprox2
lapprox2 ( xl, xc, matrix_iiii)
Returns the linear approximation y=f(xl,xc) of a two-dimensional array, where f is
defined by the matrix_iiii. xl represents the line value and xc the column of the ma-
trix. Please consider that the array has to be sorted in ascending order.
Example:

y = lapprox2(2.5, 3.7, matrix_cp)

sapprox
sapprox ( x, array_iiii)
Returns the spline approximation y=f(x), where f is defined by the array_iiii. Please
consider that the array has to be sorted in ascending order.

C-4
DIgSILENT PowerFactory DSL Reference

Example:

y = sapprox(1.8, array_valve)

sapprox2
sapprox2 ( xl, xc, matrix_iiii)
Returns the spline approximation y=f(xl,xc) of a two-dimensional array, where f is
defined by the matrix_iiii . xl represents the line value and xc the column of the ma-
trix.

Example:

y = sapprox2(2.5, 3.7, matrix_cp)

event
Option 1: no create/target specification
event( MaxTrig, x, 'name=ThisEvent dtime=delay value=val vari-
able=var')

Option 2: target specification, no create parameter


event( MaxTrig, x, 'target=ThisSlot name=ThisEvent dtime=delay val-
ue=val variable=var')

Option 3: create and target specification


event( MaxTrig, x, 'create=ThisEvtType target=ThisSlot name=ThisEvent
dtime=delay value=val variable=var')
This command immediately executes the command, bypassing the command pipe
in the input window. The DSL command will continue after the command has been
executed. The Exe command is provided for compatibility and testing purposes only
and should only be used by experienced users.
This function creates a parameter event for the own DSL model, if the input signal
x changes sign from - to + with a time delay of dtime .
The function will trigger each time when the input changes from a negative to a pos-
itive value, but for maximum of MaxTrig times
Arguments:
int MaxTrig (obligatory)
Maximum number of trigger events; if MaxTrig is set to 0, unlimited trigger
events may be produced.
double x (obligatory)
Input signal.
string ThisEvtType (mandatory, only option 3)
Type of event to be created, e.g. parameter event or switch event.
string ThisSlot (mandatory, only options 2 and 3)
If 'target=this' is defined, the event is applied to the present DSL model. If any

C-5
DIgSILENT PowerFactory DSL Reference

other name is given, the DSL interpreter checks any composite models where
the present DSL model (common model) is used and searches for a slot with
the given name. The event then is applied to the DSL common model in that
slot.
string ThisEvent (obligatory)
Name of the external event to be started. The event must be stored locally in-
side the DSL model. If 'name=this' is set, no event has to be created but a pa-
rameter event (EvtParam) will be created and executed automatically.
double delay (obligatory)
Delay time of the event after triggering.
double val (optional)
Value of the parameter event (only when 'name=this' is set).
double var (optional)
Parameter to which the value is set (only when 'name=this' is set).
Return value:
void (no return value)
Remark:
If the event()-definition according to options 2/3 is used, the create and target pa-
rameters must be the first parameters that are listed.
Example:
The example shows a counter made with DSL using event( , ,'name=this ...') which
automatically creates and configures a parameter event. The variable named
counter will be set to value val within dtime. The input signal is a sine-wave.
inc(x) = 0
inc(u) = amp0*sin(10*x)
inc(counter) = 0
x.=1
u = amp0*sin(10*x)
yo = u-trigval
cadd = counter+1
event(0,yo,'name=this dtime=0.0 value=cadd variable=counter')
event(0,yo,'name=OpenBreaker dtime=0.2')
Please see the DSL Reference in the appendix for a detailed list of all available functions.

C-6
DIgSILENT PowerFactory DSL Reference

C-7
DIgSILENT PowerFactory DSL Reference

C-8
DIgSILENT PowerFactory Index

Appendix D SetPath (DPL)


SetSelect (DPL)
B-111
B-119
Index AllClosedBreakers
SetPath (DPL) B-111
SetSelect (DPL) B-119
Symbols
AllElm
(n-1) system 21-54 SetSelect (DPL) B-114
(n-k) system 21-54 AllLines
A SetSelect (DPL) B-114
abs AllLoads
DPL 29-7 SetSelect (DPL) B-115
DSL C-1 AllOpenBreakers
ACCI (Reliability Analysis) 21-16 SetPath (DPL) B-112
ACIF (Reliability Analysis) 21-14 SetSelect (DPL) B-120
ACIT (Reliability Analysis) 21-14 AllRelevant (DPL Internal Method) B-3
acos AllSym
DPL 29-7 SetSelect (DPL) B-116
DSL C-1 allTypLne
Activate SetSelect (DPL) B-117
ElmNet (DPL) B-63 Appliance A-1
IntCase (DPL) B-63 ASAI (Reliability Analysis) 21-15
IntPrj (DPL) B-62 asin
IntVariant (DPL) B-64 DPL 29-7
activate (DOLE) 28-13 DSL C-1
Active Failure 21-53 ASUI (Reliability Analysis) 21-15
ActiveCase (DPL Internal Method) B-20 Asynchronous Machine
ActiveProject (DPL Internal Method) B-20 Element 31-11
Add Type 30-8
Set (DPL) B-36 atan
AddCntcy DPL 29-7
ComSimoutage (DPL) B-60 DSL C-1
AddCopy Availability 21-54
Object (DPL) B-50 B
AddRef Backups 1-2
ComNmink (DPL) B-69 Base Case A-3
SetSelect (DPL) B-113 Base State 21-54
AddResVars Block Definition A-3
VisPlot (DPL) B-138 Block Definition Dialogue (DSL) 24-8
AddVar Block Diagram 8-16, 23-16, A-4
IntMon (DPL) B-78 Branch Element 8-29
AddVars Branch Elements A-2
ElmRes (DPL) B-98 break
VisPlot (DPL) B-137 DPL 29-9
Adequacy 21-54 Busbar 8-29, 9-10
Administrator 3-5 Busbar System
AENS (Reliability Analysis) 21-16 Cubicle 9-6
aflipflop Setup Dialog 9-3
DSL C-4 Busbars A-2
AID (Reliability Analysis) 21-17 buscnf (DOLE) 28-12
All
SetSelect (DPL) B-118 C
AllAsm Cable
SetSelect (DPL) B-116 Edit 9-13
AllBars System, Element 31-15
SetSelect (DPL) B-115 Type 30-13
AllBreakers Cable Size Optimization 19-1, 20-10, 28-31
Advanced Options 20-13

D-1
DIgSILENT PowerFactory Index

Basic Options 20-11 ComDpl (DPL) B-79


Objective Function 20-10 Execute B-79
Optimization Procedure 20-11 ComEcho (DPL) B-73
CAIDI (Reliability Analysis) 21-15 Off B-73
CAIFI (Reliability Analysis) 21-15 On B-73
CalcElParams ComEd 6-26
TypAsm (DPL) B-65 ComFsweep 16-4
TypAsmo (DPL) B-65 ComHldf 16-2
Calculation 12-1 ComIdent 26-1
Compare Results 12-3 ComInc (DPL) B-104
Result 12-2 Execute B-104
Update Database 12-4 ComLdf 13-1
CASE ComLdf (DPL) B-104
DIg Output Language 27-69 Execute B-104
ceil ComMod 25-1
DPL 29-7 ComModres 25-10
DSL C-1 Common Impedance 31-16
ChaDisctime 10-3 Common Model 23-1, 23-12
ChaMat 10-4 Structure 23-12
ChaPol 16-11 ComNew 7-2, 8-5
Characteristic 10-1 ComNmink (DPL) B-69
Discrete Time 10-3 AddRef B-69
File 10-12 Clear B-70
Handling 10-13 GetAll B-70
Import from File 10-12 ComOp 6-27
Scalar 10-3 ComOpf 18-1
Vector 1dimensional 10-3 ComOutage 21-1
Vector 2dimensional 10-4 ComOutage (DPL) B-57
ChaScalar 10-3 GetObject B-57
ChaVec 10-3, 10-7, 10-9 SetObjs B-57
ChaVecfile 10-12 ComPause 6-27
Class A-2 Composit Frame 23-9
Classes 6-1 Composite Block Definition 23-16
Clear Composite Block Definitions (DSL) 24-7
ComNmink (DPL) B-70 Composite Frame A-4
ElmRes (DPL) B-95 Additional Equations 23-22
Set (DPL) B-37 Block Definition 23-11
SetSelect (DPL) B-113 Drawing 23-17
VisPlot (DPL) B-139 Multi-Signal Connection 23-21
ClearCommands (DPL Internal Method) B-4 Signal Connection 23-20
ClearOutput (DPL Internal Method) B-4 Signals 23-10
ClearVars Composite Model 23-1, 23-6, A-4
IntMon (DPL) B-78 Slot Update 23-7
Close Step Response 23-7
ElmCoup (DPL) B-86 ComPr 6-27
StaSwitch (DPL) B-106 ComPrjdiff 7-16
CMD ComRd 6-28
DIg Output Language 27-69 ComRed 17-1
ColLbl ComRel3 21-8
IntMat (DPL) B-83 ComRel3 (DPL) B-102
Colouring Mode 8-24 Execute B-102
ComCabsize 19-1, 20-10, 28-31 ComRes 27-38, 27-46
ComCapo 20-1 ComRes (DPL) B-71
ComDbupd 12-4 ExportFullRange B-72
ComDiff 12-4 FileNmResNm B-72
ComDocu 27-73 ComSh 16-6, 27-72, 27-75

D-2
DIgSILENT PowerFactory Index

ComShc 14-1 Create Diagram 27-27


ComShc (DPL) B-105 D
Execute B-105 DAQ A-5
ComShcsweep 15-28 Data Manager
ComSimoutage 21-1, 21-6 Database Browser 6-3
ComSimoutage (DPL) B-59 Database Tree 6-4
AddCntcy B-60 Settings 4-4
ExecuteCntcy B-60 Data manager
ReportObjs B-61 Description 6-1
Reset B-59 Database
SetLimits B-61 Multi-User 3-6
ComSimoutage (DPL)Execute B-59 Single-User 3-6
ComStepres 23-7 DataManager 6-1
ComStop 6-28 Date
ComSys 6-28 SetTime (DPL) B-74
ComTieopt 20-8 Deactivate
ComVsag 21-18 ElmNet (DPL) B-64
ComWr 6-28 IntCase (DPL) B-63
Conductor IntPrj (DPL) B-62
Type 30-14 IntVariant (DPL) B-65
connect (DOLE) 28-11 DEF
connect (DOLE/SCADA) 28-20 DIg Output Language 27-69
Contingency 21-54 Define Busbar System 9-1
Contingency Analysis Define Stations
ODF 21-4 Database Manager 9-10
Outage Case 21-6 Graphic 9-8
Outage Level 21-2 delay
Outage Simulation 21-3 DSL C-2
Preparation 21-2 Delete (DPL Internal Method) B-5
continue Demo Account 3-4
DPL 29-9 Device A-1
Continuous Parameter Characteristic DGS 28-20
Create 10-9 File Format 28-22
Continuous Scale Options 28-22
Create 10-8 DGS Interface 28-20
cos DiaGrfopts 8-14
DPL 29-7 DiaPagetyp 8-5
DSL C-1 DIg Output Language
cosh Filters 27-72
DPL 29-7 Includes 27-72
DSL C-1 Line Types 27-70
Count Loops 27-72
Set (DPL) B-40 Page Breaks 27-70
create (DOLE) 28-9 Text Macros 27-71
create (DOLE/SCADA) 28-19 Digital Clock 31-63
CreateFeederWithRoutes Digital Register 31-67
ElmLne (DPL) B-91 DIgSILENT Output Language 27-66
CreateObject Format 27-67
Object (DPL) B-44 Discrete Parameter Characteristic
CSSL (DSL) 24-3 Create 10-7
CUBIC Distribution Function 21-54
DIg Output Language 27-68 do() while{}
Cubicle A-1 DPL 29-8
Cubicles 9-1 DoAutoScaleX
Curve Input SetDesktop (DPL) B-126
Context-sensitive Menu 27-28 SetVipage (DPL) B-133

D-3
DIgSILENT PowerFactory Index

VisFft (DPL) B-155 Draw


VisPlot (DPL) B-144 ElmRes (DPL) B-96
DoAutoScaleY DSL
SetVipage (DPL) B-133 Advanced Features 24-7
VisPlot (DPL) B-145 Defining Models 24-7
DoAutoScaleY2 Definition Code 24-13
VisPlot (DPL) B-146 Equation Code 24-17
DOLE Events 24-3
/noswt 28-10 Example 24-20
activate 28-13 Expression 24-17
buscnf 28-12 General Syntax 24-12
connect 28-11 inc 24-14
create 28-9 inc0 24-14
dole 28-8 incfix 24-14
echo 28-12 Initial Conditions 24-14
File Definition 28-8 intervalinc 24-15
grp/mod 28-15 loopinc 24-15
ifupd 28-12 Macro Handling 24-18
Interface 28-8 Macros 24-18
new 28-13 Model Description 24-6
set 28-10 newtoninc 24-15
dole (DOLE) 28-8 Output 24-3
DOLE/SCADA Reference C-1
connect 28-20 Standard Functions C-1, C-2
create 28-19 Structure 24-3
DPL A-5 DSL Block Definition 23-1
Access to Objects 29-10 DSL Model Components 24-6
Assignments 29-7 DSL Models 24-1
break 29-9 DSL primitive A-4
Constant Parameters 29-7 DSL Reference 24-11
continue 29-9 DSL Structure 24-13
External Objects 29-13 DSL Variables 24-12
Functions & Subroutines 29-16, B-1 Dynamic Model
input 29-10 Concept 23-1
Local Objects 29-12 E
Object Variables & Methods 29-11 e
output 29-10 DPL 29-8
Standard Functions 29-7 DSL C-1
Subroutines 29-16 Earthing
Variable Definitions 29-6 Neutral Earthing Element 31-35
DPL (DIgSILENT Programming Language) 29- echo (DOLE) 28-12
1, B-1 EchoOff (DPL Internal Method) B-13
DPL Advanced Options 29-4 EchoOn (DPL Internal Method) B-13
DPL Command Execute 29-4 EDGE
DPL Command Libraries 29-14 DIg Output Language 27-68
DPL Command Object 29-2 Edge Element 8-29
DPL Command Set 29-3 Edge Elements A-2
DPL External Types B-36 Edit
DPL Internal Methods 29-16, B-1 Detail Mode 6-16
DPL Object Methods B-43 Object (DPL) B-49
DPL Script Editor 29-5 Object Mode 6-15
DPL Script Language 29-6 Editor
DPL Script Page 29-5 Settings 4-5
DPL Special Types B-57 EIC (Reliability Analysis) 21-17
DPL, Reference B-1 Eigenvalue Bar Plot 27-3
Drag and Drop A-5 Eigenvalue Calculation 25-1

D-4
DIgSILENT PowerFactory Index

Eigenvalue Plot 27-3 AddVars B-98


Element A-1 Clear B-95
ElmAsm 31-11 Draw B-96
ElmAsmsc 31-18 GetObj B-98
ElmCabsys 31-15 Init B-94
ElmClock 31-63 SetAsDefault B-97
ElmComp 23-6 Write B-95
ElmComp (DPL) B-71 WriteDraw B-97
Slotupd B-71 ElmSamp 31-68
ElmCompare 26-1 ElmScap 31-45
ElmCoup (DPL) B-86 ElmShnt 31-48
Close B-86 ElmSind 31-47
IsClosed B-87 ElmStat 6-22, 9-3, 9-10
IsOpen B-87 ElmSvs 31-53
Open B-87 ElmSym 31-55
ElmDsl 23-12 ElmTerm 9-10
ElmFeeder 11-1 ElmTow 31-58
ElmFeeder (DPL) B-66 ElmTr2 31-1
GetAll B-66 ElmTr2n 31-1
GetBranches B-67 ElmTr3 31-7
GetBuses B-67 ElmTrb 31-13
GetNodesBranches B-68 ElmTrigger 31-69
GetObjs B-68 ElmVac 17-3
ElmFft 31-64 ElmVar 31-51
ElmFile 31-65 ElmVsc 31-39
ElmFsrc 31-66 ElmVscmono 31-37
ElmLne 9-13, 31-60 ElmXnet 31-20
ElmLne (DPL) B-88 ElmZone (DPL) B-98
CreateFeederWithRoutes B-91 GetAll B-99
GetType B-89 GetBranches B-100
HasRoutes B-88 GetBuses B-99
HasRoutesOrSec B-89 GetNodes B-100
IsCable B-90 GetObjs B-101
IsNetCoupling B-90 ElmZpu 17-3, 31-16
SetCorr B-91 ENS (Reliability Analysis) 21-16
ElmLneroute 9-13, 31-29 Equivalent Network 17-1
ElmLneroute (DPL) B-92 Error (DPL Internal Method) B-11
HasSections B-92 Event 22-14
IsCable B-92 Inter-Circuit 22-16
ElmLnesec 9-13, 31-31 Load 22-17
ElmLod 31-23 Outage 22-17
ElmLodlv 31-25 Parameter 22-16
ElmLodvp 31-27 Short-Circuit 22-16
ElmMdm__1 31-32 Switching 22-16
ElmMdm__3 31-32 Synchronous Machine 22-17
ElmMdm__5 31-32 Events 22-14
ElmNet 6-21, 7-4 DSL C-5
ElmNet (DPL) B-63 Exe (DPL Internal Method) B-3
Activate B-63 Execute
Deactivate B-64 ComDpl (DPL) B-79
ElmRec 31-43 ComInc (DPL) B-104
ElmRecmono 31-41 ComLdf (DPL) B-104
ElmReg 31-67 ComRel3 (DPL) B-102
ElmRelay 15-16 ComShc (DPL) B-105
ElmRes 27-45 ComSimoutage (DPL) B-59
ElmRes (DPL) B-94 ExecuteCntcy

D-5
DIgSILENT PowerFactory Index

ComSimoutage (DPL) B-60 DSL C-1


exp fRand (DPL Internal Method) B-31
DSL C-1 Frequency Dependent Parameters 16-11
Export Frequency Sweep 16-4
Curve Data 27-38 Advanced Options 16-6
ExportFullRange Basic Options 16-5
ComRes (DPL) B-72 fscanf (DPL Internal Method) B-18
exps fscanfsep (DPL Internal Method) B-19
DPL 29-7 fWrite (DPL Internal Method) B-9
External Network 31-20 G
F General Selection (DPL) 29-12
Failure 21-53 Get
Failure Effect Analysis 21-45 IntMat (DPL) B-80
Failure Models 21-27 IntVec (DPL) B-84
Fast Fourier Transform 31-64 SetFilt (DPL) B-78
fault GetAll
DSL 24-19 ComNmink (DPL) B-70
Fault Clearing (Reliability) 21-46 ElmFeeder (DPL) B-66
Fault Isolation (Reliability) 21-47 ElmZone (DPL) B-99
fclose (DPL Internal Method) B-30 SetFeeder (DPL) B-107
FEA (Failure Effect Analysis) 21-11 SetPath (DPL) B-109
Feeder 11-1 SetSelect (DPL) B-118
Colour 11-2 GetBranches
Folder 11-4 ElmFeeder (DPL) B-67
Load Scaling 11-3 ElmZone (DPL) B-100
Topology 11-2 SetFeeder (DPL) B-108
Feeder Objects 11-1 SetPath (DPL) B-110
file GetBuses
DSL C-3 ElmFeeder (DPL) B-67
File Object 31-65 ElmZone (DPL) B-99
FileNmResNm SetFeeder (DPL) B-108
ComRes (DPL) B-72 SetPath (DPL) B-110
First GetCaseCommand (DPL Internal Method) B-24
Set (DPL) B-38 GetCaseObject (DPL Internal Method) B-23
FirstFilt GetClass
Set (DPL) B-39 Object (DPL) B-46
flipflop GetConnectedElms
DSL C-3 Object (DPL) B-48
floor GetConnectionCount
DPL 29-7 Object (DPL) B-48
DSL C-1 GetContents
fopen (DPL Internal Method) B-30 Object (DPL) B-45
for(){} GetCubicle
DPL 29-8 Object (DPL) B-48
Forced Outage 21-53 GetFullName
Foreign Key Values (DOLE) 28-17 Object (DPL) B-45
Form Editor 27-54 GetGlobalLib (DPL Internal Method) B-26
Format Editor GetGraphBoard (DPL Internal Method) B-24
Predefined Variables 27-54 GetLanguage (DPL Internal Method) B-25
Text Editor 27-54 GetLocalLib (DPL Internal Method) B-25
User Selection 27-54 GetNode
Format String Syntax (printf) B-5 Object (DPL) B-47
Fourier Source 31-66 GetNodes
fprintf (DPL Internal Method) B-9 ElmZone (DPL) B-100
frac GetNodesBranches
DPL 29-7 ElmFeeder (DPL) B-68

D-6
DIgSILENT PowerFactory Index

GetObj Graphic Window


ElmRes (DPL) B-98 New 8-5
GetObject Page Tab 8-9
ComOutage (DPL) B-57 Graphic Windows
GetObjs Settings 4-2
ElmFeeder (DPL) B-68 Graphics Board 8-1
ElmZone (DPL) B-101 Graphics Board Window A-5
GetPage Grid A-2
SetDesktop (DPL) B-124 Grids 7-4
GetPageLen (DPL Internal Method) B-23 grp /mod (DOLE) 28-15
GetParent grp /new (DOLE) 28-13
Object (DPL) B-47 grp /sfk (DOLE) 28-17
GetResData (DPL Internal Method) B-27 grp/new
GetScaleObjX DOLE 28-13
SetVipage (DPL) B-135 grp/sfk (DOLE) 28-17
VisPlot (DPL) B-151 H
GetScaleObjY Harmonic
VisPlot (DPL) B-153 Filter Analysis 16-6
GetSize Harmonic Analysis 16-1
Object (DPL) B-52 Harmonic Calculation
GetTime (DPL Internal Method) B-24 Modeling 16-7
GetType Plot 16-13
ElmLne (DPL) B-89 Result Variables 16-13
GetVal Harmonic Impedance 16-4
Object (DPL) B-53 Harmonic Load-Flow 16-2
GetVar Advanced Options 16-4
IntMon (DPL) B-77 Basic Options 16-2
GetVI Result Variables 16-3
SetVipage (DPL) B-128 Harmonic Source
Gis2Dole 28-20 Current 16-9
Graphic Harmonic Sources 16-7
Attributes 8-12 HasResults
Balloon Help 8-34 Object (DPL) B-48
Colour 8-24 HasRoutes
Create Elements 8-26 ElmLne (DPL) B-88
Edit Result Box 8-35 HasRoutesOrSec
Flip Elements 8-26 ElmLne (DPL) B-89
Imported Data 8-6 HasSections
Insert 8-11 ElmLneroute (DPL) B-92
Interconnect 8-31 Hazard Rate Function 21-55
Layers 8-20 Hidden Failure 21-53
Legend Block 8-25 HMC 16-1
Mark Element 8-30 HmcCur 16-7
Options 8-14
Predefined Objects 8-5
I
Print 8-10 IEAR (Reliability Analysis) 21-17
Rebuild 8-11 if(){}
Reference Point 8-35 DPL 29-8
Remove Page 8-12 if(){}else{}
Rename Page 8-12 DPL 29-8
Result Box 8-34 ifupd (DOLE) 28-12
Result Boxes 8-14 Impedance
Rotate Element 8-26 Common, Element 31-16
Title Block 8-24 Import
Toolboxes 8-9 DGS 28-21
Zoom 8-10 dz-Files 1-2
inc

D-7
DIgSILENT PowerFactory Index

DSL 24-14 PrintVal B-76


inc0 RemoveVar B-77
DSL 24-14 IntMonsel 6-19
incfix IntNewobj 6-5
DSL 24-14 IntPlot (DPL) B-156
Induction Machine SetAdaptY B-158
Doubly Fed 31-18 SetAutoScaleY B-157
Info (DPL Internal Method) B-12 SetScaleY B-156
Init IntPrj 7-2
ElmRes (DPL) B-94 IntPrj (DPL) B-62
IntMat (DPL) B-81 Activate B-62
IntVec (DPL) B-85 Deactivate B-62
Inom IntRef 6-25
Object (DPL) B-55 IntVariant 6-23, 7-9
input IntVariant (DPL) B-64
DPL 29-10 Activate B-64
IntCase 6-23, 7-6 Deactivate B-65
IntCase (DPL) B-62 IntVec (DPL) B-84
Activate B-63 Get B-84
Deactivate B-63 Init B-85
IntEigen 25-8 Resize B-85
IntEigstate 25-9 Set B-84
Interconnect 8-31 Size B-86
Interface IntZone 11-5
DGS 28-20 Inverter
Internal Methods 1-DC Connection 31-41
DPL B-1 2-DC Connections 31-43
Interruption 21-53 invlapprox
intervalinc DSL C-4
DSL 24-15 IsCable
IntEvtshc 14-2 ElmLne (DPL) B-90
IntFolder 6-21 ElmLneroute (DPL) B-92
IntForm 27-54 TypLne (DPL) B-93
IntForm (DPL) B-120 IsClass
SetText B-120 Object (DPL) B-46
WriteOut B-121 IsClosed
IntGrfNet 6-22 ElmCoup (DPL) B-87
IntGrfnet 8-2 StaSwitch (DPL) B-107
IntLogon 3-3 IsIn
IntMat 6-24 Set (DPL) B-40
IntMat (DPL) B-80 IsInFeeder
ColLbl B-83 Object (DPL) B-51
Get B-80 IsNetCoupling
Init B-81 ElmLne (DPL) B-90
NCol B-82 IsNode
NRow B-82 Object (DPL) B-47
Resize B-81 IsOpen
RowLbl B-82 ElmCoup (DPL) B-87
Set B-81 StaSwitch (DPL) B-107
IntMon 27-57 IsOutOfService
IntMon (DPL) B-75 Object (DPL) B-51
AddVar B-78 IsRelevant
ClearVars B-78 Object (DPL) B-51
GetVar B-77 L
NVars B-76 lapprox
PrintAllVal B-76 DSL C-4

D-8
DIgSILENT PowerFactory Index

lapprox2 License 3-3


DSL C-4 Log On Page 3-3
LCOL loopinc
DIg Output Language 27-70 DSL 24-15
Library 6-6 Lost load 21-52
License Key(s) 3-1 LPEIC (Reliability Analysis) 21-17
lim LPENS (Reliability Analysis) 21-16
DSL C-2 LPES (Reliability Analysis) 21-16
limstate LPIF (Reliability Analysis) 21-14, 21-17
DSL C-2 LPIT (Reliability Analysis) 21-14, 21-17
Line M
Branch 9-17 Macro
Create 9-14 DSL 24-18
Edit 9-13 Maintenance 21-53
Element 31-60 Manual Conventions 1-3
Element, Route 31-29 MarkInGraphics
Element, Sub-Section 31-31 Object (DPL) B-55
Line 9-18 Set (DPL) B-42
Route 9-18 Matlab Interface 28-1
Section 9-18 Concept 28-3
T-Off 9-17 Matlab File 28-7
Type 30-17 Model Implementation 28-3
Line Coupling max
Element 31-58 DPL 29-7
ln DSL C-1
DPL 29-7 MDM 31-32
DSL C-1 min
lnm DPL 29-7
Object (DPL) B-53 DSL C-1
Load Modal Analysis 25-1
Element 31-23 Data Browser 25-10
Element, Low Voltage 31-25 Participation Factor 25-1
Element, Partial 31-27 Plots 25-7, 27-3
Type, General 30-16 Results 25-5
Load Scaling Start 25-3
Feeder 11-3 Model Analysis
Load Shedding (Reliability) 21-50 Theory 25-1
Load Transfer (Reliability) 21-50 Modeling and Simulation Tools 24-3
Load-Flow modulo
Active Power Control 13-3 DPL 29-7
Adv.Simulation Options 13-6 DSL C-1
Advanced Options 13-4 Motor Driven Machine 31-32
Basic Options 13-2 Move
Iteration Control 13-5 Object (DPL) B-49
Low-Voltage Analysis 13-4 N
Optimizing 18-1
Output 13-3 NCol
Reactive Power Control 13-2 IntMat (DPL) B-82
Trouble Shooting 13-7 NEC 31-35
LoadResData (DPL Internal Method) B-28 NET
log DIg Output Language 27-69
DPL 29-7 Network Reduction 17-1
DSL C-1 Handling 17-2
Log On Page 3-3 Results 17-3
Logon new (DOLE) 28-13
Advanced Settings 3-3 newtoninc
DSL 24-15

D-9
DIgSILENT PowerFactory Index

Next On
Set (DPL) B-38 ComEcho (DPL) B-73
NextFilt On-Line Operation (DOLE) 28-17
Set (DPL) B-39 Open
Node A-1 ElmCoup (DPL) B-87
NoFinalUpdate (DPL Internal Method) B-13 StaSwitch (DPL) B-106
noswt (DOLE) 28-10 Open Tie Optimization 20-8
NRow Options 20-9
IntMat (DPL) B-82 OPF 18-1
NVars Opt. Capacitor Placement
IntMon (DPL) B-76 Basic Options 20-3
O Optimization Procedure 20-2
Obj Sensitivity Analysis 20-2
Set (DPL) B-41 Target Function 20-1
OBJECT Optimal Capacitor Placement 20-1
DIg Output Language 27-68 Optimal Power-Flow 18-1
Object A-2 Optimization Procedure 20-8
Object (DPL) Outage 21-52
AddCopy B-50 Outage Calculation 21-1
CreateObject B-44 output
Edit B-49 DPL 29-10
GetClass B-46 DSL 24-19
GetConnectedElms B-48 Output of Device Data 27-72
GetConnectionCount B-48 Documentation 27-74
GetContents B-45 Filter/Annex 27-74
GetCubicle B-48 Output of Results 27-75
GetFullName B-45 Output Window
GetNode B-47 Context Sensitive Menu 27-51
GetParent B-47 Copy 27-53
GetSize B-52 Legend 27-52
GetVal B-53 Settings 4-4, 27-50
HasResults B-48 Overload Alleviation (Reliability) 21-49
Inom B-55 P
IsClass B-46 Page Tab A-5
IsInFeeder B-51 Parameter Identification
IsNode B-47 Application 26-8
IsOutOfService B-51 Comparison Slot 26-4
IsRelevant B-51 Measurement File 26-3
lnm B-53 Model Creation 26-4
MarkInGraphics B-55 Performing 26-6
Move B-49 Target Function 26-2
ShowFullName B-44 Passive Failure 21-53
snm B-54 pi
StochEvt B-56 DPL 29-8
unm B-54 DSL C-1
Unom B-54 picdro
VarExists B-51 DSL C-3
Objects PostCommand (DPL Internal Method) B-26
Edit 8-3 pow
Filtering 6-11 DPL 29-7
Search 6-10 DSL C-1
Sorting 6-10 Power at Risk 21-49
Objects relevant for Calculation 12-2 Power Restoration (Reliability) 21-48
ODF (Outage Distrib. Factor) 21-4 Primitive Block Definitions (DSL) 24-8
Off Print Graphic 8-10
ComEcho (DPL) B-73 PrintAllVal

D - 10
DIgSILENT PowerFactory Index

IntMon (DPL) B-76 Maintenance 21-36


printf (DPL Internal Method) B-7 Plant Model 21-33
PrintVal Synchronous Machine 21-32
IntMon (DPL) B-76 Transformer 21-30
Probability Density Function 21-55 Reliability Models 21-27
Project A-3 RelIoc 15-9, 15-21
Compare 7-16 RelLogic 15-10, 15-22
Create 7-2 RelMeasure 15-8, 15-23
New 7-2 RelToc 15-9, 15-24
Organisation 7-1 RelUlim 15-26
Protection 15-1 Remote Scripts (DPL) 29-14
PSS/E Dyn.Data Import 28-27 Remote Variant 7-13
General Settings 28-28 Remote Variants 7-13
Import Options 28-29 Remove
PSS/E Export 28-29 Set (DPL) B-37
General Settings 28-30 RemoveVar
Options 28-30 IntMon (DPL) B-77
PSS/E Import 28-23 Repair 21-53
General Settings 28-24 ReportObjs
Graphical Options 28-27 ComSimoutage (DPL) B-61
Import Options 28-25 RES
PWM Converter DIg Output Language 27-70
1 DC Connection 31-37 Reset
2 DC Connections 31-39 ComSimoutage (DPL) B-59
R ResetCalculation (DPL Internal Method) B-29
Random (DPL Internal Method) B-30 ResIndex (DPL Internal Method) B-27
Rectifier Resize
1-DC Connection 31-41 IntMat (DPL) B-81
2-DC Connections 31-43 IntVec (DPL) B-85
Type 30-21 ResNval (DPL Internal Method) B-28
Reducing Network 17-1 ResNvars (DPL Internal Method) B-28
Redundant Unit 21-54 Result Box
RelDir 15-17 Edit 8-35
RelFmeas 15-19 Result Comparison
RelFrq 15-19 Setup 12-4
RelFuse 15-20 Result Export 27-46
Reliability 21-1 Result Object 27-45, A-3
Reliability Analysis 21-1 Results
Advanced Options 21-13 DIgSILENT Output Language 27-66
Basic Options 21-9 Output Window 27-48
Calculated Results 21-14 Revisions 7-12
Contingency Analysis 21-1 round
FEA Options 21-11 DPL 29-7
Glossary 21-52 DSL C-1
Options 21-9 RowLbl
Probabilistic 21-8 IntMat (DPL) B-82
Some Theory 21-23 S
State Enumeration 21-43 SAIDI (Reliability Analysis) 21-15
Reliability Assessment 21-1 SAIFI (Reliability Analysis) 21-15
Reliability Model Sample and Hold 31-68
Busbar and Terminal 21-27 sapprox
Common Mode 21-38 DSL C-4
Interruption Cost 21-40 sapprox2
Lines 21-29 DSL C-5
Load 21-39 SCADA Interface (DOLE) 28-18
Load Shedding/Transfer 21-42 Scale 10-1

D - 11
DIgSILENT PowerFactory Index

Discrete 10-6 SetDefScaleX


Types 10-1 SetVipage (DPL) B-132
Scheduled Outage 21-53 VisPlot (DPL) B-143
SEAR (Reliability Analysis) 21-16 SetDefScaleY
Security 21-54 VisPlot (DPL) B-144
select SetDesktop 6-22
DSL C-3 SetDesktop (DPL) B-122
Serial Number 3-2 DoAutoScaleX B-126
Series Capacitance 31-45 GetPage B-124
Series Reactance 31-47 SetAdaptX B-127
SES (Reliability Analysis) 21-16 SetAutoScaleX B-127
Set SetResults B-124
IntMat (DPL) B-81 SetScaleX B-125
IntVec (DPL) B-84 SetXVar B-125
set (DOLE) 28-10 Show B-123
Set (DPL) WriteWMF B-123
Add B-36 SetDisplt 15-45
Clear B-37 SetFeeder (DPL) B-107
Count B-40 GetAll B-107
First B-38 GetBranches B-108
FirstFilt B-39 GetBuses B-108
IsIn B-40 SetFilt 6-10
MarkInGraphics B-42 SetFilt (DPL) B-78
Next B-38 Get B-78
NextFilt B-39 SetGrfpage 8-20
Obj B-41 SetLevelVis 8-21
Remove B-37 SetLevelvis 8-20
SortToClass B-41 SetLimits
SortToName B-42 ComSimoutage (DPL) B-61
SortToVar B-41 SetLineFeed (DPL Internal Method) B-22
Set Methods (DPL) B-36 SetMotorst 15-36
SetAdaptX SetNomCurr
SetDesktop (DPL) B-127 TypLne (DPL) B-94
SetVipage (DPL) B-135 SetObjs
VisPlot (DPL) B-149 ComOutage (DPL) B-57
SetAdaptY SetOcplt 15-37
IntPlot (DPL) B-158 SetPath 15-26, 15-38
VisPlot (DPL) B-150 SetPath (DPL) B-109
SetAsDefault AllBreakers B-111
ElmRes (DPL) B-97 AllClosedBreakers B-111
SetAutoScaleX AllOpenBreakers B-112
SetDesktop (DPL) B-127 GetAll B-109
SetVipage (DPL) B-134 GetBranches B-110
VisPlot (DPL) B-147 GetBuses B-110
SetAutoScaleY SetRandSeed (DPL Internal Method) B-31
IntPlot (DPL) B-157 SetResults
VisPlot (DPL) B-148 SetDesktop (DPL) B-124
SetBussys 9-2 SetVipage (DPL) B-130
SetColgr 8-18, 15-26 SetScaleX
SetCondmg 15-32 SetDesktop (DPL) B-125
SetCorr SetVipage (DPL) B-131
ElmLne (DPL) B-91 VisPlot (DPL) B-141
SetCrvDesc SetScaleY
VisPlot (DPL) B-154 IntPlot (DPL) B-156
SetCrvfilt 27-37 VisPlot (DPL) B-142
SetCubop 9-2, 9-4 SetSelect 6-25

D - 12
DIgSILENT PowerFactory Index

SetSelect (DPL) B-112 SetXVar B-130


AddRef B-113 SetXVar
All B-118 SetDesktop (DPL) B-125
AllAsm B-116 SetVipage (DPL) B-130
AllBars B-115 VisPlot (DPL) B-140
AllBreakers B-119 Shed load 21-52
AllClosedBreakers B-119 Short-Circuit
AllElm B-114 Adv.Options ANSI 14-13
AllLines B-114 Adv.Options Complete M. 14-15
AllLoads B-115 Advanced Options IEC/VDE 14-7
AllOpenBreakers B-120 Background 14-16
AllSym B-116 Basic Options 14-4
AllTypLne B-117 Basic Options ANSI 14-11
Clear B-113 Basic Options Complete M. 14-14
GetAll B-118 Basic Options IEC/VDE 14-6
SetStat 9-1 Calculation 14-1
SetStyle Calculation Method 14-5
SetVipage (DPL) B-129 Calculation Options 14-4
SetText Complete Method 14-18
IntForm (DPL) B-120 Explanation IEC/VDE Method 14-19
SetTile Fault Type 14-5
SetVipage (DPL) B-129 IEC Correction Factors 14-20
SetTime 10-11 Line Faults 14-2
SetTime (DPL) B-74 Multiple Faults 14-2
SetTime (DPL) B-74 User-defined Sets 14-4
Date B-74 Verification 14-6
SetTime B-74 Show
Time B-75 SetDesktop (DPL) B-123
Settings ShowFullName
Data Manager 4-4 Object (DPL) B-44
Directories 4-5 Shunt
Editor 4-5 Element 31-48
Functions 4-5 Simulink 28-1
General 4-1 sin
Graphic Windows 4-2 DPL 29-7
Output Window 4-4 DSL C-1
SetTitm 8-24 Single Line Graphic 8-16, 8-18
SetTrfdmg 15-34 Single Line Graphics 8-2
SetUser 4-1, 27-50 sinh
SetValue 6-16 DPL 29-7
SetVilytaxis 27-42 DSL C-1
SetVilytpage 27-42 Size
SetVilytplot 27-42 IntVec (DPL) B-86
SetViPage 27-3 Slot A-4
SetVipage (DPL) B-128 Slotupd
DoAutoScaleX B-133 ElmComp (DPL) B-71
DoAutoScaleY B-133 snm
GetScaleObjX B-135 Object (DPL) B-54
GetVI B-128 Soft Starter 31-51
SetAdaptX B-135 SortToClass
SetAutoScaleX B-134 Set (DPL) B-41
SetDefScaleX B-132 SortToName
SetResults B-130 Set (DPL) B-42
SetScaleX B-131 SortToVar
SetStyle B-129 Set (DPL) B-41
SetTile B-129 Spare Unit 21-53

D - 13
DIgSILENT PowerFactory Index

sprintf (DPL Internal Method) B-8 DSL C-1


sqr tanh
DPL 29-7 DPL 29-7
DSL C-1 DSL C-1
sqrt TechRef 30-1
DPL 29-7 Terminal 9-10
DSL C-1 Time
sscanf (DPL Internal Method) B-18 SetTime (DPL) B-75
StaBar 9-1, 9-2 time
Stability Analysis DSL C-1, C-3
Models 23-1 Time Characteristic
StaCt 15-7, 15-10 Create 10-12
StaCubic 9-2, 9-10 Time Scale
StaExtpmea 19-22 Create 10-10
StaExtqmea 19-22 Time Trigger
StaExtvmea 19-22 Set 10-11
STALNE Time-Domain Simulation
DIg Output Language 27-69 3-phase EMT Simulation 22-4
StaSwitch (DPL) B-105 3-phase RMS Simulation 22-3
Close B-106 Advanced Options 22-8
IsClosed B-107 Balanced RMS Simulation 22-3
IsOpen B-107 Basic Options 22-6
Open B-106 Calculation Methods 22-2
State Enumeration 21-43 Events 22-14
Static Var System 31-53 Load-Flow 22-11
Station 9-10 Long-Term Stability 22-10
Define 9-8 Noise Generation 22-11
Station Edit Dialog 9-3 Reference System 22-9
Station Graphic 9-12 Result Objects 22-12
Statistic 21-52 Run 22-17
StaVt 15-12 Setup 22-4
StaVtsec 15-14 Simulation Results 22-14
Stochastic 21-52 Step-Size Adaption 22-8
StochEvt Time-Domain Simulations 22-1
Object (DPL) B-56 TITLE
StoCommon 21-38 DIg Output Language 27-69
StoMaint 21-36 Toolbar Definitions 2-8
strchg (DPL Internal Method) B-15 ToStr (DPL Internal Method) B-10
strcmp (DPL Internal Method) B-15 Tower
strcpy (DPL Internal Method) B-14 Types 30-25
strftime (DPL Internal Method) B-16 Transformer
strlen (DPL Internal Method) B-16 Element, 2-Winding 31-1
strstr (DPL Internal Method) B-14 Element, 3-Winding 31-7
strtok (DPL Internal Method) B-16 Element, Booster 31-13
Study Case A-3 Type, 2-Winding 30-1
Subplot (VI) 27-10 Type, 3-Winding 30-4
SummaryGrid (DPL Internal Method) B-20 Type, Booster 30-11
Synchronous Machine Transient Analysis 22-1
Element 31-55 Transients
Type 30-22 electromagnetical 22-1
System Stage A-2 electromechanical 22-1
Reduce 7-14 long-term 22-1
System Stages 7-9 Transition rate 21-33
T TriCont 10-3, 10-8
tan TriDisc 10-6
DPL 29-7 Trigger 10-1

D - 14
DIgSILENT PowerFactory Index

Element 31-69 Changing the Variables 27-22


TriTime 10-3, 10-10 Coordinates 27-21
TriVal 10-3 Editing the Unit/Tick 27-21
trunc Label of Vectors 27-21
DPL 29-7 Origin 27-21
DSL C-1 X and Y Axes 27-21
TTF (Reliability Analysis) 21-24 VecVis 27-19
TTR (Reliability Analysis) 21-24 VI
twopi Constant Value 27-35
DPL 29-8 Curve Filter 27-37
DSL C-1 Curve Input 27-27
TypAsm (DPL) B-65 Defining Styles 27-42
CalcElParams B-65 Edit Dialogues 27-31
TypAsmo 30-8 Embedded Graphic Windows 27-30
TypAsmo (DPL) B-65 Export Curve Data 27-38
CalcElParams B-65 Export Curve Graphic 27-38
TypBar 9-10 FFT Plot 27-18
TypCab 30-13 Format Label 27-33
TypCon 30-14 Labelling Plots 27-32
TypCt 15-12 Plot Style 27-43
Type A-1 Pre-defined Style 27-44
TypGeo 9-13, 30-25 Status Bar 27-32
TypHmcCur 16-7 Straight Line 27-37
TypLne 9-13, 30-17 Styles 27-41
TypLne (DPL) B-93 Text Label 27-32
IsCable B-93 Tools for Virtual Instruments 27-31
SetNomCurr B-94 User-defined Styles 27-41
TypLod 30-16 Value Label 27-32
TypRec 30-21 Vector Diagram 27-19
TypSym 30-22 Voltage Profile Plot 27-22
TypTow 9-13, 30-25 Waveform Plot 27-25
TypTr2 30-1 X-Y-Plot 27-17
TypTr3 30-4 VI Panel
TypTrb 30-11 Automatic Arrangement 27-5
TypVt 15-15 Automatic Scale Buttons 27-5
TypVtsec 15-15 Background 27-8
U Context Sensitive Menu 27-8
unm Create Virtual Instruments 27-9
Object (DPL) B-54 Default Styles 27-9
Unom Defining Styles 27-42
Object (DPL) B-54 Edit 27-4
User Accounts 3-1, 3-3 Moving and Resizing 27-6
User Interface 2-5 Page Format 27-6
Plots 27-9
V Results 27-8
validLDF (DPL Internal Method) B-21 Title Block 27-7
validRMS (DPL Internal Method) B-21 Variables of Plots 27-6
validSHC (DPL Internal Method) B-22 Virtual Instrument A-3
validSIM (DPL Internal Method) B-22 Virtual Instrument Panel A-4
VarExists Virtual Instrument Panels 27-3
Object (DPL) B-51 Virtual Instruments 27-1
Variable Monitors 27-57 Types 27-1
Variable Sets 27-57 Types Feeders 27-3
VARIANT Types Harmonics 27-3
DIg Output Language 27-69 Types Protection 27-2
Vector Diagram VisDefcrv 27-27
Changing the object 27-21

D - 15
DIgSILENT PowerFactory Index

VisDraw 15-43 Write (DPL Internal Method) B-10


Viseigen 25-7, 27-3 WriteDraw
VisFft 27-18 ElmRes (DPL) B-97
VisFft (DPL) WriteOut
B-155 IntForm (DPL) B-121
DoAutoScaleX B-155 WriteWMF
VisHrm 27-25 SetDesktop (DPL) B-123
VisLabel 27-33 Z
VisModbar 25-8, 27-3 Zone 11-5
VisOcplot 15-30
VisPath 27-22
Schematic Visualization 27-24
VisPlot 27-10
Curves 27-15
Editing Subplots 27-10
Setting the X-Axis 27-11
Setting the Y-Axis 27-13
VisPlot (2 Y-Axes) 27-17
VisPlot/VisPlot (DPL)
SetAutoScaleX B-147
VisPlot/VisPlot2 (DPL) B-137
AddResVars B-138
AddVars B-137
Clear B-139
DoAutoScaleX B-144
DoAutoScaleY B-145
GetScaleObjX B-151
GetScaleObjY B-153
SetAdaptX B-149
SetAdaptY B-150
SetAutoScaleY B-148
SetCrvDesc B-154
SetDefScaleX B-143
SetDefScaleY B-144
SetScaleX B-141
SetScaleY B-142
SetXVar B-140
VisPlot2 27-17
VisPlot2 (DPL)
DoAutoScaleY2 B-146
VisPlottz 15-38
VisValue 27-32
VisXvalue 27-35
VisXYPlot 27-17
Voltage Sag Analysis 21-18
Options 21-18
Results 21-20
Stochastic Models 21-24
W
Warn (DPL Internal Method) B-11
Waveform Plot 16-13
Weibull-Markov-Model 21-26
while(){}
DPL 29-8
Write
ElmRes (DPL) B-95

D - 16

You might also like