Professional Documents
Culture Documents
User S Manual DigSilent Version 14 PDF
User S Manual DigSilent Version 14 PDF
User S Manual DigSilent Version 14 PDF
User’s Manual
DIgSILENT PowerFactory
Version 14.0
DIgSILENT GmbH
Gomaringen, Germany
2008
Publisher:
DIgSILENT GmbH
Heinrich-Hertz-Straße 9
72810 Gomaringen / Germany
Tel.: +49 (0) 7072 - 9168-0
Fax: +49 (0) 7072 - 9168-88
Contents
General Information
Welcome 1-1
i
DIgSILENT PowerFactory User’s Manual
ii
DIgSILENT PowerFactory User’s Manual
Handling
iii
DIgSILENT PowerFactory User’s Manual
iv
DIgSILENT PowerFactory User’s Manual
v
DIgSILENT PowerFactory User’s Manual
vi
DIgSILENT PowerFactory User’s Manual
vii
DIgSILENT PowerFactory User’s Manual
viii
DIgSILENT PowerFactory User’s Manual
ix
DIgSILENT PowerFactory User’s Manual
x
DIgSILENT PowerFactory User’s Manual
Protection 32-1
32.1 Creating a Protection Device . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . .32-1
32.1.1 Example: a Time-Overcurrent Relay. . . . . . . . . . . ..... . . . . . . . . 32-2
32.1.2 Editing the Relay Elements . . . . . . . . . . . . . . . . . ..... . . . . . . . .32-7
32.2 Basic Protection Devices . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-10
32.2.1 The Current Transformer . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-10
32.2.2 The Voltage Transformer . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-12
32.2.3 The Relay Model . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-16
32.2.4 Directional Relay . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-17
32.2.5 The Frequency Measurement Unit . . . . . . . . . . . . ..... . . . . . . . 32-19
32.2.6 The Frequency Relay . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-19
32.2.7 The Fuse Model . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-20
32.2.8 The Instantaneous Overcurrent Relay . . . . . . . . . ..... . . . . . . . 32-21
32.2.9 The Logic Unit . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-22
32.2.10 The Measurement Unit . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-23
32.2.11 The Time Overcurrent Relay . . . . . . . . . . . . . . . ..... . . . . . . . 32-24
32.2.12 Under-/Overvoltage Relay . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-26
32.3 Path Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-26
32.4 Protection Analysis Results . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-27
32.4.1 Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-27
32.4.2 Results in Single Line Graph . . . . . . . . . . . . . . . . ..... . . . . . . . 32-27
32.4.3 Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-27
32.5 Short-Circuit Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-28
32.5.1 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . 32-28
xi
DIgSILENT PowerFactory User’s Manual
xii
DIgSILENT PowerFactory User’s Manual
Appendix
Glossary A-1
xiii
DIgSILENT PowerFactory User’s Manual
xiv
DIgSILENT PowerFactory User’s Manual
xv
DIgSILENT PowerFactory User’s Manual
Index J-1
xvi
DIgSILENT PowerFactory
General Information
DIgSILENT PowerFactory Welcome
Chapter 1
Welcome
1-1
DIgSILENT PowerFactory Welcome
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-
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-2
DIgSILENT PowerFactory DIgSILENT Contact and Support
Chapter 2
DIgSILENT Contact and Support
For further information about the company DIgSILENT, our products and services
please visit our web page www.digsilent.de or contact us at:
DIgSILENT GmbH
Heinrich-Hertz-Straße 9
72810 Gomaringen / Germany
www.digsilent.de
General Information:
If you are looking for general information about DIgSILENT or your PowerFactory li-
cense, please contact us via:
Phone: +49-(0)7072-9168-0
Fax: +49-(0)7072-9168-88
E-mail: mail@digsilent.de
Technical Support:
If you need technical support concerning PowerFactory, DIgSILENT experts offer di-
rect assistance to users with valid maintenance agreements via:
Phone: +49-(0)7072-9168-50
E-mail: support@digsilent.de
Adding your company affiliation and the build number of your PowerFactory version to
your query will help us to answer your questions faster. The build number is in "Help ->
About PowerFactory..." on the main menu. Here you also will find an abbreviation con-
taining of three letters, which is helpful for us ("This Program is Licensed to XXX"). Addi-
tionally, if you send us an *.dz or *.pfd file concerning to your query, it is often easier for
us to reproduce your reported items.
2-1
DIgSILENT PowerFactory DIgSILENT Contact and Support
2-2
DIgSILENT PowerFactory About this Guide
Chapter 3
About this Guide
This chapter will give you information about how to use this documentation, the used con-
ventions and information about additional documentations.
3-1
DIgSILENT PowerFactory About this Guide
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...
" " 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.
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
3-2
DIgSILENT PowerFactory About this Guide
All new versions and builds of the program include 'Release-Notes' documenting the im-
plemented changes.
3-3
DIgSILENT PowerFactory About this Guide
3-4
DIgSILENT PowerFactory PowerFactory Overview
Chapter 4
PowerFactory Overview
4-1
DIgSILENT PowerFactory PowerFactory Overview
Project Management: All the data that defines a power system model and allows
its calculation is stored in so called 'Project' folders within the database. Inside a
'Project', folders called 'Study Cases' are used to define different studies of the sys-
tem considering the complete network, only parts of it or variations on its current
state. This 'project and study case' approach to define and manage power system
studies is a unique application of the object-oriented software principle. Standard
software packages often require the user to create a large number of similar saved
cases, with multiple nested directories for large complex networks and studies. How-
ever, DIgSILENT PowerFactory has taken a totally new approach, and intro-
duced a structure that is both easy to use while avoiding redundancy.
Multi-User Operation: Multiple users each holding its own projects or working
with data shared from other users are supported by a 'Multi-user' database opera-
tion. In this case the definition of access rights, user accounting and groups for data
sharing are managed by a database administrator.
4-2
DIgSILENT PowerFactory PowerFactory Overview
As users progress and become more adept with the program, data will be manipulated by
using a data viewer called the Data Manager. 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.
All of the data that is entered for such objects is hierarchically structured in folders to al-
4-3
DIgSILENT PowerFactory PowerFactory Overview
low the user to navigate through it. To view the data and its organization, a "Data Man-
ager" is used. Figure 4.2 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.
4-4
DIgSILENT PowerFactory PowerFactory Overview
study and may be used to simulate different operation scenarios of the same network, is
further grouped inside the element data set in a subset called "Operational Data".
This means that there are now four distinct sets that we need to arrange the data into.
In 'data base' terms this means four folders, which, in PowerFactory, we call:
• ''Network Data'' folder: Holds all the element data.
• ''Operation Scenario'' folder: Holds the operational data defining a certain
operational point.
• ''Equipment Type'' folder: Holds all the type data
• ''Study Case'' folder: Holds all the study management data.
For an optimal advantage of the flexibility offered by this data arrangement approach, the
aforementioned folders should be hierarchically organized within a higher directory. In
PowerFactory this higher directory is called ''Project''. Besides the described data sets,
a project stores all the additional database ''objects'' required to model, simulate, analyze
and visualize a particular power system.
The PowerFactory database supports multiple users (as mentioned in 4.1) and each
user can manage several projects. ''User Account'' folders with access privileges only
for their owners (and other users with shared rights) must then be used. User accounts
are of course in a higher level than projects.
Figure 4.3 shows a snapshot from a database as seen by the user in a data manager win-
dow.The folders listed contain the following type of data:
User Folder
Three user accounts (Demo, Manual and Peter) containing different
projects are shown.
Project
In this case named Simple Power System. This folder is the frame for
all project subfolders.
Equipment Types
Holds all the type data.
4-5
DIgSILENT PowerFactory PowerFactory Overview
Network Model
Holds the Network Data folder containing the element data. The
Network Model folder also contains the graphical objects folders
(Diagrams), storing network diagrams and the network modifications
folders (Variations) storing expansions or topological changes to be
applied in the original networks.
Operation Scenarios
Holds sets of operational data.
Study Cases
Contains the study Management Data - the 'tools' and 'tool settings'
that are used to perform the calculations and the visualization of the
results.
All the aspects related to the use and management of the project folder, including the
subfolders listed above is given in chapters:
For information about user accounts please refer to Chapter 5 Program Setting, Logging
on and User Accounts.
4-6
DIgSILENT PowerFactory PowerFactory Overview
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 4.4.
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"
4-7
DIgSILENT PowerFactory PowerFactory Overview
to 'untick' it. The undocked output window is still confined to the main window, but now
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.
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 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.
Re-sizing sub-windowsThe following sections provide further information about the Pow-
erFactory windows and their tool bars. Because the Graphical Editor and the Data Man-
ager are main interfaces and their use is fundamental in the definition and analysis of
4-8
DIgSILENT PowerFactory PowerFactory Overview
power systems with PowerFactory, they are explained in separate chapters (11 The Data
Manager and 10 The Graphics Editor).
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.
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
4-9
DIgSILENT PowerFactory PowerFactory Overview
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.
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.
4 - 10
DIgSILENT PowerFactory PowerFactory Overview
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
relevant characteristics are automatically listed. If required, new
triggers will be created in the study case. For more information, see 7.7
Parameter Characteristics and Parametric Studies.
Calculate Load-Flow
Activates the load-flow command dialogue. For more information about
the specific settings, please refer to Chapter 22 Load Flow Analysis.
Calculate Short-Circuit
Activates the short-circuit calculation command dialogue. For more
information, please refer to Chapter 23 Short-Circuit Analysis.
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.
4 - 11
DIgSILENT PowerFactory PowerFactory Overview
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
8.4 Comparisons Between Calculations.
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 6 User Settings.
4 - 12
DIgSILENT PowerFactory PowerFactory Overview
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.
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.
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
4 - 13
DIgSILENT PowerFactory PowerFactory Overview
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 Figure 4.9, 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
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
Searches the text in the output window for the occurrences of a given
text. A "?'' wild cart may be used
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
4 - 14
DIgSILENT PowerFactory PowerFactory Overview
4 - 15
DIgSILENT PowerFactory PowerFactory Overview
4 - 16
DIgSILENT PowerFactory PowerFactory Overview
Which lines will be copied is determined by the output window settings. See Section 6.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 Figure 4.12. 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.
4 - 17
DIgSILENT PowerFactory PowerFactory Overview
4 Balloon help 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.
3 Parameter fields.
Command buttons/icons are sometimes referenced by their name, instead of by their im-
age. 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 (e. g.
= User Settings).
4 - 18
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
Chapter 5
Program Setting, Logging on and User
Accounts
This chapter provides reference information on how to configure the program, how to log
on and how to create and manage user Accounts. More Detailed descriptions of the pro-
cess introduced here can be found in the PowerFactory Installation Manual.
5-1
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
Note: A user account is the working space of a specific user (the account
owner) within the DB. It is the object where the user stores his
projects and settings. To access a specific account the correspond-
ing user name and password must be given. Information on the ac-
count management system and how to share information with
other users is given in Chapter 21 (Data Management). The de-
scription on how data is arranged within PF is given in Chapter 7
(The PowerFactory Data Model).
Once the PF installation had been set, a name and a password must be given in order to
access an account and start to use the program. Two special accounts are created when
installing PF, the Demo and the Administrator. The Demo account is used to access and
run the examples provided with the program. The administrator (database administrator)
account is used to create and manage user's accounts in a multi-user environment (see
Section 5.3). To log on as Demo, just select the corresponding option on the users name
drop down menu (Figure 5.1), no password is required. To log on as administrator, select
the Administrator name from the menu and use the assigned password. By default the
administrator account password is Administrator.
Users other than the Administrator and the Demo, require their own name and password
to log on. If you are using a stand alone installation, you can create a new user account
by typing in a new name and a password of your choice (an empty password is also ac-
cepted). After creating the new account the 'Do you really want to create a new user ac-
count' message will pop up, click Ok to continue. In a multi-user installation (see
Section 5.3) new accounts and passwords are created by the administrator.
For further information about the roll of the database administrator please refer to
Section 5.3.2. Further information about the Demo account is given in Section 5.3.5.
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.
5-2
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
In order to run the program, users require access to a license key (also known as dongle
or hardlock). By means of the interface described below (License tab of the Log-on dia-
logue), this access is defined.
License Key
In the License Key field, the installed license key setting must be selected. PowerFacto-
ry offers four choices to install the license key:
not available (Demo)
No local key is installed, only Demo version of PowerFactory can be
run.
on local port
A valid PowerFactory license key ('hardlock') must be connected to a
USB or parallel port.
in network (file based communication)
A connection to a network computer, which has the PowerFactory
network license service running must be available. The communication
between the user and the license server is done trough shared
directories.
in network (protocol based communication)
A connection to a network computer, which has the PowerFactory
network license service running must be available. The communication
between the user and the license server is done trough a protocol.
A detailed description of the different license key settings is given in the PowerFactory
Installation Manual. Demo users (those without licence) should select 'not available
(Demo)'.
Serial Number
Your serial number must be provided in the 'Serial Number' field. It can be found on the
5-3
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
License Server
If the you are using a network key with file based communication, the path to the Pow-
erFactory working directory of license server must be provided. This path is usually
mapped on the client machine.
If you are working with a protocol based communication key, you are required to specify
the computer name or the IP network address (as in Figure 5.2) of the license server.
Advanced RPC-Settings
If a network license key with protocol based communication is used, the 'Advanced RPC-
Settings' must be given. To reach these fields, press the arrow button ( ) on the first
page of the License tab.
The 'RPC' settings must be the ones specified in the license server. For detailed informa-
tion consult your network management or see Section 3.2.3 of the PowerFactory In-
stallation Manual.
NOTE: If you are not sure about your license key setting please refer to
your network administrator. File based communication is only rec-
ommended for old versions of PowerFactory that don’t support
protocol based. For further information on the license key config-
uration refer to the Installation Manual.
Note: If you are not sure about your installation type please refer to your
network administrator. For detailed information about the installa-
tion types see the installation manual Chapter 5.
5-4
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
5-5
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
5-6
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
Under a multiuser database environment, the administrator is the only user with the rigth
to:
• Add and delete users.
• Define users groups.
• Set individual user rights.
• Restrict or allow calculation functions.
• Set/reset user passwords.
The administrator is also the only user that can modify the main library and the system
folders. Although the administrator has access to all the projects of all the users, it does
not have the rigth to perform any calculation.
To log on as administrator, select the 'Administrator' user from the drop down menu of
the 'Log on' page from the Log-on dialogue and write the corresponding password. By
default the administrator password is Administrator.
For further information about the administrator roll, please refer to the PowerFactory
Installation Manual (Chapter 6).
5-7
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
Note: The administrator is the only one who may delete a user account.
Although users can delete all projects inside 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).
5-8
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
Note: The menu option File −> Examples is only available when one is
logged into the Demo account.
The ''Demo'' projects may also be activated and observed in the manner normally em-
ployed by PowerFactory. To learn how this is achieved it is best to work through the
on-line tutorial that is provided.
A demo user has read and write permissions for all demonstration projects. However, cal-
culations 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, transform-
ers, loads, machines, etc., will lead to error messages.
Licensed users may log on as demo users, change the demonstration projects in any way,
and still be able to start a calculation (as long as their hardlock is available to PowerFac-
tory). However licensed users are recommended to copy and paste into their own ac-
count the ''Demo'' projects of their interest.
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.
5-9
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts
5 - 10
DIgSILENT PowerFactory User Settings
Chapter 6
User Settings
The User Settings dialogue, shown in Figure 6.1, offers options for many global features
of PowerFactory. This chapter is dedicated to describe this options. The User settings
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.
6-1
DIgSILENT PowerFactory User Settings
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.
Cursor settings
Defines the cursor shape:
Arrow
A normal, arrow shaped cursor.
Crosshair
A large, full screen cross.
6-2
DIgSILENT PowerFactory User Settings
Tracking cross
A small cross.
General Options
Valid for all graphs:
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.
6-3
DIgSILENT PowerFactory User Settings
For information about the Graphic Window refer to Chapter 10 (The Graphics Editor).
Show in Treelist
Object classes that are selected will be displayed in the database tree.
Browser
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.
Operation Scenario
If the Save active Operation Scenario automatically is enabled, the period for automatic
6-4
DIgSILENT PowerFactory User Settings
Export/Import Data
Configures the export and import of PowerFactory 'DZ'-files, as follows:
Binary Data
Saves binary data, such as results in the result folders, to the 'DZ'
export files according to selection.
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.
6-5
DIgSILENT PowerFactory User Settings
6.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
6.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.
Options
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.
6-6
DIgSILENT PowerFactory User Settings
6-7
DIgSILENT PowerFactory User Settings
6-8
DIgSILENT PowerFactory The PowerFactory Data Model
Chapter 7
The PowerFactory Data Model
Up to this point, information regarding the general structure of the database, the user
interfaces and the administration of users’ accounts has been given. Now it is time to
describe how the data is organized to model and analyze a power system. The set of
folders and objects hierarchically organized to model and perform calculations on a power
system will be referred to here as the data model.
7-1
DIgSILENT PowerFactory The PowerFactory Data Model
7-2
DIgSILENT PowerFactory The PowerFactory Data Model
Fig. 7.1: Data Arrangement Inside a Project (Default Structure of a Project Folder)
The default project structure (the data model described above) is shown in Figure 7.1.
The remaining sections of this chapter deal with the description of the objects/folders
shown above. For information on how to create and configure a new project please refer
to Section 9.1 (Defining and Configuring a Project).
7-3
DIgSILENT PowerFactory The PowerFactory Data Model
To create a new element in one of these folders, first select the folder
by clicking once on it. Then press the ‘New Object’ button ( ), and
select the desired element.
The network may need to be analyzed at different times of the day, week or year, where
changed load conditions and different component ratings are considered. As described
above, Operational Library objects and Operation Scenarios facilitate this analysis by
allowing the definition of different operational data. The Parameter Characteristics tool is
designed to extend this flexibility of analysis via the use of characteristics. Characteristics
are defined by a range of values, as opposed to a single fixed value, which are assigned
to the parameters of selected power systems elements. Within this range, the selection
of the appropriate value for the parameter is carried out according to a user-defined
trigger. For example, the active power demand of a load can be modeled by means of a
characteristic with 12 values, each one corresponding to a month of the year. If the
trigger is set to January (triggers are user-defined), then the value used by the program
to perform the calculations will be the first value of the characteristic; if the trigger is set
to December, the last value of the characteristic will be used.
Additional objects which support the calculations and the modeling of the system are also
stored inside the Library folder. These objects include: automation commands developed
7-4
DIgSILENT PowerFactory The PowerFactory Data Model
with the DIgSILENT Programming Language (DPL) and user-defined templates for
composite network elements.
7-5
DIgSILENT PowerFactory The PowerFactory Data Model
is subject to frequent changes during a study and may be used to simulate different
operation scenarios of the same network, is further grouped into subsets. Within the
project folder, operation scenarios are stored inside the Operation Scenarios folder.
We may need to analyze the network at different times during the day, week or year,
where changed loading conditions and different component ratings are considered. As
described above, Operational Library objects and Operation Scenarios facilitate this
feature by allowing the definition of different operation points. Scenarios facilitate this
analysis by allowing the definition of different operational data. The Parameter Charac-
teristics tool is designed to extend this flexibility of analysis via the use of characteristics.
Characteristics are defined by a range of values, as opposed to a single fixed value, which
are assigned to the parameters of selected power systems elements. Within this range,
the selection of the appropriate value for the parameter is carried out according to a user-
defined trigger. For example, the active power demand of a load can be modeled by
means of a characteristic with 12 values, each one corresponding to a month of the year.
If the trigger is set to January (triggers are user-defined), then the value used by the
program to perform the calculations will be the first value of the characteristic; if the
trigger is set to December, the last value of the characteristic will be used.
7-6
DIgSILENT PowerFactory The PowerFactory Data Model
7-7
DIgSILENT PowerFactory The PowerFactory Data Model
it within the database, for example the symbol used to represent a load is ( ), and
that used to represent a transmission line is ( ).
The relation between graphical objects and network components allows the definition and
modification of the studied networks directly from the single line diagrams. In addition to
this, the network components can be represented by more than one graphical object
(manyIntGrf objects can refer to the same network component). Therefore, one
component can appear in several diagrams. Thanks to the relation described above,
several diagrams for one network can be defined. Diagrams displaying components from
different networks are also possible.
These diagrams are managed by the active Study Case, and specifically by an object
called the Graphics Board. If a reference to a network diagram is stored in a Study Case’s
Graphics Board, every time the study case is activated, the diagram is automatically
opened. As with any other object, diagrams can be added/deleted from the Graphics
Boards.
Each diagram is related to a specific grid (ElmNet). When a grid is added to an active
study case, the user is asked to select (among the diagrams pointing to that grid) the
7-8
DIgSILENT PowerFactory The PowerFactory Data Model
diagrams that s/he wants to display. References to the selected diagrams are then
automatically created in the corresponding Graphics Board.
Chapter 10 (The Graphics Editor), explains how to define and work with single line
graphics. Additional information about the relation between graphical objects and
network components is given below in Section 7.3.2 (Network Topology Handling). For
further information about symbols and the appearance of graphical objects, please refer
to Appendix E (Reference to the use of Symbols in PowerFactory).
7-9
DIgSILENT PowerFactory The PowerFactory Data Model
Nodes
In circuit theory, the junction points connecting lines, generators, loads, etc. to the
network are generally termed ‘nodes’. In PowerFactory, nodes are modeled by means
of objects called 'terminals' (ElmTerm). Depending on their usage within the power
system, terminals can represent busbars, junctions or simply internal nodes (their usage
is defined by a drop down menu found in the Basic Data tab of the terminal dialogue).
According to the selected usage, different calculation functions are enabled; for example
the short-circuit calculation can be performed only for busbars or for busbars and internal
nodes, and so on.
When any branch element is directly connected to a terminal, PowerFactory uses a
'cubicle' (StaCubic) to define the connection. Cubicles may be visualized as the panels
on a switchgear board, or bays in a high voltage yard, to which the branch elements are
connected.
Normally a cubicle is created automatically when an element is connected to a node. In
this case the switch configuration of the new cubicles has been previously defined by the
user and is carried out using simple switches of class StaSwitch (for further information
about defining cubicles refer to Section 11.2: Defining Network Models with the Data
Manager).
PowerFactory also offers the possibility to create more detailed cubicle connections (in
order to model complex busbar-substation configurations) by using switches of class
ElmCoup, whose usage can be set to circuit breaker, disconnector, switch disconnector
or load switch. In this case the branch elements are connected to the terminals (busbars)
through ElmCoup objects. The connection of an ElmCoup to a terminal is carried out by
means of automatically generated cubicles without any additional switch (StaSwitch)
object.
For further information regarding how to connect nodes with branch elements using
circuit breakers (ElmCoup objects) please refer to Section 11.2 (Defining Network
Models with the Data Manager).
7 - 10
DIgSILENT PowerFactory The PowerFactory Data Model
Branch Elements
As explained earlier, branch elements are connected to nodes via cubicles. A connection
between two nodes is made by two-port elements like transformers, switches or lines.
Three-port elements require a connection to three different nodes.
Generally, branch elements are single components whose connection to the network is
automatically set when selecting the connected terminals. From the data model point of
view, the case of transmission lines (and cables) is interesting, because they can be
defined as a one-to-one connection between two nodes, or as folders containing line
sections that together connect two nodes.
The purpose of sectionalizing the line into parts is so that different line types may be used
for the different sections (such as when a cable connecting two nodes uses different types
in different sections, or when a line uses two or more different tower types, or when
manual transpositions should be modeled - since the Transposed option in the type object
is a perfect, balanced, transposition).
For information about how to define transmission lines (and cables) and sections please
refer to Section 10.1 (Defining Network Models with the Graphical Editor). For technical
information about the transmission line and cable model, please refer to Appendix C.28
(Transmission Lines (ElmLne)).
Substations
Detailed representations of electrical substations can be achieved in PowerFactory by
connecting and storing terminals and switches together, under one 'Substation' object
(ElmSubstat ). Substations can also be used to model composite busbar systems,
by storing terminal and switch arrangements under the same object. Separate single line
diagrams of individual substations can be created. Substation objects allow the use of
running arrangements to store/set a certain status of the station circuit breakers
(ElmCoup objects) (see 7.5.6: Running Arrangements).
For information about how to define substations please refer to Section 10.1 (Defining
Network Models with the Graphical Editor) and 11.2 (Defining Network Models with the
Data Manager).
Branches
Similar to substations, PowerFactory allows nodes and branch elements to be stored
under the same object (the branch object, ElmBranch ) in order to represent
branched-off connections between two terminals or substations. Branches are 'composite'
two-port elements that may be connected at each end to a node. One typical application
is a distribution line with branched-off loads along the connection: transmission lines,
loads and the corresponding terminals can be stored together under the same branch,
and the two ends of the line correspond to the branch connections with the grid. As in the
case of substations, separate single line graphics for branches can be created with the
7 - 11
DIgSILENT PowerFactory The PowerFactory Data Model
graphical editor.
For information about how to define branches please refer to Section 10.1 (Defining
Network Models with the Graphical Editor) and 11.2 (Defining Network Models with the
Data Manager).
Sites
Substations, branches and any other network component can be stored together under
the same 'Site' object in order to represent and analyze a network according to its
geographical (topological) regions.
Sites are high-level hierarchical objects that can store any defined component within a
network. For information about how to define sites please refer to Section 11.2 (Defining
Network Models with the Data Manager).
7 - 12
DIgSILENT PowerFactory The PowerFactory Data Model
Additionally to grids, the Network Data folder contains a set of special objects that allow
the further grouping of network components. This additional grouping of elements is
carried out in order to allow further analysis and calculations of the power system.
By default, when a new project is created, new empty folders to store these special
objects are created inside the Network Model folder. The left pane shown in Figure 7.6
illustrates the complete structure of the Network Data folder from the example shown in
Figure 7.5. Besides the two defined grids (North and South), folders to store the grouping
objects are created. The user can define any of the corresponding grouping objects inside
each of these folders. The right pane shown in Figure 7.6 shows the contents of the
'Feeders' subfolder, which contains a 'Feeder' object named F1.
7 - 13
DIgSILENT PowerFactory The PowerFactory Data Model
additional grouping objects via the use of references to relevant network components
stored in the grid folders.
For information about defining grids please refer to Section 9.2 (Creating New Grids).
Note: A grid (and in general any object comprising the data model) is
active when it is referred to by the current study case. Only objects
referred in the current (active) study case are considered for cal-
culation. An active object can be distinguished in the data manager
because of the red color seen on its icon.
Areas
To facilitate the visualization and analysis of a power system, elements may be allocated
into areas (ElmArea ). The single line graphics can then be colored according to
these areas and special reports after load flow calculations ('Area summary report' and
'Area interchange report') can be generated. Area objects are stored inside the Areas
folder ( ) in the Network Data directory.
For information about defining an Area please refer to Chapter 12 (Grouping Objects).
For information concerning the visualization of areas within the single line Graphic please
refer to 10.5.3 (Commands and Settings for Single Line Graphics). For information about
reporting Area results please refer to Chapter 20 (Reporting Results in PowerFactory).
Boundaries
Boundaries are objects used in the definition of network reductions and in summation
reports after a load flow calculation (to report the active and reactive power flow along
the boundary). Boundary objects (ElmBoundary ) may define topological regions by
specifying a topological cut through the network.
New boundaries are created by specifying the cubicles that define the cut through the
network. An interior region, corresponding to the boundary cut, is defined by specifying
a direction for each cubicle. Interior regions and boundaries can be colored in the single
line graphic.
7 - 14
DIgSILENT PowerFactory The PowerFactory Data Model
New boundaries are stored in the Boundaries folder within the Network Data folder. For
information on the definition and functionality of boundaries please refer to Chapter 12
(Grouping Objects). For information on coloring options for boundaries and interior points
please refer to Section 10.5.3 (Commands and Settings for Single Line Graphics).
Circuits
Circuits are objects of class ElmCircuit ( ), and are used to group branches in order
to clarify which branches are connected galvanically. Each branch (ElmBranch) can have
a reference to any defined circuit object. This feature allows branches to be sorted
according to the circuit to which they belong.
For information regarding the definition of circuits and the assignment of branches to a
circuit, please refer to Chapter 12 (Grouping Objects).
Feeders
When analyzing a system it is often useful to know where the various elements are
receiving their power supply from. In PowerFactory this is achieved using Feeder Defini-
tions (ElmFeeder ).
A feeder is defined at a line or transformer end, and then the feeder definition algorithm
searches the system from the definition point to determine the extent of the feeder. The
feeder ends when:
• An open breaker is encountered; or
• The end of a line of supply is encountered; or
• ‘Terminate feeder at this point’ is enabled in a cubicle (optional); or
• A higher voltage is encountered (optional).
Once a feeder has been defined it may be used to scale the loads connected along it
according to a measured current or power, to create voltage profile plots or to select
particular branches and connected objects in the network. Following load flow calcula-
tions, special reports can be created for the defined feeders. To distinguish the different
feeder definitions, they can be colored uniquely in the single line graphic. All feeder
objects are stored in the Feeders folder ( ) in the Network Data folder.
For information regarding the definition of feeders and load scaling please refer to
Chapter 12 (Grouping Objects). For information about coloring the single line graphic
according to feeder definitions please refer to Section 10.5.3 (Commands and Settings for
Single Line Graphics). For information about voltage profile plots, please refer to
Chapter 20 (Reporting Results in PowerFactory).
Operators
For descriptive purposes, it is useful to sort network components according to their
operators. Additionally, system operators may find it advantageous to generate summary
reports of the losses, generation, load, etc. according to their designated region(s).
PowerFactory allows the definition of operators, the assignment of network compo-
nents to these operators, and the identification of operators on single line diagrams by
means of Operator objects.
The Operator objects (ElmOperator, ) are stored in the Operators folder ( ) in the
7 - 15
DIgSILENT PowerFactory The PowerFactory Data Model
Owners
For descriptive purposes it is useful to sort network components according to their
owners. Additionally, for network owners it may prove advantageous to generate
summary reports of the losses, generation, load, etc. for their region(s). Similar to
Operators, PowerFactory allows the definition of network owners, and the assignment
of network components to them, by means of Owner objects.
The Owner objects (ElmOwner, ) are stored in the 'Owners' folder ( ) in the
Network Model directory.
Further information regarding the definition and functionality of Owner objects is given in
Chapter 12 (Grouping Objects).
Paths
A path (SetPath, ) is a set of two or more terminals and their interconnected objects.
This is used primarily by the protection module to analyze the operation of protection
devices within a network.
The defined paths can be colored in a single line graphic using the coloring function. New
paths are stored inside the Paths folder ( ) in the Network Data directory.
For information regarding how to define a path please refer to Chapter 12 (Grouping
Objects). For information about the coloring function please refer to Section 10.5.3
(Commands and Settings for Single Line Graphics). For information about the use of the
path definitions for the analysis of the protective devices, please refer to Chapter 32
(Protection).
Routes
Routes are objects which are used to group line couplings (tower elements). Each
coupling (ElmTow) can have a reference to any defined route (ElmRoute, ). Each
route has a color that can be used to identify it in single line diagrams, when the corre-
sponding coloring function is enabled.
For information regarding line couplings please refer to the technical reference for the
transmission line model (Appendix C.28 (Transmission Lines (ElmLne))); for information
about the definition of routes and the assignment of couplings to a route, please refer to
Chapter 12 (Grouping Objects). For information about coloring functions in single line
diagrams, please refer to Section 10.5.3 (Commands and Settings for Single Line
Graphics).
Zones
7 - 16
DIgSILENT PowerFactory The PowerFactory Data Model
listed in a browser format for group editing; additionally all loads belonging to the zone
can be quickly scaled from the zone edit dialogue. Reports for the defined zones can be
generated following calculations.
Upon being defined, zones are by default stored inside the Zones folder ( ) in the
Network Data folder. For information regarding the definition of a zone and its function-
ality, please refer to Chapter 12 (Grouping Objects).
7 - 17
DIgSILENT PowerFactory The PowerFactory Data Model
red color on Stage 1 means that the stored changes were already applied (the study time
precedes t1). The red color on Stage 2 means that this is the current stage (the study
time is between t2 and t3). The changes inside it have been applied and modifications
carried out on the network will be stored inside this stage. The black color on Stage 3
means that the study time precedes t3; therefore the included changes have not yet been
applied.
Within an active variation, all changes applied to the actual network (i.e original network
plus changes of preceding expansion stages) are recorded in the current expansion stage.
Therefore, it is important to note that the current expansion stage is also the "recording"
expansion stage. It may be possible to have two (or more) active variations and therefore
two (or more) current expansion stages; only one of them can be set as the recording
expansion stage (changes can only be stored in one of the actual expansion stages). In
such cases the user must set one of the current expansion stages as the recording stage.
In the example shown in Figure 7.7, if it assumed that Variation 1 is the only active
variation: the recording expansion stage for a study time between t1 and t2 is Stage 1;
for a study time between t2 and t3 it is Stage 2 (as illustrated in the figure); for a study
time greater than t3 it is Stage 3. The study time may be changed to store modifications
in a different expansion stage. It is also possible (and recommended) to directly set the
desired stage as the recording expansion stage. This last action will automatically change
the study time.
Variations and expansion stages are not only used to record time-dependant modifica-
tions to the network model. Time dependencies of operational objects can also be
modeled by means of them, in this case they are known as 'Variations'.
For information about defining, setting, activating and working with Variations and
Expansion Stages, please refer to Chapter 17 (Network Variations and Expansion Stages).
For information about Study Cases and the Study Time please refer to Section 13.3 (Study
Time).
7 - 18
DIgSILENT PowerFactory The PowerFactory Data Model
Unlike the Global Library (Section 5.3: User Accounts and User Groups), which is acces-
sible to all users, the local Equipment Type Library can only be used by the project owner
and those with which the project is shared. It is used to define types that are going to be
used in the specific project.
When defining a new network component, the user is asked for a type object. There s/
he can choose among a 'Global Type' (from the Global Library), a 'Project Type' (from the
project Equipment Library) or a New Project Type (Figure 7.9). If the latter option is
selected, a new type will be defined and automatically stored in the local Equipment Type
Library.
7 - 19
DIgSILENT PowerFactory The PowerFactory Data Model
Inside the equipment libraries, the user can define new suitable types for her/his project
or simply copy types from the Global Library or other folders. If the types inside the
Equipment Type Library are to be sorted according to their class, the user must create
new folders for each class.
For information regarding how to set the equipment library please refer to Chapter 14
(The Equipment Type Library). For an explanation about type data please refer to
Section 4.4 (Data Arrangement).
7 - 20
DIgSILENT PowerFactory The PowerFactory Data Model
Note: Please note that fault conditions of network components are also
considered part of the operational data.
Circuit Breaker Rating objects (IntCbrating ) contain information that defines the
rated short-circuit currents for circuit breakers (objects of class ElmCoup). They are
stored inside the CB-Rating folder ( ) in the Operational Library. Any circuit breaker
(ElmCoup) defined in the Network Model can use a reference to a Circuit Breaker Rating
object in order to change its current ratings. Originally these ratings are defined in the
type of the circuit breaker element.
The right side of Figure 7.11 shows the edit dialogue of the IntCbrating object. The left
side shows the edit dialogue of a circuit breaker where a reference to an IntCbrating
object called Rating 1 is created.
7 - 21
DIgSILENT PowerFactory The PowerFactory Data Model
As shown in Figure 7.11, the parameters defined by a circuit breaker rating are:
• Three phase initial peak short circuit current
• Single phase initial peak short circuit current
• Three phase peak break short circuit current
• Single phase peak break short circuit current
• Three phase RMS break short circuit current
• Single phase RMS break short circuit current
• DC time constant
For information about how to define new circuit breaker ratings please refer to
Section 15.1 (Circuit Breaker Ratings).
7 - 22
DIgSILENT PowerFactory The PowerFactory Data Model
of Load Demand Transfers (objects of the class IntOutage). This transfer only takes
place if it is applied during a validity period defined by the user (i.e. if the current study
time lies within the validity period).
Figure 7.12 shows the edit dialogue of a Load Demand Transfer. In this case the user will
transfer 13 MW from a load called Load A to a load called Load B (the active power
demand of Load of A will be reduced by 13 MW, which will be added to the demand of
Load B).
The demand transfer can be defined with absolute values (MW and MVA) or with relative
(percent) values. For information regarding how to define and how to apply Load Demand
Transfers, please refer to Section 15.2 (Demand Transfers).
7.5.3 Faults
The calculation commands provided by the reliability assessment function of Power-
Factory use objects called Contingencies (ComContingency and ComOutage) to
simulate the outage (and subsequent recovery) of one or more system elements. In order
to facilitate the definition of these Contingencies and to avoid data redundancy, objects
called Fault Cases (class IntEvt) are defined in the Operational Library.
Whenever it is required, the user can create new Contingencies based on the defined fault
cases. Fault cases can be considered to be fault scenarios that determine the outage of
one or more system elements. They are comprised of a collection of events (i.e. short-
circuits, switching) that define how the elements are taken out of service.
Fault cases are stored inside the Faults folder within the Operational Library. Besides fault
cases, other objects which facilitate the management of fault scenarios and the creation
of contingencies are stored in the Faults folder.
This section focusses on the data structure of the Faults folder and the objects that
comprise it. The actual functionality of these objects will be presented in Chapter 29
7 - 23
DIgSILENT PowerFactory The PowerFactory Data Model
(Reliability Assessment).
The 'Faults' folder ( ) can store two kinds subfolders:
1 Fault Cases folders (IntFltcases ): stores objects that represent fault
scenarios (fault cases IntEvt )
2 Fault Groups folders (IntFltgroups, ): stores objects called Fault Groups
(IntFaultgrp ), which in-turn store references to fault cases.
The user can define as many subfolders (fault cases-IntFltcases and fault groups-
IntFltgroups) and objects (fault cases-IntEvt and fault groups-IntFaultgrp) as s/he
needs.
The uppermost window in Figure 7.13 shows the Faults folder in a project. Two Fault
Cases subfolders (Cases North and Cases South) have been defined; and a Fault Groups
subfolder, called Grouping Faults is also contained. The middle window in Figure 7.13
shows the content of Cases South, which stores three fault cases: namely Bus 1, G1 and
T1. In the bottom window of Figure 7.13, a fault group called Fault Group has been
defined inside Grouping Faults which contains references to the fault case Line2-Line5
(defined in the Cases North).
7 - 24
DIgSILENT PowerFactory The PowerFactory Data Model
In the following subsections more detailed descriptions of the fault case object and the
fault group object are given. For information on how to define new objects in the Faults
folder, please refer to Section 15.3 (Fault Cases and Fault Groups).
Fault Cases
Fault cases are objects of class IntEvt (in PowerFactory terminology IntEvt objects
are called Simulation Events/Faults) which are used to model fault scenarios as explained
in the previous section. They are comprised of objects called Events, which represent the
7 - 25
DIgSILENT PowerFactory The PowerFactory Data Model
specific events taking place on the network and leading to the unintended outage of the
elements.
A fault case can of course represent a fault in more than one component; in this case
more than one event would be defined. The fault case Line 2-Line 5 shown in Figure 7.13,
represents a short-circuit fault in transmission lines Line2 and Line 5 of the sample
network. Line 2-Line 5 is therefore made of short-circuit events for the two corresponding
components.
There are two types of Fault Cases:
1 Fault cases without switch events (Type 1): Independent of the current
topology and only stores the fault locations. The corresponding switch events are
automatically generated by the contingency analysis tools. For further information
please refer to Chapter 29 (Reliability Assessment).
2 Fault Case with at least one switch event (Type 2): A Fault Case of Type 2
predefines the switch events that will be used to clear the fault. No automatic
generation of switch events will take place. For further information please refer to
Chapter 29 (Reliability Assessment).
For information on how to define fault cases and how the events of the defined faults are
created please refer to Section 15.3 (Fault Cases and Fault Groups).
7 - 26
DIgSILENT PowerFactory The PowerFactory Data Model
Fault Groups
A fault group object (IntFaultgrp) as introduced in 7.5.3 can store references to different
fault cases; therefore they may be considered as 'sets' of faults. Like fault cases, fault
groups can be referred to by the contingency analysis command (ComSimoutage); in
this case all the faults contained in the set will be considered.
For the use of fault cases to create outages for the contingency analysis tools please refer
to Chapter 29 (Reliability Assessment).
7.5.5 Outages
Outages are objects which are used to check and/or apply programmed actions
(programmed outages or generator deratings) over a set of network components. An
outage object requires the definition of the outage period (start and end time), the actions
that are taken during that period (outage type), and the network components affected by
these actions.
The outages (objects of class IntOutage) are stored in the Outages folder inside the
Operational Library. According to the actions performed on the selected elements, the
outages can be of two different types: Outage of an Element or Generator Derating.
Outage of Element
Outages of elements are used to intentionally take certain network components out of
service according to programmed actions (i.e. because of maintenance). In this case,
references to network components which should be out of service during the defined
period, are stored inside the outage object. If the Check button of the outage dialogue is
7 - 27
DIgSILENT PowerFactory The PowerFactory Data Model
pressed, the program looks for the current state of the referred-to elements. If, according
to the current study time (and the outage period), a referred-to component is out of
service but still energized, a warning message is shown in the output window. The
fulfillment of programmed outages can also be checked using the single line graphic
coloring functions. If the Apply button is pressed, the program automatically executes
the outage (which can also be manually carried out by the user) of the referred-to
element(s), as long as the study time lies within the outage period. The outage of an
element consists of the disconnection (deenergizing) and the earthing of the target
component.
Figure 7.14 (front) shows the edit dialogue of the outage object called Planned Outage.
The Outage Type selected is ‘Outage of Element'. The outage period starts on 01.01.2007
and ends on 01.10.2007. The outage contains references to the network components G2
and Line 3 (back, right pane of Data Manager window). If the current study time lies
between the start and the end of the outage, both G2 and Line 3 must be out of service
during this period. This condition may be checked by pressing the Check button or by
setting the coloring mode of the single line graphic to ‘Outage Check’.
For information on defining Outages please refer to Section 15.5 (Element Outages and
Generator Deratings). For information regarding the single line graphic coloring function
please refer to Section 10.5.3 (Commands and Settings for Single Line Graphics).
Generator Derating
In this case, a reference to the generator which is to be derated and the amount of MW
reduction is given. Similar to Outage of Element, the fulfillment of the derated condition,
according to the outage period and the current study time, can be known via the Check
button or by setting the coloring function of the single line graphic. The Apply button
automatically executes the derating of the generator (according to the outage period).
For information on defining Outages please refer to Section 15.5 (Element Outages and
7 - 28
DIgSILENT PowerFactory The PowerFactory Data Model
Generator Deratings). For information regarding the single line graphic coloring function
please refer to Section 10.5.3 (Commands and Settings for Single Line Graphics).
Different configurations of the same substation can be defined by storing the corre-
sponding switch statuses in running arrangements. During the study, the user can apply
any of the stored statuses simply by selecting the corresponding running arrangement. If
a running arrangement is selected for a substation, the status of the switches cannot be
modified (i.e. they become read-only). If there is no setting for a switch in a running
arrangement (i.e. the running arrangement is incomplete), the switch will remain
unchanged but its status will also be set to read-only. If the current running arrangement
is deselected, the switches recover the status that they had before the running
arrangement was selected (and therefore resume their write access status).
Running arrangements can be defined and selected in the substation object dialogue
(Figure 7.16). For information regarding defining, selecting and working with running
arrangements please refer to Section 15.6 (Running Arrangements).
7 - 29
DIgSILENT PowerFactory The PowerFactory Data Model
Fig. 7.16: Definition of a running arrangement via the station object dialogue
7 - 30
DIgSILENT PowerFactory The PowerFactory Data Model
7 - 31
DIgSILENT PowerFactory The PowerFactory Data Model
When the scale is created, a means to 'set' the scale, and thereby to set the parameter
to the corresponding value, is required. This is called a trigger (SetTrigger, ). New
scales are normally defined in the Scales folder of the Equipment Type Library. After a
new scale has been defined, a trigger is automatically created in the active study case
folder (see also Section 13.11: Triggers).
When a trigger is edited and a 'current' value is set (the triggers are accessed by pressing
the 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.
For information about the different kinds of scales and characteristics and how are they
defined, please refer to Chapter 18 (Parameter Characteristics).
7 - 32
DIgSILENT PowerFactory The PowerFactory Data Model
pass these to functions or subroutines, and may then output results. This process takes
place following the execution of the object’s corresponding DPL script. DPL scripts are
written by the user utilizing the DPL editor which resides inside the DPL command object.
DPL commands are stored inside the Scripts folder ( ) in the project directory. For
further information about DPL commands and how to write and execute DPL scripts
please refer to Chapter G (The DIgSILENT Programming Language - DPL) and Appendix
H (DPL Reference) (only available in the online help).
7 - 33
DIgSILENT PowerFactory The PowerFactory Data Model
7 - 34
DIgSILENT PowerFactory General Information about Analyses in PowerFactory
Chapter 8
General Information about Analyses in
PowerFactory
Calculate Optimal Power Flow (OPF, Chapter 30: Optimal Power Flow)
Break
Reset Calculation
8-1
DIgSILENT PowerFactory General Information about Analyses in PowerFactory
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-
8-2
DIgSILENT PowerFactory General Information about Analyses in PowerFactory
rently used for the calculations, as depicted in Figure 8.2. Pressing a class icon will pop
up an object filter browser, filled with all the objects of the selected class, which are con-
sidered 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.
8.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
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
Chapter 19 (Defining Variable Sets) for more information.
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.
8-3
DIgSILENT PowerFactory General Information about Analyses in PowerFactory
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,
• 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.
8-4
DIgSILENT PowerFactory General Information about Analyses in PowerFactory
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.
Example:
A load-flow is calculated with the options "Automatic Tap Adjust of Transformers" and
8-5
DIgSILENT PowerFactory General Information about Analyses in PowerFactory
"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.
8-6
DIgSILENT PowerFactory
Handling
DIgSILENT PowerFactory Basic Project Definition
Chapter 9
Basic Project Definition
The basic database structure in Power Factory and the data model used to define and
study a power system are explained in chapters 4 and 9 respectively. The users are
recommended to familiarize themselves with those topics before continuing with this
chapter. In this section the information about the definition of the data model objects,
stored inside the project folder, is given. The aspects related to the definition of the
networks to be analyzed in a project are given in Chapter 12 (Grouping Objects).
Method 2 - Using the Element Selection Dialogue from the Data Manager:
9-1
DIgSILENT PowerFactory Basic Project Definition
• From the context sensitive menu choose New -> Project. Press Ok. The window that
opens next is the edit dialogue of the project folder. Press Ok.
In order to define and analyze a power system, a project must contain at least one grid
and one study case. After the new project is created (by any of the presented methods),
a new study case is automatically created and activated. A dialogue used to specify the
name and nominal frequency of a new automatically created grid pops up. As the button
OK is pressed in the grid edit dialog:
• The new grid folder is created in the newly created project folder.
• An empty single line diagram associated to the grid is opened.
The newly created project has the default folder structure shown in Figure 9.1. Although
a grid folder and a study case are enough to define a system and perform calculations,
the new project may be expanded by creating library folders, extra grids, variations,
operation operation scenarios, operational data objects, extra study cases, graphic
windows, etc.
Projects can be deleted by right clicking on the project name on the data manager and
selecting Delete from the context sensitive menu. Only non active projects can be deleted.
Note: The default structure of the Project folder is arranged to take ad-
vantage of the data model structure and thus the user is advised
to keep to this pre-determined data structure, 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 create, within certain limits, their own project structure
for advanced or particular studies.
9-2
DIgSILENT PowerFactory Basic Project Definition
• Pressing the button at the 'Project Settings' field opens a dialogue where the
validity period of the project, the input units to be used within the project (unit
system and the decimal prefixes for the adaptable element input dialogs within the
project) and the calculation settings (the base apparent power and the minimal value
of the resistances and conductances in p.u) are defined.
• 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 creating a new grid please refer to
Section 9.2 (Creating New Grids).
• 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 further information about
creating study cases please refer to Section 13.1 (Creating and Using Study Cases).
• When a project is created, its settings (i.e.the result box definitions, the reports
definitions, the flexible page selectors, etc.) are defined by the 'default settings' from
the system library. If these settings are changed, the changes are stored in the
Settings folder of the project. The settings from another project or the original
(default) ones can be taken by using the buttons Take from existing Project or
9-3
DIgSILENT PowerFactory Basic Project Definition
Set to default in the 'Changed Settings' field of the edit dialogue. The settings can
only be changed when a project is inactive.
• The name of the active study case is shown in the lower part of the dialog window
under the 'Active Study Case' assignment, it's edit dialog can be opened by pressing
the button.
• Pressing the Contents button on the dialog will open a new data browser displaying
all the folders included in the current project directory.
The 'Sharing' page of the dialogue allows the definition of the project sharing rules. This
function is especially suitable when working in a multiple user database environment,
further information is given in Chapter 21 (Data Management).
The 'Storage' page provides information about the stored data inside the project.
The 'Description' page, like all object's description pages is used to add user comments
and the approval status.
9-4
DIgSILENT PowerFactory Basic Project Definition
9-5
DIgSILENT PowerFactory Basic Project Definition
or by clicking on the icon of the Data Manager. The user can select the type of file to
import from the 'Files of type' menu of the Windows Open file that pops up.
Additionally a lot of Import/Export filters are available for foreign data formats.
Note: Experienced users may define networks combining the Data Man-
ager and the Graphical Editor. A good practice is to create and con-
nect the network components in the single line graphic and multi
edit them in the Data Manager.
The concept and the application context of grid folders are presented in Section 7.3.3
(Network Data). The procedure used to define new grids is given in this section.
To add a grid folder to the current network model, various methods may be employed:
9-6
DIgSILENT PowerFactory Basic Project Definition
1 Select Edit --> Project 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 data manager and select Edit. Press the New Grid
button.
3 Right-click the Network Data folder (of the active project) in a data manager window
and select New --> Grid from the context sensitive menu.
The dialogue to create a new grid will pop up after the indicated actions are performed.
There the grid name, the nominal frequency and a grid owner (optional) may be specified.
A second dialogue will appear after the Ok button has been pressed, here the study case
that the grid will be linked to must be selected. Three options are presented:
1 add this Grid/System Stage to active Study Case: Only available when a
study case is active.
2 activate a new Study Case and add this Grid/System Stage: Creates and
activates a new study case for the new grid.
3 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.
After the Ok button of the second dialogue is pressed, the new grid is created in the
Network Model folder and a reference in the Summary Grid object of the selected study
case is created. Normally, the second option is preferred because this creates a new study
case, dedicated to the new grid only. 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.
As indicated in Chapter 13 (Study Cases), grids can be added or removed from the active
study case afterwards by right clicking and selecting Add/Remove from Active study case.
9-7
DIgSILENT PowerFactory Basic Project Definition
9-8
DIgSILENT PowerFactory The Graphics Editor
Chapter 10
The Graphics Editor
PowerFactory works with three different classes of graphics: Single Line Diagrams,
Block Diagrams, and Virtual Instruments (see 10.2.2 for more information). They
constitute the main tools used to design new power systems, controller block diagrams
and displays of results.
10 - 1
DIgSILENT PowerFactory The Graphics Editor
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 terminal to make the
connection.
Note: To place a branch element in a single line diagram the nodes where
it is going to be connected must be already defined. No ''connec-
tion free' branch elements are allowed.
Figure 8.SLG1 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).
If a load or machine is connected to a terminal 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 terminal, if possible.
By default all power system elements are positioned ''bottom down''. 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 (terminals) or 180 degrees (edge elements). If the
element has already been placed and the user wishes to flip it to the other side of the
terminal, then he/she must 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 symbol 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 10.2 shows an example
of rotated and flipped power system elements.
10 - 2
DIgSILENT PowerFactory The Graphics Editor
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.
10 - 3
DIgSILENT PowerFactory The Graphics Editor
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.
Terminals should be placed in position and then, once the cursor is reset, dragged,
rotated and sized as required. Re-positioning is performed by first left clicking on the
terminal to mark it, and then click once more so that the cursor changes to . Hold the
mouse button down and drag the terminal to a new position. Re-sizing is performed by
first left clicking on the terminal to mark it. Sizing handles appear at the ends
10 - 4
DIgSILENT PowerFactory The Graphics Editor
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
available for drawing lines, squares, circles, pies, polygons, etc. To draw some of these
symbols 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.
a) b)
Fig. 10.3: Marking/ Selecting elements
Astute users may notice that the element is highlighted using a different pattern,
depending on whether the graphic has been frozen or not, as seen in Figure 10.3, where
(a) is the when the freeze mode is engaged and (b) when 'un-frozen.'
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
10 - 5
DIgSILENT PowerFactory The Graphics Editor
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 (its edit dialogue) may be viewed and edited by either double-
clicking the graphic symbol under consideration, or by right-clicking it and selecting Edit
Data.
When multiple objects are selected, their data can be viewed and edited trough a data
browser by right-clicking the selection and choosing Edit Data from the context sensitive
menu.
10 - 6
DIgSILENT PowerFactory The Graphics Editor
10 - 7
DIgSILENT PowerFactory The Graphics Editor
10 - 8
DIgSILENT PowerFactory The Graphics Editor
• Click on the symbol of the composite node ( or ) listed among the symbols on
the right-hand drawing pane.
• From the second row of the toolbar menu on the top of the graphic window click on
the 'Copy from Templates' icon ( ) to see the list of available templates (from the
Templates library) for substations. From this list choose the template that you want to
create a substation from.
• Click on the single line diagram to place the symbol.
• The substation is automatically created in the corresponding grid folder.
• Close the window of the templates and press Esc to get the cursor back.
A diagram of the newly created substation can be opened by double clicking at the
composite node symbol. In the new diagram it is possible to rearrange the substation
configuration and to connect the desired components to the grid.
For further information on templates please refer to 7.6 (The Templates Library). For infor-
mation about the substation single line diagrams please refer to 7.3.1 (Network
Diagrams).
10 - 9
DIgSILENT PowerFactory The Graphics Editor
• Click on the symbol of the composite branch ( ) listed among the symbols on the
right-hand drawing pane.
• From the second row of the toolbar menu on the top of the graphic window click on
the 'Copy from Templates' icon ( ) to visualize the list of available templates (from
the Templates library) for branches.
• From this list choose the template that you want to create a branch from.
• If the branch is to be connected with terminals of the same single line graphic, simply
click once on each terminal.
• If the branch is to be connected with a terminal from another single line diagram, you
have to 'Paste graphically' one of the terminals on the diagram where you want to
represent the branch.
• If the branch is to be connected with terminals from a substation, click once on each
composite node to which the branch is to be connected. You will be automatically
taken inside each of those composite nodes to make the connections. In the
substation graphic click once on an empty spot near the terminal where you want to
connect the branch end, and then on the terminal itself. If the target substation/s is/
are not represented in the grid diagram (by means of a composite model), you have
to connect the branch end/s with the target terminal/s in the substation single line
graphic, using any of the procedures described in 10.1.5 (Interconnecting Power
Subsystems).
A diagram of the newly created branch can be opened by double clicking at the composite
branch symbol. In the new diagram it is possible to rearrange the branch configuration
and to change the branch connections.
For further information on templates please refer to 7.6 (The Templates Library). For infor-
mation about the branch single line diagrams please refer to 7.3.1 (Network Diagrams).
10 - 10
DIgSILENT PowerFactory The Graphics Editor
To be able to copy objects from the template library the icon Copy from template ( )
has to be pressed. A new window pops up listing the elements of certain template types
depending on the symbol selected in the drawing toolbox (i.e. if you selected a 2 winding
transformer symbol from the toolbox and then clicked on the ( icon, only templates
for 2 winding transformers will be shown). With the drawing cursor active all elements
which can be copied from the template folder will be listed. If no template had been
created before, the list will be empty.
Adding objects from the template folder other than a group template will result in a copy
of them (together with all including objects) in the grid which is referenced in the graphic
where the object is dropped.
Dropping a group template will only make a copy of its containing data elements not of
the folder object (IntTemplate) itself. Here only the graphical objects located in the
graphic will be copied, not the graphic itself.
To apply an element template:
• Select the symbol of the target element on the drawing toolbox.
• Click on the "Copy from template" ( ) icon and select the desired template.
10 - 11
DIgSILENT PowerFactory The Graphics Editor
• Insert the new element in the single line graphic, following the same procedures
described to draw and connect new power system elements.
• Close the window of the templates and press Esc to get the cursor back.
To apply a group template:
• Click on the "Copy from template" ( ) icon and select the desired Group template.
• Left click on the canvas to show a ghost image with the shape of the object to insert.
• Drop the ghost image by another left mouse click at the desired position. If the line
ends of the ghost image are positioned on an existing terminal, an automatic
connection will be performed.
• Close the window of the templates and press Esc to get the cursor back.
To apply a substation template:
• Click on the "Copy from template" ( ) icon and select the desired substation
template.
• The new substation will be represented in the single line diagram by means of the
selected composite node symbol. Click on the single line diagram to place the symbol.
• Close the window of the templates and press Esc to get the cursor back. ´
• A single line diagram of the substation can be open by double clicking on the
'Composite Node' symbol.
To apply a branch template:
• Click on the "Copy from template" ( ) icon and select the desired Branch template.
• The new branch will be represented in the single line diagram by means of the
selected 'Composite Branch' symbol.
• "Close the window of the templates and press Esc to get the cursor back.
10 - 12
DIgSILENT PowerFactory The Graphics Editor
The purpose of separating lines into sections is to obtain different line parts, with different
types (such as when a line uses two or more different tower types, or when manual trans-
positions should be modelled - since the "Transposed" option in the type object is a
perfect, balanced, transposition).
10 - 13
DIgSILENT PowerFactory The Graphics Editor
The dialogue shows the two cubicles to which the transmission line is connected ('terminal
i' and 'terminal j'). The example in Figure 10.8 shows a line which is connected between
the nodes called 'Line End Terminal' and 'Line Feeder Bus' from a grid called ' North'. 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 add/remove the breaker.
The type of the line is selected by pressing the ( ) next to the type field. Line types for
a line/ line route are:
• The straight forward TypLne object type, where electrical parameters are directly
written (the user can select if the type is defined for an overheat line or a cable).
• Tower types (TypTow and TypGeo) where the geometrical coordinates and
conductor parameters are specified and the electrical parameters are calculated from
this data.
Once the lines (or cables) had been created it is possible to define couplings between the
circuits that they are representing by means of line coupling elements ElmTow (for
overheat lines) and cable system coupling elements ElmCabsys (for cables). Further
10 - 14
DIgSILENT PowerFactory The Graphics Editor
• Click on the new object icon ( ) and select the element Line Sub-Section
(ElmLnesec).
• The edit dialogue of the new line section will pop up. There you have to define the
type and length for the new section.
10 - 15
DIgSILENT PowerFactory The Graphics Editor
The symbol for graphical pages is inside the Data Manager. Grids, substations,
branches, and controller types (common and composite types in PowerFactory termi-
nology) each have a graphical page. In order to see the graphic on the screen, open a
Data Manager and locate the graphic page object you want to show, click on the icon next
to it, right-click and select Show Graphic. The "Show Graphic" option is also available
directly from each of the above objects themselves. So for example you can select a grid
in the data manager, right-click, and show the graphic. The graphic pages of grids and
substations are to be found in the subfolder "Diagrams" ( ) under the "Network Model"
folder.
10 - 16
DIgSILENT PowerFactory The Graphics Editor
10 - 17
DIgSILENT PowerFactory The Graphics Editor
Fig. 10.10: Relationship between the study case, graphics board and single line
diagrams
10 - 18
DIgSILENT PowerFactory The Graphics Editor
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
Object 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").
10 - 19
DIgSILENT PowerFactory The Graphics Editor
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.
10 - 20
DIgSILENT PowerFactory The Graphics Editor
10 - 21
DIgSILENT PowerFactory The Graphics Editor
• 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.
10 - 22
DIgSILENT PowerFactory The Graphics Editor
Fig. 10.13: Two tool boxes, for single line diagrams (a) and for block diagrams (b)
• 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).
10 - 23
DIgSILENT PowerFactory The Graphics Editor
• Click on the symbol of the composite node ( or ) listed among the symbols on
the right-hand drawing pane.
• Then click on the 'Copy from Templates' button ( ) in the icon bar of the graphic
window in order to see the list of available templates for substations (from the
Templates library). From this list choose the template that you want to create a
substation from.
• Click on the overview single line diagram to place the symbol. The substation is
automatically created in the active grid folder.
• Right click the substation, select Edit Substation, and rename the substation
accordingly.
• Close the window with the templates.
• Press Esc to get the cursor back.
• Resize the substation symbol in the overview diagram to the desired size.
A diagram of the newly created substation can be opened by double clicking at the
composite node symbol. In the new diagram it is possible to rearrange the substation
configuration and to connect the desired components to the grid.
Existing substations can be used as ''models'' to create user-defined templates, which
may be used later to create new substations. A new substation template is created by
right clicking on the substation single line diagram and selecting Add to template library
from the context sensitive menu. This action will copy the substation together with all of
10 - 24
DIgSILENT PowerFactory The Graphics Editor
its contents (including its diagram even if it is not stored within this substation) in the
Templates folder.
To resize a composite node:
• Click once on the composite node you want to resize.
• When it is highlighted, place the cursor on one of the black squares at the corners and
hold down the left mouse button.
• A double-arrow symbol appears and you can resize the figure by moving the mouse.
For a rectangular composite node you can also resize the shape by placing the cursor
on one of the sides.
To show the connectivity inside a composite node:
Press the button to open the colouring dialog. Select the colouring mode. Change the
data, if required, for the selected mode. To show the station connectivity by the colouring
select 'Station Connectivity' (Figure 10.15). It is possible to colour the beach balls
according to the station connectivity in spite of selecting a different mode by enabling the
option 'Always show station connectivity colour for beach balls'.
Enabling the option "Show Colour Legend" will create a legend in the active single-line
diagram. You can move and resize the legend by using the graphics cursor.
If the option 'Always show station connectivity colour for beach balls' is active, it is not
possible to show the selected colour option. By deactivating this option and pressing the
Button OK, the selected colouring option will be showed. In this case beach balls are not
coloured any more according to "station connectivity" but according to the selected
colouring.
The button "apply to all graphics" will change the colouring mode not only for the active
diagram, but for all diagrams in the active graphics board.
10 - 25
DIgSILENT PowerFactory The Graphics Editor
Right click the symbol for terminals ( ) in the drawing toolbox. The symbol of the
terminal is now attached to the cursor.
10 - 26
DIgSILENT PowerFactory The Graphics Editor
Click on the button 'Drawing existing Net Elements' ( ) and a window with a list of all
the terminals in the network, that are not visualized in the active diagram appears.
If the list is very large, press the button 'Adjacent Element Mode' ( ). This activates the
selecting of distance (number of elements) from elements in the active diagram. Select
the Distance of 1 in order to reduce the number of terminals shown.
The marked or selected element can now be visualised or drawn by clicking somewhere
in the active diagram. This element is drawn and disappears from the list.
Note that the number of elements in the list can increase or decreases depending on how
many elements are a distant away from the element lastly drawn. Scroll down the list, in
case only certain elements have to be visualised.
Close the window and press Esc to return the Cursor to normal. The drawn terminals can
be moved, rotated or manipulated in various ways.
Similar to the terminals ( ), elements like lines and transformers connecting the
terminals in the substation can be drawn.
For lines select the symbol from the drawing toolbox, for transformers select the
symbol , and so on. Afterwards press the button 'Drawing existing Net Elements'
( ).
Similar to terminals a list of all the lines (or transformers, or elements which you have
chosen) in the network, that are not in the active diagram are listed. Reduced the list by
pressing the button 'Elements which can be completely connected' ( ) at the top of the
window with the list. A list of lines with both terminals in the active diagram is pre-
selected. If the list is empty, then there are no lines connecting any two unconnected
terminals in the active diagram.
For each selected line (or transformers...) a pair of terminals, to which the line is
connected is marked in the diagram. Click on the first terminal and then on the second.
The selected line is drawn und is removed from the list of lines.
Continue drawing all lines (or transformers...), until the list of lines is empty or all the lines
to be drawn have been drawn.
10 - 27
DIgSILENT PowerFactory The Graphics Editor
the single line graphic dialogue, where the 'Current Net Data' pointer should be set to the
respective grid folder. See Section 10.5 for more information.
As soon as the correct folder has been set, and OK has been pressed, the single line
graphic object ( ) 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 10.16) 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 10.16 b, red circle) provided. Once a drawing tool is chosen, in this case
the Terminal 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 10.16 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 already been placed in the graphic.
After all busbars have been inserted into the single line graphic, branch elements may be
selected in the graphic toolbox. In Figure 10.17 a, the transmission liner tool has been
selected. The database browser will now show all lines which have not been inserted into
the graphics. When one of these lines is selected in the browser (Figure 10.17 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. Branch elements are placed once the nodes are in position.
a)
10 - 28
DIgSILENT PowerFactory The Graphics Editor
b)
Fig. 10.16: Using the Draw Net Elements tool
a)
b)
Fig. 10.17: Placing a transformer
10 - 29
DIgSILENT PowerFactory The Graphics Editor
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 Section 10.5.4 for more information
on layers.
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
10 - 30
DIgSILENT PowerFactory The Graphics Editor
Print Graphic
Main Menu: File −> Print
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.
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
object will appear first.
Icon:
Inserts existing graphics, which may be one of the following:
• Graphic folder object (IntGrfnet, single line network or substation diagrams) −>
opens the selected graphic.
10 - 31
DIgSILENT PowerFactory The Graphics Editor
• 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
options function. This function presents a dialogue for the following settings. See Figure
10.18.
Basic Attributes tab:
Name
The name of the graphic
Current Grid Data
The reference to the database folder in which new power system
elements created in this graphic will be stored.
Write protected
If enabled, the single line graphic can not be modified. The drawing
toolboxes are not displayed and the 'freeze' icon becomes inactive.
Snap
Snaps the mouse onto the drawing raster.
10 - 32
DIgSILENT PowerFactory The Graphics Editor
Grid
Shows the drawing raster using small points.
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.
'Additional Attributes' and 'Coordinates' tabs: these should only be configured with the
assistance of DIgSILENT support staff.
10 - 33
DIgSILENT PowerFactory The Graphics Editor
10 - 34
DIgSILENT PowerFactory The Graphics Editor
10 - 35
DIgSILENT PowerFactory The Graphics Editor
Note: 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 6.2. This is because the cursor shape is a glo-
bal setting, valid for all graphic windows, while all graphic settings
described above are specific for each graphic window.
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
10 - 36
DIgSILENT PowerFactory The Graphics Editor
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
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
dialogues. See Chapter 11 (The Data Manager) 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 Section 6.2 (Graphic Windows Settings).
Copy
Right-Click Selection:Copy
Keyboard: Ctrl+C
10 - 37
DIgSILENT PowerFactory The Graphics Editor
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
objects 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
right-click menu. Similar results are obtained when using the "Draw Existing Net
Elements" tool (see Section 10.4.3 (Drawing Diagrams from Predefined Objects)).
Undo
Right-Click Selection:Undo
Keyboard: Ctrl+Z
Icon:
Undoes the last graphic action. Undo will restore deleted elements or delete created
elements when necessary. Note that data that has been deleted or changed will not be
restored.
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.
10 - 38
DIgSILENT PowerFactory The Graphics Editor
Icon:
Opens a data browser displaying the available templates. For information about the
definition and the use of templates in network models please refer to Section 10.1
(Defining Network Models with the Graphical Editor)
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
data, but may also be used to create alternative graphical arrangements for existing data.
See 10.4.3 for more information.
Rotate
Right-Click Selection:Rotate
Rotates symbols 90 degrees. Only unconnected symbols can be rotated. To rotate a
connected 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-
connection. 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
10 - 39
DIgSILENT PowerFactory The Graphics Editor
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.
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.
Hand Tool
Icon:
10 - 40
DIgSILENT PowerFactory The Graphics Editor
10 - 41
DIgSILENT PowerFactory The Graphics Editor
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
option will show a second menu with all layers. Selecting a layer will move all selected
symbols 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 Figure 10.22, 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 10.1 shows
for each layer in which way its content can be changed in format.
10 - 42
DIgSILENT PowerFactory The Graphics Editor
As and example, suppose that a part of the single line graphics is to be changed, for
instance, 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.
10 - 43
DIgSILENT PowerFactory The Graphics Editor
Object Names Boxes with names and additional Text/Box Format SL/B
data description, if configured
10 - 44
DIgSILENT PowerFactory The Graphics Editor
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 ranges
Isolated Grids
User defined filter
Grids/ Original locations
Modifications
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
State Estimation
Boundaries/Interior Region
Station Connectivity
Outage Check
Energizing Status
Recording Expansion Stage Modifications
Areas
Owners
Routes
Operators
Choose one of the options to color the graphic accordingly.
10 - 45
DIgSILENT PowerFactory The Graphics Editor
The icon on the single line diagram toolbar will turn the title block (See Figure 10.23)
on and off. The title block is placed in the lower right corner of the drawing area by
default.
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.
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 10.6).
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
selecting 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.
10 - 46
DIgSILENT PowerFactory The Graphics Editor
• Select Change Symbol from the context sensitive menu in order to use a different
symbol for the element. PowerFactory supports user-defined symbols as Windows-
Metafile (*.wmf) and Bitmap (*.bmp) files.
For additional information please refer to appendix E (Reference to the use of Symbols in
PowerFactory).
A result box is connected to the graphical object for which it displays the results by a
'reference point'. Figure 10.25 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
10 - 47
DIgSILENT PowerFactory The Graphics Editor
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.
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.
10 - 48
DIgSILENT PowerFactory The Graphics Editor
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 10.6.4.
When the Edit Format option has been selected the user is presented with the form
manager dialogue (Figure 10.26). 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
variables 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
button. 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).
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 Figure 10.26. The user has maximum three lines available where the
calculation results to be shown in the diagram can be selected. Out of all available
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
10 - 49
DIgSILENT PowerFactory The Graphics Editor
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 Chapter 19 (Defining Variable
Sets).
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 10.27).
The final option is using DIgSILENT Output Language, the fully configurable format
description 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
dialogue page appears similar to the one shown in Figure 10.27. A detailed overview over
the syntax of the DIgSILENT Output Language can be found in 20.2.3 (The DIgSILENT
Output Language).
10 - 50
DIgSILENT PowerFactory The Graphics Editor
10.6.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.
10 - 51
DIgSILENT PowerFactory The Graphics Editor
10 - 52
DIgSILENT PowerFactory The Data Manager
Chapter 11
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 this Data Management tool.
Before starting, users should ensure that they are acquainted with Section 4.4 (Data
Arrangement) and Chapter 7 (The PowerFactory Data Model).
11 - 1
DIgSILENT PowerFactory The Data Manager
• 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
Section 11.1.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
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.
11 - 2
DIgSILENT PowerFactory The Data Manager
Using the right mouse button to access menus is usually the most effective means of
accessing features or commands. Figure 11.2 shows an Illustration of a context-sensitive
right mouse button menu.
The symbolic tree representation of the complete database shown in the database
window 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 (Section 6.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.
11 - 3
DIgSILENT PowerFactory The Data Manager
• The and buttons on the data manager tool bar can be used to move up and
down the database tree.
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 Figure 11.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.
11 - 4
DIgSILENT PowerFactory The Data Manager
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
deleted 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.
As any other object, folders can be created either by using the context sensitive menu or
by using the icon. Common folders (IntFolder objects) may have an owner name
entered, for documentation or organizational purposes. 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
6 (User Settings).
11 - 5
DIgSILENT PowerFactory The Data Manager
(for complete information see refer to Chapter 7 (The PowerFactory Data Model)):
11 - 6
DIgSILENT PowerFactory The Data Manager
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
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.
11 - 7
DIgSILENT PowerFactory The Data Manager
The following items can also be found in the context sensitive menus:
Show Reference List (Output... −> 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 a detailed graphic (displaying all the connections and switches)
of the terminal to which the selected component is connected. If the
component, is connected to more than one terminal, as might be in the
case of lines or other objects, a list of possible terminals 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 reset the calculation results.
11 - 8
DIgSILENT PowerFactory The Data Manager
Note: New users are recommended to create and connect elements di-
rectly from the single line graphics. The procedures described
above are intended for advanced users.
11 - 9
DIgSILENT PowerFactory The Data Manager
mended. For the second option, a data browser with the content of the substation will
pop up after pressing the Contents button; there you can use the New Object icon to
create the new components.
Components of a substation can of course be connected with components of the corre-
sponding grid or even with components of other networks. The connection in the Data
Manager is carried out following the same procedure discussed in the previous section.
For information about working with substations in the graphical editor please refer to
Section 10.1 (Defining Network Models with the Graphical Editor). For information about
the definition of Running Arrangements please refer to Section 15.6 (Running Arrange-
ments).
11 - 10
DIgSILENT PowerFactory The Data Manager
11 - 11
DIgSILENT PowerFactory The Data Manager
• Set all the selected parameter fields to a new fixed ("absolute'') value.
For further information please refer to 11.4 (Editing Data Objects in the Data Manager).
( ).
Include, in the 'Flexible Data' page tab, the terminal voltage and nominal voltage (see
11.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.
11 - 12
DIgSILENT PowerFactory The Data Manager
Now you will have all terminals first sorted by voltage level and then by rated terminal
voltage.
- A drop down list providing various object classes can be accessed with ( ).
11 - 13
DIgSILENT PowerFactory The Data Manager
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. The search can be stopped at the matching 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.
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
(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,
copied, 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 11.5). The filter
criterion is defined in terms of a logical expression, making use of parameter names.
Objects 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.).
11 - 14
DIgSILENT PowerFactory The Data Manager
I
Fig. 11.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
elements in the network. This may be searched for as shown in Figure 11.6. All parameter
fields will be searched for this string.
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
described in 10.5.5. The color to be used in this case can be specified under the tab
'Graphic' of the General Filter dialogue window.
11 - 15
DIgSILENT PowerFactory The Data Manager
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.
Fig. 11.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 edit dialogues (Figure 11.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
11 - 16
DIgSILENT PowerFactory The Data Manager
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.
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
6.3 (Data Manager Settings) to disable these conformation messages.
If the icon on the browse window of the data manager is pressed, the browser
changes to 'detail' mode (see Figure 11.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 11.9, this is a load object (ElmLod). The icon or a filter (11.3.3) may also be
used to engage detail mode.
11 - 17
DIgSILENT PowerFactory The Data Manager
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
browser 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 Figure 11.10
where the nominal current for a range of lines is changed at once.
11 - 18
DIgSILENT PowerFactory The Data Manager
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 Figure 11.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.
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 11.13).
11 - 19
DIgSILENT PowerFactory The Data Manager
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.
11 - 20
DIgSILENT PowerFactory The Data Manager
Note: Variable Sets are objects of class IntMon, within PowerFactory they
have multiple uses. This section only presents their use in conjunc-
tion with Flexible Data. For further information please refer to
Chapter 19 (Defining Variable Sets).
11 - 21
DIgSILENT PowerFactory The Data Manager
11 - 22
DIgSILENT PowerFactory The Data Manager
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.
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.
11 - 23
DIgSILENT PowerFactory The Data Manager
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... is selected.
The exported part of the database may be a complete project, a library, or a specific
object 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.
11.7.1 Notes
By exporting a folder from the database, only the information in that folder 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 that information
will not be stored. Make sure that the used power system types and all other referenced
information is exported too.
When importing a file that contains objects which use data outside the import-file, a
search for that data is started.
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-
account 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.
However, 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
11 - 24
DIgSILENT PowerFactory The Data Manager
11 - 25
DIgSILENT PowerFactory The Data Manager
11 - 26
DIgSILENT PowerFactory The Data Manager
11 - 27
DIgSILENT PowerFactory The Data Manager
Figure 11.22 shows an example of valid spreadsheet data of some line types and some
2-winding transformer types.
11 - 28
DIgSILENT PowerFactory The Data Manager
The result of the object 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 Figure 11.25, none of the imported objects existed in the database an all were created
new therefore. The example shows the database in detail mode.
Because new objects are only created when they do not exist already, and only the
imported parameters are overwritten when the object did exists already, the import is
always a save action.
Remarks
Object Names
Object names may not contain any of the characters
*?=",\~|
11 - 29
DIgSILENT PowerFactory The Data Manager
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.
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.
11 - 30
DIgSILENT PowerFactory Grouping Objects
Chapter 12
Grouping Objects
In Section 7.3.3, the concept and the application context of the objects that can be
defined in PowerFactory to group network components were introduced. In this section
the definition, management and functionality of these objects is discussed.
12.1 Areas
To define a new area:
• Multi select the components belonging to the new area (in the Data Manager or in a
single line diagram).
• Right click on the selection and select Define --> Area from the context sensitive
menu.
• After the area has been defined, terminals can be added to it by selecting Add to...-->
Area… in their context sensitive menu.
In the edit dialogue of the new area you must select a color to represent the area in the
single line diagrams. Using the Edit Elements button you can have access to all the
element belonging to that area in a data browser, then you can edit them. The Mark in
Graphic button may be used to locate the components of an Area in a single line
diagram.
For information about the color representation in the single line graphic please refer to
10.5.5 (Color Representation).
12 - 1
DIgSILENT PowerFactory Grouping Objects
Alternatively you can create a new empty Virtual Power Plant by using the Data Manager:
• Open a data manager.
The rules which determine the dispatch of the selected generators are set in the Virtual
Power Plant dialogue. The total active power to be dispatched is set in the field 'Active
Power'. The dispatch of the belonging generators (variable pgini from the Load Flow tab
12 - 2
DIgSILENT PowerFactory Grouping Objects
of the generator) is set by pressing the Apply button. If the 'Maximal active power sum'
of the included generators (sum of the maximal active power operational limit of the
generators) is smaller than the active power to be dispatched, an error message pops up.
Otherwise the dispatch is set according the user defined 'Distribution Mode':
According to merit order
Distribution of the dispatched active power is done according to the
priorities given to each generator in the Merit Order column of the
'Machines' table (this value can also be set in the Optimization tab of
the generators dialogue). Lower values have higher priority. Generators
with the option 'Must Run' checked are dispatched even if they have
low priority (high value). It is assumed that the merit of order of all
generators in the Virtual Power Plant is different. If not an error
message appears after the 'Apply' button is pressed.
According to script
The rules for the dispatch are set in user defined DPL scripts, which are
stored inside Virtual Power Plant object. To create new scripts or to edit
the existing ones you must open a data browser with the 'Scripts'
button.
Note: The Virtual Power Plant active power is part of the operation sce-
nario subsets and therefore is stored in the active operation sce-
nario (if available). The active power is stored in the active
expansion stage (if available) if no active operation scenario is ac-
tive. Virtual Power Plants that are created/deleted when a record-
ing expansion stage is active; become available/non available only
if the corresponding variation is active and the expansion stage ac-
tivation time is earlier than the current study time.
12 - 3
DIgSILENT PowerFactory Grouping Objects
12.3 Boundaries
As explained in the Section Boundaries of Chapter 7.3.3 (Network Data), Boundaries are
objects used to define internal regions that later may be reduced by means of the Network
Reduction function of PowerFactory. Boundaries themselves are defined by a user
selected set of cubicles, the terminals connected to them and a selected orientation.
The cubicles in the boundary element define a cut through the network, that together with
the orientations are used to define the corresponding "Interior Region". Topologically, the
interior region is found searching through the network starting at each selected cubicles
towards the given direction. The topological search continues until either an open switch
or a cubicle that is part of the boundary list is found. Any open switch that is found by
this search is considered to be part of the interior region.
To define a new Boundary:
12 - 4
DIgSILENT PowerFactory Grouping Objects
• Multi select a set of cubicles and terminals in the single line diagram, which will define
the boundary. For doing this: freeze (!) the network diagram and click on the
corresponding ends of lines, transformers etc., and on one busbar to define the
orientation of the boundary.
• Then click with the right mouse button on the selection.
• Choose in the context sensitive menu Define… --> Boundary…. The dialogue of the
new Boundary will pop up.
• By pressing OK the new Boundary object is created in the Boundaries folder of the
Network Model.
To add cubicles to an existing Boundary:
• In the Boundary dialogue, right click on the table (on the number of a row) that lists
the included cubicles.
• Select Insert rows, Append rows or Append n rows from the context sensitive menu.
• Double click on the Boundary Points cell of the new line.
• Select the target cubicle using the data browser that pops up.
After selecting the desired cubicle, the terminal and the branch element connected to it
are added to the 'Terminal' and 'Components' cells on the table. By default the 'Orien-
tation' (direction used to determine the interior region) is set to the branch; you can
change it in order to direct the definition of the internal region to the connected terminal.
Cubicles can be retired from a Boundary by selecting 'Delete rows' from the context
sensitive menu of the table in the element dialogue.
The selected color at the bottom of the dialogue is used to represent the boundary in the
single line diagrams ( ). Each element in the graphic is colored according to the
following criteria:
• If it uniquely belongs to one interior region of a boundary to be drawn, its color will be
assigned to that specific boundary color.
• If it belongs to exactly two of the interior regions of the boundaries to be drawn, its
will be represented with dashed lines in the specific boundary colors.
• If it belongs to exactly more than two of the interior regions of the boundaries to be
drawn, its will be represented with dashed lines in black and the color selected for
multiple intersections.
The Edit Interior Elements button can be used to list in a data browser all the
components included in the internal region. The Mark Interior Region button marks
all the components of the interior region in the selected network diagram.
Topological changes in the network that affect the defined interior regions are automati-
cally detected by the program.
12 - 5
DIgSILENT PowerFactory Grouping Objects
12.4 Circuits
To create a new Circuit:
• In the Data Manager open the Circuits folder from the Network Model.
• Click on the New Object icon.
• The edit dialogue of the new Circuit pops up. Give a name to the new object and
press Ok.
Branches are added to a circuit using the pointer from the 'Circuit' field of the branch
dialogue. The button Branches in the Circuit dialogue opens a data browser listing the
branches that refer to that circuit.
12.5 Feeders
The concept and application context of feeders (ElmFeeder) was presented in Section
(Feeders) from Chapter 5. In this section the aspects related with their definition and
functionality are discussed.
A new feeder is created 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
option Feeder has been selected, the Feeder dialog pops up. There you can define the
desired options for the new object. After pressing Ok, the new Feeder is stored in the
Feeders folder of the Network Model.
Any existing Feeder can be edited using its dialogue (double click the target Feeder on a
data browser). The Feeder dialogue presents the following fields:
Name
Cubicle
Is a reference to the cubicle where the Feeder was created. It is
automatically set by the program once the Feeder is created.
Zone
Reference to the Zone (if any) to which the feeder belongs. A Feeder is
assigned to the zone of the local busbar/terminal.
Color
Sets the color be used when the Feeder Definitions coloring mode
( ) is engaged in the single line diagram.
Terminate feeder when…
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
12 - 6
DIgSILENT PowerFactory Grouping Objects
element above the breaker (to select the desired cubicle where the
feeder is going to end) and select Edit Cubicle. The dialogue of the
cubicle dialogue will be presented, and the 'Terminate feeder at this
point' option may be checked.
Orientation
The user may select the direction towards the feeder is defined.
'Branch' means that the feeder starts at the cubicle and continues in
the direction of the connected branch element. 'Busbar' means that the
Feeder is defined in the direction of the connected Terminal.
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
known feeder power or current that has been measured in the real
system. More information about the use of the Load Scaling Function is
given below.
Elements
The Mark in Graphic button may be used to select all the elements
of a Feeder in the desired single line diagram. The Edit button is used
to list all the elements belonging to a Feeder in a data browser.
To use the Load Scaling 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 dialog (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.
The feeder setpoint is influenced by the zone scaling. This means that the current or
power flow as calculated by the load-flow could differ from the setpoint in the feeder
dialog 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-
scale is set to 0.50. The flow at the feeder position will thus be 0.61 MVA.
12 - 7
DIgSILENT PowerFactory Grouping Objects
Note: The Load Scaling options are part of the operation scenario sub-
sets; therefore they are stored in the active operation scenario (if
available). The Load Scaling options are stored in the active expan-
sion stage (if available) if no active operation scenario is active.
feeders that are created or deleted when a recording expansion
stage is active; become available/not available only if the corre-
sponding Variation is active and the expansion stage activation
time is earlier than the current study time.
12 - 8
DIgSILENT PowerFactory Grouping Objects
12.8 Paths
To create a new Path:
• In a single line diagram select a chain of two or more terminals and their inter-
connecting objects.
• Right click on the selection.
• Select the option Path --> New from the context sensitive menu.
• The dialogue of the new path pops up, give a name and select the desired color for
the corresponding color representation mode in the single line diagram. The
references to the objects defining the Path (First/Last Busbar First/Last Branch) are
automatically created by the program, according to the selection.
• After pressing Ok the new path is stored in the Paths folder of the Network Model.
By using the Elements button of the Path dialogue you can have access to all the element
belonging to the path in a data browser, there you can edit them. The Select button may
be used to locate the components of the path in a single line diagram. With the Toggle
button you can invert the order of the objects limiting the path (First/Last Busbar First/
Last Branch). This order is relevant when evaluating directional protective devises.
New objects can be added to a path by marking them in a single line diagram (including
one end of the target path and a busbar as the new end) right clicking and selecting Path
--> Add to from the context sensitive menu. Objects can be removed from a Path
(regarding that the end object of a Path must be always a busbar) by marking them in
the single line diagram, right clicking and selecting Path --> Remove Partly from the
context sensitive menu. The Remove option of the Path context sensitive menu will
remove the firstly found path definition of which at least one of the selected objects is a
member
As explained in Chapter 5, the functionality of this objects is related to the protection
functions of PowerFactory, for further information on the use of Paths please refer to
Chapter 32 (Protection).
12.9 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, right-clicking and choosing Define -->
Zone... from the context sensitive menu. The option Add to --> Zone... can be selected
when a zone(s) have already been defined.
12 - 9
DIgSILENT PowerFactory Grouping Objects
12 - 10
DIgSILENT PowerFactory Study Cases
Chapter 13
Study Cases
Study Cases (IntCase, ) define the studies to be performed in the modeled system.
They store all the definitions created by the user to perform calculations, allowing the
easy reproduction of results even after the deactivation of the project. By means of the
objects stored inside them objects the program recognizes:
• The parts of the network model (grids and expansion stages) to be consider for
calculation.
• The calculations (and their settings) to be performed over the selected parts of the
network.
• The study time.
• The active variations.
• The active operation scenario.
• The calculation results to be stored for reporting.
• The graphics to be displayed during the study.
A study case with a reference to at least one grid or expansion stage has to be activated
in order to enable calculations. A project that contains more than one grid, which has
several expansion stages for design alternatives, or which uses different operation
scenarios to model the various conditions under which the system should operate,
requires multiple study cases. All the study cases of a project are stored inside the 'Study
Cases' folder ( ) in the project directory.
Note: Only one study case can be active. When activating a study case,
all the grids, variations and operation scenarios that it refers be-
come active.
Without study cases, it would be necessary to manually activate the correct grid and/or
expansion stage over and over again in order to analyze the resulting power system
configuration. Similarly, it would be necessary to define over and over again the same
calculation command setup used to analyze the behavior of the selected network.
Besides storing the objects that define a network study, study case objects set the output
units for the performed calculations and allow the definition of certain calculation options
for the solving algorithms.
The following subsections describe the main objects stored inside the study cases, as
mentioned before they are used to define the network studies. For information about
defining and working with study cases please refer to Section 13.1 (Creating and Using
Study Cases).
13 - 1
DIgSILENT PowerFactory Study Cases
A study case can have more than one grid. Only the objects in the active grids will be
regarded in the calculations. To add an existing grid to the active study case:
• Open the data manager and go to the Network Data folder. Right-click the grid you
want to add to your calculation and select Add to Study Case from the context
sensitive menu. The grid will be activated and graphics will be opened (after a
selection by the user). To remove an active grid, select Remove from Study Case.
Variations are considered by a study case when they are activated. The expansion stages
are applied according to the study case time, which is set by the time trigger stored inside
the study case folder. More than one variation can be active for a study case. However
there will always be only one recording stage. For further information, please refer to
Chapter 17 (Network Variations and Expansion Stages). To add (activate) a variation to
the active study case:
• Right-click on it and select Activate from the context sensitive menu. The variation will
be activated and stages will be highlighted depending on the study time.
An operation scenario can be (de)activated via context menu or using the option File -->
Activate Operation Scenario/ Deactivate Operation Scenario from the main menu. On
activation, a completeness check is done (check if operational data is available for all
components). This is reported in the PowerFactory output window. If an operation
13 - 2
DIgSILENT PowerFactory Study Cases
scenario is active, all operational data attributes in property sheets or in data manager
are highlighted in a blue color. This indicates that changes of these values will not modify
the base component (or variation) but are recorded by the active operation scenario. On
deactivation, previous operational data are restored. If the operation scenario was
modified, a user confirmation is requested whether to save the changes or to discard
them. For further information about working with operation scenarios, please refer
Chapter 16 (Operation Scenarios).
Note: Only one study case can be activated at a time. Although network
components and diagrams can be edited without an active study
case, calculations can not be performed unless a study case is ac-
tivated. Variations and operation scenarios used by a study case
are automatically activated with the corresponding study case.
13 - 3
DIgSILENT PowerFactory Study Cases
• Enter the date and time or press the button -> Date and -> Time in order to set the
Study Time to the current time of your computer.
• Press OK to accept the changes and close the window.
There are several alternative ways to edit the Study Time.
Alternative 1: Edit the Study Time like a Trigger:
• Press the button "Date/Time of Calculation Case" in the main toolbar of PowerFactory.
• Enter the date and time or press the button -> Date and -> Time in order to set the
Study Time to the current time of your computer.
• Press OK to accept the changes and close the window.
Alternative 2: Edit the Study Case from within the Study Case dialogue:
• Activate the project and browse for the Study Case in the Data Manager.
• Right click on the Study Case and select Edit from the context sensitive menu.
• On the Basic Data tab page press the button with the three dots beneath the entry for
the Study Time
• Set the Study Time according to your needs.
• Press OK to accept the changes and close the window.
13 - 4
DIgSILENT PowerFactory Study Cases
In the 'Basic Data' page, the user can define the name and an owner to the study case.
The output units of the calculated variables are defined in the 'Output Variables' field. The
grids that are linked to a study case may be viewed by pressing the Grids/System
Stages button. The study time can be edited by pressing the ( ) button; this will open
the edit dialogue of the study case time trigger (see Section 13.3: Study Time). Please
13 - 5
DIgSILENT PowerFactory Study Cases
regard that the study time can also change as a result of setting the recording expansion
stage explicitly (see Chapter 17: Network Variations and Expansion Stages).
The 'Calculation Options' tab is used to set the solving algorithm for the case calculations.
The change of the default options is only recommended under the supervision of the
DIgSILENT support experts.
The Description page, like all object's description pages is used to add user comments
Note: To edit the study time you can alternatively, press on the "Date/
Time of Calculation Case" button ( ). This will open the study
case time trigger window. Also, at the lower right corner of the
screen the time of the simulation case is displayed. By double-click-
ing on this field you are taken to the same window.
13.7 Commands
In PowerFactory a calculation (i.e load flow ( ), short circuit ( ), initial conditions
of a time domain simulation ( ), etc.) is performed via 'Calculation Commands', which
are the objects that store the calculation settings defined by the user. Each study case
stores its own calculation commands, holding the most recent settings. This ensures
consistency between results and calculation commands and enables the user to easily
reproduce the same results at a later stage. When a calculation is performed in a study
case for the first time, a calculation command of the corresponding class is automatically
created inside the active study case. Different calculation commands of the same class
(i.e different load flow calculation commands: objects of the class ComLdf or
different short circuit calculation commands: objects of the class ComShc ) can be
stored in the same study case. These approach allows the user to repeat any calculation,
with all the settings (such as fault location, type, fault impedance, etc.) as last performed
in the study case. Of course the calculations are performed only over the active grids
(expansion stages).
Figure 13.3 shows a study case called Study 1 witch contains two load flow calculation
13 - 6
DIgSILENT PowerFactory Study Cases
commands ( , Ldf 1 and Ldf2), one command for an OPF calculation ( ), one
command for the calculation of initial conditions , and one transient simulation ( ).
The edit dialogue of each one of the calculation commands existing in PowerFactory is
described in the chapter corresponding to that calculation function.
Actions such as generating a report of the actual calculation results or the state of the
defined network components are carried out via command objects (in this case ComSh
and ComDocu objects respectively). For information about reporting commands please
refer to Chapter 20 (Reporting Results in PowerFactory).
Note: Command objects basically consist of the data set that configures
the calculation, and the Execution function to perform the compu-
tations. Like any other object calculation commands can be copied,
pasted, renamed and edited.
13.8 Events
The time domain simulations as well as certain steady state calculations make use of
objects called Events, in order to specify the situations that lead to changes in the system
during the simulation/calculation time. PowerFactory offers several kinds of events:
• Control switch events (EvtSwitch)
• Set parameter events (EvtParam)
• Short-circuit events (EvtShc)
• Intercircuit fault events (EvtShcll)
• Events of synchronous machines (EvtSym)
• Events of loads (EvtLod)
• Outage of element (EvtOutage)
Each simulation event requires the definition of the target network components (i.e. short
circuited terminals, etc.) and an event time (when does the event occur). Within study
cases, the simulation events are stored inside an Event object (IntEvt ). The calcu-
13 - 7
DIgSILENT PowerFactory Study Cases
lation commands that require simulation events, point to the Event object containing the
set of events defined for that calculation.
The use and the definition of events are presented through the chapters explaining the
calculation function that require them. Further information about each specific simulation
event is given in the proceeding subsections.
13 - 8
DIgSILENT PowerFactory Study Cases
13 - 9
DIgSILENT PowerFactory Study Cases
Note: Clearing the data will delete the result-file and will reset the data-
base ID. This will destroy all calculated or measured data in the re-
sult file. It will not be possible to restore the data.
13 - 10
DIgSILENT PowerFactory Study Cases
When the Protocol Output button 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 content of a result object (the variables whose results are stored) is determined by
sets of selected variables called Monitor Variable Sets (IntMon ). Each Monitor
Variable Set stores the results of the selected variables for one network component.
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.
Note: Selecting a set of result variables, trough the use of monitor ob-
jects is necessary because otherwise all available variables would
have to be stored, which is practically impossible.
For information about exporting results, please refer to 20.2.1 (Result Objects).
13 - 11
DIgSILENT PowerFactory Study Cases
For further information about the definition of Monitor Variable Sets please refer to
Chapter 19 (Defining Variable Sets).
13.11 Triggers
As introduced in Section 7.7 (Parameter Characteristics and Parametric Studies),
parameter characteristics are used to define parameters as ranges of values instead of
fixed amounts. The parameter characteristics are set over user defined scales. The actual
value of the parameter is at the end determined by a trigger object (SetTrigger object,
), which sets an actual value on the corresponding scale. For example if the value of
certain parameter depends on the temperature, a characteristic over a temperature scale
is set. The actual value of the temperature is defined by the trigger. The actual value of
the temperature determines the actual value of the parameter, according to the defined
characteristic.
Once a parameter characteristic and its corresponding scale are set, a trigger pointing to
the scale is automatically created in the active study case. The user can access the trigger
object and change its actual value every time that he/she requires.
PowerFactory offers different types of characteristics and scales; each scale (by default
scales are stored in the Scales folder of the Equipment Library) points to a trigger from
the active study case. Information about the use and definition of characteristics, scales
and triggers is given in Section 7.7 (Parameter Characteristics and Parametric Studies).
13 - 12
DIgSILENT PowerFactory Study Cases
13 - 13
DIgSILENT PowerFactory Study Cases
13 - 14
DIgSILENT PowerFactory The Equipment Type Library
Chapter 14
The Equipment Type Library
In Section 7.4 (The Equipment Type Library), the description of the Equipment Types
Library and the definition of types for network components was given. Here, in this
chapter it is explained how to work with the objects of the Equipment Library, in order to
define and manage the types to be used in a project.
Once a new project is created, an Equipment Types Library is automatically set by the
program. This default equipment library contains the following folders:
• Generators
• Lines
• Loads
• Transformers
• Scales
The first four folders are objects of the class IntPrjfolder (Project folder) that allow the
filtering of the types to be stored inside them. By default only synchronous generator
types (TypSyn) are allowed in the Generators folder, only line types (TypLne) in the
Lines folder, only general load types (TypLod) in the Loads folder and only two winding
transformer types (TypTr2) in the Transformers folder. New type objects are created in
these folders using the new object icon ( ) and selecting the appropriate type class; if
a class that is not allowed by the filter is selected, an error message pops up. Alternatively
types from other projects or the global library can be copied and pasted in these folders;
again if the type class does not match the folder filter, an error message is generated.
The filters in the default folders are set to facilitate organization of the Equipment Library;
of course types for components other than synchronous generators, lines, loads and two
winding transformers can be stored. To define types different than the already mentioned
the user can:
1 Create new folders for other type classes.
2 Edit the existing folders to allow the definition of other types.
3 Create new types in the main directory (Equipment Library).
To create a new project folder in the Equipment Types Library:
• Right click on the Equipment Types Library folder in the left pane of the Data
Manager.
• Select New --> Project Folder from the context sensitive menu.
• In the project folder edit dialogue that pops up:
- Write the name of the new folder.
- Select the Generic folder type.
14 - 1
DIgSILENT PowerFactory The Equipment Type Library
- On the Filter Class field write the name of the type class (classes) to be allowed in
the folder. If more than one class is to be allowed, write the class names (case
sensitive) separated by a coma.
- Select 'Library' in the icon field.
To edit the filter of an existing folder:
• Right click on the target folder.
• Select Edit from the context sensitive menu.
• In the 'Filter Class' field write the name of the desired classes (case sensitive)
separated by a coma. The '*' character means that all classes are allowed.
To create new types directly in the in Equipment Types Library folder:
• Open the Equipment Types Library folder.
• Click on the New Object icon ( ) and select the desired type class from the
dialogue.
Notice that any type class can be copied in the Equipment Types Library folder.
The Scale folder, which is also created by default in the Equipment Types Library is used
to store the scales used by the parameter characteristics. Information about Scales and
the Data Model is given in Section 7.7 (Parameter Characteristics and Parametric Studies).
Information about the definition of Scales is given in Chapter 18 (Parameter Character-
istics).
14 - 2
DIgSILENT PowerFactory The Operational Library
Chapter 15
The Operational Library
15 - 1
DIgSILENT PowerFactory The Operational Library
To assign a circuit breaker rating to a circuit breaker (ElmCoup object) from the network
model:
• Go to the Complete Short-Circuit tab of the element's dialogue.
• In the Ratings field click on the button to select the desired rating from the CB
Ratings folder.
The parameters defined in the circuit breaker ratings can be made to be time-dependant
by means of variations and expansion stages stored inside the CB Ratings folder. This
feature is better explained by the following example:
Suppose that a circuit breaker (named CB) in a substation operates with different ratings,
depending on the time of the year. From 1st January to 1st June it will operate according
to the ratings defined in a set of parameters called CBR1. From 1st June to 31st
December it will operate with the ratings defined in a set of parameters called CBR2. This
operational procedure can be modelled by defining (in the CB Ratings folder) a circuit
breaker rating (let's call it CBR), and a variation (let's call it CB_Sem_Ratings) containing
two expansion stages. The first expansion stage should activate on the 1st January and
the second on the 1st June. The first task should be the definition of the time-dependant
circuit breaker rating (CBR):
To set the parameters of CBR for the first period:
• Set a study time before the 1st June to activate the first expansion stage (the
Variation CB_Sem_Ratings must be active);
• Edit the parameters of CBR (previously defined) according to the values defined in
CBR1. The new parameters will be stored in the active expansion stage.
To set the parameters of CBR for the second period:
• Set a study time after the 1st June, to activate the second expansion stage;
• Edit CBR according to the values of CBR2. The new parameters will be stored in the
active expansion stage.
Once the ratings for the two expansion stages have been set, and the circuit breaker
rating CBR has been assigned to the circuit breaker CB; the study time can be changed
from one period to the other to obtain different ratings for CB (note that the variation
must be active).
For information regarding short-circuit calculations, please refer to Chapter 23. For further
information regarding circuit-breaker ratings, please see Section 7.5.1. For further infor-
mation about variations and expansion stages, please refer to 7.3.4.
Note: The variations act 'locally'. The variations from the CB Rating folder
will only affect the circuit breaker ratings stored inside it. The vari-
ations of the Network Model will only affect the network compo-
nents from the grids.
15 - 2
DIgSILENT PowerFactory The Operational Library
• In the Element Selection dialogue select Planned Outage (IntOutage) and press Ok.
• Set the validity time, the source and target loads/feeders and the expected amount of
power.
A demand transfer is only possible if an active operation scenario (to record the changes)
is available. The Apply all button will automatically apply all transfers that are stored
in the current folder and which fit into the current study time. Before execution, the user
is asked if the current network state should be saved in a new operation scenario.
The same demand transfers can be applied as many times as desired during the validity
period. If a power transfer has been executed (with an amount <> 0) and the source's
power is less than 0, a warning is printed to the output window indicating that the power
limit was exceeded. The applied transfers can be reverted by using the Reset all
button.
As can be inferred from the information above, when the current operation scenario is
deactivated, all load transfers executed (while the operation scenario was active) will be
reverted.
For information about operation scenarios please refer to Chapter 16. Further information
about demand transfer is given in Section 7.5.2.
- Single Fault Case: This creates a single simultaneous fault case including all
selected elements. A dialog box containing the created fault case is opened to allow
the user to specify a name for the fault case. If the user presses Cancel, the fault
case will not be created in the database. Ok closes the dialog and saves the new
fault case.
- Multi fault Cases, n-1: This creates an n-1 fault case for each selected
component. Therefore the number of fault cases created is equal to the number of
components selected. This menu entry is only active if more than one component is
selected. The fault case is automatically created in the database after selection.
15 - 3
DIgSILENT PowerFactory The Operational Library
- Multi fault Cases, n-2: This creates an n-2 fault case for each unique pair among
the selected components. Therefore the number of fault cases is ( b ⋅ ( b – 1 ) ⁄ 2 )
where b is equal to the number of selected components. This menu entry is only
active if more than one component is selected. If only one component was clicked,
then no fault case will be created. The fault case is automatically created in the
database after selection.
• Select the desired outage level.
• Select the target Fault Cases folder from the data browser that pops up and press Ok.
The fault cases created will consist of short-circuit events applied to the selected compo-
nents. All breakers (except for circuit breakers, which are used to model a circuit breaker
failure) will be ignored.
• If only breakers are included in the selection, an error message will be issued.
• If a simple switch (not a circuit breaker) is included in the selection, a warning
message will be issued that this switch will be ignored.
• If a circuit breaker is contained in the selection, then an Info message will be issued,
that the CB will be used for modelling a CB failure and will not be handled as a fault
location.
Note: In the case that a branch is selected, the short-circuit event is gen-
erated for a (non-switch device with more than one connection)
component of the branch. The component used in the event is:
"Connection 1" if suitable, otherwise "Connection 2" if suitable,
otherwise a suitable random component of the branch (line, trans-
former….).
New Fault Groups (IntFltgroups) are created in the data manager by opening the target
Fault Groups folder and using the New Object icon ( ). The edit dialogue of the new
Fault Group pops up. In this dialogue a name can be specified, and cases (IntEvt objects)
can be added using the Add Cases button. The Cases button opens a data browser
displaying the fault cases which are referred by the group.
For information regarding the functionality of fault cases and fault groups in contingency
analysis tools please refer to Chapter 28. For further information about the concepts and
applications of fault cases and groups please refer to 7.5.3.
15 - 4
DIgSILENT PowerFactory The Operational Library
• Click on the New Object icon ( ) and select Capability Curve (IntQlim). The new
capability curve dialogue pops up.
• Define the generation limits as described in Section 15.4.3.
• Press OK.
Alternatively, press the button on the Load Flow tab of the synchronous machine's
element dialogue. Then select User defined Capability Curve and enter the curve as a
series of points in the table. Right-click on the rows to append, delete or insert new rows.
15 - 5
DIgSILENT PowerFactory The Operational Library
Open a data manager. Locate the Variation object in the Mvar Limits Curves folder
inthe Operational Library. Right-click on this object and select Activate.
• In the Element Selection dialogue select Planned Outage (IntOutage) and press Ok.
• The IntOutage dialogue will pop up. In the Outage Type section, the options Outage
of an Element and Generator Derating will be enabled. Set the validity time, select the
desired type, and define the outage accordingly (further information is given below).
The definition of an Outage of an Element requires references to the network compo-
nents to be taken out of service. These references can be created by pressing the
Contents button of the outage object, and in the data browser that pops up, creating a
reference to the target element with the New Object icon:
• After clicking on the New Object icon, the dialogue of the reference object (IntRef )
pops up. Give a name to the new reference.
• Press the ( ) button in the Reference field to select the target element in the
browser that pops up.
• After pressing Ok in the data browser, the selected element is added to the reference.
Press Ok.
The definition of a Generator Derating requires a reference to the target generator (note
that only one generator per IntOutage object is allowed), using the button from the
Derated Generator section of the dialogue. The derated power in MW (which will be
subtracted to the maximal active power of the generator) is entered in the MW reductions
field.
The actions defined in the outages can be automatically applied using the Apply button.
In order to carry out these actions an active operation scenario, to record the changes, is
required.
15 - 6
DIgSILENT PowerFactory The Operational Library
• For the Outage of Element type, the program automatically isolates the contained
components. The switches connecting the target elements with the other network
components are open and the terminals connected to the elements are earthed (the
Earthed option in the terminal (ElmTerm) dialogue is checked). Notice that the target
element can only be earthed if it is directly connected (without switches in the
cubicle) to terminals, which are then connected through switches to the network
terminals.
• For the Generator Derating the maximal active power that can be dispatched (defined
on the Load Flow tab of the generator element dialogue, in the section Active Power
Operational Limits) is recalculated as the difference between the maximal active
power (section Active Power: Ratings) and the MW reductions.
Note that the Apply button is only available if the study time lies within the outage period.
Applied outages and generator deratings can be reset using the Reset button. Note that
the programmed actions can also be manually carried out.
The Check All button in the outage object is used to verify if the actions (outage or
derating) defined for the target elements have been performed. Only the outages within
a valid period are considered. Outages market as Out of Service are not regarded (even
if the study time lies within the outage period).
• In the case of Outage of Element, the program looks for the current state of the
referred elements. If, according to the current study time (and the outage period), a
referred component should be out of service, but it is still connected to the network
(energized) or not earthed, a warning message is printed to the output window.
• In the case of a Generator Derating, if the maximal operational active power is not the
difference between the maximal rated active power and the MW reductions (values
defined on the Load Flow tab of the generator element dialogue), a warning message
is generated.
In the outages’ respective Check functions, the energizing state is always determined by
a connectivity analysis. Any component that is connected to a reference external net or a
reference generator is considered to be energized. All others are considered to be deener-
gized (if circuit breakers are open). A deenergized component is earthed if a topological
connection to a grounding switch or an earthed terminal exists (terminal with the Earthed
option checked).
The fulfillment of programmed outages can also be checked via the use of the color repre-
sentation function available within the single line graphic. To do this, set the Colouring
option to Outage Check from the color representation dialogue ( ). The following states
are colored, according to user preferences:
• Components that are energized, but should be outaged.
• Components that are deenergized and not earthed, but should be outaged.
• Components that are deenergized and earthed, but should NOT be outaged.
• Components that are deenergized, not earthed and should be outaged.
15 - 7
DIgSILENT PowerFactory The Operational Library
15 - 8
DIgSILENT PowerFactory The Operational Library
• Press the Select button ( ) in the Running Arrangement section. A list of all RAs
for the current substation is displayed.
• Select the desired RA. This selection is immediately reflected in the graphic (preview).
While an RA is selected, the switch statuses of a substation are determined by this RA and
cannot be changed by the user (i.e. they are read-only).
If there is no setting for a switch in an RA (i.e. the RA is incomplete), such a switch will
remain unchanged but its status is also set to read-only.
Furthermore, there is a button Select by Study Time (also available via the context-
sensitive menu when right-clicking on the data manager), which selects a valid RA
automatically according to the study time. If there are multiple RAs valid for the current
study time, or if there is no valid one, a warning is printed to PowerFactory's output
window (nothing is selected in this case).
15 - 9
DIgSILENT PowerFactory The Operational Library
The following functional aspects must be regarded when working with running arrange-
ments:
• An RA can be selected for each substation. If an operation scenario is active, the
selection of an RA in a substation is recorded in the operation scenario (i.e. the RA
selection is part of the operational data included in the operation scenario subset).
• If a variation is active (and there is no active operation scenario), the selection of the
RA is stored in the recording expansion stage.
• While an RA is selected, the switch statuses of the corresponding substation are
determined by the RA and can not be modified. Any attempt to change such a switch
status will be rejected and a warning message will be printed to the output window.
The switch statuses preceding the activation of an RA remain unchanged and are
restored when deselecting the RA.
• The switch statuses stored in the RA could be incomplete due to the activation of a
variation or a modification made to the network model. For example, if an RA was
defined and then deactivated, and then later new switches were added to a
15 - 10
DIgSILENT PowerFactory The Operational Library
15 - 11
DIgSILENT PowerFactory The Operational Library
• Introduce the increasing values for the pre-fault loading axis (Prefault %). By default,
values between 0% and 80%, with increments of 5%, up to 84% are set.
• Introduce the fault duration in minutes. Default values are: 360min, 20min, 10min,
5min, 3 min).
The pre-fault continuous rating (used as the base to calculate the loading before the fault)
and the post-fault continuous rating (assumed as the branch element pos-fault rating if
the fault duration is larger than the largest duration time defined in the table) are defined
on the Ratings tab.
The values of a thermal rating object can be edited at any time by double-clicking on it
to open the corresponding IntThrating dialogue. Similar to circuit breaker ratings and
capability curves, thermal rating objects can be made to be time-dependant by means of
variations and expansion stages stored inside the Thermal Ratings folder (please refer to
the Circuit Breaker Ratings section for an explanation on how to define time-dependant
operational objects).
The branch elements that can use thermal ratings are:
• Transmission lines (ElmLne);
• 2 and 3 winding transformers (ElmTr2 and ElmTr3);
• Series reactors (ElmSind);
• Series capacitors (ElmScap).
The reference to the thermal ratings is defined on the Basic Data tab of the dialogue of
the target branch elements.
When a contingency analysis (ComSimoutage) is configured, the user can define a post-
contingency time. According to the pre-fault loading found by the load flow used to
calculate the base case, and the post-contingency time (if specified), the ratings to be
used in the contingency load flow are determined (based on the referred Thermal Rating
object). The loading of the branch elements after the contingency load flow are calculated
with respect to the new ratings.
For further information about thermal ratings, please refer to Section 7.5.7. For infor-
mation about contingency analysis please refer to Chapter 28.
15 - 12
DIgSILENT PowerFactory Operation Scenarios
Chapter 16
Operation Scenarios
A new operation scenario is defined by saving the current operational data of the active
network components. Once they have been created, operation scenarios can be activated
in order to load the corresponding operational data. If an operation scenario is active and
certain operational data is changed, these changes are stored in the corresponding
operation scenario subsets (if the user decides to store the changes). If the current
operation scenario is deactivated, the active network components reassume the opera-
tional data that they had before activating the operation scenario (this is the 'default'
16 - 1
DIgSILENT PowerFactory Operation Scenarios
operational data). Clearly, changes made to the 'default' operational data do not affect
operation scenarios.
When working with active operation scenarios and active expansion stages, modifications
on the operational data are stored in the operation scenario subsets. The expansion stage
keeps the default operational data. If no operation scenarios are active and new compo-
nents are added by the current expansion stage, the operational data of the new compo-
nents will be added to the corresponding operation scenario subsets, when activated.
The following section explain how these objects are defined, managed and applied in
network models.
16 - 2
DIgSILENT PowerFactory Operation Scenarios
16 - 3
DIgSILENT PowerFactory Operation Scenarios
16 - 4
DIgSILENT PowerFactory Operation Scenarios
16 - 5
DIgSILENT PowerFactory Operation Scenarios
16 - 6
DIgSILENT PowerFactory Operation Scenarios
16 - 7
DIgSILENT PowerFactory Operation Scenarios
16 - 8
DIgSILENT PowerFactory Operation Scenarios
• Select New --> Operation Scenario from the context-sensitive menu as shown in
Figure 16.2.
• The dialogue of the new operation scenario pops up, where the name can be entered.
Press Ok.
Alternatively, an operation scenario can be created by saving the operational data of the
current active network components. This is done by going to the PowerFactory main menu
File --> Save Operation Scenario as... (see Figure 16.3). In this case the new operation
scenario is automatically activated.
Fig. 16.2: Creating a New Operation Scenario Object using the Data Manager
Fig. 16.3: Using the Main Menu to Save as a New Operation Scenario
16 - 9
DIgSILENT PowerFactory Operation Scenarios
16 - 10
DIgSILENT PowerFactory Operation Scenarios
• The button Save Operation Scenario ( ) in the main icon bar (see Figure 16.7).
• The context-sensitive menu (right mouse button) entry Action -> Save of the
Operation Scenario (see Figure 16.8).
The button Save as from the operation scenario dialogue (only available for active
operation scenarios) can be used to save the current operational data as a new operation
scenario. The new operation scenario is automatically activated upon being created.
16 - 11
DIgSILENT PowerFactory Operation Scenarios
Fig. 16.7: The Save Operation Scenario Button in the Main Icon Bar
Additionally, an auto-save for operation scenario data is available which will always save
a modified operation scenario automatically. This option can be enabled in the Power-
Factory User Settings ( icon on the main toolbar; Data Manager tab). This is done by
setting the Save Interval is set to '0 minutes', meaning that each modification will immedi-
ately be saved to database.
16 - 12
DIgSILENT PowerFactory Operation Scenarios
Fig. 16.9: The Auto-Save Option for Operation Scenarios in the User Settings
Dialogue
16 - 13
DIgSILENT PowerFactory Operation Scenarios
16 - 14
DIgSILENT PowerFactory Operation Scenarios
16 - 15
DIgSILENT PowerFactory Operation Scenarios
16 - 16
DIgSILENT PowerFactory Network Variations and Expansion Stages
Chapter 17
Network Variations and Expansion Stages
It is often necessary to make topological changes to a network model for a study. Use of
Variations in PowerFactory ensures that these changes are recorded separately, and
that the original network remains intact. A variation object is created in the Variations
folder within the Network Model folder, as shown in Figure 17.1. The concept and the
applications of variations and expansion stages were presented in Section 7.3.4 (Varia-
tions and Expansion Stages). This section explains how these objects are defined,
managed and applied within network models.
17 - 1
DIgSILENT PowerFactory Network Variations and Expansion Stages
17 - 2
DIgSILENT PowerFactory Network Variations and Expansion Stages
Note: The user is free to create as many variations and expansion stages
as required for the study. The expansion stages are by default sort-
ed according to their activation time in ascending order. It should
be noted that a variation cannot be renamed or deleted when ac-
tivated.
Note: More than one variation can be active for a study case. However,
there will always be only one recording stage.
17 - 3
DIgSILENT PowerFactory Network Variations and Expansion Stages
Fig. 17.2: Example Showing the Coloring of Expansion Stages According to the
Activation Time
Note: The 'Variation Configuration' object of the Study Cases, stores ref-
erences to active variations. When a variation is activated/deacti-
vated, the corresponding reference is created/deleted in the
Variation Configuration of the active Study Case. When a Study
Case is activated, the variations referred to in the Variation Config-
uration are automatically activated.
17 - 4
DIgSILENT PowerFactory Network Variations and Expansion Stages
• An already deleted object is deleted. In this case the deletion is ignored and a warning
message is displayed in the output window.
• An object is changed or deleted in a expansion stage but it does not exist. In this case
the change is ignored and a warning message is displayed in the output window.
• A deleted object is changed in a expansion stage. In this case the change is applied to
the deleted target object and a warning message is displayed in the output window.
Double-click a desired stage for editing to open the corresponding dialog. The button
can be used to alter the activation time for the stage. It is also possible to exclude the
stage from activation.
17 - 5
DIgSILENT PowerFactory Network Variations and Expansion Stages
The user has the possibility to explicitly set the recording stage by right-clicking on the
target expansion stage and selecting Set 'recording' expansion stage. In this case the
study time will be changed to the activation time of the corresponding stage.
If variations are active and the study time is changed, the recording expansion stage is
automatically set according to the conditions described above.
The recording expansion stage is displayed in the 'Status Bar' (bottom of the screen,
below the output window), to inform the user.
17 - 6
DIgSILENT PowerFactory Network Variations and Expansion Stages
model is changed. The activation times of the stages return to their original values when
the variation scheduler is deactivated.
The user can define a variation scheduler which includes all the stages in the variation,
setting different activation times and not considering certain stages. If the scheduler is
activated, the activation order of the stages will be determined by the study time and the
activation times set in the scheduler, regarding the out of service options from the
Scheduler. In this case the settings from the expansion stages objects (IntStage) are
ignored.
The user can define as many variation schedulers as required in a variation, but only one
can be activated at a time.
In order to create a variation scheduler, open a data manager to display in the left-hand
pane the variation in which the scheduler must be inserted. Right-click on the variation
and select New -> Variation Scheduler. Alternatively, click on the New Object button ( )
and select Variation Scheduler (IntScheduler). The dialogue of the new Scheduler will
pop up. The stages from the variation will be automatically referred to by the new
scheduler. Press the Contents button to open a data browser listing the included stages
with their activation times and their out of service options.
The activation time and the 'out of service' option of the stages within a scheduler can
only be changed in non-active schedulers, by pressing the Contents button and writing
the desired values in the data browser. These changes of course do not affect expansion
stage objects and only are effective when the scheduler is active. Variation schedulers are
activated or deactivated via the context-sensitive menu on the data manager.
Figure 17.3 shows the state in which the activation times of the stages can be edited
inside the scheduler. The variation must be active and the scheduler inactive. Display the
contents (references to expansion stages) of the scheduler in the right-hand pane of the
data manager. The activation time of a stage can be edited by double-clicking on the
reference to it in the right-hand window.
17 - 7
DIgSILENT PowerFactory Network Variations and Expansion Stages
In the data browser window containing the comparison results, a list of the objects stored
inside the 'base object' and the 'object to compare' is presented. A comparison result
symbol, indicating the differences found on each object from the list, is displayed in the
column labelled 'Mod 1' (Figure 17.4). The symbols are defined as follows:
• The object exists in the 'base object' but not in the 'object to compare';
• The object exists in the 'object to compare' but not in the 'base object';
• The object exists in both sets but the parameters’ values differ;
• The object exists in both sets and has identical parameter values.
It is important to note that only objects from non-active projects can be compared. To
compare two variations or expansion stages, proceed as follows:
• Right-click on a variation or expansion stage from a non-active project and select
Select as Base to Compare in the context-sensitive menu.
• Right-click on the variation or expansion stage to compare and select Compare to
'Name of the base object' in the context-sensitive menu.
• The Merge Tool dialogue command (ComMerge) pops up. By default, all of the
contained elements are compared; the 'Compare' field can be configured however, to
17 - 8
DIgSILENT PowerFactory Network Variations and Expansion Stages
compare only the objects or selected subfolders (for further information please refer
to The Merge Tool Manual).
• Once the 'Compare' option is set, press the Execute button to perform the
comparison.
• The Merge Tool window with the corresponding results, as explained above, opens.
Note: In the case of expansion stages (or variations with the 'Compare'
option set to 'All Contained Elements') objects representing chang-
es in the Network Data are compared.
For further information on the Merge Tool and its applications please refer to The Merge
Tool Manual.
Note: The list generated in the Merge Tool window also displays the par-
ents of the modified objects (when the Show all Elements icon
( ) is clicked). Usually they are shown by the icon, indicating
that the objects themselves have not changed.
17 - 9
DIgSILENT PowerFactory Network Variations and Expansion Stages
The single-line graphic coloring function ( ) offers three modes which may be used to
identify changes from variations and expansion stages:
1 Coloring according to Grids/Original Locations: The object is shown in the
color of the grid or the variation in which the object is added.
2 Coloring according to Modifications: The object is shown in the color of the
variation in which the object is last added or modified.
3 Coloring according to Recording expansion stage: Three colors are
supported:
- Default color: for all objects not modified or added in the active recording
expansion stage;
- Modified color: for objects modified in the active recording expansion stage;
- Add color: for objects added in the active recording expansion stage.
17 - 10
DIgSILENT PowerFactory Parameter Characteristics
Chapter 18
Parameter Characteristics
The basic concept and the application of parameter characteristics and scales were
explined in Section 7.7 (Parameter Characteristics and Parametric Studies). Now, in this
chapter the information about the definition and the use of the different scales and
characteristics is given.
18 - 1
DIgSILENT PowerFactory Parameter Characteristics
Note: You can also use the "New Object'' icon (in the data browser) to
create a new scale when selecting a scale for a characteristic.
18 - 2
DIgSILENT PowerFactory Parameter Characteristics
18 - 3
DIgSILENT PowerFactory Parameter Characteristics
18 - 4
DIgSILENT PowerFactory Parameter Characteristics
Note: You can also use the "New Object'' icon (in the data browser) to
create a new scale when selecting a scale for a characteristic.
18 - 5
DIgSILENT PowerFactory Parameter Characteristics
The approximation curve will be shown in the diagram page. Examples of these approxi-
mation curves are shown in Figure 18.5.
The interpolated Y-value may vary considerably between approximation functions. This is
shown in Figure 18.5 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.
To define a new continuous parameter characteristic:
• In the edit dialogue of the target network component right click on the desired
parameter.
• Select New Characteristic --> One Dimension Vector…
• The edit dialogue of the one dimension vector characteristic (generic class for one
dimensional characteristics) pops up.
• After selecting the corresponding continuous scale (scales to be used in the new
characteristics must be previously defined), the 'X' values defined by the scale are
automatically show in the list together with their unit. Define the 'Usage', enter the
characteristic 'Y' values and define the 'Approximation' function.
• Press Ok.
To create a new continuous scale:
• Open the Scales folder from the Equipment Library.
• Click on the New Object button and select Continuous Scale and Trigger (TriCont).
• Enter the unit of the 'X' values.
• Append the required number of rows (right click on the first row of the Scale table and
select Append n rows) and enter the 'X' values.
• Press Ok.
18 - 6
DIgSILENT PowerFactory Parameter Characteristics
Note: You can also use the "New Object'' icon (in the data browser) to
create a new scale when selecting a scale for a characteristic.
An example of a continuous scale is shown in Figure 18.6 where six temperature values
are defined.
18 - 7
DIgSILENT PowerFactory Parameter Characteristics
Figure 18.7 shows an example where four equidistant moments in a year have been
created.
For information about the global time trigger please refer to Data Model Time Trigger.
18 - 8
DIgSILENT PowerFactory Parameter Characteristics
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 (similar to the continuous characteristics). 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 Figure
18.9, the first column is calculated as the average of the other columns. The result is
shown in Figure 18.10.
18 - 9
DIgSILENT PowerFactory Parameter Characteristics
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.
18 - 10
DIgSILENT PowerFactory Parameter Characteristics
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.
• 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
'Diagram' 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.
18 - 11
DIgSILENT PowerFactory Parameter Characteristics
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 for the active power (parameter 'plini'),
using the scale called 'Loading' has been used for the load 'Load C(1)'. The trigger has set
the scale to a value of 200% and thus the "Current Value" is 100 MW which is 200% of
the input value of 50 MW. 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. Figure
18.13 shows the context sensitive menu that appears when a characteristic field is right-
clicked.
18 - 12
DIgSILENT PowerFactory Parameter Characteristics
The option Select Characteristic..., shown in the figures 18.13 and 18.14, is used to define
references to a characteristic and may also be used to create a range of characteristics.
This is shown in Figure 18.14 where a reference is defined for three loads at once.
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
performing 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.
18 - 13
DIgSILENT PowerFactory Parameter Characteristics
• 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.
18 - 14
DIgSILENT PowerFactory Defining Variable Sets
Chapter 19
Defining Variable Sets
Variable Sets (IntMon objects) are used to select and monitor variables associated with
objects of the data model in order to store results. The selection of a variable set, deter-
mines the variables to be recorded during a simulation run, the variables to be displayed
by a "Flexible Page Selector" or a result/text box (results box and Flexible page selector
with link).
Before a calculation is performed or after initial conditions of a time domain simulation
have been calculated, the user can define variable set monitors from the single line
graphic by:
• Right clicking on the target network component.
• Selecting Define -->Variable Set (SIM) from the context sensitive menu.
• This will pop up a data browser listing all the results objects defined in the active
study case. The user must select a target result object by double clicking on it. If no
results object have been defined, PowerFactory will generate a default one, called
'AllCalculations'.
Variable Set Monitors can also be created directly in the target results object using the
Contents button (of the Results object). This will pop up a browser with all the variable
sets that have already been defined. To define a new variable set, the icon in the
browser can be pressed.
19 - 1
DIgSILENT PowerFactory Defining Variable Sets
In the variable set monitor dialogue the following fields can be seen:
Object
Is the selected object (normally a network component), whose
variables are going to be monitored.
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 (...)
By checking this box and selecting the option 'Display results variables
in output window' in the simulation command, the values calculated for
the selected variables during a simulation will be displayed in the out
put window.
Filter for
As mentioned previously, there is 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. Further information about the selection of variable is
given in the subsection Searching the Variables to Monitor.
Page Tab
The first sorting of the variables is by calculation function (load-flow,
short-circuit, etc.). In the example of Figure 19.1, the RMS tab has
been automatically selected, as a prior RMS 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.
19 - 2
DIgSILENT PowerFactory Defining Variable Sets
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 following buttons are available on the right of the dialogue:
• Balanced/Unbalanced: Depending on the type of calculation to be monitored
(balanced or unbalanced), the user can toggle between balanced and unbalanced
variable sets.
• 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.
19 - 3
DIgSILENT PowerFactory Defining Variable Sets
19 - 4
DIgSILENT PowerFactory Defining Variable Sets
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 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 Figure 19.3 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'.
19 - 5
DIgSILENT PowerFactory Defining Variable Sets
Step by step, the process will be as follows: 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 Figure 19.4 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.
19 - 6
DIgSILENT PowerFactory Defining Variable Sets
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 Figure 19.5.
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. Figure 19.6 shows
the result of these jumps in PowerFactory. Lastly, the parameter required must be
selected.
19 - 7
DIgSILENT PowerFactory Defining Variable Sets
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 Figure 19.6. 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
under "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.
19 - 8
DIgSILENT PowerFactory Defining Variable Sets
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 Figure 19.7.
19 - 9
DIgSILENT PowerFactory Defining Variable Sets
19 - 10
DIgSILENT PowerFactory Reporting Results in PowerFactory
Chapter 20
Reporting 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.
20 - 1
DIgSILENT PowerFactory Reporting 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 Section 32.6 (Time-Overcurrent Plot).
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 Section 32.8 (Relay Plot).
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 Section 32.7 (The Time-Distance Diagram).
Feeder Definitions
Voltage Profile
shows voltage profile of a complete subsystem belonging to a defined feeder in the
20 - 2
DIgSILENT PowerFactory Reporting Results in PowerFactory
power system depending on the distance or the node number. See also Chapter 12
(Grouping Objects).
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 20.1.6 (The
Waveform Plot).
Modal Analysis
Eigenvalue Plot
The Eigenvalue Plot (Viseigen) displays the eigenvalues calculated in the modal
analysis (Chapter 26). 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 26.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
26.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 26.3.2 (Modal
Analysis Plots).
• 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.
20 - 3
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
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:
• 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.
20 - 4
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
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-
20 - 5
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
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. Figure 20.1 shows an example of the dialogue.
20 - 6
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 Figure 20.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 Sec-
tion 10.5.6.
20 - 7
DIgSILENT PowerFactory Reporting 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:
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.
20 - 8
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20.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)
20 - 9
DIgSILENT PowerFactory Reporting 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 Figure 20.2.
Editing Subplots
The edit dialogue of a subplot, as shown in Figure 20.3 has pages for the y-axis and x-
axis of the individual subplot as well as an additional Advanced page for auxiliary settings.
The y-axis page is normally used to set the curves in the subplot, while the x-axis normal-
ly, and by default, shows time.
20 - 10
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 11
DIgSILENT PowerFactory Reporting 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 Figure 20.4. The Default
value is depending on the type of simulation and the result object created during the pre-
vious 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 frequency re-
spectively the harmonic order.
20 - 12
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 Figure 20.4 an element and a vari-
able 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 .
20 - 13
DIgSILENT PowerFactory Reporting Results in PowerFactory
The bottom subplot has a smaller x-axis, to show only the interesting part, and has the
20 - 14
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 15
DIgSILENT PowerFactory Reporting Results in PowerFactory
far left) (see cursor arrow in Figure 20.6) and selecting Insert Rows or Append (n) Rows.
Marked curve definitions can similarly be deleted from the list by selecting Delete Rows.
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 Figure 20.7 and Figure 20.8.
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.
20 - 16
DIgSILENT PowerFactory Reporting Results in PowerFactory
A plot with two y-axes can be seen in Figure 20.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 Figure 20.9, there
will now appear a page for y1-Axis and for y2-Axis.
On the page for the second y-axis, this additional axis can be deactivated by unticking the
option Use second y-Axis.
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.
Figure 20.10 shows the edit dialogue of the plot.
20 - 17
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
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:
20 - 18
DIgSILENT PowerFactory Reporting 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.
20 - 19
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 20
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 21
DIgSILENT PowerFactory Reporting 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 Figure
20.12, is double-clicked to select a new object.
Note The option Show −> Voltage Profile is only available when a load-
20 - 22
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 Figure 20.13.
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-
20 - 23
DIgSILENT PowerFactory Reporting Results in PowerFactory
loading of a branch element can be defined and shown in the plot. In Figure 20.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).
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 20.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.
20 - 24
DIgSILENT PowerFactory Reporting Results in PowerFactory
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
20 - 25
DIgSILENT PowerFactory Reporting 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.
Figure 20.14 shows an example for defining a variable in the VisHrm.
20 - 26
DIgSILENT PowerFactory Reporting 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.
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 20.16 is opened by double-clicking the
curve input plot.
20 - 27
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 28
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 29
DIgSILENT PowerFactory Reporting 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
20 - 30
DIgSILENT PowerFactory Reporting 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.
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.
20 - 31
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 32
DIgSILENT PowerFactory Reporting Results in PowerFactory
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''.
20 - 33
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 34
DIgSILENT PowerFactory Reporting Results in PowerFactory
Reconnect with...
Reconnects the format label to another curve or data point.
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 Figure 20.20)
and a horizontal respectively vertical line will then be displayed at the value specified 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.
20 - 35
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 36
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 20.21 shows
the dialogue of the function.
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.
20 - 37
DIgSILENT PowerFactory Reporting 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.
20 - 38
DIgSILENT PowerFactory Reporting 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 Figure 20.22.
20 - 39
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 40
DIgSILENT PowerFactory Reporting 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.
20 - 41
DIgSILENT PowerFactory Reporting Results in PowerFactory
With the settings shown in Figure 20.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 10.5.6)
• the line width of the title block and of the page frame
20 - 42
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 43
DIgSILENT PowerFactory Reporting Results in PowerFactory
• on the plot itself to access the settings plot style, i.e. the grid, legend, etc.
Figure 20.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.
20 - 44
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 Figure 20.27.
20 - 45
DIgSILENT PowerFactory Reporting Results in PowerFactory
Note Clearing the data will delete the result-file and will reset the data-
base ID. This will destroy all calculated or measured data in the re-
sult file. It will not be possible to restore the data.
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 Figure 20.28.
20 - 46
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 47
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 48
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 Figure 20.29, the editor is in the default 'Predefined Variables' mode. The three listbox-
es 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 Figure 20.29 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:
20 - 49
DIgSILENT PowerFactory Reporting Results in PowerFactory
#.## $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
# #.## $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.
20 - 50
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 Figure 20.31, where report format is
changed such that the variable name of the loading factor is deleted and replaced by 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.
20 - 51
DIgSILENT PowerFactory Reporting Results in PowerFactory
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 '\#'.
20 - 52
DIgSILENT PowerFactory Reporting Results in PowerFactory
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
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
20 - 53
DIgSILENT PowerFactory Reporting Results in PowerFactory
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
c red k bordeaux
20 - 54
DIgSILENT PowerFactory Reporting Results in PowerFactory
g cyan o marine
iA single item can be colored by using the '_COLOR(Variable name; color code)'.
20 - 55
DIgSILENT PowerFactory Reporting Results in PowerFactory
_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, ..
20 - 56
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 57
DIgSILENT PowerFactory Reporting Results in PowerFactory
Device Data
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
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.
20 - 58
DIgSILENT PowerFactory Reporting Results in PowerFactory
Filter/Annex
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.
20 - 59
DIgSILENT PowerFactory Reporting Results in PowerFactory
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.
20 - 60
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 61
DIgSILENT PowerFactory Reporting Results in PowerFactory
20 - 62
DIgSILENT PowerFactory Data Management
Chapter 21
Data Management
The basic elements of project management within the PowerFactory environment were
introduced in Chapter 4 (PowerFactory Overview). They allow the user to generate
network designs and administrate all input information and settings related to Power-
Factory calculations and analyses. The project object is much more than a simple folder
which stores all objects which comprise a power system model; it allows the user to
perform advanced management tasks such as: versioning, deriving, comparing, merging
and sharing. These advanced features simplify the work in multi-user environments while
minimizing the amount of data.
21 - 1
DIgSILENT PowerFactory Data Management
The new version is automatically stored in the Versions folder (which is automatically
created if it doesn’t yet exist).
21 - 2
DIgSILENT PowerFactory Data Management
Note: A Version can only be deleted if it does not have derived projects.
21 - 3
DIgSILENT PowerFactory Data Management
In a multi-user database, the data administrator may publish a "base" project in a public
area of the database. Each user can subsequently create her/his own Derived Project and
work on it like working on the original base project. Changes made by the user are stored
in the Derived Project, so that the base project remains the same for all users.
The purpose of a Derived Project is that all users work with an identical power system
model. The Derived Project always remains connected to the base project.
The concept of derived projects is illustrated in Figure 21.3; here version “Version3” of the
base project (“MasterProject”) was used to create “DerivedProject”. After “DerivedProject”
was created, two versions of it were created.
21 - 4
DIgSILENT PowerFactory Data Management
• Right-click the desired project folder in the right pane of the Data Manager where the
Derived Project is to be created.
• Select New --> Derived Project from the context-sensitive menu.
• Select the source version of the base project from the data browser that pops up. This
will likely be the last available version of a project in a public area, created by the data
administrator.
• Press OK.
Note: The base or master project has to have at least one version before
other projects can be derived from it.
Once the derived project is created, it can be used like a normal project. At a later stage,
it may be desired to update the derived project using new versions of the base, or to
update the base with your derived project. All of these features are possible, by means
of the Merge Tool, explained in Chapter 21.3 (Comparing and Merging Projects).
In the Data Manager a virtual project looks like a normal project. The 'Derived Project' tab
of its dialogue has a reference to the base project and the version used.
Users are notified of changes in base project, if there is a new version of the base project
(newer than the 'used' version) which has the option Notify users of derived projects
21 - 5
DIgSILENT PowerFactory Data Management
enabled, and the option Disable notification at activation disabled. The possibility of
updating the derived project is presented to the user upon activation of the derived
project. The newest version that can be used to update a derived project is referred to (if
available) in the Most recent version field of the dialogue. The users can compare this new
version with their own derived project and decide which changes should be included in
the derived project. For comparing and accepting or refusing individual changes, the
Merge Tool is used. For information about the Merge Tool please refer to Chapter 21.3
(Comparing and Merging Projects).
Fig. 21.6: Merging the new version of the base project into the Derived Projects
21 - 6
DIgSILENT PowerFactory Data Management
21 - 7
DIgSILENT PowerFactory Data Management
Once the Merge Tool command’s options are set, the button Execute is used to start the
comparison. The comparison results are presented in a data browser window (the Merge
Tool window, Figure 21.8), which has a special toolbar to facilitate the visualization,
sorting and further merging of the compared objects.
In the Merge Tool window, a list of the compared objects (according to the selected
comparison level) is presented. A comparison result symbol, indicating the differences
found on each object from the list, is displayed in the columns Mod 1 (and Mod 2 in the
case of a 3-way comparison) as shown in Figure 21.8. These symbols are defined as
follows:
21 - 8
DIgSILENT PowerFactory Data Management
• If the object exists in the 'base object' but not in the 'object to compare'.
• If the object exists in the 'object to compare' but not in the 'base object'
• If the object exists in both sets but the value of the parameters differs.
• If the object exists in both sets and has the same value for the parameters.
If the projects are to be merged (i.e. the Merge option was enabled in the command
dialogue), then the column labelled 'Assignment' is enabled in the results browser. In this
column the source of the changes which are to be implemented in the target project is
defined. All listed objects must have an 'Assignment'. If a certain change is not to be
implemented in the target; then the ''target'' project itself must be selected as the source.
In a comparison of two projects, the only available sources are the Base (which is also
the target) and Mod1. In a 3-way comparison (i.e. where a Mod2 was selected), the
possible sources are 'Base', 'Mod1' and 'Mod2'. The assignment can be made manually by
double-clicking on the corresponding cell and selecting the desired source, however this
task may be tedious in large projects. The toolbar icons can be used to automate this
process.
Once the assignment of all the objects has been performed, the projects can be merged
by pressing the Merge button. The changes are then automatically implemented in the
target project.
As previously mentioned, the objects displayed in the Merge Tool window can be sorted
and organized via the toolbar. In the attached Merge Tool Manual the functionality of each
toolbar icon and the context-sensitive menus available from the toolbar are explained.
Note: The Merge Tool can be used to compare any kind of object in
PowerFactory. The functionality and procedure to follow is simi-
lar to that explained in this section for project comparison and
merging.
21 - 9
DIgSILENT PowerFactory Data Management
Note: The button 'Info' from the Merge Tool browser can be used to dis-
play the name and path of the current Base project, Mod1, Mod2
and target.
21 - 10
DIgSILENT PowerFactory Data Management
To share a project:
• Open the project dialogue and go to the Sharing tab;
• Right-click on the right side of the Sharing information table to insert (or append) a
row;
• Double-click the Groups cell of the new line and select the group with whom the
project is shared, using the data browser;
• Double-click on the Sharing access level to select the desired access level.
A shared project is marked with the symbol in the Data Manager.
For information regarding users groups and the database administrator, please refer to
Section 5.3 (User Accounts and User Groups).
21 - 11
DIgSILENT PowerFactory Data Management
21 - 12
DIgSILENT PowerFactory
Power System Analysis Functions
DIgSILENT PowerFactory Load Flow Analysis
Chapter 22
Load Flow Analysis
Load flow calculations are used to analyze power systems under steady-state and non-
faulted (short-circuit-free) conditions. The load flow calculates the active and reactive
power flows for all branches, and the voltage magnitude and phase for all nodes.
The main areas for the application of load flow calculations are:
• Calculation of branch loadings, system losses and voltage profiles for system planning
and operation (normal and abnormal conditions).
• Contingency analysis, network security assessment (abnormal conditions).
• Optimization tasks, i.e. minimizing system losses, minimizing generation costs, open
tie optimization in distributed networks, etc. (normal or abnormal conditions).
• Verification of system conditions during reliability calculations.
• Automatic determination of optimal system resupplying strategies.
• Optimization of load-shedding (abnormal conditions).
• Calculation of steady-state initial conditions for stability simulations or short-circuit
calculations using the complete superposition method (usually normal conditions).
A distinction should be made regarding the simulation of ''normal'' and ''abnormal'' system
conditions. This distinction affects the modelling of the system. Under normal operating
conditions the generator dispatches as well as the loads are known, and it is therefore
sufficient for the load flow calculation to represent these generator dispatches and to
provide the active and reactive power of all loads. The results of the load flow calculation
should represent a system condition in which none of the branch or generator limits are
exceeded.
The representation of abnormal conditions requires a higher degree of accuracy from the
models. Here it can no longer be assumed that the entire system is operating within limits.
The models must be able to correctly simulate conditions which deviate from the normal
operating point. Hence the reactive power limits of generators or the voltage dependency
of loads must be modelled. Additionally, in many applications, the active power balance
cannot be established with a single slack bus (or machine). Instead, a more realistic
representation of the active and reactive power control mechanisms have to be
considered to determine the correct sharing of the active and reactive power generation.
Besides the considerations regarding abnormal conditions presented above, the
assumption of balanced systems may be inappropriate for certain distribution networks.
State of the art computational tools for power systems analysis must be able to represent
unbalanced networks for load flow calculations.
The calculation methods and the options provided by PowerFactory’s load flow analysis
function allow the accurate representation of any combination of meshed 1-, 2-, and 3-
22 - 1
DIgSILENT PowerFactory Load Flow Analysis
phase AC and/or DC systems. The load flow tool accurately represents unbalanced loads,
generation, grids with variable neutral potentials, HVDC systems, DC loads, adjustable
speed drives, SVSs, and FACTS devices, etc., for all AC and DC voltage levels. With a more
realistic representation of the active and reactive power balance mechanisms, the tradi-
tional requirement of a slack generator is left optional to the user.
For very fast and reliable analysis of complex transmission networks, where only the flow
of active power through the branches is considered, PowerFactory offers an additional
load flow method, namely DC load flow, which determines the active power flows and the
voltage angles within the network.
The following sections introduce the calculation methods and the options provided with
PowerFactory’s load flow tool. This information is a guide to the configuration of the
PowerFactory load flow analysis command ( ).
22 - 2
DIgSILENT PowerFactory Load Flow Analysis
In contrast to other power system calculation programs, PowerFactory does not directly
define the node characteristic of each busbar. Instead, more realistic control conditions
for the network elements connected to these nodes are defined (see the Load Flow tab
of each element’s dialogue). For example, synchronous machines are modelled by
defining one of the following control characteristics:
• Controlled power factor (cos(ϑ)), constant active and reactive power (PQ);
• Constant voltage, constant active power (PV) on the connected bus;
• Secondary (frequency) controller ('slack', SL).
It is also important to note that in PowerFactory the active and reactive power balance
of the analyzed networks is not only possible through a slack generator (or external
network). The load flow calculation tool allows the definition of more realistic mechanisms
to control both active and reactive power. For further information please refer to Section
22.1.2.
AC Load Flow
In PowerFactory the nodal equations used to represent the analyzed networks are
implemented using two different formulations:
• Newton-Raphson (Current Equations)
• Newton-Raphson (Power Equations, classical)
In both formulations, the resulting non-linear equation systems must be solved by an
iterative method. PowerFactory uses the Newton-Raphson method as its non-linear
equation solver. The selection of the method used to formulate the nodal equations is
user-defined, and should be selected based on the type of network to be calculated. For
large transmission systems, especially when heavily loaded, the standard Newton-
Raphson algorithm using the “Power Equations” formulation usually converges best.
Distribution systems, especially unbalanced distribution systems, usually converge better
using the "Current Equations" formulation.
In addition to the Newton-Raphson iterations, which solve the network nodal equations,
PowerFactory applies an outer loop when the control characteristic of automatic trans-
former tap changers and/or switchable shunts is considered. Once the Newton-Raphson
iterations converge to a solution within the defined tolerance (without considering the
setpoint values of load flow quantities defined in the control characteristic of the tap
changers/switchable shunts (see Figure 22.1)), the outer loop is applied in order to reach
these target values. The actions taken by the outer iterative loop are:
• Increasing/decreasing discrete taps;
• Increasing/decreasing switchable shunts; and
22 - 3
DIgSILENT PowerFactory Load Flow Analysis
Fig. 22.1: Setting of the Control Mode for an Automatic Tap Changer
In the classical load flow calculation approach, the unbalances between phases are
neglected. For the analysis of transmission networks this assumption is generally admis-
sible. In distribution networks this assumption may be inappropriate depending on the
characteristics of the network. PowerFactory allows for the calculation of both balanced
(AC Load Flow, balanced positive sequence) and unbalanced (AC Load Flow Unbalanced,
3-phase (ABC)) load flows according to the descriptions above.
DC Load Flow
In addition to the ''AC'' load flow calculations presented in this section, PowerFactory
offers a so-called ''DC'' load flow calculation method (applied to AC systems), for fast
analyses of complex transmission networks where only the flow of active power through
branches is considered. In this case the non-linear system resulting from the nodal
equations is simplified due to the dominant relation that exists between voltage angle and
active power flow in high voltage networks. A set of linear equations is thereby obtained,
where the voltage angles of the buses are directly related to the active power flow
through the reactances of the individual components. The DC load flow does not require
an iterative process and the calculation speed is therefore considerably increased. Only
active power flow without losses is considered.
22 - 4
DIgSILENT PowerFactory Load Flow Analysis
22 - 5
DIgSILENT PowerFactory Load Flow Analysis
22 - 6
DIgSILENT PowerFactory Load Flow Analysis
The following pages explain the load flow command options. Following this, some hints
are given regarding what to do if your load flow cannot be solved.
Calculation Method
AC Load Flow, balanced, positive sequence
Performs load flow calculations for a single-phase, positive sequence
network representation, valid for balanced symmetrical networks. A
balanced representation of unbalanced objects is used (for further
details please refer to Section 22.1.1).
AC Load Flow, unbalanced, 3 Phase (ABC)
Performs load flow calculations for a 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
22 - 7
DIgSILENT PowerFactory Load Flow Analysis
Load Options
Consider Voltage Dependency of Loads
The voltage dependency of loads with defined voltage dependency
factors (Load Flow tab of the general- and complex load types) will be
considered.
Feeder Load Scaling
Scales loads with the option Adjusted by Feeder Load Scaling enabled
on the Load Flow tab of their element dialogue by the Scaling Factor
specified in the Load Scaling section of the feeder element (for
information about feeder elements please refer to Section 7.3.3
22 - 8
DIgSILENT PowerFactory Load Flow Analysis
(Network Data)). In this case, the Scaling Factor specified on the Load
Flow tab of load element dialogue is disregarded.
Consider Coincidence of Low-Voltage Loads
Calculates a 'low voltage load flow' as described in Sections 22.1.3 and
22.3.6, where load coincidence factors are considered (for C.10 and
C.11 objects), 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.
After the load flow has been successfully executed, maximum currents
(Imax), maximum voltage drops (dumax) and minimum voltages
(umin, Umin) are displayed in every branch element and at every
busbar. The usual currents and voltages represent here average values
of voltages and currents. Losses are calculated based on average
values, and maximum circuit loading is calculated using maximum
currents.
Scaling Factor for Night Storage Heaters
This is the factor by which the night storage heater power (as found in
Low Voltage Load elements) is multiplied for all low voltage loads.
22 - 9
DIgSILENT PowerFactory Load Flow Analysis
22 - 10
DIgSILENT PowerFactory Load Flow Analysis
Tap Adjustment
Method
The direct method will include the tap controller models in the load flow
calculation (i.e. in the internal loop involving the Newton-Raphson
iterations). The new tap positions will then be calculated directly as a
variable and are therefore known following 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. These tap adjustments take place in the outer
loop of the calculation.
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 (in case of
convergence problems, set a factor of less than 1.0), or to speed them
up (for a faster load flow, set a factor of greater than 1.0).
Station Controller
Available on the second page ( ) of the Advanced Options tab. The options presented
in this field determine the reactive power flow from generators participating in station
controllers (ElmStactrl). Please refer to the corresponding Technical Reference for infor-
mation on station controllers and their control modes.
22 - 11
DIgSILENT PowerFactory Load Flow Analysis
22 - 12
DIgSILENT PowerFactory Load Flow Analysis
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 result in
an increased likelihood of convergence for systems which are otherwise
difficult to solve.
Automatic Model Adaptation for Convergency
The PowerFactory load flow calculation will always first try to find a
solution using non-linear mathematical power system models. If 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. Any model adaptations are reported in the
output window.
22.3.5 Outputs
Show Verification Report
Produces a table in the output window with a list of overloaded power
system elements and voltage violations, according to the values
specified in the Check Devices section of the Outputs tab.
Show Convergence Progress Report
Will print detailed reports throughout the load flow calculation, which
may be used to solve convergence problems.
Show 'Outer Loop' messages
Will print reports concerning the outer loop 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 (Check Devices
section). The SPAR calculation uses a linear optimization technique to
calculate the least power that may be shed in order to alleviate all
overloading. This minimum power that will be shed is called the "Power
At Risk".
Output
Displays the report format definition that will be used. The arrow
22 - 13
DIgSILENT PowerFactory Load Flow Analysis
Check Devices
Max. Loading of Edge Element
Reference value of the maximum loading used by the 'Verification
Report' and by the 'SPAR' function (only available if Show Verification
Report and/or Calculate Power at Risk are selected).
Lower Limit of Allowed Voltage
Reference value for the minimum allowed voltage used by the
'Verification Report' (only available if Show Verification Report is
selected).
Higher Limit of Allowed Voltage
Reference value for the maximum allowed voltage used by the
'Verification Report' (only available if Show Verification Report is
selected).
22 - 14
DIgSILENT PowerFactory Load Flow Analysis
22 - 15
DIgSILENT PowerFactory Load Flow Analysis
22 - 16
DIgSILENT PowerFactory Load Flow Analysis
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,
however these do not need to be corrected for the load flow to
solve. "Unsupplied 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 the option Out of Service for most of the elements
(see each elements Basic Data tab). Following this, bring these elements back into
service, one at a time, from the source element 'downwards', performing a load flow
calculation each time.
When experiencing large unbalances, such as when there are a number of single or dual
phase elements, or when using power electronics elements, select the Newton-Raphson
(Current Iteration) option on the Advanced tab of the load flow dialogue.
• selecting the 'Additional Tools' icon ( ) for the toolbar (in PowerFactory’s main
icon bar) and then clicking on the ComVstab icon ( ); or
• right-clicking on a busbar/terminal or transformer and selecting Calculate --> Load
Flow Sensitivities... . In this case the command will be automatically set to calculate
the sensitivity to power injections/tap changes on the selected busbar/transformer.
The selected terminal/transformer will be automatically set in the Busbar (or
Transformer) reference.
22 - 17
DIgSILENT PowerFactory Load Flow Analysis
Initialization
Load Flow:
Displays which load flow command will be used to initialize the
sensitivity analysis. If no load flow calculation has been executed
before opening the Load Flow Sensitivities (ComVstab) command, or
if the calculation has been reset, the Load Flow displays the most
recently executed load flow command in the active study case.
Sensitivities
Diagonal Elements Only:
The effect of the injections of ΔP and ΔQ at each busbar are evaluated
for the busbar itself (effect on voltage magnitude ( ∂v i ) ⁄ ( ∂P i ) ,
( ∂v i ) ⁄ ( ∂Q i ) , and on voltage angle ( ∂ϕ i ) ⁄ ( ∂P i ) , ( ∂ϕ i ) ⁄ ( ∂P i ) for each
busbar) and the corresponding adjacent branches. In this mode, the
calculated sensitivities ( ∂P n ) ⁄ ( ∂P i ) , ( ∂Q n ) ⁄ ( ∂P i ) , ( ∂P n ) ⁄ ( ∂Q i ) , and
( ∂Q n ) ⁄ ( ∂Q i ) in the branches (index n) always refer to derivations
22 - 18
DIgSILENT PowerFactory Load Flow Analysis
22 - 19
DIgSILENT PowerFactory Load Flow Analysis
Upon completion of the sensitivity factor calculation, the following message appears in
the output window:
The calculated results can be displayed via the 'Flexible Data Page' (see Section 11.5) by
selecting the sensitivities from the load flow variables (Variable Set: 'Current, Voltages and
Powers'). The names of the variables correspond to the calculated derivations, i. e. the
result of the expression ( ∂v i ) ⁄ ( ∂P i ) is stored in the variable named dvdP; and likewise
the result of the expression ( ∂ϕ i ) ⁄ ( ∂Q i ) is stored in the variable dphidQ.
When the Modal Analysis option is selected, the calculated eigenvalues are displayed (in
descending order according to magnitude) in the output window. The eigenvectors and
participation factors can be displayed using the 'Flexible Data Page'.
J Pϑ J Pv ∂ϑ
= ∂P
(22.1) J Qϑ J Pv ∂v ∂Q
The equation system in (22.1) shows that changes in the voltage magnitude and angle
due to small changes in the active and reactive power can be directly calculated from the
load flow Jacobian matrix. For example if ΔP is set to 0, the sensitivities of the type dv/
dQ are calculated from (22.1) according to:
–1
(22.2) ∂v = J̃ Qv ∂Q = S vQ ∂Q
where:
–1
(22.3) J̃ Qv = – J Qϑ J Pϑ J Pv + J Qv
As can be seen from (22.2), the variation of voltage magnitude at each busbar can be
described by a linear combination of small reactive power variations according to:
(22.4) ∂v i = S i1 ∂Q 1 + … + S in ∂Q n
In this case the diagonal elements Si1 of S represent the voltage variation at bus i due to
a variation of reactive power at the same point. The non-diagonal elements Sij describe
the voltage variation at busbar i due to the variation in reactive power at a different point
on the network.
Positive dv/dQ sensitivity indicates stable operation. High sensitivity means that even
small changes in reactive power cause large changes in the voltage magnitude; therefore
the more stable the system, the lower the sensitivity (high voltage sensitivities are indic-
22 - 20
DIgSILENT PowerFactory Load Flow Analysis
The sensitivity analysis can be extended in order to determine the active and reactive
power variations on branches (in the PowerFactory network model all components
carrying a flow, i.e. lines, transformers, generators are regarded as branches) due to
variations in active and reactive power busbar injections. In this case the sensitivities are
calculated using the branch-node Jacobian matrix.
(22.5) –1
∂ṽ = T S vQ T∂Q̃ = S̃ vQ ∂Q̃
where:
The eigenvalues λi, which are real, provide the necessary information about the voltage
stability of the system. If λi is positive, the modal voltage increase and the modal reactive
power variations are in the same direction and the system is therefore stable. The
magnitude of the eigenvalue indicates how far/close one voltage mode is to instability.
In (22.5), T= [υ1...υn] corresponds to the matrix of right eigenvectors of SvQ, while T-1
corresponds to the left eigenvectors matrix:
T
ω1
T
–1
= …
(22.8) …
T
ωn
The participation factor of bus k to mode i is defined by the product of the kth component
of the left and right eigenvector of mode i:
(22.9) p ik = ω ik υ ik
The sum of the participation factors of all nodes corresponds to the scalar product of the
left and right eigenvector, and is therefore equal to one. In this sense, the participation
factor gives an indication of the extent of the influence the variation of active power on a
22 - 21
DIgSILENT PowerFactory Load Flow Analysis
22 - 22
DIgSILENT PowerFactory Short-Circuit Analysis
Chapter 23
Short-Circuit Analysis
23 - 1
DIgSILENT PowerFactory Short-Circuit Analysis
23 - 2
DIgSILENT PowerFactory Short-Circuit Analysis
23 - 3
DIgSILENT PowerFactory Short-Circuit Analysis
The Complete Method for calculating short-circuits has been improved in PowerFactory
Version 14 as described below. Additionally, the quantities described below are shown in
Figure 23.1.
• A more precise Peak Current, ip, is calculated based on the accurate subtransient
short-circuit current (which is calculated using the complete method) and the R/X
ratio (which is based on the IEC 60909 standard);
• The Breaking Current, Ib, (RMS value) is calculated based on the subtransient short-
circuit current and the transient short-circuit current (both of which are calculated by
the complete method);
• The Peak Breaking Current, ib, is calculated from the RMS breaking current, Ib, and
the decaying d.c. component;
• The Thermal Current, Ith, is calculated based on the IEC standard, using the m and n
factors (see Figure 23.1). The n-factor calculation uses the transient current instead of
the steady-state current;
23 - 4
DIgSILENT PowerFactory Short-Circuit Analysis
• Additionally, loads can have a contribution to the short-circuit current, which can be
defined in the load element (Fault Contribution section of Complete Short-Circuit tab).
23 - 5
DIgSILENT PowerFactory Short-Circuit Analysis
23 - 6
DIgSILENT PowerFactory Short-Circuit Analysis
As the IEC standard includes a worst-case estimation for minimum and maximum short-
circuit currents, some PowerFactory elements require additional data. These elements
are:
Lines
In their type, the maximum admissible conductor temperature (for
minimum short-circuit currents) must be stated. Line capacitances are
not considered in the positive/negative sequence systems, but must be
used in the zero-sequence system.
Transformers
Require a flag indicating whether they are unit or network
transformers. Network transformers may be assigned additional
information about operational limits which are used for a more precise
calculation of the impedance correction factor. Unit transformers are
treated differently depending on whether they have an on-load or a no-
load tap changer.
Synchronous Machines
Subtransient impedances are used. Additionally, information regarding
the voltage range must be given.
Asynchronous Machines
The ratio of starting current to rated current is used to determine the
short-circuit impedance.
Please refer to the IEC 60909 standard to find detailed information regarding specific
equipment models and correction factors for each element.
23 - 7
DIgSILENT PowerFactory Short-Circuit Analysis
23 - 8
DIgSILENT PowerFactory Short-Circuit Analysis
If the user would instead like to select from the single-line diagram a single busbar/ter-
minal, or multi-select several busbars/terminals for calculation, the dialogue will be con-
figured as follows:
• When only a single busbar/terminal is selected, and Calculate −> Short-Circuit is
chosen from the context-sensitive menu, the Fault Location reference (bottom of
dialogue) is set to the selected element.
• When two or more busbars/terminals are selected and Calculate −> Short-Circuit is
chosen from the context-sensitive menu, the Fault Location reference (bottom of
dialogue) is set to a so-called "Selection Set'' (SetSelect) object, which contains a list
of references to the selected busbars/terminals.
In either case, various options for the calculation can be modified. Please refer to Section
23.3 for a detailed description of the options available. It should be noted that selecting
or deselecting the option Multiple Faults may change the selection of fault locations and
may therefore lead to a calculation for locations other than the busbars/terminals selected
in the single line graphic. After pressing the Execute button, the calculation is executed
and, if successful, the results are displayed in the single line graphic. In addition, 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 simple to execute further calculations based on the same selection of elements. This
can be done by the following alternative means of executing the short-circuit calculation
command:
• Clicking the button located in the Short-Circuit at Branch/Line section of the tab
will enable the user to select whether the fault location is defined as a percentage or
as an absolute value.
23 - 9
DIgSILENT PowerFactory Short-Circuit Analysis
When a fault on a line/branch is calculated, a box containing the calculation results is dis-
played next to the selected element.
23 - 10
DIgSILENT PowerFactory Short-Circuit Analysis
• A window opens up which shows the list of events (i.e. short-circuits at the selected
locations). When double-clicking on one entry in this list (i.e. its entire row), a window
with a description of the event is opened.
• The short-circuit event settings can now be modified. 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/terminal, line, etc) and displays a short description of the fault type. An
example is shown in Figure 23.9.
Note To re-use the event list (IntEvtshc) later, this object can be copied
to a user-defined folder in the Data Manager. This will prevent it
from being modified during future calculations. When repeating
the calculation with the same configuration, the reference in Cal-
culate -> Multiple Faults can be set to this object.
23 - 11
DIgSILENT PowerFactory Short-Circuit Analysis
An example of the short-circuit command dialogue is shown in Figure 23.10 (IEC calcula-
tion in this case). The sections of the dialogue which are common to all calculation meth-
ods are:
Method
PowerFactory provides the following calculation methods for short-circuit calculation:
• according to VDE (the German VDE 0102/0103 standard);
• according to IEC (the International IEC 60909 standard);
• according to ANSI (the American ANSI/IEEE C37 standard);
23 - 12
DIgSILENT PowerFactory Short-Circuit Analysis
• complete (superposition method which considers the pre-fault load-flow results (see
Section 23.1.1)).
The specific options for each of these methods are available on the Advanced Options tab
of the short-circuit command (ComShc) dialogue.
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
• 2-Phase to Neutral
• 2-Phase Neutral to Ground
• 3-Phase to Neutral
• 3-Phase Neutral to Ground
• 3-Phase Short-Circuit (unbal.)
The fault types with a neutral conductor should only be used for lines which are modeled
using neutral conductors.
Fault Impedance
The fault impedance corresponds to the reactance and the resistance of the fault itself
(i.e. the impedance of the arc or of the shortening path). This can be defined by means
of an enhanced model, where line to line (Xf(L-L), Rf(L-L)) and line to earth (Xf(L-E), Rf(L-
E)) impedances are regarded (note: requires option Enhanced Fault Impedance to be en-
abled). If the option Enhanced Fault Impedance is not enabled, fault impedances are de-
fined by their equivalent values, Xf and Rf.
Figures 23.11 to 23.13 illustrate the differences between the enhanced and the simplified
representation of fault impedances for the following fault types: (i) 3-phase short-circuits;
(ii) 2-phase faults to ground; and (iii) 2-phase faults.
23 - 13
DIgSILENT PowerFactory Short-Circuit Analysis
23 - 14
DIgSILENT PowerFactory Short-Circuit Analysis
Output
A textual report is automatically written to PowerFactory’s output window when the On
option in the Output section of the dialogue is enabled. The command which generates
this report is displayed in blue text next to the Command button . The user can click
on this button to select which type of report will be printed out. Immediately below the
Command button, blue text informs the user of the currently-selected report type.
Fault Location
The fault location selection options are:
At User Selection:
In this case a reference to a single terminal/busbar/line/branch or to a
selection of busbars/terminals (SetSelect), as explained in Sections
23.2.3 and 23.2.4 must be given.
At Busbars and Junctions/Internal Nodes:
For every terminal (ElmTerm) in the network, a short-circuit
calculation is carried out, independently (i.e. one after the other).
At All Busbars:
For every terminal (ElmTerm) in the network whose Usage is set to
Busbar (see Section 7.3.2), a short-circuit calculation is carried out,
independently (i.e. one after the other).
If the option Multiple Faults has been ticked when the Complete Method is being used, a
reference to a set of fault objects (IntEvtshc), as explained in Section 23.2.5, must be
set. This is done in the Fault Location section of the dialogue; using the Short Circuits ref-
erence.
Note: Multiple faults will only be calculated for the 'Complete Method',
when the option 'Multiple Faults' is enabled. When this option is en-
abled, a short-circuit calculation is carried out for each individual
fault location, simultaneously. When this option is disabled, cases
where more than one fault location have been selected (i.e. several
busbars/terminals), a sequence of short-circuit calculations is per-
formed (i.e. each short-circuit calculation is carried out indepen-
dently of each other short-circuit calculation).
23.3.2 Verification
When enabled, the Verification option will write a loading report to the output window.
This report shows the various maximum and calculated currents for rated devices. Rated
devices include, for instance:
• Lines which have a rated short-time current in their line type which is greater than
zero; and
• Breakers or coupling switches which have a type with a valid rated current.
23 - 15
DIgSILENT PowerFactory Short-Circuit Analysis
Published
This option offers a sub-selection for the selected Method, where the version of the stan-
dard to be used can be selected according to the year in which it was issued. The most
recent standard is 2001, however 1990 is still available for the verification of documented
results.
Calculate
The drop-down list offers the choice between the minimal or maximal short-circuit cur-
rent.
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.
Note: The fields 'Method', 'Fault Type', 'Fault Impedance', 'Output' and
'Fault Location' are described in Section 23.3.1.
23 - 16
DIgSILENT PowerFactory Short-Circuit Analysis
Generally, the Advanced Options tab (shown in Figure 23.14) is used for settings to tune
the various short-circuit calculation methods. Familiarization with the IEC/VDE standard
before modifying these options is strongly recommended.
Grid Identification
The calculation of the factor kappa is different in the cases of meshed or radial feeding of
the short-circuit. Normally PowerFactory will automatically find the appropriate setting.
The option 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 the correction factor. In this case, activate the
box User-Defined, then a specific c-factor can be entered.
Asynchronous Motors
Whether the calculation considers the influence of asynchronous motors on short-circuit
currents depends on this setting, which may be Always Considered, Automatic Neglection,
23 - 17
DIgSILENT PowerFactory Short-Circuit Analysis
or Confirmation of Neglection.
Conductor Temperature
When activating the User-Defined option, the initial (pre-fault) conductor temperature can
be set manually. This will influence the calculated maximum temperature of the conduc-
tors, as caused by the short-circuit currents.
R
– ω ⋅ T b ⋅ ----
i DC = 2 ⋅ I″ k ⋅ e X
Method C: Uses the R/X ratio calculated with the equivalent frequency method.
The equivalent frequency is dependent on the breaking time (see Table
23.1). This method is recommended for maximum accuracy.
R
– ω ⋅ T b ⋅ -----f
i DC = 2 ⋅ I″ k ⋅ e Xf
R Rc fc
------f = ------ ⋅ -----------
Xf X c f nom
The ratio Rc/Xc is the equivalent impedance calculated at the frequency
given by:
fc
f c = ----------- ⋅ f nom
f nom
23 - 18
DIgSILENT PowerFactory Short-Circuit Analysis
Method C': Uses the R/X ratio as for the peak short-circuit current, thus selecting
the ratio fc/fn = 0.4. This option speeds up the calculation, as no
additional equivalent impedance needs to be calculated.
Calculate Ik
The steady-state short-circuit currents can be calculated using different means to consider
asynchronous machines:
Without Motors
Will disconnect all asynchronous motors before calculating the current
Ik.
DIgSILENT Method
Considers all asynchronous motors according to their breaker current.
The breaker opens after the maximum possible time.
Ignore Motor Contributions
Considers asynchronous motor impedances during the calculation, but
will reduce the calculated results for motor contributions.
23 - 19
DIgSILENT PowerFactory Short-Circuit Analysis
Prefault Voltage
Value of the pre-fault voltage (required by the ANSI standard).
23 - 20
DIgSILENT PowerFactory Short-Circuit Analysis
NACD Mode
The NACD factor is the ratio of remote current contribution to the total fault current: NACD
= Iremote/Ifault. This NACD factor is used to calculate the breaker currents, including the
DC component of the current. The remote current contribution required to evaluate the
NACD factor is the sum of all remote generator contributions (induction generators, syn-
chronous machines, and external grids).
The calculation of the NACD factor can be very time consuming, as the contribution of
each generator is calculated individually. Therefore, different approximation methods can
be selected, which represent the most common interpretations of the ANSI standard:
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.
Predominant The the NACD factor is calculated. If the resulting factor is greater than
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.
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 short-circuit currents.
LV/Interrupting
Evaluates the breaker currents.
30 Cycle Evaluates the 30-cycle (steady-state) current.
Note: The fields 'Method', 'Fault Type', 'Fault Impedance', 'Output' and
'Fault Location' are described in Section 23.3.1.
23 - 21
DIgSILENT PowerFactory Short-Circuit Analysis
Calculate
This option is used to select the various currents (according to the ANSI standard) which
are to be calculated. The options are as follows:
• Momentary Current
• Interrupting Current
• 30 Cycle Current
• Low-Voltage Current
23 - 22
DIgSILENT PowerFactory Short-Circuit Analysis
X/R Calculation
The user may select between a complex number R/X ratio calculation, or a calculation
which considers R and X separately.
23 - 23
DIgSILENT PowerFactory Short-Circuit Analysis
As opposed to the calculation methods according to IEC/VDE and ANSI, which represent
short-circuit currents by approximations, the complete method evaluates currents without
using approximations. This accurate evaluation of the currents takes into account the sys-
tem conditions immediately prior to the onset of the fault.
Load Flow
The pre-fault system condition used by the complete method can be determined either
by the evaluation of a load flow, or by means of a simplified method, which initializes the
internal voltages of all components that contribute to the short-circuit current with their
nominal values, multiplied by a scalar factor, c.
The load flow command used to initialize the short-circuit calculation (when Load Flow
Initialization on the Advanced Options tab is selected, see Section 23.3.8) is displayed
next to the button labelled Load Flow ( ). The load flow command can be accessed and
modified by pressing this button . The load flow command displayed here is initially
taken from the currently active study case.
Short-Circuit Duration
The value for the Break Time (Global) is used to calculate the breaking current of circuit
breakers. Depending on the user selection, the value used for the break time within the
calculation is:
global
The Break Time (Global) defined in the short-circuit command.
min. of local
The shortest Break Time of all circuit breakers (defined in the Complete
Short-Circuit tab of ElmCoup objects) connected to the busbars being
studied.
local
For each connected circuit-breaker, its own Break Time (defined in the
Complete Short-Circuit tab of ElmCoup objects) is used for the
calculation of the breaking current, however for busbar results, the
fastest of these Break Times is used.
Note: The fields 'Method', 'Fault Type', 'Fault Impedance', 'Output' and
'Fault Location' are described in Section 23.3.1.
23 - 24
DIgSILENT PowerFactory Short-Circuit Analysis
Initialisation
The user may select to initialize the complete method by one of the following options:
• the load flow calculation referred to in the Load Flow field of the Basic Options tab; or
• the nominal voltages with a user-defined correction factor (c-Factor). It should be
noted that this option is only available in the dialogue when Load Flow Initialisation is
unticked.
23 - 25
DIgSILENT PowerFactory Short-Circuit Analysis
C(1)
For κ, the ratio R/X_p calculated at a virtual frequency of 40% (based
on the short-circuit impedance in the positive sequence system) is
used. The R/X_b ratio is calculated according to the equivalent
frequency method, considering the breaking time and the positive
sequence impedance (as for Method C from the IEC standard, however
it should be noted that the IEC correction factors are not considered).
C(012)
Like C(1) described directly above, but uses the correct short-circuit
impedance based on the positive-, negative- and zero-sequence
system.
23 - 26
DIgSILENT PowerFactory Harmonics Analysis
Chapter 24
Harmonics Analysis
One of several aspects of power quality is the harmonic content of voltages and currents.
Harmonics can be analyzed in either the frequency domain, or in the time-domain with
post-processing using Fourier Analysis. The PowerFactory harmonics functions allow
the analysis of harmonics in the frequency domain.
Two different functions are provided by PowerFactory:
• Harmonic Load Flow
• Frequency Sweep
PowerFactory’s harmonic load flow calculates actual harmonic indices related to voltage
or current distortion, and harmonic losses caused by harmonic sources (usually non-linear
loads such as current converters). Harmonic sources can be defined by a harmonic current
or a harmonic voltage spectrum. In the harmonic load flow calculation, 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, PowerFactory’s frequency sweep performs a contin-
uous frequency domain analysis. A typical application of the frequency sweep function is
the calculation of network impedances. The result of this calculation facilitates the iden-
tification of series and parallel resonances in the network.
These resonance points can identify the frequencies at which harmonic currents cause low
or high harmonic voltages. Network impedances are of particular importance for applica-
tions such as filter design.
PowerFactory provides a toolbar for accessing the different harmonic analysis com-
mands. This toolbar can be displayed (if not already active) by selecting the Harmonics
icon ( ) on the main toolbar. The harmonics toolbar provides two icons to open pre-
configured command dialogues for the two different calculations:
24 - 1
DIgSILENT PowerFactory Harmonics Analysis
For a detailed description of the harmonic calculations, refer to the section titled Harmon-
ics Analysis in the Technical References, where the analysis and the harmonic indices
are described.
The following sections describe the options available in the harmonic load flow command.
Network Representation
Balanced
In the 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
24 - 2
DIgSILENT PowerFactory Harmonics Analysis
Calculate
Single Frequency
Selecting this option will perform a single harmonic load flow
calculation at the given Output Frequency (parameter name: fshow) or
at the given harmonic order. 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 Frequencies
Selecting this option will 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 20.1.2 (Plots)).
24 - 3
DIgSILENT PowerFactory Harmonics Analysis
Harmonic analysis by frequency sweep is normally used for analyzing self- and mutual-
24 - 4
DIgSILENT PowerFactory Harmonics Analysis
network impedances.
However, it should be noted that not only self- and mutual-impedances can be analyzed
and shown. The voltage source models available in PowerFactory allow the definition
of any spectral density function. Hence, impulse or step responses of any variable can be
calculated in the frequency domain. One common application is the analysis of series res-
onance problems.
The following sections describe the options available for the harmonic frequency sweep
calculation.
Network Representation
Balanced, positive sequence
This option uses a single-phase, positive sequence network
representation, valid for balanced symmetrical networks. A balanced
representation of unbalanced objects is used.
Unbalanced, 3 Phase (ABC)
This option uses a full multiple-phase, unbalanced network
representation.
Impedance Calculation
The frequency sweep will be performed for the frequency range defined by the Start Fre-
quency and the Stop Frequency, using the given Step Size.
An option is available which allows an adaptive step size. Enabling this option will normally
speed up the calculation, and enhance the level of detail in the results by automatically
using a smaller step size when required. The settings for step size adaptation can be
changed on the Advanced Options tab.
24 - 5
DIgSILENT PowerFactory Harmonics Analysis
The filter analysis report generator can be activated using the icon or by using the
Output Calculation Analysis icon from the main menu (see also Section 20.2.5: Out-
put of Results). This will open the same dialogue as that used for the reporting of har-
monic results, as displayed in Figure 24.3.
24 - 6
DIgSILENT PowerFactory Harmonics Analysis
In the dialogue, the Output Frequency specified in the harmonic load flow command is
displayed in red text (see top of dialogue in Figure 24.3). There are four different reports
to choose from:
Busbars and Branches
This displays the results of the harmonic load flow for all node and
branch elements 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
are displayed.
Filter Layout The filter layout of all active filters in the network is calculated for the
given frequency. The rated values and impedances of the filter as well
as the type and vector group are printed to the output window.
Additionally, 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
currents through the filter are tabulated.
The default format used for the report in the output window is defined in the Used Format
section of the dialogue and can be set or changed by clicking on the Filter Layout button
( ).
24 - 7
DIgSILENT PowerFactory Harmonics Analysis
24 - 8
DIgSILENT PowerFactory Harmonics Analysis
The spectrum object is independent of the whether the harmonic source is either a volt-
age source or a current source. The decision as to whether harmonic sources are fed into
the system as harmonic voltages or as harmonic currents is made exclusively by the ele-
ment to which the spectrum type is associated.
I ( fi )
Eqn 24.1: HD I ( f i ) = --------------
I ( f1 )
1 2 2
Eqn 24.2: THD I = -------- ⋅ I RMS – I ( f 1 ) (Total Harmonic Distortion)
I ref
1
Eqn 24.3: TAD I = -------- ⋅ [ I ΣA – I ( f 1 ) ] (Total Arithmetic Distortion)
I ref
where
I(fi) Component of the current at frequency fi
24 - 9
DIgSILENT PowerFactory Harmonics Analysis
24 - 10
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 should be selected in the Balanced/Unbalanced Sourc-
es section (as shown in Figure Balanced Harmonic Source Type (TypHmccur)). In this con-
text, Balanced refers to characteristic harmonics. In the balanced case, the harmonic
frequencies are determined by the program (note that in the unbalanced case, the har-
monic frequencies can be freely-defined).
For harmonic sources which produce non-characteristic, unbalanced or inter-harmonics,
the option Unbalanced should be set in the Balanced/Unbalanced Sources section. In the
Unbalanced' case, the harmonic frequency, magnitude and phase angle of each phase can
be chosen individually for each harmonic frequency. This mode therefore caters for every
possible kind of harmonic source.
The problem commonly arises as to how one can represent the harmonic content in a sys-
tem which differs to the native modal system (positive, negative or zero sequence sys-
tem). The following example illustrates how to represent the 3rd harmonic in a positive
or negative sequence system (as opposed to the native zero sequence system).
In the symmetrical case, the phase shift between the three phases is:
24 - 11
DIgSILENT PowerFactory Harmonics Analysis
A: 0°
B: -120°
C: +120° (-240°)
For harmonics of order n:
A: 0°
B: -n*120°
C: +n*120°
Taking the 3rd harmonic as an example:
A: 0°
B: -360°(= 0°)
C: +360° (=0°)
Consequently, the 3rd harmonic in the ideally balanced case only in the zero sequence
component, as their native modal system. For representing 3rd harmonics (and multiples
thereof) in the positive sequence system, the following phase correction needs to be en-
tered:
A: 0°
B: +(n-1)*120°
C: -(n-1)*120°
Again taking the 3rd harmonic as an example:
A: 0°
B: -360° + 240° = -120°
C: +360° - 240° = 120°
24 - 12
DIgSILENT PowerFactory Harmonics Analysis
For the polynomial characteristic object shown in Figure 24.6, the following formula is
used:
⎛ f h⎞ b
y ( f h ) = ( 1 – a ) + a ⋅ ⎜ ----⎟
⎝ f 1⎠
The parameters a and b are specified in the ChaPol dialogue. Variable y is usually ex-
pressed in % of the corresponding input parameters. For example, the resulting line re-
sistance is obtained by:
R ( fh ) = R × y ( fh )
An example of the use of the polynomial characteristic for a line type is shown in Figure
24.7.
24 - 13
DIgSILENT PowerFactory Harmonics Analysis
The following objects can have frequency dependent parameters defined using a frequen-
cy characteristic:
TypLne Line Type
TypAsm Asynchronous Machine Type
TypSym Synchronous Machine Type
ElmShnt Shunt/Filter
ElmVac AC Voltage Source
ElmNec NEC/NER
Lines which are represented by a tower type TypTow are automatically assigned a har-
monic characteristic. The same applies to cables using the detailed cable representation
type TypCab.
24 - 14
DIgSILENT PowerFactory Harmonics Analysis
New result variables may also be added by clicking on the Edit Result Variable icon ( )
on the main toolbar. There are two instances of this button; one for each harmonic anal-
ysis function, i.e. one associated with the Harmonic Load Flow . and one associated
with the Frequency Sweep . Select the button associated with the relevant calculation.
This will open the variable set manager, which displays the list of all defined variable sets
for that calculation. Each variable set contains the variables of interest for a single object.
A window is opened automatically whenever a new variable set is defined, as shown in
Figure 24.9, displaying the list of variable sets. A new variable set can also be defined by
clicking on the New icon ( ).
It should be noted that the column labelled Object must be set before any variables can
be defined. This can be done by either double-clicking the appropriate cell, or by right-
clicking the cell and selecting Select Element.... A single variable set from the variable sets
list can be accessed (and the desired variables defined) by either double-clicking on the
icon in the corresponding row, or right-clicking on the icon and selecting the
Edit menu option. The Variable Set object (IntMon) dialogue opens, as shown in Figure
24.10. Select the Harmonics tab of the IntMon dialogue and then a list of all results that
are available for the selected object (relevant to harmonics analysis) will be available for
selection.
24 - 15
DIgSILENT PowerFactory Harmonics Analysis
Result variables may be added or removed from the set of selected variables by pressing
the or buttons. Additionally, different variables are available for selection depend-
ing on the selection made from the Variable Set drop-down list. This is available in the
Filter for section on the Harmonics tab of the IntMon dialogue.
It should be noted that as the results of the discrete harmonic analysis are discrete, the
plots generated from the result file should have the Bars option enabled. To do this, open
the subplot dialogue by double-clicking on a subplot, going to the Advanced tab, and se-
lecting Bars in the Presentation section.
24 - 16
DIgSILENT PowerFactory Stability and EMT Simulations
Chapter 25
Stability and EMT Simulations
• Selecting the Stability toolbar by clicking on the Stability icon from the Select
toolbar;
• Calculating the initial conditions for the simulation by either pressing the icon on
the main toolbar, or by selecting Calculation −> Stability −> Initial Conditions... from
the main menu;
• When the initial values have been calculated successfully, the icon on the main
toolbar will be activated and can be pressed to start the simulation.
25 - 1
DIgSILENT PowerFactory Stability and EMT Simulations
25.1 Introduction
The study of power system stability involves the analysis of the behavior of power systems
under conditions before and after sudden changes in load or generation, during faults and
outages. The robustness of a system is defined by the ability of the system to maintain
stable operation under normal and perturbed conditions. It is therefore necessary to de-
sign and operate a power system so that transient events (i.e. probable contingencies),
can be withstood without the loss of load or loss of synchronism in the power system.
Transients in electrical power systems can be classified according to three possible time-
frames:
• short-term, or electromagnetic transients;
• mid-term, or electromechanical transients;
• long-term transients.
The multilevel modelling of power system elements and the use of advanced algorithms
means that the functions in PowerFactory can analyse the complete range of transient
phenomena in electrical power systems. Consequently, there are three different simula-
tion 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,
i.e. for analyzing dynamic behaviour after unsymmetrical faults;
3 An electromagnetic transient (EMT) simulation function using a dynamic network
model for electromagnetic and electromechanical transients under balanced and
unbalanced network conditions. This function is particularly suited to the analysis of
short-term transients.
In addition to the time-domain calculations, two other analysis functions are available:
• Parameter Identification
• Modal Analysis or Eigenvalue Analysis
Time-domain simulations in PowerFactory are initialized by a valid load flow, and Pow-
erFactory functions determine the initial conditions for all power system elements includ-
ing all controller units and mechanical components. These initial conditions represent the
steady-state operating point at the beginning of the simulation, fulfilling the requirements
that the derivatives 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 load flows, and the dynam-
ic model state variable integrals simultaneously. Highly accurate non-linear system models
result in exact solutions, including during high-amplitude transients. Various numerical in-
tegration routines are used for the electromechanical systems (including voltage regula-
tors and power system stabilisers) and also for the hydro-mechanical or thermo-
mechanical models.
The process of performing a transient simulation typically involves the following steps:
1 Calculation of initial values, including a load flow calculation;
2 Definition of result variables and/or simulation events;
25 - 2
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 3
DIgSILENT PowerFactory Stability and EMT Simulations
• Selecting the icon from the icon toolbar, and then pressing the icon;
• Selecting Calculation −> Stability −> Initial Conditions... from the main menu.
In the Initial Conditions command (ComInc) dialogue all simulation settings can be de-
25 - 4
DIgSILENT PowerFactory Stability and EMT Simulations
fined, such as the simulation type (i.e. RMS or EMT, balanced or unbalanced) and simu-
lation step size settings.
These settings include:
Basic Options
The simulation type is selected here (RMS, EMT; balanced,
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 use by the step size
algorithms.
Step Size Adaptation
Enables the variable step size algorithm.
Advanced Options
Includes various error margins, iteration limits, damping factors, etc.
Noise Generation
Defines parameters of the noise generation for stochastic applications.
25 - 5
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 6
DIgSILENT PowerFactory Stability and EMT Simulations
All warnings or error messages issued in the output window should be checked carefully.
Typical problems are devices which are overloaded or operate above or below signal lim-
itation 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 !
25 - 7
DIgSILENT PowerFactory Stability and EMT Simulations
Start Time
The start time of the simulation. This is typically negative, allowing the first event
to be analysed to take place at t=0s.
In addition to the Newton-Raphson based algorithm for the solution of "weak'' non-linear-
ities (i.e. saturation effects in synchronous and asynchronous machines), the EMT simu-
lation function allows interrupts for the simulation of "strong'' non-linearities (i.e.
switches, two-slope transformer saturation or thyristors). These interrupts can also occur
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 step size to cater for 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
equations (stepsize dtgrd).
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. It is strongly recommended to critically
observe the simulation time and the results for different simulation
parameters.
25 - 8
DIgSILENT PowerFactory Stability and EMT Simulations
Event Control
Resolution Factor
The value entered here (parameter name: kres) determines the time interval used to syn-
chronize events. Every time an internal or external event occurs (usually between two in-
tegration time steps), PowerFactory interpolates all state variables up to the moment
in time at which the event has occurred and restarts the simulation from there. In the
case of large disturbances it is possible that a very large number of events occur almost
simultaneously. As this would slow down the simulation considerably, PowerFactory ex-
ecutes all events that occur within a time interval of duration kres*dtmin at the same time.
All system variables are then interpolated up to the point in time when the event takes
place, and the simulation is started from there. A higher resolution factor decreases the
minimum time interval between events. The default value of 0.001 is usually sufficient.
If an event occurs, there are two different options available:
Integration Control
errseq Maximum Error of State Equations (typical value: 0.1%)
itrpx Maximum Number of Successive State Iterations (typical value: 10)
alpha_rms Damping Factor (RMS) (typical value: 1)
alpha_emt Damping Factor (EMT) (typical value: 0.99)
Iteration Control
errsm Maximum Iteration Error of Nodal Equations (typical value: 10*errlf )
The iteration error errsm depends on the nominal power of the
machines and the 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 best done by plotting some voltages at generator
25 - 9
DIgSILENT PowerFactory Stability and EMT Simulations
Signal Buffer
Reference System
25 - 10
DIgSILENT PowerFactory Stability and EMT Simulations
(not an A-stable algorithm), the integration step size must be adjusted to the eigenvalues
of a system. Such a method (Relaxation Method) means a 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. But if excessively large step sizes are used, the
numerical solution becomes unstable, even if fast modes have fully decayed and are no
longer apparent in the system.
With the PowerFactory A-stable algorithm, 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 will automatically smooth fast variations. A typical applica-
tion of this type of algorithm is the simulation of long-term phenomena - where it is nec-
essary 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
short (i.e. 1ms), even if a stability model with steady-state equations for the electrical net-
work is used. Hence, using a classical integration algorithm would require the use of step
sizes significantly smaller than the smallest time constant of the system, otherwise it
would be numerically instable.
It should be mentioned, that it is also possible to choose the usage of an A-stable algo-
rithm for some element models only (not for all models), so that it is possible to run just
a part of the models with the A-stable algorithm (for example the power electronic con-
verters or fast controllers). This option is available in the dialogues of the elements.
With the A-stable algorithm, these systems can be analysed with reasonable step sizes.
Hence, the A-stable algorithm cannot be described as using simplified models but as a
different type of numerical integration algorithm.
25 - 11
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 12
DIgSILENT PowerFactory Stability and EMT Simulations
Such a result object reference refers to the currently used result object. The downward
arrow button ( ) is used to select or reset the reference, or to edit the contents of the
referenced result object.
The right-arrow button ( ) is used to edit the result object itself. When editing the out-
put variables press this Edit button and then Contents to get access to the list of vari-
ables stored inside the result object. This will pop up the corresponding ElmRes edit
dialogue.
An easier way to edit or inspect the result object is to press the icon on the main
toolbar, or to select the Data −> Stability −> Result Variables option from the main menu.
This will enable the user to edit the contents of the currently selected Result object in the
Initial Conditions (ComInc) command dialogue. Result objects (ElmRes) are treated in
detail in Chapter 20 (Reporting Results in PowerFactory).
To add variables of different elements to the result object for RMS and EMT simulations,
right-click on the desired element in the single-line graphic and select Define...--> Variable
Set (Sim)... as shown in Figure 25.4.
25 - 13
DIgSILENT PowerFactory Stability and EMT Simulations
This element will then be monitored during the simulation. A browser window is automat-
ically opened, and by double-clicking on the variable set icon ( ) of the relevant row,
the variables of interest to be recorded can then be selected. See also Section 20.2.1 (Re-
sult Objects).
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 to only use variables for
the calculation which is currently being performed.
25 - 14
DIgSILENT PowerFactory Stability and EMT Simulations
20.1.2 (Plots).
25.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, 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 Switch events (EvtSwitch)
2 Parameter events (EvtParam)
3 Short-circuit events (EvtShc)
4 Intercircuit fault events (EvtShcll)
5 Synchronous machine events (EvtSym)
6 Load events (EvtLod)
7 Outage of element (EvtOutage)
8 Message events (EvtMessage)
9 Set integration step size event (EvtStep)
10 Tap event (EvtTap)
The different events are stored in the event object. The contents of the currently selected
event object (labelled Events) can be found in the ComInc dialogue. This object can be
edited using the right-arrow ( ) button followed by the Contents button to access the
event list stored inside the event object.
Alternatively, the event object can be easily accessed from the main toolbar by pressing
the Edit Simulation Events 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. Figure
25.5 shows an example set of events.
25 - 15
DIgSILENT PowerFactory Stability and EMT Simulations
When creating a new event, use the icon in the toolbar, as can be seen in the Simu-
lation Events object dialogue in Figure 25.5. The event type can be chosen from the list
in the element selection dialogue which pops up, as shown in Figure 25.6. The events can
also be modified during a simulation by stopping the calculation, editing the events and
continuing the simulation.
25 - 16
DIgSILENT PowerFactory Stability and EMT Simulations
An alternative means of defining events is as follows: upon calculation of the initial con-
ditions ( ), or when the simulation is already running, double-click on the desired cu-
bicles to create switch events. Additionally, the user can right-click on an element and
then select an element-related event such as Define... −> Switch Event, Define... −> Load
Event or Define... −> Short-Circuit Event.
During a simulation all previous events (i.e. events which have already occurred), are dis-
played in a grey font style and can no longer be edited or changed. 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.
Note At the end of a simulation the event list shows all events, which are
now grey in color. They can no longer be modified for this simula-
tion, because the simulation could be restarted from this point on.
To change the events for a new simulation one must first initialise
the calculation again ( ), so the simulation time is reset to the
beginning.
25 - 17
DIgSILENT PowerFactory Stability and EMT Simulations
After pressing OK, the reference to the switch (labelled Breaker or Element) must be man-
ually set. Any switch in the power system may be selected, thus enabling the switching
of lines, generators, motors, loads, etc. The user is free to select the switches/breakers
of all phases or of only one or two phases.
It should be noted that more than one switching event must be created if, for instance, a
line has to be opened at both ends. These switch events should then have the same ex-
ecution time.
25 - 18
DIgSILENT PowerFactory Stability and EMT Simulations
The duration of the fault cannot be defined. Instead, to clear the fault, another short-cir-
cuit event has to be defined, which will clear the fault at the same location. An example
is shown in Figure 25.5.
25 - 19
DIgSILENT PowerFactory Stability and EMT Simulations
A running simulation may be interrupted by pressing either the icon or the icon
on the main toolbar. Additional events can be created and results may be viewed while
the simulation is paused. The simulation is then continued by pressing the icon again.
Pausing and continuing the simulation may be done as often as required.
25 - 20
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 21
DIgSILENT PowerFactory Stability and EMT Simulations
• The composite models are based on composite frames and are 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 by
the following example.
Suppose the frequency deviation 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 detail
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.
PCU
Primary Controller Unit
Figure 25.8 shows a typical configuration of a synchronous generator with power system
stabilizer, voltage controller, primary controller, and prime mover model. The primary con-
troller and prime mover can be summarized as the primary controller unit model. To cre-
ate this kind of 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 steps 2 and 3: it would be possible to create custom-
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 as that between individual controller (Common Model) and
25 - 22
DIgSILENT PowerFactory Stability and EMT Simulations
controller definition (Model Definition) is used; this time between the generic power plant
diagram (Composite Frame) and the individual power plant (Composite Model). DIgSI-
LENT 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 an 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 25.9, references the 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 Composite Block
Definitions (part of Section 25.8.3: Defining DSL Models). The slots in the composite
frame are pre-configured for specific transient models.
• The schematic diagram in Figure 25.10 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 is called a Built-In
Model, see Figure 25.11. This means that such elements are pre-configured elements
which do not need a specific model definition. Any kind of element which is able to
provide input or output variables, e.g. converters, busbars, etc, can be inserted into
the slots.
• The voltage controller, and primary controller unit, however, are user-defined
Common Models, see Figure 25.12. The 'front-end' of all user-defined transient
models is always a common model (ElmDsl), which combines a model definition with
specific parameter settings. There are predefined definitions as well, so that the user
can create her/his own model definitions.
• The common model has a reference to the Model Definition (BlkDef ), which looks
similar to the composite frame (shown in Figure 25.13). Here different blocks are
defined and connected together according to the diagram. The input and output
variables have to fit with the slot definition of the slot that the model is defined for.
Not all slots of the composite model must necessarily be used. There can also be empty
slots. In such cases, the input of this slot is unused and the output is assumed to be con-
stant over the entire simulation. The usage of composite models with a composite frame,
and 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 Section 25.8 (User Defined (DSL) Models).
25 - 23
DIgSILENT PowerFactory Stability and EMT Simulations
0
vco slot ve
0 0
upss ElmVco*
pss slot 1
ElmPss*
sym Slot
ElmSym*
pcu Slot pt
1 1
ElmPcu*
fe
G
~
G1 L1
25 - 24
DIgSILENT PowerFactory Stability and EMT Simulations
usetp
o13
Emax
2
u - o12 yi PID Controller ve _{K/(1+sT)}_ uerrs
Ta,Tb,K1 Ke,Te
Emin
upss
3
25 - 25
DIgSILENT PowerFactory Stability and EMT Simulations
A composite model element (ElmComp) can created using the "New Object" ( ) icon,
located in the toolbar of the data manager and selecting Composite Model from the avail-
able options. The next step is to select the composite frame. The composite frame can be
stored either in the global library or in the local library, and is conceptually similar to a
type definition for an electrical element. The composite model then shows the list of slots
in the composite frame as shown in Figure 25.14.
Existing controllers or models can be assigned to a slot manually by right-clicking the slot
and selecting Select Element/Type, as depicted in Figure 25.14. 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.
When inserting controller models into a slot, it is often the case that the controller element
has not yet been created. To create a new controller element select New Element/Type
from the slot’s context-sensitive menu. PowerFactory will automatically jump to the
project Library and show a list of available user defined models (ElmDsl).
Selecting a model definition from the project library or the global library will open the el-
ement dialogue of the newly-created common model, so that its parameters can be de-
fined, similar to (for example) a transformer element. If no suitable model is found, a
block definition has to be selected prior to setting the model parameters (see Section
25.7.3 (The Composite Frame) and Figure 25.13).
If an element is assigned to a slot, it is possible to edit the assigned element by simply
right-clicking and selecting Edit Element/Type. The right-mouse button menu entry Reset
Element/Type will reset the slot, so that it is empty again.
25 - 26
DIgSILENT PowerFactory Stability and EMT Simulations
Note Depending on the settings of the individual slot, the menu entry
Reset Element/Type will not only clear the marked slot but also de-
lete the built-in or common model, if it is stored inside the compos-
ite model in the data manager. These settings are explained in
detail in Section 25.7.3 (The Composite Frame).
Slot Update
The Slot Update button in the composite model (ElmComp) dialogue 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 this kind of model, i.e. a voltage controller cannot be assigned to a slot defined
for a primary controller model.
All built-in models and 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 data 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.The options defined for each slot are important, and are described in the paragraph
Classificationin Section 25.7.3 (The Composite Frame).
Step Response
The Step Response button in the composite model (ElmComp) dialogue will activate
the Step Response command (ComStepres). The dialogue can be seen in Figure 25.15.
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. The study case to be
activated can also be selected. When Execute is pressed, PowerFactory will create a
new folder in the current project named Step Response Test. Figure 25.16 shows this fold-
er in the data manager.
25 - 27
DIgSILENT PowerFactory Stability and EMT Simulations
Inside the Step Response Test folder, a second folder is created, named according to the
composite model which is to be tested. 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 switch between these two study cases and her/his previously-used study
cases by activating and deactivating them.
Note There is now no longer any connection between the original ele-
ments and the new elements of the composite model. Therefore,
you can change any controller settings without changing your net-
work.
After testing the controller, the folder Step Response Test can be deleted completely with-
out loss of information in the original network.
25 - 28
DIgSILENT PowerFactory Stability and EMT Simulations
To create a new composite frame select the Insert New Graphic icon on the main tool-
bar (in the graphics window) and then select Block/Frame Diagram and press Execute
as shown in Figure 25.17. This new block definition will then be automatically created in
the local library.
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 clicking once at the desired location. This is similar to placing elements in the
single-line diagram.
An empty slot will be drawn on the page. To define the slot’s input and output signals and
different parameters, edit the slot by double-clicking it. The slot edit dialogue will pop up
as shown in Figure 25.18.
25 - 29
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 30
DIgSILENT PowerFactory Stability and EMT Simulations
and defined in the slot. A slot may only have an input or an output signal.
For example, the voltage or frequency of an AC voltage source ElmVac may be controlled
by an external function. Therefore, the slot for the source will only have two input signals
u0 and f0. More information about drawing composite frame diagrams can be found in
Section 25.7.6 (Drawing Composite Block Diagrams and Composite Frames).
25 - 31
DIgSILENT PowerFactory Stability and EMT Simulations
then show the right inputs and outputs of the block definition.
Note When a block definition is assigned directly to a slot, only the input/
output signals are set automatically. The internal equations/defini-
tions of the block definition are not implemented in the slot and the
slot itself remains empty. There is always the need to create a
common model, which is the model inserted into the slot of the
composite model. When the slot refers to an outside block defini-
tion, beware 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. Therefore, assign a block very carefully.
25 - 32
DIgSILENT PowerFactory Stability and EMT Simulations
usetp
o13
Emax
2
u - o12 yi PID Controller ve _{K/(1+sT)}_ uerrs
Ta,Tb,K1 Ke,Te
Emin
upss
3
25 - 33
DIgSILENT PowerFactory Stability and EMT Simulations
yi K o11 y2 K1/K2 yo
K1 Ta,Tb
o11(1..
o1
yi1 1/sT
Tb
-
yo(1)
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 library or in
the local library.
The common model then displays the list of available parameters and arrays from the
block diagram, as shown in Figure 25.23. All parameters are listed on the first page of the
common model, and their values can be specified there.
25 - 34
DIgSILENT PowerFactory Stability and EMT Simulations
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 Figure 25.24 an example is shown for
a 13x4 array definition.
25 - 35
DIgSILENT PowerFactory Stability and EMT Simulations
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
their usage is almost identical. When creating one or the other
PowerFactory 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 the user cannot inadvertently mix up slots
and blocks in one diagram. See also Section 25.7.6 (Drawing Com-
posite Block Diagrams and Composite Frames).
If the block type is selected, PowerFactory inserts all available parameters of the re-
25 - 36
DIgSILENT PowerFactory Stability and EMT Simulations
ferred block. The user may change the name of any parameter, however ensure that the
order of the parameters is not changed. The order is important so that 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.
After the block reference has been edited, 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. This 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 Figure 25.25.
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 Figure
25.25, this results in the following output:
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 thereby create a primitive block definition.
25 - 37
DIgSILENT PowerFactory Stability and EMT Simulations
• By clicking on the Insert New Graphic icon on the toolbar of an open graphic, and
selecting the option Block/Frame Diagram;
• By right-clicking on, or inside a (library) folder in the active project in the data
manager and selecting New... −> Block/Frame - Diagram from the context-sensitive
menu;
• 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 suitable for creating
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 open 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 depicts 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 Toolbox. The toolbox also has buttons
for pure graphical add-on objects (lines, polygons, rectangles, texts, etc.) as shown in
Figure 25.26. It should be noted that the availability of this toolbox is according to wheth-
er or not the graphic is ‘frozen’ ( ). When the graphic is not frozen, the toolbox is avail-
able, and likewise, when the graphic is frozen for editing, the toolbox is hidden.
25 - 38
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 39
DIgSILENT PowerFactory Stability and EMT Simulations
Use the Select button ( in Figure 25.27) to select a model definition. Predefined stan-
dard block diagrams for your usage are located in the folder Database\ Library\ Models.
It is also possible to create a block in the graphical Block Definition by dragging Macros
from the global library or project library into the drawing area of the Block Definition, us-
ing the Drag & Drop functionality.
Summation Point
Every dot can be used as an input to the summation point. The sign of
signals at summation points can be changed by editing the summation
point object. The "edit" dialogue will pop up, where any connected
input connection can be inverted. It should be noted 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 an input or output of the
multiplier. An output of three input signals will thus be:
out=(in_0*in_1*in_2). It should be noted 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 an input or output for the
divisor. The first input will be the numerator and thus will be divided by
the second (and if existing, the third) input. The order of the signals
will be clockwise beginning from 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.
25 - 40
DIgSILENT PowerFactory Stability and EMT Simulations
Switch
Two input signals can be applied to this block, which will be connected
to the output according 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 0.5 or less, the switch
will stay in the displayed state, whereas a signal greater than 0.5 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.
Connecting Signals
After drawing and defining the block references, 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-direct 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 Figure 25.28).
Green: Input
Red: Output
Blue: Min. Limitation
Pink: Max. Limitation
Gray: Every signal can be connected
The signal lines can also be edited in the corresponding dialogue, which provides 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, as is often the case for 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 25.29 and 25.30, 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 illustrated in
Figure 25.31.
25 - 41
DIgSILENT PowerFactory Stability and EMT Simulations
Note The number of variables and their order in the output signal must
be equal to the number of signals in the input signal.
Note The names of the input and output signals must be the same as
the names of the input and output signals defined in the slot or
block to which it is intended to assign the definition.
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 25.32. The cursor will change to a double
25 - 42
DIgSILENT PowerFactory Stability and EMT Simulations
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.
It is also possible to make the object(s) have a new size by clicking on 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 objects cannot be resized at all.
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-
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. Addi-
tionally, the name and the unit of the parameters to be defined in the common model can
be specified (see also Section 25.8: User Defined (DSL) Models).
Additional DSL equations can be defined on the second page of the block diagram edit
dialogue.
25 - 43
DIgSILENT PowerFactory Stability and EMT Simulations
considered, average values with reasonable simple models may give acceptable results by
tuning 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 Large and small systems have different "key parameters''. Referring to
the above example, for a smaller power system the frequency
dependency of loads is irrelevant, while in large systems such as UCTE
or UPS/IPS, frequency dependency may cover the spinning reserve
requirements totally.
Unit size Steady-state and transient behavior of large units is more decisive for
the overall system response than smaller units which might have a very
negligible effect on the total system.
System structure
Independent of system and unit size, the system structure may be
more relevant than any other factor. This can be easily 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 hand, load shedding
optimization and frequency restoration would not give appropriate
results if mid- and long-term characteristics of relevant system
elements are neglected.
Study purpose In general, for systems which are in the planning stage, typical models
and parameters could be applied as long as there is no specific
additional information available. However, a more 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 operation optimization. For these cases,
detailed modeling of the relevant components is critically important.
As soon as a detailed analysis and representation of system models is required, the subse-
quent questions to be asked 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;
25 - 44
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 45
DIgSILENT PowerFactory Stability and EMT Simulations
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
following describes the main features of the DIgSILENT Simulation Language (DSL):
• 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
non-linear systems;
• The simulation tool is based upon common control and logic diagrams, leading to a
non-procedural language, as the sequence of elements can be chosen arbitrarily. In
other words, a DSL model can be converted into a graphical representation;
• Provision of 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 such as: "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 such
as: algebraic loop detection, reporting of unused and undefined variables and missing
initial conditions.
25 - 46
DIgSILENT PowerFactory Stability and EMT Simulations
The structure of a DSL model is best explained by an example. This example considers a
prime mover unit model of a simple hydro turbine. This DSL model has been defined
graphically, and contains one embedded DSL macro. This embedded macro models a
single integrator and is defined by programming it.
The basic method for designing new DSL models is as follows:
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. The PowerFactory
program is 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.
This kind of block diagram normally uses references 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. Section 25.8.3 (Defining DSL Models)
describes these procedures in detail.
25 - 47
DIgSILENT PowerFactory Stability and EMT Simulations
Figure 25.34 depicts the model definition that was used to define the hydro turbine model.
The resulting DSL code, as shown in the output window when a graphical 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 readability. 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.
Figure 25.35 depicts the graphical representation of the embedded primitive DSL model.
This primitive model is included in the hydro turbine (in line 2 of the definition of the
hydro). The DSL primitive implements a single integrator and is programmed as follows:
1. model y = 'I'(xe;x1;Ti;)
2. [Ti] = 's'
3. limits(Ti) = (0,)
4. inc(x1) = y
5. inc(xe) = 0
25 - 48
DIgSILENT PowerFactory Stability and EMT Simulations
6. x1. = xe/Ti
7. y = x1
Line 1 is generated by clicking on the Equations button in the block diagram dialogue.
Lines 2..7 were entered manually.
The block definition dialogue was used to set the following:
Output Signals : y
Input Signals : xe
State Variables : x1
Parameter : Ti
Internal Variables
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
interface. The DSL description includes:
• Parameter descriptions: name and unit
• Allowed parameter ranges
• Initial conditions and functions which are used to calculate initial values.
• The algebraic relations which define the controller.
Example (the integrator):
25 - 49
DIgSILENT PowerFactory Stability and EMT Simulations
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 Jacobian elements necessary for
the iterative simulation procedure will be calculated automatically.
Another useful feature of DSL is the algorithm implemented for numerical setup of the
system matrix for eigenvalue calculation purposes. Consequently, any model implemented
at the DSL level will be automatically taken into consideration when calculating the system
eigenvalues or when applying the modal network reduction approach (MRT). Of course,
any signal limiting functions will be disabled automatically for this calculation procedure.
In addition, inputs and outputs of model parameters, its organization via windows menus
etc. is also derived automatically from the DSL model.
25 - 50
DIgSILENT PowerFactory Stability and EMT Simulations
here. Please refer to Chapter 10 (The Graphics Editor) for more information.
• Use the "New Object" icon in the database manager and select 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. Following this, 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 this kind of
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.
25 - 51
DIgSILENT PowerFactory Stability and EMT Simulations
• 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 always be used. 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 no sequence is found (because of, for example,
deadlock 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 non-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 an input dialogue, where a Matlab
(*.m) file can be defined with which the block definition can
25 - 52
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 53
DIgSILENT PowerFactory Stability and EMT Simulations
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.
Figure 25.37 shows the additional equations of the DSL model of the PI controller.
The next section describes the handling and usage of the DSL language.
25 - 54
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 55
DIgSILENT PowerFactory Stability and EMT Simulations
Internal variables
Internal variables are defined and used in the DSL model to ease the
construction of a set of DSL equations.
The following rules may be helpful when interpreting warning and error messages:
• A state variable may not be simultaneously used as a state variable and 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.
25 - 56
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 57
DIgSILENT PowerFactory Stability and EMT Simulations
upss=0.
25 - 58
DIgSILENT PowerFactory Stability and EMT Simulations
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
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
25 - 59
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 60
DIgSILENT PowerFactory Stability and EMT Simulations
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 equal sign. The first example is correct; the second is false.
x1. = asin(a) ! Correct
a = sin(x1.) ! Not accepted
DSL Models
In general, there are two basic types of DSL models possible:
1 Models of electrical devices such as 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
25 - 61
DIgSILENT PowerFactory Stability and EMT Simulations
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; hence, the line of code below 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 can add events to the event list. A DSL model of a distance 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 PowerFactory 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.
25 - 62
DIgSILENT PowerFactory Stability and EMT Simulations
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. The actual switch that 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 in the dia-
logue. A list of events already defined inside this model is dis-
played.
The events are not added to the project’s global event list unless
the event is 'activated' by the DSL model.
inc(x1) = y/K
inc(xe) = y/K
inc(x4) = 1.0
inc(at) = pt
inc(steamflow0) = pt
inc(ylp) = pt
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
25 - 63
DIgSILENT PowerFactory Stability and EMT Simulations
inc(xe) = y/K
[T1] = 's'
limits(T1) = [0,)
The simulation event is defined for the load, where the reactive power is increased after
0.5 seconds.
The complete example contains three files:
1 Matlab Example.dz is a PowerFactory file.
25 - 64
DIgSILENT PowerFactory Stability and EMT Simulations
25 - 65
DIgSILENT PowerFactory Stability and EMT Simulations
The plots resulting from the simulation (Figure 25.45) show busbar voltages and
excitation voltage for both generators. The results are stored in result files located under
the “Results” folder of the relevant study case.
• 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
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
selected file can be seen in Figure 25.41 for the mentioned example.
25 - 66
DIgSILENT PowerFactory Stability and EMT Simulations
The model representation of the ElmVco__16 in the Matlab Simulink package is shown
in Figure 25.42.
When the block definition is specified, a DSL model has to be created first. As described
in Section 25.7.4 (The Common Model), the common model element (ElmDsl, ) is the
front-end 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
parameter values. The edit dialogue of the DSL element now looks different to the built-
in ElmVco. From Figure 25.43 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.
25 - 67
DIgSILENT PowerFactory Stability and EMT Simulations
Figure 25.44 shows the composite model using the special frame with the generator 'G1'
and the Matlab-AVR inserted into the slots.
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 Figure
25.45.
25 - 68
DIgSILENT PowerFactory Stability and EMT Simulations
Fig. 25.45: Results of the transient simulation with the Built-In model
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
input 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
evaluated. State variables ('InitialState') are assigned to Simulink model in each step of
the simulation. 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
25 - 69
DIgSILENT PowerFactory Stability and EMT Simulations
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
construction 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
determine the order of the Matlab state variable vector the user may use the command
"[sizes,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
Simulink 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.
The initial conditions are set within PowerFactory. Also, for the purpose of Power-
Factory’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
assigning the outputs from MATLAB. For example, if there are two outputs "uerrs" and
"output", 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".
25 - 70
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
Chapter 26
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.
26 - 1
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
1 ⎛ An ⎞
d i = – σ i = ------ ⋅ ln ⎜ ---------------⎟
Tp ⎝ A n + 1⎠
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
26 - 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 26.1.
26 - 3
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
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 re-
sults 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 26.1.
Figure 26.1 shows the command dialogue of the modal analysis with the variable s:speed
selected as the state variable.
26 - 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 !
26 - 5
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
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 Figure 26.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:
26 - 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 Figure 26.4.
An Eigenvalue Plot is generated by clicking on the icon from the 'Select Plot Type'
button of the toolbar menu (see Figure 26.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 26.6 shows an example of an Eigenvalue Plot
displaying the imaginary part of the calculated eigenvalues.
26 - 7
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
DIgSILENT
3.9739
Frequency [Hz]
2.3843
0.7948
-0.7948
-2.3843
-3.9739
26 - 8
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
to a selected group of generators. Figure 26.8 shows the Mode Bar Plot for the 20th mode
of the small power system used for the example of figures 26.3 and 26.4.
DIgSILENT
TCHIMH03: -0.303 / +133.1 deg
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 26.9.
26 - 9
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
magnitude of the participation factor and the diagram can be restringed to a selected
group of generators. Figure 26.10 shows the Mode Phasor Plot for the same mode from
Figure 26.8. Double clicking on a participation factor phasor will display its IntEigstate
dialogue as in Figure 26.9.
Cluster 1: Cluster 7:
DIgSILENT
TCHIMH02: 0.32 / 121.5 deg 1.00 OWENDG01: 0.42 / 89.6 deg
Cluster 2: Cluster 8:
TCHIMH03: 0.30 / 133.1 deg INJEC01: 1.00 / 0.0 deg
0.50
-0.50
Cluster 3:
TCHIMH01: 0.18 / -167.2 deg
Cluster 4: -1.00
KINGUH02: 0.33 / -152.4 deg
Cluster 5: Participation of mode: +1.258 +10.451*j
KINGUH03: 0.36 / -133.9 deg Magnitude: 10.527 1/s, Angle: 83.134 deg
Period: 0.601 s, Frequency: 1.663 Hz
Cluster 6: Damping: -1.258 1/s, Ratio of Amplitudes: 0.469 Cluster 9:
OWENDG02: 0.15 / -127.2 deg Min. contribution: 0.100 KINGUH01: 0.34 / -39.3 de
26 - 10
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
26 - 11
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation
26 - 12
DIgSILENT PowerFactory Model Parameter Identification
Chapter 27
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 Figure 27.1.
27 - 1
DIgSILENT PowerFactory Model Parameter Identification
Of course, Figure 27.1 only visualizes the principle of the identification. To connect mea-
surement files, power system models and comparator objects to each other, a composite
frame is used. This, and all other details of the PowerFactory identification functions, is
described in the following sections.
27 - 2
DIgSILENT PowerFactory Model Parameter Identification
The block diagram uses slots which reserve space for the measurement files, the compar-
ator and the element models.
27 - 3
DIgSILENT PowerFactory Model Parameter Identification
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 Figure 27.3.
27 - 4
DIgSILENT PowerFactory Model Parameter Identification
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.
27 - 5
DIgSILENT PowerFactory Model Parameter Identification
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'')
• p is the power
27 - 6
DIgSILENT PowerFactory Model Parameter Identification
27 - 7
DIgSILENT PowerFactory Model Parameter Identification
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.
27 - 8
DIgSILENT PowerFactory Model Parameter Identification
In Figure 27.7, a simple Identification Block Diagram is shown in which the measurement
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 mea-
sured values during the identification process.
In Figure 27.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 Com-
mon Identification Model has to be created which uses the Identification Diagram with
Primary Element as shown in Figure 27.7. In the ComIdent command dialogue, the un-
known 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.
27 - 9
DIgSILENT PowerFactory Model Parameter Identification
27 - 10
DIgSILENT PowerFactory Contingency Analysis
Chapter 28
Contingency Analysis
To access the various contingency analysis related functions within PowerFactory, click
on the icon on the "Select Toolbar" (shown in Figure 28.1).
To initiate the contingency analysis command, click on the icon, which should now
be visible in the first row of icons at the top right of the screen.
28 - 1
DIgSILENT PowerFactory Contingency Analysis
The single time phase contingency analysis is carried out using the Contingency Analysis
command (ComSimoutage, ). When executed, it automatically performs a 'base'
load flow calculation to determine the operational point of the network under no-fault
conditions. The command contains Contingency Cases (ComOutage objects) which
define one or more elements that are taken out of service simultaneously. Following the
calculation of the base load flow, for each of these contingencies a contingency load flow
is calculated. This calculation considers the post-fault thermal ratings of branch elements
(see Section 7.5.7), transformer tap changer controller time constants and automatic
shunt compensators (for further information please refer to Section 28.2).
28 - 2
DIgSILENT PowerFactory Contingency Analysis
The contingency load flow is characterized by the Post Contingency Time parameter
(available in the Basic Options tab of the Contingency Analysis command, if either a
Contingency Load Flow has been defined, or when the option Consider Specific Time
Phase has been selected). This parameter determines the duration of the interval
between the occurrence of the fault(s) which define the contingency, and the time when
the load flow calculation of the network under the contingency situation is performed. The
Post Contingency Time is a key parameter of the single time phase contingency analysis
because:
1 The actions of transformer automatic tap changers and switchable shunt
compensators on the faulted network are only regarded if the time constants of their
controllers are less than the defined Post Contingency Time (i.e. if the controllers
are fast enough to operate during the time phase); and
2 The operational thermal ratings of branch elements during the contingency (if 'short
term' thermal ratings (see Section 7.5.7) have been defined) will depend on the
duration of the contingency, i.e. the Post Contingency Time.
Note: The 'base' and the 'contingency' load flow calculations by default
use the same load flow command (ComLdf object). However, the
user can define different load flow commands for these two calcu-
lations by selecting the option ‘Allow different settings’ on the Ad-
vanced tab of the contingency analysis command
(ComSimoutage). The actions of automatic tap changers and
switchable shunts are only possible if the corresponding options
are selected in the 'Basic Options' tab of the load flow command(s).
The contingency analysis uses a result file object (ElmRes, see Section 13.9: Results
Objects) to store the voltages at terminals, and the loading of certain branch element
classes (lines, transformers, series capacitances and series reactances). Recording the
loadings for all branches and the voltages for all terminals for every contingency may lead
to excessive data storage. Therefore, in order to reduce the amount of data recorded,
only significant results are recorded. For contingency analysis, a calculated parameter is
considered to be significant if the constraints (voltage and thermal limits) of the corre-
sponding component are violated. Constraints can be set individually for each terminal
and branch element (in the Load Flow tab of the element’s dialogue) or globally in the
Limits for Recording field of the contingency analysis command. A calculated result is
stored in the result file whenever one of the constraints (individual or global) is violated.
28 - 3
DIgSILENT PowerFactory Contingency Analysis
Fig. 28.2: Basic Options for the Contingency Analysis (ComSimoutage) Command
The settings of the contingency analysis command are entered using the dialogue shown
in Figure 28.2. The following subsections explain each of the available options.
Calculation Method
AC Loadflow Calculation
The contingency analysis uses an iterative AC load flow calculation to
calculate the power flow per contingency case.
DC Loadflow Calculation
The contingency analysis uses a linear DC load flow calculation to
calculate the active power flow per contingency case.
28 - 4
DIgSILENT PowerFactory Contingency Analysis
Calculation Settings
Load Flow
Only available when option Use same settings is selected in the Base
Case versus Contingency Load Flow section of the Advanced Options
tab.This is a reference to the load flow command used to calculate both
the network operational point before the simulation of contingencies,
and the contingency load flow(s). The settings of this load flow
command can be edited by pressing the button.
28 - 5
DIgSILENT PowerFactory Contingency Analysis
Contingencies
The Contingencies section of the Basic Data tab, as shown in Figure 28.3, allows the
display, creation and removal of contingencies. These are the contingencies that will be
analyzed by the contingency analysis command.
Show
Displays a list of all defined contingencies.
Add Cases/Groups
This button is used to create contingency cases (ComOutage objects)
based on fault cases and/or fault groups. A fault case contains events:
28 - 6
DIgSILENT PowerFactory Contingency Analysis
one for the fault location, and (optionally) others specifying post-fault
actions. Fault groups contain a set of references to fault cases. In order
to use the Add Cases/Groups option, the fault cases and/or groups
must have been previously defined in the Operational Library. If these
have been defined, when the Add Cases/Groups button is pressed, a
data browser listing the available fault cases/groups pops up. The user
can then select the desired fault cases/groups from this browser and
press Ok. The corresponding contingencies are then created
automatically by PowerFactory. One contingency is created for each
selected fault case, and one contingency is created for each fault case
referred to within each selected fault group. For further information on
creating contingencies from fault cases/groups, please refer to Section
28.5.
Remove All
Removes all contingency cases (ComOutage objects) stored in the
contingency analysis command.
Results
Reference to the result file object (ElmRes) where the contingency
analysis results are recorded. The results stored in this file are filtered
according to the global constraints set in the Limits for Recording section
of the Basic Data tab, and also according to the individual constraints
defined within each component’s respective dialogue (i.e. on the Load
Flow tab of the element dialogue). For further information on result
objects, see Section 13.9: Results Objects.
Additional Functionality
Besides the standard buttons found within a PowerFactory command (Execute, Close
and Cancel), the contingency analysis command provides an additional button:
Update
Updates all contingency case objects (ComOutage). This occurs
before any analysis is executed. The n-k level is detected. For
contingencies based on fault cases/groups the list of interrupted
components (see Section 28.2.4) is updated. If desired, an Update can
be executed before every contingency analysis. Note that topological
changes made to the network under study may lead to changes in the
contingency cases, in which case it is recommended to execute an
Update.
28 - 7
DIgSILENT PowerFactory Contingency Analysis
28.2.2 Effectiveness
Show QBs
Shows a list of the transformers for which the effectiveness should be
calculated.
Add QBs
Adds references to transformers for which the effectiveness should be
calculated.
Remove All
Removes all references to transformers for which the effectiveness is
currently calculated.
28 - 8
DIgSILENT PowerFactory Contingency Analysis
Initialisation of Contingencies
If the AC Load Flow Calculation is selected in the Calculation Method
section of the Basic Options tab, the user has the possibility to choose
between the previous contingency case and the base case to initialize
the current contingency load flow.
28 - 9
DIgSILENT PowerFactory Contingency Analysis
Name
Name of the contingency case.
Not Analyzed
If enabled, the case is not considered by the contingency analysis
command.
Number
An identification number which is stored in the results. The number can
be used for reporting.
Fault Case
Reference to the fault case (if any) from where the contingency case
originated.
Fault Group
Reference to the fault group (if any) from where the contingency case
originated. This field is only available if the contingency case has an
associated fault group.
Interrupted Components
This is a table showing the components put on outage by the
contingency case. The table, which is read-only, is automatically
generated when the contingency case is created.
Fault Type
Displays the fault type and the contingency order. See Figure 28.8.
Contingency Analysis
Reference to the contingency analysis command where the
contingency case is stored.
The Mark in Graphic button highlights the interrupted components in the single line
diagram.
28 - 10
DIgSILENT PowerFactory Contingency Analysis
For further information about contingency cases generated using fault cases and/or fault
groups, please refer to Section Creating Contingency Cases Using Fault Cases and Groups.
For information about contingency cases created using the Contingency Definition
(ComNmink) command, please refer to Section Creating Contingency Cases Using the
Contingency Definition Command.
28 - 11
DIgSILENT PowerFactory Contingency Analysis
28 - 12
DIgSILENT PowerFactory Contingency Analysis
28 - 13
DIgSILENT PowerFactory Contingency Analysis
Calculation Method
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.1.
Calculation Settings
Load Flow
This is the reference to the load flow command which is used to calculate the network
operational point, both prior to the simulation of contingencies and for the contingencies.
The settings of this load flow command can be accessed and edited by pressing the
28 - 14
DIgSILENT PowerFactory Contingency Analysis
button. If the option Allow different settings has been selected on the Advanced Options
tab, the Calculation Settings section will be configured as shown in Figure 28.7.
Time Phase n
Lists the defined time phase(s). The button next to each time phase can be used to
remove the corresponding time phase. If the option Allow different settings has been
selected on the Advanced Options tab, the Time Phase will have its load flow accessible
by pressing the button next to the defined time phase.
Contingencies
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.1.
Results
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.1.
28.4.2 Effectiveness
These options are only available for the Single Time Phase calculation. Please refer to
Section 28.2.2.
28 - 15
DIgSILENT PowerFactory Contingency Analysis
Initialisation of Contingencies
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.3.
Each defined time phase uses a corresponding load flow calculation, and by default, this
is the same load flow calculation as that used for the base case load flow. In this case,
the load flow used for the entire contingency analysis calculation is accessible via the Load
Flow field ( ), as shown in Figure 28.6. If the option Allow different settings in the Base
Case versus Contingency Load Flow section of the Advanced Options tab is selected, the
user can define individual load flow commands for each time phase, as illustrated in
Figure 28.7. Access to each load flow command and its settings is again via the
button.
28 - 16
DIgSILENT PowerFactory Contingency Analysis
Fig. 28.6: Same Settings for Base Case and Contingency Load Flows
Fig. 28.7: Different Settings for Base Case and Contingency Load Flows
The Contingency Analysis time phases are stored within a folder inside the ComSimo-
utage command and can be accessed via the Data Manager. By clicking on the
button next to each defined time phase in the Calculation Settings section of the Basic
Data tab, the edit dialogue of the corresponding load flow command pops up. New time
phases can be defined in the data browser by clicking on the Add Time Phase button.
Existing time phases can be deleted using the icon. Note that after several time
phases have been defined, this list is then scrollable using the up/down arrow buttons
( ) available in the dialogue.
28 - 17
DIgSILENT PowerFactory Contingency Analysis
• The post contingency actions taken in order to mitigate the subsequent voltage band
problems and/or supply interruptions.
Contingencies are created based on fault cases defined in the Operational Library. These
fault cases define the location of the fault events, and may also define post contingency
actions taken to isolate the fault and mitigate the effects of the outage of the
component(s). Whenever a new contingency is created, a link from the ComContin-
gency object to the fault case is set. New contingencies are created in a Contingency
Analysis command by clicking on the Add Cases/Groups button in the Configuration
section of the Basic Data tab (see 28.2).
Besides the events which are transferred from the linked fault case during calculation of
the contingency case, the user has the possibility to define additional post contingency
actions in the contingency by manually creating new events.
The contingencies calculated in a Contingency Analysis, are stored inside the command
itself and can be accessed using the Show button (see Figure 28.5). Alternatively, the
contingencies in the Contingency Analysis command contained in the active study case
can be viewed by clicking on the Show Contingencies icon ( ) on the main toolbar. In
both cases a new data browser listing the defined contingencies is shown. By double-
clicking on a selected item from the list, the edit dialogue of the corresponding contin-
gency (Figure 28.4) pops up.
Normally, contingency cases are analyzed by the Contingency Analysis command in which
they are stored. However, each case provides the functionality of a command and can be
executed individually using the Execute button at the top right of the ComOutage
dialogue (see Figure 28.4). In this case, all of the time phases are executed for the
selected contingency considering its associated events. The results observed in the single
line graphic correspond to those from the last time phase, including the final states of the
network switches.
The events that define a contingency can be displayed in a list format in a new data
browser by pressing the Events button in the fault case (IntEvt) dialogue (as shown in
Figure 28.10). This data browser can be used to edit and/or delete the listed events. New
events can be created using the New icon at the top of the opened browser window.
It should be noted that events created locally in the contingency object are only
considered if the option Use locally defined events (User defined) is selected in the Events
Used for this Contingency field.
The Start Trace button ( , available on the main toolbar) can be used to follow the
behavior of the system over time. When this button is pressed, a dialogue opens allowing
the user to select a contingency. Following the selection of a contingency by the user and
pressing OK, the contingency dialogue is closed and the base case load flow is executed.
The execution of the first event(s) and all subsequent event(s) is initiated by pressing the
Next Time Step button on the main toolbar. At each time step the load flow calcu-
lation results and the state of the network circuit breakers are displayed in the single line
graphic. It should be noted that the Next Time Step evaluates events according to their
time of occurrence, and not according to the time phases defined in the Contingency
28 - 18
DIgSILENT PowerFactory Contingency Analysis
Analysis command. After the last time event(s) are executed, the Next Time Step button
becomes inactive. The Stop Trace button ( ) can be pressed to clear the calculation.
Alternatively, the Trace button in each ComOutage dialogue can be used to initiate the
Trace for that particular contingency.
Note: The 'Trace' functionality can be started directly from the main tool-
bar by pressing the 'Start Trace' button ( ). In this case a data
browser listing all available contingencies (those stored inside the
'Contingency Analysis' command of the active study case) is dis-
played. After the user selects the desired contingency by double-
clicking on it, the 'Base Case' load flow is executed. The subse-
quent event(s) are then calculated using the 'Next Time Step' but-
ton.
Fig. 28.8: Fault Type field in the Contingency Case (ComOutage) dialogue
28 - 19
DIgSILENT PowerFactory Contingency Analysis
Contingency cases can be created from fault cases/groups, which reside in the Opera-
tional Library, by pressing the Add Cases/Groups button in the contingency analysis
command (see Section 28.2.1 and Figure 28.3). In the case of creating contingencies from
fault group(s), a contingency case will be generated for each fault case referred to in the
selected fault group(s).
Note: The 'topological search' algorithm used by the program to set con-
tingency cases from fault cases requires the explicit definition of at
least one reference bus in the analyzed system. A bus is explicitly
set as reference if a synchronous generator (ElmSym) or an ex-
ternal network (ElmExtnet) with the option 'Reference Machine'
enabled (available in the element’s 'Load Flow' tab) is connected to
it.
In order to make a new folder of either of these types, left-click on the Faults folder icon
( ) and then press the "New Object" button ( ) on the toolbar of the Data Manager.
In the drop-down list, select whether a new Fault Cases or Fault Groups folder should be
created.
The Fault Cases folder holds every contingency (n-1, n-2, or simultaneous) defined for
the system, as described in Section Defining a Fault Case. Alternatively, several fault cases
can be selected and stored in a Fault Group, as described in Section Defining a Fault
Group.
28 - 20
DIgSILENT PowerFactory Contingency Analysis
Fault cases can also be defined by the Contingency Definition command, as explained in
Section 28.6.
For further background on fault cases, please refer to Section 7.5.3 (Faults).
28 - 21
DIgSILENT PowerFactory Contingency Analysis
Note: When a fault group is defined and fault cases are added to it, a ref-
erence is created to each selected fault case. The fault case itself
resides in the Fault Cases subfolder. This means that if an item in
the fault group is deleted, only the reference to the fault case is
deleted. The fault case itself still exists in the Fault Cases folder.
28 - 22
DIgSILENT PowerFactory Contingency Analysis
It is also possible to open the Contingency Definition command directly from the Contin-
gency Analysis toolbar ( ), without any previous selection, by clicking on the icon.
In this case, contingencies for all elements within the network (selected according to their
class, as described below), can be created.
The Contingency Definition command offers the following options to generate contin-
gency cases from the selected objects:
Creation of Contingencies
Generate Fault Cases for Library
Generates fault cases which are stored in the Operational Library, in a
folder named Faults.
Generate Contingencies for Analysis
Generates contingencies which are stored in the contingency analysis
command, and then opens the contingency analysis command
(ComSimoutage) dialogue.
28 - 23
DIgSILENT PowerFactory Contingency Analysis
Outage Level
n-1
Creates single contingency cases for each of the selected components.
n-2
Creates contingency cases for every unique combination of two
selected components.
Lines/cables
Contingency cases according to the selected outage level will be generated for all lines
and cables (ElmLne objects) in the system.
Transformers
Contingency cases according to the selected outage level will be generated for all trans-
formers (ElmTr2, ElmTr3 objects) in the system.
Generators
Contingency cases according to the selected outage level will be generated for all
synchronous generators (ElmSym objects) in the system.
The selection of elements to outage in the preparation command can also be created by
the use of DPL scripts. Please refer to the ComNmink methods in the DPL Reference
manual.
28 - 24
DIgSILENT PowerFactory Reliability Assessment
Chapter 29
Reliability Assessment
In general, the assessment of reliability indices for a power system network, or of parts
thereof, 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.
The reliability assessment module of PowerFactory offers two distinct calculation
functions for the analysis of network reliability under probabilistic scenarios, as described
below:
Network reliability assessment:
The probabilistic assessment of interruptions during an operating
period of the power system.
Voltage sag assessment:
The probabilistic assessment of the frequency and severity of voltage
sags during an operation period.
Both of these calculation methods has its own typical applications. Network reliability
assessment is used to calculate expected interruption frequencies and annual interrup-
tions costs, or to compare alternative network designs. Voltage sag assessment is used
to determine the expected number of equipment trips due to deep sags.
This chapter deals with probabilistic Reliability Assessment. For information on Power-
Factory’s deterministic Contingency Analysis, please refer to Chapter 28 (Contingency
Analysis).
• Clicking the icon on the main toolbar to activate the reliability toolbar (if not
already active); and
29 - 1
DIgSILENT PowerFactory Reliability Assessment
29.4.
A reliability assessment will be started when the Execute button is pressed. The calcu-
lation time required for a reliability assessment can range from a few seconds for a small
network only considering single-order contingencies, to several hours for a large network
considering also second-order faults. A reliability assessment calculation can be inter-
rupted by clicking on the Break icon ( ) on the main toolbar.
The following sections provide the technical background information required to perform
reliability assessment with PowerFactory.
System State
Generation
Failure Effect
Analysis
Statistical Evaluation
The basic reliability analysis calculation flow diagram is depicted in Figure 29.1. The failure
models describe 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 consist 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 models and load
29 - 2
DIgSILENT PowerFactory Reliability Assessment
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
imitating 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
include:
• 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 whether system faults will lead to load
interruptions and if so, which loads will be interrupted and for how long.
The results of the FEA are combined with the data that is provided by the system state
production module to update the statistics. The system state data describes the expected
frequency of occurrence of the system state and its expected duration. The duration of
these system states should not be confused with the interruption duration. A system state
with a single line on outage (i.e. due to a short-circuit on that line), will normally have a
duration equal to the time needed to repair that line. In the case of a double feeder,
however, no loads may suffer any interruption. 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).
Stochastic Models
A stochastic model describes how and how often a certain object changes. A line, for
example, may suffer an outage due to a short-circuit. After this kind of outage, repair will
begin and the line will be put into service again following successful repair. If two states
for line A are defined (i.e. "in service'' and "in repair''), monitoring of the line could result
in a graph as depicted in Figure 29.2.
A R1 S2 R2 S3 R3 S4
A T1 T2 T3 T4 T5 T6 t
Fig. 29.2: Example of a Monitored Component State in Time
Line A in this example fails at time T1 after which it is repaired and put back into service
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 components in the power system, statistical information about the TTR
and TTF, such as the mean value and the standard deviation, can be calculated. The
29 - 3
DIgSILENT PowerFactory Reliability Assessment
29 - 4
DIgSILENT PowerFactory Reliability Assessment
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 means that all repairs will behave in the same way, apart
from their mean duration. Only mean durations can be determined when using homog-
enous Markov models. Interruption costs, however, may be dependent on the fraction of
repairs that take longer than 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
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 any need for conversion.
• It allows addressing the effects of maintenance and ageing of equipment.
• It allows a fast and correct calculation of interruption costs in all cases.
A Weibull-Markov model with three states is depicted in Figure 29.3.
Pr01
S1
λ1, β1
Pr10
Pr21
Pr02
Pr20 Pr12
S2
λ2, β2
This example shows all the 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-
29 - 5
DIgSILENT PowerFactory Reliability Assessment
bilities'' Prij define the probability of the generator to change to another state. The proba-
bility 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
7360
η 1 = ------------ a = 0,006a = 52,6h
140
TTR = η 1 = 52,6h
β 0 = 1,0
β 1 = 1,0
The shape factors beta0 and beta1 were left at their default values as no data is available
for calculating them. The raw data, however, could be analyzed to get more realistic
values.
29 - 6
DIgSILENT PowerFactory Reliability Assessment
Basic Options
The following options can be configured in the Reliability Assessment dialogue shown in
Figure 29.4:
Analysis
Network, connectivity analysis
This will start an analysis involving the entire network. A load is
assumed to be supplied when it is connected to a source of power. The
analysis considers disconnected loads only. A load is considered to be
disconnected if it is supplied before a fault and is interrupted due to
failure effects. 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. A load might be disconnected or
partially shed due to load or voltage constraints. Generator re-dispatch,
load transfer and load shedding are used to alleviate overloads.
29 - 7
DIgSILENT PowerFactory Reliability Assessment
29 - 8
DIgSILENT PowerFactory Reliability Assessment
Outputs
The following options are available on the Outputs tab (see Figure 29.5):
Results
This options allows the selection of the result element (ElmRes) where
the results of the reliability analysis will be stored. Normally
PowerFactory will create a result object within the active study case.
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 can be filtered and the results
analyzed in detail. The re-evaluation of the existing database content is
carried out when this button is pressed.
29 - 9
DIgSILENT PowerFactory Reliability Assessment
Output
Displays the form used for the output report. Report settings can be
inspected and the format selected by clicking on the button.
FEA
A failure effect analysis (FEA) is made for each system state that occurs during the state
enumeration. The configuration options are shown in Figure 29.6 and are explained next.
Switch/Load Events
Delete switch events
Removes all switch events associated with the contingencies stored
inside the command.
Delete load events
Removes all load events associated with the contingencies stored inside
the command.
29 - 10
DIgSILENT PowerFactory Reliability Assessment
Network
Transmission (Gen. Re-dispatch, Load-Transfer/-Shedding)
29 - 11
DIgSILENT PowerFactory Reliability Assessment
Advanced Options
29 - 12
DIgSILENT PowerFactory Reliability Assessment
29 - 13
DIgSILENT PowerFactory Reliability Assessment
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.
29 - 14
DIgSILENT PowerFactory Reliability Assessment
∑ ACIF i ⋅ C i
SAIFI = ---------------------------------- , Unit: 1/C/a
∑ Ci
∑ ACIFi ⋅ Ci
CAIFI = ---------------------------------- , Unit: 1/A/a
∑ Ai
∑ ACITi ⋅ Ci
SAIDI = ---------------------------------- , Unit: h/C/a
∑ Ci
SAIDI
CAIDI = ----------------- , Unit: h
SAIFI
ASUI =
∑ ACIT i ⋅ C i
----------------------------------
8760 ⋅ ∑ C i
ASAI = 1 – ASUI
ASIDI =
∑ ( rm ⋅ Lm )
------------------------------- , Unit h/a
LT
ASIFI =
∑ Lm
--------------- , Unit 1/a
LT
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.
29 - 15
DIgSILENT PowerFactory Reliability Assessment
ENS in MWh/C/a
AENS = ------------
-
∑
Ci
ENS in MWh/A/a
ACCI = -------------
∑
Ai
29 - 16
DIgSILENT PowerFactory Reliability Assessment
29 - 17
DIgSILENT PowerFactory Reliability Assessment
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, for example, is calculated as:
F_tot = 3 * F_bar + 6 * F_connection [1/a]
which would total 0.24 per year for the failure model shown.
The bar or terminal elements will show the total outage rate, outage expectancy and
mean outage duration on their respective Reliability tabs. See Figure 29.9.
29 - 18
DIgSILENT PowerFactory Reliability Assessment
The busbar or terminal element can be made to overrule its assigned Type model by
selecting an Element model. The terminal element also provides fields for user defined
voltage limits and switch access times.
29 - 19
DIgSILENT PowerFactory Reliability Assessment
Line Failures
The line and cable failure model is normally specified on the Reliability tab of a line type
(TypLne). This is a reference to a line failure model (StoTyplne) as shown in Figure
29.10.
Depending on the options selected, 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 multiplied by the Failure Frequency and is therefore also
defined in units of per 100 km length.
The frequency, outage expectancy and mean outage duration are displayed on the
Reliability tab of the line/cable element, as depicted in Figure 29.11. The failure data can
be defined in the line type data and used by different line elements.
29 - 20
DIgSILENT PowerFactory Reliability Assessment
The line or cable element can be made to overrule its assigned Type model by selecting
an Element model. The line element offers an additional user defined parameter on its
Reliability tab:
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 for a limited time. Reasonable values
may be between 120% and 140%. If the loading of the element
exceeds this limit the reliability analysis will start load-shedding.
29 - 21
DIgSILENT PowerFactory Reliability Assessment
Transformer Failures
A single transformer failure model is available for both two- and three-winding trans-
formers. The transformer failure model is normally specified on the Reliability tab of a
transformer type (TypTr2, TypTr3). This is a reference to a failure model as depicted in
Figure 29.12.
Depending on the selected options, 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 multiplied by the Failure Frequency.
29 - 22
DIgSILENT PowerFactory Reliability Assessment
The frequency, outage expectancy and mean outage duration are displayed on the
Reliability page of the transformer element, as depicted in Figure 29.13. The transformer
element can be made to overrule its assigned Type model by selecting an Element model.
All transformer failures are assumed to be active failures. Like the line element, the trans-
former element Reliability tab 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. For transformers, a value may
be entered up to 140%.
29 - 23
DIgSILENT PowerFactory Reliability Assessment
In such cases, the failure model is somewhat more difficult to define. The first step is to
append one or more states to the model, as the default model has only one state. This is
done by going to the Stochastic Model tab, right-clicking on the row number of an existing
state in the State Duration Matrix and selecting Append Rows, as depicted in Figure 29.15.
29 - 24
DIgSILENT PowerFactory Reliability Assessment
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 of less than 100%, or by
setting Machines On Outage > 0. A nominal power or 50%, for example, will halve the
capacity of all parallel machines, but all machines will remain running. A number of
machines on outage larger than zero will also reduce the total capacity, but will
additionally cause a change in the electric properties due to the reduced number of
machines running.
The definition of the Weibull-Markov model for the synchronous machine, i.e. the
definition of the state duration matrix, transition probability matrix, or the transition rate
matrix, is described in Section (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 tab of the synchronous machine element (ElmSym), as
depicted in Figure 29.16.
29 - 25
DIgSILENT PowerFactory Reliability Assessment
Each failure model may be used by more than one synchronous machine at the same
time. All synchronous machines which use the same failure model will nevertheless
behave stochastically, independently of one other.
29 - 26
DIgSILENT PowerFactory Reliability Assessment
The Weibull-Markov model allows stochastic data to be entered in a number of 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
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 of changing to other states. Because these
parameters are redundant -- each can be calculated from the others --
there is more than one way to define a WM-model. Two primary
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-of-4 redundant; i.e. 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
durations and transition probabilities. The Variance or Beta must be specified additionally
29 - 27
DIgSILENT PowerFactory Reliability Assessment
when the transition rate matrix is used. By default, the Beta parameter equals 1, which
yields a standard homogenous Markov model.
In Figure 29.17, 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 (named "in service'') has a
mean duration of 2850 hours. There is a 65% probability that, when a failure occurs, the
generator will transition to state 2 (named "single burner'') and a 35% that it will go to
state 3.
The Weibull-Markov model is determined completely by the state duration parameters and
the transition probabilities. The use of form-factors (Beta) that differ from 1.0 is optional.
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.
Figure 29.18 shows the transition rate matrix for the model depicted in the figure.
When the transition rate matrix is changed, the state duration matrix and the transition
probability matrix also subsequently change. Figure 29.19 shows the failure model
following rounding of the transition rates.
29 - 28
DIgSILENT PowerFactory Reliability Assessment
29 - 29
DIgSILENT PowerFactory Reliability Assessment
29 - 30
DIgSILENT PowerFactory Reliability Assessment
Maintenance
Maintenance is included in the reliability assessment by defining one or more maintenance
blocks. A maintenance block consists of:
• A list of objects to maintain;
• A maintenance schedule.
All objects in the list of objects will be taken simultaneously out of service for maintenance
by this maintenance block. See Figure 29.21 for an example.
The maintenance schedule is a list of deterministic moments in time at which the mainte-
nance will start. For each planned maintenance activity, the duration must be given. See
Figure 29.22 for an example.
29 - 31
DIgSILENT PowerFactory Reliability Assessment
29 - 32
DIgSILENT PowerFactory Reliability Assessment
The Basic Data page of the common mode model shows a list where all objects that are
outaged 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
additional (simultaneous) outages of all listed components.
Common mode failure models are created as:
• 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 (click on the icon)
• Add two or more lines in the model and select the elements that will fail
• Enter the failure frequency etc., as described above.
29 - 33
DIgSILENT PowerFactory Reliability Assessment
29 - 34
DIgSILENT PowerFactory Reliability Assessment
Scaling factor
This factor is used to scale the cost characteristic and adapt it to a
specific customer’s damage cost.
Unit
The following units can be selected: $/kW, $/customer, or $.
Load Shedding/Transfer
Load Priority If load shedding is required, the Load Priority is used for discriminating
between more important loads and less important loads. The priority
value is proportional to the importance of the load; i.e. the higher the
priority value, the more important the load. It should be noted that this
value is only used as a guide within the reliability calculation; the
algorithm will try to shed lower priority loads first, but may ultimately
(or alternatively) shed higher or highest priority loads depending on
system conditions.
Shedding Steps
Number of steps for load shedding. For example, a value of 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 the extent to which a load can be supplied by
an external source, i.e. by 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.
29 - 35
DIgSILENT PowerFactory Reliability Assessment
29 - 36
DIgSILENT PowerFactory Reliability Assessment
Interruption costs functions are not interpolated in any way. The interruption costs used
for a certain interruption duration will remain constant between durations. This means
that an interruption functions such as:
30min → $7.50
60min → $20.00
180min → $80.50
means that:
0min ≤ t < 30min → $0.00
30min ≤ t < 60min → $7.50
60min ≤ t < 180min → $20.00
180min ≤ t → $80.50
Selecting an interruption cost function for a particular load is done by setting the Time
dependent rate reference on the Reliability tab of the load element dialogue, as depicted
in Figure 29.28. The type (parameter name: Unit) of the interruption cost function must
be set in 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.
29 - 37
DIgSILENT PowerFactory Reliability Assessment
The selected interruption cost function will be interpreted according to the selected Unit.
29 - 38
DIgSILENT PowerFactory Reliability Assessment
switch is already considered during the fault separation and power restoration phase of
the failure effect analysis.
The enumerated calculation method has the advantage that is fast enough for quick inves-
tigation of large distribution networks, but does not compromise accuracy. Exact analytic
averages are calculated. Distributions of reliability indices, however, cannot be calculated.
For example, the average annual unavailability in hours/year can be calculated, but the
probability that this unavailability is less than 15 minutes for a certain year cannot be
calculated.
The state enumeration algorithm may include independent, overlapping failures as well
as common mode failures and maintenance schedules. The use of the Weibull-Markov
model means that annual interruption costs can also be assessed accurately.
The principle flow diagram for the entire reliability assessment by state enumeration is
depicted in Figure 29.29.
29 - 39
DIgSILENT PowerFactory Reliability Assessment
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
More
Post-Processing
Next More - Load Point Indices
Contingency - System State Indices
- Reports
Fig. 29.29: Principle Flow Diagram for Reliability Assessment by State Enumeration
After the termination of the State Enumeration, the analyzed cases are available for verifi-
cation. An example can is given in Figures 29.30 and 29.32.
29 - 40
DIgSILENT PowerFactory Reliability Assessment
29 - 41
DIgSILENT PowerFactory Reliability Assessment
B1
R12
F2
B2 D2A D2B
Fault Clearance
The fault clearance functions assume 100% selectivity of the protection. Therefore it is
assumed that the relays nearest to the failure will open. In the case that protection/
switching failures are considered in the FEA, it is assumed that the next protection device
29 - 42
DIgSILENT PowerFactory Reliability Assessment
has a 100% selectivity. Failure of either the protection system or of circuit breakers is not
considered in the present version of PowerFactory. In the pre-processing phase of the
reliability assessment, all breakers in the system that can be tripped by an overcurrent or
distance relay, fuse, or any other kind of relay, are marked as "protection breakers''.
Figure 29.33 shows a simple network containing four loads, a breaker and a back-stop
switch. The current system state to be analyzed for possible load interruptions is the one
with a short-circuit on line "LR2''.
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
current, will not be opened.
The fault clearance phase is ended by opening the minimum set of protection breakers
found earlier. If it is impossible to isolate the faulted component from all synchronous
generators or external networks by protection breakers only, then an error message will
be issued and the reliability assessment will terminate.
The area around the faulted components which is isolated by the protection breakers is
referred to as the "protected area''. Figure 29.34 shows the example network after the
fault clearance functions have opened the protection breaker. The protected area is the
whole bottom line feeder; and loads 1, 2, and 3 are interrupted.
29 - 43
DIgSILENT PowerFactory Reliability Assessment
Fault Isolation
If the option Automatic Power Restoration has been enabled in the FEA tab of the
Reliability Assessment 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 as possible back to the healthy part of the
system.
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
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
separating switches. Either all closed switches qualify as separators, or only those
switches which have the option Use for fault separation selected in the switch elements’
Reliability tab (when the option Only use marked separation switches was selected on the
FEA tab of 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, in principle, power may be restored to those areas. Figure 29.35 shows the
example network with the opened separation switches. The separated area now only
contains the faulted line. Two restorable areas result from the fault separation; the area
which contains load 1, and the area which contains loads 2 and 3. Power to load 1 is
restored 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.
29 - 44
DIgSILENT PowerFactory Reliability Assessment
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 the option Use for
power restoration selected, 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 that are connected to
an area that is still supplied 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 is called a "restored'' area. Figure 29.36 shows the
example network in which power to load 1 is restored by (re)closing the protection
breaker. Power to load 2 and 3 is restored by closing the back-stop switch. Because the
back-stop switch has a switching time of 30 minutes, loads 2 and 3 are restored in 0.5
hours. The network is now in the post-fault condition.
All loads and busbars in a separated area are considered to be interrupted for the duration
of the repair, which is normally 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 have an individual actuation time
defined. Effects of automation and remote control can thus be analyzed by lowering the
actuation times for the remote controlled switches.
In order to enhance the transparency of the network reliability assessment, the system
response to user selected faults can be made visible in the single line diagram. The
different areas and the protection, separation and restoration switches can be colored
differently. This gives a quick insight into the possible impact of certain faults or fault
combinations. Click on the Colour Representation icon ( ) on the main toolbar to select
the appropriate colouring mode.
29 - 45
DIgSILENT PowerFactory Reliability Assessment
Load Transfer
In many distribution systems, it is possible to transfer loads from one feeder to the other.
If both feeders are being considered in reliability assessment, and when the normally-
open switch between them is marked for power restoration, the transfer will be automat-
ically performed in the power restoration phase.
In some cases, however, the transfer switch and/or the alternative feeder are not included
in the network model for which the reliability assessment is made. This may be the case
when a (sub-)transmission network is analyzed, where the connected distribution
networks are modeled as single lumped loads. In this scenario, transfer switches that
connect two distribution networks will not be visible. Therefore, the possibility of trans-
ferring 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 the portion of
the lumped load that can be transferred 'away' from the analyzed network, without speci-
fying to which feeder(s) the portion is transferred.
The use of the load transfer percentage (parameter name: Transferable on the load
element’s Reliability tab) 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 following section for further information). The power at risk is considered to be zero
if all overloads in the post-fault condition can be alleviated by load transfers alone.
29 - 46
DIgSILENT PowerFactory Reliability Assessment
Load Shedding
In the example network shown in Figure 29.38, loads 2, 3 and 4 all contribute to the line
overload. As a result, some of these loads must be shed. There are three basic variations
of shedding 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 variation in which as little load as possible is shed. 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, the reduction of one particular load may have a greater
impact on the total overloading than the reduction of another load.
The reliability assessment functions use linear sensitivity indices to first select those loads
with any contribution to overloading. A linear optimization is then started to find the best
shedding variation for alleviating all overloading, 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 system 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, and is referred to as the "System
Energy At Risk'' (SEAR). Figure 29.39 shows the calculated energy at risk. Because the
line was overloaded 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.
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 use the load sensitivity indices to calculate the lowest
possible shedding priority. This is done such 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 do not need to be shed to alleviate the overloading. The
priority load shedding is performed by repeating the linear optimization for the lower
priority loads only. Figure 29.39 shows that when load 4 is set to a higher priority, load 2
is shed instead.
29 - 47
DIgSILENT PowerFactory Reliability Assessment
Discrete optimal load shedding is performed together with priority load shedding. Mixing
discrete and priority load shedding does not require additional calculations. The discrete
load shedding variation uses the fact that each load can only be shed over a fixed number
of steps. The number of possible steps is entered in each load element (Reliability tab,
parameter Shedding steps). The discrete shedding variation 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. Figure 29.40 shows
the example network where all loads can only be shed completely. As the demand at load
3 is only 0.35 MW, and the overload is 0.53 MW, it cannot contribute to overload allevi-
ation. Shedding load 2 therefore leads to the minimum amount of shed load.
29 - 48
DIgSILENT PowerFactory Reliability Assessment
• Select one or more busbars/terminals and/or loads in the single line diagram or the
data manager, right-click the selection and select "Calculate... --> Voltage sag
table..."; or
• Click on the icon on the main toolbar to activate the Additional Tools toolbar (if
not already visible), and then click the Voltage sag table assessment icon ( ).
In both cases, the voltage sag table command dialogue will open, as shown in Figures
29.41 and 29.42.
Basic Options
Load selection
Reference to the set of load points. A load point can be defined by a
busbar, terminal or load.
Short-circuit command
Displays the short-circuit command that is used. The options for the
short-circuit type will be changed during the voltage sag calculation,
depending on the Advanced Options specified in the ComVsag
dialogue. However, other settings may be inspected or changed by
clicking on the button.
Results Reference to the result file that is used for storage of results.
Exposed area limit
This defines the minimum remaining voltage for the voltage sag
calculation to continue calculating short-circuits at busbars which are
further away from the selected load points. If short-circuits at all
busbars (at a certain distance away from all load points) result in
voltages at the load points being higher than this limit, then no further
short-circuit will be analyzed.
Advanced Options
The Advanced Options 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 use the same short-circuit frequency. It is not possible to define frequencies of
occurrence for single phase, two-phase or three-phase short-circuits independently for
each component. The relative frequency for each type of short-circuit is entered for all
components in a uniform way.
29 - 49
DIgSILENT PowerFactory Reliability Assessment
The voltage sag analysis simulates various faults at all relevant busbars. It starts with the
selected load points, and proceeds to neighboring busbars until the remaining voltage at
all load points does not drop below the defined Exposed area limit. The remaining
voltages and the short-circuit impedances for all load points are written to the result file
specified by the Results parameter.
After all relevant busbars have been analyzed, the sag table assessment continues by
analyzing short-circuits at the midpoint of all lines and cables that are connected between
the relevant busbars. Again, the 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 midpoints.
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
between the ends and the midpoint.
The interpolated impedances are then used to estimate the remaining voltages between
the ends and the midpoints 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 a substantial reduction in computation and an increase in the
overall calculation speed.
29 - 50
DIgSILENT PowerFactory Reliability Assessment
29 - 51
DIgSILENT PowerFactory Reliability Assessment
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 (parameter
name: Split Bars in). Possible split variables are:
29 - 52
DIgSILENT PowerFactory Reliability Assessment
• no split
• any of the possible x-variables
the same parameter cannot be selected for the x-variable and the split-variable.
An example of the resulting voltage sag plot, in accordance with the settings shown in
Figure 29.43 is shown in Figure 29.44.
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
Remaining Voltage. All three loads can be seen to suffer either deep sags (remaining
voltage less than 0.4 p.u.), or very shallow sags, although the values at 0.8 p.u. are also
significant. Each bar is subdivided to the nominal voltage at SHC-Busbar. The shallow sags
are caused by the low voltage network, as well as the very deep sags. The high voltage
network seems to cause moderate voltage sags. This is caused 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 specific value in the voltage sag plot can
be obtained by placing the mouse over a bar or part of a bar (without clicking) and
allowing the balloon help to pop up.
The voltage sag plot dialogue has a Report button, which outputs the voltage sag plot
data to the output window. A table for each selected load point will be written in accor-
dance to the selected Voltage Sag definition, x-Variable and Split Bars in selection. An
example 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
----------------------------------------------------------------------
29 - 53
DIgSILENT PowerFactory Reliability Assessment
Lost load
A system load that is disconnected from the supply as a direct result of one or more
system failures by intervention of automatic protection devices. A system load cannot be
partly lost.
Shed load
A system load that is disconnected from the supply as a result of one or more system
failures 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 therefore unknown. The
range of possible values is known, however, as is the respective likelihood of these 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
Statistical calculation methods are used to analyze stochastic quantities. 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 using statistical 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.
Forced Outage
The unplanned removal of a primary component from the system due to one or more
failures 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.
29 - 54
DIgSILENT PowerFactory Reliability Assessment
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
intended. An example of the former is a circuit breaker that fails to trip; an example of
the latter is a transformer that is tripped by its Buchholz relay.
Hidden Failure
An undetected change in 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
The failure of a component which activates the automatic protection system. Active
failures are always associated with short-circuits.
Passive Failure
The 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
system.
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 demand under various steady
state system conditions.
29 - 55
DIgSILENT PowerFactory Reliability Assessment
Security
The ability of the system to meet the load demand during and after a transient or dynamic
disturbance of the system.
Availability
The fraction of time a component is able to operate as intended, either expressed as a
real fraction or in hours per year.
Redundant Unit
A component whose outage will never lead to an interruption in the base state which
cannot be restored by normal switching actions (i.e normal network reconfiguration)
alone.
Base State
The state of the system where all components are able to operate as intended.
(n-1) system
A system for which all relevant components are redundant units.
(n-k) system
A system for which the outage of any k or less components will never lead to an inter-
ruption which cannot be restored by normal switching actions (i.e normal network recon-
figuration) alone.
Distribution Function
The distribution function for the stochastic quantity X equals the cumulative density
function CDF(x).
CDF(x) = the probability of X to take a value smaller than x.
29 - 56
DIgSILENT PowerFactory Reliability Assessment
describes the probability of a device failing in the next period of time during wear-in,
normal service time and wear-out.
29 - 57
DIgSILENT PowerFactory Reliability Assessment
29 - 58
DIgSILENT PowerFactory Optimal Power Flow
Chapter 30
Optimal Power Flow
PowerFactory’s Optimal Power Flow (OPF) module optimizes a certain objective func-
tion in a network whilst fulfilling equality constraints (the load flow equations) and
inequality constraints (i.e. generator reactive power limits). The user can choose between
non-linear and linear optimization methods.
In both cases, the calculation is started by pressing the Execute button in the OPF
command dialogue.
30 - 1
DIgSILENT PowerFactory Optimal Power Flow
Minimization of Losses
When this objective function is selected, the goal of the optimization is to find a power
dispatch which minimizes the overall active power loss.
Minimization of Costs
When this objective function is selected, the goal of the optimization is to supply the
system under optimal operating cost. More specifically, the aim is to minimize the cost of
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.
30 - 2
DIgSILENT PowerFactory Optimal Power Flow
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 piecewise linear function with predefined slopes in each interval.
30 - 3
DIgSILENT PowerFactory Optimal Power Flow
Note that this piecewise linear function is not differentiable at the interval limits. Since
non-differentiable functions might cause problems within the optimization routine,
PowerFactory smooths the cost function slightly over a small range around the non-
differentiable points. The width of this range can be defined by the user through the
Smoothing Cost Function factor (also shown in Figure 30.3). A value of 0% corresponds
to no smoothing of the curve, whereas a value of 100% corresponds to full interpolation.
The default value is 5%. It is recommended to leave this value at its default setting.
30 - 4
DIgSILENT PowerFactory Optimal Power Flow
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 of load shedding is minimized.
Additionally, the user can specify the range over which the load may be scaled (options
Min. load shedding and Max. load shedding), as shown in Figure 30.4.
Fig. 30.4: Editing a Load Element (ElmLod) for Minimization of Load Shedding
Controls
The global control parameters can be selected on the Basic Options tab of the OPF
(ComOpf ) dialogue (see Figure 30.5). The user can specify which parameters might
serve as potential degrees of freedom for the OPF algorithm; i.e. which parameters will
contribute as controls. The set of potential controls can be grouped into four categories:
1 Generator Active Power Dispatch (ElmSym)
2 Generator Reactive Power Dispatch (ElmSym)
3 Transformer Tap Positions (for 2- and 3-winding transformers):
- 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)
4 Switchable Shunts (ElmShnt):
• Number of steps (continuos or discrete)
It should be noted that the load scaling factors will only be taken into account for the Mini-
mization of Load Shedding objective function. In this case, all loads which allow load
shedding are automatically used as controls.
These global controls determine which element controls will be considered in the optimi-
zation. The general rule is as follows: a parameter will be considered as a control if the
corresponding flag is set on the Optimization page of the element’s dialogue and if, in
addition, the corresponding global parameter is set on the Basic Options tab of the OPF
30 - 5
DIgSILENT PowerFactory Optimal Power Flow
For example, if the Tap Position HV-Side parameter of a 3-winding transformer is selected
as an OPF control, the optimization algorithm will adjust it in such a way that it contributes
optimally 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
according to the load flow settings. This could be a fixed position or a position found due
to the option Automatic Tap Adjust of Transformers being selected in the load flow
command. In this mode, the transformer tap position could be found in order to control
the voltage of a certain node, or to be a slave that is externally controlled by some other
transformer tap.
Setting Individual Model-Based Controls
Each control can be individually selected to take part in the optimization. Specifically, for
each generator (ElmSym), each transformer (ElmTr2, ElmTr3), and each shunt
(ElmShnt), the user can check the corresponding Control flag on the optimization page
of the element’s dialogue.
Synchronous Machines
A synchronous machine may contribute two possible setpoints, namely active and reactive
power control (see Figure 30.6).
30 - 6
DIgSILENT PowerFactory Optimal Power Flow
Fig. 30.6: Active and Reactive Power Controls of a Synchronous Machine (ElmSym)
Fig. 30.7: Tap Position Control (and Loading Constraint) for a 2-Winding Transformer
30 - 7
DIgSILENT PowerFactory Optimal Power Flow
Shunts
In a similar fashion to transformers, the number of steps for a shunt may serve as either
a continuous or a discrete optimization parameter (see Figure 30.9).
Constraints
The user can formulate various inequality constraints for certain system parameters, such
that the OPF solution lies within these defined limits. Since all inequality constraints are
considered as “hard constraints”, setting constraints may result in no feasible solution
being found.
The handling of OPF constraints in PowerFactory is very flexible, and various categories
of constraints exist. A constraint is considered in the OPF if and only if the individual
constraint flag is checked in the element and the corresponding global flag is enabled in
the OPF dialogue. Figure 30.10 shows the Constraints available for the non-linear optimi-
zation formulation of OPF in PowerFactory.
30 - 8
DIgSILENT PowerFactory Optimal Power Flow
The optimization uses further constraints that are automatically imposed as soon as the
corresponding parameter is used as a control. Examples of such constraints are tap posi-
tion limits and the number of steps for switchable shunts.
Network elements and their available constraints are listed below:
• Busbars and Terminals (StaBar, ElmTerm):
- Minimum Voltage
- Maximum Voltage
• Lines (ElmLne):
- Maximum Loading
• 2- and 3-Winding Transformer (ElmTr2, ElmTr3):
- Maximum Loading
- Tap Position range (if corresponding tap is a designated control parameter)
• Shunts (ElmShnt):
- Controller Steps range (if switchable steps are designated control parameters)
• Generator (ElmSym):
- Minimum Active Power
- Maximum Active Power
- Minimum Reactive Power
- Maximum Reactive Power
30 - 9
DIgSILENT PowerFactory Optimal Power Flow
Fig. 30.11: Constraint on the Max. Loading of a Line Element (similar for 2- and 3-
Winding Transformers)
30 - 10
DIgSILENT PowerFactory Optimal Power Flow
Fig. 30.13: Total Active Power Sum Limit Constraint of a Secondary Controller
(ElmSecctrl)
30 - 11
DIgSILENT PowerFactory Optimal Power Flow
Fig. 30.14: Total Reactive Power Sum Limit Constraint of a Station Controller
30 - 12
DIgSILENT PowerFactory Optimal Power Flow
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 mini-
mize an objective function f subject to the equality constraints imposed by the load flow
equations and also to the inequality constraints defined for various power system
elements. This is summarised mathematically as follows:
min = f ( x )
subject to:
g(x) = 0
h(x) ≤ 0
where g represents the load flow equations and h is the set of inequality constraints.
Introducing a slack variable for each inequality constraint, this can be reformulated as:
g(x) = 0
h(x) + s = 0
s≤0
We then incorporate logarithmic penalties and minimize the function:
min = f ( x ) – μ ⋅ ∑ log ( si )
i
where µ is the 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 a user-
defined initial value (µmax) to a user-defined target value (µmin).
The smaller the minimum penalty weighting factor, the less the applied penalty will be for
30 - 13
DIgSILENT PowerFactory Optimal Power Flow
a solution which is close to the constraint limits. This may 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 required.
Results
The presentation of the OPF results is integrated into the user interface, in that the solu-
tion of the non-linear optimization OPF is available via the complete set of variables avail-
able for conventional load flow calculations. These can be viewed in the single line
diagram of the grid, or through a data browser. The inclusion of the following variables in
the Flexible Data tab (for synchronous machines and grids) is suggested, as shown in
Figure 30.17. The actual variable names are given in parentheses. For further information
on defining Flexible Data in PowerFactory, please refer to Section 11.5.
Synchronous machines:
• Active Power (Calculation parameter P:bus1; see this parameter highlighted in Figure
30.17)
• Reactive Power (Calculation parameter Q:bus1)
• Apparent Power (Calculation parameter S:bus1)
• Voltage Magnitude (Calculation parameter u:bus1)
Grids:
• Total Production Cost, including costs through external grids (Calculation parameter
c:cst_disp; see this parameter highlighted in Figure 30.18). It should be noted that
the production costs are expressed in the same units utilized in the production cost
tables of the individual generator elements.
• Active Power Losses (Calculation parameter c:LossP)
• Reactive Power Losses (Calculation parameter c:LossQ)
• Active Power Generation (Calculation parameter c:GenP)
• Reactive Power Generation (Calculation parameter c:GenQ)
30 - 14
DIgSILENT PowerFactory Optimal Power Flow
Besides these results, the complete set of variables from conventional load flow calcula-
tions is available. A text report is also available and can be generated by clicking on the
Output Calculation Analysis icon on the main toolbar. This offers various templates
for detailed result documentation.
30.1.2 Initialization
The non-linear optimization requires initialization to generate an initial starting condition.
The Iteration tab of the OPF dialogue as shown in Figure 30.19 allows the user to select
the initialization method.
30 - 15
DIgSILENT PowerFactory Optimal Power Flow
This flag is labelled Use this load flow for initialization of OPF and can be found on
the second page of the Advanced Options tab in the ComLdf dialogue. The result
of this load flow is then used as a starting point for the iterative OPF interior-point
algorithm. If no valid OPF-initializing load flow result is found, the OPF will recalcu-
late a new load flow.
Target Value
Target value of the penalty factor.
Reduction Factor
A factor by which the current penalty factor will be divided by between the
iterations.
Fig. 30.20: Penalty Weighting Factor Settings for OPF (Non-Linear Optimization
Formulation)
30 - 16
DIgSILENT PowerFactory Optimal Power Flow
Fig. 30.21: Iteration Control Settings for OPF (Non-Linear Optimization Formulation)
The implementation of the Lagrange-Newton method means that the OPF will internally
minimize the resulting Lagrange function:
T
L ( x, s, λ ) = f ( x ) – μ ⋅ ∑ log ( s i ) + ( λ ) ⋅ [ g ( x ) + h ( x ) + s ]
i
30 - 17
DIgSILENT PowerFactory Optimal Power Flow
Convergence Criteria
Max. Acceptable Error for Nodes
The maximum allowable error for the nodal equations (in kVA).
Max. Acceptable Error for Model Equations
The maximum allowable error for the model equations (in %).
Max. Change of Objective Function
Used when Convergence of Objective Function option values of objective function
become constant is selected. The user enters a value (in %), below which the
Lagrangian is considered to have converged.
Max. Value for Gradient of Objective Function
Used when Convergence of Objective Function option gradient of objective function
converges to zero is selected. The user enters an absolute value, below which the
Lagrangian is considered to have converged.
Convergence of Objective Function
Options relating to the 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, as described below.
values of objective function become constant
If this option is selected, the user is asked to enter a value for the Max. Change of
Objective Function. If the change in value between two consecutive iterations falls
below this value, the Lagrangian is considered to have converged.
gradient of objective function converges to zero
If this option is selected, the user is asked to enter a value for the Max. Value for
Gradient of Objective Function. If the gradient falls below this value, the Lagrangian
is considered to have converged.
30.1.5 Output
Prior to the non-linear optimization, the OPF informs the user (in the output window) of
the total number of constraints and controls that will be considered in the subsequent
calculation. This information is detailed in that the imposed constraints and the partici-
pating controls are counted for each constraint and control categories separately. Two
options are available to select the level of detail contained in output messages. These
options are available in the Output tab of the OPF dialogue and are shown in Figure 30.22
and are described below.
30 - 18
DIgSILENT PowerFactory Optimal Power Flow
30 - 19
DIgSILENT PowerFactory Optimal Power Flow
The following parameters are calculated in addition to the results found by the DC load
flow:
• For generators:
c:avgCosts The fixed cost factor [$/MWh] used in the objective function (i.e.
average cost considering the costs at the generator’s active power
limits)
c:Pdisp Optimal Power Dispatch for Generator
30 - 20
DIgSILENT PowerFactory Optimal Power Flow
The optimum (postfault) tap positions for each contingency case are
stored as a parameter event object in the corresponding contingency
case object (ComOutage).
For 3-winding transformers, HV-, MV- and LV-side tap deviations are
calculated individually.
• For loads:
c:Pdisp Optimal load shedding for load
Thus, each contingency object will hold parameter events for each
selected load (the name of the parameter event is the name of the
load). The parameter event reflects the optimal postfault load shedding
for that load in the given contingency case.
30 - 21
DIgSILENT PowerFactory Optimal Power Flow
Objective Function
The user can select a linear optimization objective function using the list box as shown in
Figure 30.23. These objective functions are now described.
None
Performs a constrained load flow (i.e. a feasibility check of the network considering
the specified controls and constraints).
Minimization of Generation Fuel Costs
The objective is to minimize generation fuel costs.
30 - 22
DIgSILENT PowerFactory Optimal Power Flow
Controls
The user can select from the following control variables:
• Generator Active Power Dispatch (ElmSym)
- Prefault, Base Case (BC):
In prefault generator optimization, for each selected generator a single control
variable is introduced to the system. The total number of generator controls in this
case equals the number of selected generators.
- Postfault, per Contingency Case (CC):
In postfault generator optimization, for each selected generator, a control variable
is introduced for the base case and for each CC. This flag has to be switched on
when the objective function Min. (Pre-to-Postfault) Generation has been selected.
The total number of generator controls in this case equals:
(number of selected generators) * (1 + number of selected contingencies)
• Transformer Tap Position (ElmTr2, ElmTr3)
- Prefault, Base Case (BC):
In prefault tap optimization, for each selected transformer a single control variable
is introduced to the system. The total number of tap controls in this case equals the
number of selected transformers.
- Postfault, per Contingency Case (CC):
In postfault tap optimization, for each selected transformer, a control variable is
introduced for the BC and for each CC. This flag has to be switched on when the
objective function Minimization of Tap Deviations has been selected. The total
number of tap controls in this case equals:
(number of selected transformers) * (1 + number of selected contingencies)
• Allow Load Shedding (ElmLod)
A separate control variable is introduced to the system for the BC and for each CC.
These control variables can be activated using any objective function. The total
number of load controls equals:
(number of selected loads)*(1 + number of selected contingencies)
Note At least one type of control variable in the Controls section of the
OPF dialogue must be selected. It should be noted that the post-
fault controls can only be selected following the selection of pre-
fault controls.
Constraints
Please refer to Section 30.1.1 (Non-linear OPF). In addition, for linear optimization, the
following constraint types can be imposed:
Contingency Constraints
Contingency Analysis for a predefined set of contingencies
(ComOutage) (i.e., a set of interrupted components per contingency
case). Maximum Active Power Flow (max.), along lines (ElmLne,
ElmTr2, ElmTr3), (one constraint per side) for each contingency case
is considered in calculation. For each loading constraint, 2*(number of
contingencies) constraints will be added to the LP.
30 - 23
DIgSILENT PowerFactory Optimal Power Flow
Handling
Active power dispatch constraints can be chosen on an individual basis (by a checkbox)
per generator. Please see Figure 30.12 for setting min/max constraints for generators for
optimization.
Tap position constraints will be implicitly imposed whenever the corresponding tap is a
designated control variable, as illustrated in Figure 30.7.
Loading constraints can be chosen on an individual basis (by a checkbox) per line element
(ElmLne). Once a loading constraint for a specific line is imposed, it will be considered
by all contingencies contained in the contingency list. See Figure 30.11.
If loading constraints are included, the maximum loading limits will be calculated with
respect to the type of the element, or with respect to a thermal rating object (IntTh-
rating, as shown in Figure 30.24). If a thermal rating object is selected, the limits for the
base case will be calculated with respect to the prefault continuous rating value, and the
limits for contingency cases will be calculated with respect to the postfault continuous
rating value (specified in the thermal rating object).
30 - 24
DIgSILENT PowerFactory Optimal Power Flow
Fig. 30.24: Thermal Rating Object (IntThrating) Ratings Tab for Setting Rating
Values
The consideration of contingencies in OPF is selected as shown in Figure 30.25. The list
of contingencies is selected by choosing a specific contingency analysis command (param-
eter Contingency Analysis in the OPF dialogue, Basic Options tab), which contains in its
folder the contingency objects (ComOutage) to be considered.
30 - 25
DIgSILENT PowerFactory Optimal Power Flow
Fig. 30.25: Basic Options tab for Setting Contingency Constraints in ComOpf
30.2.2 Initialization
The OPF calculation is initialized by a load flow, which is displayed by the Load Flow
parameter. The user can inspect the load flow settings by clicking on the button, as
illustrated in Figure 30.26. The load flow command contained in the current study case is
set here automatically. Within the load flow command, the Calculation Method will be
automatically set to DC Load Flow (linear) for use by OPF (when Method is set to LP).
30 - 26
DIgSILENT PowerFactory Optimal Power Flow
n Tr
0 curr
ω ∑ tap i – tap i
i=1
30 - 27
DIgSILENT PowerFactory Optimal Power Flow
Penalty factor
Specifies the weighting factor for the additional objective function term
above.
Outer Loop
Following the solution of the LP problem, it may be the case that loading constraints are
not within their boundaries. The reason is that the algorithm uses tap sensitivities which
assume that a linear change in MW flow per tap step. Since these tap sensitivities depend
on the initial tap position, the result becomes inaccurate if the optimal tap position is far
from the initial tap position. This inaccuracy can be remedied by an additional outer loop.
At each iteration, this outer loop starts with the optimized tap positions which were calcu-
lated in the previous loop. The following Outer Loop settings can be entered on this tab:
Max. Number of Iterations
Maximum number of outer loop iterations until all constraints are
fulfilled (within a defined tolerance).
Max. Acceptable Error for Constraints
Maximum relative error (in %) by which a constraint can be violated
while still assuming a feasible solution.
It should be noted that when Max. Number of Iterations is set to one, the LP is solved
30 - 28
DIgSILENT PowerFactory Optimal Power Flow
30.2.5 Output
If contingencies are considered in OPF, one can choose to record the results of those
branches which exceed a selected limit value. This can be done for both the non-opti-
mized results and the optimized values. For each recording of results (i.e. with optimized
or non-optimized values) a separate result file must be chosen.
30 - 29
DIgSILENT PowerFactory Optimal Power Flow
30 - 30
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
Chapter 31
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.
Where:
31 - 1
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
If the voltage U of a busbar is within the allowed limits, its penalty cost corresponds
to:
CVoltViol = w1 × ΔU
Where:
ΔU is the absolute deviation from the nominal voltage
w1 is the penalty factor 'dv < dvmax' from the 'Advanced Options' tab
If the voltage U is outside the allowed band, its penalty cost corresponds to:
CVoltViol = w2 × ( ΔU – ΔUmax ) + w1 × ΔU
or
CVoltViol = w2 × ( ΔU – ΔUmin ) + w1 × ΔU
With:
ΔU absolute deviation from the nominal voltage
Unominal + ΔUmax higher voltage limit
Unominal - ΔUmin lower voltage limit
w2 penalty factor 'dv > dvmax' from the 'Advanced Options' tab
Figure 31.1 ilustrates the concept of the voltage band violation cost.
31 - 2
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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.
31 - 3
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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 7.3.3 (Network Data)).
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
31 - 4
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
Energy Cost
Energy cost applied (in specific cost per kWh).
31 - 5
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
Different penalty cost apply for voltages within the allowed band and outside.
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.
31 - 6
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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 7.7 (Parameter
Characteristics and Parametric Studies).
31 - 7
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
Candidate Buses
Percentage of all candidate buses from the sensitivity analysis that are used for the actual
optimization process.
31 - 8
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
jectives. Otherwise, if there are very low, the algorithm may not
take the voltage violations into account in the optimal capacitor
placement algorithm
31.1.5 Results
The last three tool-bar buttons give access to the optimization results.
When pressing the icon , a list appears with all nodes named where capacitors are
listed.
This icon ( ) generates a report with the results of the sensitivity analysis and the final
optimization procedure.
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 .
31 - 9
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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.
31 - 10
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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.
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.
The cable size optimization can be selected using the general tools and pressing the
icon for cable size optimization:
31 - 11
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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
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.
31 - 12
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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.
31 - 13
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
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.
31 - 14
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
31 - 15
DIgSILENT PowerFactory Optimization Tools for Distribution Networks
31 - 16
DIgSILENT PowerFactory Protection
Chapter 32
Protection
The PowerFactory protection modeling features have been implemented with the
following 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.
32 - 1
DIgSILENT PowerFactory Protection
• by editing the object which is connected to the cubicle (line, transformer, load, etc.)
and pressing the button at the cubicle field. See Figure 32.1 for example. The
option Edit Relays will bring a list of all protection devices in the cubicle. New devices
may be then created with the icon.
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.
32 - 2
DIgSILENT PowerFactory Protection
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
element types. The relay object can be compared with a finished printed circuit board,
where specific relays and chips have been inserted in the sockets.
Figure 32.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 database
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.
32 - 3
DIgSILENT PowerFactory Protection
32 - 4
DIgSILENT PowerFactory Protection
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.
32 - 5
DIgSILENT PowerFactory Protection
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
number is only relevant for the device documentation. The slot list is defined by the relay
type.
As is shown in Figure 32.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
assembly 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.
32 - 6
DIgSILENT PowerFactory Protection
All slot elements created by the relay model are stored in the relay model itself. Figure
32.6 shows the database tree with the example relay model.
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
restore 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.
32 - 7
DIgSILENT PowerFactory Protection
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 Figure
32.8.
32 - 8
DIgSILENT PowerFactory Protection
type of relay can be selected and not every possible values for the pickup current or time
dial may be entered. See Figure 32.9.
The instantaneous overcurrent relay allows for setting the pickup current. See Figure
32.10.
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
switches in the list will be opened. If the relay to which the logic unit belongs is stored in
a cubicle, the three-phase breaker in that cubicle will be opened by default if no switches
are been specified. See Figure 32.11.
32 - 9
DIgSILENT PowerFactory Protection
32 - 10
DIgSILENT PowerFactory Protection
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 Figure 32.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
32 - 11
DIgSILENT PowerFactory Protection
transformer type.
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)
32 - 12
DIgSILENT PowerFactory Protection
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 32.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
voltage 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 Figure 32.15.
32 - 13
DIgSILENT PowerFactory Protection
The connection type "V'' for the primary and secondary windings is depicted in Figure
32.16. Selecting a "V'' connection for the primary winding automatically sets the
secondary winding to a "V'' too.
32 - 14
DIgSILENT PowerFactory Protection
The secondary winding element requires a type and a reference to the voltage trans-
former. The tap settings range is defined by the windings type.
The secondary tap settings defined in the secondary winding type determine the available
tabs for the secondary winding element.
32 - 15
DIgSILENT PowerFactory Protection
32 - 16
DIgSILENT PowerFactory Protection
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.
32 - 17
DIgSILENT PowerFactory Protection
The polarization quantity Apol is rotated over the angle MT, which is the "Max. Torque
Angle'' 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 Figure 32.22.
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/
32 - 18
DIgSILENT PowerFactory Protection
The Nominal Voltage is needed for per unit calculations. The Frequency Measurement
Time defines the time used for calculating the frequency gradient.
32 - 19
DIgSILENT PowerFactory Protection
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 Figure 32.26.
32 - 20
DIgSILENT PowerFactory Protection
32 - 21
DIgSILENT PowerFactory Protection
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 Figure 32.29
for a typical timing diagram.
32 - 22
DIgSILENT PowerFactory Protection
If the relay is located in a cubicle and no switch has been specified, the breaker in the
cubicle will be opened by default.
32 - 23
DIgSILENT PowerFactory Protection
The time dial settings will scale the I-t curve in the Time vs. I/Ip plot, according to the
curve definition. See Figure 32.33 for example.
32 - 24
DIgSILENT PowerFactory Protection
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 Figure 32.34.
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 32.2.10 (The
Measurement 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.
32 - 25
DIgSILENT PowerFactory Protection
32 - 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.
32.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
selected, then all relays in connection with that busbar are selected too.
32.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
32 - 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.
32.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
32 - 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
accessed 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.
Step Size
The relay tripping positions in the path can either be iterated or calculated with a
continuous 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 "Iterate 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 unchanged at the next short-circuit position. The step size frame is grayed out if
the command is accessed by the time-distance diagram.
32 - 29
DIgSILENT PowerFactory Protection
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 Figure 32.37 for an example.
32 - 30
DIgSILENT PowerFactory Protection
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
relay, 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-
clicking the plot and selecting "Show Grading Margins''.
It is also possible to create an user defined 'x-value' by right-clicking the graph and
selecting 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.
32 - 31
DIgSILENT PowerFactory Protection
margins are shown as two lines, plus and minus the grading margin above and below the
dragged tripping characteristic. See Figure 32.38 for an example: the original character-
istic is labelled "1'', the new position as "2'', and the grading margins are labelled "a''.
32 - 32
DIgSILENT PowerFactory Protection
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 32.40 and 32.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.
32 - 33
DIgSILENT PowerFactory Protection
32 - 34
DIgSILENT PowerFactory Protection
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
option 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 calcu-
lated from the electrical transformer data, according to the ANSI/IEEE C57.109 standard,
and added to the selected time over-current plot.
32 - 35
DIgSILENT PowerFactory Protection
The characteristic currents and durations given in the edit dialogue result in a step wise
motor start current plot, as depicted in Figure 32.45.
32 - 36
DIgSILENT PowerFactory Protection
32 - 37
DIgSILENT PowerFactory Protection
32 - 38
DIgSILENT PowerFactory Protection
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-
32 - 39
DIgSILENT PowerFactory Protection
The time-distance plot in Figure 32.47 is separated in two different diagrams. The forward
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
different styles for the time-distance plot.These are:
Forward/Reverse
Both diagrams are shown.
Forward Only forward direction diagram
Reverse Only reverse direction diagram
The path axis in Figure 32.48 shows the complete path with busbar and relay locations.
Busbars/Terminals are marked with a tick and the name. The boxes above and below the
line show the relay locations in forward and in backward direction. The reference relays
in both directions are marked with an arrow.
32 - 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.
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
32 - 41
DIgSILENT PowerFactory Protection
32 - 42
DIgSILENT PowerFactory Protection
32 - 43
DIgSILENT PowerFactory Protection
data manager or in the list of relays. Then select Show −> R-X Plot to create a new
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.
Fig. 32.50: A R-X plot with short-circuit results and two relays
In Figure 32.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 equiv-
alent 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:
32 - 44
DIgSILENT PowerFactory Protection
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.
32 - 45
DIgSILENT PowerFactory Protection
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
displayed. Here the user can choose, which results are to be shown.
32 - 46
DIgSILENT PowerFactory Protection
32 - 47
DIgSILENT PowerFactory Protection
Fig. 32.52: The Protection Coordination Wizard button in the Protection toolbar
Fig. 32.53: Starting the Protection Coordination Wizard from the context sensitive
menu
The dialogue of the Protection Coordination Wizard pops up (see Figure 32.54). Configure
the Coordiniation Wizard for meeting your requirements. Afterwards press the Execute
32 - 48
DIgSILENT PowerFactory Protection
32 - 49
DIgSILENT PowerFactory Protection
32 - 50
DIgSILENT PowerFactory Network Reduction
Chapter 33
Network Reduction
33 - 1
DIgSILENT PowerFactory Network Reduction
The result of the network reduction is shown in Figure 33.2. The transmission network
has been reduced to an equivalent representation by three AC voltage sources (ElmVac)
and three common impedances (ElmZpu) connecting the remaining busbars.
A load flow calculation or a short-circuit calculation in the reduced network gives the same
results for the distribution network as for the original (non-reduced) network.
33 - 2
DIgSILENT PowerFactory Network Reduction
33 - 3
DIgSILENT PowerFactory Network Reduction
- activate the project and create a new Version of the project. For information about
Versions please refer to Section 21.1 (Project Versions).
• Activate the base Study Case. This loads the original network.
• If you have migrated your project from PowerFactory version 13.2 or another
previous PowerFactory version, please ensure that either there is a Variations folder
in your current project (located inside the Network Model folder) or that there are
already existing System Stages (located inside the Grid folders). For further
information, please refer to Section 33.3.2 (Outputs).
• Define the boundary necessary to split the grid into the part to be reduced, and the
part to retain its detailed representation. Ensure that the boundary splits the network
into two regions by using the Check Split button in the ElmBoundary dialogue.
For more information about boundaries, please refer to Section 12.3 (Boundaries).
• Press the Network Reduction icon ( ) from the Additional Tools icon bar
(Figure 33.3). This opens the dialogue for Network Reduction (ComRed).
• Choose the settings according to Section 33.3 (Network Reduction Command).
• Click on the Execute button to start the reduction procedure.
Network Reduction
Fig. 33.3: The Network Reduction Button in the Additional Tools Icon Bar
Depending on the option selected on the Outputs tab (Section 33.3.2: Outputs), the
network reduction procedure may automatically create a new variation/system stage to
represent the original grid. If the original system is represented with multiple grids (or
system stages of multiple grids), a new system stage will be created in each one. In the
new system stage(s), the part of the grid which shall not be reduced retains its full repre-
sentation, whereas the part that shall be reduced is erased and the new simplified grid
representation is added, with the connections to the other part of the grid (i. e. to the
part which is not reduced). The new system stage(s) will therefore represent the
combined grid (retained grid and reduced equivalent).
The new system stages will be automatically activated in the active study case.
In the event that one or more single line graphic diagrams were available in the system
stage(s) within the original grid, these graphics will also be available in the new system
stage(s) within the combined (partly retained and partly reduced) grid. The first time that
the new study case is activated (automatically, at the end of network reduction proce-
dure), the graphics will be displayed. The elements contained in the part of the grid which
was reduced (if any of them were previously shown), will appear grey in colour, as "ghost"
33 - 4
DIgSILENT PowerFactory Network Reduction
elements. Deactivating and re-activating the project will make them disappear perma-
nently (they are graphic elements only, and have no corresponding elements in the data-
base in the new system stage(s)).
The elements contained in the equivalent grid (equivalent branches, equivalent shunts,
equivalent injections, etc) are stored in the database but have no graphic image as yet.
These elements can be easily drawn by making use of the PowerFactory tool "Draw
Existing Net Elements", which is explained in Section 10.4.3 (Drawing Diagrams from
Predefined Objects).
Boundary
The part of the grid which shall be reduced must be defined by a
boundary. The project Boundaries folder may contain many defined
boundaries, so the user has to select the boundary corresponding to
the division which separates the original grid into two parts: (i) the part
33 - 5
DIgSILENT PowerFactory Network Reduction
that shall be reduced; and (ii) the part that shall retain its full
representation. Only one boundary can be used in the network
reduction calculation. For more information about boundaries, please
refer to Section 12.3 (Boundaries).
Load Flow
Calculate load flow equivalent
With this option enabled, the load flow equivalent will be created. If
this option is disabled, the load flow equivalent will not be created. This
option is normally enabled.
Equivalent Model for Power Injection
The load flow equivalent is composed of mutual impedances among
boundary nodes and power injections (and shunt impedances) at
boundary nodes. This kind of power injection can be represented by
different models. For the load flow equivalent there are three options
(models) available:
• Load Equivalent: a load demand
• Ward Equivalent: an AC voltage source which is configured as a
Ward Equivalent
• Extended Ward Equivalent: an AC voltage source which is
configured as an Extended Ward Equivalent
Short-Circuit
Calculate short-circuit equivalent
This option is used to specify whether the short-circuit equivalent shall
be calculated (option enabled) or not (option disabled). Currently, only
the complete short-circuit calculation method is supported.
Asymmetrical Representation
This option is used to specify whether an unbalanced short-circuit
equivalent will be created.
If this option is disabled, only a balanced short-circuit equivalent will be
created, valid for the calculation of 3-phase short-circuits.
If this option is enabled, an unbalanced short-circuit equivalent is
created as well, valid for the calculation of single-phase and 2-phase
short-circuits. This means the network representation must include zero
sequence and negative sequence parameters, otherwise the
unbalanced calculation cannot be performed.
33 - 6
DIgSILENT PowerFactory Network Reduction
33.3.2 Outputs
The Outputs tab is used to specify whether the reduced grid parameters shall be reported
only, or whether the reduced grid shall be stored in a new variation.
Calculation of Parameters Only
The equivalent parameters are calculated and reported, and no new
variation will be created.
Create a New Variation for Reduced Network
The equivalent parameters are calculated and a new variation will be
automatically created, to store the reduced network representation. If
the project still includes system stages (from PowerFactory
version 13.2 or earlier versions) a new system stage will be created
instead of a variation.
Reduce Network without Creating a New Variation
The reduced network will be stored directly in the Grid folder inside the
Network Data folder. No variation will be created. The part of the grid
to be reduced will be deleted and replaced by its reduced
representation.
To avoid losing the original grid data, save the data before executing
the network reduction with this option. To do this, either (i) create a
revision manually; or (ii) create a version of the project; or (iii) make a
copy of the entire project; or (iv) export the project.
33 - 7
DIgSILENT PowerFactory Network Reduction
33 - 8
DIgSILENT PowerFactory Network Reduction
33.3.4 Verification
Check Equivalent Results
If the option Check load flow results after reduction is enabled, the load
flow results at the boundary nodes will be checked against the original
network results. A warning message will be given if the results do not
match (within a user defined tolerance).
Check Deviation of Working Point
If the option Save original operating point to result file is enabled, the
operating point where the network reduction takes place will be
automatically saved to two result files. These two created files are:
• LdfResultforNR.ElmRes: voltage magnitudes and angles of all
boundary nodes; and
• ShcResultforNR.ElmRes: short-circuit level at all boundary nodes,
including Ik'' (Ikss), Ik' (Iks), ip (ip), ib (ib), Ib (Ib), Xb/Rb (XtoR_b),
and X/R (XtoR).
33 - 9
DIgSILENT PowerFactory Network Reduction
33 - 10
DIgSILENT PowerFactory State Estimation
Chapter 34
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).
34 - 1
DIgSILENT PowerFactory State Estimation
34 - 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”
State Estimation
(non-linear Optimization)
OK
Fig. 34.1: Variation 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.
34 - 3
DIgSILENT PowerFactory State Estimation
34 - 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.
34 - 5
DIgSILENT PowerFactory State Estimation
34.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 34.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 34.3).
34 - 6
DIgSILENT PowerFactory State Estimation
34 - 7
DIgSILENT PowerFactory State Estimation
The accuracy class and the rating are used for weighting the measurement element. In
34 - 8
DIgSILENT PowerFactory State Estimation
Current Measurements
The External I-measurement (Staextimea) plays a special role and slightly differs from
the External P- and Q-measurements (see Figure 34.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. 34.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:
34 - 9
DIgSILENT PowerFactory State Estimation
Voltage Measurements
Voltage measurements (StaExvmea) need to be placed in cubicles as well. The measure-
ment point then is the adjacent terminal.
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.
34 - 10
DIgSILENT PowerFactory State Estimation
a) Click the icon , or select from the main menu ”Options User Settings”. Change
to the tab page ”Functions”. The window shown in Figure 34.7 will appear.
b) Enable the Display Function ”State Estimator” as shown below.
c) Exit the window clicking the OK button.
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
34 - 11
DIgSILENT PowerFactory State Estimation
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 34.8). When these options are disabled, the load is treated
as in the conventional load flow calculation during the execution of the SE.
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.
34 - 12
DIgSILENT PowerFactory State Estimation
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 34.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 34.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.
34 - 13
DIgSILENT PowerFactory State Estimation
34.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.
34 - 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 34.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.
34 - 15
DIgSILENT PowerFactory State Estimation
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
34 - 16
DIgSILENT PowerFactory State Estimation
34 - 17
DIgSILENT PowerFactory State Estimation
34 - 18
DIgSILENT PowerFactory State Estimation
Initialization
The non-linear optimization requires an initialization step to generate an initial starting
configuration.
Load Flow
Specifies the settings of the load flow command which is taken for initialization in case
no flat start is used.
34 - 19
DIgSILENT PowerFactory State Estimation
34 - 20
DIgSILENT PowerFactory State Estimation
Output
Two different levels of output during the iterative process can be selected.
34.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.
34 - 21
DIgSILENT PowerFactory State Estimation
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).
34 - 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 34.13 and 34.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).
34 - 23
DIgSILENT PowerFactory State Estimation
Fig. 34.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,
34 - 24
DIgSILENT PowerFactory State Estimation
Estimated States
The user selects to color states of a specific type (P-, Q-, Scaling factor-, or Tap position-
34 - 25
DIgSILENT PowerFactory State Estimation
states). Distinct colors for observable, unobservable, non-estimated states, and states
with unclear observability status can be chosen.
34 - 26
DIgSILENT PowerFactory
Appendix
DIgSILENT PowerFactory Glossary
Appendix A
Glossary
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.
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.
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.
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
Branch Elements
A one port element connected to a node, such as a load or a machine. See also nodes,
edge elements.
Busbars
Busbars are particular representations of nodes. Busbars are housed in a Station folder
and several busbars may be part of a station.
A-1
DIgSILENT PowerFactory Glossary
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
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.
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.
DAQ
Abbreviation for "Data Acquisition''.
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.
A-2
DIgSILENT PowerFactory Glossary
DGS
Abbreviation for "DIgSILENT Interface for Geographical Informations Systems''.
DOLE
Abbreviation for "DIgSILENT Object Language for Data Exchange''. DOLE was used in
previous PowerFactory versions, but replaced by DGS meanwhile. Now, use DGS in-
stead, please.
The DOLE import 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.
DPL
Abbreviation for "DIgSILENT Programming Language''.
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.
DSL
Abbreviation for "DIgSILENT Simulation Language''.
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
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.
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.
A-3
DIgSILENT PowerFactory Glossary
Example: a model of a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 meters long, named
"FC 1023.ElmLne".
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.
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"
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-
ments.
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.
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.
A-4
DIgSILENT PowerFactory Glossary
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
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.
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
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
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"
See also: System Stage, Grid
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.
A-5
DIgSILENT PowerFactory Glossary
A-6
DIgSILENT PowerFactory Hotkeys References
Appendix B
Hotkeys References
B-1
DIgSILENT PowerFactory Hotkeys References
Alt + Rubberband Only textboxes inside the rubber band are marked, no
parent objects
Ctrl + Alt + Shift + P Element Dialogue Save a screenshot of the complete monitor as bitmap
under C:\Digsi\snapshots
Ctrl + Alt + Scrolling Marked Object Single Objects from a Busbar system can be moved
Ctrl + Alt + Scrolling Marked Busbar Single objects from a Busbar System can be increased
or reduced (size)
Ctrl + Alt + Scrolling Block The stub length of blocks in block diagrams remains
when shifting
Ctrl + Alt + Scrolling Marked Terminal Line-Routes will move to the terminal, instead of
terminal to the line
Ctrl + Alt + Scrolling Marked Node Symbol of the connected branch element will not be
centered
Ctrl + L Single Line Graphic, Will open the Define Layer dialogue to create a new
Block Diagrams layer
B-2
DIgSILENT PowerFactory Hotkeys References
Shift + Scrolling Marked Element Element can only be moved in the direction of axes
Shift + Scrolling Marked Textbox After rotation, textbox can be aligned in the direction
of axes
B-3
DIgSILENT PowerFactory Hotkeys References
Alt + Return Right; Link Open the edit dialogue of the element
Ctrl + ? Edit dialogue open Call the edit dialogue of the next object from the
list and closes the current dialogue
Ctrl + ? Edit dialogue open Call the edit dialogue of the previous object from
the list and closes the current dialogue
Ctrl + Q Right, element with more Call the dialogue Select Station, which lists all the
than one connection connected stations
B-4
DIgSILENT PowerFactory Hotkeys References
Ctrl + R Variant Insert the variant to the current study case, if the
corresponding grid is not in the study case
Ctrl + S Left
Ctrl + Shift + P
F4 Activate/Deactivate Drag&Drop-Mode
F5 Update
Return Right; link Call the edit dialogue of the original object
Shift + Left-click Select all the objects between the last marked
object and the clicked row
B-5
DIgSILENT PowerFactory Hotkeys References
F1 Online help
B-6
DIgSILENT PowerFactory Hotkeys References
Ctrl + End Set the cursor in the last position of the last row
Ctrl + home
Ctrl + Pos1 Set the cursor in the first position of first row
Ctrl + Shift + End Set the cursor in the last position and marks the
report in between
Ctrl + Shift + Pos1 Set the cursor in the first position and marks the
report in between
F4 Debug-Mode
G Debug-Mode
H Debug-Mode
home
B-7
DIgSILENT PowerFactory Hotkeys References
Shift + Pag ? Set the cursor one page up and select the in
between content
Shift + Pag ? Set the cursor one page down and select the in
between content
B-8
DIgSILENT PowerFactory Elements Reference
Appendix C
Elements Reference
Input parameters
Table C.1 shows the input parameters for the ElmTr2 object, Table C.2 for the ElmTr2n.
Parameters are presented in the same order of the object 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 attached technical referece papers: TechRef_2-W-
Transformer_SinglePhase.pdf and TechRef_2-W-Transformer_3Phase.pdf.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C-1
DIgSILENT PowerFactory Elements Reference
typ_id Type
iZoneBus Zone 0
ldcrs Rset V 0.
ldcxs Xset V 0.
C-2
DIgSILENT PowerFactory Elements Reference
re0tr_l Re Ohm 0.
desc Description
C-3
DIgSILENT PowerFactory Elements Reference
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
fold_id In Folder
C-4
DIgSILENT PowerFactory Elements Reference
charact Charact.
typ_id Type
iZoneBus Zone 0
ldcrs Rset V 0.
ldcxs Xset V 0.
C-5
DIgSILENT PowerFactory Elements Reference
desc Description
C-6
DIgSILENT PowerFactory Elements Reference
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
Input parameters
Table C.3 shows the input parameters for the ElmTr3 object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
C-7
DIgSILENT PowerFactory Elements Reference
fold_id In Folder
charact Charact.
typ_id Type
iZoneBus Zone 0
C-8
DIgSILENT PowerFactory Elements Reference
C-9
DIgSILENT PowerFactory Elements Reference
re0h Re Ohm 0.
re0m Re Ohm 0.
re0l Re Ohm 0.
xe0h Xe Ohm 0.
xe0m Xe Ohm 0.
xe0l Xe Ohm 0.
desc Description
C - 10
DIgSILENT PowerFactory Elements Reference
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
Input parameters
Table C.4 shows the input parameters of the ElmAsm object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
C - 11
DIgSILENT PowerFactory Elements Reference
The description of the asynchronous machine model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
typ_id Type
i_mot Generator/Motor 0
C - 12
DIgSILENT PowerFactory Elements Reference
desc Description
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
Input parameters
Table C.5 shows the input parameters for the ElmTrb object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the booster transformers, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
C - 13
DIgSILENT PowerFactory Elements Reference
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
typ_id Type
iZoneBus Zone 0
desc Description
re0tr_l Re Ohm 0.
Input parameters
C - 14
DIgSILENT PowerFactory Elements Reference
Table C.6 shows the input parameters for the ElmCabsys object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
desc Description
dpolar Polarity
pa Wave Propagation
C - 15
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.7 shows the input parameters for the ElmZpu object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the common impedance model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper..
Note: The name of the parameter is displayed in the object 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
fold_id In Folder
charact Charact.
iZoneBus Zone 0
C - 16
DIgSILENT PowerFactory Elements Reference
manuf Manufacturer
desc Description
dpl1 dpl1 0.
C - 17
DIgSILENT PowerFactory Elements Reference
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
Input parameters
Table C.8 shows the input parameters of the ElmAsm object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C - 18
DIgSILENT PowerFactory Elements Reference
typ_id Type
i_mot Generator/Motor 0
desc Description
cv Cv x>=0 0.
Kd Kd 0.1
Kq Kq 0.1
Td Td s 0.01
Tq Tq s 0.01
C - 19
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.9 shows the input parameters for the ElmXnet object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C - 20
DIgSILENT PowerFactory Elements Reference
desc Description
C - 21
DIgSILENT PowerFactory Elements Reference
cpower From MW
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
C - 22
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.10 shows the input parameters of the ElmLod object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the general load model, presenting the relations among the input
parameters, is given in the attached Technical Reference Paper of TypLod. The descrip-
tion of the complex load model is given in the Technical Reference Paper of TypLodind.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
typ_id Type
C - 23
DIgSILENT PowerFactory Elements Reference
desc Description
OptCost Unit 0
C - 24
DIgSILENT PowerFactory Elements Reference
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
Input parameters
Table C.11 shows the input parameters for the ElmLodlv object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
C - 25
DIgSILENT PowerFactory Elements Reference
fold_id In Folder
charact Charact.
typ_id Type
pnight P kW x>=0 0.
desc Description
OptCost Unit 0
C - 26
DIgSILENT PowerFactory Elements Reference
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
Input parameters
Table C.12 shows the input parameters for the ElmLodlvp object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the partial load model, presenting the relations among the input
parameters and the required types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C - 27
DIgSILENT PowerFactory Elements Reference
typ_id Type
pnight P kW x>=0 0.
desc Description
Input parameters
Table C.13 shows the input parameters for the ElmLneroute object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
C - 28
DIgSILENT PowerFactory Elements Reference
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
typ_id Type
iZoneBus Zone 0
sections Sections
index Index 0.
desc Description
C - 29
DIgSILENT PowerFactory Elements Reference
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
Input parameters
Table C.14 shows the input parameters for the ElmLnesec object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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
C - 30
DIgSILENT PowerFactory Elements Reference
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.
Table C.14:ElmLnesec
Name Description Unit Range Default
fold_id In Folder
charact Charact.
typ_id Type
index Index 0.
desc Description
C - 31
DIgSILENT PowerFactory Elements Reference
Input parameters
Tables C.15, C.16 and C.17 show the input parameters for the defined motor driven
machine types. Parameters are presented in the same order of the object 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 attached Technical Reference
Paper..
Note: The name of the parameter is displayed in the Object 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
fold_id In Folder
charact Charact.
typ_id Type
C - 32
DIgSILENT PowerFactory Elements Reference
fold_id In Folder
charact Charact.
typ_id Type
fold_id In Folder
charact Charact.
typ_id Type
C - 33
DIgSILENT PowerFactory Elements Reference
C - 34
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.18 shows the input parameters for the ElmNec object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C - 35
DIgSILENT PowerFactory Elements Reference
manuf Manufacturer
desc Description
Input parameters
Table C.19 shows the input parameters of the ElmVscmono object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
C - 36
DIgSILENT PowerFactory Elements Reference
Note: The name of the parameter is displayed in the Object 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
fold_id In Folder
charact Charact.
C - 37
DIgSILENT PowerFactory Elements Reference
Kd Kd 0.1
Kq Kq 0.1
Td Td s 0.01
Tq Tq s 0.01
manuf Manufacturer
desc Description
C - 38
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.20 shows the input parameters of the ElmVsc object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C - 39
DIgSILENT PowerFactory Elements Reference
manuf Manufacturer
desc Description
C - 40
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.21 shows the input parameters for the ElmRecmono object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
typ_id Type
desc Description
Pset Power-Setpoint MW 1.
C - 41
DIgSILENT PowerFactory Elements Reference
pctrl Controller
Input parameters
C - 42
DIgSILENT PowerFactory Elements Reference
Table C.22 shows the input parameters for the ElmRec object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
loc_name Name
fold_id In Folder
charact Charact.
typ_id Type
desc Description
Pset Power-Setpoint MW 1.
bstp Control-Characteristic
C - 43
DIgSILENT PowerFactory Elements Reference
ntrcn Tap-Changer 0
pctrl Controller
Input parameters
Table C.23 shows the input parameters of the ElmScap object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
C - 44
DIgSILENT PowerFactory Elements Reference
Note: The name of the parameter is displayed in the Object 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
fold_id In Folder
charact Charact.
iZoneBus Zone 0
Im Current kA
Vm Voltage kV
manuf Manufacturer
C - 45
DIgSILENT PowerFactory Elements Reference
desc Description
Input parameters
Table C.24 shows the input parameters for the ElmSind object. Parameters are
presented in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C - 46
DIgSILENT PowerFactory Elements Reference
iZoneBus Zone 0
manuf Manufacturer
desc Description
C - 47
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.25 shows the input parameters for the ElmShnt object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the shunt/filter model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
nbsph of Phase
C - 48
DIgSILENT PowerFactory Elements Reference
c1 Capacitance C1 uF x>=0 0.
fcharL L(f)
fcharR R(f)
fcharC C(f)
C - 49
DIgSILENT PowerFactory Elements Reference
manuf Manufacturer
desc Description
C - 50
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.26 shows the input parameters for the ElmVar object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the soft starter model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
iZoneBus Zone 0
K Amplification x>=0&x<=1 0.
manuf Manufacturer
C - 51
DIgSILENT PowerFactory Elements Reference
desc Description
C - 52
DIgSILENT PowerFactory Elements Reference
C - 53
DIgSILENT PowerFactory Elements Reference
C - 54
DIgSILENT PowerFactory Elements Reference
• X = 0.995 Z
• R/X = 0.1
• with I LR ⁄ I rM = 3
The index 'rM' specifies the rating of the static converter transformer on the network side,
or the rating of the static converter, if no transformer is present.
C - 55
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.27 shows the input parameters for the ElmSvs object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
C - 56
DIgSILENT PowerFactory Elements Reference
Re Resistance, Re Ohm 0.
Xe Reactance, Xe Ohm 0.
R0 Resistance, R0 Ohm 0.
X0 Reactance, X0 Ohm 0.
manuf Manufacturer
desc Description
C - 57
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.28 shows the input parameters of the ElmSym object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
typ_id Type
C - 58
DIgSILENT PowerFactory Elements Reference
i_mot Generator/Motor 0
desc Description
Pmin_uc Min. MW 0.
cost_up Startup $ 0.
cost_down Shutdown $ 0.
cpower Power MW
C - 59
DIgSILENT PowerFactory Elements Reference
dsecres Reserve 0.
cap_P Act.Power MW
P_min Min. MW 0.
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
C - 60
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.29 shows the input parameters for the ElmTow object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the line coupling model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
desc Description
line1 Circuit 1
line2 Circuit 2
line3 Circuit 3
line4 Circuit 4
line5 Circuit 5
C - 61
DIgSILENT PowerFactory Elements Reference
line6 Circuit 6
towdist Distance m
sag_e Max.Sag m
dpolar Polarity
sag_c Max.Sag m
transp Transposition
dtow Length 0.
pos1 Position 1 km
pos2 Position 2 km
pa Wave Propagation
C - 62
DIgSILENT PowerFactory Elements Reference
TypLne or a TypTow object. The ElmLne can contain line sections as presented in
Section 10.1.9 (Defining and Working with Transmission Lines).
Input parameters
Table C.30 shows the input parameters for the ElmLne object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
fold_id In Folder
charact Charact.
typ_id Type
iZoneBus Zone 0
C - 63
DIgSILENT PowerFactory Elements Reference
pz1 Poles,Mode 1 Hz
zz1 Zeros, Z1 Hz
pz2 Poles,Mode 2 Hz
zz2 Zeros, Z2 Hz
pa1 Poles, A1 Hz
za1 Zeros, A1 Hz
C - 64
DIgSILENT PowerFactory Elements Reference
pa0 Poles, A0 Hz
za0 Zeros, A0 Hz
pa2 Poles, A2 Hz
za2 Zeros, A2 Hz
cubsecs Routes/Cubicles/Sections
desc Description
dpl1 dpl1 0.
dpl2 dpl2 0.
dpl3 dpl3 0.
dpl4 dpl4 0.
dpl5 dpl5 0.
C - 65
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.31 shows the input parameters for the ElmVac object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the AC voltage source model, presenting the relations among the input
parameters and the posible types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
Under preparation...
C - 66
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.32 shows the input parameters for the ElmVdc object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the AC voltage source model, presenting the relations among the input
parameters and the posible types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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.
Under preparation...
C - 67
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.33 shows the input parameters of the ElmClock object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the clock model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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
fold_id In Folder
charact Charact.
typ_id Type
Tp Period ms x>0 1.
C - 68
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.34 shows the input parameters of the ElmFft object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object 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
fold_id In Folder
charact Charact.
typ_id Type
C - 69
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.35 shows the input parameters of the ElmFile object. Parameters are presented
in the same order of the object 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 attached Technical Reference Paper.
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.
fold_id In Folder
charact Charact.
f_name Filename
icol Column j 0
afac Factor a 1.
bfac Factor b 0.
prim P or S
desc Description
C - 70
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.36 shows the input parameters of the ElmFsrc object. Parameters are presented
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
parameters is given in the attached Technical Reference Paper.
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
fold_id In Folder
charact Charact.
dc_com DC Component 0.
ampl_ Amplitude
C - 71
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.37 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 attached Technical Refer-
ence Paper.
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
fold_id In Folder
charact Charact.
typ_id Type
C - 72
DIgSILENT PowerFactory Elements Reference
fold_id In Folder
charact Charact.
typ_id Type
C - 73
DIgSILENT PowerFactory Elements Reference
Input parameters
Table C.39 shows the input parameters of the ElmTrigger object. Parameters are
presented 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 attached Technical Refer-
ence Paper.
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
fold_id In Folder
charact Charact.
typ_id Type
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.
C - 74
DIgSILENT PowerFactory Elements Reference
C - 75
DIgSILENT PowerFactory Elements Reference
C - 76
DIgSILENT PowerFactory Types Reference
Appendix D
Types Reference
Input parameters
Table D.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 attached Technical Reference Paper.
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.
D-1
DIgSILENT PowerFactory Types Reference
itrmt Type 0
it0mt Type 0
D-2
DIgSILENT PowerFactory Types Reference
ansiclass Class
tap_side at Side x=0|x=1 0
manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model
satcur Current (peak) p.u.
D-3
DIgSILENT PowerFactory Types Reference
Input parameters
Table D.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 attached Technical Reference Paper.
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.
D-4
DIgSILENT PowerFactory Types Reference
D-5
DIgSILENT PowerFactory Types Reference
i3loc Position 0
i30lc Position 0
itrmt Type 0
D-6
DIgSILENT PowerFactory Types Reference
ansiclass Class
nt3ag_l Phase Shift *30deg x>=0&x<=12 0
D-7
DIgSILENT PowerFactory Types Reference
manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model
Input parameters
Table D.3 shows the input parameters of the TypAsmo object. Parameters are presented
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 attached Technical Reference Paper.
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.
D-8
DIgSILENT PowerFactory Types Reference
fold_id In Folder
charact Charact.
nslty Connection 0
D-9
DIgSILENT PowerFactory Types Reference
D - 10
DIgSILENT PowerFactory Types Reference
i_cage Rotor 0
manuf Manufacturer
desc Description
Input parameters
Table D.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 attached Technical Reference Paper.
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.
D - 11
DIgSILENT PowerFactory Types Reference
D - 12
DIgSILENT PowerFactory Types Reference
Input parameters
Table D.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 attached Technical Reference Paper.
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.
my Relative Permeability 1.
D - 13
DIgSILENT PowerFactory Types Reference
manuf Manufacturer
doc_id Additional Data
desc Description
uline Rated Voltage kV x>=0 0.
Input parameters
Table D.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 attached Technical Reference Paper.
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.
D - 14
DIgSILENT PowerFactory Types Reference
manuf Manufacturer
doc_id Additional Data
desc Description
D - 15
DIgSILENT PowerFactory Types Reference
Input parameters
Table D.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 attached Technical Reference Paper.
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.
fold_id In Folder
charact Charact.
D - 16
DIgSILENT PowerFactory Types Reference
manuf Manufacturer
desc Description
Input parameters
D - 17
DIgSILENT PowerFactory Types Reference
Table D.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 attached Technical Reference Paper.
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.
D - 18
DIgSILENT PowerFactory Types Reference
D - 19
DIgSILENT PowerFactory Types Reference
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.
iopt_cnd Cable is
iopt_ord Conductors
cmeth Installation Method (IEC
364)
iopt_dir Arrangement
lcost Line Cost $/km x>=0 0.
D - 20
DIgSILENT PowerFactory Types Reference
Input parameters
Table D.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 attached Technical Reference Paper.
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.
D - 21
DIgSILENT PowerFactory Types Reference
Gs Snubber-Conductance S x>=0 0.
Input parameters
Table D.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).
The description of the synchronous machine model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
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.
D - 22
DIgSILENT PowerFactory Types Reference
xd xd p.u. x>0 2.
xq xq p.u. x>0 2.
D - 23
DIgSILENT PowerFactory Types Reference
D - 24
DIgSILENT PowerFactory Types Reference
fcharrstr rs(f)
fcharlss l''(f)
i_v12 Model x=0|x=1 0
manuf Manufacturer
doc_id Additional Data
desc Description
dpu Mechanical Damping p.u. x>=0 0.
Input parameters
Tables D.11 and D.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 attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
D - 25
DIgSILENT PowerFactory Types Reference
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
ktrto Transposition
nphas Num. of Phases
pcond_e Conductor Types TypCon
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
D - 26
DIgSILENT PowerFactory Types Reference
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.
D - 27
DIgSILENT PowerFactory Types Reference
manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model
D - 28
DIgSILENT PowerFactory Types Reference
manuf Manufacturer
doc_id Additional Data
desc Description
D - 29
DIgSILENT PowerFactory Types Reference
D - 30
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory
Appendix E
Reference to the use of Symbols in
PowerFactory
The symbols used in the graphic windows of PowerFactory are defined by the so called
'Symbol' objects (IntSym). DIgSILENT provides a complete set of symbols to represent
any of the defined network components; additionally the users have the possibility to de-
fine their own symbols and use them in the graphical windows of their projects.
In the proceeding sections the variables used to define symbol objects are presented.
E-1
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory
Allow Moving
Allows moving in graphic
Show Connection Attributes
Shows the square (resulting state of composite switches) at the end of
connection lines
Insertion Reference
Defines the insertion point of an element (e.g. rectangular terminal = 4
-> top left).The following matrix describes the relation between the
insertion points and the insertion numbers:
432
501
678
Additional Attributes
Only used for elements whose representation shall be able to alter via
specific changes of the element parameters (e.g. shunts, couplers)
Connection Points
Defines the position on the symbol where the connection lines start.
The number of connection points is defined by the number of lines
unequal (-9999,-9999). The points should be located on the grid, i.e.
they should be a multiple of 4.375 (mm)
Contents
Containing objects of type "SetVitxt" defining the layout of the text
boxes. The names must be unique. Labels beginning with "Label..." and
result boxes beginning with "Res...". The name of symbol must also be
part of the name of the SetVitxt.
E-2
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory
E-3
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory
0 = white
1 = black
2 = bright red
3 = bright blue
4 = bright green
5 = yellow
6 = cyan
7 = magenta
8 = dark grey
9 = grey
10 = red
11 = dark rot
12 = dark green
13 = green
14 = dark blue
15 = blue
16 = white
17 = bright grey
iRsz (Resize mode)
0 = not resizable
1 = shift only
2 = keep ratio
3 = resizable in any direction
In version 13.0 additional parameters were added:
iSB
No. of area (1..32, can only be used if set in source code, e.g. vector
groups
iLay
No. of graphic layer
iSN
Connection number (0..4)
iIP
Object is used for calculation of intersections (=1 only for node objects)
xOff, yOff
Offset used when object is inserted (optional)
E-4
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory
ate automatically WMF files in the same folder with a rotation of 90, 180 and 270 degrees.
Additionally pictures for open devices with the same angles can be entered in the bottom
lines.
E-5
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory
E-6
DIgSILENT PowerFactory Interfaces with Other Programs
Appendix F
Interfaces with Other Programs
F-1
DIgSILENT PowerFactory Interfaces with Other Programs
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 *.*.
F-2
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
import Section F.2.2.
F-3
DIgSILENT PowerFactory Interfaces with Other Programs
F-4
DIgSILENT PowerFactory Interfaces with Other Programs
F-5
DIgSILENT PowerFactory Interfaces with Other Programs
F-6
DIgSILENT PowerFactory Interfaces with Other Programs
searches for *.dyn and *dyr 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....).
F-7
DIgSILENT PowerFactory Interfaces with Other Programs
F-8
DIgSILENT PowerFactory Interfaces with Other Programs
F-9
DIgSILENT PowerFactory Interfaces with Other Programs
Client 1 Client 2
HTML/HTTP SOAP/HTTP
StationWare
Kernel
StationWare Server
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 StationWare server provides two interfaces to access from client
machines:
• 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 F.8.
The browser displays HTML pages which are created by StationWare’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
F - 10
DIgSILENT PowerFactory Interfaces with Other Programs
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.
• 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
StationWare’s data and concepts smoothly into its own world.
The functionality of the HTML interface is covered in the StationWare manual. The
remainder of this chapter focuses on PowerFactory as client.
F - 11
DIgSILENT PowerFactory Interfaces with Other Programs
Location
In StationWare 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 F.9.
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
relays (ElmRelay). See Figure F.10 for a typical PowerFactory project.
F - 12
DIgSILENT PowerFactory Interfaces with Other Programs
Device
StationWare 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 F.11 for an example. The device ID is used to link one
StationWare device to one PowerFactory device. The PowerFactory device e.g. an
ElmRelay object stores the StationWare device ID as foreign key.
F - 13
DIgSILENT PowerFactory Interfaces with Other Programs
Device State
A device’s state is in StationWare called setting. A setting is a list of attributes, and
describes 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 StationWare 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
attribute 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 F.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.
F - 14
DIgSILENT PowerFactory Interfaces with Other Programs
According to this attribute definition a device can have settings as shown in tables F.2 or
F.3.
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 F.4 for
a definition and table F.5 for an example. The TypRelay type defines components and
parameters.
StationWare attributes are somehow mapped to PowerFactory parameters and vice
versa. How this actually is accomplished, is described in Section F.3.7 (Technical
Reference). The mapping is non-trivial since only a small subset of the attributes (the
calculation-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.
.
F - 15
DIgSILENT PowerFactory Interfaces with Other Programs
Some relays support multiple setting groups (MSG) also called parameter sets. Such
relays have the same group many times (c.f. table F.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
provided.
In this case a group index parameter defines which of the MSGs actually is transferred
from StationWare to PowerFactory.
In PowerFactory a device has exactly one state (or setting). Therefore when data is
transferred between PowerFactory and StationWare, always a concrete device setting
in StationWare must be specified.
For PowerFactory purposes a special PowerFactory planning phase is introduced. The
transfer directions are specified as follows:
• Imports from StationWare into PowerFactory are restricted to Applied and
PowerFactory settings. Applied denotes the current applied setting (Applied) or
a previous applied (Historic) setting.
F - 16
DIgSILENT PowerFactory Interfaces with Other Programs
F.3.4 Configuration
In order to transfer data between PowerFactory and StationWare both systems must
be configured.
StationWare Server
An arbitrary StationWare user account can be used for the StationWare interface in
PowerFactory. The user must have enough access rights to perform operations e.g. for
the export from PowerFactory to StationWare write-rights must be granted.
The bi-directional transfer of settings is restricted to lifecycle phases with
1 status PLANNING or REVIEW and
2 with a cardinality constraint of 1 i.e. there may exist one or no such setting for one
device.
Please ensure that at least one phase fullfills these requirements, and there exists a
setting of this phase.
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 StationWare/PowerFactory mapping.
F - 17
DIgSILENT PowerFactory Interfaces with Other Programs
F - 18
DIgSILENT PowerFactory Interfaces with Other Programs
F - 19
DIgSILENT PowerFactory Interfaces with Other Programs
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 F.17.
All calculation relevant relays (actually there only the two we created above) are displayed
in a table (see Figure F.18).
F - 20
DIgSILENT PowerFactory Interfaces with Other Programs
enter the Server Endpoint URL of the StationWare server. The URL should have a
format similar to
http://192.168.1.53/psmsws/psmsws.asmx
enter Username and Password of a valid StationWare user account.
F - 21
DIgSILENT PowerFactory Interfaces with Other Programs
press OK.
The connection procedure may take some seconds. If the server could be accessed and
F - 22
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 StationWare 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
options in detail.
Having established a connection to the server, a browser dialogue pops up which displays
the location hierarchy as known from the StationWare HTML interface. The dialogue is
shown in Figure F.21.
navigate to the Getting Started substation,
select the Getting Started Relay 1 device,
press OK.
F - 23
DIgSILENT PowerFactory Interfaces with Other Programs
navigate to the relay detail view of the Getting Started Relay 1 relay (c.f. Fig. F.23)
F - 24
DIgSILENT PowerFactory Interfaces with Other Programs
Observe the new created PF setting. The phase of this setting is PowerFactory.
switch to the settings detail page of the new PF setting (c.f.Fig. F.24).
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 StationWare into Power-
Factory.
modify the PF settings in StationWare 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 F.19.
select the Import... item in the StationWare menu entry.
Again the ComStationware dialogue (see Figure F.22) 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
StationWare side
All import options are described in detail in the reference section (Export and Import
Settings).
F.3.6 Reference
This section describes all options and features concerning the StationWare interface.
F - 25
DIgSILENT PowerFactory Interfaces with Other Programs
F - 26
DIgSILENT PowerFactory Interfaces with Other Programs
Connection
Similar to the HTML interface the StationWare interface in PowerFactory is session-
oriented: when a user logs on to the system by specifying a valid StationWare account
(username and password) a new session is created. Only inside such a session
StationWare can be used. The account privileges restrict the application functionality
e.g. an administrator account is more powerful than a usual user account.
Working with PowerFactory the first time the StationWare server is required the
Logon dialogue is shown as shown in Figure F.26.
The StationWare connection options are stored in the user settings (Figure F.27). After
each successful logon the user settings are updated.
F - 27
DIgSILENT PowerFactory Interfaces with Other Programs
Username/Password
Username and Password have to be valid user account in
StationWare. A StationWare user account has nothing to do with
the PowerFactory user account.
The very same StationWare account can be used by two different PowerFactory
users. The privileges of the StationWare account actually restrict the functionality. For
device import the user requires read-access rights. For exporting additionally write-access
rights are required.
A more convenient way is to use the Browser dialogue shown in Figure F.29. The dialogue
allows to browse through the StationWare 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.
F - 28
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 StationWare interface is actually ’doing’ something (it does import data, it
does export data) it is implemented as a ComStationware object.
The ComStationware 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 F.30.
By default the study case of a new project contains no ComStationWare object. It is
automatically 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 ComStationware dialogue provides import options as follows (Figure F.31):
Transfer Mode
select Import from StationWare 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
A list of available life cycle phases is shown.
F - 29
DIgSILENT PowerFactory Interfaces with Other Programs
F - 30
DIgSILENT PowerFactory Interfaces with Other Programs
Export Options
The export options are almost identical to the import options (Figure F.32):
F - 31
DIgSILENT PowerFactory Interfaces with Other Programs
Transfer Mode
Select Export as Transfer Mode
Life cycle Phase
A list of possible life cycle targets is shown. Please have in mind that a
setting of the life cycle is available. Applied settings can never be
changed.
Click Execute to start the data transfer. Then the PowerFactory -relevant parameters
are copied upon the existing target setting.
Overview
For each device type (TypRelay) and each transfer direction a separate DPL script is
required.
The import DPL script takes the StationWare 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 StationWare 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).
Import Scripts
The algorithm used for the import from StationWare to PowerFactory is as follows.
Let d be the device whose setting is to be imported:
1 let t be d’s device type
F - 32
DIgSILENT PowerFactory Interfaces with Other Programs
F - 33
DIgSILENT PowerFactory Interfaces with Other Programs
The Input parameters get initialized with the StationWare attribute values and the
External Object with the current relay.
The second page of the ComDpl script holds the output parameters. They have the
meaning as follows (Figure F.35 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 F.36 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.
F - 34
DIgSILENT PowerFactory Interfaces with Other Programs
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
F - 35
DIgSILENT PowerFactory Interfaces with Other Programs
F - 36
DIgSILENT PowerFactory Interfaces with Other Programs
F - 37
DIgSILENT PowerFactory Interfaces with Other Programs
create in StationWare 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 StationWare 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 StationWare
and re-try the import. In quite the same way create and verify a PsmsExport.ComDpl
script.
F - 38
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
Appendix G
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
G-1
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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.
G-2
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
• 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.
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 .
G-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.
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.
G-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.
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
G-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.
statement1;
statement2;
if (condition)
{
groupstatement1;
groupstatement2;
}
All parameter declarations must be given together in the top first lines of the DPL script.
The semicolon is obligatory.
Examples:
G-6
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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:
G-7
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
• Constants:
pi() pi
twopi() 2 pi
e() e
G-8
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
if ( [boolexpr] ) [statlist]
if ( [boolexpr] ) [statlist] else [statlist]
do [statlist] while ( [boolexpr] )
while ( [boolexpr] ) [statlist]
for ( statement ; [boolexpr] ; statement ) [statlist]
in which
if (a<3) {
b = a*2;
}
else {
b = a/2;
}
while (sin(a)>=b*c) {
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();
}
G-9
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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
}
O2 = S2.Next();
}
if (AllOk) {
DoReport(2); ! report
}
O1 = S1.Next();}
G - 10
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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.
G - 11
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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
This examples is very primitive but it shows the basic methods for accessing database ob-
jects and their parameters.
G - 12
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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.
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''.
G - 13
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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()''.
G - 14
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
Example:
sagdepth = Bar1:u;
G - 15
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
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.
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
Figure G.6.
G - 16
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
G - 17
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL
G - 18
DIgSILENT PowerFactory DPL Reference
Appendix H
DPL Reference
H-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.
H-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.
H-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 ()
H-4
DIgSILENT PowerFactory DPL Reference
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);
exit
exit ()
DPL Internal Methods
The exit() command terminates a DPL script immediately. If called within a subscript, only
the subscript itself will be terminated. In this case, execution will continue in the calling
H-5
DIgSILENT PowerFactory DPL Reference
parent script.
Arguments:
The exit() command has no arguments.
Return value:
The exit() command has no return value.
Example:
int in;
int sum;
H-6
DIgSILENT PowerFactory DPL Reference
'-' 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
• "\\'' 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 H.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);
H-7
DIgSILENT PowerFactory DPL Reference
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.
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
H-8
DIgSILENT PowerFactory DPL Reference
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'' .
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.
H-9
DIgSILENT PowerFactory DPL Reference
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.
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 20.2.3
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-
H - 10
DIgSILENT PowerFactory DPL Reference
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'' .
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'' .
H - 11
DIgSILENT PowerFactory DPL Reference
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:
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
H - 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.
H - 13
DIgSILENT PowerFactory DPL Reference
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:
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
H - 14
DIgSILENT PowerFactory DPL Reference
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';
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 the sub-string
sNew.
H - 15
DIgSILENT PowerFactory DPL Reference
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:
The first position in sStr where sFind was found (index of the first letter, index begins with 0);
-1 if substring was not found.
Example:
int iRet;
string sStr, sFind, sNew;
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:
H - 16
DIgSILENT PowerFactory DPL Reference
strftime
string strftime (String Format)
DPL Internal Methods
Creates a formatted time string.
Arguments:
String Format (obligatory) : The format string
The following formatting codes are recognized in the format string.
Table H.2:
%a Abbreviated weekday name
H - 17
DIgSILENT PowerFactory DPL Reference
Table H.2:
%U Week of year as decimal number,
Sunday as first day of week (00..53)
%% Percent sign
Return value:
The formatted time string
Example:
The following example shows the date.
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
H - 18
DIgSILENT PowerFactory DPL Reference
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
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)
H - 19
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:
int iRet;
string sRes;
fopen('c:\test1.txt','r',0);
SetLineFeed(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 ()
H - 20
DIgSILENT PowerFactory DPL Reference
ActiveProject
Object ActiveProject ()
DPL Internal Methods
Returns the currently active project.
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;
H - 21
DIgSILENT PowerFactory DPL Reference
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();
}
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.
H - 22
DIgSILENT PowerFactory DPL Reference
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
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.
H - 23
DIgSILENT PowerFactory DPL Reference
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;
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
H - 24
DIgSILENT PowerFactory DPL Reference
GetTime
int GetTime (int iN)
DPL Internal Methods
Returns current processor time.
Arguments:
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(); }
H - 25
DIgSILENT PowerFactory DPL Reference
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();
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'' .
H - 26
DIgSILENT PowerFactory DPL Reference
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');
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;
H - 27
DIgSILENT PowerFactory DPL Reference
}
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
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.
ResNvars
int ResNvars (object O)
DPL Internal Methods
Returns the number of variables (columns) in result file. An error is produced when O is
H - 28
DIgSILENT PowerFactory DPL Reference
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:
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
H - 29
DIgSILENT PowerFactory DPL Reference
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:
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
H - 30
DIgSILENT PowerFactory DPL Reference
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
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()
H - 31
DIgSILENT PowerFactory DPL Reference
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 H.3:
0: uniform distribution
1: normal distribution
2: weibull distribution
double p1 (obligatory) :
double p1 (obligatory) :
Table H.4:
uniform normal weibull
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
H - 32
DIgSILENT PowerFactory DPL Reference
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
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;
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
H - 33
DIgSILENT PowerFactory DPL Reference
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'.
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;
H - 34
DIgSILENT PowerFactory DPL Reference
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;
string s,s1,s2;
H - 35
DIgSILENT PowerFactory DPL Reference
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-
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
H - 36
DIgSILENT PowerFactory DPL Reference
Set.Add
int Set.Add ([object O | set S])
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
H - 37
DIgSILENT PowerFactory DPL Reference
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:
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();
}
H - 38
DIgSILENT PowerFactory DPL Reference
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();
while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "First'' .
Set.Firstmatch
Object Set.Firstmatch (String WildCard)
Set.Nextmatch
int Set.Nextmatch ()
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.
H - 39
DIgSILENT PowerFactory DPL Reference
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
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;
H - 40
DIgSILENT PowerFactory DPL Reference
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
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
H - 41
DIgSILENT PowerFactory DPL Reference
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
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;
H - 42
DIgSILENT PowerFactory DPL Reference
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.
set S;
object O;
S = SEL.AllLines();
S.MarkInGraphics();
H - 43
DIgSILENT PowerFactory DPL Reference
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');
H - 44
DIgSILENT PowerFactory DPL Reference
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
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;
H - 45
DIgSILENT PowerFactory DPL Reference
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
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;
H - 46
DIgSILENT PowerFactory DPL Reference
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.
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();
H - 47
DIgSILENT PowerFactory DPL Reference
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 ()
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)
H - 48
DIgSILENT PowerFactory DPL Reference
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 ()
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.
H - 49
DIgSILENT PowerFactory DPL Reference
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
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
H - 50
DIgSILENT PowerFactory DPL Reference
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();
}
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();
}
H - 51
DIgSILENT PowerFactory DPL Reference
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)
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.
H - 52
DIgSILENT PowerFactory DPL Reference
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;
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
H - 53
DIgSILENT PowerFactory DPL Reference
Object.lnm
string Object.lnm (string VarName)
Returns the long description of the variable.
Arguments:
string VarName (obligatory) : The variable name
Return value:
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''
H - 54
DIgSILENT PowerFactory DPL Reference
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.
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:
H - 55
DIgSILENT PowerFactory DPL Reference
Object.MarkInGraphics
void Object.MarkInGraphics ()
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
H - 56
DIgSILENT PowerFactory DPL Reference
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
H - 57
DIgSILENT PowerFactory DPL Reference
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,
aOutage,
aElm;
set Outages;
int iElements,
iElm;
ComOutage.RemoveEvents
void ComOutage.RemoveEvents (string type, int info)
Removes events stored inside the command.
H - 58
DIgSILENT PowerFactory DPL Reference
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;
ComSimoutage.Reset
int ComSimoutage.Reset ()
Resets the intermediate results of the outage simulation.
Arguments:
H - 59
DIgSILENT PowerFactory DPL Reference
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:
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.
H - 60
DIgSILENT PowerFactory DPL Reference
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.
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
H - 61
DIgSILENT PowerFactory DPL Reference
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
Object Methods
Using other objects.
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.
H - 62
DIgSILENT PowerFactory DPL Reference
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.
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:
H - 63
DIgSILENT PowerFactory DPL Reference
0 on success, 1 on error.
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.
ElmNet.Activate
int ElmNet.Activate ()
Adds a grid 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.
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.
H - 64
DIgSILENT PowerFactory DPL Reference
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.
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.
TypAsm.CalcElParams
int TypAsm.CalcElParams ()
Calculates the electrical parameters from the input data.
H - 65
DIgSILENT PowerFactory DPL Reference
Arguments:
none
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.
TypAsmo.CalcElParams
int TypAsmo.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects.
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:
H - 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
H - 67
DIgSILENT PowerFactory DPL Reference
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');
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;
H - 68
DIgSILENT PowerFactory DPL Reference
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)
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
H - 69
DIgSILENT PowerFactory DPL Reference
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:
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
H - 70
DIgSILENT PowerFactory DPL Reference
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'.
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
H - 71
DIgSILENT PowerFactory DPL Reference
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.
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
H - 72
DIgSILENT PowerFactory DPL Reference
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.
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
H - 73
DIgSILENT PowerFactory DPL Reference
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
DPL Internal Methods
Set Methods
Object Methods
Using other objects
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:
H - 74
DIgSILENT PowerFactory DPL Reference
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
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
H - 75
DIgSILENT PowerFactory DPL Reference
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
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 ()
H - 76
DIgSILENT PowerFactory DPL Reference
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
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
H - 77
DIgSILENT PowerFactory DPL Reference
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
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
H - 78
DIgSILENT PowerFactory DPL Reference
Set Methods
Object Methods
Using other objects
SetFilt.Get
Set SetFilt.Get ()
Returns a container with the filtered objects.
Arguments:
none
Return value:
The set of filtered objects
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
ComDpl.Execute
int ComDpl.Execute (user defined arguments)
Executes an external DPL script as a subroutine.
Arguments:
user defined arguments
H - 79
DIgSILENT PowerFactory DPL Reference
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
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();
H - 80
DIgSILENT PowerFactory DPL Reference
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
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
H - 81
DIgSILENT PowerFactory DPL Reference
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
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
H - 82
DIgSILENT PowerFactory DPL Reference
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)
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
H - 83
DIgSILENT PowerFactory DPL Reference
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
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) {
H - 84
DIgSILENT PowerFactory DPL Reference
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.
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:
H - 85
DIgSILENT PowerFactory DPL Reference
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
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
ElmCoup.Close
int ElmCoup.Close ()
Closes the buscoupler.
Arguments:
none
Return value:
0 on success
H - 86
DIgSILENT PowerFactory DPL Reference
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
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
H - 87
DIgSILENT PowerFactory DPL Reference
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 ()
Returns 1 when the coupler is closed.
Arguments:
none
Return value:
1 when closed, 0 when open
Example:
See ElmCoup.Open for an example
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.
H - 88
DIgSILENT PowerFactory DPL Reference
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
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 ()
H - 89
DIgSILENT PowerFactory DPL Reference
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();
}
H - 90
DIgSILENT PowerFactory DPL Reference
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();
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
H - 91
DIgSILENT PowerFactory DPL Reference
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
Return value:
0 on success, 1 on error;
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects
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();
H - 92
DIgSILENT PowerFactory DPL Reference
}
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.
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
TypLne.IsCable
int TypLne.IsCable ()
Returns if the line type is a cable type.
Arguments:
H - 93
DIgSILENT PowerFactory DPL Reference
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();
}
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
H - 94
DIgSILENT PowerFactory DPL Reference
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.
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
H - 95
DIgSILENT PowerFactory DPL Reference
ElmRes.Write
int ElmRes.Write ()
Writes the current results to 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.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();
H - 96
DIgSILENT PowerFactory DPL Reference
n += 1;
Ld:pini += LoadStep;
}
if (n>9) {
Res.Write();
n = 0;
}
}
See also
DPL Internal Methods
Set Methods
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.
H - 97
DIgSILENT PowerFactory DPL Reference
Arguments:
none
Return value:
none
See also
DPL Internal Methods
Set Methods
Object Methods
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.
H - 98
DIgSILENT PowerFactory DPL Reference
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects
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
H - 99
DIgSILENT PowerFactory DPL Reference
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
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
H - 100
DIgSILENT PowerFactory DPL Reference
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
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);
H - 101
DIgSILENT PowerFactory DPL Reference
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
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:
H - 102
DIgSILENT PowerFactory DPL Reference
none
Example:
The following example removes all ComOutage objects stored inside the ComRel com-
mand in the study case.
object aCmd;
ComRel3.RemoveEvents
void ComRel3.RemoveEvents (string type, int info)
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;
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:
H - 103
DIgSILENT PowerFactory DPL Reference
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
H - 104
DIgSILENT PowerFactory DPL Reference
Set Methods
Object Methods
Using other objects
ComLdf.Execute
int ComLdf.Execute ()
Execute a load-flow calculation.
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
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
H - 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.
H - 106
DIgSILENT PowerFactory DPL Reference
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();
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
H - 107
DIgSILENT PowerFactory DPL Reference
Example:
See StaSwitch.Open for an example
SetFeeder.GetAll
Set SetFeeder.GetAll ()
Returns all objects in the feeder.
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
H - 108
DIgSILENT PowerFactory DPL Reference
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
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
SetPath.GetAll
Set SetPath.GetAll ()
Returns all objects in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
H - 109
DIgSILENT PowerFactory DPL Reference
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
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:
H - 110
DIgSILENT PowerFactory DPL Reference
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
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
H - 111
DIgSILENT PowerFactory DPL Reference
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();
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
H - 112
DIgSILENT PowerFactory DPL Reference
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
H - 113
DIgSILENT PowerFactory DPL Reference
SetSelect.Clear
void SetSelect.Clear ()
Empties the selection.
Arguments:
none
Return value:
void
Example:
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();
}
H - 114
DIgSILENT PowerFactory DPL Reference
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
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();
}
H - 115
DIgSILENT PowerFactory DPL Reference
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
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;
H - 116
DIgSILENT PowerFactory DPL Reference
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.
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:
H - 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)
H - 118
DIgSILENT PowerFactory DPL Reference
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
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
H - 119
DIgSILENT PowerFactory DPL Reference
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();
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();
}
H - 120
DIgSILENT PowerFactory DPL Reference
See also
DPL Internal Methods
Set Methods
Object Methods
Using other objects
IntForm.SetText
int IntForm.SetText (String Text)
Sets the format text of a report form.
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
H - 121
DIgSILENT PowerFactory DPL Reference
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:
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 |
---------------------
H - 122
DIgSILENT PowerFactory DPL Reference
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);
H - 123
DIgSILENT PowerFactory DPL Reference
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
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
H - 124
DIgSILENT PowerFactory DPL Reference
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);
}
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
H - 125
DIgSILENT PowerFactory DPL Reference
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.
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
H - 126
DIgSILENT PowerFactory DPL Reference
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
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:
H - 127
DIgSILENT PowerFactory DPL Reference
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
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.
H - 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:
H - 129
DIgSILENT PowerFactory DPL Reference
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();
}
}
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:
H - 130
DIgSILENT PowerFactory DPL Reference
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:
H - 131
DIgSILENT PowerFactory DPL Reference
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();
}
}
! 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:
H - 132
DIgSILENT PowerFactory DPL Reference
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
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
H - 133
DIgSILENT PowerFactory DPL Reference
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);
}
}
H - 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();
H - 135
DIgSILENT PowerFactory DPL Reference
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 ()
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.
H - 136
DIgSILENT PowerFactory DPL Reference
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
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.
H - 137
DIgSILENT PowerFactory DPL Reference
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:
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
H - 138
DIgSILENT PowerFactory DPL Reference
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)
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
H - 139
DIgSILENT PowerFactory DPL Reference
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
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;
H - 140
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 x-scale from 100 to 120
aPlot.SetScaleX(100,120);
! Set default x-scale variable (time)
aPlot.SetXVar();
}
}
}
Also see Using other objects
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();
}
}
H - 141
DIgSILENT PowerFactory DPL Reference
}
! 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;
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.
H - 142
DIgSILENT PowerFactory DPL Reference
VisPlot.SetDefScaleX
void VisPlot.SetDefScaleX ()
H - 143
DIgSILENT PowerFactory DPL Reference
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) {
H - 144
DIgSILENT PowerFactory DPL Reference
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:
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
H - 145
DIgSILENT PowerFactory DPL Reference
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;
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.
H - 146
DIgSILENT PowerFactory DPL Reference
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();
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);
H - 147
DIgSILENT PowerFactory DPL Reference
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) {
! 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
H - 148
DIgSILENT PowerFactory DPL Reference
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();
! 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) {
H - 149
DIgSILENT PowerFactory DPL Reference
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);
H - 150
DIgSILENT PowerFactory DPL Reference
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();
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.
H - 151
DIgSILENT PowerFactory DPL Reference
H - 152
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) {
! 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
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;
H - 153
DIgSILENT PowerFactory DPL Reference
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.');
}
}
}
}
! 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:
H - 154
DIgSILENT PowerFactory DPL Reference
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.
H - 155
DIgSILENT PowerFactory DPL Reference
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) {
H - 156
DIgSILENT PowerFactory DPL Reference
H - 157
DIgSILENT PowerFactory DPL Reference
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
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
H - 158
DIgSILENT PowerFactory DPL Reference
H - 159
DIgSILENT PowerFactory DPL Reference
H - 160
DIgSILENT PowerFactory DSL Reference
Appendix I
DSL Reference
I-1
DIgSILENT PowerFactory DSL Reference
lim
lim (x, 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);
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:
I-2
DIgSILENT PowerFactory DSL Reference
select
select (boolexpr, x, y)
Returns x if boolexpr is true, else y.
Example:
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:
I-3
DIgSILENT PowerFactory DSL Reference
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:
sapprox
sapprox (x, array_iiii)
I-4
DIgSILENT PowerFactory DSL Reference
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.
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:
event
Option 1: calling a predefined event in the DSL element
event( Condition, trigger, 'name=ThisEvent dtime=delay value=val vari-
able=var')
The string format determines the details of the event call, and which of the three
options above applies:
string ThisEvtType (mandatory, only option 3)
Type of event to be created. To specify the type use e.g. ’EvtParam’ for param-
I-5
DIgSILENT PowerFactory DSL Reference
inc(xclock)=0
inc(clockout)=0
xclock.=1/Tclock
reset_clock=select(xclock>1,1,-1)
event(enable,reset_clock,'name=this value=0 variable=xclock')
clockout=xclock
The following event calls an external event called ’OpenBreaker’, which is stored and
defined inside the DSL element, if yo changes sign from - to +. The delay time is
0.2s.
event(1,yo,'name=OpenBreaker dtime=0.2')
I-6
DIgSILENT PowerFactory DSL Reference
I-7
DIgSILENT PowerFactory DSL Reference
I-8
DIgSILENT PowerFactory User’s Manual Index
J-1
DIgSILENT PowerFactory User’s Manual Index
J-2
DIgSILENT PowerFactory User’s Manual Index
Composite Block Definitions (DSL) .... 25-50 Contingency Case ............................. 28-9
Composite Frame .................................... A-2 Preparation ...................................... 28-22
Additional Equations ...................... 25-43 continue
Block Definition ............................... 25-31 DPL ...................................................... G-9
Drawing ............................................ 25-37 Coordination Wizard ............................. 32-47
Multi-Signal Connection ................. 25-41 cos
Signal Connection ........................... 25-41 DPL ...................................................... G-7
Signals .............................................. 25-31 DSL ........................................................I-1
Composite Model ...............25-21, 25-26, A-2 cosh
Slot Update ...................................... 25-27 DPL ...................................................... G-7
Step Response ................................ 25-27 DSL ........................................................I-1
ComPr ..................................................... 11-23 Cost Functions ........................................ 30-2
ComRd .................................................... 11-23 Count
ComRed ................................................... 33-1 Set (DPL) .......................................... H-41
ComRel3 CreateFeederWithRoutes
Contingency analysis with multiple time ElmLne (DPL) ................................... H-92
phases .................................. 28-13 CreateObject
Network reliability assessment ....... 29-6 Object (DPL) ..................................... H-44
ComRel3 (DPL) .................................... H-102 CSSL (DSL) ............................................ 25-46
Execute ........................................... H-102 CUBIC
ComRes .......................................20-38, 20-46 DIg Output Language .................... 20-53
ComRes (DPL) ........................................ H-72 Cubicle ....................................................... A-2
ExportFullRange .............................. H-72 Curve Input
FileNmResNm ................................... H-73 Context-sensitive Menu ................. 20-28
ComSeteval ............................................. 26-1 Create Diagram ............................... 20-27
ComSh ............................... 20-57, 20-60, 24-6
ComShc .................................................. 23-12 D
ComShc (DPL) ...................................... H-105
DAQ ........................................................... A-2
Execute ........................................... H-105
Data Management .................................. 21-1
ComShcsweep ....................................... 32-28
Data Manager ......................................... 11-1
ComSim .................................................. 25-20
Database Browser ............................ 11-1
ComSimoutage ........................................ 28-3
Database Tree ................................... 11-3
ComSimoutage (DPL) ........................... H-59
Settings ................................................ 6-4
AddCntcy ........................................... H-61
Data Model ................................................ 7-1
ExecuteCntcy ................................... H-60 Database
ReportObjs ....................................... H-62
Multi-User ............................................ 5-7
Reset ................................................. H-59
Single-User .......................................... 5-7
SetLimits ........................................... H-61 DataManager ........................................... 11-1
ComSimoutage (DPL)Execute ............. H-60
Date
ComStationware ....................................... F-9
SetTime (DPL) .................................. H-75
ComStepres ........................................... 25-27 Deactivate
ComStop ................................................ 11-23
ElmNet (DPL) ................................... H-64
ComSys .................................................. 11-23
IntCase (DPL) ................................... H-63
ComTieopt ............................................... 31-9 IntPrj (DPL) ...................................... H-63
ComVsag ................................................ 29-48
IntVariant (DPL) .............................. H-65
ComVstab .............................................. 22-17
DEF
ComWr ................................................... 11-23
DIg Output Language .................... 20-54
Conductor
delay
Type .................................................. D-14
DSL ........................................................I-2
Contact ....................................................... 2-1
Delete (DPL Internal Method) ............... H-5
Contingency .......................................... 29-55
Demo Account ........................................... 5-8
Contingency Analysis ............................. 28-1
Device ........................................................ A-2
J-3
DIgSILENT PowerFactory User’s Manual Index
J-4
DIgSILENT PowerFactory User’s Manual Index
J-5
DIgSILENT PowerFactory User’s Manual Index
J-6
DIgSILENTPowerFactory User’s Manual Index
J-7
DIgSILENT PowerFactory User’s Manual Index
J-8
DIgSILENT PowerFactory User’s Manual Index
J-9
DIgSILENT PowerFactory User’s Manual Index
J - 10
DIgSILENT PowerFactory User’s Manual Index
J - 11
DIgSILENT PowerFactory User’s Manual Index
J - 12
DIgSILENT PowerFactory User’s Manual Index
J - 13
DIgSILENT PowerFactory User’s Manual Index
SetNomCurr Settings
TypLne (DPL) ................................... H-94 Data Manager ......................................6-4
SetObjs Directories ............................................6-6
ComOutage (DPL) ........................... H-57 Editor ....................................................6-6
SetOcplt .................................................. 32-37 Functions ..............................................6-5
SetPath .............................. 7-16, 32-26, 32-38 General .................................................6-1
SetPath (DPL) ....................................... H-109 Graphic Windows ................................6-2
AllBreakers ...................................... H-111 Output Window ...................................6-5
AllClosedBreakers .......................... H-112 SetTitm ...................................................10-46
AllOpenBreakers ............................ H-112 SetTrfdmg ..............................................32-34
GetAll ............................................... H-109 SetTrigger .....................................7-32, 13-12
GetBranches ................................... H-110 SetUser .......................................................6-1
GetBuses ......................................... H-110 SetValue .................................................11-17
SetPrj .......................................................... 9-4 SetVilytaxis ............................................20-42
SetRandSeed (DPL Internal Method) . H-31 SetVilytpage ...........................................20-42
SetResults SetVilytplot .............................................20-42
SetDesktop (DPL) .......................... H-125 SetViPage .................................................20-3
SetVipage (DPL) ............................ H-130 SetVipage (DPL) ................................... H-128
SetScaleX DoAutoScaleX ................................. H-133
SetDesktop (DPL) .......................... H-126 DoAutoScaleY ................................. H-133
SetVipage (DPL) ............................ H-131 GetScaleObjX .................................. H-136
VisPlot (DPL) .................................. H-141 GetVI ............................................... H-128
SetScaleY SetAdaptX ....................................... H-135
IntPlot (DPL) .................................. H-156 SetAutoScaleX ................................ H-134
VisPlot (DPL) .................................. H-142 SetDefScaleX .................................. H-132
SetSelect (DPL) .................................... H-113 SetResults ....................................... H-130
AddRef ............................................. H-113 SetScaleX ........................................ H-131
All ..................................................... H-118 SetStyle ........................................... H-129
AllAsm .............................................. H-116 SetTile ............................................. H-129
AllBars ............................................. H-115 SetXVar ............................................ H-130
AllBreakers ...................................... H-119 SetXVar
AllClosedBreakers .......................... H-120 SetDesktop (DPL) .......................... H-125
AllElm ............................................... H-114 SetVipage (DPL) ............................. H-130
AllLines ............................................ H-115 VisPlot (DPL) .................................. H-140
AllLoads ........................................... H-116 Shed load ...............................................29-54
AllOpenBreakers ............................ H-120 Short-Circuit
AllSym .............................................. H-117 Adv.Options ANSI ...........................23-22
AllTypLne ........................................ H-117 Adv.Options Complete M. ..............23-25
Clear ................................................ H-114 Advanced Options IEC/VDE ..........23-17
GetAll ............................................... H-118 Background ........................................23-1
SetStyle Basic Options ...................................23-12
SetVipage (DPL) ............................ H-129 Basic Options ANSI .........................23-20
SetText Basic Options Complete M. ...........23-23
IntForm (DPL) ................................ H-121 Basic Options IEC/VDE ..................23-16
SetTile Calculation .........................................23-7
SetVipage (DPL) ............................ H-129 Calculation Method .........................23-12
SetTime .................................................... 13-3 Calculation Options .........................23-12
SetTime (DPL) .................................. H-74 Complete Method .............................23-3
SetTime (DPL) ........................................ H-74 Explanation IEC/VDE Method .........23-5
Date ................................................... H-75 Fault Type ........................................23-13
SetTime ............................................. H-74 IEC Correction Factors .....................23-6
Time ................................................... H-75 Line Faults .........................................23-9
J - 14
DIgSILENT PowerFactory User’s Manual Index
J - 15
DIgSILENT PowerFactory User’s Manual Index
J - 16
DIgSILENT PowerFactory User’s Manual Index
J - 17
DIgSILENT PowerFactory User’s Manual Index
W
Warn (DPL Internal Method) ............... H-12
Waveform Plot ...................................... 24-14
Weibull-Markov-Model ........................... 29-5
Welcome .................................................... 1-1
while(){}
DPL ...................................................... G-9
Write
ElmRes (DPL) ................................... H-96
Write (DPL Internal Method) ............... H-10
WriteDraw
ElmRes (DPL) ................................... H-97
WriteOut
IntForm (DPL) ................................ H-121
WriteWMF
SetDesktop (DPL) .......................... H-124
Z
Zone .......................................................... 12-9
J - 18