Professional Documents
Culture Documents
DigisilentUsersManual en
DigisilentUsersManual en
DigisilentUsersManual en
User Manual
Volume 1
Edition 1
DIgSILENT GmbH
Gomaringen, Germany
November 2012
Publisher:
DIgSILENT GmbH
Heinrich-Hertz-Straße 9
72810 Gomaringen / Germany
Tel.: +49 (0) 7072-9168-0
Fax: +49 (0) 7072-9168-88
October 2012
r464
Contents
I General Information 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Contact 1
4 PowerFactory Overview 1
4.6.3 Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
i
CONTENTS CONTENTS
4.6.7 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.7.1 Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.7.2 Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.7.3 Cubicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.7.4 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.7.5 Substations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.7.6 Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
II Administration 25
5 Program Administration 1
5.3 Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ii
CONTENTS CONTENTS
6.5.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7 User Settings 1
7.6 Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.7 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.8 StationWare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
iii
CONTENTS CONTENTS
III Handling 7
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
iv
CONTENTS CONTENTS
9.6.4 Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
9.8.3 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10 Data Manager 1
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
v
CONTENTS CONTENTS
10.8.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
11 Study Cases 1
vi
CONTENTS CONTENTS
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
11.8 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
11.9 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
11.10Simulation Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11.11Results Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11.12Variable Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
11.13Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
11.14Graphic Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
12 Project Library 1
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
vii
CONTENTS CONTENTS
13 Grouping Objects 1
13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
13.2 Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
13.3.3 Inserting a Generator into a Virtual Power Plant and Defining its Virtual
Power Plant Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
13.4 Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
13.6 Feeders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
13.7 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
13.8 Owners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
13.9 Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
13.10Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.11Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
viii
CONTENTS CONTENTS
14 Operation Scenarios 1
14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
14.4.1 How to view objects missing from the Operation Scenario data . . . . . 7
14.4.5 How to update the default data with operation scenario data . . . . . . . 9
14.5.1 How to change the automatic save settings for Operation Scenarios . . 12
15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
15.2 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
ix
CONTENTS CONTENTS
15.9.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
16.5 Tariffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
x
CONTENTS CONTENTS
17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
17.5.2 Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
18 Data Management 1
18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xi
CONTENTS CONTENTS
18.4.2 How to Merge or Compare two projects using the Compare and Merge
Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
18.4.3 How to Merge or Compare three projects using the Compare and Merge
Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
18.5.3 Tips for working with the Compare and Merge Tool . . . . . . . . . . . . 21
19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xii
CONTENTS CONTENTS
20 PowerFactory Interfaces 1
20.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xiii
CONTENTS CONTENTS
20.9.4 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
20.9.6 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
21.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xiv
CONTENTS CONTENTS
21.3.5 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
22 Short-Circuit Analysis 1
22.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xv
CONTENTS CONTENTS
23 Harmonics Analysis 1
23.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xvi
CONTENTS CONTENTS
24 Flickermeter 1
24.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
25.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
xvii
CONTENTS CONTENTS
xviii
CONTENTS CONTENTS
25.13DSL Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
25.16MATLAB Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
26.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
26.4.3 Viewing Modal Analysis Results using the Modal Data Browser . . . . . 18
xix
CONTENTS CONTENTS
27.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
28 Contingency Analysis 1
28.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
28.4.2 Effectiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
28.5.2 Effectiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
xx
CONTENTS CONTENTS
29 Reliability Assessment 1
29.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xxi
CONTENTS CONTENTS
30.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xxii
CONTENTS CONTENTS
31.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
31.2.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
31.2.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
31.3.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
31.4.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
31.4.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
32 Techno-Economical Calculation 1
32.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
32.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
33.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xxiii
CONTENTS CONTENTS
34.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xxiv
CONTENTS CONTENTS
34.2.7 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
35 Cable Sizing 1
35.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
36 Motor Starting 1
36.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
37.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
37.2.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
xxv
CONTENTS CONTENTS
38 Protection 1
38.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
38.3.2 Locating Devices which have been added to the network model . . . . . 8
38.6.1 Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
xxvi
CONTENTS CONTENTS
39 Network Reduction 1
39.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
39.4.2 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
39.4.4 Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
40 State Estimation 1
40.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
40.4.1 Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
xxvii
CONTENTS CONTENTS
40.5 Running SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
40.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
V Appendix 31
A Glossary 1
B Hotkeys Reference 1
C.1.3 Autoransformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
xxviii
CONTENTS CONTENTS
C.3.2 Rectifier/Inverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
C.5 Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
xxix
CONTENTS CONTENTS
D DPL Reference 1
D.3.1 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
D.3.3 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
D.3.6 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
D.3.7 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
D.4.1 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
xxx
CONTENTS CONTENTS
xxxi
CONTENTS CONTENTS
xxxii
D.10.6 IntUser Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
E.1 Placeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
E.3 Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
F.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Bibliography 1
Index 2
xxxiii
CONTENTS CONTENTS
xxxiv
Part I
General Information
1
Chapter 1
1.1 Introduction
This Users Manual is intended to be a reference for users of the DIgSILENT PowerFactory soft-
ware. This chapter provides general information about the contents and the used conventions
of this documentation.
The first section of the Users Manual provides General Information, including an overview
of PowerFactory software, a description of the basic program settings, and a description of
the PowerFactory data model. The next sections describe PowerFactory administration, han-
dling, and power system analysis functions. In the Power System Analysis Functions section,
each chapter deals with a different calculation, presenting the most relevant theoretical as-
pects, the PowerFactory approach, and the corresponding interface. Additional tools such as
the DIgSILENT Programming Language (DPL), the reporting functions, and communication
interfaces with other programs are presented in the appendices. The online version of this
manual includes additional sections dedicated to the mathematical description of models and
their parameters, referred to as Technical References. To facilitate their portability, visualization,
and printing, the papers are attached to the online help as PDF documents. They are opened
by clicking on the indicated links within the manual. References for DIgSILENT Programming
Language and DIgSILENT Simulation Language (DSL) functions are also included as appen-
dices of the online manual. It is recommended that new users commence by reading Chapter 4
(PowerFactory Overview), and completing the PowerFactory Tutorials.
Buttons and Keys Dialogue buttons and keyboard keys are referred to with bold and underline
text formatting. For example, press the OK button in the PowerFactory dialogue, or press
CTRL+B on the keyboard.
1
DIgSILENT PowerFactory CHAPTER 1. ABOUT THIS GUIDE
Menus and Icons Menus and icons are usually referenced using Italics. For example, press
the User Settings icon , or select Tools → User Settings. . .
Other Items ”Speech marks” are used to indicate data to be entered by the user, and also to
refer to an item defined by the author. For example, consider a parameter ”x”.
1- 2
Chapter 2
Contact
For further information about the company DIgSILENT , our products and services please visit
our web site, or contact us at:
DIgSILENT GmbH
Heinrich-Hertz-Strae 9
www.digsilent.de
For general information about DIgSILENT or your PowerFactory license, please contact us via:
Phone: +49-(0)7072-9168-0
Fax: +49-(0)7072-9168-88
E-mail: mail@digsilent.de
DIgSILENT experts offer direct assistance to PowerFactory users with valid maintenance agree-
ments via telephone or online via support queries raised on the customer portal.
To register for the on-line portal, select Help → Register. . . or go to directly to the registration
page (link below). Log-in details will be provided by email shortly thereafter.
To log-in to the portal, enter the email (or Login) and Password provided. When raising a new
support query, please include the PowerFactory version and build number in your submission,
which can be found by selecting Help → About PowerFactory. . . from the main menu. Note
that including relevant *.dz or *.pfd file(s) may assist with our investigation into your query. The
customer portal is shown in Figure 2.2.1.
1
DIgSILENT PowerFactory CHAPTER 2. CONTACT
Phone: +49-(0)7072-9168-50
2- 2
Chapter 3
DIgSILENT PowerFactory is provided with a complete help package to support users at all levels
of expertise. Documents with the basic information of the program and its functionality are
combined with references to advanced simulation features, mathematical descriptions of the
models and of course application examples.
1
DIgSILENT PowerFactory CHAPTER 3. DOCUMENTATION AND HELP SYSTEM
3- 2
Chapter 4
PowerFactory Overview
PowerFactory was designed and developed by qualified engineers and programmers with many
years of experience in both electrical power system analysis and programming fields. The
accuracy and validity of results obtained with PowerFactory has been confirmed in a large num-
ber of implementations, by organizations involved in planning and operation of power systems
throughout the world.
To address users power system analysis requirements, PowerFactory was designed as an in-
tegrated engineering tool to provide a comprehensive suite of power system analysis functions
within a single executable program. Key features include:
1. PowerFactory core functions: definition, modification and organization of cases; core nu-
merical routines; output and documentation functions.
2. Integrated interactive single line graphic and data case handling.
3. Power system element and base case database.
4. Integrated calculation functions (e.g. line and machine parameter calculation based on
geometrical or nameplate information).
5. Power system network configuration with interactive or on-line SCADA access.
6. Generic interface for computer-based mapping systems.
Use of a single database, with the required data for all equipment within a power system (e.g.
line data, generator data, protection data, harmonic data, controller data), means that Power-
Factory can easily execute all power simulation functions within a single program environment -
functions such as load-flow, short-circuit calculation, harmonic analysis, protection coordination,
stability calculation, and modal analysis.
1
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
Although PowerFactory includes some sophisticated power system analysis functions, the intu-
itive user interface makes it possible for new users to very quickly perform common activities
such as load-flow and short-circuit calculations.
The functionality purchased by a user is configured in a matrix, where the licensed calculation
functions, together with the maximum number of busses, are listed as coordinates. The user
may, as required, configure the interface as well as some functions according to their require-
ments.
Depending on user requirements, a specific PowerFactory license may or may not include all
the functions described in this manual. As requirements dictate, additional functionality can be
added to a license. These functions can be used within the same program interface with the
same network data. Only additional data, as may be required by an added calculation function,
need be added.
Functional Integration
Vertical Integration
DIgSILENT PowerFactory software has adopted a unique vertically integrated model con-
cept that allows models to be shared for all analysis functions. Furthermore, studies
relating to ”Generation”, ”Transmission”, ”Distribution”, and ”Industrial” analysis can all
be completed within PowerFactory . Separate software engines are not required to ana-
lyze separate aspects of the power system, or to complete different types of analysis, as
DIgSILENT PowerFactory can accommodate everything within one integrated program
and one integrated database.
Database Integration
Project Management: All data that defines a power system model is stored in ”Project”
folders within the database. Inside a “Project” folder, “Study Cases” are used to define
different studies of the system considering the complete network, parts of the network, or
Variations on its current state. This ”project and study case” approach is used to define
and manage power system studies in a unique application of the object-oriented software
principle. DIgSILENT PowerFactory has taken an innovative approach and introduced a
4- 2
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
structure that is easy to use, avoids data redundancy, and simplifies the task of data
management and validation for users and organizations. Additionally, the application
of Study Cases and project Variations in PowerFactory facilitates efficient and reliable
reproduction of study results.
Multi-User Operation: Multiple users each holding their own projects or working with
data shared from other users are supported by a ”Multi-user” database operation. In
this case the definition of access rights, user accounting and groups for data sharing are
managed by a database Administrator.
Offline Mode: In some instances, a network connection to a server database may not be
available. To address this, PowerFactory provides functionality to work in Offline Mode.
The required project data is cached to the users local machine, which can then later be
synchronized to the server database. Offline Mode functionality includes the ability to
lock and unlock projects, edit projects as read-only, and limit the database size on the
computer(s) working in offline mode.
Customization
By default, “Beginner” and “Default” user profiles are available in PowerFactory . Profiles
can be selected from the main menu under Tools → Profiles. The “Beginner” profile
limits the icons displayed on the main toolbar to those typically used by new users, such
as load-flow and short-circuit commands. The database Administrator can create and
customize user profiles, in particular:
• Fully configure Main Toolbar and Drawing Toolbar menus, including definition of custom
DPL Commands and Templates with user-defined icons.
• Customize Main Menu, Data Manager, and context-sensitive menu commands.
Chapter 6: User Accounts, User Groups, and Profiles (Section 6.5 Creating Profiles)
details the customization procedure.
Note: When right-clicking with the mouse button, the available menu options depend on the
location of the mouse pointer. For example, if a load is selected, the menu options are those
appropriate for loads, whereas when the mouse pointer is over the Output Window, the menu
options are those appropriate for the Output Window. These menus are collectively referred to
as ’Context sensitive menu’s’.
PowerFactory uses a hierarchical, object-oriented database. All the data, which represents
power system Elements, Single Line Graphics, Study Cases, system Operation Scenarios, cal-
culation commands, program Settings etc., are stored as objects inside a hierarchical set of
4- 3
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
folders. The folders are arranged in order to facilitate the definition of the studies and optimize
the use of the tools provided by the program.
The objects are grouped according to the kind of element that they represent. These groups
are known as “Classes” within the PowerFactory environment. For example, an object that
represents a synchronous generator in a power system belongs to a Class called ElmSym,
and an object storing the settings for a load flow calculation belongs to a Class called ComLdf.
Object Classes are analogous to computer file extensions. Each object belongs to a Class and
each Class has a specific set of parameters that defines the objects it represents. As explained
in Section 4.8 (User Interface), the edit dialogues are the interfaces between the user and an
object; the parameters defining the object are accessed through this dialogue. This means that
there is an edit dialogue for each class of objects.
Note: Everything in PowerFactory is an object, all the objects belong to a Class and are stored
according to a hierarchical arrangement in the database tree.
• Load Flow Analysis, allowing meshed and mixed 1-,2-, and 3-phase AC and/or DC net-
works (Chapter 21: Load Flow Analysis).
• Low Voltage Network Analysis (Section 21.2.3: Advanced Load Options).
• Short-Circuit Analysis, for meshed and mixed 1-,2-, and 3-phase AC networks (Chap-
ter 22: Short-Circuit Analysis).
• Harmonic Analysis (Chapter 23: Harmonics Analysis).
• RMS Simulation (time-domain simulation for stability analysis, Chapter 25: Stability and
EMT Simulations).
• EMT Simulation (time-domain simulation of electromagnetic transients, Chapter 25: Sta-
bility and EMT Simulations).
• Eigenvalue Analysis (Chapter 26: Modal Analysis / Eigenvalue Calculation).
• Model Parameter Identification (Chapter 27: Model Parameter Identification).
• Contingency Analysis (Chapter 28: Contingency Analysis).
• Reliability Analysis (Chapter 29: Reliability Assessment).
• Generation Adequacy Analysis (Chapter 30: Generation Adequacy Analysis).
• Optimal Power Flow (Chapter 31: Optimal Power Flow).
• Distribution Network Optimization (Chapter 33: Distribution Network Tools).
• Protection Analysis (Chapter 38: Protection).
• Network Reduction (Chapter 39: Network Reduction).
• State Estimation (Chapter 40: State Estimation).
4- 4
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
PowerFactory is primarily intended to be used and operated in a graphical environment. That is,
data is entered by drawing the network Elements, and then editing and assigning data to these
objects. Data is accessed from the graphics page by double-clicking on an object. An input
dialogue is displayed and the user may then edit the data for that object.
Figure 4.4.1 shows the PowerFactory Graphical User Interface (GUI) when a project is active,
with key sections highlighted by text labels. The GUI is discussed in further detail in Section 4.8
All data entered for objects is hierarchically structured in folders for ease of navigation. To view
the data and its organization, a ”Data Manager” is used. Figure 4.4.2 shows the Data Manager
window. The Data Manager is similar in appearance and functionality to a Windows Explorer
window.
Within the Data Manager, information is grouped based on two main criterion:
1. Data that pertains directly to the system under study, that is, electrical data.
2. Study management data, for example, which graphics should be displayed, what options
have been chosen for a Load Flow, which Areas of the network should be considered for
calculation, etc.
4- 5
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
Note that most user-actions can be performed in both the Single Line Graphic and the Data
Manager. For example, a new terminal can be added directly to the Single Line Graphic, or
alternatively created in the Data Manager. In the latter case, the terminal could be shown in the
Single Line Graphic by ”drawing existing net elements”, by ”dragging and dropping” from the
Data Manager, or by creating a new Graphical Net Object in the Data Manger (advanced).
Since power systems are constructed using standardized materials and components, it is con-
venient to divide electrical data into two sets, namely ”Type” data and ”Element” data sets.
• Characteristic electrical parameters, such as the reactance per km of a line, or the rated
voltage of a transformer are referred to as Type data. Type objects are generally stored
in the Global Library or Project Library, and are shown in red. For instance, a Line Type
object, TypLne ( ).
• Data relating to a particular instance of equipment, such as the length of a line, the der-
ating factor of a cable, the name of a load, the connecting node of a generator, or the tap
position of a transformer are referred to as Element data. Element objects are generally
stored in the Network Data folder, and are shown in green. For instance, a Line Element
object, ElmLne ( ).
• A cable has a Type reactance of ”X” Ohms/ km, say 0.1 Ohms/ km.
• A cable section of length ”L” is used for a particular installation, say 600 m, or 0.6 km.
Note that Element parameters can be modified using Operation Scenarios (which store sets of
network operational data), and Parameter Characteristics (which can be used to modify param-
eters based on the Study Case Time, or other user-defined trigger).
4- 6
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
The PowerFactory database supports multiple users (as mentioned in 4.1) and each user can
manage multiple 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.6.1 shows a snapshot from a database as seen by the
user in a Data Manager window, where there User Accounts for ”Demo” and ”User”, and one
project titled ”Simple Power System”. The main folders used to arrange data in PowerFactory
are summarized below:
• Type data for standard components such as conductors, motors, generators, and trans-
formers.
• Standard control system frames, models, and macros (i.e. transfer functions and logic
blocks, etc).
• Standard CT, VT, fuse, and relay models.
4- 7
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
The project Library contains the equipment Types, network operational information, DPL scripts,
templates, and user-defined models (generally) only used within a particular project. A particular
project may have references to the project Library and / or global Library. The Project Library
folder and sub-folders are discussed in detail in Chapter 12 (Project Library).
4.6.3 Diagrams
Single Line Graphics are defined in PowerFactory by means of graphic folders of class IntGrfNet
( ). Each diagram corresponds to a IntGrfNet folder. They are stored in the Network Diagrams
folder ( ) of the Network Model. Single line diagrams are composed of graphical objects, which
represent components of the networks under study. Graphical components reference network
components and symbol objects (IntSym).
The relation between graphical objects and network components allows the definition and mod-
ification of the studied networks directly from the Single Line Graphics. Network components
can be represented by more than one graphical object (many IntGrf objects can refer to the
same network component). Therefore, one component can appear in several diagrams.
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 Cases Graphics
Board, when the Study Case is activated, the diagram is automatically opened. Diagrams can
be easily added and 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 diagrams to dis-
play. References to the selected diagrams are then automatically created in the corresponding
Graphics Board.
Chapter 9 (Network Graphics (Single Line Diagrams)), explains how to define and work with
single line graphics.
The Network Data folder holds network data (Element data) in ”Grid” folders, network modifica-
tion information in ”Variation” folders, and object Grouping information.
4- 8
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
Grids
An example of this approach is the Tutorial project provided with the Getting Started Manual.
In this project, a distribution network and a transmission network are created and analyzed
separately. At a later stage both networks are connected and the analysis of the complete
system is carried out.
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 calculation. In
the Data Manager, the icon of an active Grid is shown in red, to distinguish it from inactive Grids.
For details of how to define grids refer to Chapter 8.Basic Project Definition, Section 8.2 (Creat-
ing New Grids).
Variations
During the planning and assessment of a power system, it is often necessary to analyze different
variations and expansion alternatives of the base network. In PowerFactory these variations
are modeled by means of ”Variations”. These are objects that store and implement required
changes to a network, and can be easily activated and deactivated. The use of Variations
allows the user to conduct studies under different network configurations in an organized and
simple way.
Variation objects (IntScheme, ) are stored inside the Variations folder ( ) which resides in
the Network Model folder. Variations are composed of “Expansion Stages” (IntStage), which
store the changes made to the original network(s). The application of these changes depends
on the current study time and the activation time of the Expansion Stages.
The study time is a parameter of the active Study Case, and is used to situate the current
study within a time frame. The activation time is a parameter given to the Expansion Stages,
to determine whether or not, according to the study time, the changes contained within the
Expansion Stages are applied to the network. If the activation time precedes the study time,
the changes are applied to the original network. The changes of a subsequent expansion stage
add to the changes of its predecessors.
In order that changes to the network configuration are applied and can be viewed, a Varia-
tion must be activated. These changes are contained in the expansion stage(s) of this active
Variation. Once the Variation is deactivated, the network returns to its original state. Changes
contained in an Expansion Stage can be classified as:
4- 9
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
Note: If there is no
active Operation Scenario, modifications to operational data will be stored in the active Variation.
Grouping Objects
In addition to Grid folders, the Network Data folder contains a set of objects that allow further
grouping of network components. By default, when a new project is created, new empty folders
to store these grouping objects is created inside the Network Model folder.
For details of how to define grouping objects, refer to Chapter 13: Grouping Objects.
Operation Scenarios may be used to store operational settings, a subset of Element data. Op-
erational data includes data that relates to the operational point of a device but not to the device
itself e.g. the tap position of a transformer or the active power dispatch of a generator. Operation
Scenarios are stored in the Operation Scenarios folder.
The Study Cases folder holds study management information. Study Cases are used to store
information such as command settings, active Variations and Operations Scenarios, graphics to
be displayed, and study results. See Chapter 11 (Study Cases) for details.
4.6.7 Settings
Project settings such as user-defined diagram styles for example, which differ from global set-
tings, are stored inside the Settings folder.
The structure of project data depends on the complexity of the network, use of the model, and
user preferences. The user has the flexibility to define network components directly within the
Grid, or to organize and group components in a way that simplifies management of project data.
Consider the example network data arrangement shown in Figure 4.7.1 In this case, two busbar
systems (ElmSubstat in PowerFactory ) have been defined, one at 132 kV, and one at 66 kV. The
two busbar systems are grouped within a Site, which includes the 132 kV / 66 kV transformers
(not shown in Figure 4.7.1). A Branch composed of two line sections and a node connects ”132
kV Busbar” to ”HV terminal”. Grouping of components in this way simplifies the arrangement of
data within the Data Manager, facilitates the drawing overview diagrams, and facilitates storing
of Substation switching configurations.
4- 10
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
The following subsections provide further information regarding the PowerFactory representa-
tion of key network topological components.
4.7.1 Nodes
In PowerFactory , nodes connecting lines, generators, loads, etc. to the network are generally
called “Terminals” (ElmTerm). Depending on their usage within the power system, Terminals can
be used to represent Busbars, Junctions, or 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.
4.7.2 Branches
Elements with multiple connections are referred to “Branches” (as distinct from a “Branch El-
ement”, which is a grouping of elements, discussed in Section 4.7.7). Branches include two-
connection elements such as transmission lines and transformers, and three-connection ele-
ments such as three-winding transformers, AC/DC converters with two DC terminals, etc.
For information about how to define transmission lines (and cables) and sections refer to Chap-
ter 9: Network Graphics, Section 9.2(Defining Network Models with the Graphical Editor).
Technical information about transmission line and cable models is provided in Appendix (Line
(ElmLne)).
4.7.3 Cubicles
When any branch element is directly connected to a Terminal, PowerFactory uses a “Cubicle”
(StaCubic) to define the connection. Cubicles can be visualized as the panels on a switchgear
board, or bays in a high voltage yard, to which the branch elements are connected. A Cubicle
is generally created automatically when an element is connected to a node (note that Cubicles
are not shown on the Single Line Graphic).
4.7.4 Switches
4- 11
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
4.7.5 Substations
4.7.6 Sites
Network components including Substations and Branches can be grouped together within a
”Site” (ElmSite). This may include Elements such as substations / busbars at different voltage
levels. For information about how to define sites refer to Chapter 10, Section 10.3(Defining
Network Models with the Data Manager).
Similar to Substations, Terminal Elements and Line Elements can be stored within an object
called a Branch Element (ElmBranch). Branches are “composite” two-port elements that may
be connected to a Terminal at each end. They may contain multiple Terminals, Line sections
(possible including various line types), and Loads etc, but be represented as a single Branch on
the Single Line Graphic. As for Substations, separate diagrams for the detailed branch can be
created with the graphical editor.
For information about how to define branches refer to Chapter 9: Network Graphics, Section
9.2(Defining Network Models with the Graphical Editor) and Chapter 10, Section 10.3(Defining
Network Models with the Data Manager).
An overview of the PowerFactory user interface is provided in this section, including general
discussion of the functionality available to enter and manipulate data and graphics. Aspects of
the user interface are discussed in further detail in the following chapters, in particular:
4- 12
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
4.8.1 Overview
1. The main window includes a description of the PowerFactory version, and standard icons
to Minimize, Maximize/Restore, Resize, and Close the window.
2. The main menu bar includes drop-down menu selections. The main menu is discussed
further in section 4.8.2 (Menu Bar).
3. The Main Toolbar includes commands and other icons. The Main Toolbar is discussed in
further detail in section 4.8.3 (Main Toolbar).
4. The Graphical Editor displays single line diagrams, block diagrams and/or simulation plots
of the active project. Studied networks and simulation models can be directly modified
from the graphical editor by placing and connecting elements.
5. When an object is right clicked (in the graphical editor or in the data manager) a context
sensitive menu with several possible actions appears.
4- 13
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
6. When an object is double clicked its edit dialogue will be displayed. The edit dialogue
is the interface between an object and the user. The parameters defining the object are
accessed through this edit dialogue. Normally an edit dialogue is composed of several
”pages” (or ”tabs”). Each tab groups parameters that are relevant to a certain function. In
Figure 4.8.1 the Load Flow tab of a generator is shown, where only generator parameters
relevant to load flow calculations are shown.
7. The ”Data Manager” is the direct interface with the database. It is similar in appearance
and functionality to a Windows Explorer window. The left pane displays a symbolic tree
representation of the complete database. The right pane is a data browser that shows the
content of the currently selected folder. The data manager can be accessed by pressing
the Data Manager icon ( ) on the left of the main toolbar. It is always ’floating’, and more
than one can be active at a time. Depending on how the user navigates to the Database
Manager, it may only show the database tree for selecting a database folder, or it may
show the full database tree. The primary functionality of the Data Manager is to provide
access to power system components/objects. The data manager can be used to edit a
group of selected objects within the data manager in tabular format. Alternatively, objects
may be individually edited by double clicking on an object (or right-click → Edit).
8. The output window is shown at the bottom of the PowerFactory window. The output win-
dow cannot be closed, but can be minimized. The output window is discussed in further
detail in section 4.8.4 (The Output Window).
The menu bar contains the main PowerFactory menus. Each menu entry has a drop down list
of menu options and each menu option performs a specific action. To open a drop down list,
either click on the menu entry with the left mouse button, or press the Alt key together with the
underlined letter in the menu. Menu options that are shown in grey are not available, and only
become available as the user activates projects or calculation modes, as required.
• To access PowerFactory tutorials: Press Alt-H to open the help menu. Use the keyboard
4- 14
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
to select Start Tutorial. Press Execute to open the Tutorial. Note that the on-line Getting
Started Tutorial is identical to the printed version.
• To access the Users Manual: Left click the Help menu. Left-click the option Users Manual
to open the electronic User’s Manual.
The main PowerFactory toolbar provides the user with quick access to the main commands
available in the program (see Figure 4.8.1). Buttons that appear in grey are only active when
appropriate. All command icons are equipped with balloon help text which are displayed when
the cursor is held still over the icon for a moment, and no key is pressed.
To use a command icon, click on it with the left mouse button. Those icons that perform a task
will automatically return to a non-depressed state when that task is finished. Some command
icons will remain depressed, such as the button to Maximise Output Window. When pressed
again, the button will return to the original (non-depressed) state.
This section provides a brief explanation of the purpose of the icons found on the upper part
of the toolbar. Icons from the lower part of the toolbar are discussed in Chapter 9(Network
Graphics (Single Line Diagrams)). Detailed explanations for each of the functions that the icons
command are provided in the other sections of the manual.
Opens a new instance of the Database Manager. When the option ”Use Multiple Data
Manager” is enabled in the user settings menu (User Settings → General) the user will
be able to open as many instances of the data manager as required. If ”Use Multiple Data
Manager” is disabled in the user settings menu, the first instance of the data manager will
be re-opened. For more information on the Data Manager refer to Chapter 10.
Provides a list of elements (colored in green) and types (colored in red) that are in an
active Grid: e.g. transformer types, line elements, composite models, etc. When an
object icon is selected, all objects from the selected class(es) will be shown in a browser.
Displays the date and time for the case calculation. This option is used when parameter
characteristics of specific elements (e.g. active and reactive power of loads) are set to
change according to the study time, or a Variation status is set to change with the study
time.
Edit Trigger
Displays a list of all Triggers that are in 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 Chapter 16: Parameter Characteristics,
Load States, and Tariffs. Section 16.2 (Parameter Characteristics).
Performs model data verification, see Section 21.5 (Troubleshooting Load Flow Calcula-
tion Problems).
4- 15
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
Activates the load-flow command dialogue. For more information about the specific set-
tings, refer to Chapter 21 (Load Flow Analysis).
Activates the optimal power flow command dialogue, refer to Chapter 31 (Optimal Power
Flow).
Activates the short-circuit calculation command dialogue. For more information, refer to
Chapter 22 (Short-Circuit Analysis).
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.
Displays a list of DPL scripts that are available. See section 4.9 for a general descrip-
tion of DPL scripts, and Chapter 19 (The DIgSILENT Programming Language - DPL) for
detailed information.
Presents calculation results in various formats. The output is printed to the Output Win-
dow and can be viewed, or copied for use in external reports. Several different reports,
depending on the calculation, can be created. For more information about the output of
results refer to Chapter 17:Reporting and Visualizing Results, Section 17.2.3 (Output of
Results).
Presents a listing of device data (a device is the model of any physical object that has
been entered into the project for study). This output may be used in reports, and for
checking data that has been entered. Depending on the element chosen for the report,
the user has two options; generate a short listing, or a detailed report. For more informa-
tion please refer to Chapter 17:Reporting and Visualizing Results, Section 17.2.3 (Output
of Results).
Turns on/off comparing of calculation results. Used to compare results where certain
settings or designs options of a power system have been changed from one calculation
to the next. For more information please refer to Chapter 17:Reporting and Visualizing
Results, Section 17.3 (Comparisons Between Calculations).
Enables the user to select the cases/ calculation results that are to be compared to one
another, or to set the coloring mode for the difference reporting. For more information
please refer to Chapter 17:Reporting and Visualizing Results, Section 17.3 (Comparisons
Between Calculations).
4- 16
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
Update Database
Utilizes the current calculations results (i.e. the calculation ’output’ data) to change input
parameters (i.e. data the user has entered). An example is the transformer tap positions,
where these have been calculated by the load-flow command option ”Automatic Tap Ad-
just of Tap Changers.” For more information refer to Chapter 17:Reporting and Visualizing
Results, Section 17.3 (Comparisons Between Calculations).
Saves the current operational data to an Operation Scenario (e.g. load values, switch
statuses, etc.). See Chapter 14 (Operation Scenarios).
Break
Reset Calculation
Resets any calculation performed previously. This icon is only enabled after a calculation
has been carried out.
Note: In User Settings, on the General tab, if Invalidation of calculation results is set to Show
last results in the User Settings (see Chapter 7: User Settings, section 7.1), results will
appear in grey on the Single Line Diagram and on the Flexible Data tab until the calculation is
reset, or a new calculation performed.
User options for many global features of PowerFactory may be set from the dialogue
accessed by this icon. For more information refer to Chapter 7 (User Settings).
Maximizes the graphic window. Pressing this icon again will return the graphic window to
its original state.
Maximizes the output window. Pressing this icon again will return the output window to
its original state.
The Study Case drop down menu displays the name of the study case that is currently
active. The user may also ’toggle’ between study cases in the project by selecting them
from this drop down list. For more information about study cases refer to Chapter 11:
Study Cases.
Note: To quickly show the recording Expansion Stage, project name, active Operation
Scenario, and Study Case, hover the mouse pointer over the bottom right corner of the
4- 17
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
Change Toolbox
In order to minimize the number of icons displayed on the taskbar, some icons are
grouped based on the type of analysis, and are only displayed when the relevant cat-
egory is selected from the Change Toolbar icon. In Figure 4.8.3, the user has selected
Stability, and therefore only icons relevant for stability studies are displayed to the right
of the Change Toolbar icon. If, for example, Reliability Assessment were selected then
icons to the right of the Change Toolbar icon would change to those suitable for a relia-
bility assessment.
In addition to results presented in the Single Line Graphics and / or Data Manager, the Output
Window displays other textual output, such as error messages, warnings, command messages,
device documentation, result of calculations, and generated reports, etc. This section describes
Output Window use and functionality.
The default location of the Output Window is “docked” (fixed) at the bottom of the main window,
as shown in Figure 4.8.1 It can be minimized, but not closed. When right-clicking the mouse
button with the cursor in the output windows area, the context sensitive menu of the output
window appears. The output window can then be undocked by deselecting the Dock Output
Window. The undocked output window is still confined to the main window, but now as a free
floating window. This can occur unintentionally 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 and unticked “Docking View” then right click and select “Docking View” once more).
The upper edge of the output window shows a splitter bar which is used to change the size of
4- 18
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
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.
• Dragging the splitter bar (grey bar at the upper edge of the output window) when the output
window is in ”docking mode”.
• Double-clicking the frame of the output window to dock/undock it from the main window.
• Pressing the Maximize Graphic Window icon ( ) on the main toolbar to enlarge the
graphics board by hiding the output window.
• Pressing the Maximize Output Window icon ( ) icons on the main toolbar to enlarge the
output window.
The contents of the output window may be stored, edited, redirected, etc., using the icons
shown on the right-hand pane of the output window. Some commands are also available from
the context sensitive menu by right-clicking the mouse in the output window pane.
Opens an editor. The user can and paste text from the output window to the editor, and
manually type data in the editor.
Opens a previously saved output file.
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. Text may then be pasted in other pro-
grams.
Clears the output window by deleting all messages. Note that when the user scrolls through
previous messages in the output window, the output window will no longer automatically
scroll with new output messages. The Clear All icon will ”reset” scrolling of the output
window.
Searches the text in the output window for the occurrences of a given text.
Redirects the output window to a file. The output window will not display messages while
this icon is depressed.
Redirects the output window to be printed directly.
The Output Window facilitates preparation of data for calculations, and identification of network
data errors. Objects listed in the output window (with a folder name and object name) can be
double-clicked with the left mouse button to open an edit dialogue for the object. Alternatively,
the object can be right-clicked and then Edit, Edit and Browse Object, or Mark in Graphic se-
lected. For example, if a Synchronous Machine Element does not have a Type defined, the
4- 19
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
load-flow will not solve and a message will be reported. (see Figure 4.8.4). This simplifies the
task of locating objects in the Single Line Graphic.
As mentioned in the previous section, to show the Output Windows context sensitive menu,
right-click the mouse button whilst pointing at the object name. The available option are as
follows:
• Mark in Graphic: Marks the selected element in the Single Line Graphic and zooms into
the region it is placed.
The Output Window uses colors and other formatting to distinguish between different types of
messages, and for bar graph results. Used text message formats are as follows:
Reports of calculation results may contain bar graphical information. The “voltage profiles”
report after a load-flow command, for instance, produces bar graphs of the per-unit voltages of
busbars. These bars will be colored blue, green or red if the “Verification” option in the load-flow
command dialogue has been enabled. They will be hatch-crossed if the bars are too large to
display.
Part of a bar graph output is shown in Figure 4.8.5 The following formatting is visible:
4- 20
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
• Green Solid Bar: Used when the value is in the tolerated range.
• Blue Solid Bar: Used when the value is below a limit.
• Red Solid Bar: Used when the value is above a limit.
• Hatch-crossed Bar: Used when the value is outside the range.
The contents of the Output Window, or parts of its contents, may be copied to the built-in editor
of PowerFactory , or to other programs. Normally, not all selected lines will be copied and the
format of the copied text may undergo changes. The latter is caused by the fact that the Power-
Factory output window uses special formatting ”escape sequences”, which other programs may
not support.
The lines that are to be copied is determined by the Output Window settings. When text from
the output window is copied, an info message will be displayed, informing the user about the
current settings (see Figure 4.8.6). From this dialogue, the Output Window User Settings may
be modified, and the Info message may be disabled.
4- 21
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
The DIgSILENT Programming Language DPL offers an interface to the user for the automation
of tasks in PowerFactory . By means of a simple programming language and in-built editor, the
user can define automation commands (scripts) to perform iterative or repetitive calculations on
target networks, and post-process the results.
To find the name of an object parameter to be used in a DPL script, simply hover the mouse
pointer over the relevant field in an object dialogue. For example, for a General Load, on the
Load Flow page, hover the mouse pointer over the Active Power field to show the parameter
name “plini”.
User-defined DPL scripts can be used in all areas of power system analysis, for example:
• Network optimization.
• Cable-sizing.
• Protection coordination.
• Stability analysis.
• Parametric sweep analysis.
• Contingency analysis.
4- 22
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
• Subroutine calls.
DPL command objects provide an interface for the configuration, preparation, and use of DPL
scripts. These objects may take input parameters, variables and/or objects, pass these to func-
tions or subroutines, and then output results. DPL commands are stored inside the Scripts
folder ( ) in the project directory.
Consider the following simple example shown in Figure 4.9.1 to illustrate the DPL interface, and
the versatility of DPL scripts to take a user-selection from the Single Line Graphic. The example
DPL script takes a load selection from the Single Line Graphic, and implements a while loop to
output the Load name(s) to the Output Window. Note that there is also a check to see if any
loads have been selected by the user.
For further information about DPL commands and how to write and execute DPL scripts refer to
Chapter 19 (The DIgSILENT Programming Language - DPL), and Appendix D DPL Reference
(only available in the online help).
4- 23
DIgSILENT PowerFactory CHAPTER 4. POWERFACTORY OVERVIEW
4- 24
Part II
Administration
25
Chapter 5
Program Administration
This chapter provides information on how to configure the program, and how to log on. More
Detailed descriptions of the installation, database settings and additional information on these
topics can be found in the PowerFactory Installation Manual.
In general there are 3 main questions to be answered before installing the software, the answers
to these questions will determine the installation settings:
Once PowerFactory has been set up in a computer, the installation setting is carried out by
means of a ’Log-on’ dialogue. This dialogue pops up automatically when the program is opened
for the first time. Through the Licence, Network and Database tabs of the Log-on dialogue, the
answers to the questions above are provided and the program installation is configured.
A detailed description of the installation procedure and the program configuration alternatives is
given in the PowerFactory Installation Manual. The next section provides reference information
about the Log-on dialog.
The application of PowerFactory is carried out within a user session. Since an account sys-
tem is used, it is necessary to log on when starting a session. Immediately after opening the
program a “Log-on” dialogue is presented, there the user must specify his/her credentials. As in-
dicated in Section 5.1(Program Installation and Configuration) the Log-on dialogue also serves
as interface to the program settings.
1
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
To start a session, the user must always provide the corresponding name and password (cre-
dentials). Unless they have changed, the installations settings do not need to be update every
time a session starts.
To start a session, the user must always provide the corresponding name and password (cre-
dentials). Unless they have changed, the installations settings do not need to be update every
time a session starts.
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 corresponding user name and password must be given. Information on the
account management system and how to share information with other users is given in
Chapter 18 (Data Management). The description on how data is arranged within PF is given in
Chapter 12 (Project Library).
Once the PowerFactory 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 PowerFactory , the Demo and the Administrator. The Demo account is used
to access and run the examples provided with the program. The administrator (database ad-
ministrator) account is used to create and manage user’s accounts in a multi-user environment
5- 2
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
(see Chapter 6: User Accounts, User Groups, and Profiles). To log on as Demo, just select the
corresponding option on the users name drop down menu ( 5.2.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 accepted). After creating
the new account the ’Do you really want to create a new user account’ message will pop up,
click Ok to continue. In a multi-user installation (see Chapter 6: User Accounts, User Groups,
and Profiles) new accounts and passwords are created by the administrator.
For further information about the roll of the database administrator please refer Section 6.2:
The Database Administrator. Further information about the Demo account is given in Sec-
tion 6.6:The Demo Account. .
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- 3
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
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 dialogue), this
access is defined.
License Key
In the License Key field, the installed license key setting must be selected. PowerFactory 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.
A detailed description of the different license key settings is given in the PowerFactory Installa-
tion 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 page 2
of the license agreement.
License Server
If you are using a network key with file based communication, the path to the PowerFactory
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 5.2.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 information
consult your network management or see the PowerFactory Installation Manual.
Note: If you are not sure about your license key setting please refer to your network
administrator. File based communication is only recommended for old versions of
PowerFactory that don’t support protocol based. For further information on the license key
configuration refer to the Installation Manual.
5- 4
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
The PowerFactory installation directory contains the applications binaries; the working directory
contains some temporary data, an error log file and the local database. In the ’Network’ tab
of the Log-on dialogue, the location of the PowerFactory installation and working directories is
defined. Depending on that location three installation types are available:
A detailed description of the different installation methods is given in the PowerFactory Installa-
tion Manual.
Note: If you are not sure about your installation type please refer to your network
administrator. For detailed information about the installation types see the Installation Manual.
In this tab it is specified how the database is going to be used. You can select among:
• A multi-user database which resides on an remote server. Here all users have access to
the same data simultaneously. In this case user accounts are created and administrated
exclusively by the Administrator.
DIgSILENT PowerFactory provides drivers for the following multi-user database systems:
• Oracle.
• Microsoft SQL Server.
For further information about the database configuration please refer to the PowerFactory In-
stallation Manual.
The advanced program settings should only be changed under the guidance of the DIgSILENT
PowerFactory support (see Chapter 2
5- 5
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
The appearance settings influence the way in which the toolbar buttons are displayed and the
way in which dialogues will open, close or move scroll bars and other objects.
5.3 Housekeeping
5.3.1 Introduction
Housekeeping is only available for multi-user databases (e.g. Oracle, SQL Server). For details
about how to schedule housekeeping, see the PowerFactory Installation Manual.
Normally housekeeping will not process data belonging to logged-on users; however, some user
accounts (e.g. those for a control room) may be connected to PowerFactory permanently. These
users can be configured to allow housekeeping to process their data whilst logged-on. This is
done from the User Settings dialog (see figure 5.3.1). Regardless of this setting, housekeeping
will not operate on a user’s active project.
5- 6
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
Figure 5.3.1: The User Settings Dialog: housekeeping for connected users
The SetHousekeeping object is used to control which housekeeping tasks are enabled (see fig-
ure 5.3.2). It is recommended that you move this object from Database\System\Configuration\Housekeeping
to Database\Configuration\Housekeeping, in order to preserve your configuration through database
upgrades.
The following sections discuss the different housekeeping tasks shown on the SetHousekeeping
object.
5- 7
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
If ‘Delete projects based on last activation’ is set on the SetHousekeeping object, then when
housekeeping executes, for each user, each project in turn will be considered for automatic
deletion.
The project properties determine whether a project can be automatically deleted, as shown
in figure 5.3.3. The default setting is for project deletion to be off. When set on, the default
retention period is 60 days. These defaults can be changed for new projects by using a template
project (under Configuration/Default in the Data Manager tree).
5- 8
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
You can change the settings for many existing projects at once using the tabular pane of the
Data Manager window (select the relevant column, right-click and choose Modify Values). A
value of ’1’ is equivalent to the Housekeeping project deletion radio button being set to ‘On’.
(see figure 5.3.4). You can also change projects in bulk via the tabular window resulting from a
Find operation, though note that executing a Find is potentially a lengthy operation.
A project will be deleted by the housekeeping task if it meets the following criteria:
1. The project is configured for automatic deletion on the Storage tab of the project proper-
ties.
2. The last activation of the project is older than the retention setting on the project.
3. It is not a base project with existing derived projects
4. It is not a special project (user settings, or anything under System or Configuration trees)
5. It is not a project owned by the Demo user.
6. The project is not locked (e.g. active).
7. The owner of the project is not connected, unless that user is configured to allow concur-
rent housekeeping (see section 5.3.2).
If ‘Purge projects’ is set on the SetHousekeeping object, then when housekeeping executes,
each project in turn will be considered for purging. A project that is already locked (e.g. an
active project) is not purged.
5- 9
DIgSILENT PowerFactory CHAPTER 5. PROGRAM ADMINISTRATION
Once housekeeping is configured to purge projects you can consider disabling the automatic
purging of projects on activation, thus preventing the Yes/No dialog popping up. To do this set
’Automatic Purging’ to Off on the Storage tab of the Project properties dialog. You can also set
this parameter to Off for many projects at a time (see methods described in section 5.3.4).
If ‘Delete recycle bin objects’ is set on the SetHousekeeping object, then when housekeeping
executes, each user’s recycle bin in turn will be examined. Entries older than the number of
days specified on the SetHousekeeping object (see figure 5.3.2) will be deleted.
Once deployed, how do you know that housekeeping is operating effectively? For example, it
could be failing every night with a connection error. An administrator should regularly check that
housekeeping is working. The primary check is to inspect the HOUSEKEEPING LOG table via
SQL or the data browsing tools of your multi-user database. For each run, housekeeping will
insert a new row to this table showing the start and end date/time and the completion status
(success or failure). Other statistics such as the number of deleted projects are kept. Note that
absence of a row in this table for a given scheduled day indicates that the task failed before it
could connect to the database. In addition to the HOUSEKEEPING LOG table, there is also a
detailed log of a Housekeeping run in the log file of the Housekeeper user.
1. Set up the Windows Scheduled Task, as described in the PowerFactory Installation Man-
ual..
2. Configure users expected to be active during housekeeping, as described in section 5.3.2.
3. Configure the SetHousekeeping object as described in section 5.3.3.
4. If using the project deletion task, configure automatic deletion properties for new projects,
as described in section 5.3.4.
5. If using the project deletion task, configure automatic deletion properties for existing projects,
as described in section 5.3.4.
6. Regularly monitor HOUSEKEEPING LOG table to check for success after housekeeping
runs, as described in 5.3.7.
5- 10
Chapter 6
This chapter provides details of how to create and manage user accounts, user groups, and
profiles. Key objectives of the user account managing system are to:
• Protect the ’system’ parts of the database from changes by normal (non-Administrator)
users.
• Protect parts of the databases belonging to user “A” from changes by user “B”.
• Facilitate sharing of user data.
The user account managing system provides each user with their own “private” database space.
The user is nevertheless able to use shared data, either from the common system database or
from other users, and may enable other users to use data from their private database.
The user account managing system manages this whilst using only one single database in the
background, which allows for simple backup and management of the overall database.
A brief introduction to the top level structure of the PowerFactory database is convenient before
presenting the user accounts and their functionality.
The data in PowerFactory is stored inside a set of hierarchical directories. The top level structure
is constituted by the following folders:
The Configuration folder Contains company specific customizing for user groups, user default
settings, project templates and class templates for objects
The main Library folder Contains all standard types and models provided with PowerFactory.
The main library folder is read only for normal users.
The System folder Contains all objects that are used internally by PowerFactory. The system
folder is read only for all normal users. Changes are only permitted when logged on as
the Administrator, and should be conducted under the guidance of DIgSILENT customer
support.
1
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
User account folders Contain user project folders and associated objects and settings.
A database administrator account is created with the PowerFactory installation. The main func-
tions of the administrator are:
Under a multiuser database environment, the administrator is the only user with permissions to:
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
right 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 dialog and write the corresponding password. By default the
administrator password is Administrator.
For further information about the administrator roll, please refer to the PowerFactory Installa-
tion Manual.
6- 2
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
In the case of an installation with a local database, the simplest way to create a new user ac-
count is to enter an unknown account name and an arbitrary password in the Log-on dialog (see
Chapter 5: Program Administration, Section 5.2.1: Log On Configuration). In this case the pro-
gram will automatically create and activate the new account, without administrator intervention.
In multi-user database installations, the administrator creates new user accounts by means of a
tool called the ’User Manager’, which is found in the Configuration folder.
• Log on as administrator.
• In the left pane of the Data Manager click on Configuration folder to display its contents.
• Double click on the User Manager icon ( , rigth pane) and press the Add User. . . button.
• In the General tab, enter the new user name and password.
• If a licensed version with a restricted number of functions is used (i.e. you may have 4
licences with basic functionality, but only 2 stability licences), the License tab may be used
to define the functions that a user can access. The Multi User Database option (bottom of
the tab) should be checked for all users that will access the multi user database.
The administrator can edit any user account to change the user name, set new calculation rights
or change the password. To edit an existing user account:
• Right-click on the desired user and select Edit from the context sensitive menu. The User
edit dialog be displayed.
Any user can edit her/his own account by means of the User edit dialogue. In this case only the
full name and the password can be changed.
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).
Any project or folder in a user account may be shared. This action can performed selectively
by sharing only with certain user groups. User groups are created by the administrator via the
User Manager. To create a new user group:
6- 3
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
• Log on as administrator.
• In the Data Manager open the Configuration folder and double click on the User Manager
icon( ).
• In the User manager dialogue that appears press Add Group. . .
• Enter the name of the new group, optionally a description and press Ok.
• The new group is automatically created in the User Groups directory of the Configuration
folder.
The administrator can change the name of an existing group by means of the corresponding
edit dialogue (right clicking on it and selecting Edit from the context sensitive menu). Via the
context sensitive menu, groups can also be deleted.
• Copying the user in the Data Manager (right click on the user and select Copy from the
context sensitive menu).
• Selecting a user group in the left pane of the Data Manager.
• Pasting a shortcut of the copied user inside the group (right-click the user group and select
Paste Shortcut from the context sensitive menu).
Users are taken out of a group by deleting their shortcut from the corresponding group.
The administrator can also set the Groups Available Profiles on the Profile tab of the Group
dialog.
For information about sharing projects please refer to Chapter 18 (Data Management).
Profiles can be used to configure toolbars, menus, dialog pages, and dialog parameters. By de-
fault, PowerFactory includes “Base Package” and “Standard” profiles, selectable from the main
menu under Tools → Profiles. Selecting the “Base Package” profile limits icons shown on the
Main Toolbar to those that are used with the Base Package of the software. The “Standard”
profile includes all available PowerFactory icons.
Profiles are created in the Configuration → Profiles folder by selecting the New Object icon
and then Others → Settings→ Profile. An Administrator can create and customize profiles, and
control User/User Group selection of profiles from the Profile tab of each group.
Figure 6.5.1 shows the Profile dialogue for a new profile, CustomProfile, and Figure 6.5.2
illustrates aspects of the GUI that may be customized using this profile. This section describes
the customization procedure.
6- 4
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
Prior to customizing the displayed buttons and menu items etc, the user should first define any
required custom Commands and Templates. A Tool Configuration object can be created in the
Configuration → Profiles folder, or within a user-defined Profile, by selecting the New Object
6- 5
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
icon and then Others → Settings→ Tool Configuration. If created in the Profiles folder, the
commands will be available from the “Standard” profile. Conversely, if the Tool Configuration
object is created within a profile (SetProfile) the commands and templates will only be available
for use in this profile. If there is a Tool Configuration within a user-defined profile, as well as
in the Profiles folder, the Tool Configuration in the user-defined profile will take precedence.
Optionally, customized icons can be associated with the Commands and Templates.
Definition of Icons
Icons can be defined in the Configuration → Icons folder by selecting the New Object icon and
then Others → Other Elements→ Icon. From the Icon dialog, icon images can be imported and
exported. Icons should be 19 pixels by 19 pixels in Bitmap format (recommended to be 24-bit
format).
Command Configuration
• Command: This is the selected DPL script (which should generally be located in the
Configuration → DPL commands folder), or selected Com* object.
• Edit: If selected, the DPL command dialog will appear when a Command is executed. If
de-selected, the DPL command dialog will not appear when a Command is executed.
• Icon: Previously created icons can be selected, which will be shown on the menu where
the command is placed. If no icon is selected, a default icon will appear (a Hammer, DPL
symbol, or default Com* icon, depending on the Class type).
Template Configuration:
6- 6
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
• Template The name of the template. The name may be for a unique template, or include
wildcards (such as *.ElmLne) for selection of a group of templates. Templates should be
in System/Library/Busbar Systems folder, or in the Templates folder of the active project.
• Drawing modeThe drawing mode can be set where there are multiple diagrammatic rep-
resentations for a template (such as for a substation). Three options are available:
– Blank will place the default (detailed) graphic of the template.
– Simplified will place the simplified graphic of the template.
– Composite will place a composite representation of the template.
• Symbol name Sets the representation of templates with a composite drawing mode (e.g.
GeneralCompCirc or GeneralCompRect).
Icon Previously created icons can be selected, which will be shown on the menu where
the template is placed. If no icon is selected, a default icon will appear (a Template symbol
or custom icon).
Description This description will be displayed when a user hovers the mouse pointer over
the icon. If left blank, the template name will be displayed.
The Main Toolbar and Drawing Toolbars can be customized using the Toolbar Configuration.
The field Toolboxes may either refer to a Toolbox Configuration (SetTboxconfig) or a Toolbox
Group Configuration (SetTboxgrconfig), which may in-turn refer to one or more Toolbox Config-
urations.
Figure 6.5.5 shows an example where there is a main toolbox, and a toolbox group. The toolbox
group adds a Change Toolbox icon to the menu, which allows selection of Basic Commands
and Custom Commands groups of commands.
6- 7
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
Each toolbox can be customized to display the desired icons, such as illustrated in Figure 6.5.6
The Main Menu, Data Manager, Graphic, Virtual Instruments, and Output Window menus can
be customized from the Menu Configuration dialog. The Change to Configuration View button
of the Profile dialog is used to display description identifiers for configurable items, such as illus-
6- 8
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
trated in the context-sensitive menu shown in Figure 6.5.7. The Menu Configuration includes a
list of entries to be removed from the specified menu. Note that a Profile may include multiple
menu configurations (e.g. one for each type of menu to be customized).
The Dialog Page Configuration may be used to specify the Available and Unavailable Dialog
pages shown when editing elements, such as illustrated in Figure 6.5.8. Note that Users can
further customize the displayed dialog pages from the Functions tab of their User Settings.
The Dialog Configuration may be used to customize element dialog pages, such as illustrated
for a Synchronous Machine element in Figure 6.5.9. “Hidden Parameters” are removed from
the element dialog page, whereas “Disabled Parameters” are shown but cannot be modified by
the user. A Profile may include multiple dialog configurations (e.g. one for each class to be
customized).
6- 9
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
Note that if a there is a Dialog Configuration for say, Elm* (or similarly for ElmLne,ElmLod),
as well as a Dialog Configuration for ElmLne (for example), the configuration settings will be
merged.
6.5.6 References
Profiles can also contain references to configurations. This allows several profiles to use the
same configurations. These referenced configurations can either be stored in another profile or
in a subfolder of the “Profiles” folder (e.g. a user-defined profile can use configurations from a
pre-defined profile).
The demo account is special user account for demonstration or testing purposes. Like the
administrator account it is automatically created with the program installation. The demo ac-
count folder is filled with numerous demonstration projects. These projects are accompanied by
demonstration command scripts which can automatically activate a demo project and perform
commands such as load-flow, short-circuit or transient analysis. Execution of these command
scripts is started by selecting a demonstration from the main menu option File → Examples.
This menu option has several sub-menus from which a demonstration may be selected. Select-
ing a demonstration will start the appropriate command script.
Note: The menu option File → Examples is only available when one is logged into the Demo
account.
6- 10
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
The “Demo” projects may also be activated and observed in the manner normally employed by
PowerFactory . To learn how this is achieved it is best to work through the on-line tutorial that is
provided.
A demo user has read and write permissions for all demonstration projects. However, calcu-
lations will only be permitted for the demonstration networks as long as they have not been
changed in a topological sense. This means that adding or deleting lines, transformers, loads,
machines, etc., will lead to error messages.
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 PowerFactory ).
However licensed users are recommended to copy and paste into their own account 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 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.
6- 11
DIgSILENT PowerFactory CHAPTER 6. USER ACCOUNTS, GROUPS AND PROFILES
6- 12
Chapter 7
User Settings
The User Settings dialogue, shown in Figure 7.1.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 button ( ) on the main tool bar, or by
selecting the Options → User Settings. . . menu item from the main menu.
1
DIgSILENT PowerFactory CHAPTER 7. USER SETTINGS
Use operating system Format for Date and Time The operating system date and time set-
tings 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. Exist-
ing 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
7- 2
DIgSILENT PowerFactory CHAPTER 7. USER SETTINGS
General Options
• 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.
Specifies that the status bar will display the cursor position in millimeters.
Results in all graphical pages on a graphics board being updated, even when they are not
visible. Note that this can slow the processing speed considerably. The advantage is that no
updating is required when a different graphics page is selected.
May be used to exclude colors, by number code, which are to be used for feeder definitions.
This is used to prevent the use of colors which are already used for other purposes. Ranges of
color numbers are entered as ’2-9’. Multiple ranges of colors must separated by commas, as in
’2-9;16-23’.
If the option is enabled, the user can define the background color of the single line graphics by
using the pop up menu and then pressing OK.
If the option is enabled, the user can left click a branch element within the single line graphic
and then resize it.
Defines how objects within an user defined region of the single line graphic (defined by left
clicking and then drawing a rectangle) are selected:
7- 3
DIgSILENT PowerFactory CHAPTER 7. USER SETTINGS
• Complete Only the objects, that are completely enclosed in the defined region, are se-
lected.
• Partial All the objects within the defined area are selected.
For information about the Graphic Window refer to Chapter 9(NetworkGraphics (SingleLineDi-
agrams)).
The data manager tab specifies which object types will be displayed or hidden in the tree rep-
resentation, and whether confirmation prompts will appear when objects or data is changed in
the data manager itself.
Show in Treelist
Object classes that are selected will be displayed in the database tree.
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 saving
must be defined.
Export/Import Data
• Binary DataSaves binary data, such as results in the result folders, to the ’DZ’ export files
according to selection.
• Export References to Deleted ObjectsWill also export references to objects which re-
side 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.
The default global type folder is the System/Library/Types folder. This default folder contains
many predefined object types, but objects within this folder may not be changed by the user
(read-only access). This option allows the user to specify a different ”Global Type Folder”,
possibly a company specific and defined type library.
For information about the PowerFactory Database Manager refer to Chapter 10(Data Manager).
7- 4
DIgSILENT PowerFactory CHAPTER 7. USER SETTINGS
The output window settings control the way in which messages selected by the user, in the
output window are to be copied for pasting into other programs.
Whichever options are checked will determine what will be copied. The text in the output window
itself will not be influenced.
Escape sequences are special hidden codes which are used for coloring the text, or other for-
matting commands. Some text processing programs are not capable of using the PowerFactory
escape codes. The Text Only option should be set in such cases. The text in the output window
itself will not be influenced by the options chosen here.
The number of lines displayed in the output window may also be limited.
The functions settings page provides check boxes for the function modules that are accessible
from the data manager or from the object edit dialogues. The user may choose to see only
certain modules in order to ”unclutter” dialogues.
This may also be used to protect data by allowing only certain calculation functionality to be seen
by certain users. This is particularly useful in a multi-user environment or in when inexperienced
users utilize PowerFactory .
7.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
7.7 Editor
The editor which is used to enter large pieces of text (such as DPL scripts, objects descriptions,
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.
7- 5
DIgSILENT PowerFactory CHAPTER 7. USER SETTINGS
• Show Selection Margin Provides a column on the left side where bookmarks and other
markings are shown.
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
7.8 StationWare
When working with DIgSILENT s StationWare , connection options are stored in the user set-
tings.The connection options are as follows:
Service Endpoint Denotes the StationWare server name. This name resembles a web page
URL and must have the form:
• http://the.server.name/psmsws/psmsws.asmx or
• http://192.168.1.53/psmsws/psmsws.asmx
http denotes the protocol, the.server.name is the computer name (or DNS) of the server
computer and psmsws/psmsws.asmx is the name of the StationWare application.
Username/Password
Username and Password have to be valid user account in StationWare . A StationWare user
account has nothing to do with the StationFactory 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.
7- 6
Part III
Handling
7
Chapter 8
The basic database structure in PowerFactory and the data model used to define and study
a power system is explained in Chapter 4 (PowerFactory Overview). It is recommended that
users become familiar with this chapter before commencing project definition and analysis in
PowerFactory . This Chapter describes how to define and configure projects, and how to create
grids.
There are three methods to create a new project. Two of them employ the Data Manager
window and the third the main menu. Whichever method is used, the end result will be the
same, a project object in the data base.
• On the Main Menu choose File → New. This opens the New dialog window (ComNew).
• Tick the option New → Project. Enter the name of the project. Make sure that the ’Target
Folder’ points to the folder in which you want to create the project (By default it is set to
the active user account folder).
• Press Execute.
Method 2 - Using the Element Selection Dialogue from the Data Manager:
• Press Ok. The window that opens next is the edit dialogue of the project folder. Press Ok.
• Locate the active user in the left-hand portion of the Data Manager.
1
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
• Place the cursor on the icon of the active user or a folder within the active user account
and right-click.
• 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.
Note: The ComNew command is used to create objects of several classes. To create a new
project it must be ensured that the ’Project’ option is selected.
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 8.1.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 advantage 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.
8- 2
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
The project dialog of 8.1.2 pops up when selecting Edit → Project. . . on the main menu or
when rigth-clicking the project folder in the Data Manager and selecting Edit from the context
sensitive menu.
The ’Basic Data’ page, allows the edition of basic project settings and the creation of new study
cases and grids:
• 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 cal-
culation 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 8.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 Chapter 11: Study Cases, Section 11.2 (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
8- 3
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
using the buttons Take from existing Project or 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 18 (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.
The Project Overview window is illustrated in figure 8.1.3. It is a dockable window, displayed
by default on the left side of the main application window between the main toolbar and the
output window. It displays an overview of the project allowing the user to assess the state of the
project at a glance and facilitating easy interaction with the project data. The window is docked
by default, but can be undocked by the user and displayed as a floating window that can be
placed both inside and outside of the main application window. If required, the window can be
8- 4
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
closed by the user. To close or reopen the window the user should deselect or select the option
Window → Dock Output Window. . . from the main menu. Only one window can be open at a
time.
The following objects and information can be accessed via the project window.
• Study Cases
– Active Study Case
– Inactive Study Cases
– Current Study Time
• Operation Scenarios
– Active Scenario Schedulers
– Active Scenarios
– Inactive Scenarios
• Variations
– Recording Expansion Stage
– List of active Variations with active Expansion Stages as children
– List of inactive Variations with inactive Expansion Stages as children
• Grid/System Stages
– List of active Grids or System Stages
– List of active Grids or System Stages
• Trigger
– Active triggers
8- 5
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
Entries for active objects are displayed with bold text, entries for inactive objects (where currently
no object is active, but inactive objects exist) are displayed as disabled/grey.
A context sensitive menu can be accessed by right clicking on each of the tree entries. The
following actions are available for each of the entries:
In the Project Settings you can set up the Validity Period of the Project, the method used for
Calculation of symmetrical components for untransposed lines, and other settings.
PowerFactory Version 14 extends the idea of a model into the dimension of time. The Project
may span a period of months or even years considering network expansions, planned outages
and other system events. The period of validity of a project specifies therefore the time span the
network model, which is defined in the Project, is valid for.
The Validity Period is defined by Start Time and End Time of the Project (see Figure 8.1.2).
The Study Case has got a Study Time, which has to be inside the Validity Period of the Project.
• Open the Data Manager and browse for the Project folder object (IntPrj).
• Right click on it and select Edit from the context sensitive menu.
• On the Basic Data tab press the ’Project Settings’ Edit button ( ). The Project Settings
dialogue will open.
• On the ’Validity Period’ page adjust the start and end time of the project.
• Press OK to accept the changes and close the window.
8- 6
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
To activate a project use the option File → Open project from the main menu. This brings up
a tree with all the projects in your user account. Select the project that you want to activate.
Alternatively, you may activate a project using the context sensitive menu on the Data Manager.
The last 5 active projects are listed at the File field of the main menu bar. The currently active
project is the first one in this list. To deactivate the currently active project, select it in the list
(left click on it). Alternatively, you may choose the option File → Close Project from the main
menu. To activate another project, select it in the list of 5 last active projects.
Projects (or any folder in the data base) can be exported using the *.dz or the *.pfd (PowerFac-
tory Data) file format. Whenever possible it is recommended to use the new PFD format (*.pfd).
This format (*.pfd) is improved for handling even very large projects. The performance of the
import/export has been optimized and the consumption of memory resources is much lower
than with the old file format (*.dz). All new functions available in the data base of PowerFactory
, e.g. time stamps and versions, are fully supported with the new PFD file format.
To export a project select File → Export. . . → Data. . . from the main menu. Alternatively projects
can be exported by selecting the option Export Project. . . on the project context sensitive menu
(only available for non active projects).
Projects can be imported by selecting File → Import. . . → Data. . . from the main menu 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.
8- 7
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
If external references are found, these can be packed before exporting by selecting the option
Pack external References on the project context sensitive menu.
The user can define the source of the External References (i.e. Global Library, Configuration
folder, etc). A new folder call ”External” containing all the external references will be created
inside the Project.
Electrical networks can be defined in PowerFactory using the Graphical Editor or the Data Man-
ager. The graphical method is the simplest one, it just consist in selecting the desired network
components from the drawing toolbox and place them in the desired location within the single
line graphic. In this case the program automatically creates the network components repre-
sented by the graphical objects in the active grids/expansion stages. The connections and the
corresponding cubicles are automatically created as the new component is placed (and con-
nected). The use of the data manager requires the manual definition of the cubicles within the
terminals and the selection of the specific cubicle where a branch element is to be connected.
This manual definition is more suitable for big networks whose graphical representation be-
comes complicated. Advanced users may combine both graphical and data manager methods
to define and modify their network models more efficiently.
Besides explaining the basic methods used to define and edit the network models, this section
is intended to explain practical aspects related with the creation and managing of the network
grouping objects (reference to grouping objects). The procedures used to create and manage
additional network diagrams are also presented here. Information about defining and working
with variations and variations stages will be given in a separate section. To start with the de-
scription of the network model definition, a description of how new grid folders are created is
required.
Note: Experienced users may define networks combining the Data Manager and the Graphical
Editor. A good practice is to create and connect the network components in the single line
graphic and multi edit them in the Data Manager.
To add a grid folder to the current network model, various methods may be employed:
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:
8- 8
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
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 11(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.
8- 9
DIgSILENT PowerFactory CHAPTER 8. BASIC PROJECT DEFINITION
8- 10
Chapter 9
9.1 Introduction
PowerFactory works with three different classes of graphics which constitute the main tools used
to design new power systems, controller block diagrams and displays of results:
Diagrams are organized in Graphic Boards for visualization (see Section 9.4.2 for more infor-
mation).
In this section it is explained how the tools of the Graphical Editor are used to define and work
with network models.
Drawing power system elements is a simple matter of choosing the required element represen-
tation in the Drawing Toolbox located in the right hand pane of the PowerFactory GUI. Input pa-
rameters of the element are edited through the element and type dialogs. Complete information
about the element and type parameters are given in the online available Technical References.
To create a new power system element, select the corresponding button in the Drawing Toolbox.
This toolbar is only visible to the user when a project and study case is active and the open
graphic is unfrozen by deselecting the Freeze Mode button ( ). As the cursor is positioned
over the drawing surface, it will have a symbol of the selected tool ’attached’ to it, showing that
1
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
the cursor is, for example, in ’Terminal’ drawing mode (to reset the mode either press the cursor
button at the bottom of the toolbox or right-click with the mouse).
Power system elements are placed and connected in the single line graphic by left clicking on
empty places on the drawing surface (places a symbol), and by left clicking nodes (makes a
connection). If wishing to stop the drawing and connecting process press the Escape key.
There are basically three ways of positioning and connecting new power system elements:
1. By left clicking on one or more nodes to connect and position the element directly. Single
port elements (loads, machines) will be positioned directly beneath the nodes at a de-
fault distance (the symbol can later be moved if required). Double or triple port objects
(transformers) will be centered between the first two terminal connections automatically.
This “single click method” will only work if the option ’Place Branch Objects With One
Connection Automatically’ in the User Settings is enabled.
2. By first left clicking on an empty place to position the symbol and then left clicking a node
to make the connections.
3. By first left clicking on an empty place, consequently clicking on the drawing surface to
define a non-straight connection line and finally clicking on a terminal to make the connec-
tion.
Note: Nodes for connecting branches are usually defined before placing them on the single
line diagram. However, it is possible to place ’connection free’ branch element on the single
line diagram by pressing the Tab key once for each required connection (e.g. twice for a line,
three times for a three winding transformer)
Figure 9.2.1 shows an example of a generator placed according to the first method (left genera-
tor), 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.
9- 2
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Note: 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.
Once drawn, an element can be rotated by right-click and selecting from the Rotate commands.
Figure 9.2.2 shows an example of rotated and flipped power system elements.
The connection between edge elements and terminals is carried out by means of cubicles.
When working with the graphical editor, the cubicles are automatically generated in the corre-
sponding terminal. The configuration of the newly created cubicles is determined by an object
called ’Cubicle Parameters’. Each network diagram has its own ’Cubicle Parameters’ object,
which is automatically set by the program.
Note: When connections to terminals are defined with switch elements of the class
ElmCoup (circuit breakers), cubicles without any additional switches (StaSwitch) are generated.
When commencing a single line diagram, it is common to first place the required nodes / termi-
nals (ElmTerm) on the graphic. There are several symbol representations available for terminals
from the drawing toolbox on the right-hand pane of the PowerFactory GUI.
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.
9- 3
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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.
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.
It is possible to switch from any of the terminal types to the Terminal (long terminal), Short
Terminal, or Point Terminal representation by right-clicking with the mouse and selecting Show
Terminal as.
Single port elements (loads, machines, etc.) can be positioned in two ways. The simplest
method is to select the symbol from the toolbar and then left click the busbar where the element
is to be placed. This will draw the element at a default distance under the busbar. In case of
multi busbar systems, only one of the busbars need be left-clicked. The switch-over connections
to the other busbars will be drawn automatically.
The ’free-hand’ method first places the element symbol wherever desired, that is, first click
wherever you wish to place the symbol. The cursor now has a ’rubber band’ connected to
the element (i.e. a dashed line), left-clicking on another node will connect it to that node. To
create corners in the joining line left click on the graphic. The line will snap to grid, be drawn
orthogonally, as determined by the “Graphic Options” that have been set.
Double port elements (lines, transformers, etc.) are positioned in a similar manner to single port
symbols. By left-clicking the first busbar, the first connection is made. The second connection
line is now held by the cursor. Again, left-clicking the drawing area will create corners. Double-
clicking the drawing area will position the symbol (if not a line or cable - e.g. a transformer). The
second connection is made when a node is left clicked.
Triple port elements (e.g. three-winding transformers) are positioned in the same manner as two
port symbols. Clicking the first, and directly thereafter the second node, will place the symbol
centered between the two nodes, which may be inconvenient. Better positioning will result from
left clicking the first busbar, double-clicking the drawing space to position the element, and then
making the second and third connection.
The ’free-hand’ method for two and triple port elements works the same as for one port ele-
ments.
Note: Pressing the Tab key after connecting one side will leave the second leg unconnected,
or jump to the third leg in the case of three port elements (press Tab again to leave the third leg
unconnected). Pressing Esc or right-click will stop the drawing and remove all connections. If
the element being drawn seems as if it will be positioned incorrectly or untidily there is no need
9- 4
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
to escape the drawing process, make the required connections and then right-click the element
and Redraw the element whilst retaining the data connectivity.
Annotations are created by clicking one of the annotation drawing tools. Tools are available for
drawing lines, squares, circles, pies, polygons, etc. To draw these symbols left click at on an
empty space on the single line diagram and release the mouse at another location (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.
For further information on defining lines, see Chapter 9.3 (Defining and Working with Lines and
Cables).
To mark (select) a power system element click on it with the cursor. The element is then high-
lighted and becomes the “focus” of the next action or command. The element can be un-marked
or de-selected by clicking on another element or by clicking onto some free space in the graphic.
The element is highlighted with a different pattern depending on whether the graphic has been
frozen or not, as seen in Figure 9.2.3, where (a) is the when the Freeze Mode is selected and
(b) when Freeze Mode is deselected.
• To mark all graphical elements, press the All button ( ). The keyboard short cut Ctrl+A
may also be used.
• To mark a set of elements at the same time click on a free spot in the drawing area, hold
down the mouse key and move the cursor to another place where you release the mouse
button. All elements in the so defined rectangle will now be marked. A setting, found in the
User Settings dialogue under the ’Graphic Windows’ tab (on the second page of this tab
press the button), can alter the manner in which objects are marked using this marking
method, as either ’Partial’ or ’Complete’. ’Complete’ means that the whole object marked
must lie inside the rectangle.
9- 5
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
• To mark more than one object, hold down the Ctrl key whilst marking the object.
• 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.
• In PowerFactory it is possible to place a terminal on an existing line in the single line
diagram by placing the terminal on the line itself. Moving the terminal to a different location
on the single line diagram may move line sections in an undesirable manner. By holding
the CtrL+Alt keys whilst moving the terminal, the line sections will not be moved. However,
note that this does not change the actual location of the terminal along the line.
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.
Note: Finding specific elements in a large project may be difficult if one had to look through the
single line diagram alone. PowerFactory includes the Mark in Graphic tool, to assist the user in
finding elements within the graphic. The user has to first search for the desired object in the
Data Manager using any of the methods presented in Chapter 10 (Data Manager). Once a
searched object is identified, it may be right-clicked and the option Mark in Graphic selected.
Interconnections between two different graphics can be achieved using two methods:
1. Representing a node in additional different graphics by copying and pasting the graphic
only and then by connecting branch and edge elements to the graphical object in the
additional graphic. This is performed by copying the desired node (right-click → Copy)
and then clicking on the other graphic in which it should be represented and right-click →
Paste Graphic Only. Only a graphical object is pasted into the second graphic and no new
data element is created.
2. Ensure that there is a node to connect to in the graphics that are to be interconnected.
Then connect an edge element between the two graphics.
Example
In this example an autotransformer will be used to interconnect two regions according to the
second method.
1. Select an autotransformer drawing tool from the toolbar and create the first connection as
normal by left clicking a node (see Figure 9.2.4).
2. Double-click to place the symbol. Your cursor is now attached to the transformer by a
’rubber band’. Move the cursor to the bottom of the drawing page and click on the tab of
the graphic that the interconnection is to be made to (see Figure 9.2.5).
3. Once in the second graphic left click to place the transformer symbol (see Figure 9.2.6)
and then left click on the second node.
9- 6
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
9- 7
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Note: The first method of interconnection, that of representing a node in two, or more, different
graphics, may lead to confusion at a later point as the ’inflow’ and ’outflow’ to the node will not
appear correct when just one graphic is viewed - especially if a user is not familiar with the
system. The node may be right-clicked to show all connections in what is known as the ’Station
Graphic’ (menu option Show station graphic). Thus, the second method may be preferred. To
check for nodes that have connections on other graphics the “Missing graphical connections”
diagram colouring may be employed.
Substations from existing templates are created using the network diagrams. The substations
are represented in these diagrams by means of composite node symbols. Creating a New
Substation in an Overview Diagram
Overview diagrams are single line diagrams without detailed graphical information of the sub-
stations. Substations are illustrated as “Composite Nodes”, which can be coloured to show the
connectivity of the connected elements (“Beach Bal”). Substations from pre-defined templates
(or templates previously defined by the user) are created using the network diagrams. The
substations are represented in these diagrams by means of composite node symbols.
• Click on the symbol of the composite node ( or ) listed among the symbols on the
right-hand drawing pane.
• Select the desired substation template from the list.
• Click on the overview single line diagram to place the symbol. The substation is automat-
ically created in the active grid folder.
• Right click the substation, select Edit Substation, and rename the substation appropriately.
• Close the window with the templates.
9- 8
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
• 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.
For further information on templates please refer to Chapter 12: Project Library, Section 12.4
(Templates Library).
Press the button to open the colouring dialog. Select the ’Function’ for which the colouring
mode is relevant (for example, select the ’Basic Data’ tab). Under ’Other’ select ’Topology’, and
then ’Station Connectivity’.
There are two ways to open the graphic page of a substation. The first is to double-click on
the corresponding composite node in the overview diagram. The second is to go to the graphic
object of the substation in the data manager, right-click and select Show Graphic.
Switching Rules ( ) (IntSwitching) store switching actions for a selected group of switches
that are defined inside a substation. The different switching actions (no change, open or close)
are defined by the user considering different fault locations that can occur inside a substation.
By default, the number of fault locations depends on the number of busbars and bay-ends
contained inside the substation; although the user is allowed to add (and remove) specific fault
locations and switches belonging to the substation. The switch actions will always be relative to
the current switch positions of the breakers.
The selection of a Switching Rule for a substation is independent of the selection of a Running
Arrangement and if required, the reference to the switching rule in a substation can be stated
to be operational data; provided the user uses the Scenario Configuration object. For more
information on the scenario configuration refer to Chapter 14 (Operation Scenarios).
9- 9
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
• Edit a Substation, either by right-clicking on the substation busbar from the single line
graphic, and from the context-sensitive menu choosing Edit a Substation, or by clicking on
an empty place in the substation graphic, and from the context-sensitive menu choosing
Edit Substation. This will open the substation dialogue.
• Press the Select button ( ) in the Switching Rule section and select New. . .
• The new Switching Rule dialogue pops up, where a name and the switching actions can
be specified. The switching actions are arranged in a matrix where the rows represent the
switches and the columns the fault locations. By default the fault locations (columns) cor-
respond to the number of busbars and bay-ends contained inside the substation, while the
switches correspond only to the circuit breakers. The user can nevertheless add/remove
fault locations and/or switches from the Configuration tab page. The switch action of every
defined breaker in the matrix can be changed by double clicking on the corresponding cell,
as illustrated in Figure 9.2.7. Press afterwards Ok.
• The new switching rule is automatically stored inside the substation element.
A Switching Rule can be selected in the Basic Data tab of a substation dialogue (ElmSubstat)
by:
A Switching Rule can be applied to the corresponding substation by pressing the Apply button
from within the switching rule dialogue. This will prompt the user to select the corresponding
9- 10
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
fault locations (busbars) in order to copy the statuses stored in the switching rule directly in the
substation switches. Here, the user has the option to select either a single fault location, a group
or all of them.
The following functional aspects must be regarded when working with switching rules:
• A switching rule can be selected for each substation. By default the selection of a switching
rule in a substation is not recorded in the operation scenario. However, this information
can defined as part of an operational scenario by using the Scenario Configuration object
(see Chapter 14: Operation Scenarios).
• If a variation is active the selection of the Switching Rule is stored in the recording expan-
sion stage; that is considering that the Scenario Configuration object hasn’t been properly
set.
The Assign button contained in the switching rule dialogue allows to set it as the one currently
selected for the corresponding substation. This action is also available in the context-sensitive
menu in the data manager (when right-clicking on a switching rule inside the data manager).
The Preview button contained in the switching rule dialogue allows to display in a separate win-
dow the different switch actions for the different fault locations of the corresponding substation.
New composite branches can be created in the Data Manager using the procedure described in
Chapter 10, Section 10.3.4 (Defining Composite Branches in the Data Manager). The definition
and connection of the branch components can then be carried out in the relevant single line
diagram, which is automatically generated after the creation of the new branch.
Branches from previously defined templates are created using the single line diagram. The
branches are represented in these diagrams by means of the Composite Branch symbol ( ).
To create a new branch from a template:
• Click on the Composite Branch button ( ) listed among the symbols on the right-hand
drawing pane. A list of available templates (from the Templates library) for branches will
appear. If only one Branch template exists, no list is shown.
• From this list choose the template that you want to create the 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, or connect across pages as discussed in section 9.2.5 (Interconnecting Power
Subsystems).
• 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.
9- 11
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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.
It is possible to define the phase technology of elements such as terminals, lines, and loads.
In instances where the number of phases of a connecting element (e.g. a circuit breaker or
line) is equal to the number of phases of the terminal to which it connects, PowerFactory will
automatically assign the connections. However, when connecting single-phase elements to a
terminal with greater than one phase, or two-phase elements to terminals with greater than three
phases, it is sometimes necessary to adjust the phase connectivity of the element to achieve
the desired connections. The phase connectivity can be modified as follows:
• Open the dialogue window of the element (by double-clicking on the element).
• Press the Figure >> button to display a figure of the elements with its connections on the
bottom of the dialogue window.
• Double-click on the dark-red names for the connections inside this figure.
• Specify the desired phase connection/s.
Alternatively, click the right arrow ( ) next to the Terminal entry and specify the desired phase
connection/s.
Note: It is possible to colour the grid according to the phases (System Type AC/DC and
Phases).
For more information about the colouring refer to Section 9.6.6 (Graphic Attributes and Options).
This section describes specific features and aspects of line and cable data models used in Pow-
erFactory . Detailed technical descriptions of the models are provided in Appendix F (Technical
References of Models).
In PowerFactory , lines and cables are treated alike, they are both instances of the generalized
line element ElmLne. A line may be modeled simply as a point-to-point connection between
two nodes and will refer to a line (TypLne), tower (TypTow), a tower geometry (TypGeo), a line
coupling (ElmTow), or a cable system coupling (ElmCabsys) type. Alternatively, lines may be
subdivided into sections referring to different types.
Note: Anywhere that ’line’ is written in this section, ’lines and/or cables’ may be read, unless
9- 12
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
otherwise specified.
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 transpositions
should be modelled - since the ”Transposed” option in the type object is a perfect, balanced,
transposition).
The simplest line model is a point-to-point connection between two nodes. This is normally
done in the single line graphic by selecting the ( ) icon and by left clicking the first terminal,
possibly clicking on the drawing surface to draw a corner in the line and ending the line at the
second terminal by left clicking it. This will create an ElmLne object in the database. When this
object is edited, the following dialogue will appear.
9- 13
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
The dialogue shows the two cubicles to which the transmission line is connected (’terminal i’
and ’terminal j’). The example in Figure 9.3.2 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, add/remove the
breaker, or change phase connectivity as discussed in section 9.2.8 (Working with Single and
Two Phase Elements).
The type of the line is selected by pressing the ( ) next to the type field. Line types for a line/
line route are:
• The TypLne object type, where electrical parameters are directly written (the user can
select if the type is defined for an overhead line or a cable).
• Tower types (TypTow and TypGeo), where geometrical coordinates and conductor param-
eters are specified, and the electrical parameters are calculated from this data. Selection
of the tower type will depend on the users requirement to link conductor type data to the
9- 14
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
line element as in TypGeo (for re-use of the one tower geometry with different conduc-
tors), or to link conductor type data to the tower type as in TypTow (for re-use of one tower
geometry with the same conductors).
Once the lines (or cables) have been created it is possible to define couplings between the
circuits that they are representing by means of line coupling elements ElmTow (for overhead
lines) and cable system coupling elements ElmCabsys (for cables).
Details of how to create Line Sections, Cable Systems, and Line Couplings are provided in the
following sections, and further information about line/cable modeling is given in the respective
Technical References.
• Press the Sections/Line Loads button in the line dialogue. This will open a data browser
showing the existing line sections (if the line has not been sectioned, it will be empty).
• 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 it is possible to define the type
and length of the new section.
Consider a three-phase underground cable comprised of three single-core cables with sheaths.
The cable system is created within the active project by taking the following steps.
1. Create a Single Core Cable Type (TypCab) and Cable Definition Type (TypCabsys):
• Navigate to the ’Equipment Type Library’ and select the New Object icon, or on the
right-hand side of the data manager right-click and select New → Others.
• Select ’Special Types’, ’Single Core Cable Type’, and then Ok.
• Enter the Type parameters and select Ok. (Note that in this example, a Sheath is also
selected, and therefore a separate line will later be defined in the Network Model to
represent the sheath.)
• Again select the New Object icon, or on the right hand side of the data manager
right-click and select New → Others.
• Select ’Special Types’, ’Cable Definition’, and then Ok.
• Enter type parameters including ’Earth Resistivity’, and ’Coordinates of Line Circuits’
(note that positive values indicate the depth below the surface). Select the Single
Core Cable Type defined in the previous steps and press Ok.
2. Create the Network Model:
• Add four terminals in the single line diagram at the same voltage defined in the Single
Core Cable Type.
• Connect a Line Element between two of the terminals to represent the phase con-
ductors, and enter the element parameters.
9- 15
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
• Connect another Line Element between the other two terminals to represent the
sheath, and enter the element parameters. (Add connections from the sheath ter-
minals to earth as required.)
3. Create a Cable System Element (ElmCabsys):
• Create a Cable System by selecting the two lines drawn in the single line diagram
(hold down Ctrl and left-click each line). Then right-click one of the lines and select
Define → Cable System from the context sensitive menu. Alternatively, define the
cable system in the Data Manager by creating a New Object and selecting Other
→ Net Elements→ Cable System, and then select the required Cable Definition and
Line Elements to represent the Conductor and Sheath circuits.
• Select the Cable Definition defined in step 1 and press Ok twice.
Note that the steps above could be conducted in an alternative order. For example, item 2
could be completed before 1. Also, item 3 could be completed before item 1, and Cable Types
could be created at the time the Cable System Element is created. However, the recommended
approach is to first define the Type data that is to be used in the Network Model, then to create
the Network Model with particular instances of the cable as in the example.
Figure 9.3.3 illustrates the interrelationship between the elements and types used to define
cable systems inPowerFactory. Note that by right-clicking the line that represents the sheath
and selecting ’Edit Graphic Object’ the Line Style can be modified to indicate graphically that
this line represents the sheath.
9- 16
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
9- 17
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Consider an example where there are two parallel transmission lines, each with a three-phase
HV (132 kV) circuit, three-phase MV (66 kV) circuit, and two earth conductors. The tower
element is created within the active project by taking the following steps.
1. Create the Conductor Types (TypCon) for phase and earth conductors:
• Navigate to the ’Equipment Type Library’ and select the New Object icon, or on the
right-hand side of the data manager right-click and select New → Others.
• Select ’Special Types’, ’Conductor Type’, and then Ok.
• Enter the Type parameters and select Ok. In this example, conductors are defined
for HV, MV, and earth conductors.
2. Create a Tower Geometry Type (TypeGeo):
• Again select the New Object icon, or on the right hand side of the data manager
right-click and select New → Others.
• Select ’Special Types’, ’Tower Geometry Type’, and then Ok.
• Enter type parameters for the number of Earth Wires and Line Circuits (in this exam-
ple, two earth wires and two line circuits), and the coordinates of the conductors.
Note that the steps above could be conducted in an alternative order. For example, item 3
could be completed before 1 and 2. Also, item 4 could be completed before items 1 and 2,
and Conductor Types and Towers could be created at the time the Line Couplings Element is
created. However, the recommended approach is to first define the Type data that is to be
used in the Network Model, then to create the Network Model with particular instances of the
lines/towers as in the example.
Figure 9.3.4 illustrates the interrelationship between the elements and types used to define Line
Couplings (Tower Elements) in PowerFactory.
9- 18
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
9- 19
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
In the PowerFactory graphic windows, graphic objects associated with the active study case are
displayed. Those graphics include single line diagrams, station diagrams, block diagrams and
Virtual Instruments. Many commands and tools are available to edit and manipulate symbols in
the graphics. The underlying data objects may also be accessed and edited from the graphics,
and calculation results may be displayed and configured.
Many of the tools and commands are found in the drop down menus or as buttons in the toolbars,
but by far the most convenient manner of accessing them is to use the right mouse button to
display a menu. This menu is known as a ’Context Sensitive Menu’; PowerFactory evaluates
where the tip of your cursor is, and then presents a menu that is appropriate to the cursor
location. Thus cursor position is important when selecting various menu options. It is important
to keep the cursor in place when right-clicking, as the menu presented is determined from cursor
position primarily, and not from the selected or marked object.
1. Single Line Diagrams (network diagrams) for entering power grid definitions and for show-
ing calculation results.
2. Detailed graphics of substations or branches (similar to network diagrams) for showing
busbar (nodes) topologies and calculation results
3. Block Diagrams for designing logic (controller) circuits and relays.
4. Virtual Instrument Pages for designing (bar) graphs, e.g. for the results of a stability cal-
culation, bitmaps, value boxes, etc...
The icon Graphical Pages ( ) can be found inside the Data Manager. Grids, substations,
branches, and controller types (common and composite types in PowerFactory terminology)
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 object. 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.
Note that it is also possible to store Diagrams within the Grid, although this is generally not
recommended.
9- 20
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
The graphics that are displayed in an active project are determined by the active study case.
The study case folder contains a folder called the ’Graphics Board’ folder (SetDesktop) in which
references to the graphics to be displayed are contained. This folder is much like the ’Summary
Grid’ folder which is also stored within the Study Case, and links active grids to the Study Case.
Both the Graphics Board and Summary Grid are automatically created and maintained and
should generally not be edited by the user.
Within a PowerFactory project, the Network Model folder contains a sub-folder called Diagrams.
This sub-folder should generally also not be edited by the user as it is automatically created and
maintained. It contains the objects that represent single line and substation graphics (IntGrfnet
objects). More than one graphic (single line or substation diagrams) may be created for a grid,
either to display the different grid elements over several pages, or to display the same grid
elements in different graphical arrangements.
Consider the ’Nine Bus System’ project that is shown in Figure 9.4.2. The active study case
is called Old Case and the active grid has two single line graphics that have been created for
it, Basic Grid and Basic Grid Interconnection. The graphics board folder in the study case has
a reference to only the Basic Grid graphic object and thus only this graphic for the grid will be
shown when the study case is activated.
In the case of single line graphics, the references in the graphics board folder are created when
the user adds a grid to a study case. PowerFactory will ask the user which graphics of the grid
should be displayed. At any time later the user may display other graphics by right-clicking the
grid and selecting Show Graphic from the context sensitive menu. Graphics may be removed
from the active study case by right-clicking the tab at the bottom of the corresponding graphic
page and selecting Remove Page(s).
The study case and graphics board folder will also contain references to any other graphics that
have been created when the study case is active, such as Virtual Instrument Panels.
9- 21
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Figure 9.4.2: Relationship between the study case, graphics board and single line diagrams
In a simple network there may be a 1:1 relationship between data objects and their graphical
representations, i.e. every load, generator, terminal and line is represented once in the graph-
ics. However, PowerFactory provides additional flexibility in this regard. Data objects may be
represented graphically on more than one graphic, but only once per graphic. Thus a data ob-
ject for one terminal can be represented graphically on more than one graphic. All graphical
representations contain the link to the same data object.
Furthermore, graphical symbols may be moved without losing the link to the data object they
represent. Likewise, data objects may be moved without affecting the graphic.
The graphics themselves are saved in the database tree, by default in the Diagrams folder of
the Network Model. This simplifies finding the correct Single Line graphic representation of a
particular grid, even in the case where there are several graphic representations for one grid.
When the drawing tools are used to place a new component (i.e. a line, transformer, etc.) a
new data object is also created in the database tree. A Single Line Graphic object therefore
has a reference to a grid folder. The new data objects are stored into the ’target’ folders that
the graphics page are associated with. This information may be determined by right-clicking the
graphic → Graphic Options, see Section 10.5 (Editing Data Objects in the Data Manager) for
more information.
Since data objects may have more than one graphic representation the deletion of a graphic
9- 22
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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 calculations.
When an element is deleted completely (right menu option → Delete Element) a warning mes-
sage will confirm the action. This warning may be switched off - see User Settings, General,
“Always confirm deletion of Grid Data”).
Once elements have been drawn on the graphic the data for the element may be viewed and
edited by either double-clicking the graphic symbol under consideration, or by right-clicking it
and selecting Edit Data.
The option Edit and Browse Data will show the element in a data manager environment. The
object itself will be selected (highlighted) in the data manager and can be double-clicked to open
the edit dialogue. A new data manager will be opened if no data manager is presently active. If
more than one symbol was selected when the edit data option was selected, a data browser will
pop up listing the selected objects. The edit dialogues for each element may be opened from
this data browser one by one, or the selected objects can be edited in the data browser directly,
see Section 10.5 (Editing Data Objects in the Data Manager).
Finding specific elements in a large project may be difficult if one had to look through the single
line diagram alone. PowerFactory includes the Mark in Graphic tool, to assist the user in finding
elements within the graphic. To use this tool the user has to first search for the desired object
in the Data Manager using any of the methods presented in Chapter 10 (Data Manager). Once
a searched object/element is identified, it may be right-clicked and the option Mark in Graphic
selected. This action will mark the selected object in the single line graphic where it appears.
When performing this command ensure that the object itself is selected, as shown in Fig-
ure 9.4.3. The menu will be different to that seen when selecting an individual field, as shown
in Figure 9.4.4.
9- 23
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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.
A new project may be created by selecting File → New on the main menu. This creates a new
Project folder and a dialogue is displayed where the user can define a grid folder in the Project
folder. Finally the Graphic page in which the single line diagram will be displayed.
A new graphic window can be created using the New command dialogue. This dialogue may
be opened using one of the following methods:
The ComNew dialogue must be configured to create the desired new object and the new ob-
ject should be named appropriately. Ensure that the correct target folder for the new object is
selected. Graphical objects that may be created using this dialogue (DiaPagetyp) are:
9- 24
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Grid Creates a new grid folder and a new Single Line Graphic object in that folder. The
(empty) single line graphic will be displayed.
Block Diagram Creates a new Block Diagram folder in the selected folder and a new
Block Diagram Graphic object. The (empty) block diagram graphic will be displayed.
Virtual Instrument Panel Creates a new Virtual Instrument Page object. The (empty)
Virtual Instrument Page will be displayed.
Virtual Instrument Adds a Virtual Instrument to an existing Virtual Instrument Page (the
Virtual Instrument Panel must first be selected / displayed.
Single Line Diagram Creates a Single Line Graphic in the target folder. Before the
graphic is inserted, the user is prompted to select the relevant grid.
The target folder will be set to the \User folder by default, but may be changed to any folder in
the database tree. The new grid, Block Diagram or Virtual Instruments folder will be created in
the target folder.
In all cases, a new graphics board object is also created, because graphic pages can only be
shown as a page in a graphics board. An exception is the creation of a new page, while in a
graphics board. This can be done by pressing the icon on the graphics board toolbar. This
will add the new graphics page to the existing graphics board.
Further information about how to draw network components is given in the following sections.
Each of the four graphic window types are edited and used in much the same way. This section
gives a description of what is common to all graphic windows. Specific behavior and functionality
of the graphic windows themselves are described other sections of the manual.
The page tab of the graphic window displays the name of the graphics in the graphics board.
The sequence of the graphics in the graphics board may be changed by the user. A page tab
is clicked and moved by dragging and dropping. An arrow marks the insert position during drag
and drop. Another way to change the order of the graphics is to select the option Move/Copy
Page(s) of the context sensitive menu. In addition virtual instrument panels can be copied very
easily. To do so the Ctrl key is pressed during drag and drop. The icon copies a virtual
instrument panel and inserts the copy alongside the original panel.
The page tab menu is accessed by a right-click on the page tab of the graphic windows. The
following commands are found:
• Insert Page → Create New Page creates a new page (the icon in the toolbar will do
the same).
• Insert Page → Open Existing Page opens a page or graphic that has already been created
but which is not yet displayed (the icon in the toolbar will do the same).
• Rename Page presents a dialogue to change the name of the graphic.
• Move/Copy Page(s) displays a dialogue to move or copy the selected page. Copy is only
available for virtual instrument panels.
9- 25
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Each graphics window has a specific Drawing Tool Box. This toolbox has buttons for new net-
work symbols and for non-network symbols. See Figure 9.4.5 for two examples.
Figure 9.4.5: Two tool boxes, for single line diagrams (a) and for block diagrams (b)
• Network or block diagram symbols, which are linked to a database object: terminals,
busbars, lines, transformers, switches, adders, multipliers, etc.
• Graphical add-on symbols: text, polygons, rectangles, circles, etc.
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 main icon bar of the graphical window).
On the status bar of PowerFactory , the active grid folder is displayed on the left-most field,
indicating the target folder (grid) that will be modified when you make changes in the network
diagram. To change the active target folder, double-click this field and then select the desired
target folder. This can be useful if the user intends to place new elements on a single line
diagram, but have the element stored in a different grid folder in the data manager.
9- 26
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
This section provides information about how to draw network components from existing objects.
Designing new (extensions to) power system grids, is preferably done graphically. This means
that the new power system objects should be created in a graphical environment. After the new
components are added to the design, they are edited, either from the graphical environment
itself (by double-clicking the objects), or by opening a database manager and using its editing
facilities.
It is however possible, to first create objects in the database manager (either manually, or via
import from another program), and subsequently draw these objects in one or more single line
diagrams.
PowerFactory allows for this either by drag and drop facilities to drag power system objects from
the data manager to a graphic window, or by the ’Draw Existing Net Elements’ tool. The way
this is done is as follows:
1. Select from the drawing tools toolbox the type of object that is to be drawn in the graphic.
2. Enable the drag & drop feature in the data manager by double-clicking the drag & drop
message in the message bar.
3. Select the data object in the data manager by left clicking the object icon.
4. Hold down the left mouse button and move the mouse to the graphic drawing area (drag
it).
5. Position the graphical symbol in the same way as is done normally.
6. A new graphical symbol is created, the topological data is changed, but the graphical
symbol will refer to the dragged data object. No new data object is created.
The Draw Existing Net Elements tool may also be used to perform this action, as described in
the next sections.
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 will appear.
Click on the symbol for terminals ( ) in the drawing toolbox. The symbol of the terminal is now
attached to the cursor.
If the list is very large, press the button Adjacent Element Mode ( ), and then right-click an
existing node in the single line diagram and select Set as starting node. This activates the se-
lecting of distance (number of elements) from elements in the active node. Select the Distance
of 1 in order to reduce the number of terminals shown.
If the button Use drawn nodes as starting objects ( ) is also selected, the list will be filtered
based on all drawn nodes (not just a single starting node).
If Show elements part of drawn composite nodes ( ) is selected, elements internal to already
drawn composite nodes will be shown in the list. However, since they are already drawn as part
of the composite node, they cannot be re-drawn.
9- 27
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
The marked or selected element can now be visualized 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 distance away from the element lastly drawn. Scroll down the list, in case only
certain elements have to be visualized.
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.
Press the button Draw Existing Net Elements ( ). For lines select the line symbol ( ) from
the drawing toolbox, for transformers select the transformer symbol ( ), and so on.
Similar to terminals, a list of all the lines (or transformers, or elements which have been chosen)
in the network, that are not in the active diagram are listed. Reduce 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 and 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. If a branch cannot be completely drawn (for example, when the
terminal at only one end of a line is shown on the diagram), it is possible to double-click the
diagram and arrows will appear to indicate that the line connects to a terminal that is not shown.
Figure 9.5.1 provides an illustration.
When a power system model is imported from DGS format that includes graphical information
or GIS data, single line diagram/s will automatically be created. However, if a model is im-
ported from another program it may only include network data (some data converters provided
in PowerFactory do also import graphics files). Even without a single line diagram, it is possi-
ble to perform load-flow and other calculations, and new single line diagram can be created by
drawing existing database elements.
9- 28
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
This is done by first creating a new single line graphic object in the Diagrams folder of the
Network Model (right-click the Diagrams folder and select New → Graphic). This opens the
single line graphic dialogue, where the ’Current Net Data’ pointer should be set to the respective
grid folder. See Section 9.6 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 will be displayed. The Draw Existing Net Ele-
ments ( ) 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 9.5.2) 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 9.5.2 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 9.5.2 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 two terminals have already been placed in the
graphic.
After all busbars have been inserted into the single line graphic, branch elements may be se-
lected in the graphic toolbox. In Figure 9.5.3 a, the transmission line tool has been selected. The
database browser will now show all lines which have not been inserted into the graphic. When
one of these lines is selected in the browser (Figure 9.5.3 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.
See also:
Note: Another useful approach to developing single line diagrams is to first define a feeder
(say, at the cubicle closest to the source node), then run a load-flow, navigate to the feeder in
the data manager, right-click and select Show → Schematic visualization by Dis-
tance or Bus Index. See Section 13.6 (Feeders) for further information on how to define feeders.
9- 29
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
9- 30
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Note: Before placing elements onto the graphic users may find it useful to configure and
display a background layer. This will be an image 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 9.6.4 for more information on layers.
In this section the commands, options and settings that are available in PowerFactory to config-
ure and use the graphic windows are introduced. The sub-sections of this chapter are divided
as illustrated in Figure 9.6.1.
9- 31
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Figure 9.6.2 shows the commands available for zooming, panning, and selecting. These com-
mands are also available from the main menu under View. The commands are described below.
Freeze Mode:
Locks the diagram from graphical changes, no network elements can be added or deleted. Note
that the status of switches can still be modified when freeze mode is on.
Zoom In:
Press the Zoom In icon to change the cursor to a magnifying glass. The mouse can then be
clicked and dragged to select a rectangular area to be zoomed. When the frame encompasses
the area you wish to zoom into release the mouse button. Alternatively, Ctrl+- and Ctrl++ keys
can be used to zoom in and out, or Ctrl and the mouse scroll wheel.
Note: The Acceleration Factor for zooming and panning can be changed on the second page
of the Graphic Window tab in User Settings.
Zoom Back:
To zoom ”back” press the Zoom Out button - this will step the zoom back to the last state.
Zoom All:
9- 32
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Zoom Level:
Hand Tool:
Use the hand tool to pan the single line diagram (when not at the page extents). Alternatively,
the mouse scroll wheel can be used to scroll vertically, and Ctrl+Arrow keys used to scroll
vertically and horizontally. When zoomed to the extent of the page, the tool will automatically
switch to either ’Rectangular Selection’ or ’Free-form Selection’.
Rectangular Selection:
Used to select a rectangular section of the single line diagram. Note that this icon is gener-
ally depressed when using the mouse pointer for other tasks, such as selecting Menu items,
however the Hand Tool or Free-form Selection may also be used.
Free-form Selection:
This function marks (selects) all objects in the single line diagram. This is helpful for moving
the whole drawing to another place or copying the whole drawing into the clipboard. In block
diagrams the surrounding block will not be marked. The keyboard short cut Ctrl+A may also be
used to perform this action.
Figure 9.6.3 shows the page, graphic, and print options buttons available. These commands
are discussed in this section, as well as some commands available through the page tab menu.
Print:
This function will send the graphic to a printer. A printer dialogue will first appear.
Also accessed through:
Main Menu: File → Print
Keyboard: Ctrl+P
Drawing Format:
9- 33
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
The drawing area for single line diagrams, block diagrams and virtual instruments is modified in
the ”Drawing Format” dialogue. A predefined paper format can be selected as-is, edited, or a
new format be defined. The selected paper format has ’Landscape’ orientation by default and
can be rotated by 90 degrees by selecting ’Portrait’. The format definitions, which are shown
when an existing format is edited or when a new format is defined, also show the landscape
dimensions for the paper format.
It is not possible to draw outside the selected drawing area. If a drawing no longer fits to the
selected drawing size, then a larger format should be selected. The existing graphs or diagrams
are repositioned on the new format (use Ctrl+A to mark all objects and then grab and move the
entire graphic by left clicking and holding the mouse key down on one of the marked objects;
drag the graphic to a new position if desired).
f no ’Subsize for Printing’ format has been selected, then, at printing time, the drawing area
will be scaled to fit the paper size of the printer. If, for instance, the drawing area is A3 and
the selected paper in the printer is A4, then the graphs/diagrams will be printed at 70% of their
original size.
By selecting a subsize for printing, the scaling of the drawing at printing time can be controlled.
The dimensions of the sub-sized printing pages are shown in the graphic page. If, for instance,
the drawing size has been selected as A3 landscape, and the printing size as A4 portrait, then a
vertical grey line will divide the drawing area in two halves. The drawing area will be accordingly
partitioned at printing time and will be printed across two A4 pages.
Make sure that the selected subsize for used for printing is available at the printer. The printed
pages are scaled to the available physical paper if this is not the case.
For instance:
Rebuild:
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.
Also accessed through:
Main Menu: Edit → Rebuild
Right-Click: Drawing → Rebuild
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.
Also accessed through:
Page Tab Menu: Insert Page → Create New Page
9- 34
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Note: The Page Tab menu is opened by right-clicking a page tab, shown just below the single
line diagram.
• Graphic folder object (IntGrfnet, single line network or substation diagrams) → opens
the selected graphic.
• 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.
Also accessed through:
Page Tab Menu: Insert Page → Open Existing Page
Other page commands accessed through the Page Tab Menu are as follows:
Remove Page:
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:
This function can be used to change the name of the selected graphic.
Move/Copy Page(s):
This function can be used to move a page/s to modify the order of graphics.
Mouse Click: Left-click and select a single page (optionally press control and select mul-
tiple pages) and drag the page/s to change the order graphics are displayed.
Data Manager: (Advanced) Modify the order field of Graphics Pages listed within the
Study Case Graphics Board. To reflect the changes, the study case should be deactivated
and then re-activated.
9- 35
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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 9.6.4.
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.
• 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.
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 com-
bination 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 should generally only be configured with the assis-
tance of DIgSILENT support staff. Note that if Use Scaling Factor for Computation of Distances
is selected on the Coordinates tab, it is possible to calculate the length of lines on the Single
Line Graphic by right-clicking and selecting Measure Length of Lines.
9- 36
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
• Opaque: Means that objects behind the results box cannot be seen through the results
box.
• Transparent: Means that objects behind the results box can be seen through the results
box.
Result Boxes - Background Specifies the transparency of result boxes (as boxes of
9- 37
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
object names).
Show line from General Textboxes to referenced objects may be disabled to unclutter
the graphic.
Reset textboxes completely Textboxes and result boxes have reference points (the point
on the box at which the box will ’attach’ to its element) that may be changed by the user.
If this option is:
Switches tab:
• Permanent Box: Shows a solid black square for a closed and an frame line for an open
switch (left picture).
• Old Style Switch: Shows the switches as the more conventional switch symbol (right
picture).
Display Frame around Switches Draws a frame around the switch itself (Breakers, Dis-
connectors, etc.). This only applies to user-drawn breakers and disconnectors.
9- 38
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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 7.2 Graphic Windows
Settings. This is because the cursor shape is a global setting, valid for all graphic windows,
while all graphic settings described above are specific for each graphic window.
9.6.4 Layers
The single line graphic and the Block diagram graphic windows use transparent layers of draw-
ing sheets on which the graphical symbols are placed. Each of these layers may be set to be
visible or not. The names of objects that have been drawn, for example, are on a layer called
’Object Names’ and may be made visible or invisible to the user.
Which layers are visible and exactly what is shown on a layer is defined in the ’Graphical Layers’
dialogue, accessed through the main toolbar ( ), by right-clicking on an empty spot of the
graphic area → Show Layer, or selecting View → Layers from the main menu. The layers
dialogue has a ”Visibility” tab to determine which layers will be visible, and a ”Configuration” tab
to define various attributes for the layers. See Figure 9.6.6.
In Figure 9.6.6, the layers in the left pane (Base Level, Object Names, Results, etc.) are visible
in the graphical window. The layers in the right pane are invisible. Layers can be made visible
by multi selecting them (hold the Ctrl key down whilst selecting) and pressing the button
(alternatively, double-click a layer name and it will jump to the other pane). A layer can be made
invisible again by selecting it in the left pane and pressing the button or by double-clicking it.
It is also possible to define user-specific layers, by pressing the New button.
9- 39
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Each graphic symbol in a single line diagram or block diagram is assigned to default layer at
first. All busbar symbols, for example, are drawn on the ’Base Level’ layer by default. Graphic
symbols may be shifted onto other layers by right-clicking them in the single line graphic and
selecting the option Shift to Layer from the context sensitive menu. This 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.
9- 40
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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 certain point terminals
simply make the ’Invisible Objects’ layer visible and re-assign the names and results boxes
required to another layer, 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 9.6.7, 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 32.4.1 shows for
each layer in which way its content can be changed in format.
9- 41
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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.
9- 42
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Note: Should an object disappear when it has been re-assigned to a layer, that layer may be
invisible. Layer visibility should be inspected and changed if required.
9- 43
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Diagram Type
Configuration
Layer Content SL Single Line
Options
B Block
Symbols for the elements of the
Base Level (none) SL/B
grid
Boxes with names and addi-
Object
tional data description, if config- Text/Box Format SL/B
Names
ured
Results Boxes with calculation results Text/Box Format SL/B
Dots at the connec-
Connection tions between edges and
(none) SL/B
Points buses/terminals and signal
connections to blocks
Additional Text explanation
Device Data Text/Box Format SL/B
given in the device symbol
Invisible Layer containing the symbols of
Text/Box Format SL/B
Objects elements hidden by default
Graphic used as the background
Name of file with
(wallpaper) to allow easier draw-
graphics (WMF,
Background ing of the diagram or to show ad- SL/B
DXF, BMP, JPEG,
ditional information (map infor-
PNG, GIF, TIF)
mation)
Numbers of
Number of lines for each con-
connection None SL
nection
lines
Sections Symbols at lines consisting of
and Line sections and/or where line loads Text/Box Format SL
Loads are connected
Double-Arrow at connections
Connection
where the end point is not rep- None SL
Arrows
resented in the current diagram.
Tap Posi- Positions of taps for shunts and
Text/Box Format SL
tions transformers
Vector Vector group for rotating ma-
Text/Box Format SL
Groups chines and transformers
Active/Reactive
Arrows that can be configured
Direction Power for direct/
for active and reactive power SL
Arrows inverse/ homopolar
flow representation
system
Number of phases of a
Phases line/cable, shown as parallel None SL
lines
Connection Index of each possible block
Text/Box Format B
Numbers connection point
Connection Name of each unused connec-
Text/Box Format B
Names tion of a block
Signals Name of the signal transmitted Text/Box Format B
Block Defi- Definition each block is based
Text/Box Format B
nition on
9- 44
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Figure 9.6.8 shows the commands available for zooming, panning, and selecting.
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 be displayed. When more than one object is
marked, the 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 10
(Data Manager) for more information.
Note: To edit
data for a single element, double-click the element, or select the element and press Alt+Return.
Delete Element:
This function deletes all marked objects in the diagram. 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 7.2 (Graphic Windows Settings).
9- 45
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Note: To delete graphical objects only, right click the selected element/s and select ’Delete
Graphical Object only’.
Cut:
This function cuts the marked objects in the diagram. Objects can then later be pasted as
discussed below.
Copy:
Copies all marked objects from the current drawing and puts them into the clipboard.
Paste:
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 pasted create
completely new graphic and data objects in the graphic that they are pasted into.
Note: 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 9.5: Drawing Diagrams with Existing Network Elements).
Note: The undo command undoes the last graphic action and restore deleted elements, or
deletes created elements. Note that data that has been deleted or changed will not be
restored. The undo command is ac-
cessed through the undo icon ( ), by right-clicking and selecting ’Undo’, or by pressing Ctrl+Z.
Reconnect Element:
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.
9- 46
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Note: Elements can also be disconnected and connected by selecting right-clicking and
selecting Disconnect or ’Connect’.
Other Commands:
Rotate: Right-click selection and Rotate to rotate symbols clockwise, counter-clockwise, or 180
degrees. It is generally preferable to disconnect an element before rotating it.
Disconnect:
Right-click and select Disconnect to disconnect the selected element/s.
Connect:
Right-click and select Connect to connect an element.
Redraw:
Right-click and select Redraw to redraw a selected element.
Move:
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. Connections from the moved part of
the drawing to other objects will be adjusted.
9- 47
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Figure 9.6.10 shows the commands available for zooming, panning, and selecting.
This dialogue sets the line style, line width, brush style, colour 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
9- 48
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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.
The single line graphic window has an automatic colour representation mode. The Diagram
Colouring icon on the local toolbar will open the diagram colouring representation dialogue
(alternatively, select View → Diagram Colouring on the main menu). This dialogue is used to
select different colouring modes and is dependent if a calculation has been performed or not. If
a specific calculation is valid, then the selected colouring for that calculation is displayed.
The Diagram Colouring has a 3-priority level colouring scheme also implemented, allowing
colouring elements according to the following criteria: 1st Energizing status, 2nd Alarm and 3rd
”Normal” (Other) colouring.
Alarm If this check box is enabled a drop down list containing alarm modes will be avail-
able. It is important to note here that only alarm modes available for the current calculation
page will be listed. If an alarm mode is selected, elements ”exceeding” the corresponding
a limit are coloured. Limits and colours can be defined by clicking on the ”Colour Settings”
button.
“Normal” (Other) Colouring Here, two lists are displayed. The first list will contains all
available colouring modes. The second list will contain all sub modes of the selected
colouring mode. The settings of the different colouring modes can be edited by clicking
on the Colour Settings button.
Every element can be coloured by one of the three previous criteria. Also, every criterion is
optional and will be skipped if disabled. Regarding the priority, if the user enables all three
criterion, the hierarchy taken account will be the following:
• ”Energizing Status” overrules the ”Alarm” and ”Normal Colouring” mode. The ”Alarm”
mode overrules the ”Normal Colouring” mode.
The graphic can be coloured according to the following listed below. Availability of some options
will depend on the Function that is selected (e.g. Voltage Violations does not appear when the
Basic Data tab is selected, but does when the Load Flow tab is selected).
Energizing Status:
• De-energized
• Out of Calculation
Energizing Status:
9- 49
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
• Outages
• Overloading of Thermal/Peak Short Circuit Current
• Voltage Violations/Overloadings
• Results
– Average Interruption Duration
– Fault Clearing Times
– Load Point Energy Not Supplied
– Loading of Thermal / Peak Short-Circuit Current
– State Estimator
– Voltages / Loading
– Yearly interruption frequency
– Yearly interruption time
• Topology
– Boundaries (Definition)
– Boundaries (Interior Region)
– Connected Components
– Connected Components, Voltage Level
– Connected Grid Components
– Energizing Status
– Feeders
– Missing graphical connections
– Outage Check
– Station Connectivity
– Station Connectivity (Beach Balls only)
– Substation Colouring (only if substation includes a transformer).
– System Type AC/DC and Phases
– Secondary Substation Colouring
– Voltage Levels
• Primary Equipment
– Cross Section
– Forced Outage Duration
– Forced Outage Rate
– Year of Construction
• Secondary Equipment
– Measurement Locations
– Power Restoration
– Relays, Current and Voltage Transformers
– Switches, Type & Usage
9- 50
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
– Areas
– Grids
– Meteo Stations
– Operators
– Owners
– Paths
– Routes
– Zones
• Variations / System Stages
– Individual
An illustration of diagram colouring options is shown in Figure 9.6.11. In this case, the Voltage
Colouring Mode is set to ’Voltage Drop and Rise’, under ’colour settings’. Also, the ’Colouring
scheme for voltages and loading’ is set to ’Continuous’ on the second tab (accessed by pressing
the right arrow ).
9- 51
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
The title block can be turned on and off from the single line diagram toolbar ( ) or the ’View’
menu. The title block is placed in the lower right corner of the drawing area by default, see
Figure 9.6.12 for an example.
9- 52
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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. All text fields have a fixed format in the title block. The
data and time fields may be chosen as automatic or user defined. Most text fields are limited to
a certain number of characters. When opening a new graphic the title will appear by default.
The legend block can be turned on and off from the single line diagram toolbar ( ), or from
the ’View’ menu. The legend block describes the contents of result boxes (for information about
result boxes see 9.8).
Because more than one type of result box is normally used in the Single line graphic, for in-
stance, 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.
The colour legend block can be turned on and off from the single line diagram toolbar ( ),
or from the ’View’ menu. The legend updates automatically based on the colouring options
selected.
Figure 9.6.13 shows the commands available for setting node default options. These are dis-
cussed in further detail in this section.
9- 53
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
The default voltage level for terminals can be set in this field. New terminals placed on the single
line diagram will have this voltage (e.g. 110 kV, 0.4 kV).
The default phase technology for terminals can be set in this field. New terminals placed on the
single line diagram will be of this type (e.g. three-phase ABC, one-phase, DC, etc.).
You can edit or change the symbols, which are used to represent the elements in the single line
graphic. Click with the right mouse button on a symbol of an element in the single line graphic,
then either:
• Select Edit Graphic Object from the context sensitive menu in order to edit the symbol of
the element. Note that colour changes will only be displayed if Other → User-defined is
selected in the Diagram Colouring options.
• Select Change Symbol from the context sensitive menu in order to use a different sym-
bol for the element. PowerFactory supports user-defined symbols as Windows-Metafile
(∗ .wmf) and Bitmap (∗ .bmp) files.
PowerFactory uses results boxes, text boxes, and labels in the Single Line Diagram to display
calculation results and other useful information. Figure 9.8.1 illustrates how these can be shown
in the Single Line Diagram.
Figure 9.8.1: Results boxes, text boxes, and labels available in PowerFactory
9- 54
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
General:
Result boxes are generally set up so that there are a series of different formats for each cal-
culation function, with variables appropriate to that function. In addition, the format differs for
the objects class and/or for individual objects. For example, following a load-flow, branch and
edge elements will have different formats compared to nodes, and an external grid will have an
individual, different, format as compared to the branch and edge elements.
The result box itself is actually a small output report, based on a form definition. This form
definition, and the PowerFactory output language that is used to define it, allows for the display
of a wide range of calculated values, object parameters, and even for colouring or user defined
text.
Although the result boxes in the single line graphic are a very versatile and powerful way for
displaying calculation results, it is often not possible to display a large (part of a) power system
without making the result boxes too small to be read. PowerFactory solves this problem by
offering balloon help on the result boxes. Positioning the mouse over a result box will pop up a
yellow text balloon with the text displayed in a fixed size font. This is depicted in Figure 9.8.1.
The result box balloon always states the name of the variable, and may thus also be used as a
legend.
Reference points:
A result box is connected to the graphical object for which it displays the results by a ’reference
point’. Figure 9.8.1 shows the default reference points for the resultbox of a terminal. A refer-
ence point is a connection between a point on the result box (which has 9 optional points), and
one of the ’docking’ points of the graphical object. The terminal has three docking points: on the
left, in the middle and on the right. The reference point can be changed by:
• Right-clicking the resultbox with the graphics cursor (freeze mode off), and selecting
Change Reference Points.
• The reference points are shown: docking points in green, reference points in red. Select
one of the reference points by left-clicking it.
• Left-click the selected reference point, and drag it to a red docking point and drop it.
• An error message will result if you drop a reference point somewhere else than on a
docking point.
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 refer-
ence and docking points will be selected again, and the result box is moved back to the default
position accordingly.
PowerFactory uses separate result boxes for different groups of power system objects, such as
node objects (i.e. busbars, terminals) or edge objects (i.e. lines, loads). For each type of result
box, a different result box definition is used.
A newly installed version of PowerFactory has pre-defined result box formats for all object
groups. These default formats cannot be changed, however the user may define other for-
9- 55
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
mats and save these for use. For the edge objects, for example, the default box shows P and Q
without units.
A number of these predefined formats are available for display; they may be selected by right-
clicking a results box to get the Format for Edge Elements (in this example) option, which then
presents a number of formats that may be selected. The active format is ticked ( ) and applies
for all the visualized edge elements.
It is also possible to select predefined formats for an specific element class. If the edge element
is for example an asynchronous machine, in the context sensitive menu it will be also possible
to get the option Format for Asynchronous Machine, which shows the predefined formats for
the element class Asynchronous Machine (ElmAsm). The selected format will in this case apply
only to the visualized asynchronous machines.
If the user wants to create a specific format that is different from the pre-defined ones, the Edit
Format for Edge Elements (or Node Elements) option should be used. Note that the new format
will be applied to the entire group of objects (edge or node objects).
If a created format is expected to be used for just one specific element, then the Create Textbox
option should be used. An additional results box/ textbox will be created, using the current
format for the object. This may then be edited. Information about text boxes is given in 9.8.2.
When the Edit Format option has been selected the user is presented with the form manager
dialogue (Figure 9.8.2). 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).
9- 56
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
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 9.8.2. 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 set
of typical results are pre-defined. This facilitates the configuration work for less advanced
users.
2. User Selection: This option allows the selection of the variables to be displayed in the
single line diagram out of the full set of available magnitudes. The ”User Selection” mode
changes the appearance of the form manager slightly so that a Select Variables appears
in place of the pre-defined variables drop down listings. Press this button to access the
variable set (IntMon) dialogue. The selection and use of variables is fully described in
Section 17.4 (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 9.8.3).
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 advan-
tages:
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 9.8.3. A detailed overview over the syntax of the
DIgSILENT Output Language can be found in Appendix H (The DIgSILENT Output Language).
9- 57
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
Result boxes can be formatted by means of the context sensitive menu (right-clicking the desired
result box). The available options include:
When pressed, the Reset Calculation icon ( ) will clear the results shown on the Single Line
Diagram. By default, PowerFactory will also clear the calculation results when there is a change
to network data or network configuration (such as opening a switch). However, if ’Invalidation
of calculation results’ is set to ’Show last results’ in the User Settings (see Section 7.1: General
Settings), results will appear in grey on the Single Line Diagram and on the Flexible Data tab
until the calculation is reset, or a new calculation performed. ’Reset Calculation’ can also be
accessed from the main menu under ’Calculation’.
9- 58
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
As mentioned in 11.8.1, text boxes are used to display user defined variables from a specific
referenced object within the single line graphic. To create a text box, right-click on the desired
object (one end of the object when it is a branch element) and select Create Textbox. By default
a text box with the same format of the corresponding result box will be generated.
The created text box can be edited, to display the desired variables, following the same pro-
cedure described in 9.8.1. In this case after right-clicking the text box, the option Edit Format
should be selected. By default the text boxes are graphically connected to the referred ob-
ject by means of a line. This ”connection line” can be made invisible if the option ’show line
from General Textboxes....’ from the ’Result Boxes’ tab of the Graphic Option dialogue ( 9.6.3,
Figure 9.6.4) is disabled.
9.8.3 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 (see Figure 9.8.1). The label can be visualized
as a text box showing only the variable corresponding to the name of the object. As for text
boxes, the format of labels can be set using the context sensitive menu.
Free Text Labels (see Figure 9.8.1) can be anchored to an element on the single line diagram,
and used to display custom text. The are created by right-click and selecting ’Create Free Text
Label’.
• Opening the Data Manager, right-clicking the active project or active grid and selecting
’Show Geographical Diagram’.
• On the main menu, on the ’Window’ tab, selecting ’Show Geographical Diagram’.
The geographical diagram provides a visual representation of the network, it is not possible to
add new elements to the diagram.
An additional layer is available for GPS coordinates to illustrate the magnitude of network load
and generation (apparent power), as illustrated in Figure 9.9.1. Note that the displayed size of
circles does not change as the user zooms in and out of the diagram. Colour and ’Scaling Factor’
settings can be modified on the ’Configuration’ tab of ’Graphic Layers’, see 9.6.4 (Layers).
9- 59
DIgSILENT PowerFactory CHAPTER 9. NETWORK GRAPHICS (SLD)
To display background images (e.g. maps) on the geographical diagram a ’File for reading
Background Images’ must be selected in the project options. See Section 8.1 (Defining and
Configuring a Project) on how to access the Project Settings. This facilitates ’tiling’ of multiple
images in the background of the GPS graphic if required.
The ’File for reading background images’ is simply a text file with tab-delimited entries in the
following format:
Where:
• Image filename is the name of the image file. If it is not in the same directory as the ’File
for reading background images’ it should include the file path.
9- 60
Chapter 10
Data Manager
10.1 Introduction
To manage/ browse the data in PowerFactory , a Data Manager is provided. The objective of this
chapter is to provide detailed information on how this Data Management tool. Before starting,
users should ensure that they are familiar with Chapter 4 (PowerFactory Overview).
The Data Manager provides the user with all the features required to manage and maintain all
the data from the projects. It gives both an overview over the complete data base as well as
detailed information about the parameters of single power system elements or other objects.
New case studies can be defined, new elements can be added, system stages can be created,
activated or deleted, parameters can be changed, copied, etc. All of these actions can be
instituted and controlled from a single data base window.
The data manager uses a tree representation of the whole database, in combination with a
versatile data browser.To initially open a data manager window press the icon from the
main toolbar. The settings of this window can be edited using the ’User Settings’ dialogue
(Section 10.2.5: Data Manager Settings).
The data manager window has the following parts (see Figure 10.2.1):
• The title bar, which shows the name and path of the of the folder currently selected in the
database [1].
1
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
• Between the database window and the input line, it shows the history list, which can be
used to perform calculations in batchmode [5]. The input window and history list are
opened and closed by the clicking on the Input Window button ( ).
• On the right side is the database browser that shows the contents of the currently selected
folder [6].
• 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 Sec-
tion 10.2.5).
There are some special features of the database browser which can be accessed at any time
when the content of a folder is shown:
• Balloon text: this is not only available for the buttons in the tool bar and the active parts of
the message bar or the browser window, but also for the data fields [a].
• Active Title buttons of each column; click on any title button to sort the items in the col-
umn; 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.
10- 2
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
Using the right mouse button to access menus is usually the most effective means of accessing
features or commands. Figure 10.2.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 10.2.5: 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 designated to contain particular classes of objects.
There are several ways to ”walk” up and down the database tree:
• Use the mouse: all folders that have a ”+” sign next to them may be expanded by double-
clicking on the folder, or by single clicking the ”+” sign.
• Use the keyboard: the arrow keys are used to walk up and down the tree and to open
or close folders (left and right arrows). The Page Up and Page Down keys jump up and
10- 3
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
down the tree in big steps and the ”-” and ”+” keys may also be used to open or close
folders.
• Use the toolbar in combination with the browser window. Double-click objects (see ”c”
in Figure 10.2.1) in the browser to open the corresponding object. This could result in
opening a folder, in the case of a common or case folder, or editing the object dialogue for
an object. Once again, the action resulting from your input depends on where the input
has occurred (left or right side of the data manager).
• The buttons Up Level ( ) and Down Level ( ) on the data manager tool bar can be
used to move up and down the database tree.
Generally, new network components are added to the database via the graphical user interface
(see Section 9.2: Defining Network Models with the Graphical Editor), such as when a line is
drawn between two nodes creating, not only the graphical object on the graphics board, but also
the corresponding element data in the relevant grid folder. However, users may also create new
objects “manually” in the database, from the data manager.
Certain new folders and objects may be created by right-clicking on folders in the data manager.
A context sensitive menu is presented, offering a choice of objects to be created that will “fit” the
selected folder. For example, right-clicking a grid folder will allow the creation (under the New
menu) of a Graphic, a Branch, a Substation, a Site or a Folder object. The new object will be
created in the folder that was selected prior to the new object button being pressed. This folder
is said to have the ’focus’ for the commanded action. This means that some objects may not be
possible to create since the focused folder may not be suited to hold that object.
For instance: A synchronous machine should not go into a line folder. A line folder should
contain only line routes, line sections and cubicles. The cubicles in their turn should contain
only switches or protection elements.
To access the whole range of objects that may be created, the icon must be pressed (new
object icon). This is found the data manager toolbar and presents the dialogue shown in Fig-
ure 10.2.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 transformer is accom-
plished 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.
10- 4
DIgSILENT PowerFactory CHAPTER 10. 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 ob-
jects, settings, projects, etc.
• Type folders are used as ’libraries’ for type objects.
10- 5
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
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 7 (User
Settings).
A folder or object which is selected may be deleted by pressing the Delete key on the keyboard,
or by clicking the icon on the toolbar of the database manager.
Because most power system objects that are stored in the database are interconnected through
a network topology or through type-element relationships, deleting objects often causes anoma-
lies in the database consistency. Of course, PowerFactory knows at any moment which objects
are used by which others and could prevent the user from creating an inconsistency by refusing
to delete an object that is used by others. This, however, would create a very stubborn program.
PowerFactory solves this problem by using a ’Recycle Bin’ folder. All deleted objects are in
fact moved to the recycle bin. All references to the deleted objects will therefore stay valid (for
example, the reference between element and type), but will show that the referenced object has
been “deleted” by:
• Showing the path to the recycle bin and the name of the ”recycle object” in stead of the
original location and name.
• Coloring: a reference to a deleted object will be colored red, i.e. a reference to a type.
Type references are found in the edit dialogues of all elements which use a type like the
line or the transformer object.
An object that has been deleted by mistake can be restored to the original location by selecting
the restore menu option on the recycle object’s context sensitive menu. All references to the
object will also be restored.
10- 6
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
3. By using the context sensitive menu. This menu offers a Cut, a Copy and a Move item.
The move item will pop up a small second database tree in which the target folder can be
selected. When the selected objects have been Cut or Copied, the context sensitive menu
will then show a Paste, Paste Shortcut and a Paste Data item.
• Paste will paste the selection to the focused folder.
• Paste Shortcut will not paste the copied objects, but will create shortcuts to these
objects. A shortcut object acts like a normal object. Changes made to the shortcut
object will change the original object. All other shortcuts to this original object will
reflect these changes immediately
• Paste Data is only be available when just one object is copied, and when the selected
target object is the same kind of object as the copied one. In that case, Paste Data
will paste all data from the copied object into the target object. This will make the two
objects identical, except for the name and the connections.
4. By dragging selected objects to another folder. The ’Drag & Drop’ option must be enabled
first by double-clicking the ’Drag & Drop: off’ message on the data manager’s message
bar. When the Drag & Drop option is on, it is possible to copy or move single objects by
selecting them and dragging them to another folder. Dragging is done by holding down
the left mouse button after an object has been 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.
The message bar shows the current status and settings of the database manager. Some of the
messages are in fact buttons which may be clicked to change the settings.
• ”Pause: on/off” (only in case of an opened input window) shows the status of the message
queue in the input window. With pause on, the command interpreter is waiting which
makes it possible to create a command queue. The message is a button: double-clicking
it will toggle the setting.
• ”N object(s) of M” shows the number of elements shown in the browser window and the
total number of elements in the current folder.
• ”N object(s) Selected: ” shows the number of currently selected objects.
• ”Drag & Drop: on/off” shows the current drag & drop mode. Double clicking this message
will toggle the setting.
10- 7
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
Most of the data manager functionality is available through the context sensitive menus (right
mouse button).
The following items can also be found in the context sensitive menus:
Show Reference List (Output... → 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 con-
nected 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.
• Relevant objects for calculations are tagged with a check-mark sign (this will only be shown
following a calculation). Editing one of these objects will reset the calculation results.
In this section it is explained how the tools of Data Manager are used to define network models.
New network components can be directly created in the Data Manager. To do this you have to
click on the target grid/expansion stage (right pane) to display its contents in the browser (left
pane). Then you have to click on the New Object icon and select the kind of object to create.
Alternatively you can directly enter the class name of the new component.
10- 8
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
To connect newly created branch elements to a node, a free cubicle must exist in the target
terminal. In the ’Terminal’ field (Terminal I and Terminal j for two port elements, etc.) of the
edge element you have to click on the ( ) arrow to select (in the data browser that pops up)
the cubicle where the connection is going to take place.
To create a new cubicle in a terminal you have to open its edit dialogue (double click) and press
the Cubicles button (located at the right of the dialogue). A new browser with the existing
cubicles will pop up, press the New Object icon and in the ’Element’ field select Cubicle
(StaCubic). The edit dialogue of the new cubicle will pop up; by default no internal switches
will be generated. If you want a connection between the edge element and the terminal trough
a circuit breaker, you have to press the Add Breaker button. After pressing the Ok button the
new cubicle will be available to connect new branch elements.
Note: New users are recommended to create and connect elements directly
from the single line graphics. The procedures described above are intended for advanced users.
The concept and the application context of substations is presented in Section D.4 (Project
Structure). A description of the procedure used to define new substations with the data manager
is given as follows. For information about working with substations in the graphical editor please
refer to Section 9.2 (Defining Network Models with the Graphical Editor).
• Display the content of the grid where you want to create the new substation.
• Right click on the right pane of the Data Manager and select New → Substation from the
context sensitive menu.
• The new substation edit dialogue will pop up. There you can change the name, assign run-
ning arrangements and visualize/edit the content of the substation (directly after creation
it is empty).
• After pressing Ok the new substation and an associated diagram (with the same name of
the substation) will be created.
The components of the new substation can be created and connected using the associated
single line diagram or using the data manager, the first option is recommended. 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.
For information about working with substations in the graphical editor please refer to Section 9.2
(Defining Network Models with the Graphical Editor). For information about the definition of
Running Arrangements please refer to Section 12.3.6 (Running Arrangements).
10- 9
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
The concept and the application context of composite branches is discussed in Section D.4
(Project Structure), and a description of how to define branches from within the diagram is pro-
vided in Section 9.2 (Defining Network Models with the Graphical Editor). This section provides
a description of the procedure used to define new branches from within the Data Manager.
1. To create a Branch template, navigate to the Library → Templates folder in the Data
Manager.
2. Right-click on the right pane of the Data Manager and select New → Branch from the
context sensitive menu.
3. In the branch edit dialogue, define the name of the branch and press Ok.
4. Now navigate back to the branch edit dialogue (right-click and edit, or double click), and
select Contents to add terminal and line elements etc. to the template as required. The
internal elements can be connected as discussed in Section 10.3.2.
5. Use the fields ’Connection 1’ and ’Connection 2’ to define how the branch is to be con-
nected to external elements.
6. To create an instance of the Branch from the created Branch template, either:
• Select the Composite Branch icon and connect the branch to existing terminals
on the Single Line Diagram.
• Select the Composite Branch icon and place the branch on the single line dia-
gram, press Tab twice to place the branch without making any connections. Then
connect the branch to external elements by right-clicking and selecting Connect, or
double-clicking the branch and selecting external connections for the relevant inter-
nal elements (e.g. lines). Select Update on in the Branch dialogue to update the
external connections.
Alternatively, for a single Branch (i.e. not using Templates) the branch can be defined in the grid
folder.
The concept and the application context of sites are presented in the Section D.4 (Project Struc-
ture). Next a description of the procedure used to define new sites is given.
• Display the content of the grid where you want to create the new site.
• Right click on the right pane of the Data Manager and select New → Site from the context
sensitive menu.
• The new Site edit dialogue will pop up.
• After pressing Ok the new site will be created.
10- 10
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
Note: Advanced users would notice that it is possible to move objects from a grid to a
Substation, Branch, Site, etc. and vice versa.
Each component can be individually edited by double clicking on it to open the corresponding
dialogue. The class dialogue is composed of several tabs each corresponding to a calculation
function of PowerFactory. The parameters required by a determined calculation are always
available on the corresponding tab. The description of the network component’s models, ex-
plaining the relations among the input parameters is given in the technical reference papers
attached to the Appendix F (Technical References of Models) (only in the online help).
It is possible to simultaneously edit components of the same class using the Data Manager.
To do this you have to select a component of the class that you want to edit (left click on the
component icon) and click on the Detail Mode icon at the upper part of 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. The data fields can be
edited by double-clicking them. As with any Spread Sheet, you can copy and paste individual
or multiple cells with Crtl C and Crtl V or with right click ’ Copy/Paste.
It is also possible to change a parameter field for more than one object simultaneously. The
parameter fields which are going to be changed have to be multi-selected first, then you have to
right-click the selection and select the option Modify Value(s) from the context sensitive menu.
This will open the SetValue dialogue. This dialogue can be used to:
• 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.
Note: 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.
For further information please refer to 10.5 (Editing Data Objects in the Data Manager).
10- 11
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
There are three main methods of searching for objects in the data base: Sorting, searching by
name and filtering.
Objects can be sorted according to various criteria, such as object class, name, rated voltage,...,
etc. Sorting according to object class is done using the ”Edit Relevant Objects for Calculation”
icon on the toolbar ( ). The user may select a particular class of calculation-relevant object
(e.g. synchronous machine, terminal, general load, but not graphics, user settings etc.) to be
displayed in a browser.
Further sorting can be done according to the data listed in a table- either in the data manager
or in a browser obtained using the procedure described above. This is done by clicking on the
column title. For example, clicking on the column title ’Name’ in a data browser sorts the data
alphanumerically (A-Z and 1-9). Pressing it again sorts the data Z-A, and 9-1.
Tabulated data can be sorted by multiple criteria. This is done by clicking on various column
titles in a sequence. For example, terminals can be sorted alphanumerically first by name, then
by rated voltage and finally by actual voltage by pressing on the titles corresponding to these
properties in reverse-sequence (actual voltagerated voltagename). A more detailed example
follows:
Suppose that you have executed a load flow calculation and that, for each rated voltage level
in the network, you want to find the terminal with the highest voltage. These terminals could
be identified easily in a table of terminals, sorted first by rated voltage and then by calculated
voltage. Proceed as follows:
• Select the ElmTerm from the ’Edit Relevant Object for Calculation’ dialogue .
• Include, in the Flexible Data page tab, the terminal voltage and nominal voltage (see 10.6).
• In the table (Flexible Data page tab), click on the title ’u, Magnitude p.u’ to sort all terminals
from highest to lowest calculated voltage.
• Then click on the title ’Nom.L-L Volt kV’ to sort by nominal voltage level.
• Now you will have all terminals first sorted by voltage level and then by rated terminal
voltage.
Searching for an object by name is done either in the right-hand pane of the data manager or
in a data browser. To understand the procedure below, notice that the first column contains the
symbols of the objects in the table. Clicking on such a symbol selects all columns of that row,
i.e. for that object. The procedure is as follows:
• Select an object in the table by clicking on any object symbol in the table (if one object
was already selected then select a different one).
10- 12
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
• Now start typing the object name, which is case sensitive. Notice how the selection jumps
as you type, For example, typing ’T’ moves the selection to the first object whose name
starts with T, etc.
• Continue typing until the selection matches the object that you are looking for
Advanced filtering capability is provided with the ’Find’ function . A filter is normally defined
to find a group of objects, rather than individual objects (although the latter is also possible).
Advanced search criteria can be defined, e.g. transmission lines with a length in the range 1km
to 2.2km, or synchronous machines with a rating greater than 500MW etc.
The function is available in both the data manager and a data browser. Clicking on ’Find’ in
the data manager allows the user to apply a predefined filter or to define a new filter, called
’General filter’. If a new filter is defined, the database folder that will be searched can be defined.
Clicking on ’Find’ in a data browser allows the user to define a General Filter for objects within
the browser.
General Filters defined by the user are objects stored in the Changed Settings \ Filters folder.
The options in the General Filter dialogue window are now explained with reference to Figure
10.4.1:
• 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.
10- 13
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
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 with-
out 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 10.4.2). 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.).
Note: Parameter names can be object properties or results. The parameter names for object
properties are found, for example, by letting the mouse pointer hover over an input field in an
object’s dialogue window. Parameter names for result variables are found from variable sets,
which are described in Section 17.4 (Variable Sets).
10- 14
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
”Search Literally” is used to search for user defined strings ’inside’ parameter fields. For exam-
ple, perhaps the comment ’damaged but serviceable’ has been entered for some elements in
the network. This may be searched for as shown in Figure 10.4.3. 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
Chapter 9: Network Graphics (Single Line Diagrams). The color to be used in this case can be
specified under the tab ’Graphic’ of the General Filter dialogue window.
10- 15
DIgSILENT PowerFactory CHAPTER 10. 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). Remember 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.
The database manager (or Data Manager) offers several ways to edit power system components
and other objects stored in the database, regardless they appear graphically or not.
The basic method is to double-click the object icons in the database browser. This will open the
same edit dialogue window obtained, when double clicking the graphical representation of an
element in the graphic window.
10- 16
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
Figure 10.5.1: 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 10.5.1) 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 capabilities in the
data managers browser window itself. The browser window in fact acts like a spreadsheet,
10- 17
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
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
In the general case the icon, the name, the type and the modification date (with its author) of
the objects are shown in the ’object’ mode (see Figure 10.5.1). Certain objects, for example
network components, show additional fields like the ”Out of Service” field.
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 10.2.5 (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 10.5.3). 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 10.5.3, this is a
load object (ElmLod). The icon or a filter ( 10.4.3) may also be used to engage detail mode.
10- 18
DIgSILENT PowerFactory CHAPTER 10. 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 10.5.4 where the nominal
current for a range of lines is changed at once.
10- 19
DIgSILENT PowerFactory CHAPTER 10. 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 10.5.5.
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.
10- 20
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
One of the great advantages of editing data fields in the data manager’s browser window is
the possibility to copy data from one object to another. This is done by selecting one or more
objects or object fields, copying this selection to the clipboard, and pasting the data back in
another place.
1. Open the Data Manager and select the grid folder where you find the objects to be copied.
Please do not open the icon for the Objects relevant for the calculation , as this is a
filter view collecting objects stored at various locations.
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 10.5.7).
Copying data fields from one object to another is done just like for any spreadsheet software
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.
10- 21
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
4. Press Ctrl-V or the icon. The contents of the data fields will be copied to the target
objects.
The data browser (this will be seen in the data manager when the ’Detail Mode’ has been
engaged) has page tabs for all calculation functions. These tabs are used to view or edit object
parameters which are categorized according to a calculation function and have a fixed format.
The ’Flexible Data’ tab, normally used to display calculation results, allows the user to define a
custom set of data to be displayed.
The default format for the calculation results displayed in the flexible page depends on the
calculation performed: Following a load-flow calculation, the default variables for terminals are
line-to-line voltage, per unit voltage and voltage angle. Following a short-circuit calculation
the default variables are initial short-circuit current, initial short-circuit power, peak current etc.
Figure 10.6.1 shows an example of the flexible data page tab.
The displayed variables are organized in ’Variables Sets’ that are, in turn, organized according
to the calculation functions. For example, an object class ElmTr2 (two-winding transformer) has
a variable set for symmetrical load flow calculation, a variable set for short-circuit calculation
etc. There may also be more than one variable set for any calculation function. For example,
the object ElmTr2 may have two variable sets for symmetrical load flow calculation.
The Flexible Page Selector allows the user to specify the variable set to use, or to define new
variable sets. Furthermore, the Flexible Page Selector allows the user to access and edit the
variable sets, i.e. to specify which variables to display in the Flexible Data page.
The ’Flexible Page Selector’ dialogue is shown in Figure 10.6.2. This dialogue is opened by
pressing the ( ) icon on the data manager toolbar. The Flexible Page Selector has a menu
with all the different calculation functions. It opens in the page corresponding to the most recent
calculation.
10- 22
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
The selection of variables within Variable Sets is presented in detail in Section 17.4 (Variable
Sets).
The tab Format/Header tab (Figure 10.6.3) allows the user to customize the header of the
Flexible Data page.
10- 23
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
Note: Variable Sets are objects of class IntMon, within PowerFactory they have multiple uses.
This section only presents their use in conjunction with Flexible Data. For further information
please refer to Section 17.4 (Variable Sets).
The number format per column in the Flexible Data Page can also be modified by right clicking
on the column header of the variable and selecting Edit Number Format . . . . A new window
showed in figure 10.6.4 will appear and the user may define the number representation.
The input window is for the more experienced users of DIgSILENT PowerFactory . It is closed
by default. Almost all commands that are available in PowerFactory through the menu bars,
pop-up menus, icons, buttons, etc., may also be entered directly into the input window, using
the PowerFactory commands.
The contents of the input window can be saved to file, and commands can be read back into the
window for execution.
PowerFactory also has special command objects which carry one single command line and
which are normally used to execute commands. In this way, complex commands can be saved
in the same folder as the power system for which they were configured.
In principle, everything that can be done in DIgSILENT PowerFactory , can be done from the
command line in the input window. This includes creating objects, setting parameters, perform-
ing load-flow or short-circuit calculations.
Some commands that are available are typically meant for command line use or for batch com-
mands. These commands are rarely used in another context and are therefore listed here as
”command line commands”, although they do not principally differ from any other command.
Cd Command Moves around in the database tree by opening another folder at a relative
position from the currently open folder.
10- 24
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
Example:
cd...\gridB\Load1
Cl Command Stops the redirection of the output window to either a file or to a printer. All
following messages will again be shown only in the output window.
Ed Command Pops up the dialogue of a default command, i.e. ”ldf”, ”shc”, etc.
Example:
ed ldf
Pause Command Interrupts the execution of the command pipe until a next pause com-
mand is executed.
Pr Command Prints either the contents of the output window or the currently active
graphics window.
A selected part of the database can be written to a ”DZ” Import/Export file with the button
Export Data... . This will bring a ’File Save’ dialogue where a filename must be specified.
Alternatively, the folder or object that is to be exported can be right-clicked in the database 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
10- 25
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
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.
10.8.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 location, and the links to
these objects will be correctly restored.
The PowerFactory data browser in the data manager’s window looks and acts like a spreadsheet
program as far as creating and editing power system objects is concerned. To enable and
simplify the use of power system element data which is stored in spreadsheet programs such
as the Microsoft Excel or the Lotus 123 programs, the data browser offers ’Spreadsheet Format’
import and export facilities.
10- 26
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
All data visible in the data browser may be exported as it is. The export format is such that
most common spreadsheet programs can read in the data directly (space separated ASCII).
Exporting data is performed as follows.
• Select a range of data in the data browser. Such a range may contain more than one
column and more than one row.
• Right-click the selected range.
• The imported data may now be edited, or additional calculations may be made. The Pow-
erFactory data is imported as numbers and descriptions. The example in Figure 10.9.2
calculates a mean value from a range of line loading percentages.
10- 27
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
There are two methods available for importing data from a spreadsheet program. The first
method uses a direct import of ’anonymous’ numerical data, i. e. of the values stored in the
cells of the table. This method is used to change parameter of existing objects by importing
columns of parameter values.
10- 28
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
The second method can be used to create new objects (or replace whole objects) by importing
all the data from a spreadsheet.
Any range of parameter values can be copied from a spreadsheet program and imported into
the database manager. The import is performed by overwriting existing parameter values by
’anonymous’ values. The term ’anonymous’ expresses the fact that the imported data has no
parameter description. The size of the imported value range and the required data are tested.
Importing invalid values (i.e. a power factor of 1.56) will result in an error message.
The import of values (anonymous variables), i. e. cells of a table, is explained by the following
example.
In Figure 10.9.3, a range of active and reactive power values is copied in a spreadsheet pro-
gram. In Figure 10.9.4, this range is pasted to the corresponding fields of 6 load objects by
right-clicking the upper left most field which is to be overwritten. The result of this action is
shown in Figure 10.9.5.
In contrast to the import of whole objects, the anonymous import of data does not need a
parameter description. This would complicate the import of complete objects, as the user would
have to enter all parameters in the correct order.
10- 29
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
With this kind of import, it is possible to import whole objects (in contrast to the import of pure
values, which is described above). The object import uses a header line with the parameter
names (which is necessary in addition to the cells with the pure values). 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.
10- 30
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
Figure 10.9.7 shows an example of valid spreadsheet data of some line types and some 2-
winding transformer types.
10- 31
DIgSILENT PowerFactory CHAPTER 10. 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 10.9.10,
none of the imported objects existed in the database an all were created new therefore. The
example shows the database in detail mode.
Note: New objects are created in the PowerFactory database folder only when no object of the
imported class and with the imported name is found in that folder. If such an object is found
then its data will be overwritten by the imported data
Because new objects are only created when they do not exist already, and only the 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
10- 32
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
∗
?=”,\∼|
Default Data
When an imported object is created newly, the imported data is used to overwrite the cor-
responding 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.
10- 33
DIgSILENT PowerFactory CHAPTER 10. DATA MANAGER
10- 34
Chapter 11
Study Cases
11.1 Introduction
The concept of Study Cases was introduced in Chapter 4 (PowerFactory Overview). 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 net-
work.
• 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.
Without study cases, it would be necessary to manually activate the correct grid and/or expan-
sion stage over and over again in order to analyze the resulting power system configuration.
1
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
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 solv-
ing algorithms.
The following sections 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 11.2 (Creating and Using Study Cases).
When a new project is created, a new empty study case is automatically generated and acti-
vated. The new study case is assigned the default settings of PowerFactory. The user can later
edit them using the study case dialogue (Figure 11.5.1).
The user may define several study cases to facilitate the analysis of projects containing more
than one grid, several expansion stages, different operation scenarios or simply different calcu-
lation options. To create a new study case:
• Open the Data Manager and go to the Study Cases folder. Right-click the folder and select
New → Study Case from the context sensitive menu. Enter the name of the new case in
the dialogue that pos up (Figure 11.5.1) and edit (if required) the default settings.
Only one study case can be active at any time. To (de)activate a study case:
• Open the Data Manager. The active study case and the folder(s) where it is stored are
highlighted. Right-click on the active study case and choose Deactivate from the context
sensitive menu. To activate a dormant study case place the cursor on its name, right-click
and choose Activate. Study cases may also be activated by simply choosing the required
study case from the drop down ’Current Study Case’ window, found on the right side of
the upper tool bar (Figure 11.2.1).
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.
11- 2
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
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 15 (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 → Acti-
vate 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 scenario is active, all operational
data attributes in property sheets or in data manager are highlighted in a blue color. This in-
dicates 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 re-
stored. 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 to Chapter 14 (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 activated. Variations and operation scenarios used by a study case are
automatically activated with the corresponding study case.
The primary task of a Study Case is to activate and deactivate a calculation target, which is a
combination of grids and optionally expansion stages from the Network Model. The Summary
Grid object holds references to the grids which are considered in the calculation (that is the
active grids). Grids may be added to, or removed from, the study case by right-clicking them in
the database tree and selecting Add to Study Case or Remove from Study Case from their
edit dialogue. Automatically a reference to the activated/deactivated grid is generated/deleted
in the Summary Grid object.
A grid cannot be activated separately; a study case linked to the grid must be active. The context
sensitive menu will show an Activate option when a grid or system stage folder is right-clicked if
no study case folder is active. This will present a prompt dialogue which request that either an
existing study case be activated, or a new study case be created first. The grid or system stage
is then activated in conjunction with whichever choice is made.
PowerFactory Version 14 extends the idea of a model into the dimension of time. The Study
Case has got a Study Time. The Study Time defines the point in time you wish to analyze.
11- 3
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
The Study Time must be inside the Validity Period of the Project, which specifies the time span
the Project is valid for (see Chapter 8: Basic Project Definition, Section 8.1.3 (Project Settings)).
PowerFactory will use the Study Time in conjunction with time-dependent network expansions
(see Chapter 15: Network Variations and Expansion Stages) to determine which network data
is applicable to that point in time. You are able to change the Study Time in order to analyze a
different point in time. The Expansion Stages will be activated/deactivated with the Study Time.
The status bar at the bottom of the PowerFactory program window shows the currently set Study
Time.
• Double click on the Study Time shown in the status bar 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 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
To edit the settings of a study case, you may select Edit → Study Case in the main menu, or
right-click the study case in the Data Manager and select Edit from the context sensitive menu.
A dialogue as shown in Figure 11.5.1 will appear.
11- 4
DIgSILENT PowerFactory CHAPTER 11. 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 15.4: Study Time). Please regard that the study time can also
change as a result of setting the recording expansion stage explicitly (see Chapter 15: Network
Variations and Expansion Stages).
11- 5
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
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-clicking on this
field you are taken to the same window.
Similarly to the Summary Grid object, the Variation Configuration object (IntAcscheme ) holds
references to the active variations.
A reference to the active operation scenario (if any) is always stored in the study cases. Similar
to variation configurations and summary grids, when a study case is activated, the operation
scenario (if any) whose reference is hold, will be automatically activated. The reference to the
active operation scenario is automatically updated by the program.
11.8 Commands
In PowerFactory a calculation (i.e load flow , short circuit , initial conditions of a time do-
main 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 com-
mand 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 11.8.1 shows a study case called Study 1 witch contains two load flow calculation com-
mands ( , 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 corre-
sponding to that calculation function.
11- 6
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
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 17
(Reporting and Visualizing Results).
Note: Command objects basically consist of the data set that configures the calculation, and
the Execution function to perform the computations. Like any other object calculation
commands can be copied, pasted, renamed and edited.
11.9 Events
Simulation Events objects are used to define simulation events. For time-domain simulations,
events are stored within the Study Case → Simulation Events/Fault folder (see Chapter 25:
Stability and EMT Simulations, Section 25.6 for a general description). For short-circuit studies,
they are stored in the Study Case → Short Circuits folder. For other steady-state calculations
that utilize Simulation Events, they are stored within the Operational Library → Faults folder.
PowerFactory offers several kinds of events:
11- 7
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
The user specifies the point in time in the simulation for the event to occur, and a generation
element (ElmSym, ElmXnet or ElmGenstat). The incremental change of the generator can then
be altered using the dispatch event.
External measurement events can be used to set and reset values and statuses of external
measurement objects.
This type of event is similar to the short-circuit event described in Section 11.9.9 (Short-Circuit
Events (EvtShc)). Two different elements and their respective phases are chosen, between
which the fault occurs. As for the short-circuit event, four different elements can be chosen:
• Busbar (StaBar )
• Terminal (ElmTerm)
• Overhead line or cable (ElmLne)
The user specifies the point in time in the simulation for the event to occur, and a load element(s)
(ElmLod, ElmLodlv, ElmLodmv or ElmLodlvp). The value of the load can then be altered using
the load event. The power of the selected load(s) can be changed as follows:
• Step Changes the current value of the power (positive or negative) by the given value (in
% of the nominal power of the load) at the time of the event.
• Ramp Changes the current value of the power by the given value (in % of the nominal
power of the load), over the time specified by the Ramp Duration (in seconds). The load
ramping starts at the time of the event.
11- 8
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
A message will be printed to the output window at the specified time in the simulation.
This Outage of Element event can be used to take an element out of service at a specified
point in time. It is intended for use in steady-state calculations e.g. short-circuit calculation and
reliability assessment.
It may also be used to take elements out of service in time-domain simulations, however it is
not possible to bring an outaged element back into service using this event during a transient
simulation. This is only possible in steady-state calculation functions. The following message
will be displayed if the user attempt to bring a previously outaged element back into service
using Outage of Element:
With this type of event, an input parameter of any element or DSL model can be set or changed.
First, a time specifying when the event will occur is specified. Then an element has to be to
specified/selected using the down-arrow button . Then choose Select... from the context-
sensitive menu. Afterwards insert the name and the new value of a valid element parameter.
This event is only used for PowerFactory Monitor applications. It cannot be used during time-
domain simulations.
This event applies a short-circuit on a busbar, terminal or on a specified point on a line. The
fault type (three-phase, two-phase or single-phase fault) can be specified as well as the fault
resistance and reactance and the phases which are affected.
The duration of the fault cannot be defined. Instead, to clear the fault, another short-circuit event
has to be defined, which will clear the fault at the same location.
Stops the simulation at the specified time within the simulation time-frame.
11- 9
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
Switch events are used only in transient simulations. To create a new switch event, press the
icon on the main menu (if this icon is available), which will open a browser containing all defined
simulation events. Click on the icon in this browser, which will show a IntNewobj (Figure
11.9.1) dialogue which can be used to create a new switching event.
After pressing OK, the reference to the switch (labelled Breaker or Element) must be manually
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 execution time.
The Synchronous Machine Event is used to easily change the mechanical torque of a syn-
chronous machine (ElmSym). The user specifies the point in time in the simulation for the event
to occur, and an active synchronous machine. The user can then define the additional mechan-
ical torque supplied to the generator. The torque can be positive or negative and is entered in
per unit values.
11- 10
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
The user specifies the point in time in the simulation for the tap event to occur, and a shunt or
transformer element (ElmShnt, ElmTr2, etc). The Tap Action can then be specified.
The Results object (ElmRes ) is used to store tables with the results obtained after the
execution of a command in PowerFactory. The typical use of a Results object is in writing
specific variables during a transient simulation, or during a data acquisition measurement. The
obtained results can later be used to generate plots, or in DPL scripts.
11- 11
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
The Update button will recalculate these parameters and update the shown information if nec-
essary. The Clear Data will clear all result data (only available if calculation results are stored).
Note: Clearing the data will delete the result-file and will reset the database ID. This will
destroy all calculated or measured data in the result file. It will not be possible to restore the data.
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 objects is necessary
because otherwise all available variables would have to be stored, which is practically
impossible.
For information about exporting results, please refer to Chapter 17: Reporting and Visualizing
Results, Section 17.2.4 (Result Objects).
The result object combines one or more monitor variable sets (IntMon ), allowing a very
flexible and highly transparent result definition. In fact, by using monitor variable sets, just
about every parameter used in the PowerFactory program comes available as calculation result,
together with a description and a unit.
11- 12
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
The variables selected with the IntMon dialogue in the result object become available to the
subplot objects in the virtual instrument panels. In these plots, one or more result objects can
be selected and from those result objects a power system element and one of its variables can
be chosen, if that element and that variable was selected in one of the IntMon objects. The
subplot will then show the calculated curve of that variable.
Variable sets always have a reference to a network component, whose selected variables are
going to be recorded (Figure 11.12.1 red circle, in this case a transformer called EBT1). To
facilitate the selection of the variables, monitor variable sets are organized according to the
calculation functions of PowerFactory and by the type of data. For example, if the results of a
harmonics calculation are to be recorded, the user should go to the Harmonics/Power Quality
page (Figure 11.12.1, green circle). If the voltage or the power of the referred element is to be
stored, the selected ’Variable Set’ should be Currents, Voltages and Powers (Figure 11.12.1
blue circle).
For further information about the definition of Monitor Variable Sets please refer to Chapter 17:
Reporting and Visualizing Results, Section 17.4 (Variable Sets).
11.13 Triggers
11- 13
DIgSILENT PowerFactory CHAPTER 11. STUDY CASES
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
Chapter 16 (Parameter Characteristics, Load States, and Tariffs).
The Study Case folder contains a folder called the Graphics Board folder (SetDesktop, )
where references to the graphics to be displayed are contained. This folder, much like the
Summary Grid folder, is automatically created and maintained and should generally not be
edited by the user.
The references in the graphics board folder are created when the user adds a grid to a study
case. PowerFactory will ask the user which graphics of the grid should be displayed. At any
time later the user may display other graphics in the grid by right-clicking the grid and selecting
Show Graphic. Graphics may be removed by right-clicking the tab at the bottom of the page and
selecting Remove Page(s).
The study case and graphics board folder will also contain references to any other graphics that
have been created when the study case is active.
11- 14
Chapter 12
Project Library
12.1 Introduction
• DPL Scripts (See Chapter 19: The DIgSILENT Programming Language - DPL)
• Table Reports (See Appendix D, section D.5.8 Table Report Methods)
• Templates (Section 12.4: Templates Library).
• User Defined Models (See Section 25.11: User Defined (DSL) Models)
This chapter is describes the Equipment Type Library, Operational Library, and Templates li-
brary. Note that in addition to the project Library, the global Library includes a range of pre-
defined types, models, templates, and scripts (refer to Chapter 4: PowerFactory Overview,
Section 4.6: Data Arrangement for details).
The Equipment Type Library is used to store and organize Type data for each class of network
component. Once a new project is created, an Equipment Type Library is automatically set by
the program within the Library folder. It also includes a subfolder for storing Scales.
1. On the Equipment Type Library folder in the left pane of the Data Manager right-click and
select New → Project Folder from the context sensitive menu (or to edit an existing folder,
right-click the folder and select Edit). The project folder edit dialogue is displayed.
2. In the Name field, enter the name of the new folder.
1
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
4. In the Class Filter field, write the name of the type class(es) to be allowed in the folder
(case sensitive). If more than one class is to be allowed, write the class names separated
by commas. An asterisk character (∗ ) can be used to allow all classes.
5. In the Icon field, select Library.
To create new type objects in these folders select the New Object icon and select the appro-
priate type class. Alternatively, types can be copied from other projects or the global library. If
the type class does not match the folder filter, an error message is displayed.
Within the Equipment Type Library, the Scale folder is used to store the Scales used by the
parameter characteristics. Refer to Chapter 16 (Parameter Characteristics, Load States, and
Tariffs) for details.
Note: By default new block definitions (used by dynamic models) created from block diagrams
are also stored in the Equipment Types Library. Chapter 25 (Stability and EMT Simulations)
provides details related to dynamic modeling and block definitions.
Figure 12.2.1 shows the equipment library of a project containing generator, load, and trans-
former types, sorted using library sub-folders.
Unlike the “Global Library”, which is accessible to all users, the local Equipment Type Library is
used to define types that are to be used in the specific project. It can only be used by the project
owner, and users with which the project is shared.
There are three options available for defining Type data for network components, as illustrated
in (Figure 12.2.2):
1. Select Global Type from the Global Library. The Data Manager is launched in the “Global
Library”.
2. Select Project Type. The Data Manager is launched in the local Equipment Type Library.
3. New Project Type. A new type will be defined and automatically stored in the local Equip-
ment Type Library.
Note that Global Types and Project Types buttons can be used to quickly switch between the
global and local libraries (Figure 12.2.2).
12- 2
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
The Operational Library is used to store and organize operational data for application to a
number of elements, without the need to duplicate operational information.
To illustrate, consider an example where there are two generators, “G1” and “G2”. The units
have slightly different Type data, and thus unique Type models, “G 190M-18kV Ver-1” and “G
190M-18kV Ver-2”. The Capability Curves for these units are identical, and so the user wishes
to create only a single instance of the capability curve. By defining a Capability Curve in the
Operational Library, a single Capability Curve can be linked to both generators.
Similarly, various circuit breakers may refer to the same short-circuit current ratings. A Circuit
Breaker Rating object can be defined in the Operational Library and linked to relevant circuit
breakers
This section describes the definition and application of operational data objects.
Circuit Breaker Ratings objects (IntCbrating) contain information that define the rated short-
circuit currents of 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 Net-
work Model can use a reference to a Circuit Breaker Rating object in order to change its current
ratings.
12- 3
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
• In the Element Selection dialogue select Circuit Breaker Rating (IntCbrating) and press
Ok.
• The new circuit breaker rating dialogue will then be displayed. Set the corresponding
parameters and press Ok.
To assign a circuit breaker rating to a circuit breaker (ElmCoup object) from the network model:
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.
Note: Variations in the CB Ratings folder act ’locally’, they will only affect the circuit breaker
ratings stored within the folder. Sim-
ilarly, the variations of the Network Model will only affect the network components from the grids.
Note: Circuit breaker elements (ElmCoup) must be distinguished from Switch objects
(StaSwitch); the latter are automatically created inside cubicles when connecting a branch
element (which dif-
fers to a circuit breaker) to a terminal. Ratings can also be entered in the StaSwitch Type object.
12- 4
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
Consider an example where a substation circuit breaker “CB” operates with different ratings
depending on the time of the year. From 1st January to 1st June it operates according to
the ratings defined in a set of parameters called “CBR1”. From 1st June to 31st December it
operates with the ratings defined in a set of parameters called “CBR2”.
This operational procedure can be modelled by defining a circuit breaker rating “CBR” in the CB
Ratings folder, and a variation “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 is the definition of the time-dependant circuit breaker rating “CBR”. To set the parameters
of “CBR” for the first period:
1. Set a study time before the 1st June to activate the first expansion stage (the Variation
“CB Sem Ratings” must be active).
2. 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.
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 apply the relevant ratings for “CB” (note that the variation must be active).
The active and reactive power demand defined for loads and feeders in the network model
can be transferred to another load (or feeder) within the same system by means of a Demand
Transfer (objects 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).
3. In the Element Selection dialogue select Planned Outage (IntOutage) and press Ok.
4. Set the validity time, the source and target loads/feeders and the power transfer.
Note: If there is a demand transfer, which transfers load between two loads (ElmLod)
belonging to different feeders (ElmFeeder ), then the same MW and Mvar value is transferred
from one feeder to the other.
12- 5
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
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 non-zero power transfer has been executed and the source’s power is less than zero, a
warning is printed to the output window indicating that the power limit has been exceeded. The
applied transfers can be reverted by using the Reset all button.
When the current operation scenario is deactivated, all load transfers executed while the oper-
ation scenario was active will be reverted.
For information about operation scenarios please refer to Chapter 14 (Operation Scenarios).
This section discusses the data structure of the Faults folder, and the objects contained within
it. The functionality of Event objects is described in Section 25.6: Events (IntEvt).
1. Fault Cases folders which in turn store objects that represent Simulation Events .
Simulation Events may contain a number of individual Events (Evt∗ ), e.g. short-circuits
events, switching events.
2. Fault Groups folders store Fault Groups (IntFaultgrp) objects, which in-turn refer-
ence fault Cases (Simulation Events or individual Events).
The uppermost window in Figure 12.3.1 show an example project Faults folder. Two Fault Cases
subfolders (“Cases North” and “Cases South”), and a Fault Groups subfolder Grouping Faults
have been defined.
The center window in Figure 12.3.1 shows the content of “Cases South”, which stores three
fault cases, “Bus 1”, “G1”, and “T1”. In the lower window of Figure 12.3.1, a Fault Group named
Fault Group has been defined inside the Grouping Faults folder, and contains a reference to the
fault case “Line2-Line5” (which has previously been defined in the folder “Cases North”).
Note: The use of IntEvt objects extends beyond PowerFactory ’s reliability analysis functions.
Time domain simulations (EMT/RMS) make reference to IntEvt objects, in order to include
simulation events which take place during a time-domain simulation. In this case the execution
time sequence of the events must be defined. In the case of fault representations in the
Operational Library by means of fault cases, only short-circuit and switching events are relevant.
12- 6
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
Note that the calculation commands provided by the reliability assessment function of Power-
Factory use Contingencies objects (ComContingency and ComOutage) to simulate the outage
(and subsequent recovery) of one or more system elements. To avoid duplication of data, these
objects can refer to previously defined Simulation Events (IntEvt). For information regarding
the functionality of fault cases and fault groups in contingency analysis tools refer to Chapter 28
(Contingency Analysis). For the use of fault cases to create outages for the contingency analysis
tools please refer to Chapter 28 (Reliability Assessment).
The following sections provide a details of how to define Fault Cases and Fault Groups.
Fault Cases
A fault case can represent a fault in more than one component, with more than one event
defined. For example, the fault case “Line 2-Line 5” shown in Figure 12.3.1 represents a short-
circuit fault in transmission lines Line2 and Line5, i.e. the fault case “Line 2-Line 5” consists of
short-circuit events for both components.
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 gener-
ated by the contingency analysis tools. For further information refer to Chapter 29 (Relia-
bility Assessment).
2. Fault Case with at least one switch event (Type 2): A Fault Case of Type 2 prede-
fines 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).
To create new Fault Cases or new Fault Groups folders, open the Faults project folder from
the Operational Library and use the New Object icon (select Fault Cases(IntFltcases) or Fault
Groups (IntFltgroups) respectively).
12- 8
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
The fault cases created will consist of short-circuit events applied to the selected components.
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 generated 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, transformer . . . ).
Fault Groups
1. Open the target Fault Groups folder and select the New Object icon .
2. In the edit dialogue, specify the name of the Fault Group, and Add Cases (IntEvt) to the
Fault Group.
Reactive Power operating limits can be specified in PowerFactory through definition of Capability
Curves (IntQlim). They are stored in Operational Library, within the Mvar Limit Curves
folder . Synchronous generators (ElmSym) and static generators (ElmGenstat) defined in
the Network Model can use a pointer to a Capability Curve object from the Load Flow tab of
their edit dialogue. When executing a Load Flow (with Consider Reactive Power Limits selected
on the Basic Options tab) generator Reactive Power dispatch will be limited to within the extents
of the defined capability curve. For information about the dispatch of synchronous generators,
refer to the synchronous machine technical reference (F.2.4: Synchronous Machine (ElmSym)).
For information about Load Flow calculations and reactive power limits, refer to Chapter 21
(Load Flow Analysis).
Note: If ’Consider Active Power Limits’ is selected on the Active Power Control page of the
Load Flow command, Active power is limited to the lesser of the Max. Operational Limit and
the Max. Active Power Rating specified on the Synchronous Machine Load Flow tab.
12- 9
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
1. Open the folder Mvar Limit Curves from the Operational Library.
2. Click on the New Object icon and select Capability Curve. The new capability curve
dialogue will be displayed.
3. Enter data points to define the generation limits, and Append Rows to add the required
number of rows to the table.
4. To apply a Capability Curve to a generator:
• Locate the Reactive Power Limit section on the Load Flow tab of the synchronous
machine’s or static generator’s dialogue.
• Press next to Capability Curve.
• Choose Select and then select the required curve in the Mvar Limit Curves folder
of the Operational Library (the required curve can also be created at this step by
selecting the New Object icon .
5. Select a capability curve and press OK.
Capability curves are included in operation scenario subsets; meaning that if a capability curve
is selected/reset from a generator when an operation scenario is active, the change will be
stored in the operation scenario. Once the operation scenario is deactivated, the assign-
ment/reset of the curve is reverted. For information on working with operation scenarios, please
refer to Chapter 14 (Operation Scenarios).
To enter a capability curve for information purposes only (i.e. a capability curve which is not to
be considered by the calculation), enter it on the second page of the Load Flow tab (accessed
by pressing the button). 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.
Similar to circuit breaker ratings (see Section 12.3.1 (Circuit Breaker Ratings), Capability Curves
can become time-dependant by means of variations and expansion stages stored inside the
Mvar Limit Curves folder.
To create a time-dependent variation for a Capability Curve, navigate to theMvar Limit Curves
folder in the left pane of a data manager window. Right-click on the folder and select New →
Variation. Name the variation, press OK, name the Expansion Stage, and press OK. Changes
to Capability Curves are recorded in the active expansion stage.
To activate a variation of a Capability Curve, open the data manager. Right-click the Variation
object in the Mvar Limit Curves folder and select Activate.
For general information about variations and expansion stages please refer to Chapter 15(Net-
work Variations and Expansion Stages).
A Planned Outage is an object used to check and/or apply an Outage of Element or Genera-
tor Derating over a specified time period. Planned Outages are stored within the Operational
Library in the Outages folder.
12- 10
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
• For the Outage of Element type, PowerFactory automatically isolates the referenced com-
ponents. The switches connecting the target elements with the other network components
are open and the terminals connected to the elements are earthed (if the Earthed option
in the terminal (ElmTerm) dialogue is checked). Note 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 a Generator Derating, a reference to the generator which is to be derated and the
magnitude of the MW reductions is specified. For the Generator Derating, the maximum
active power that can be dispatched (defined on the Load Flow tab of the generator ele-
ment dialogue, in the section Operational Limits) is recalculated as the difference between
the maximum active power (section Active Power: Ratings) and the MW reductions.
Note: If a Planned Outage object is defined in the Outages folder of the Operational Library,
only the outage types Outage of Element and Generator Derating are enabled. Similarly if
outage objects are defined in the Demand transfer folder, only the outage type Demand
Transfer is enabled.
5. (Generator Derating only) Specify the MW Reduction (see previous section for details) for
the generator derating.
6. To apply the Planned Outage, press the Apply button (the Apply button is only available
if the study time lies within the outage period, and an Operation Scenario is active).
Applied outages and generator deratings can be reset using the Reset button.
The Check All button in the Planned Outage dialogue is used to verify if the actions defined for
the target element(s) have been performed (right-click a Planned Outage and select Check to
12- 11
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
perform an individual check). Only the outages within a valid period are considered. Outages
marked as Out of Service are not regarded (even if the study time lies within the outage period).
For an Outage of Element, the energizing state is always determined by a connectivity analysis.
Any component that is connected to an External Grid or a reference Generator is considered to
be energized. All other components are considered to be deenergized (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).
Note: If the outaged element is a branch element (ElmBranch), all contained elements are
checked. If any of these elements is not correctly outaged, the whole branch is reported as not
correctly outaged.
The fulfillment of programmed outages can also be checked via the use of the color represen-
tation function available within the single line graphic by setting the Colouring option to Outage
Check from the color representation dialogue . The following states are colored, according
to user preferences:
Running Arrangement objects store operational data (switch status) for a single substation.
As shown in Figure 12.3.2, a Running Arrangement uses a reference to the substation object
(ElmSubstat) whose switch statuses are stored. A Start Time and End Time is used to spec-
ify the validity period of the Running Arrangement. Running arrangements are stored in the
Running Arrangements folder in the Operational Library .
12- 12
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
Different configurations of the same substation can be defined by storing the corresponding
switch statuses in Running Arrangements. Different Running Arrangements can then be easily
selected during a study. If a running arrangement is selected for a substation, the status of the
substation 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, switch status will be reverted to the status prior to application of the Running
Arrangement, and write-access will be re-enabled. Running arrangements are defined and
selected in the substation object dialogue Basic Data page.
Note: Running arrangements store only the status of switches of class ElmCoup. The status
of switches which are automatically created in a cubicle following the connection of a branch
element (StaSwitch objects) are not considered in a running arrangement.
Further details of how to create, select, apply, and assign Running Arrangements are provided
in the following sections.
To store the current status of the switches in a substation, a Running Arrangement object must
be created. To create and save a new Running Arrangement (RA):
1. Click on an empty place in the substation graphic, and from the context-sensitive menu
choose Edit Substation. Open the substation dialogue.
2. Click Save as (see Figure 12.3.3) to store the switch settings of the substation as a new
RA. This button is only available if there is currently no RA selection active.
3. In the new RA dialogue is displayed, specify a name and time period, and press Ok. The
new RA is automatically stored in the Running Arrangements folder in the Operational
Library.
An Overwrite button is available in the substation dialogue (if no RA is selected), to store current
switch statuses to an existing RA.
12- 13
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
A Running Arrangement (RA) can be selected in the Basic Data tab of a substation dialogue
(see Figure 12.3.3):
3. Select the desired RA. This selection is immediately reflected in the substation graphic.
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 accord-
ing 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).
12- 14
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
An active Running Arrangement (RA) can be applied to a substation by pressing the Apply and
Reset button from within the substation dialogue. This action copies the statuses stored in the
RA directly in the substation switches. It is only available only if an RA is selected. The RA will
be deselected afterwards. An RA can be directly set as the substations selected RA, using the
Assign button (from within the RA dialogue).
The following functional aspects must be regarded when working with running arrangements:
• 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 deter-
mined 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 varia-
tion 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 substation. In this case if
the RA is re-activated, a warning would be printed to the output window and the current
switch statuses, which depend on the base network, active variations and active operation
scenario, remain unchanged. Missing switch statuses will be added only when performing
the Save as or Overwrite functions (available in the substation dialogue).
• Switch statuses stored in the RA, and which are currently not required (depending on
expansion stages) are ignored and remain unchanged. In this case a summary warning
is printed during the RA activation.
For information regarding operation scenarios and their application refer to Chapter 14 (Opera-
tion Scenarios).
The Assign button contained in the Running Arrangement (RA) dialogue facilitates the selection
of the RA as the one currently selected for the corresponding substation. This action is also
available in the context-sensitive menu in the data manager (when right-clicking on an RA inside
the data manager). It should be noted that assignment is executed immediately and cannot be
undone by pressing the cancel button of the dialogue.
12- 15
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
Thermal Ratings objects (IntThrating) allow the definition of post-fault operational ratings
for certain branch elements, depending on the fault duration and the loading prior to the fault.
Thermal Ratings objects are stored in the Thermal Ratings folder in the Operational Library .
They are two-dimensional matrices, with cells that contain the ”short time” post-fault ratings (in
MVA), according to the pre-fault loading (defined in the first column) and the duration of the
fault/overloading (defined in the first row).
References to Thermal Ratings are defined on the Basic Data tab of the dialogue of the target
branch elements. Elements that can use references to Thermal Ratings are:
Note that the rating table given on the Ratings tab of the Thermal Rating object (when option
Consider short term ratings is enabled) is used solely for the contingency analysis command in
PowerFactory. In this calculation, the pre-fault loading conditions of the network components
are determined after a base load flow calculation. The contingency analysis is then performed
using a load flow command, where the post-contingency duration is specified.
12- 16
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
3. The new object dialogue is displayed. To configure the table for the short-term ratings
(only visible if the option Consider short term ratings is checked), go to the Configuration
tab and:
• 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 post-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 Thermal Ratings dialogue. Similar to Circuit Breaker Ratings and Capability Curves, Ther-
mal Ratings objects can be made to be time-dependant by means of variations and expansion
stages stored inside the Thermal Ratings folder (refer to the Circuit Breaker Ratings section for
an explanation on how to define time-dependant operational objects).
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 Ratings object). The loading of the branch
elements after the contingency load flow are calculated with respect to the new ratings.
The Templates folder is used to store and organize templates of network components (or groups
of components) for re-use in a power system model. Components from templates are created
using the graphical editor. Five kinds of templates are supported in PowerFactory:
1. Element template for single network elements: New single network elements with the
same parameters as the original element are created.
2. Group template for non-composite graphic objects: New groups of objects (including
graphical attributes) are created.
3. Substation template (composite node): New substations with the same configuration as
the original substation (including its diagram).
4. Secondary Substation template: New secondary substations.
5. Branch template (composite branch): New branches with the same configuration as the
original branch (including its diagram).
12- 17
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
Templates are normally stored in the Templates folder , in the Library. When a template for
a single network element is defined, a copy of the original element is automatically created in
the Templates folder. New templates of substations and branches will copy the objects together
with all of their contents (including the diagram) to the Templates folder. New templates for
groups of objects will copy the corresponding objects, together with their graphical information
to a subfolder for groups of class IntTemplate within the Templates Library.
For further information about working with templates, please refer to Section 9.2 (Defining Net-
work Models with the Graphical Editor).
• Select the symbol for a substation, secondary substation, busbar, branch, or general tem-
plate as required.
• Select the required template.
• Insert the new element in the single line graphic.
Note: The use of Substation templates is recommended for diagrams of networks, where
components are grouped in branches and substations. In this case the composite nodes can
be graphically connected with the composite branch, forming an overview diagram of the
complete network.
Any kind of single network component (lines, transformers, terminals, etc.) can be used to
define an ”Element” template; this is done by right clicking the desired element on a single line
graphic and selecting Define Template from the context sensitive menu, a dialogue where the
name of the new template is to be written pops up. After the name is given and the Ok button
is pressed, a copy of the selected element is stored in the templates folder. Similarly, a group
of network components can be used to define a ”Group” template, which will create a template
folder ( ) storing the objects from the group together with their graphical information. If a
group of elements containing substation and branches has been selected the elements outside
the substation will not be added to the template.
Existing substations can be used as ”models” to define templates, which may be used later to
create new substations. A new substation template is created by right clicking on one of the
busbars of the detailed substation single line diagram and selecting Define substation template
from the context sensitive menu. This action will copy the substation together with all of its
contents (including its diagram even if it is not stored within this substation) in the Templates
folder.
12- 18
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
Note: In case of creating templates which contain graphical information the default settings of
the names and result boxes defining their graphical representation (font, frame, size,...) are
copied into the template diagram so that they appear as in the source object(s).
Similar to creating substation templates, existing busbars can be used as a ”models” to create
user-defined templates, which may be used later to create new busbars. A new busbar template
is created by right clicking on the detailed single line diagram or simplified diagram of busbar
and selecting Define substation template from the context sensitive menu. This action will copy
the busbar together with all of its contents (including detailed and simplified diagrams) in the
Templates folder. If the detailed busbar configuration has been modified, it is possible to right-
click the (existing) simplified representation in the main single line diagram and select Update
representation.
Busbars that have been created by the user in this way can be added to the single line diagram
by selecting the General Busbar System icon ( ). Note that for a busbar to be accessible from
this icon, both detailed and simplified diagrams must be included within the busbar template, as
in the previously described method.
1. To create a Branch template, navigate to the Library → Templates folder in the Data
Manager.
2. Right-click on the right pane of the Data Manager and select New → Branch from the
context sensitive menu.
3. In the branch edit dialogue, define the name of the branch and press Ok.
4. A new (empty) single line diagram will be displayed. Draw the required elements (for
example, a terminal with two lines connected, with each line connected at one end only).
5. To create an instance of the Branch from the newly created Branch template, navigate
back to the main grid diagram, then select the Composite Branch ( ) icon and connect
the branch to existing terminals on the Single Line Diagram.
Alternatively, composite branches can be defined in the Data Manager as described in Chap-
ter 10: Data Manager, Section 10.3.4 (Defining Composite Branches in the Data Manager).
Consider the following example, where there is a power station with multiple transformers, gen-
erators, and control systems of the same type. The model can be created using templates as
follows:
12- 19
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
1. Firstly, define type data for the transformer, generator, and control system.
2. Add a single instance of the generating unit (including generator transformer) to the net-
work model.
3. Define a Template by selecting the generator, generator bus, and transformer, then right-
click and select Define Template. Optionally include the control system model with the
template.
4. To create another instance of the newly created template, select the General Templates
icon ( ) and place it on the single line graphic.
Consider the following example where there is network with multiple instances of a Double
Busbar System. However, the Double Busbar System required for this particular model is a
variant on the standard Double Busbar System, which requires two switches. To simplify the
task of developing the model, a Template may be defined as follows:
4. On the main Grid single line graphic, select Draw Existing Net Elements, press the Logical
Switch icon ( ) and draw the second switch connecting ”BB1” to ”BB2”.
5. Right-click either busbar in the overview diagram and select Define Substation Template
(see Figure 12.4.2), then name the Template.
12- 20
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
6. Use the General Busbar System icon ( ) to place additional instances of the busbar
system in the power system model.
12- 21
DIgSILENT PowerFactory CHAPTER 12. PROJECT LIBRARY
12- 22
Chapter 13
Grouping Objects
13.1 Introduction
This chapter describes the management and functionality of theobjects used to group network
components.
13.2 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.
• 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.
Note: Areas that are created/deleted when a recording expansion stage is active; become
available/not available only if the corresponding variation is active and the expansion stage
activation time is earlier than the current study time.
1
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
For information concerning the visualization of areas within the single line Graphic please refer
to Chapter 9: Network Graphics, subsection 9.6.6 (Graphic Attributes and Options). For
information about reporting Area results please refer to Chapter 17 (Reporting and Visualizing
Results).
Virtual Power Plants are used to group generators in the network, in such a way that the total
dispatched active power is set to a target value. The dispatch of each generator (the Active
Power field available in the Dispatch section of the Load Flow tab in the generator element
dialogue) is scaled according to the Virtual Power Plant rules (must run, merit of order, etc.), in
order to achieve the total target value.
Virtual Power Plant objects (ElmBmu ) are stored inside the Virtual Power Plants folder ( )
within the Network Data directory.
• Multi selecting in a single line diagram or in a data browser an initial set of generators to
be included in the Virtual Power Plant;
• Then pressing the right mouse button and selecting Define → Virtual Power Plant from
the context sensitive menu.
Alternatively you can create a new empty Virtual Power Plant by using the Data Manager:
13- 2
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
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 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 scenario subsets and
therefore is stored in the active operation scenario (if available). The active power is stored in
the active expansion stage (if available) if no active operation scenario is active. Virtual Power
Plants that are created/deleted when a recording expansion stage is active; become
available/non available only if the corresponding variation is active and the expansion stage
activation time is earlier than the current study time.
Check that the active power set for the Virtual Power Plant is less than or equal to the maximum
power. Press the Apply button.
13.3.3 Inserting a Generator into a Virtual Power Plant and Defining its
Virtual Power Plant Properties
Generators are added to an existing Virtual Power Plant by adding a reference in the ’Optimiza-
tion’ tab of their edit dialogue. Notice that a generator can belong to at most one Virtual Power
Plant. Define the Merit Order and must run properties as required.
13- 3
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
You also can add a generator to a Virtual Power Plant by clicking with the right mouse button
on the element in the network graphic and choose Add to. . . → Virtual Power Plant. . . from the
context sensitive menu.
13.4 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.
The cubicles in the boundary element define a cut through the network, that together with the
13- 4
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
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.
• 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 correspond-
ing 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 Net-
work Model.
• 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 ’Orientation’ (direc-
tion 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 inter-
sections.
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 automatically detected by the program.
13- 5
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
Note: Boundaries that are created or deleted when a recording expansion stage is active;
become available/not available only if the corresponding variation is active and the expansion
stage activation time is earlier than the current study time.
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.
• 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.
Note: Circuits that are created or deleted when a recording expansion stage is active; become
available/not available only if the corresponding variation is active and the expansion stage
activation time is earlier than the current study time.
13.6 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 Definitions (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:
13- 6
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
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 calculations, 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.
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 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 con-
nected 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
13- 7
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
• 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 op-
tions).
• 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 set-point.
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 set-point 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.
For information about coloring the single line graphic according to feeder definitions please
refer to Chapter 9: Network Graphics, Section 9.6.6 (Graphic Attributes and Options). For
information about voltage profile plots, please refer to Chapter 17 (Reporting and Visualizing
Results).
Often it is useful to be able to quickly setup a feeder or many feeders from a ’source’ bus
within the system. There is a specific methodology within PowerFactory for this purpose. The
procedure is as follows:
1. Right-click the target terminal where the feeder/s should be defined from.
2. Choose the option Define → Feeder. . . from the context sensitive menu that appears.
This step is illustrated in Figure 13.6.1.
3. PowerFactory will automatically create Feeder objects for each of the connected two termi-
nal elements, for example lines and transformers. The list of created feeders is displayed
in a pop-up window. The default name for each feeder is the concatenation of the terminal
name and the connected object.
4. Adjust the feeder colors and definitions as required and remove any unwanted feeders.
13- 8
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
Note: The Load Scaling options are part of the operation scenario subsets; therefore they are
stored in the active operation scenario (if available). The Load Scaling options are stored in the
active expansion 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 corresponding Variation is active and the expansion stage activation time is earlier
than the current study time.
13.7 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 components to these operators, and the
identification of operators on single line diagrams by means of Operator objects. The Oper-
ator objects (ElmOperator, ) are stored in the Operators folder ( ) in the Network Model
directory.
• In the Data Manager open the Operators folder from the Network Model.
13- 9
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
Network elements (class name Elm∗ ) such as terminals, switches, lines, generators, transform-
ers, relays or composite models (ElmComp), Substations (ElmSubstat) and Branches (Elm-
Branch) can be assigned to an operator by means of the reference ’Operator’ from the Descrip-
tion tab of their dialogue.
Note: Operators that are created or deleted when a recording expansion stage is active;
become available/not available only if the corresponding variation is active and the expansion
stage activation time is earlier than the current study time
13.8 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. They are created following the same procedure described for operators. Network
elements (class name Elm∗ ) such as terminals, switches, lines, generators, transformers, relays
or composite models (ElmComp), Substations (ElmSubstat) and Branches (ElmBranch) can be
assigned to an operator by means of the reference ’Operator’ from the Description tab of their
dialogue.
Note: Operators that are created or deleted when a recording expansion stage is active;
become available/not available only if the corresponding variation is active and the expansion
stage activation time is earlier than the current study time
13.9 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.
• In a single line diagram select a chain of two or more terminals and their inter-connecting
objects.
13- 10
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
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.
For information about the coloring function please refer to Chapter 9: Network Graphics, sub-
section 9.6.6 (Graphic Attributes and Options). For information about the use of the path defini-
tions for the analysis of the protective devices, please refer to Chapter 38 (Protection).
Note: Paths that are created or deleted when a recording expansion stage is active; become
available/not available only if the corresponding variation is active and the expansion stage
activation time is earlier than the current study time
13.10 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 corresponding coloring function
is enabled.
For information regarding line couplings please refer to the technical reference for the trans-
mission line model (See Appendix C: Technical References of Models, section C.1.5.1(Line
ElmLne)).
13.11 Zones
13- 11
DIgSILENT PowerFactory CHAPTER 13. GROUPING OBJECTS
elements belonging to it in the single line graphic. These elements can be 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.
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.
13- 12
Chapter 14
Operation Scenarios
14.1 Introduction
Operation Scenarios are used to store operational data such as generator dispatch, load de-
mand, and network line/switch status. Individual Operation Scenarios are stored within the
Operations Scenarios folder, and can be easily activated and deactivated. This Chapter de-
scribes PowerFactory operation scenarios.
Note: Parameter Characteristics can also be used to modify network operational data - see
Section 16.2 (Parameter Characteristics) for details.
Operation Scenarios are used to store network component parameters that define the opera-
tional point of a system. Examples of operational data include generator power dispatch and a
load demand. Operational data is typically distinguished from other component data because it
changes frequently. Compare for instance, how often a generator changes its power set-point,
with how often the impedance of the generator transformer changes.
Storing recurrent operation points of a network and being able to activate or deactivate them
when needed accelerates the analyses of the network under different operating conditions.
PowerFactory can store complete operational states for a network in objects called operation
scenarios (IntScenario, ).
Operation scenarios are stored inside the operation scenarios folder ( ) in the project direc-
tory. You can define as many operation scenarios as needed; each operation scenario should
represent a different operational point. Figure 14.2.1 shows a project containing three operation
scenarios (Peak Load, Light Load and Shoulder Load) the content of the ’Peak Load’ scenario
(its subsets) is shown in the right pane of the data manager.
1
DIgSILENT PowerFactory CHAPTER 14. 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 to load the
corresponding operational data. If an operation scenario is active and certain operational data
is changed, these changes are stored in the active operation scenario (if you decide to save
the changes). If the current operation scenario is deactivated, the active network components
revert to the operational data that they had before the activation of the operation scenario (this
is the ’default’ operational data). Changes made to the ’default’ operational data do not affect
data within existing operation scenarios.
Operation scenario data stored within each operation scenario is separated into subsets, with
one subset of operational data created for every grid in the network model. It is possible to
’exclude’ the operational data for individual grids. This prevents the operation scenario from
saving the operational data for any subset where this option is active. For example, you might
be working with a network model with four grids, say North, South, East and West. Perhaps you
do not wish to store operational data for the ’West’ grid because the models in this grid have
fixed output regardless of the operational state. By excluding the operational data subset for
this grid, the default data can be used in all cases, even though the operational data is different
in the other three grids.
When working with active operation scenarios and active expansion stages, modifications on
the operational data are stored in the operation scenario whereas the expansion stage keeps
the default operational data and all other topological changes. If no operation scenarios are
active and new components are added by the current expansion stage, the operational data of
the new components will be added to the corresponding operation scenario when activated.
Note: When an operation scenario is active, the operational data is distinguished in the
network component dialogs because it is written using a blue font colour.
14- 2
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
This sub-section explains how to complete the common tasks you will need when working with
operation scenarios. The most common tasks are creating a new operation scenario, saving
data to an operation scenario, Activating an existing operation scenario, Deactivating an opera-
tion scenario and identifying parameters stored within an operation scenario.
Method 1
1. In the data manager, right-click on the operation scenarios folder in the active project.
2. Select New → Operation Scenario from the context-sensitive menu as shown in Fig-
ure 14.3.1. The dialogue of the new operation scenario pops up.
Figure 14.3.1: Creating a new operation scenario object using the data manager.
3. Enter the name for the operation scenario in the name field.
4. Press OK. The operation scenario will appear as a new object within the operation sce-
narios folder.
Method 2
1. From the main PowerFactory menu go to the File menu and select File → Save Operation
Scenario as. . . (see Figure 14.3.2). The dialogue of the new operation scenario pops up.
14- 3
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
Figure 14.3.2: Using the Main Menu to Save as a new operation scenario
2. Enter the name for the operation scenario in the name field.
3. Press OK. The new operation scenario is created within the operation scenarios project
folder and automatically activated and saved.
Unlike all other PowerFactory data, changes to operational data are not automatically saved to
the database if an operation scenario is active. So, after you update an operation scenario (by
changing some operational data) you must save it. If you prefer automatic save behavior, you
can activate an automatic save option setting - see Section 14.5.1.
If any operational data (of a network component) is changed when an operation scenario is
active, the unsaved status of it is indicated by an asterisk (∗ ) next to the icon for the operation
scenario as shown in Figure 14.3.3. The other situation that causes an operation scenario icon
to appear with an asterisk is when new network components are added to the model. Any
operational parameters from these models are not incorporated in the active operation scenario
until it is saved.
There are four ways to save a modified operation scenario to the database. They are:
• The menu entry Save Operation Scenario in PowerFactory ’s main file menu.
• The button Save in the dialogue window of the operation scenario.
14- 4
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
• The button Save Operation Scenario ( ) in the main icon bar (see Figure 14.3.4).
Figure 14.3.4: The Save Operation Scenario Button in the Main Icon Bar
• The context-sensitive menu (right mouse button) entry Action -¿ Save of the operation
scenario (see Figure 14.3.5).
Note: 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.
Switching between already available operation scenarios is a common task. There are two
methods for activating an existing operation scenario.
Method 1
1. Go to the operation scenarios’ folder within your project using the data manager.
2. Right-click the operation scenario that you wish to activate. The context sensitive menu
will appear.
3. Choose the option Activate from the menu. If a currently active operation scenario con-
tains unsaved data, you will be prompted to save or discard this information.
Method 2
1. From the main file menu choose the option Activate Operation Scenario. A pop-up dialog
will appear, showing you the available operation scenarios.
14- 5
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
2. Select the operation scenario you wish to Activate and press OK. If a currently active
operation scenario contains unsaved data, you will be prompted to save or discard this
information.
Note: The active operation scenario can be displayed in the status bar. To do
this right-click the lower right of the status bar and choose display options → operation scenario.
Method 1
1. Go to the operation scenarios folder within your project using the data manager.
2. Right-click the operation scenario that you wish to deactivate. The context sensitive menu
will appear.
3. Choose the option deactivate from the menu. If the operation scenario contains unsaved
data, you will be prompted to save or discard this information.
Method 2
From the main file menu choose the option Deactivate Operation Scenario. If the operation
scenario contains unsaved data, you will be prompted to save or discard this information.
Because the operation scenario only stores a subset of the network data, it is useful to know
exactly what data is being stored by the operation scenario. This is relatively easy to see when
you have an active scenario. Data that is stored in the operation scenario is highlighted with a
blue font. This appears in both the object dialogs and the data manager browser as shown in
Figures 14.3.6 and 14.3.7.
14- 6
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
In this sub-section the operation scenario administrative tasks are explained. This includes
reporting operational scenario data status, comparing operation scenarios, viewing the non-
default running arrangements, applying data from one operation scenario to another (copying),
updating the base network model, excluding grids from the operation scenario and creating a
time based operation scenario.
14.4.1 How to view objects missing from the Operation Scenario data
When you add a component to a network, the data is not automatically captured in the active
operation scenario until you save the scenario. The operation scenario appears with an asterisk
14- 7
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
next to its name in the data manager. If you want to get a list of all the objects that have
operational data that is missing from the active scenario, then you need to print the operation
scenario report. To do this, follow these steps:
1. Open the active operation scenario dialog by finding the operation scenario in the data
manager right-clicking it and selecting edit from context sensitive menu.
2. Press the Reporting button. A list of objects with data missing from the operation scenario
is printed by PowerFactory to the output window.
Note: If you double click a listed object in the output window the dialog box for that object will
open directly allowing you to edit the object. You can also
right click the name in the output window and use the function ’Mark in Graphic’ to find the object.
It is sometimes useful to compare data in two separate operation scenarios so that key differ-
ences can be checked. To compare two operation scenarios:
1. Deactivate all operation scenarios that you wish to compare. Only inactive operation sce-
narios can be compared.
2. Open the first operation scenario dialog by finding the operation scenario in the data man-
ager right-clicking it and selecting edit from context sensitive menu.
3. Press the Compare button. A data window browser will appear.
4. Choose the second operation scenario and press OK. A report of the operation scenario
differences is printed by PowerFactory to the output window.
Any running arrangements that are assigned to substations will be stored as part of the op-
erational data. The operation scenario has a function that allows you to view any substations
with active running arrangements that are different from the default running arrangement for that
substation. The default running arrangement is determined by the running arrangement that is
applied to the substation when no operation scenarios are active. To view all the non-default
Running Arrangements follow these steps:
1. Open the active operation scenario dialog by finding the operation scenario in the data
manager, right-clicking it and selecting edit from context sensitive menu.
2. Press the Reporting RA button. PowerFactory prints a report of the non-default Running
Arrangements to the output window.
14- 8
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
Note: Most of these actions are also available in context-sensitive menu when right-clicking on
an operation scenario (Action → . . . ).
As explained in the chapter introduction, within each operation scenario there is a subset of
operation scenario data for each grid in the network model. Therefore, there are two options
when transferring data from one operation scenario to another, either copying all the operation
scenario data at once, or only copying a subset of data for an individual grid. Both methods are
explained within this section.
To transfer the operational data from a single grid subset to the same grid subset of another
operation scenario follow these steps:
To transfer the operational data from a complete operation scenario to another operation sce-
nario follow these steps:
3. From the context sensitive menu select Apply. A pop-up dialog will appear asking you if
you really want to apply the selected operational data to the active operation scenario.
4. Click OK. The data is copied automatically by PowerFactory. Warning, any data saved in
the active scenario will be overwritten. However, it will not be automatically saved.
14.4.5 How to update the default data with operation scenario data
As a user, sometimes you need to update the default operational data (the operational data
parameters that exist in the network when no operation scenario is active) with operational data
from an operation scenario within the project. To do this:
14- 9
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
3. From the context sensitive menu select Apply. A pop-up dialog will appear asking you if
you really want to apply the selected operational data to the base network data
4. Click OK. The data is copied automatically by PowerFactory. Warning, any data saved in
the base network model will be overwritten.
Background
By default, each operation scenario contains several subsets, one for each grid in the network
model. For example, you might be working with a network model with four grids, say North,
South, East and West. In such a case each operation scenario would contain four subsets.
Now it might be the case that you do not wish to store operational data for the ’West’ grid
because the models in this grid have fixed output etc. regardless of the operational state. By
excluding the operational data subset for this grid, the default data can be used in all cases,
even though the operational data is different in the other three grids.
Background
By default, operation scenarios do not consider the concept of time. Therefore, when you acti-
vate a particular operation scenario, the operational parameters stored within this scenario are
applied to network model regardless of the existing time point of the network model. However,
sometimes it is useful to be able to assign a ’validity period’ for an operation scenario, such that
if the model time is outside of the validity period, then the changes stored within the operation
scenario will be ignored and the network model will revert to the default parameters.
The concept of validity periods can be enabled in PowerFactory by using the Scenario Sched-
uler. There are two tasks required to use a ’Scenario Scheduler’. Firstly, it must be created, and
secondly it must be activated. These tasks are explained below.
1. Go to the operation scenarios’ folder within your project using the data manager.
2. Click the New Object icon . A object selection window will appear.
3. From the Element drop down menu choose the ’Scenario Scheduler’ (IntScensched).
14- 10
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
4. Press OK. The scenario scheduler object dialog will appear as shown in Figure 14.4.1.
Give the scheduler a name.
5. Double-click on the first cell within the operation scenario. A scenario selection dialog will
appear.
9. Optional: To add more scenarios to the scheduler, right-click an empty area of the sched-
uler and Append Rows. Repeat steps 5-9 to create schedules for other operation scenar-
ios.
When first created, a scenario scheduler is not automatically activated. To activate it, follow
these steps:
1. Go to the operation scenarios’ folder within your project using the data manager.
2. Right-click the scenario scheduler object that you wish to activate and choose the option
Activate from the context sensitive menu. The operation scenario validity periods defined
within the scenario scheduler will now determine whether an operation scenario is acti-
vated automatically based on the study case time.
14- 11
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
Note: It is possible to create more than one scenario scheduler per project. However, only one
may be active. Also, if you have defined overlapping validity periods for operation scenarios
within the scenario scheduler, then the operation scenario listed first (lowest row index) in the
scenario scheduler will be activated and all other scenarios ignored.
This sub-section describes some advanced configuration options for the operation scenarios.
This includes adjusting the automatic save settings and modifying the data that is stored within
the operation scenarios. Note for new users, it is recommended to use the default settings.
14.5.1 How to change the automatic save settings for Operation Scenar-
ios
As mentioned in Section 14.3.2, by default operation scenarios do not automatically save your
modifications to the network data operational parameters at the time the changes are made.
As a user, you can enable automatic saving of operation scenario data and you can alter the
automatic save interval. It is also possible to change the save interval to 0 minutes so that
all operational data changes are saved as soon as the change is made. To change the save
interval for operation scenarios, follow these steps:
1. Open the PowerFactory User Settings by clicking the ( icon on the main toolbar).
2. Select the data manager tab.
3. In the operation scenario section of the page, enable the option Save active Operation
Scenario automatically.
4. Change the Save Interval time if you would like to alter the automatic save interval from the
default of 15 minutes. Setting this value to 0 minutes means that all operation scenarios
will be saved automatically as soon as operational data is modified.
Note: If an operation scenario is active any changes to the network model operational
parameters are stored within such an scenario. If no operation scenario is active, then the
changes are stored within the network model as usual, within a ’grid’ or within a ’recording
expansion stage’. A changed operation scenario is marked by a ”∗ ” next to the operation
scenario name in the status bar. In the data manager the modified operation scenario and
operation scenario subset are also marked ( ).
Background
14- 12
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
PowerFactory defines a default set of operational data for each object within the network model.
This is the information that is stored within the operation scenarios. However, it is possible to
alter the information that is stored to a limited extent by creating a Scenario Configuration. The
procedure is divided into two tasks. Firstly, a special Scenario Configuration folder must be
created and then the object definitions can be created within this folder.
1. Go to the Settings folder within the project using the data manager.
2. Click the New Object icon . A object selection window will appear.
3. Choose the Scenario Configuration (SetScenario). A scenario configuration dialog will
appear. You can rename it if you like.
4. Press OK.
Once you have created the scenario configuration folder (task 1 above), then you can create
the object definitions that determine which parameters are defined as operational data. Follow
these steps:
2. Open the Scenario Configuration folder object using the data manager.
3. Press the Default button. PowerFactory then automatically creates the object definitions
according to the defaults.
4. Open the object definition that you would like to change by double clicking it. The list of
default operational data parameters is shown in the Selected Variables panel of the dialog
box that appears.
5. You can remove an operational parameter of this object by double clicking the target pa-
rameter from the Selected Variables panel. Likewise, a variable can be added to this list
by clicking the black triangle underneath the cancel button and then adding the variable
name to the list of parameters.
6. Once you have altered the defined parameters, click OK.
7. Repeat steps 4-6 for as many objects as you would like to change.
8. Open the scenario configuration folder object again (step 2) and press the Check button.
PowerFactory will notify you in the output window if your changes are accepted.
Note: Some variables cannot be removed from the default operational parameters due to
internal dependencies. If you need to remove a certain variable but the check function doesn’t
allow you to, it is suggested that you contact DIgSILENT support to discuss alternative options.
14- 13
DIgSILENT PowerFactory CHAPTER 14. OPERATION SCENARIOS
14- 14
Chapter 15
15.1 Introduction
The use of Variations in PowerFactory facilitates the recording and tracking of data changes,
independent of changes made to the base Network Model. Data changes stored in Variations
can easily be activated and deactivated, and can be permanently applied to the base Network
Model when required (for example, when a project is commissioned).
The concept of having a “permanent graphic” in PowerFactory means that graphical objects
related to Variations are stored in Diagrams folders, and not within Variations. When a Variation
is inactive, it’s graphic (if applicable) is shown on the Single Line Graphic in yellow. Turning on
Freeze Mode ( ) hides inactive variations graphics.
When a project uses Variations, and the user wants to make changes to the base network model
directly, Variations should be deactivated, or the Study Time set to be before the activation time
of the first Expansion Stage (so that there is no recording Expansion Stage).
1. Changes that relate to a future project (e.g. a potential or committed project). The changes
may be stored in a Variation to be included with the Network Model at a particular date, or
manually activated and deactivated as required by the user.
2. Changes that relate to data corrections or additions based on the current (physical) net-
work. The changes may be stored in a Variation in order to assess the model with and
without the changes, to track changes made to the model, and to facilitate reversion to the
original model in case the changes are to be revised.
1
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
• General:
– The user may define as many Variations and Expansion Stages as required.
– Variations and Expansion Stages cannot be deleted when active.
– Variations may also be used to record operational data changes, when there is no
active Operation Scenario.
– Expansion Stages are by default sorted according to their activation time in ascend-
ing order.
– To quickly show the recording Expansion Stage, project name, active Operation Sce-
nario, and Study Case, hover the mouse pointer over the bottom right corner of the
PowerFactory window, where (by default) the project name is shown. To change this
to display the recording Expansion Stage, choose Display Options → ’Recording’
Expansion stage.
• Activating and deactivating Variations:
– Active Variations and Expansion Stages are shown with red icons in the Data Man-
ager.
– The Activation Time of Expansion Stages can only be modified when the parent
Variation is inactive.
– To activate or deactivate single or multiple Variations in the Data Manager, navigate to
the “Variations” folder, select and right-click on the Variation(s) and choose to activate
or deactivate the selected Variation(s).
– In the active Study Case, the “Variation Configuration” object stores the status of
project Variations. It is automatically updated as Variations are activated and deacti-
vated.
• Recording changes:
– Elements in PowerFactory generally include references to Type data. Changes to
Type data are not recorded in Expansion Stages. However, changes to Element
Type references are recorded.
– When there are multiple active Expansion Stages, only the ’Recording’ Expansion
Stage stores changes to Network Data (shown with a dark red icon and bold text).
There can be only one recording Expansion Stage per study case.
– With the exception of objects added in the active ’Recording’ Expansion Stage, ob-
jects (e.g. Terminals in the base network model) cannot be renamed while there is a
’Recording’ Expansion Stage.
• DPL:
– Deleted objects are moved to the PowerFactory Recycle Bin, they are not completely
deleted until the Recycle Bin is emptied. If a DPL script is used to create an Ex-
pansion Stage, and Expansion Stage objects are subsequently deleted, re-running
the DPL script may first require the deleting of the Expansion Stage objects from the
Recycle Bin. This is to avoid issues with references to objects stored in the Recycle
Bin.
15.2 Variations
1. First, either:
15- 2
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
3. Optionally set the Variation Colour. This is used to highlight modifications introduced by
the Variation in the Single Line Graphic.
4. On the second page of the Basic Data tab, optionally select to Restrict Validity Period of
the Variation.
The “starting” and “completed” Activation Time are set automatically according to the Expansion
Stages stored inside the Variation. The “starting” time is the activation time of the earliest
Expansion Stage, and the “completed” time is the activation time of the latest Expansion Stage.
If no Expansion Stages are defined, the activation time is set by default to 01.01.1970.
To activate a previously defined Variation, in the Data Manager, right-click on the Variation
and from the context-sensitive menu select Activate. The Variation and associated Expansion
Stages will be activated based on their activation times and the current study case time.
In the Variation dialogue, the Contents button can be used to list the Expansion Stages stored
within the Variation.
1. First, either:
6. Press OK.
7. Select whether or not to set the current Study Time to the Activation Time of the defined
Expansion Stage. See Section 15.5 for details.
From the Expansion Stage dialogue, the following buttons are available:
15- 3
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
• Press Split to assign changes from the recording Expansion Stage to a target (see Sec-
tion 15.8.3).
• Press Apply to apply the changes of an Expansion Stage (only available if the parent
Variation is inactive). Changes are applied to the Network Model, or to the recording
Expansion Stage (see Section 15.8.1).
The study case Study Time determines which Expansion Stages are active. If the Study Time
is equal to or exceeds the activation time of an Expansion Stage, it will be active (provided that
the parent Variation is active, and provided that “Exclude from Activation” is not selected in the
Expansion Stage or an active Variation Scheduler). The Study Time can be accessed from:
When a Variation is activated for a study case, the active Expansion Stage with the latest activa-
tion time is automatically set to the recording Expansion Stage. If there are multiple Expansion
Stages with this same activation time, the stage that previously set to the recording stage will
remain as the recording Expansion Stage. Changes made to the network data by the user are
saved to this stage.
As discussed previously, the Study Time can be changed in order to set the active Expansion
Stages, and as a consequence, set the “recording Expansion Stage”. To simplify selection of the
recording Expansion Stage, in the Data Manager it is possible right-click an Expansion Stage,
and select Set ’Recording’ Expansion stage to quickly modify the Study Time to set a particular
Expansion Stage as the recording Expansion Stage.
As noted in F.1, unless an Operation Scenario is active, changes made to operational data are
stored in the recording Expansion Stage.
As an alternative to setting the activation time of Expansion Stages individually, Variation Sched-
ulers (IntSscheduler ) may be used to manage the activation times and service status of each
Expansion Stage stored within a Variation. Multiple Variation Schedulers can be defined within
a particular Variation, but only one may be active at a time. If there is no active Variation Sched-
uler, the Expansion Stage activation times will revert to the times specified within each individual
Expansion Stage.
15- 4
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
1. Open a Data Manager, and navigate to the Variation where the Scheduler is to be defined.
Then, either:
The activation time and status of Expansion Stages referred to be a Variation Scheduler can
only be changed when the Variation is active, and the Variation Scheduler is inactive. Note that
Expansion Stage references are automatically updated in the scheduler.
Note: If the parent Variation is deactivated and reactivated, the Variation Scheduler must be
re-activated by the user, if required.
Figure 15.7.1 shows an example project where there are two Variations, “New Connection” and
“New Line”. The study time is set such that:
• Expansion Stage “Ld1”, shown with a light red icon and bold text, is active and is the
recording Expansion Stage.
The Variation Scheduler “Scheduler1” within the “New Connection” Variation, shown with a red
icon and bold text, is active. Therefore, the activation time and service status of each Expansion
Stage within the Variation “New Connection” is determined from the activation times specified in
this Variation Scheduler. The alternative Variation Scheduler “Scheduler2” is inactive (only one
Variation Scheduler can be active at a time).
Also shown in Figure 15.7.1 on the right-side pane are the modifications associated with Expan-
sion Stage “Ld1”. In this stage, a load and an associated switch and cubicle has been added.
Note that since graphical objects are stored within the Diagrams folder, no graphical changes
are included in the Variation.
15- 5
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
Figure 15.7.2 shows the Single Line Graphic of the associated network. Since the Expansion
Stage “Ld2” is inactive, the Load “Ld2” is shown in yellow.
Figure 15.7.2: Example Variations and Expansion Stages - Single Line Graphic
15- 6
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
Changes stored in non-active Expansion Stages can be applied to the Network Data folder, or
if there is an active recording Expansion Stage, to the recording Expansion Stage. To apply the
changes, either:
• In the Data Manager, right-click the Expansion Stage and select Apply Changes, or in the
Expansion Stage dialogue press Apply (only available if the Expansion Stage is within a
non-active Variation).
• In the Data Manager, select item(s) within an inactive Expansion Stage, right-click and
select Apply Changes. If required, delete the item(s) from the original Expansion Stage.
Changes that are recorded in a projects active Variations can be permanently applied to the
Network Data folder by means of the Consolidation function. After the consolidation process
is carried out, the active (consolidated) Expansion Stages are deleted, as well as any empty
active Variations.
1. Right-click on the active study case and from the context-sensitive menu select Consoli-
date Network Variation.
2. A confirmation message listing the Variations to be consolidated is displayed. Press Yes
to implement the changes.
3. View the list of consolidated Variations and Expansion Stages in the Output Window
Note: Variations stored within the Operational Library must be consolidated in separate
actions. To consolidate a Variation stored in the Operational Library, right-click and from the
context-sensitive menu select Consolidate.
Changes stored in the recording Expansion Stage can be split into different Expansion Stages
within the same Variation using the Merge Tool.
1. Open the dialogue of the recording Expansion Stage and press Split. Alternatively, right-
click and from the context-sensitive menu select Split.
15- 7
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
2. A data browser listing the other Expansion Stages from the parent Variation is displayed.
Double-click on the target Expansion Stage.
3. The Merge Tool window is displayed, listing all the changes from the compared Expansion
Stages. Select the changes to be moved to the “Target” stage by double-clicking on the
Assigned from cell of each row and selecting Move or Ignore. Alternatively, double-click
the icon shown in the “Target” or “Source” cell of each row.
4. Press Split. All the changes marked as Move will be moved to the target Expansion
Stage, and the changes marked as Ignore will remain in the original “Base” stage. Once
completed, the Variation is automatically deactivated.
Variations and Expansion Stages can be compared, as can any other kind of object in Power-
Factory, using the Merge Tool. To compare objects using the Merge Tool, a “base object” and an
“object to compare” must be selected. The comparison results are presented in a data browser
window, which facilitates the visualization, sorting, and possible merging of the compared ob-
jects. Comparison results symbols indicate the differences between each listed object, 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.
5. When prompted, select Yes to deactivate the project and perform the comparison.
Figure 15.8.1 shows an example comparison of two Variations (based on the example presented
in Section 15.7), where the Variation “New Line” is set as the “Base” for comparison. The
“Assigned from” options are set such that all Expansion Stages from both “New Line” and “New
Connection” Variations will be merged into a single Variation, which will retain the name of the
“Base” Variation “New Line”.
15- 8
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
Refer to Chapter 18: Data Management, Section 18.4 (Comparing and Merging Projects) for
further details on use of the Merge Tool.
The single-line graphic colouring function offers three modes which may be used to identify
changes from Variations and Expansion Stages. To set the colouring mode, go to Diagram
Colouring, and under Other select Variations / System Stages, and the desired mode from the
following:
• Modifications in Recording Expansion Stage. Colours can be defined for Modified, Added,
and Touched but not modified components.
• Modifications in Variations / System Stages. Objects are shown in the colour of the Varia-
tion in which the object is last added or modified.
• Original Locations. Objects are shown in the colour of the grid or the Variation in which
the object is added.
Active Expansion Stages with the same activation time must be independent. This means that
the same object can not be changed (modified, deleted, or added) in active Expansion Stages
with the same activation times. If there are dependent Expansion Stages, when the Variation is
activated PowerFactory will display an error message to the Output Window and the activation
process will be canceled. Other conflicts that may arise during the activation of a Variation:
15- 9
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
• The same object is added by more than one Expansion Stage. In this case the latest
addition is applied and a warning message is displayed in the Output Window.
• A previously 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.
15.9.1 General
Prior to PowerFactory v14, “System Stages” where used to analyze design alternatives as well
as different operating conditions. They recorded model changes (addition/removal of equip-
ment, topology changes, etc.), operational changes (switch positions, tap positions, generator
dispatch, etc.), and graphical changes. Since version 14.0, the System Stage definition has
been replaced by Variations and Operation Scenarios, which provides enhanced flexibility and
transparency.
When importing (and then activating) a project that was implemented in a previous PowerFac-
tory version, the activation process will automatically make a copy of the project, rename it (by
appending v14 or v15 to the project name) and migrate the structure of the copied project.
The migration process creates new Project Folders (such as Network Data, Study Cases, Li-
brary folders, etc.) and moves the corresponding information to these project folders. Addition-
ally, existing Stations and Line Routes elements are migrated to their corresponding definition
in v14 and v15 (i.e. Substations and Branches).
If the project contains System Stages, they will not be converted automatically. They will be
still be defined, and functions related to their handling will still be available. If the user wishes to
take full advantage of the Variation and Operational Scenario concepts, then the System Stages
must be converted manually. The procedure is described in the following section.
The conversion process of System Stages is described with reference to an example project
opened in PowerFactory v14, with the structure shown in Figure 15.9.1. The project contains
three grids “Grid 110 kV”, “Grid 220 kV” and “Grid 33 kV”. Each Grid contains a “2010 Base
Case” System Stage with three System Stages “2010 MAX”, “2010 MIN”, and “2011 Base
Case”. The “2011 Base Case” stage in-turn contains two stages, “2011 MAX” and “2011 MIN”.
The Study Cases are configured so that the “2011 MAX” Study Case and the “2011 MAX”
stages are active.
15- 10
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
1. Activate the Study Case that uses the base grids (in this example “Base Case 2009”), so
that no System Stage is active.
2. Create a Variations folder inside the Network Data folder by opening the Data Manager
window and from the left pane select the Network Data folder (located inside the Network
Model folder), right-click and select New → Project Folder. In the dialogue window that
appears, type in a name (for example “Variations”) and select “Variations” as the folder
type. Press OK.
3. Define a Variation inside the Variations folder. From the Data Manager window select
the Variations folder, right-click and select New → Variation. In the dialogue window that
appears, type in a name (for example “2010”). Press OK, and select Yes to activate the
new Variation.
15- 11
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
4. The Expansion Stage dialogue will be displayed. Type in a name and set the activation
time as appropriate (in this case, it is set to 01.01.2010). Press OK, and select Yes to set
the stage as recording. After this step, the Variation should be active and the Expansion
Stage be recording.
5. From the Data Manager, select a Study Case that uses System Stages (it should not
be active), right-click and select Reduce Revision. This will copy both network data and
operational data from the the System Stages used by the study case into the recording
Expansion Stage, and will delete the System Stages (to copy operational data to an Op-
eration Scenario, an Operation Scenario must be active at this step). In this example,
the “2010 Base Case” is reduced, followed by the “2011 Base Case” - this is because the
complete System Stage branch, containing all System Stages between the selected stage
and the target folder are reduced. Figure 15.9.2 shows the result of reducing the “2010
Base Case” and “2011 Base Case” to Variations.
Figure 15.9.2: Reduce Revision performed for the 2011 Base Case
6. After converting System Stages “2010 Base Case” and “2011 Base Case” (with Network
Data modifications) to Variations, and System Stages “2010 MAX”, “2010 MIN”, “2011
MAX”, and “2011 MIN” (with operational modifications) to Operation Scenarios, the Vari-
ations and Operation Scenarios are assigned to Study Cases. Figure 15.9.3 shows the
resulting project structure for this example, where all System Stages have been converted
to Variations and Operation Scenarios.
15- 12
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
15- 13
DIgSILENT PowerFactory CHAPTER 15. VARIATIONS AND EXPANSION STAGES
15- 14
Chapter 16
16.1 Introduction
This chapter provides details on how to define and use characteristics, load states, load distri-
bution states, and tariffs.
General Background
• Load demand varies based on the minute, day, season, or year of the study case.
• Generator operating point varies based on the study being conducted.
• Line/transformer ratings, generator maximum power output, etc. vary with ambient tem-
perature.
• Wind farm output varies with wind speed, or solar farm output varies with irradiance.
When a 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
1
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
defined, a trigger is automatically created in the active study case folder (see also Chapter 11,
Section 11.13: Triggers). When a trigger is edited and a ’current’ value is set 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. Triggers for characteristics may be created at
any time in the Data Manager within the Library → Equipment Type Library → Scale folder, or
at the time the Characteristic is created. Triggers for characteristic can generally be accessed
from either:
Figure 16.2.1 illustrates an application of scales and triggers, where the study case time is used
to set the output of a load based on the hour of the day.
Available Characteristics
Usage
With the exception of the Scalar Characteristic, the ”Usage” field at the bottom of the char-
acteristic dialogue can be used to specify how ”Values” are applied to the parameter that the
16- 2
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
Characteristic Curves
For continuous characteristics, various approximation methods are available to interpolate and
extrapolate from the entered Values:
The approximation curve will be shown in the diagram page of the Characteristic dialogue. The
interpolated Y-value may vary considerably depending on the entered data and the approxima-
tion function applied.
Figure 16.2.2 highlights the difference between interpolation methods for an example charac-
teristic with a continuous scale (shown on the horizontal axis from -20 to +45). For instance,
at a trigger value of 25, linear interpolation will give an output value of 60, whereas constant
interpolation will give an output value of 40.
16- 3
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
Note that Approximation methods are not available for discrete characteristics.
Creating a Characteristic
To create a Characteristic, right-click on the desired parameter (e.g. ’Active Power’), right-click
and select New Characteristic (or edit previously created characteristics) and create the desired
characteristic. Details of how to create the different types of characteristics are provided the
following sub-sections, including an example application of characteristics.
Scalar characteristics are used when a parameter should vary according to a mathematical
relationship, with reference to a scale value ”x”. For example, a Parameter Characteristic may
reference a Scale and Trigger (TriVal) with a Unit of ’Temperature’. Then, if the temperature is
set to, say, 15 deg, the a scale the parameter that this characteristic is applied to will thus be
multiplied by 2 · 15 + 3 = 33.
• In the edit dialogue of the target network component right-click on the desired parameter
(e.g. ’Active Power’).
• Select New Characteristic → Scalar Value. . .
16- 4
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
• The edit dialogue will be displayed. Click ’Select’ from the drop down menu next to ’Scale’
and select an existing scale and press Ok, or create a new scale:
– Click on the ’New Object’ button to create a Scalar and Trigger (TriVal) and set the
desired units of the scale. The associated trigger is automatically created in the
current study case.
– Press Ok.
• Define the ’Usage’ and enter parameters for ’A’ and ’b’.
• Press Ok.
The discrete time characteristic uses an internally defined series of time scales that are con-
venient to use to define the characteristic. The user simply selects a scale (e.g. day of the
week) and enters the corresponding values. To define a new discrete time characteristic for a
parameter:
• In the edit dialogue of the target network component right-click on the desired parameter.
• Select New Characteristic → Discrete Time Characteristic. . .
• The edit dialogue of the Discrete Time Characteristic will be displayed. Select the corre-
sponding scale (predefined by the program), define the ’Usage’, enter the characteristic
values and press Ok.
Vector Characteristics may be defined with reference to Discrete Scales, Continuous Scales,
Frequency Scales, and Time Scales.
A discrete parameter characteristic is used to set the value of a parameter according to discrete
cases set by the trigger of a discrete scale. A discrete scale is a list of cases, each defined by a
short text description. The current value is shown in the characteristic dialogue in red, according
to the case that is currently active.
• 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 dimen-
sional characteristics) will be displayed. Click ’Select’ from the drop down menu next to
’Scale’ and select an existing scale and press Ok, or create a new scale:
– Click on the New Object button and select Discrete Scale and Trigger (TriDisc).
16- 5
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
– Write the name of the scale cases (one case per line).
– Press Ok twice.
• Define the ’Usage’ and enter the characteristic values.
• Press Ok.
The diagram page for the discrete characteristic shows a bar graph for the available cases. The
bar for the case that is currently active (set by the trigger) is shown in black.
A continuous parameter characteristic is used to set the value of a parameter (’Y’ values) ac-
cording to the ’X’ values set in the continuous scale.
• 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 dimen-
sional characteristics) will be displayed. Click ’Select’ from the drop down menu next to
’Scale’ and select an existing scale and press Ok, or create a new scale:
– 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.
• Define the ’Usage’, enter the characteristic ’Y’ values, and define the ’Approximation’ func-
tion.
• Press Ok.
Time parameter characteristics are continuous characteristics using time scales. A time scale
is a special kind of continuous scale that uses the global time trigger of the active study case
(a limited version of this scale is automatically created when a ”Discrete Time Characteristic”
is created). The unit of the time trigger is always a unit of time but may range from seconds
to years. This means that changing the unit from minutes to hours, for instance, will stretch
the scale 60-fold. The units ’s’, ’m’, and ’h’ are respectively, the second, minute and hour of
normal daytime. A Time Scale may be used, for example, to enter four equidistant hours in a
year (1095, 3285, 5475, and 7665).
16- 6
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
The definition procedure is similar to that of the continuous characteristics, although the Time
Scale (TriTime) scale is selected.
When defining a matrix parameter characteristic, two scales must be defined. The first scale,
that for columns, must be a discrete scale. The scale for rows may be a discrete or continuous
scale.
• In the edit dialogue of the target network component right-click on the desired parameter.
• Select New Characteristic → Two Dimension - Matrix. . .
• The edit dialogue of the matrix characteristic will be displayed. Click ’Select’ from the drop
down menu next to each ’Scale’ and select an existing scale and press Ok, or create a
new scales. Scales can be defined as discussed in previous sections.
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. Once the values have been entered and the
triggers have been set, the ’Current Value’ field will show the value to be used by the character-
istic.
When a series of data is available in an external file, such as an Excel file, or tab or space
separated file this data may be utilized as a characteristic if the ”Parameter Characteristic from
File” (ChaVecfile object) is used. The external file must have the scale column for the data
series in column 1.
• In the edit dialogue of the target network component right-click on the desired parameter.
• Select New Characteristic → Characteristic from File. . .
• Complete the input data fields, including:
– Define (or select) a scale and trigger. Scales can be defined as discussed in previous
sections.
– Generally the ’Column’ should be set to the default of ’1’. The field is used for spe-
cialized purposes.
– Set the ’Factor A’ and ’Factor B’ fields 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.
– Set the ’Usage’ and ’Approximation’.
– Once the file link has been set, press the Update button to upload the data from the
external file to the characteristic.
16- 7
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
If only a few characteristics for some parameters are to be defined, the characteristic may be
directly defined using the menu options that are presented when right-clicking a parameter field.
Characteristics that are defined in this manner are stored in that object. This characteristic is
normally hidden in the database browser.
All ”direct” characteristics, and all references to characteristics are normally hidden in the database
browser to prevent accidental direct manipulation. A special display mode is available in the
database browser to check and edit the characteristics for whole classes of objects. This
’Scales’ mode must be enabled in the User Settings, on the ’Functions’ tab. An example of
a browser showing the ’Scales’ tab is shown in Figure 16.2.3 (remember that the browser must
be in ’detail’ mode to see these tabs).
The browser in ’Scales’ mode shows all characteristics defined for the displayed objects, to-
gether with the original value and the current value as determined by the characteristic. In the
example, various scales are applied to modify the active power from 100 MW to the ’Current
Value’. 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 for individual or multiple elements, by selecting
the relevant fields and right-clicking with the mouse button.
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.
16- 8
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
• Edit one of the loads, right-click the active power field and assign the vector characteristic
to the relevant parameter.
• Open a browser with all loads, activate the ’detail’ mode and select the ’Scales’ tab.
• Select the characteristic column (right-click → Select Column) and then right-click the
selected column.
• Use the Select Characteristic. . . option and select the vector characteristic.
Consider the following example, where the operating point of a generator should be easily mod-
ified by the user to predefined values within the capability limits of the machine.
Firstly, the Active Power of the synchronous generator is set to the maximum capability of 150
MW. Then, a vector characteristic is added to the Active Power parameter. A new discrete time
scale is created and named Output Level, with three cases as shown in Figure 16.2.4.
Values are entered in %, and thus Usage is set to ’relative in %’. Figure 16.2.5 shows the
resultant vector characteristic, including a reference to the Scale ’Output Level’.
16- 9
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
Next, a matrix characteristic is added to the Reactive Power parameter of the generator. A new
discrete time scale named ’Operating Region’ is created (for the Columns) and three operating
regions are defined (see Figure 16.2.6).
16- 10
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
The scale ’Operating Region’ is linked to the ’Scale for Columns’, and the previously defined
scale ’Output Level’ is selected for the ’Scale for Rows’. Absolute Mvar values are entered in
the Matrix Characteristic as shown in Figure 16.2.7.
16- 11
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
Now, the ’Operating Region’ and ’Real Power Output Level’ triggers can be used to quickly
modify the operating point of the generator (see Figure 16.2.8).
16- 12
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
This section describes Load States, as used in Reliability and Optimal Capacitor Placement
calculations.
Pre-requisites:
Prior to creating load states, a time-based parameter characteristics must have defined for at
least one load in the network model. See Vector Characteristics with Time Scales (TriTime) in
section 16.2.3 for more information on parameter characteristics, as well as the example later
in this section.
16- 13
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
4. Optional: Limit the number of load states to a user-defined value. If the total number of
calculated load states exceeds this parameter then either the time period of the sweep or
the accuracy should be reduced.
5. Optional: Change the threshold for ignoring load states with a low probability by altering
the ’Minimum Probability’. If selected, states with a probability less than this parameter
are excluded from the discretisation algorithm.
6. Click Execute to generate the load states.
After you have generated the load states as described above, or if you want to inspect previously
generated load states follow these steps:
1. Using the data manager, select the ’Reliability Assessment’ or ’Optimal Capacitor Place-
ment’ Command within the Active Study Case.
2. Optional: Use the filter ( ) (in the Data Manager window) to select the ’load states’
object ( ). There should now be created load states visible in the right panel of the data
manager.
3. Locate the ’load states’ object and double-click to view the load states.
Basic Data
• Number of states: This equals the number of columns in the ”Clusters” table.
• Loads: Table containing each load considered by the load states creation algorithm and
their peak demand.
• Clusters: Table containing all load clusters. The first row in the table contains the prob-
ability of the corresponding cluster. The remaining rows contain the power values of the
loads. Every column in the table contains a complete cluster of loads with the correspond-
ing power.
Diagram Page
Displayed Load: Use the selection control to change the load displayed on the plot.
The plot shows the cluster values (P and Q) for the selected load where the width of each bar
represents the probability of occurrence for that cluster in the given year.
16- 14
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
The example below shows how load states can be generated for a network model with four
Loads (Ld1, Ld2, Ld3, and Ld4).
1. The Vector Characteristic shown in Figure 16.3.1 is applied to both Active Power and
Reactive Power of load Ld4 only, with the associated Time Scale shown in Figure 16.3.2
Ld4 is initially set to 3.1 MW, 0.02 Mvar.
16- 15
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
2. Load States are generated by clicking ’Create... Load States’ (as discussed in the preced-
ing section).
3. PowerFactory calculates the resultant Load States:
• The maximum value of each load Lp is determined for the time interval considered.
In the example, Ld4 has a peak load of 4.03 MW.
• The ’load interval size’ (Int) is determined for each load, where Int = Lp · Acc and
’Acc’ is the accuracy parameter entered by the user. For the example above using
an accuracy of 10 %, the interval size for Active Power is 0.403 MW.#
• For each hour of the time sweep and for each load determine the Load Interval:
Li
LInt = Ceil Int where Li is the load value at hour ’i’.
• Identify common intervals and group these as independent states.
• Calculate the probability of each state based on its frequency of occurrence.
The independent states and their probabilities are shown in Figure 16.3.3. Load states for Ld4
vary according to the characteristic parameters, where the states from characteristic values of
93 % and 100 % have been combined due to the selection of 10 % accuracy in the calculation.
Load states for Ld1, Ld2, and Ld3 do not vary, since characteristics were not entered for these
loads.
16- 16
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
This section describes how to create load distribution states, as used by the Reliability calcula-
tion.
Pre-requisites:
Prior to creating load distribution states a substation/s must have been defined within the model.
A distribution curve must have also been defined (accessed from the reliability tab of the sub-
station/s).
1. Click the ’Create Load States’ button ( ) on the reliability toolbar. The load states creation
dialog will appear.
2. Optional: Use the Reliability Assessment selection control to inspect or alter the settings of
the Reliability Calculation command. This selection control points to the default reliability
command within the active Study Case.
3. Optional: Use the Load Flow selection button to inspect and alter the settings of the load
flow command. This selection control points to the default load-flow command within the
active Study Case.
4. Enter the Minimum Time Step in hours (suggested to be the minimum step size on the
load distribution curve).
5. Enter the Maximum Power Step (0.05pu by default).
6. Optional: Force Load State at S = 1.0pu so that a state is created at P = 1.0pu, irrespective
of the load distribution curve data and step sizes entered.
16- 17
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
After you have generated the load states as described above, or if you want to inspect previously
generated load states follow these steps:
1. Using the data manager, select the ’Reliability Assessment’ Command within the Active
Study Case.
2. Optional: Use the filter ( ) (in the Data Manager window) to select the ’load distribution
states’ object ( ). There should now be created load distribution states visible in the right
panel of the data manager.
3. Locate the ’load distribution states’ object and double-click to view the load states.
Basic Data
• Clusters: Table containing all substation clusters. The first row in the table contains the
probability of the corresponding cluster. The remaining rows contain the power values of
the substations. Every column in the table contains a complete cluster of substations with
the corresponding power.
• Number of substations: Number of substations considered in the Distribution State ob-
ject.
• Number of states: This equals the number of columns in the Distribution State table.
Diagram Page
Displayed Station: Use the selection control to change the load displayed on the plot
The plot shows the cluster values (Apparent power in pu with reference to the substation load)
for the selected substation where the width of each bar represents the probability of occurrence
for that cluster.
1. The Load Distribution Curve shown in Figure 16.4.1 is entered for the substation (Appar-
ent power in pu of substation load).
16- 18
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
2. Load States are generated by clicking ’Create... Load Distribution States’ (as discussed
in the preceding section).
3. The resultant Load Distribution States are shown in Figure 16.4.2. ’Force Load State at
S = 1.0 p.u.’ has not been selected in this instance.
16- 19
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
16.5 Tariffs
This section describes the definition of Time Tariffs (as used in Reliability calculations), and
Energy Tariffs (as used in Reliability calculations and Optimal RCS Placement calculations, and
Techno-Economical calculations).
1. Choose the ’Select’ option from the ’Tariff selection control on the reliability page of the
load element. A data manager browser will appear with the ’Equipment Type Library’
selected.
2. Optional: If you have previously defined a ’Tariff’ characteristic and want to re-use it, you
can select it now. Press OK to return to the load element to reliability page.
3. Create a time tariff object by pressing the New Object button from the data browser
toolbar. A type creation dialog should appear.
4. Select ’Time Tariff’ and press OK. A ’Time Tariff’ dialog box will appear.
5. Select the unit of the interruption cost function by choosing from the following options:
$/kW Cost per interrupted power in kW, OR
$/customer Cost per interrupted customer, OR
16- 20
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
$ Absolute cost.
6. Enter values for the Time Tariff (right click and ’Append rows’ as required).
7. Press OK to return to the load element reliability page.
8. Optional: enter a scaling factor for the Tariff.
An example Time Tariff characteristic is shown in Figure 16.5.1. In this example, ’Approximation’
is set to ’constant’, i.e. no interpolation between data points, and ’Unit’ is set to $. An interruption
to a load for a duration of 200 minutes would lead to a cost of $20, irrespective of the active
power consumption.
1. Choose the ’Select’ option from the ’Tariff selection control on the reliability page of the
load element. A data manager browser will appear with the ’Equipment Type Library’
selected.
2. Optional: If you have previously defined a ’Tariff’ characteristic and want to re-use it, you
can select it now. Press OK to return to the load element to reliability page.
16- 21
DIgSILENT PowerFactory CHAPTER 16. PARAM. CHARAC., LOAD STATES, AND TARIFFS
3. Create an energy tariff object by pressing the New Object button from the data browser
toolbar. A type creation dialog should appear.
4. Select ’Energy Tariff’ and press OK. An ’Energy Tariff’ dialog box will appear.
5. Enter Energy and Costs values for the Energy Tariff (right click and ’Append rows’ as
required).
6. Press OK to return to the load element reliability page.
An example Energy Tariff characteristic is shown in Figure 16.5.2. In this example, ’Approxima-
tion’ is set to ’constant’, i.e. no interpolation between data points. A fault which leads to energy
not supplied of 2.50 MWh would result in a cost of
16- 22
Chapter 17
17.1 Introduction
This chapter presents the tools and options included in PowerFactory to view the results of the
preformed calculations. Key concepts in this topic are Result Boxes, Virtual Instruments (VIs),
Results Objects, and Variable Sets.
This section presents the set of objects, commands and tools, dedicated to the handling and
presentation of results in PowerFactory.
Results are displayed with help of result boxes in the single line diagrams, as described in
Chapter 9: Network Graphics, Section 9.8 (Results Boxes, Text Boxes and Labels). To edit
result boxes (e. g. for selecting additional variables to be displayed) the so-called Form Editor
is used. With the Form Editor one can define text reports, from very small result boxes to more
complex and comprehensive reports within DIgSILENT PowerFactory . For a detailed technical
description of the report generating language, see Appendix H (The DIgSILENT Output Lan-
guage).
The form editor (IntForm) will be used in most cases to change the contents of the result boxes in
the single line graphic. PowerFactory offers three ways in which to change a result box definition:
• writing a new user defined format, using the PowerFactory Format Editor.
Because of all these, the result boxes are used as example to introduce the nature and use of
the form editors. As explained in Chapter 9: Network Graphics, Section 9.8.1 (Result Boxes)
the result boxes may be right-clicked to select a particular format. When this format is selected,
1
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
the Form Select edit dialogue pops up which shows a reference to a form for each calculation
function (load-flow, short-circuit, etc.). Editing the reference will show the Form Editor of the
current result box definition. See Figure 17.2.1.
Different variables can be add by appending new rows. The user should double click in the
corresponding row in the column ”Variable” and the list of all available variables will appear.
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.
17- 2
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
User Selection
This mode lets the user select any amount of parameters out of all available parameters
for the selected object or class of objects. This includes model parameters as well as
calculated values.
Format Editor
This is the most flexible, but also the most difficult mode. In this mode, any text and any
available variable, in any color, can be entered in the Form. The highly flexible DIgSILENT
output language allows for highly complex automatic reports. This mode also offers a fast
append of predefined lines. The User defined button acts like the input mode ”User
Selection” with one important difference. Where the “User Selection” mode is used to
redefine the complete form text, the User defined button appends a line for each selected
variables to the existing form text.
In Figure 17.2.1, the editor is in the default ’User Selection’ mode. The three predefined rows
show the names of the variables, their units and their description.
The example in Figure 17.2.1 shows that the active and reactive power at the element Xnet have
been selected as well as power factor. 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 selection as:
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 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:
The ’[’-sign encodes for the unit of the variables, in stead of the value.
17- 3
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Where the ”∼” -sign encodes for the variable name.With both options on, the produced format
line
P -199,79 MW
Other often used format characters are ’%’, which encodes for the full variable description, and
’&’, which decodes for the short description, if available.
The ComDocu command (”Output of Device Data”) is used to produce an output of device data.
The output can be used in reports or may help to check the entered data. Reports of calculated
results can be made with the ComSh command. See Section 17.2.3 (Output of Results) for
more information.
The ”Short Listing” reports only the most important device data, using one line for each single
object. This allows a small but clear documentation. Like the ”Output of Results” the ”Short
Listing” report uses a form to generate the output. This form can be modified by the user. When
the report form is changed, it is stored in the ”Settings” object of the active project. This does
not influence the reports of other projects. The output of objects without a defined short listing
will produce warnings like:
The detailed report outputs all device data of the elements selected for output. In addition,
type data can be included (”Print Type Data in Element”). Device Data is split into the different
calculation functions like ”Load-Flow” or ”Short-Circuit”. The ”Basic Data” is needed in all the
different calculations. ”Selected Functions” shows a list of the functions whose data will be
output. If one wants to report the device data for all functions move all functions from left to
right. If ”Selected Functions” is empty no device data will be output.
Device Data
17- 4
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 ”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 (The
Annex for Documentation) for details.
Title
Most reports display a title on top of each page. The reference ”Title” defines the contents
of the header.
Filter/Annex
17- 5
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
If one wants to report elements without defining a set of objects ”Use Selection” on the ”Device
Data” page must not be checked. The objects in the list ”Selected Objects” will be filtered out of
the active projects/grids and reported. ”Available Objects” shows a list of elements which can
be add to the ”Selected Objects” list. The list in ”Available Objects” depends on the ”Elements”
radio button. Elements in the left list are moved to the right by double-clicking them. The text in
the ”Annex” input field will be set as default annex for the selected class.
The ”Annex for Documentation” stores the annex for the documentation of results. The annex
number and the page number for the first page are unique for each class.
17- 6
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Objects
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.
The command ComSh (”Output of Results”) is used to produce an output of calculation re-
sults. The output can be used in reports or may help in interpreting the results, as shown in
Figure 17.2.6. To generate a report with input data use the ComDocu command, see Sec-
tion 17.2.2 (Output of Device Data).
Several different reports, depending on the actual calculation, can be created. The radio button
on the upper left displays the different reports possible for the active calculation (Figure 17.2.6
shows a load-flow). Some reports may be inactive, depending on the object(s) chosen for
output. In Figure 17.2.6, a station was selected for output. ”Used Format” displays the format(s)
used for the report. Some reports are a set of different outputs. For these reports more than
one form is shown. If the form is modified it will be stored automatically in the ”Settings” folder
of the active project. The changed form does not influence the reports of other projects. If ”Use
Selection” is active a set of objects (selection) or a single object must be chosen. The report
is generated only for these elements. All relevant objects are used if ”Use Selection” is not
selected. The relevant objects depend on the chosen report. Most reports display a title on top
of each page. The reference ”Title” defines the contents of the header.
For some reports additional settings are required. These settings depend on the chosen report,
the selected objects for output and the calculation processed before. The calculation (left top)
and the used format(s) (right top) are always shown.
17- 7
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 transient simulation, or
during a data acquisition measurement. Result objects are also used in DPL scripts, in reliability
calculations, for harmonic analysis, etc.
17- 8
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Name
Database ID
its database ID and the date, when it was changed the last time
Default for
Default for
information about the currently stored data, ie.e the time interval, step sizes, number of
variables, etc.
Trigger-Times
17- 9
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The Update button will recalculate these parameters and update the shown information if nec-
essary. The Clear Data will clear all result data.
Note: Clearing the data will delete the result-file and will reset the database ID. This will
destroy all calculated or measured data in the result file. It will not be possible to restore the data.
1. Creating a new result object and setting the default type to Harmonics, for instance, will
cause the harmonics command dialogue to use this result object by default.
2. Setting the Default type to Triggered will cause the calculation module to copy and tem-
porarily store signals in that copied result object, every time a Trigger Event becomes
active. The Triggered default type enables the trigger time fields.
When the Protocol Output is pressed, all events that happened during the simulation, recorded
by the result object, will be written again into the output window. So one can check what events
took place during the last simulation.
The contents of a result object are determined by one or more monitor variable set (IntMon)
objects. These monitor objects can be edited by pressing the Contents button. This will show
the list of monitor sets currently in use by the result object.
Selecting a set of result variables, trough the use of monitor objects is necessary because
otherwise all available variables would have to be stored, which is practically impossible.
Exporting Results
The stored results for the monitored result variables can be exported by pressing the Export
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 described
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 17.2.8.
17- 10
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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
17- 11
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 vari-
ables can be made by entering column numbers under the section Columns (Variables). The
header of the exported result table can include either the variable name or its long or short
description.
At many stages in the development of a power system design, the differences between certain
settings or design options become of interest.
For a single calculation, the ’absolute’ results are shown in the single line graphics. The vari-
ables that are shown may be specified by the user by altering the result-box definitions.
When comparing two cases, the results of the first calculation are ’frozen’. All subsequent calcu-
lations will then show their results as deviations from the first calculation made. The subsequent
calculation results are stored together with the first result. This allows the user to re-arrange the
comparisons as desired by pressing the icon (see the next Section).
The differences between cases are colored according to the severity of the deviation, making it
possible to recognize the differences between calculation cases very easily. The coloring and
severity ranges may be set in the Edit Comparing of Results... menu option, found by pressing
(see the next section).
• Calculate the first case by activating a certain calculation case and, for example, calculat-
ing a load-flow.
• Press the icon on the main toolbar. This will store the base case results and prepares
to store the results of forthcoming calculations.
• If relative results are also required for a particular calculation report, in a formatted report,
that report has to be generated for the first case by pressing the icon on the main
toolbar and selecting the required report. This step is necessary to let the comparison
manager know which parameters are to be compared.
• Change the power system or a calculation setting to create the next case. Permitted
alterations include opening/closing switches, altering load settings or any other component
parameter, changing calculation cases, adding or deleting elements, etc.
17- 12
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The set of calculated comparisons may be edited to select the cases which are to be compared
to each other or to set the coloring mode. When the icon on the main toolbar is pressed, the
Compare dialogue will open. See Figure 17.3.1.
With the Compare dialogue, the two cases which are to be compared can be selected. Further-
more, 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.
In PowerFactory input (data that has been entered by the user) and output (parameters that
have been calculated) data is kept separate and output data, such as the new tap positions
following an automatic tap adjustment calculation, does not overwrite the settings that the user
originally entered, unless the user specifically commands this, using the icon on the main
toolbar.
Note:
The corresponding input parameters of the database will be overwritten by the calculated values.
17- 13
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• P,Q of Loads
• P,Q of asynchronous machines
Example:
A load-flow is calculated with the options ”Automatic Tap Adjust of Transformers” and ”Automatic
Shunt Adjustment” enabled. The calculated tap and shunt positions may be seen in the single
line diagram, but it will be noticed that the input data parameter in the element data dialogue is
as originally entered. The icon is clicked, and the input parameters are now overwritten by
the calculated values found on the single line diagram.
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, determines 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:
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.
An example of the variable set object is shown in Figure 17.4.1. Here the variable set for the
load called Load C, which is found in a grid called Nine Bus of the active project is shown (red
circle). In this case a RMS simulation (green circle) is to be performed and the total active and
the reactive power flowing to the load are going to be monitored (blue circle).
17- 14
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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.
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
Page Tab
The first sorting of the variables is by calculation function (load-flow, short-circuit, etc.).
In the example of Figure 17.4.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).
17- 15
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Selected Variables
The selected variables are shown here. Variables are placed here by clicking on them
on the ”Available Variables” side, or by selecting them and then pressing the ( ) button.
The user can remove variables from the Selected Variables area by double-clicking on
them.
Display All
If this box is checked then all of the selected variables are shown in the ’Selected Vari-
ables’ 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.
• Variable List (Page): Prints a list of available variables for the current tab (e.g. Basic
Data) to the output window.
The second tab of the Variable Set Monitor Dialogue, goes to the Editor, where variables can
be manually input- for advanced use.
The first sorting of the variables is by calculation function (load-flow, short-circuit, etc.). Within
these sets variables are sorted into sub-sets. The user can select the desired subset by means
of the drop down menu on the Variable Set field. Following a description of the available subsets:
Almost self explanatory- these are the outputs as calculated by a calculation function. The
variable is preceded by ”m:” (representing ’monitored’ or ’measured’) as in ”m:P:bus1” for
the active power drawn by the load. The user may select one set for branches and one
set for the nodes, which then is used for each node the edge is connected to.
Bus Results
Variables for the bus/s that the element is connected to (usually preceded by ”n:” for
’node’). A branch element (having only one connection to a bus) will obviously only have
results for ”Bus1.” An edge element (two connections, as in a line for example) will have
”Bus1” or ”Bus2”. This means that the results of objects connected to the object whose
variable list is compiled can be accessed. An example of this variable is the open end
voltage at a line end. See the subsection Selecting the Bus to be Monitored for further
information.
Signals
Variables that can be used as interface between user defined and/or PowerFactory mod-
els (inputs and outputs). They are preceded by ”s:”. These should be used when creating
17- 16
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
a controller or in a DPL script. These variables are accessible whilst an iteration is being
calculated, whereas the other variables sets are calculated following an iteration.
Calculation Parameter
Variables that are derived from the primary calculations (i.e. currents, voltages, power),
from input data (i.e. the absolute impedance of a line, derived from impedance/ km * line
length), or that have been transformed from input data to a format useful for calculation
(actual to per unit), or that are required for such transformation (e.g. nominal power). The
parameters that actually are available depend on the object type. Calculation parameters
are preceded by a ”c:”.
Element Parameter
Type Parameter
Type variables that are linked to the element object under consideration; for example, the
current rating of a line type that a line element is using.
Reference Parameter
These are variables from objects that are linked or connected to the object under consid-
eration (preceded by ”r:”). For example, a line element may be part of a line coupling and
the reference parameter will allow us to display the name of the coupling element. The
use of reference parameters is explained following examples.
For general use it is sufficient to simply select the variables required and transfer them to the
selected variables column. To find a particular variable requires some knowledge of where the
variables are stored in the object under consideration.
In this subsection an examples for the use of the above described sets are given. The pro-
cedures described below always apply, regardless of which is the final use of the variable set
monitor, i.e. Flexible Data Page, Results Box, Plots, etc.
Suppose that a two winding transformer called T1 is to be monitored. The following variables
are going to be selected:
• Type name
• Tap setting
The name of the transformer type is entered in the type data so we select the type parameters
(as the Variable Set) in the filter - the name is also entered on the basic data tab so we should
select the Basic Data Tab, and the type name parameter is ”loc name” (Figure 17.4.2). Notice
that the focus object for the variable set object is a transformer.
17- 17
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 PowerFactory 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 17.4.3 this is illustrated schematically. We
have started by creating a variable set for the object ’T1’ 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 2’. 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’.
17- 18
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 17.4.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.
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
17- 19
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 17.4.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 17.4.6 shows the result of
these jumps in PowerFactory. Lastly, the parameter required must be selected.
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 17.4.6. The parameter is called
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.
17- 20
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Note: In this particular example we have used a ’long’ method to show to the node variables
for illustration purposes. Typically, however, a user wishes to display calculated variables such
as the voltage at the end of a line where the breaker at that end is open. In this case
PowerFactory has a special ’shortcut’ set - the ”Bus Results”.
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 17.4.7.
17- 21
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
When selecting variables from the Currents, Voltages and Powers set, the user will notice that
there is a filter called Bus Name. This is used to determine which side of an edge element is to
be considered.
To maintain standard nomenclature the objects at the ends of a line element are named Terminal
i or Terminal j and HVside or LVside in the case of a transformer.
The ends of an edge element are named bus1 or bus2 and bushv or buslv respectively (a three
winding transformer will also have busmv ). These ends are matched to the i and j sides so that
i → bus1 or bushv and j → bus2 or buslv. Thus, when choosing variables from the flexible page
manager the user should specify which side of the edge element the variables are to be taken
from. Note that bus1, bus2, bushv, buslv are not references to the connected node, they are in
fact the ends of the edge element.
When a variable is selected for display from the single line graphic the user will notice a further
classification, that of LOCALBUS. This classification merely indicates the end of the edge ele-
ment and describes internally which side of the edge element the result box should access its
variables from. That is the bus local to that end.
A virtual instrument is basically a tool for displaying calculated results. The most common use
of a VI is to look at the results of a time-domain simulation like an EMT or RMS simulation, by
defining one or more plotted curves showing the variables changing with time.
But there are various applications of the virtual instruments, for example to graphically display
voltage profiles, FFT plots or the results of a harmonic analysis. This could be in the form of a
bar graph, a plotted curves, single displayed variables, tables of values, etc.
The Panel is basically a page in the active graphics board, where different plots or graphs
are stored and displayed. Also the basic information about the included virtual instru-
ments is stored here.
The virtual instruments are shown on the VI panel. They display the results of one or more
variables or parameters in various ways. Every VI on a panel can be set up individually
to the need of the variable(s) which is to be displayed.
So all signals, parameters, variables or other magnitudes can be chosen to show in a virtual
instrument. These are normally floating point numbers, but there is also the possibility to show
discrete variables as well as binary numbers, like e.g. a binary variable, a ”out of service” flag
or the switching operation of a circuit-breaker.
To show these magnitudes there are various designs of virtual instruments available. These can
be divided into several groups, which are described in the sections of this chapter:
Plots are the ’basic’ diagrams to show all sorts of time-domain variables or magnitudes
depending on other variables. The plots can be used in the following ways:
17- 22
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• Subplot (VisPlot)
• Subplot with two y-axis (VisPlot2)
• X-Y plot (VisXyplot)
• FFT plots (VisFft)
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.
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 instru-
ments can be used in either one of the diagrams described above or below. In the following list
these virtual instruments are described shortly:
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 Chapter 38: Protection, Section 38.4.8 (Time-Overcurrent Plot).
R-X Plot
This plot is used specially for showing the characteristics of distance relays. The trip-
ping 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 38.5.6 (The impedance 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
17- 23
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
relays in a specified protection path in one specified diagram. See also Section 38.5.5
(The time-distance plot).
Feeder Definitions
Voltage Profile
shows voltage profile of a complete subsystem belonging to a defined feeder in the power
system depending on the distance or the node number. See also Chapter 15 (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 17.5.6 (The Waveform Plot).
Modal Analysis
Eigenvalue Plot
The Eigenvalue Plot (Viseigen) displays the eigenvalues calculated in the modal analysis
(Chapter 26: Modal Analysis / Eigenvalue Calculation). Double-clicking any of the dis-
played 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 Section 26.4.2 (Viewing Modal Analysis Results using the
built-in Plots).).
The Mode Bar Plot (VisModbar ) displays the participation factors of the system genera-
tors in a selected mode. Full description of the Mode bar Plot is given in Section 26.4.2
(Viewing Modal Analysis Results using the built-in Plots).
The Mode Phasor Plot (VisModephasor ) displays the same information of the Mode Bar
Plot but in a phasor diagram. For further information see Section 26.4.2 (Viewing Modal
Analysis Results using the built-in Plots).
Virtual instruments are created and edited on a Virtual Instruments Panel (SetViPage) which
is one of the possible types of pages on a Graphics Board. Other page types are single line
graphics and block diagram or frame graphics.
17- 24
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• selecting the File → New option on the main menu and subsequently selecting a ”Virtual
Instrument Page” in the ComNew. This will create a new page in the ”Graphics Board” of
the currently active study case.
• 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 set-
tings for plots and other diagrams. The icon is clicked or the Edit Actual Virtual Instrument
Panel option is selected from the context sensitive menu to edit the dialogue.
Note: If a a new virtual instrument panel is created, while there is no Graphics Board opened
already, a new Graphics Board in will be added to the current study case.
x-Axis holds the default x-Axis for plots without local axis stored in pages without local axis.
Advanced holds the advanced settings like the arrangements of the plots or their specific style.
Results stores a reference to the default results object used by the plots.
Once a VI panel has been created, the ”Append new VI(s)” icon can be clicked or the option
Create VI → . . . from the context menu of the SetVipage can be selected to add new virtual
instruments to the VI panel.
Virtual instrument panels usually set the size and position of new virtual instruments like plots
automatically. But it is possible to turn on user defined moving and resizing of the plots. In this
modes the plots can be moved or resized by the user. Also the and icons are used to tile
the Virtual Instruments horizontal or to arrange the VIs automatically.
A ViPage uses a predefined style which set line-styles, line-width, fonts and other graphical
settings. Own styles can be created and selected. A different style can be selected on each VI
panel of a Graphics Boards.
There are several ways to access the graphics board dialogue from PowerFactory
• When the panel is empty one can access the dialogue by simply double-clicking the empty
VI panel or an empty area on the panel.
• Right-click the background of the VI panel besides the shown plots and choose Edit actual
Virtual Instrument Panel from the context menu.
• The simplest way to edit the dialogue is to click the icon.
The icon is clicked or the Edit Actual Virtual Instrument Panel option is selected from the
context sensitive menu to edit the dialogue. The dialogue is split into three different pages
named:
17- 25
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• x-Axis holds the settings for x-Axis of plots and Waveform Plots.
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 simultaneously.
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.
Virtual instrument panels usually set the size and position of new virtual instruments like plots
automatically. Then the VIs can not be resized or moved. So the position of these VIs is set
automatically and their size remains unchanged.
There are two different modes for automatically arranging the VIs. The user can choose to
arrange the VIs using either
The modes can easily be changed by pressing the one or the other button. In addition the
position of VIs can easily be exchanged. Thereto mark the VI by clicking it. Then ’drag’ the VI
onto another plot. Thus the position of the VIs will be exchanged.
Note: This option of exchanging the plots by dragging is only possible, when one of the
arrangement buttons are active. If you deactivate both buttons by unselecting them in the
toolbar, the plots can freely be moved by dragging them on the panel. See also Moving and
Resizing.
Another way to rearrange the VIs is to open the dialogue of the VI panel by pressing the icon
and then use the Arrangement options on the ”Advanced” page. Here the option User defined
can be activated. So the VIs will no longer be arranged automatically but can be resized and
moved inside the panel. So the user is free to arrange the VIs ’ad libitum’. This mode is also
activated by disabling the selected icon or .
17- 26
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Moving and resizing of VIs in the standard virtual instrument panels is turned off. Both can be
activated by deactivating the auto-arrangement modes by disabling then currently 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.
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 created 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 variables,
axis and curve styles. Figure 17.5.1 shows an example of the dialogue.
17- 27
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 17.5.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 be 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 Chapter 9: Network Graphics.
Results
Some VIs like the most frequently used class ”subplot” show curves stored in one ore more
17- 28
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
result objects (ElmRes). The curves are selected in a table where the result element, the
element and a variable have to be selected.
The result column of VIs needs not to be set for most calculations. The VI itself will look for the
results element to display automatically. The default results element is either:
1. Results reference on page Results of the VI Panel accessed by pressing the icon.
2. If 1. is empty the Results reference on the Results page of the Graphics Board will be
used by pressing the icon.
3. If both (1. and 2.) are not empty, the results element used for the last calculation will be
applied. If there is no calculation the appropriate results element in the study case will be
used (if any).
Background
The default background of virtual instrument panels is empty. The background settings for the
panel can be found in the frame Background on the ”Advanced” page of the virtual instrument
panel dialogue.
The Filename defines the background file, which can be either a Windows Metafile (*.wmf), a
Bitmap (*.bmp) or a AutoCad DXF file. If the selected file does not exist, or if the filename is not
set the background remains empty. VIs can be transparent or opaque. Graphics are transparent
must be activated to make all graphics transparent. If an opaque graphic fills the complete panel
area the background will be invisible.
The options in the context sensitive menu of the VI panel may vary depending on the cursor and
the settings of the panel. The options are listed below:
• Edit Actual Virtual Instrument Panel opens the virtual instrument panel dialogue.
• Create local Page Format creates a page format for the current panel.
• Paste Text inserts text from the from the clipboard into the panel.
• A VI can be selected from the list shown in the Create VI → . . . option to create a new VI
on the panel.
• Style → Select Style is clicked to select a style for the panel.
• Style → Create new Style is selected to create a new style for the panel.
• Style → Edit Style of clicked Element is selected to modify the style of the selected ele-
ment only.
• Select All → is selected to mark all VIs.
• Export Results. . . exports the shown result into e.g. the output window, a ASCII file, a
Comtrade file or the clipboard.
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 number of VIs to be
added to the current VI panel.
17- 29
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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.
Each virtual instrument panel uses a style where line-widths, fonts, brushes and other graphical
settings are defined. There are six predefined styles available in DIgSILENT PowerFactory ,
which are:
The ”Default” styles uses smaller line-widths and smaller fonts than the ”Paper” styles. It was
designed to get nice printouts. The paper style was designed for reports and papers where
meta-files are included in text-programs. In addition to the layout the styles hold predefined VIs.
There are several ways to select a predefined or user-defined style for the current virtual instru-
ment panel. The easiest way to change the style is using the toolbar.
The user-defined styles are described in detail in Section 19.4.10 later in this chapter.
17.5.2 Plots
Plots are the most used diagrams to show all sorts of parameters, states, signals or variables
depending on the time or on another variable. To show these time-domain variables or to visu-
alize a magnitude depending on other variables, there are the following plots available:
• SubPlot (VisPlot)
17- 30
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 settings, as is shown in
Figure 17.5.2.
• right-click it, and select the Edit option from the context sensitive menu
• double-click it.
Editing Subplots
The edit dialogue of a subplot, as shown in Figure 17.5.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 normally, and by default,
shows time.
17- 31
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Scale
The y-axis may be defined for more than one subplot at the same time, or, and by default,
may be defined as a ”local Axis” format. When the option Use local Axis is disabled, a
reference to the used ’global’ axis type is shown and can be edited by pressing the .
Automatic
The color, line style, and line width of all new curves in the subplot will be set automatically
when the corresponding option is enabled. The Set now button will apply automatic line
formats all existing curves again.
Shown Results
17- 32
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
This is a reference to the currently active result file (ElmRes). This object will be used, if
no result file is specified in the Curves definition table.
Curves
The definition table for the curves is used to specify the result file (optional), object and
parameter for each of the curves as well as their representation.
The x-axes often have to be synchronized for all subplots or for all subplots on one VI 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 defini-
tion 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 described 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 17.5.4. The Default
value is depending on the type of simulation and the result object created during the previous
simulation. Then for time-domain simulations different representations of the time scale are
17- 33
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
available. For the FFT plot e.g. the x-axis can be scale using the frequency respectively the
harmonic order.
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 17.5.4 an element and a variable can be
selected for the x-axis. In this way a x-y plot can be created. There is also an own plot type for
a more convenient way to create x-y plot: the VisXyplot is described in more detail in section .
The y-axes are normally not synchronized like the x-axis, because they all show different param-
eter values and thus need parameter-specific settings. By default, the Graphics Board’s default
plot type is used, but more plot types may be created and used, i.e. plot types for voltages,
power, factors, slip factors, etc. By using the same plot type, different plots can be compared
more easily, without the risk of mis-interpreting a difference in curve amplitude.
Although the x- and y-scale definitions thus use somewhat other synchronizing variations, the
way a particular axis is set is quite similar. Both the y-axis and the x-axis page in the subplot
17- 34
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
edit dialogue have the option to Use local Axis or simply Local.
• If this option is disabled, a reference is shown which points to the used axis definition as
described in the last section.
• If the option is enabled, the axis is defined locally and the edit dialogue changes in order
to do so. See Figure 17.5.4.
The axis limits can be given manually, or can be auto scaled by pressing the Scale button. With
this button the limits are defined automatically from the curve shape once. The options to Auto
Scale the plot are
Off Turns any auto scaling function off and will display the results in the range between
the given limits.
On This option will automatically scale the plot at the end of a simulation.
Online This option will automatically scale the plot during the simulation.
The x-axis additionally features a Chart option. If ticked a range and a start value can be set.
This will set the x-axis to the specified range. During the simulation only a x-range, set in the
options, is shown and will ’wander’ along with the calculation time.
The Adapt Scale settings are used to force a tick mark on the axis at a particular value. This is
the Offset value. Other tick marks will be drawn at ’nice’ distances from this offset. The default
value for both x- and y-axis is an active adapt scale with Trigger equal to zero. So the main ticks
of the axes start at zero.
To see the deviations from the offset, the Show Deviations from Offset option will draw a second
axis on the right, which has its zero baseline at the offset value. The Show Deviations from
Offset option is available for the y-axis only.
An example of two subplots is given in Figure 17.5.5 where a voltage sag is shown with both an
instantaneous and a RMS value curve. The top curve has the Adapt option disabled, and both
axes autoscaled.
17- 35
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The bottom subplot has a smaller x-axis, to show only the interesting part, and has the Adapt
option set on both axes.
The y-axis has its offset set to the nominal voltage level (11kV) and also shows the deviations
from that level in the right vertical axis. From this deviation, it is directly clear that the RMS
voltage initially drops more than 5kV. The x-axis has its offset set to the event time, which in this
case is 100ms when a short-circuit was simulated. From the x-axis, it is now directly clear that
this short-circuit was cleared after 200ms, at t=300ms.
The curves in a subplot must be taken from a result object (ElmRes), which is created by a
power system calculation function like the RMS or EMT simulation. How to create such a result
object is explained in 17.2.4.
The selection of the variables to be plotted in the current plot is done in the y-axis page of
the edit dialogue. This is easily accessed by double-clicking the background of the plot. The
dialogue is shown in Figure 17.5.6 and Figure 17.5.7 in detail.
• The first column states the result object from which the data to plot the curve will be read.
17- 36
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
If it is empty, the standard result file will be used defined in the reference Shown Results
in the same dialogue.
• The second column states the power system element (here: the generator ”G1d”), which
is selected from the available elements in the result object.
• The third column states the actual variable for the curve (”xspeed”), selected from the
variables in the result object, belonging to the selected element.
• The next columns specify the style of the individual curve.
• With the last two columns the user can norm the values of the variable to a nominal value
given.
A new result object, element or parameter is selected by double-clicking the field or by right-
clicking it and selecting Select Element/Type or Edit from the context sensitive menu. A list of
possible result objects resp. elements or parameters will pop up from which a new entry can be
selected.
The color, line style and line width settings are edited in the same way: double-clicking or right-
clicking and selecting Edit.
New curve definition lines can be created by right-clicking on the column number (on the far
left) (see cursor arrow in Figure 17.5.6) and selecting Insert Rows or Append (n) Rows. Marked
curve definitions can similarly be deleted from the list by selecting Delete Rows.
Note: If you want to see changes between to consecutive simulations, you can run the first
simulation. These results will be stored inside the result object Results.ElmRes, which can be
found in the active study case. Copy this object, paste it and rename it to e.g. ”old Results”.
Then you can add the same variable to a plot twice and select the ”old Results” result object for
one of them (as shown in Figure 17.5.6). This will show the old and the new results in one plot.
If more than one curve is to be specified for the same result file and element, this may be done
in one action by selecting more than one variable from the variable list. This will automatically
create new entries in the curve definition table for all additionally selected variables. The entered
Result File and Element are copied automatically. This very convenient procedure is shown in
Figure 17.5.7 and Figure 17.5.8.
17- 37
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 selected in the
first row.
A plot with two y-axes can be seen in Figure 17.5.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.
On the page for the second y-axis, this additional axis can be deactivated by unticking the option
Use second y-Axis.
A further type of plot is the x-y plot. This plot will show one variable depending on a second
variable in one diagram. The two variables can be completely independent from each other and
do not have to belong to one element. To create a x-y plot press the icon and then select a
X-Y Plot(VisXYPlot) from the pull down list. This will add a new x-a plot to the current VI panel.
17- 38
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 automatically
or global definitions can be used for them.
The plot is drawn for a certain time range. On page Time Range this range can be set to the
whole simulation time. Another way is to select only a specified range to show these results.
The FFT plot (VisFft) is similar to the normal subplot (VisPlot) from the handling point of view.
This plot will not show variables depending on the simulations time but on the frequency. A
time range of signal can be selected and then be transformed from the time domain into the fre-
quency domain using the Fast-Fourier Transformation (FFT). This then will shown the harmonic
contents of this signal depending on the nominal frequency of the system.
Like other plots it can be created by using the Append VI(s) icon . An much easier way is
to click on a plotted curve and then selecting Create FFT Plot from the context sensitive 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.
17- 39
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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:
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.
Using a vector diagram complex values such as voltages, currents and apparent power can be
visualized as vectors in one or more diagrams. A complex variable can be defined and then
shown in two different representations:
There are predefined vector diagrams for calculation results. The predefined vector diagrams
can easily be created using the context menu of a branch:
The example in Figure 17.5.11 shows the voltage and current on one terminal of a line.
17- 40
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 connected 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 dia-
logue, which is opened by double-clicking the vector diagram. The more convenient method is
to right-click the diagram and selecting
In most plots, the x and y scale are given by the minimum and maximum value of each scale.
A vector diagram can’t be defined using minimum and maximum for each scale because the x-
and the y-ratio must be equal. The ratio for each unit is therefore set as the parameter units per
axis tick. In addition the location of the origin can be defined.
17- 41
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
If all shown variables have the same unit, the axis are labelled with values and unit. If there is
more than one unit, the labels show ticks. A legend showing the ratio of the units is add at the
right bottom of the plot. The balloon help of the scale labels always the absolute values for each
unit.
To modify the scale of an axis the table Scales in the edit dialogue can be changed. The column
”Unit” shows the unit, the column ”Scale” shows the ratio in unit per tick. A higher ratio then
shortens the vector.
If the ”Auto Scale” option in the dialogue is turned on, the scales are adapted whenever a new
calculation is ready. Turn off ”Auto Scale” to keep the scale limits.
The origin position of the vector plot can be changed either graphically or with the dialogue:
• Right-click the vector plot and select Set Origin. This will move the origin to the right-
clicked position.
• Modify the ”x-Min.” and ”y-Min.” values in the plot dialogue to the starting value of the x-and
y scale.
Changing Coordinates
The plot displays the vectors in cartesian or in polar representation. The grid of a polar plot is
shown as circles and can be altered as described in Section (The Subplot). The representation
setting is also used for the mouse position display in the status bar.
The option Polar in the context menu toggles between representation in polar and cartesian co-
ordinates. 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 value or the
magnitude and phase angle can be shown.
There are two different ways to change the objects for which the vector plot is made by:
• Right-clicking one of the vector plots and select Jump To. This shows a list of all con-
nected elements from which one can be selected. Here the side of a branch 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 Fig-
ure 17.5.12, is double-clicked to select a new object.
17- 42
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• Right-click the vector plot and select the Default Variables option. This will show a list of
predefined variables. This option is not available if there is more than one element shown
in the same plot or if there are no calculation results available.
• The ”Var. x-Axis” column in the variables table in the plot dialogue, as depicted in Fig-
ure 17.5.12 is double-clicked to select a new variable from a list. The variables shown
in the list are either the magnitude or the real-part of the vector. The angle or the imagi-
nary part are set automatically. The selection list is empty when no calculation result are
available.
Background
This plot VisPath shows the voltage profile of a radial network based on the load-flow results. It
is directly connected to a feeder object defined in the network, so it can only be created for the
part of the system a feeder is assigned to.
The voltage profile plot requires a successful load-flow calculation before it can display any
results. It can not be created if there is no load-flow calculated. The easiest way to create a
voltage profile plot is to define such a plot from the single line graphic.
There are two methods for creating a Voltage Profile plot. Either from the single line graphic or
from the data manager (or calculation relevant objects filter).
To create a voltage profile plot directly from the single line graphic follow these steps:
1. First define a feeder for the radial network where it is desired to create a voltage profile
plot. This can be achieved by right-clicking on the cubicle at the beginning of the feeder
and then selecting the option Define → Feeder. . .
2. Right-click a branch (ElmLne) of an already defined feeder. The context sensitive menu
will show the option Show → Voltage Profile. PowerFactory will then create a new object
VisPath diagram showing the voltage profile for the defined feeder.
17- 43
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
1. Navigate to the Feeder grouping objects within the data manager (Project → Network
Model→ Network Data→ Feeders).
2. Select the feeder object that you would like to show the voltage profile of by clicking on its
icon.
3. Right-click the icon and select Show → Voltage Profile from the context sensitive menu.
The voltage profile plot shows the voltage of terminals or busbars along the length of 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 example of a voltage profile plot is shown in Figure 17.5.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 default settings where voltage m:u with the unit ”p.u.” is
shown as the y-axis variable. 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.
17- 44
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
To change the x-axis variable of the voltage profile follow these steps:
1. Open the voltage profile plot dialog box by double left-clicking on a blank area of the plot.
2. On the Scale page of the Edit dialogue a list box defines the x-axis variable. By default
’Distance’ is selected. This shows the distance from the beginning of the feeder in ’km’.
There are two other options:
Bus Index
Each bus is numbered sequentially from the beginning of the feeder and all of the buses
are displayed equidistantly on the plot.
Other
Selecting this option allows for a user entered variable. Only variables available at all
terminals in the feeder can be used. The software variable name must be typed in the
’Variable’ textbox. For example, to display on the x-axis the load at each terminal, the
variable ’m:Pload’ could be used. Note, do not enter the single quotes around the variable
name.
The y-axis variable(s) can also be user-defined. The predefined variable for the plot is the
voltage m:u with the unit ”p.u.2. Any other variable available at all busbars in the feeder can be
used as an alternative. To change the shown variable, follow these steps:
1. Open the voltage profile plot dialog box by double left-clicking on a blank area of the plot.
2. Select the Curves page. At the bottom of the page there is a table called Variables.
By double-clicking in the Variable cells you can manually add a user-defined variable.
For example, to display the positive sequence voltage, replace the variable m:u with the
variable m:u1. You can also add additional curves to the plot by right clicking the table and
selecting the option Append Rows.
By default, any branch with a loading greater than 80 % will appear in red colour on the voltage
profile plot. To adjust the colour and the loading limits follow these steps:
1. Open the voltage profile plot dialog box by double left-clicking on a blank area of the plot.
2. At the bottom of the Scale page, The Branch Coloring settings define the settings for the
branch coloring. Any branches that are loaded less than the Lower Limit will be colored
according to the colour next to the Lower Limit variable. Likewise, any branches loaded
greater than the Upper Limit will be colored according to the colour next to this variable.
This concept is illustrated in Figure 17.5.14.
17- 45
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The Parallel Branches option is required because the voltage profile plot only shows a single
connection line between nodes, regardless of how many parallel branches connect the two
nodes. If there is a situation where one of these parallel lines is below the Lower Limit and
another is above the Upper Limit, then the parallel branches option determines whether the
’single’ line in the voltage profile plot is either the line with the maximum loading or the line with
the minimum loading. Typically, most users are concerned with the maximum loading, so the
default of Show Maximum will be fine in the majority of cases.
The colour of the busbar (terminal) names on the voltage profile plot can be altered according
to the user preference. To change the colour setting follow these steps:
1. Open the voltage profile plot dialog box by double left-clicking on a blank area of the plot.
2. On the Advanced page towards to center, the Coloring of the busnames shown in the plot
can be changed by altering the setting Show Busnames. The meaning of each option is
as follows:
Off
Black
Colors the bus names according to the color of the different feeders.
The context sensitive menu shows additional functions regarding the voltage profile plot, when
right-clicking on the plot or on the profile:
Edit Feeder
Edit Data
when right-clicking on a branch in the plot this opens the edit dialogue of the selected
line, transformer or other element.
Mark in Graphic
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
17- 46
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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.
• 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 belonging
to the feeder depending on the real distance of the network or on the bus index, where the
distance between every node is constant.
There are further functions to show the schematics of radial networks. These functions are
applied especially when no single line graphics of a network exists and one wants to let Power-
Factory draw the schematic of a radial network automatically in a very convenient way.
These functions can be activated from the context sensitive menu of the branch element with
a defined feeder similar to the voltage plot or the schematic plot described above. Using the
option Show → Schematic Visualization→ . . . two slightly different operations can be used:
Distance
PowerFactory will draw automatically from the database a single line diagram for the radial
network defined by the feeder. The distances between the terminals/busbars in ”km” are
set automatically according to the distances specified in the lines.
Bus Index
Similar to the schematic diagram the distances between the terminals/busbars will be
neglected and a standard value will be used for all terminals.
The waveform plot VisHrm is used to display the waveform of a voltage or current after a har-
monics load-flow calculation. These harmonics are typically emitted by an harmonic voltage or
17- 47
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
current source described in Chapter 23: Harmonics Analysis, Section 23.5.5. The waveform is
calculated according to the following formula:
n
X
u(t) = u(i) · cos(2π(f (i) · t + ϕ(i)) (17.1)
i=1
where
i Index of frequency
n Number of frequencies
t Time
f (i) Frequency at index i
u(i) Magnitude at frequency i
phi(i) Angle at frequency i
For the If a successful harmonic load-flow calculation with the option All Frequencies is per-
formed, the waveform plot will show the results of any distorted or pure sinusoidal variable, e.g.
voltages or currents, from any element in the network. It can also be created if there is no
load-flow calculated.
To create a waveform plot on the current VI panel, press the icon and select a Waveform
Plot(VisHrm) 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 settings.
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 variable, 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.
Most other settings/options of the waveform plot act exactly like the settings of the Subplot
(VisPlot). See Section 17.5.2 (The Subplot) for more information. Additionally to the standard
17- 48
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
settings of the plots there are specified settings of the waveform plot. Step size and range for
time t are specified at the waveform plot settings object stored in the ”Settings” of the active
project.
To change the waveform plot settings either press the Calculation button in the dialogue of the
plot or select Calculation in the context menu on the plot. The Settings Waveform Plot object
SetWave holds the Step Size and the Range for the calculation of waveforms in the Waveform
Plots (see Figure 17.5.16).
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 har-
monics 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 Frequency. The Highest
Frequency and the resulting Step Size are shown just for information.
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.
The curve input command is used for measuring printed curves. The original curves must be
available in windows metafile (*.wmf) or in bitmap (*.bmp) format. The graphics file is displayed
as background in a curve input plot. This plot then allows for defining plot points by successive
mouse clicks.
The curve input plot (VisDefcrv ) allows for measuring and editing single curves of group of
curves at once. The measured curve points are stored in a Matrix object. The positions of the
axis in the curve input plot can be set by the user.
Special functions for groups of curves allow for x-value synchronization and many other facilities
to make their input easier and faster.
The special Curve Input virtual instrument plot VisDefcrv is needed for measuring curves. Such
a plot, like al other virtual instruments, is displayed on a Virtual Instrument Panel. A new virtual
17- 49
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
instrument panel is created with the new command in the file menu or the new icon of the
graphics window.
A new Curve Input plot is created by right-clicking the empty panel, or by pressing on the
panel button bar and subsequently selecting the Curve-Input (VisDefcrv ). The curve input
option dialogue as shown in Figure 17.5.17 is opened by double-clicking the curve input plot.
The input options are used to select the graphics file which is to be measured. Only windows
metafile (*.wmf) or bitmap (*.bmp) formats are allowed. The x-scale and y-scale settings are
used to set the range and type of the axes of the curves as they are in the graphics file.
Single
Each matrix input defines a single curve. The first column in the matrix holds the x-values,
the second one the y values. Other columns are ignored.
Set of Curves
Only the first matrix is used for input. The first column in the matrix holds the x-values,
the other columns hold the y-values of each curve in the group of curves.
The measured curve is drawn between the measured points by interpolation. This is important
when the measured curve is later used with a specific interpolation. Setting the correct inter-
polation mode when measuring the curve causes a better fit while avoiding excess curve point
17- 50
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• Linear
• Cub. Spline
• Polygon
• Hermite
The case sensitive menu is opened by right-clicking the curve input plot. The menu is used
to select the curve for which points are to be measured or edited, to select the measurement
mode, to synchronize x-values by interpolation, etc.
Grid
Curves
Interpolation
Interpolate All
interpolates undefined y values for all curves for all defined x-values
Interpolate N
Delete Curve N
Add Curve
Set Axis
With this option the origin of the axes and the length of the axes can be adjusted according
to the figure imported.
Origin
x-Axis
x-Axis (y=Origin)
17- 51
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
y-Axis
y-Axis (x=Origin)
Origin
Input
Off
x/y-Pairs
turns on the ’edit’ mode: all points can be dragged and dropped to change their
y-position or left clicked and deleted with the ’Del’ key.
Active Curve
• Open the curve-input dialogue with a double-click and set the following options
– Select the background file
– Select Single or Set of Curves in the Curves Listbox
– Select the interpolation mode
– Select on or more Matrix objects in the table named Curves. At least two columns
must be already present in the matrix object.
• Close the dialogue.
• Define the axis position to adapt the curve input to the background plot:
17- 52
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• 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
Some dialogues contain embedded graphic windows to visualize input settings. An example is
shown in Figure 17.5.18 for the parameter characteristic dialogue. Many other dialogues have
also such embedded graphs. An embedded graph shares much of its functionality and features
with the ’normal’ graphs in the Virtual Instruments, like the subplot in section .
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.
17- 53
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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
Zoom All
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.
Different kinds of plots are used to display calculation results or device data. There are a lot of
tools, which will help the user interpreting and analyzing these data or results of calculations.
Most of them are accessible directly through the ”status bar” of PowerFactory or through the
context sensitive menu. This is activated by right-clicking on the curve or an the plot background
depending on the function one wants to choose.
Edit Dialogues
The Edit dialogue of the plots can be accessed through double-clicking on the background 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
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.
17- 54
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
In the status bar of PowerFactory on the bottom of the program window useful information of the
data shown in the curves can be obtained.
• First the value of the mouse position in the diagram is displayed in the status bar, similar
to the information shown with an open single line diagram.
• When a curves is clicked and marked with a cross, the cross value is also displayed in the
status bar and remains unchanged until the cross is set to a different position. If there is
no cross on the active page the status bar value is reset and no longer displayed. Some
plots have different scales on one axis, therefore these plots can not display a value in the
status bar.
• The option Curve-Tracking can be found in the status bar, normally in a grey font style.
When double-clicking this option the ”Curve-Tracking” mode will be activated. Then a
cross will appear if the mouse arrow will be near a curve. If the mouse is hold still for one
second, the x- and y-value will be shown in a balloon window.
Labelling Plots
There are different styles of labels available for labelling curves and graphics. Setting labels 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-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 form-label uses a form to print the displayed text. The form is local for each label or
common to all plots of the same type in the active project.
The text and the value label (VisValue) is used to label curves or graphics displayed in plots.
The text of the label is written above and below a horizontal line. The line is connected to the
curve/graphic with a ’rubber band’.
After creating the labels, they can freely be dragged across the plot while staying connected to
the data point on the curve. The text can also be changed by double-clicking the label or the
rubber band. The edit dialogue of these two labels is depicted in Figure 17.5.19.
17- 55
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 on Bottom
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.
Like the text/value label, the format label (VisLabel) is set in plots to label curves or graphics.
This label displays text printed using a form. The form is different for each type of diagram. It
is either defined local at the label or defined for all diagrams of the same type in the activated
project. Its dialogue is shown in Figure 17.5.20.
17- 56
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 Object” is not set the label itself
is taken as shown object.
Shown Object
The object output by the form, see ”Data Object” described above.
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.
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.
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.
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
17- 57
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Form
The format options can be directly accessed by Edit used Format and Create Local For-
mat for the marked format label.
Reconnect with...
The constant label (VisXvalue) is used to display y-values for a constant x-quantity or x-values
for a constant y. In some plots like the overcurrent plot, constant labels are created and deleted
automatically e.g. to visualize the short-circuit current for relays.
The look of constant labels may vary because of different settings like the label location, the
intersection values and other options. The dialogue of the constant label is depicted in Fig-
ure 17.5.21.
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 17.5.21) 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 inter-
sections 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.
17- 58
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Short Line/Intersection (Left/Right) indicates the constant value at the bottom/top respec-
tively at the right/left side of the plot and the intersections with curves.
Intersection Only shows only the intersection points with the curves.
Label defines the position of the constant value label:
None displays no label at all.
Outside of Diagram creates the label between the border of the VI and the diagram area.
Labels of constant x values are created above the diagram area, labels of constant y
values are created right of the diagram area.
Above Line (right) shows a label above the line if y is constant, the label will be on the right
hand side.
Below Line (left) shows the label below the line on the left hand side.
Left of Line (top) shows a label on the left side of the line if x is constant, the label will be on
the top end.
Right of Line (bottom) shows the label right of the line on the bottom end.
Value defines the constant value, either X or Y. The dialogue shows if either a X or Y is set.
Also the actual position of the cross will be shown as a x- respectively y-value. It is not
possible to change a constant X into a constant Y label other than by removing the old
and creating the new one.
Color specifies the color of the line and the labels/intersections.
Linestyle and Width specifies the line style and line width for the line shown. Invisible if ”Show
Values” is set to ”Intersections Only”.
x-Value is Displays the type of current displayed. Visible only for constant x values in time
overcurrent diagrams.
Show Values The constant value can be displayed as a line, as intersections with the curves/graphics
or both. ”Line Only” shows a vertical or horizontal line without labels for the intersections
with the curves. ”Line with Intersection” creates crosses at the intersection of the line with
the curves. For constant x values the y value is displayed at the crossing ant the other
way round. The values and their unit are colored like the curve crossed.
Intersections Constant x values created automatically in the overcurrent plot are displaying the
short-circuit current. To get the tripping times ”Intersections” can be set to SHC Currents.
”All” would display the intersection of the relay curve ignoring the type of current. Visible
only for automatic constant x values showing currents in the time overcurrent diagrams.
Set User Defined The button ”Set user defined” is visible for constant values created by the
short-circuit in overcurrent plots. Labels showing this button display the short-circuit cur-
rent. The labels are deleted whenever a new short-circuit was calculated. If one wants
to modify and keep the label even if a new short-circuit was calculated the label must be
changed to user defined.
There are various ways of inserting lines into a plot. With the option Straight Line → . . . there
can be used a
17- 59
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Set Secant to add a line directly through the selected data point.
Through Point defines a graphic line through the selected data point with a defined gradient
and gives back the function of the line.
User Defined defines a line independent from the curves shown with a defined gradient and
y-offset. The function of the inserted line can also be seen, when holding the mouse arrow
over the line for 1 second. The options of the line dialogue or similar to the options for the
constant value in section.
Curve Filter
Curves shown in the plots and diagram can be filtered using the Curve Filter. The option Filter...
from the context sensitive menu displays the filters available to be applied to the data read from
the result object. Another way to access this function is from the ”edit” dialogue of the plot. Here
the Filter... button can be pressed. The Figure 17.5.22 shows the dialogue of the function.
The Curve Filter specifies the type of filter applied to the data read from the result object. This
object is a filter applied to curves in plots. There are different filter types available. The following
filter settings are available. (N=number of points in the original curve, K=number of points in the
filtered curve)
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.
17- 60
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Border
• Off
• Simple
• 3D
• 3D with label
The border with 3-dimensional effect and label will insert an additional label on the bottom of
the selected plot. This label can now be defined by double-clicking on it. Furthermore the text
style can be altered by choosing the option Select Font for Border.
The whole diagram or plot can also be exported for further usage in reports. Thereto first mark
the plot which is to be exported to a graphic file. Then select the option File → Export. . . → . . .
from the main menu.
There is the selection between the export into a Windows MetaFile (*.wmf) or into a Bitmap File
(*.bmp).
The export of curve data is available for a single VI or for the variables of the entire VI panel.
Hence there are different ways to access the ”ASCII Results Export” command ComRes of
curve data, described in the following paragraph. The export directly from the result file gives
the opportunity to directly export several variables at once and is described in more detail in
Section (Exporting Results).
• Press the Export... button in the right side of the dialogue box of a virtual instrument.
• Right-click on the VI and select Export... from the context sensitive menu.
• 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:
17- 61
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• 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 17.5.23.
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.
17- 62
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 lim-
its.These settings can also be defined in the ”edit” dialogue of the x- and y-axes or by
double-clicking on the corresponding axis.
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.
Each VI panel, each virtual instrument and every single plot uses a style where line-widths,
fonts, brushes and other graphical settings are defined. These objects normally use predefined
styles. In PowerFactory there are six predefined styles available:
These styles can be modified for all VIs or only for single plots. For this user-defined styles
can easily be created and specified. The base for an user defined style is always the previous
default style.
There are several ways to select a predefined or user-defined style or change between the
available styles.
• The easiest way is using the list-box in the toolbar by clicking and selecting one of the
available styles.
• A style can be selected from the Style → Select Style→ . . . in the context sensitive menu
of the VI.
• A syle is selected in the VI-Style list-box on the Advanced page of the VI Panel dialogue.
The user-defined styles are stored in the settings folder element of the active project. Therefore
each project has its own \ Settings \ Styles \... path and user defined styles. Only the changed
elements are stored in the project, the unchanged ones are the ones predefined in the default
style.
The settings folder elements can be seen in the database in Figure 17.5.24.
17- 63
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The Style → Create new Style option in the context sensitive menu of the VI panel SetVipage or
every plot on the panel is selected to create a new style for the actual virtual instrument panel.
Insert a name for the style to be created in the input dialogue. Then the new style is added to
the predefined styles and is automatically selected for the current VI panel. The created style is
not set automatically in other VI panels of the project.
If a user-defined style is selected for the current VI panel, the Style → Edit Style option of the
context sensitive menu of the panel may be selected to open the dialogue of the new panel
style. Figure 17.5.25 shows the dialogue for editing the layout of the panel.
With the settings shown in Figure 17.5.25, 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
17- 64
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
• the height and the width of the columns of the title block (see Section 9.6.3: Graphic
Options)
• the line width of the title block and of the page frame
There is the possibility to define the x- and y-axis of the plots inside on one page. These settings
then are valid every plot on panels using this style.
To change the styles, right-click on a virtual instrument on the panel and select the option Style
→ Edit Style in the context menu. Then a dialogue will pop up containing the settings for
Double-click on the object which is to be changed. As shown in figures 17.5.26, the dialogue of
the selected axis will be opened and can then be modified.
In the dialogue the following settings of the axes can be specified for the selected style:
17- 65
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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.
In addition to the axes the presentation of the plot itself can be chosen by the user. These
settings can be accessed through the dialogue shown in 17.5.27 and then double-clicking on
the settings of the VisPlot object.
Another and simpler way to change the settings of the style is to directly select the option Style
→ Edit Style of clicked Element from the context sensitive menu. These are the same dialogues
shown in Figure 17.5.27 and can directly be accessed by right-clicking on the
17- 66
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.5.27 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.
If the settings of the x- and y-axis, of the plot itself as well as the size of a particular plot shall be
saved and then reused for further plots, there is the option Style → Save as predefined VI form
the context menu of every plot or VI.
This option saves the setting of the plot and stores a new VI in the list of all VIs. Hence if
adding a plot the newly created VI can now be selected from the list by pressing the icon
and selecting the e.g. NewName(VisPlot) from the pull down list or by using the option Create
VI → . . . from the context menu of theSetVipage to add new virtual instruments to the VI panel.
The new empty subplots appear with new defined settings.
17- 67
DIgSILENT PowerFactory CHAPTER 17. REPORTING AND VISUALIZING RESULTS
17- 68
Chapter 18
Data Management
18.1 Introduction
The basic elements of project management within the PowerFactory environment were intro-
duced in Chapter 4 (PowerFactory Overview). They allow the user to generate network designs
and administer all input information and settings related to PowerFactory calculations and anal-
yses. 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 do advanced management tasks such as:
versioning, deriving, comparing, merging and sharing. These advanced features simplify data
management in multi-user environments.
The following chapters explain in more detail, each of the data management functions, including:
• Project Versions;
• Derived Projects;
• Comparing and Merging Projects;
• How to update a Project; and
• Sharing Projects
The section explains the PowerFactory concept of a version. The section first explains what a
version is and when it can be used. Next the procedure for creating a version is explained.
Specific procedures related to versions such as rolling back to a version, checking if a version
is the basis for a derived project and deleting a version are then explained.
A version is a snapshot of a project taken at a certain point in time. Using versions, the his-
toric development of a project can be controlled. Also, the previous state of a project can be
1
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
recovered by rolling back a version. From the PowerFactory database point of view, a version
is a read-only copy of the original project (at the moment of version creation), which is stored
inside a version object (IntVersion, ). Version objects are stored inside the original project in
a special folder called Versions.
The concept of versions is illustrated in Figure 18.2.1. At time t0, the project SIN is created.
After a time, t1, when the owner has made several changes they decide to make a copy of
the project in its current state by creating the version ’V1’. After more time, t2, and after more
changes with respect to ’V1’, another version ’V2’ is created by the owner. The version control
can continue with time like this, with versions accumulating with a periodicity of t.
After versions are created, the owner can revert the project to the state of the version by using
the ’rollback function’. This destroys all modifications implemented after such a version was
created (including all versions created after the rolled back version.
This sub-section describes the procedure for creating a version. To create a version of the active
project follow these steps:
2. Select New → Version from the context sensitive menu. Alternatively, use the option File
→ New Version from the main PowerFactory menu. The dialogue for the new version
appears as shown in Figure 18.2.1.
3. Set the desired options (explained in the following section) and press OK. PowerFactory
automatically creates and stores the version in the versions folder (which is automatically
created if it doesn’t yet exist).
18- 2
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
Point in Time By default this is set to the system clock time when you initiate the creation
of the version. However, it is also possible to enter an earlier time back to the beginning
of retention period of the project.
Note: Setting a Point in Time earlier than the clock time means that the version is created
considering the state of the project at the time entered. This can be used for exam-
ple, to revert the project to a previous state, even though you have not yet created other versions.
Notify users of derived projects If this option is enabled, when a user of a project that
is derived from the active project activates their derived project, they are informed that
this new version is available. Thereafter, updates of the derived project can be made (for
further information about derived projects please refer to Section 18.3).
Complete project approval for versioning required If this option is enabled, PowerFac-
tory checks if all the objects in the active project are approved. If Not Approved objects
are found, an error message is printed and the version is not created.
18- 3
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
Note: The Approval Status is found on the description page in the dialog of most grid and
library objects.
This sub-section describes the use of the Rollback function to revert a project to the state of a
version of that project. For example, consider a project called ’V0’, created at a ’point in time’,
’t’. If a Rollback to ’V0’ is completed, the project returns to the state it had at the creation of
’V0’. After the Rollback, all changes implemented after ’V0’ (after V0s point in time) are deleted.
Also, all versions newer than ’V0’ are removed. This concept is illustrated in Figure 18.2.3.
To complete a ’Rollback’
Note that a Rollback is not allowed (not enabled in the context sensitive menu) if a newer version
of the project exists and this version is the base of a derived project. A Rollback cannot be
undone!
Note: A version can only be deleted if it does not have derived projects.
18- 4
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
This sub-section explains the procedure for checking if a version is the base for a derived project.
Follow these steps:
To delete a version:
This section explains the concept of a derived project. First, background on the use of derived
projects is presented in sub-section 18.3.1. Then, sub-section 18.3.2 explains the procedure for
creating a derived project.
Often, several users might wish to work on the same project. To avoid the large amount of data
duplication needed to create a project copy for each user, DIgSILENT has developed a virtual
copy approach called derived projects. From a users point of view a derived project behaves
like a normal copy of a project version. However, only the differences between the original
project version (Base Project) and the virtual copy (derived project) are stored in the database.
Because the derived project is based on a version, changes made to the base project do not
affect it. Like ’normal’ projects, derived projects can be controlled in time by versions, but these
derived versions cannot be used to create further derived projects.
Note: A derived project is a local ’virtual copy’ of a version of a base project (master project):
- It behaves like a “real copy” from the user’s point of view.
18- 5
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
- Internally only the data differences between the Base Project and the derived project are
stored in the database.
- This approach reduces the data overhead.
In a multi-user database, the data administrator might publish a base project in a public area
of the database. Every user can subsequently create their own derived project and use as if
it is the original base project. Changes made by individual users are stored in their respective
derived projects, 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 18.3.1; here version ’Version3’ of the
base project (’MasterProject’) was used to create ’DerivedProject’. After ’DerivedProject’ was
created, two Versions of it were created.
At any stage, the data administrator might create a version of a base project that has derived
projects from other versions of the base project. The user might wish to update their derived
project with one of these new versions. Alternatively, the data administrator might like to incor-
porate changes made in a derived project to the base project. All of these features are possible,
by using the Compare and Merge Tool, explained in Chapter 18.4.
18- 6
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
In the Data Manager a derived project looks like a normal project. The derived project tab of
its dialogue has a reference where the user can see the base project and the version used for
deriving the project.
Users are notified of changes in the 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’ enabled
(the user/administrator enables this option when creating a new version), and the option Disable
notification at activation disabled (found within the derived project tab of the project dialogue).
The option of updating a derived project is presented to the user when they next activate the
derived project, when the conditions above are met. 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 dia-
logue. The users can compare this new version with their own derived project and decide which
changes to include in the derived project. For comparing and accepting or refusing individual
changes, the Compare and Merge Tool is used. For information about the Compare and Merge
Tool refer to Chapter 18.4.
18- 7
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
Figure 18.3.4: Merging the new Version of the base project into the Derived Projects
1. Right-click the desired folder in the right pane of the Data Manager where the derived
project is to be created.
2. Select New → Derived Project from the context-sensitive menu.
3. Select the source version of the base project using the data browser that appears. This
will likely be the last available version of a project in a public area, created by the data
administrator.
4. Press OK.
Note: The base or master project has to have at least one version before other projects can be
derived from it.
-You cannot derive a project from a derived project.
- You can check if a project is derived or not by opening the Edit dialogue of the project itself
and selecting the derived project tab.
To create a derived project from a Base Project stored in another user’s account, you need at
least read access, see Section 18.6.
After the derived project is created, it can be used like a normal project.
This section describes the procedure for comparing and merging projects within the PowerFac-
tory database. There are many circumstances when you might need to merge together data
18- 8
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
from multiple projects. For example, one of the most common would be when the data adminis-
trator updates a master project that is the base project for a derived project that you are working
with. The Compare and Merge Tool (CMT) can be used to update your project with the data
changes, but it also gives you control over what changes you implement.
This section is separated into six sub-sections. Firstly, the background of the CMT is presented.
The next sub-section explains the procedure needed for merging together or comparing two
projects. Sub-section 18.4.3 explains the procedure for merging or comparing three projects.
In sub-section 18.4.4, the advanced options of the CMT are explained. The CMT uses a diff
browser for showing the differences and conflicts between compared projects and also for al-
lowing you to make data assignments. This is explained in sub-section 18.4.5.
During collaborative working in a multi-user environment, a data administrator might often need
to update the Master project to create a version based on updates completed by one or more
users to derived projects of the ’Master’ project. PowerFactory has a specific tool called the
Compare and Merge Tool (CMT), that is used for this purpose. This tool can also be used
for project comparison in addition to the merging of project data. It is capable of a two way
comparison between two projects and also a three way comparison for three projects.
Internally, PowerFactory refers to each of the compared projects according to the following
nomenclature:
The CMT internally compares the chosen projects and generates an interactive window known
as the CMT diff browser to show the differences. For a two-way merge, the changes found in
the <1st> Project can be implemented in the <Base>, provided that the user selects <1st> as
the source (<Base> is by default the target). When merging together three projects, the target
is either the <1st> or <2nd> project.
18.4.2 How to Merge or Compare two projects using the Compare and
Merge Tool
This section describes the procedure for merging together or comparing two projects using the
Compare and Merge Tool (CMT). Note the comparison procedure is completed using a similar
procedure but with slight differences that will also be explained here.
1. In the data manager, right-click an inactive project and choose Select as Base to Compare.
2. Right-click a second (also inactive) project and select Compare to [Name of Base Project].
The CMT options dialog will appear as shown in Figure 18.4.1. The <Base> and the
<1st> project are listed in the Compare section of the dialog.
18- 9
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
3. Optional: If you want to include a third project in the comparison, the box next to <2nd>
must be checked. The third project can then be selected with a data browser by using
the icon. Please see Section ............. for a more detailed explanation of the 3-way
comparison.
4. Optional: If you decide that you need to switch the base and compare projects you can
press the button. For instance in Figure 18.4.1, if you would like Project A to be the
<1st> project and Project B to be the <Base>.
5. Select one of the options ’Compare only’, ’Manually or ’Automatically’. The differences
between these three choices are explained below:
• Compare only: If you only want to compare the two projects and no merge is desired,
then select the radio button ’Compare only’. This disables the merge functionality and
only the differences between the two projects will be shown.
• Manually : When this option is selected, you will later be asked to make assign-
ments (to choose the source project data for common objects that are merged to-
gether). For this option, the target project can also be selected. Selecting <Base>
will merge changes into the <Base> project, whereas selecting <1st> will instead
merge changes into the <1st> comparison project.
• Automatically: When this option is selected, PowerFactory will attempt to automati-
cally merge the two projects together, by automatically making data assignments. In
a two-way comparison, merging will be automatically into the base project (the base
is automatically assumed to be the ’target’ for the merging procedure). Note that if
conflicts are detected during an automatic merge, the CMT will automatically switch
to manual mode.
6. Press Execute to run the compare or merge. The CMT diff browser will appear (un-
less an automatic merge was selected and no conflicts were identified by PowerFactory ).
Interpreting and using the diff browser is described in Section 18.4.5.
Note: It is possible to assign user defined names for each of the compared projects to make it
more convenient for remembering which project is being referred to by the CMT later on in the
18- 10
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
diff browser (see Section 18.4.5). For example, you might wish to name two compared
projects something like Master’ and User’. Custom names can be implemented by typing the
desired name in the as ... field in the CMT options dialog
shown in Figure 18.4.1. These user-defined names are limited to a maximum of ten characters.
18.4.3 How to Merge or Compare three projects using the Compare and
Merge Tool
This section describes the procedure for merging together or comparing three projects using
the Compare and Merge Tool (CMT). The comparison procedure is completed using a similar
method to a two-way merge or compare but with slight differences that will be explained here.
1. In the data manager, right-click an inactive project and choose Select as Base to Compare.
2. In the window on the right of the data manager, hold the CTRL key to multi-select a second
and third inactive project.
3. Right-click the multi-selection and select the option Compare to ”<project>”. The CMT
options dialog will appear as shown in Figure 18.4.2. The <Base>, the <1st> and the
<2nd> project are listed in the Compare section of the dialog.
Figure 18.4.2: Compare and Merge Tool options dialog for a three way merge
4. Select one of the options ’Compare only’, ’Manually or ’Automatically’. The differences
between these three choices are explained below:
• Compare only: If you only want to compare the two projects and no merge is desired,
then select the radio button ’Compare only’. This disables the merge functionality and
only the differences between the two projects will be shown.
• Manually : When this option is selected, you will later be asked to make assignments
(to choose the source project data for common objects that are merged together). For
18- 11
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
this option, the target project can also be selected. or a three-way merge you cannot
merge into the <Base>, either the <1st> or the <2nd> project must be selected.
• Automatically: When this option is selected, PowerFactory will attempt to automati-
cally merge the three projects together, by automatically making data assignments.
As for the Manually option, the target can be either the <1st> or <2nd> project. Note
that if ’conflicts’ are detected during an automatic merge, the CMT will automatically
switch to manual mode.
5. If using the Manually or Automatic options, you must choose the Assignment priority, by
selecting an option from the Assign drop-down menu. This defines the default assignment
in the CMT diff browser (or automatic merge) when PowerFactory identifies conflicts. For
example, say the CMT identifies that the load called ’L1’ has an active power of 10 MW in
<Base>, 12 MW in <1st> and 13 MW in <2nd>. By choosing the option Automatically
and favor 1st, the default assignment for ’L1’ would be <1st> and a power of 12 MW would
be assigned to this load in the target project if you did not alter the assignment manually.
6. Press Execute to run the compare or merge. The CMT diff browser will appear (un-
less an automatic merge was selected and no conflicts were identified by PowerFactory ).
Interpreting and using the diff browser is described in Section 18.4.5.
Note: It is possible to assign user defined names for each of the compared projects to make it
more convenient for remembering which project is being referred to by the CMT later on in the
diff browser (see Section 18.4.5). For example, a user might wish to name two compared
projects something like Master and User. Custom names can be implemented by typing the
desired name in the as ... field in the CMT options dialog shown in Figure 18.4.1. These
user-defined names are limited to a maximum of ten characters.
The Advanced Options tab of the CMT shown is shown Figure 18.4.3.
18- 12
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
– This option is disabled by default. If you enable this option, PowerFactory applies
a slightly different method for comparing the database objects. When enabled, the
objects are compared according to their name and internal rules, rather than a in-
ternal database ID. To explain this in better detail, consider the following example.
There are two projects, Master and Version, and the only difference between the two
projects is that a synchronous machine called ”G1”, is renamed to ”G1a” within the
Version project. If the option Identify correspondents always by name/rules is dis-
abled (unchecked) then PowerFactory would identify that the synchronous machine
object has been renamed to ’G1a’ and the CMT diff browser would show this. How-
ever, by contrast, if the option was enabled then PowerFactory would see the two
objects as different and the CMT diff browser would show that G1 is ’missing’ from
Version and that a new object ’G1a’ has been added.
Note: This option is forced when comparing one or more projects that are independent of
each other (not derived from the base project)
18- 13
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
After the CMT options are set, and the button Execute is used to start the CMT comparison.
Then the comparison and assignment results are presented in a data browser window (the CMT
diff browser window shown in Figure 18.4.4). The diff browser is divided into three parts:
Figure 18.4.4: Compare and Merge Tool diff browser after a three-way merge
The Output window displays reports from the context sensitive right-click menu and other error
information.
In the CMT Comparison and Assignment Window, a list of the compared objects is shown.
The window appears slightly different depending on whether a two way merge, a three way
merge or a comparison has been completed. For instance, after a comparison, the Assigned
from and Assignment Conflict columns are not shown. After a two-way merge, the columns
with the project names will show <Base> and <1st> (or user-defined names), whereas after
a three-way merge they will show <1st> and <2nd>. A comparison result symbol, indicating
the differences found for each object from the list, is displayed in the columns <Base> and
<1st> after a two-way merge and in columns <1st> and <2nd> after a three-way merge. The
possible combinations of these symbols are shown and explained in Tables 32.4.1 and 30.5.1.
For a project merge (i.e. the Merge option was enabled in the command dialogue), the Assigned
from must define the source project of the changes to implement in the target project. All listed
objects must have an ’Assignment’. If you dont want to implement a certain change in the target;
then the ’target’ project must be selected as the source.
18- 14
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
You should pay special attention to all results indicated with the ’conflict’ symbol . This symbol
indicates that objects are different in both compared projects or that another error has occurred.
In the case of conflicts, you must always indicate to PowerFactory the source project for the
data.
In a two-way merge, the only available sources for assignment are the <Base> (which is also
the target) and <1st>. In a three-way merge, the possible sources are <Base>, <1st> and
<2nd>. The assignment can be made manually by double-clicking on the corresponding cell in
the ’Assigned from’ column and selecting the desired source, or double-clicking the <Base>,
<1st> or <2nd> cell that you wish to assign. However, this task can be tedious in large projects
where there are many differences. To rapidly assign many objects, the objects can be multi-
selected and then Assign from ... or Assign with Children from ... can be selected from the
context sensitive right-click menu.
After the assignment of all the objects, the projects can be merged by pressing the Merge
button. The changes are then automatically implemented in the target project.
Note: The Comparison and Assignment Window always shows the selected object in the Data
Tree Window in the first row.
18- 15
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
The window on the left side of Figure 18.4.4 shows the Data Tree Window, which is similar in
appearance to the data manager tree. This window shows the compared objects in a normal
project tree structure. At each level of the tree, there is an indication on the right showing the
status of the comparison of the contained objects (and the object itself). The legend for the
comparison indication is shown in Table 18.4.3.
As previously mentioned, the objects displayed in the CMT window can be sorted and organized
by the toolbar as shown in Figure 18.4.5. The available buttons are explained in this section.
• All objects
• All modifications in both (show only those objects which exist in both projects and have
been modified in both projects)
• All modifications in both but different (show only those objects which exist in both projects
and have been modified in both projects to different values)
Icon/Text Meaning
Assignments/Comparison is okay
Conflicts exist
Mixed/<Base>/<1st>/<2nd> The text indicates the assignments
within by indicating the assigned
project. If assignments within are from
multiple different sources, then ’Mixed’
will show.
Assignments missing
Bold red font three way merge - information will be
lost during the merge two way merge
information could be lost during the
merge
18- 16
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
• All objects
• All modifications
• Added in <1st>
• Modified in <1st>
• Deleted in <1st>
Show all objects inside chosen object This button will list all compared objects
and also all contained objects (at every level of the tree).
Show graphical elements Pressing this button will prevent graphical differences from
appearing in the comparison window. Because graphical changes often occur, and can
often be trivial, for example a slight adjustment to the x-axis position of an object, this
button is extremely useful for organizing the data.
Detail mode and Detail mode class select The functionality of these two buttons
is identical to their function in the data manager.
Show only not assigned Filters the display to show only objects not yet assigned.
This filter is only available when the merge option is used. By default all assigned and
unassigned objects are displayed.
Show only Objects with assignment conflicts Only objects with assignment con-
flicts are displayed. This filter is only available when the merge option is used. By default
objects with and without assignment conflicts are displayed.
Group dependent objects If this option is enabled, dependent objects are listed
indented underneath each listed comparison object. A dependent object is defined as
an object that is referenced by another object. For example, a line type (TypLne) is a
dependent object of a Line Element (ElmLne), likewise the cubicles that connect the Line
Element to a terminal. If the objects are grouped and not filtered otherwise, every object
has to be listed at least once but can be listed several times as a dependency. Non-
primary objects (such as graphical elements) are only listed separately if they are not
listed as a dependency for another object.
Dependent objects are not filtered. By default, the grouping of dependent objects is not
displayed because this type of display can quickly expand to become unusable because
in a typical project there are many dependencies.
A context sensitive menu can be activating by right-clicking a cell or object in the tree
window or the comparison and assignment window. The following options are available:
18- 17
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
Show Object ... A project selection window will appear so that you can show specific
object data. After you choose the reference project, the dialog of the selected object is
then displayed. The displayed dialog is read-only.
Output Modification Details This prints a report to the output window showing the de-
tails of the differences for the selected objects. The format of the report is a ASCII table
with the modified parameters as rows and the parameter values in each compared project
as columns. The date and time of the last modification along with the database user who
made the last change are always shown in the first two rows.
Output Non-OPD Modification Details This option is similar to the Output Modification
Details option, but it only shows the modifications that are not classed as Operational
Data.
Align Manually This option allows the compared objects to be realigned across the
compared projects. What this means is that disparate objects can instead be compared
directly. This could be useful for example when two different users have added an object
to their derived projects but each has given it a slightly different name, even though the
objects are representing the same ’real world’ object. The CMT would see these objects
as different objects by default. In this case, the data administrator might wish to tell Pow-
erFactory that these two different objects are the same object and this can be completed
using the Align Manually function.
Ignore Missing References For every compared object missing references can be op-
tionally ignored. The assignment check then does not check the references of the object.
Missing references can also be considered again by using the Consider Missing Refer-
ences option. By default missing references are not ignored.
Set Marker in Tree A right-click in the data tree window allows you to set a marker within
the data tree. This behaves somewhat like a bookmark and you can return to this point in
the data tree at any time by using the Jump to Marker ”...” in Tree. Note it is only possible
to set one marker at a time - setting a new marker will automatically over-write the last
marker.
The various diff window buttons as highlighted in Figure 18.4.6 will now be explained.
Figure 18.4.6: Compare and Merge Tool ’Diff window’ with buttons highlighted
18- 18
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
Check This button checks that all assignments are okay. The following conflicts are
checked for all compared objects:
• Missing assignment;
• Missing parent (Parent object of an assigned object will not exist in the target after merge.)
• Missing reference (Referenced object of an assigned object will not exist in the target after
merge.)
All conflicts are printed as errors to the output window of the CMT. Conflicts are listed in
groups and with the icon in the data tree and comparison and assignment window.
Recompare After a realignment, it is necessary to run the CMT again using this button
to update the comparison results.
Merge The merge procedure updates the target by copying objects or parameters or
deleting objects according to the assignments. Before the merge procedure is started
an assignment check is done. The merge procedure is cancelled if the check detects
conflicts. If no conflicts are detected, the Diff Browser is closed and then the merge
procedure is started. After the merge procedure is complete all data collected by the
CMT is discarded.
Info The ’Info’ dialog called by the Info button shows more information about the compar-
ison:
• database path of the top level projects/objects that are being compared;
• target for merge (only if merge option is active);
• selected comparison options;
There are two common procedures that users and data administrators need to complete when
working with Master Projects and other user projects that are derived from versions of this
Master project:
This section explains these two procedures and also tips for working with the CMT.
18- 19
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
When a derived project is activated after a new version of the Base project has been created
(provided that the flag Notify users of derived projects was checked when the version was
created and that the derived project option Disable notification at activation is unchecked), then
the user will be presented with the dialog shown in Figure 18.5.1.
• PowerFactory automatically generates a temporary copy derived of the new version and
executes a 3-way comparison with the base version of the users project (as the Base), the
derived project (as <1st>) and the temporary copy (as <2nd> and target). In the case of
a conflict, one of the following actions will be taken:
• emphfavor none: The CMT diff browser is displayed, and the user can then resolve the
conflict(s) by defining how the changes should be assigned.
• emphfavor derived project: Conflicts are resolved automatically by favoring the users
modifications, thereby discarding modifications in the Base.
• emphfavor new version: Conflicts are resolved automatically by favoring the Bases mod-
ifications, thereby discarding the users modifications.
Get new version and discard modifications in derived project The derived project is
automatically replaced by the new version. All user modifications will be lost.
Merge manually Use the CMT to merge the modifications manually. The results of the
comparison are displayed in a CMT diff browser, where the user defines how the changes
should be assigned. After these assignments have been defined, the new version and
the derived project are merged to the temporary copy, when the user clicks on the Merge
button. The derived project is then automatically replaced by the temporary copy (now
containing information from the new version), which is deleted.
Notify me again in... The user enters the desired time for re-notification, and the derived
project is activated according to how it was left in the previous session. The notification
is deactivated for the indicated number of days.
18- 20
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
Note: In a multi-user environment, updated versions of the Base project can be released
regularly and the user will often be presented with the new version notification in Figure
18.5.1. In many cases, the user will not want to apply the updated version because they will be
in the middle of a project or other calculation and don’t want to risk corrupting or changing their
results. Therefore, the option
Notify me again in... is the appropriate choice because it will leave the users project unchanged.
If the Cancel button is used, the project is activated as it was left in the previous session. The
notification will appear following the next activation.
An alternative way to manually initiate the above procedure is to right-click the derived project
and select the option Merge from base project. This feature is only possible with deactivated
projects.
Changes implemented in derived projects can also be merged to the base project. In this case,
the option Merge to base project must be selected from the context-sensitive menu available
by right-clicking on the derived project. As in previous cases, the CMT is started and you can
manually resolve conflicts using the diff browser.
18.5.3 Tips for working with the Compare and Merge Tool
One of the most common uses of the CMT is for merging changes made by users to their
derived projects back into the Master project to create an updated version for all users. Such
a task is often done by the data administrator. For this task it can help to follow the steps as
outlined below:
1. Check the user’s modifications with a 2-way merge (derived vs. base; What changes were
done? Are all changes intended? Modifications which were made by mistake should be
corrected in the user’s derived model before continuing with the merge procedure.). The
check of the modifications should be done by the user and the data administrator.
2. The data administrator creates a new derived project based on the most recent version of
the ’Master’ model.
3. A three way merge is done, selecting the version on which the user’s derived project is
based on as ’Base’, the derived project created in the previous step as <1st> and the
user’s derived project as <2nd>. The changes are merged into <1st> (target).
4. The resulting model is then validated. Conflicts which could not be solved automatically
by the CMT are corrected manually.
5. The validated model (derived project in data administrator account) is merged to the base
model by using the context sensitive menu entry Merge to Base Project. This will not
cause problems if the master model has not been changed since deriving the model in
step 2.
6. A new version is created by the data administrator and the users informed.
18- 21
DIgSILENT PowerFactory CHAPTER 18. DATA MANAGEMENT
Note: The Compare and Merge Tool can be used to compare any kind of object within a
PowerFactory project. The functionality and
procedure to follow is similar to that explained in this section for project comparison and merging.
In PowerFactory , any project can be shared with other users according to the rules defined by
its owner. Projects are shared to groups of users and not directly to individuals. Therefore, users
must be part of a group (created and managed by the data Administrator) in order to access
shared projects.
Depending on the access level that the owner assigns to a group, other users can get:
• read-only access to the shared project, which allows the copying of objects and the cre-
ation of derived projects from versions within the shared project;
• read-write access; This allows users full control over all objects within the project.
• Full access. Full access allows the user to modify the sharing properties and create
versions.
To share a project:
1. Open the project dialogue by right-clicking the project name and selecting the option Edit.
5. Double-click on the Sharing access level to select the desired access level.
For information regarding users groups and the data administrator, please refer to Chapter 6
(User Accounts and User Groups).
18- 22
Chapter 19
19.1 Introduction
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:
The DPL adds a new dimension to the DIgSILENT PowerFactory program by allowing the cre-
ation 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
Such new calculation functions are written as program scripts which may use
1
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
The DPL command object ComDpl is the central element, which is connecting different param-
eter, 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 single 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 inside the
script. Also internal objects can be used and executed, like
• a calculation command, i.e. ComLdf, ComSim, etc., especially defined with certain calcu-
lation options
• subscripts also released in DPL
• filter sets, which can be executed during the operation of the script
19- 2
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
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 settings, parameters
or results directly in the database objects. There is nearly no object inside 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 pa-
rameters 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.
The DPL command object ComDpl holds a reference to a remote DPL command when it is not
a root command. The example depicted in Figure 19.3.1 is apparently a referring command,
since its ”DPL script” reference is set to the remote command \ Library\ DPL Commands\
CheckVLoading.
• A root command has its own script on the ”script” page of the dialogue.
19- 3
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
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 .
The DPL command holds a reference to a selection of objects (General Selection). At first this
general selection is empty, but there are several ways to define a special set of object used in
the DPL command. This ”DPL Commands Set” (SetSelect) can be specified through:
• 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 automatically
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 command 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
19- 4
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
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 subroutines,
may use and change the values of the interface variables of these DPL subroutines.
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 external object.
Performing the same command for another busbar would then only require setting the external
object to the other busbar.
On the Advanced Options page a Remote script can be selected, which is then used by this
script instead of a local defined script on the next page Script. This is a so called ”referring
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.
The most important part of a DPL root command is of course the actual DPL program script.
That script is written on the Script page of a DPL root command dialogue, if no Remote script
is selected.
On this page the DPL code of a already defined script is shown and/or new command lines can
be inserted for modifying this script or writing a new script. The available commands and the
DPL language are described in the following sections.
The edited program code also features a highlighting specially suited for handling DPL scripts.
There is also an own editor available for conveniently writing a DPL script. To activate this editor
press the icon on the bottom side of the Script page of a DPL command dialogue.
Now a new window will be opened in PowerFactory. Here the script can be written in a very
convenient way similar to the programming language C++. The highlighting will be activated
automatically.
19- 5
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
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 main
dialogue. One can also jump to the main graphics board by selecting the option Window →
Graphic. . . from the main menu.
The DPL script language uses a syntax quite similar to the C++ programming language. This
type of language is intuitive, easy to read, and easy to learn. The basic command set has been
kept as small as possible.
• variable definitions
• assignments and expressions
• program flow instructions
• method calls
The statements in a DPL script are separated by semicolons. Statements are grouped together
by braces. Example:
statement1;
statement2;
if (condition)
{
groupstatement1;
groupstatement2;
}
19- 6
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
• string, a string
• object, a reference to a PowerFactory object
• set, a container of object
All parameter declarations must be given together in the top first lines of the DPL script. The
semicolon is obligatory.
Examples:
DPL uses constant parameters which cannot be changed. It is therefore not accepted to assign
a value to these variables. Doing so will lead to an error message.
Besides these global constants, all internal and external objects are constant too.
variable = expression
variable += expression
variable -= expression
The add-assignment ”+=” adds the right side value to the variable and the subtract-assignment
”-=” subtracts the right-side value.
19- 7
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
Examples:
• Arithmetic operators: +, -, ∗ , /
• Constants:
pi() pi
twopi() 2 pi
e() e
19- 8
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
if ( [boolexpr] ) [statlist]
if ( [boolexpr] ) [statlist] else [statlist]
do [statlist] while ( [boolexpr] )
while ( [boolexpr] ) [statlist]
for ( statement ; [boolexpr] ; statement ) [statlist]
in which
Examples:
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();
}
19- 9
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
The loop statements ’do-while’ and ’while-do’ may contain ’break’ and ’continue’ commands.
The ’break’ and ’continue’ commands may not appear outside a loop statement.
The ’break’ command terminates the smallest enclosing ’do-while’ or ’while-do’ statement. The
execution of the DPL script will continue with the first command following the loop statement.
The ’continue’ command skips the execution of the following statements in the smallest enclos-
ing ’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 ex-
ecuted 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();}
input(var, string);
The input command will pop up a window with the string and an input line on which the user
may enter a value. The value will be assigned to the variable ”var”.
19- 10
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
output(string);
The string may contain ”=”-signs, followed by a variable name. The variable name will then be
replaced by the variable’s value.
Example:
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.
With the syntax for the parameter definitions, program flow and the input and output, it is already
possible to create a small program. However, such a script would not be able to use or manip-
ulate variables of ’external’ objects. It would not be possible, for instance, to write a script that
replaces a specific line by possibly better alternatives, in order to select the best line type. Such
a script must be able to access specific objects (the specific line) and specific sets of objects
(the set of alternative line types).
The DPL language has several methods with which the database objects and their parameters
become available in the DPL script:
• The most direct method is to create an object, or a reference to an object, in the DPL
command folder itself. Such an object is directly available as ”object” variable in the script.
The variable name is the name of the object in the database.
• The DPL command set may be used. This method is only useful when the order in which
the objects are accessed is not important. The DPL command set is automatically filled
when a selection of elements is right-clicked in either the single line graphic or the data
manager and the option Execute DPL Script is selected.
• The list of external objects is mainly used when a script should be executed for specific
objects or selections. The list of external objects is nothing more than a list of ’aliases’. The
external object list is used to select specific objects for each alias, prior to the execution of
the script.
19- 11
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
If a database object is known to the DPL command, then all its methods may be called, and all
its variables are available. For example, if we want to change a load-flow command in order to
force an asymmetrical load-flow calculation, we may alter the parameter ”iopt net”. This is done
by using an assignment:
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 objects
and their parameters.
Locally stored objects (also called ’internal objects’) can be accessed directly. They are known
in the DPL script under their own name, which therefore must be a valid DPL variable name.
It will not be possible to access an internal object which name is ”My Load-flow\∼{}1∗ ”, for
instance.
Internal objects may also be references to objects which are stored elsewhere. The DPL com-
mand des not distinguish between internal objects and internal references to objects. An ex-
ample is shown in Figure 19.7.1, where a DPL script is shown on the left which has a load-flow
command and a reference to a line in its contents folder on the right.
19- 12
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
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”.
Accessing database objects by storing them or a reference to them in the DPL command would
create a problem if many objects have to be accessed, for instance if the line with the highest
loading is to be found. It would be impractical to create a reference to each and every line.
A more elegant way would be to use the DPL global selection and fill it with all lines. The data
manager offers several ways in which to fill this object DPL Command Set with little effort. The
selection may then be used to access each line indirectly by a DPL ”object” variable. In this way,
a loop is created which is performing the search for the highest loading. This is shown in the
following example.
Example
19- 13
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
The object SEL used in line 08 is the reserved object variable which equals the General Selec-
tion 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 selection. 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()”.
The DPL contents make it possible to access external object in the DPL script. The special
general selection object (”SEL”) is used to give all DPL functions and their subroutines access
to a central selection of objects. i.e. the DPL Command Set.
19- 14
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
Although flexible, this method would create problems if more than one specific object should be
accessed in the script. By creating references to those objects in the DPL command itself, the
DPL command would become specific to the current calculation case. Gathering the objects in
the general selection would create the problem of selecting the correct object.
If a DPL script must access a database object dependent on where and how the DPL script is
used, an ”External Object” must be added to the external object list in the DPL root command.
Such an external object is a named reference to an external database object. The external
object is referred to by that name. Changing the object is then a matter of selecting another
object.
In Figure 19.9.1, an example of an external object is given. This external object may be referred
to in the DPL script by the name ”Bar1”, as is shown in the example.
Example:
sagdepth = Bar1:u;
19- 15
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
To understand the DPL philosophy and the resulting hierarchical structure of DPL scripts, the
following is important to understand:
• A DPL command either executes its own script or the script of another, remote, DPL
command. In the first case, the DPL command is called a ’root command’ and the script
is called a ’local script’. In the second case, the DPL command is called a ’referring’
command and the script is called a ’remote script’.
• A root command may define interface variables that are accessible from outside the script
and which are used to define default values.
• Each root command may define one or more external objects. External object are used
to make a DPL command run with specific power system objects, selections, commands,
etc.
• A referring command may overrule all default interface values and all selected external
objects of the remote command.
• Each DPL command can be called as a subroutine by other DPL commands.
The use of remote scripts, external objects and interface variables makes it possible to create
generic DPL commands, which may be used with different settings in many different projects
and study cases.
The easiest way to develop a new DPL command is to create a new ComDpl in the currently
active study case and to write the script directly in that DPL object. In such a way, a DPL
”root command” is made. If this root command needs DPL subroutines, then one or more DPL
command objects may be created in its contents. Each of these subroutines will normally also
be written as root functions.
The newly written DPL command with its subroutines may be tested and used in the currently
active study case. However, it cannot be executed when another study case is active. In order
to use the DPL command in other study cases, or even in other projects, one would have to
copy the DPL command and its contents. This, however, would make it impossible to alter the
DPL command without having to alter all its copies.
The solution is in the use of ’remote scripts’. The procedure to create and use remote scripts is
described as follows.
Suppose a new DPL command has been created and tested in the currently active study case.
This DPL command can now be stored in a save place making it possible to use it in other study
cases and projects.
• 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.
19- 16
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
• Create a new DPL command object (ComDPL) in the active study case.
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.
A DPL command object may be included in the contents of another DPL command. In that case,
the included DPL ”subroutine” may be called in the script of the enclosing DPL command. In
principle, this is not different from calling, for example, a load-flow command from a DPL script.
As with most other command objects, the DPL command only has one method:
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 illustrates this.
Suppose we have a DPL sub-command ”Sub1” with the interface section as depicted in Fig-
ure 19.10.1.
19- 17
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
The DPL syntax is very small because it mainly serves the purpose of basic operations like
simple calculations, if-then-else selections, do-while loops, etc..
The strength of the DPL language is the possibility to call functions and to create subroutines.
19- 18
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
A function which can be called by a DPL command is called a ”method”. Four types of methods
are distinguished:
Internal methods These are the build-in methods of the DPL command. They can al-
ways be called.
Set methods These methods are available for the DPL ’set’ variables.
Object methods These methods are available for the DPL ’object’ variables.
External methods These are the methods which are available for certain external Pow-
erFactory objects, such as the load-flow command, the line object, the asynchronous
machine, etc.
Please see the Appendix D DPL Reference for a description of these functions including imple-
mentation examples.
19- 19
DIgSILENT PowerFactory CHAPTER 19. DIGSILENT PROGRAMMING LANGUAGE
19- 20
Chapter 20
PowerFactory Interfaces
20.1 Introduction
PowerFactory supports a wide set of interfaces. Depending on the specific data exchange task
the user may select the appropriate interface.
1
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.2.1 illustrates the integration of a GIS (Graphical Information System) or SCADA
(Supervisory Control And Data Acquisition) with PowerFactory via the DGS interface
Here, PowerFactory can be configured either in engine or normal mode. When used in engine
mode, PowerFactory imports via DGS the topological and library data (types), as well as oper-
ational information. Once a calculation has been carried out (for example a load flow or short
circuit), the results are exported back so they are displayed in the original application; which in
this example relates to the SCADA or GIS application. The difference with PowerFactory run-
ning in normal mode (see right section of Figure 20.2.1) is that, besides the importing of data
mentioned previously, the graphical information (single line graphics) is additionally imported,
meaning therefore that the results can be displayed directly in PowerFactory. In this case, the
exporting back of the results to the original application would be optional.
Although the complete set of data can be imported in PowerFactory every time a modification
has been made in the original application, this procedure would be impractical. The typical ap-
proach in such situations would be to import the complete set of data only once and afterwards
have incremental updates.
• Importing to PowerFactory
– Data Import/Update into PowerFactory from external data sources such as GIS (Net-
work Equipment), SCADA (Operational Data) and billing/metering systems (Load
Data) in order to perform calculations.
• Exporting from PowerFactory
– Performing calculations in PowerFactory and exporting back the results to the original
application.
20- 2
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• Integration
– Importing data sets to PowerFactory from GIS or SCADA, performing calculations,
and exporting back results to GIS or SCADA.
PowerFactory ’s DGS interface is based on the PowerFactory data model. Data can be imported
and exported with DGS using different file formats and database schemas.
• Database Schemas
– Oracle DB Server (ODBC client 10 or newer)
– Microsoft SQL Server (ODBC driver 2000 or newer)
– System DSN (ODBC)
• File Formats
– DGS File - ASCII
– XML File
– Microsoft Excel File (2003 or newer)
– Microsoft Access File (2003 or newer)
Important to note here is that the content of the files is the same; the only difference being the
format.
The core principle of DGS is to organize all data in tables. Each table has a unique name
(within the DGS file or database/table space) and consists of one or more table columns, where
generally all names are case-sensitive.
For more detailed information on the DGS structure, please refer to the DGS Interface document
located inside the PowerFactory installation folder (for example C:\DIgSILENT\pf140b523\DGS\).
Also available in the same location are some examples.
To import data via the DGS interface, the general procedure is as follows:
• From the main menu go to File → Import. . . → DGS Format. . . which opens the DGS-
Import dialogue window.
• Specify the required options in both the General and Options tab pages, and click on the
Execute button.
20- 3
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
1. Importing into a new project. With this option selected a newly generated project is left
activated upon completion.
2. Importing into an existing project. If an operational scenario and/or a variation is active at
the moment the import takes place, the imported data set will be divided correspondingly.
For example importing breaker status (opened/closed) while an operational scenario is
active will store this information in the operational scenario.
Import into New Project By choosing this option, a project will be created where all the
DGS data will be stored. The user will have the option of specifying a specific name and
location (other than the default).
Import into Existing Project By choosing this option, the DGS data will be imported into
an already existing project. Here, the data can be selective and its not required that the
imported data must be complete. In some cases, most of the objects are already existent
and only an update is required for some of them.
Import from The source of the data to be imported is specified with this option. If a File
Format source is selected then the location and type of data (DGS, XML, MDB or XLS)
must be specified. If a Database Schema source is selected, then a DB service, User and
Password information is required (the SQL server option will require an extra Database
information).
Note: The GIS conversion uses millimeter units with respect to the bottom-left origin and A0
paper format limit (1188 x 840 mm). It
could therefore be necessary to transform the GIS coordinates before creation of the ”.DGS” file.
For more detailed information on the General settings, please refer to the DGS Interface docu-
ment located inside the PowerFactory installation folder (for example C:\DIgSILENT\pf140b523\DGS\).
Predefined Library A predefined library located somewhere else in the database can be se-
lected. The option of copying the library into the project is also available.
Create Switch inside Cubicle In cases where the source data has no switches defined
inside the cubicles, the enabling of this option will create the switches automatically during
the import. If switches already exist in a certain cubicle, the creation of switches in that
particular cubicle is ignored.
Replace non-printable characters If the source data contains not allowed characters
(∼, ?, etc.), they are replaced by an underscore character.
Use foreign keys (available only with the option Import into Existing Project) Every
object in PowerFactory provides a parameter named ”Foreign Key” which can be used
20- 4
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
to identify the object uniquely within its project. The parameter is a character field with
a maximum of 20 characters and can be found on the Description page of the various
property sheets.
If the DGS import interface is used for updating an existing network model the ”Name”
column can be filled with the ”Foreign Key” of an existing object. The object will then
be identified by this ”Foreign Key” and the data defined in the DGS file will overwrite
the object’s parameters. Parameters which are not included in the DGS file will remain
unchanged.
Additional Parameters This field is specified for internal use only. No extra information
is required by the user.
For more detailed information on the Optional settings, please refer to the DGS Interface docu-
ment located inside the PowerFactory installation folder (for example C:\DIgSILENT\pf140b523\DGS\).
In contrast to the DGS Import, where it is not relevant if a project is active or not; the DGS Export
is based on what information is active at the moment the export takes place. In other words,
only the active project, with the corresponding active Study Case, active Scenario, and active
Variations are exported (objects are exported in their current state). Furthermore, the export
can be fully configured, meaning that user has the option of selecting the amount of information
to be exported per class object. In general, the following data can be exported:
• Element data
• Type data
• Graphic data
• Result data (such as load flow results)
To export data via the DGS interface, the general procedure is as follows:
• Import to PowerFactory the file DGS 5.0 Export Definitions.dz located inside the Power-
Factory installation folder (for example C:\DIgSILENT\pf140b523\DGS\). The selected
import location can be anywhere inside the current user (a typical location would be di-
rectly inside the user). By performing this step, a default variable set definition is imported
(definition of the variables to export via DGS). Instead of the user creating the variable set
definition from scratch, the default definition can be used and modified if required (increase
or decreasing the amount of information to be exported).
Note: In previous versions of PowerFactory (13.2), the default definition set is named DGS
VariableSets.dz.
The location however is the same (for example C:\DIgSILENT\pf132b343\DGS\).
• Activate the project to be exported, considering the which Study Case, Scenario and
Variations should be active.
20- 5
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• From the main menu go to File → Export. . . → DGS Format. . . which opens the DGS-
Export dialogue window.
• Specify the required options in both the General and Options tab pages, and click on the
Execute button.
DGS Version Version of the DGS structure. It is highly recommended to use 5.0 for
PowerFactory V14.0.
Format Output format. Either as ASCII, XML, MS Excel or MS Access file (for Excel or
Access, Microsoft Office must be installed on the computer) or as Oracle, MS SQL Server
and ODBC DSN databases (databases format available only for DGS Version 5.0).
Variable Sets With this option, the data exported will be according to the variable defini-
tions specified (see the explanation at the beginning of the section) It is required to select
a folder that contains the monitor variable objects (IntMon) related to each class that is to
be exported.
For more detailed information on the Variable Sets definitions (IntMon), please refer to the DGS
Interface document located inside the PowerFactory installation folder (for example
C:\DIgSILENT\pf140b523\DGS\).
Although both import and export functions for PSS/E files are integrated commands of Power-
Factory , the export function is licenced separately. For more information on prices and licensing
please contact the sales department at mail@digsilent.de.
PSS/E Import supports versions 23 to 32 and can be performed by going to the main menu and
selecting File → Import. . . → PSS/E.
In the same manner, and provided the appropriate licencing exists, a project can be exported in
PSS/E format by selecting form the main menu File → Export. . . → PSS/E.
PowerFactory is able to convert both steady-state data (for load-flow and short-circuit analyses)
and dynamic data files. It is good practise to first import the steady-state data (described in this
section), then to add the dynamic models (described in Section 20.3.2: Import of PSS/E file
(Dynamic Data).
Before starting the next steps for importing a PSS/E file, please make sure that no project is
active. Once this has been confirmed, please select from the main menu File → Import. . . →
20- 6
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
PSS/E. By doing so, the Convert PSS/E Files command dialogue seen in Figure 20.3.1 will be
displayed, asking the user to specify various options.
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
∗ ∗
. .
Sequence Data Location of the PSS/E sequence data file. By default the program
searches for ∗ .seq 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 ∗ .∗ .
20- 7
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Note: After the Conversion/Importing has finished, the resulting project will contain a graphics
folder where all of the PSS/E drw converted graphics will be stored. The user must therefore
relocate each one of them to the corresponding diagram folder.
Project The project name that will be assigned to the converted/imported file in Power-
Factory.
in Location in the data manager tree where the imported file will be stored.
The following topics: Dyn. Models Data, Composite Frame Path, DSL - Model Path, Pa-
rameter Mapping; are not used for the import of steady-state data and will be explained in the
dynamic import Section 20.3.2.
20- 8
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Convert only sequence data file With this option enabled, the converter will only add
the sequence data to an existing project.
Convert only dynamic models file With this option enabled, the converter will only add
the dynamic data file to an existing project (only for dynamic data import).
Convert only graphic file With this option enabled, the converter will add only a single-
line diagram to an existing project.
Only convert file (no DB action) Internal option used for syntax check and error mes-
sages during conversion. Normally this box should be left unchecked.
Output only used dynamic models Displays a list of used dynamic models (only for
dynamic data import).
Unit of ’LEN’ for lines in miles instead of km With this option enabled, all lengths will
be interpreted in miles in the PSS/E raw files.
Consider transformer phase shift With this option enabled, transformer phase shifts
will be considered. This option is recommended and activated by default.
Convert Induction Machines (Generators: P<0) With this option enabled, all genera-
tors in the raw data file that have negative active power will be converted to asynchronous
machines. For transmission grids the option should be disabled for proper modeling of
phase shift generators.
Convert capacitive line shunts to line susceptance B’ If a line has line shunts the con-
verter adds automatically the line shunt capacitance to the C1’ (B1’) in the PowerFactory
line type.
Convert off-nominal turn ratio to transformer tap Transformer ratios different from the
rated ratio are automatically converted to a transformer type using taps, including the
correct tap position.
Busbar naming: ’PSSE NAME’ With this option enabled, the busbars are named similar
to the PSS/E raw data file (without bus number).
Branch naming: ’BUSNAME1 BUSNAME2 ID’ With this option enabled, the branches
20- 9
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Additional Parameters This field is specified for internal use only. No extra information
is required by the user.
Rotate with respect to busbars The converter will rotate the graphical layout in case of
the majority of busbars being in vertical or horizontal position.
Snap coordinates to grid The converter will snap to grid all objects in the single line
graphics.
Transformer Symbol according to IEC This options lets the user choose the trans-
former symbol as IEEE (default) or IEC representation.
Scaling factor The graphic files are scaled according to the scaling factor shown.
20- 10
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
As explained in Section 20.3.1 it is good practise first to import the steady-state data and then
to add the dynamic model data.
Before converting dynamic data, it is recommended to copy the Standard Models library folder
located in the global library into the user directory. The Standard Models dynamic data library
folder can be found under Library\Standard Models. This folder has the structure as shown in
Figure 20.3.4.
The following folders and sub folders are of importance in the conversion/importing.
Standard Models This folder contains the information for most typical models; for ex-
ample, automatic voltage regulators (AVRs), power system stabilizers (PSS), primary
controllers (PCO) and others. The models are constructed in DIgSILENT Simulation
Language (DSL). The folders also may contain user-defined models.
Composite Model Frames This folder contains the composite frames which are basically
wired diagrams.
An important condition for successful file conversion is that all DSL models used during the
conversion process should be stored in the same model library folder. By default, this is the
case in the global PowerFactory library. If the original library should use specific folders for the
different types of controllers (AVR,PCO,PSS, etc.), the user should copy all of the models into
the same library folder. After the conversion, the user may re-arrange the models.
The procedure to start the import of dynamic network data is very similar to the import of steady-
20- 11
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
In the dialogue of General Settings in Figure 20.3.1 the following topics have to be specified:
Dyn. Models Data Location of the PSS/E Dynamic Models data file. By default the
program searches for ∗ .dyn and *dyr extensions. The user may consider all types of files
by typing ∗ .∗ .
Use Standard Models from global library If this option in enabled, PowerFactory will
automatically point to the Standard Models library located in the Global library. There will
be no need of selecting the composite Frame Path and DSL Model Path.
Composite Frame Path Location in the PowerFactory data base where the composite
frames are stored (Standard Models/Composite Models Frames. . . ).
DSL - Model Path Location in the PowerFactory data base where the DSL models are
stored (Standard Models. . . ).
Parameter Mapping Location of the PowerFactory mapping file. This is an option that
normally will not have to be defined by the user. By default PowerFactory will automat-
ically 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 parame-
ters. 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.
In the dialogue of Import Options in Figure 20.3.1 the following options should be considered:
Convert only dynamic models file With this option enabled, the converter will only add
the dynamic data file to an existing project.
Output only used dynamic models Displays a list of used dynamic models.
This function allows the export of the network model in PSS/E format. The export comprises
both steady-state and dynamic data sets. The correct conversion of dynamic models is only
possible for the standard IEEE models. Models which the user implemented in PowerFactory’s
DSL can not be automatically translated and must be modeled as user-defined controller types
separately in PSS/E.
To export a project in PSS/E format select File → Export. . . → PSS/E from the main menu.
20- 12
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
RAW Conversion File Path and file name for the PSS/E RAW file, containing the sym-
metrical description of the model.
SEQ Conversion File Path and file name for the PSS/E SEQ file, containing the addi-
tional description of the model necessary for unbalanced conditions.
DYN Conversion File Path and file name for the PSS/E DYN file, containing the dynamic
models of the project.
20- 13
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Convert Motors to Generators if P<0 With this option enabled, all asynchronous ma-
chines in generator mode will be converted to synchronous machines.
Use serial number for bus numbering With this option enabled, the serial number infor-
mation stated in the Description tab page of each terminal will be used for the numbering.
If the serial number field is empty, the numbering assigned will be according to the name
(in ascending order/alphabetical order).
Convert voltage controlled SVS to generator Selecting this option will convert the SVS
models (only the SVS set to voltage control) to generator models.
Export branch as single equivalent line Selecting this option will convert the branch
models to an equivalent line.
Base Apparent Power Base for the power values given in per-unit system.
Additional Parameters This field is specified for internal use only. No extra information
is required by the user.
20- 14
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
PowerFactory offers to the user the option of importing different types of NEPLAN files. The files
supported for importing are the following:
• NEPLAN 4
– Project File Data (∗.mcb) containing the topological, electrical and graphical data.
– Line Data Type (∗.ldb) containing the line type information.
• NEPLAN 5
– Node Table (∗.ndt) containing the node data, such as rated voltages and loads.
– Element table (∗.edt) containing the branch data, such as lines and transformers.
– GIS/NMS Interface (∗.cde) containing the graphical information of all the networks
which are part of the NEPLAN project.
To import data via the NEPLAN interface, the general procedure is as follows:
• From the main menu go to File → Import. . . → NEPLAN. . . which opens the NEPLAN-
Import dialogue window.
• Specify the required options and click on the Execute button.
The NEPLAN data import always creates a new PowerFactory project. Once the import process
has been executed, the newly generated project is left activated upon completion.
Independent of the NEPLAN file version (4 or 5), the user has the option of importing the data
with or without graphical information. That is, if the user selects importing the data without
graphical information, only the topological and electrical data will get imported, and no single
line graphic will be generated.
When importing NEPLAN 4 files, the user has basically two options:
When importing NEPLAN 5 files, the user is only required to select the ∗ .ndt. By doing so, the
corresponding ∗ .edt file is automatically imported also. This basically means that a ∗ .edt file
must be present otherwise the import will not be executed. The ∗ .cde file is however optional.
20- 15
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Additionally, all three files must have the same name and must be in the same directory! As a
recommendation, create a separate folder and place all the files there.
The following section describes each of the NEPLAN import dialogue options.
General Settings
File Type
Neplan Data Location on the hard disk of the NEPLAN data file. Three types of files are
available: ∗ .mcb, ∗ .ldb and ∗ .ndt.
Project The project name that will be assigned to the converted/imported file in Power-
Factory.
20- 16
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
in Location in the data manager tree where the imported file will be stored.
Import Graphic Information If this option is enabled then the graphical information is
imported and the single line diagram is generated. In case of NEPLAN 5 import the ∗ .cde
file is required.
Additional Rotation Angle for 1-port Elements (deg) If a value different than 0 is
stated, then the single port elements (loads, generators, motors, etc.) are rotated
counter clockwise (degrees) with respect to the original position.
Additional Parameters This field is specified for internal use only. No extra information
is required by the user.
In PowerFactory , both export and import of UCTE-DEF (Union for the Co-ordination of Transmission
of Electricity-Data Exchange Format) is supported. The UCTE interface is currently intended
for importing/exporting grid data of a country belonging to the former UCTE community.
The data contained in these files correspond basically to load flow and short circuit (3 phase)
type data. Furthermore, it only considers specific UCTE voltage levels according to voltage level
codes, as well as UCTE specific country codes, such as DK for Denmark, P for Portugal, etc.
Important to note here is that from 1st of July 2009, ENTSO-E (European Network of Trans-
mission System Operators for Electricity) took over all operational tasks of the 6 existing TSO
associations in Europe, including the Union for the Coordination of Transmission of Electricity
(UCTE).
For more information related to the UCTE format, please refer to the following link:
https://www.entsoe.eu/resources/publications/former-associations/ucte/other-reports/
To import data via the UCTE interface, the general procedure is as follows:
• From the main menu go to File → Import. . . → UCTE. . . which opens the UCTE-Import
dialogue window.
• Specify the required options and click on the Execute button.
Once the import process has been executed, the project (new or existing) is left activated upon
completion.
The following section describes each of the UCTE import dialogue options.
General Settings
20- 17
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Import into
New Project By choosing this option, a project will be created where all the UCTE data
will be stored. The user will have the option of specifying a specific name and location
(other than the default).
Existing Project By choosing this option, the UCTE data will be imported into an already
existing project.
File Type
Add UCTE Files Location on the hard disk of the UCTE files. Two types of files are
available: ∗ .uct and ∗ .ucte. Additionally, the user may consider all types of files by typing
∗ ∗
. .
Options
Import for DACF process With this setting the user has the option to import the Day
Ahead Forecast.
20- 18
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Convert negative loads to generators With this option enabled, negative loads defined
in the UCTE file will be converted to generators in the PowerFactory model.
Automatically Scale to A0 If this option is selected, then the graphic is rescaled accord-
ing to the A0 page format.
Additional Parameters This field is specified for internal use only. No extra information
is required by the user.
As in the other export interfaces, the UCTE Export is based on the active project at the moment
the export takes place. To export data via the UCTE interface, the general procedure is as
follows:
• Activate the project to be exported, considering the which Study Case, Scenario and
Variations should be active.
• From the main menu go to File → Export. . . → UCTE. . . which opens the UCTE-Export
dialogue window.
• Specify the required options, and click on the Execute button.
General Settings
20- 19
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
File Type
UCTE Data Location on the hard disk where the UCTE files will be stored. Two types of
files are available: ∗ .uct and ∗ .ucte. Additionally, the user may consider all types of files
by typing ∗ .∗ .
Export UCTE voltage >= Only the elements having a voltage grater than the UCTE
voltage specified are exported.
Export branch as single equivalent line By enabling this option the export will convert
the PowerFactory branch definitions into single equivalent lines.
Use first character of characteristic name as branch order code If checked, the char-
acteristic name (first character) is used in the branch order code of the exported UCTE
file.
In PowerFactory , both export and import of CIM (Common Information Model) is supported.
The CIM interface is currently intended for importing/exporting the following profile:
20- 20
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• ENTSO-E 2009
CIM is defined in IEC-61970, and its purpose is to allow the exchange of information related to
the configuration and status of an electrical system.
To import data via the CIM interface, the general procedure is as follows:
• From the main menu go to File → Import. . . → CIM. . . which opens the CIM-Import dia-
logue window.
• Specify the required options and click on the Execute button.
Once the import process has been executed, the project (new or existing) is left activated upon
completion.
The following section describes each of the CIM import dialogue options.
General Settings
Import into
New Project By choosing this option, a project will be created where all the CIM data will
be stored. The user will have the option of specifying a specific name and location (other
than the default).
20- 21
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Active Project By choosing this option, the CIM data will be imported into the active
project.
Import from
CIM File Location on the hard disk of the CIM files. Two types of files are supported: ∗ .zip
and ∗ .xml. Additionally, the user may consider all types of files by typing ∗ .∗ .
separated Files With this setting the user has the option to import the equipment, topol-
ogy and solved state files separately.
Additional Parameters This field is specified for internal use only. No extra information
is required by the user.
As in the other export interfaces, the CIM Export is based on the active project at the moment
the export takes place. To export data via the CIM interface, the general procedure is as follows:
• Activate the project to be exported, considering which Study Case, Scenario and Varia-
tions should be active.
• From the main menu go to File → Export. . . → CIM. . . which opens the CIM-Export dia-
logue window.
General Settings
20- 22
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Export to
CIM File Location on the hard disk where the CIM files will be stored. Two types of files
are supported: ∗ .zip and ∗ .xml. Additionally, the user may consider all types of files by
typing ∗ .∗ .
separated Files With this setting the user has the option to export the equipment, topol-
ogy, and solved state files separately.
Border Nodes Grid Selection of the grid wich contains the X-nodes.
20- 23
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
For a detailed description on the MATLAB interface please refer to Chapter 25: Stability and
EMT Simulation, Section 25.16: MATLAB Interface.
PowerFactory ’s OPC (Object Linking and Embedding for Process Control) interface is an asyn-
chronous communication and data exchange mechanism used in process interaction and is
widely applied in SCADA and control systems.
Figure 20.8.1 illustrates the integration of a SCADA system with PowerFactory via the OPC
interface. In this OPC-implementation, PowerFactory can be used either in engine or normal
mode. Some further characteristics of this integration include:
• Offline
– The bi-directional data exchange is carried out through an explicit command given by
the user in PowerFactory. For example, by pressing a button predefined by the user
in PowerFactory.
20- 24
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• Online
– The bi-directional data exchange is automatically carried out at a certain frequency
rate; where the frequency rate is determined by the user.
Note: The OPC functionality in PowerFactory is not considered part of the base package. For
more information on prices and licensing please contact the sales department at
mail@digsilent.de.
This chapter describes the StationWare interface. An introduction into StationWare ’s general
philosophy is given in Section 20.9.1.
The following two sections describe the overall StationWare architecture (Section 20.9.2) and
the conceptual differences between PowerFactory and StationWare (Section 20.9.3).
Both PowerFactory and StationWare have to be configured before they can be used together
(Section 20.9.4).
The Getting Started section (Section 20.9.5) provides a gentle introduction into the most im-
portant features. The complete documentation can be found in the Reference section (Sec-
tion 20.9.6).
The final Technical Reference (Section 20.9.7) provides some deeper knowledge how Power-
Factory data is converted to StationWare data and vice versa.
The terms StationWare and PSMS are used as synonyms throughout the whole chapter. PSMS
stands for Protection Settings Management System, and stresses the more internal and techni-
cal part of StationWare .
20- 25
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
DIgSILENT StationWare provides a reliable central protection settings database and manage-
ment system for the complete power system substation data, both to manage the various control
parameters and to centrally store substation related information and data, based on latest .NET
technology.
StationWare stores and records all settings in a central database, allows modeling of all relevant
work flow sequences, provides quick access to relay manuals, interfaces with manufacturer
specific relay settings software, and integrates with PowerFactory software, allowing for powerful
and easy-to-use settings co-ordination studies.
Modern numerical relays have a large number of settings that are determined, stored and com-
municated by proprietary software solutions (these may even be suitable for only a particular
manufacturer or even a series or type of relay). This results in a fragmented and distributed set-
tings ”database.” DIgSILENT StationWare provides a single system that incorporates all such
different device protocols, thereby providing one manageable software data storage system,
based on modern IT techniques, facilitating data interfacing and exchange in a transparent and
hassle free manner.
PowerFactory ’s data exchange facility allows it to access the settings stored in StationWare
, such that these may be used as input for the powerful PowerFactory system simulation and
protection setting tools. Settings that are calculated by using these tools may then be transferred
back to StationWare .
20- 26
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
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 20.9.2.
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 forms
or pressing on hyperlinks data is sent to the server. The server interprets such 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 com-
municate 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 Station-
Ware ’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.
20- 27
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Though both in StationWare and in PowerFactory the settings and data associated with protec-
tive devices, such as relays, CTs, VTs and circuit breakers are stored, the systems provide a
different set of concepts how to deal with this data.
In StationWare it is possible to model a location hierarchy and associate the devices to nodes
in this hierarchy (e.g. substations). This has no equivalent on the PowerFactory side where the
devices are stored inside the parent grid (ElmNet) object.
On the other side PowerFactory allows to create a topological representation of networks which
is not supported in StationWare .
This section describes the concept mismatch between PowerFactory and StationWare . In or-
der to use the StationWare interface it’s important to know about the differences between both
applications.
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
20- 28
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
in Figure 20.9.3.
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 20.9.4 for a typical PowerFactory project.
StationWare ’s location concept and PowerFactory ’s project/grid concept hardly fit together.
Thats the reason why the data mapping between PowerFactory and StationWare begins at the
device level which is the subject of the next sections.
Device
20- 29
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
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.
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
20- 30
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
belong somehow together. Its 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 B.2.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.
According to this attribute definition a device can have settings as shown in tables B.3.1 or B.4.1.
On the PowerFactory side there are neither setting nor group nor attribute. There is the Elm-
Relay object and its sub-objects. These objects can have parameters. See table B.5.1 for a
definition and table B.6.1 for an example. The TypRelay type defines components and parame-
ters.
StationWare attributes are somehow mapped to PowerFactory parameters and vice versa. How
this actually is accomplished, is described in Section 20.9.7: Technical Reference. The mapping
is non-trivial since only a small subset of the attributes (the calculation-relevant data) is mod-
eled 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.
20- 31
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Some relays support multiple setting groups (MSG) also called parameter sets. Such relays
have the same group many times (c.f. table B.6.1). 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 StationWare each setting has one life cycle phase e.g. Planning or Applied. At each point in
time a device can have a set of settings e.g. three Planning settings, one Applied setting and
12 Historic settings.
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
20- 32
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
(Historic) setting.
• Exports from PowerFactory to StationWare are restricted to the PowerFactory setting. (Applied
and Historic settings are read-only and can never be changed).
(Actually PowerFactory ’s sophisticated variant management is similar to the phase concept, but
there is no obvious way how to bring them together.)
20.9.4 Configuration
In order to transfer data between PowerFactory and StationWare both systems must be config-
ured.
StationWare Server
An arbitrary StationWare user account can be used for the StationWare interface in PowerFac-
tory. The user must have enough access rights to perform operations e.g. for the export from
PowerFactory to StationWare write-rights must be granted.
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 fulfills 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.
This section is a simple walkthrough and covers the most essential StationWare interface func-
tionality. By using a simple PowerFactory project and simple StationWare substation, it de-
scribes
All (especially the more advanced) options and features are described in the reference section
(see Section 20.9.6: Reference).
20- 33
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
We begin with the StationWare side. We create a substation and two relays within:
In the HTML interface the station detail page should look as shown in Figure 20.9.6.
Since we have just created the device it has no settings, yet. Later it will contain a PowerFactory
setting which reflects the relay state on the PowerFactory side.
20- 34
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• start PowerFactory ,
20- 35
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• right-click the cubicle quadrangle with the mouse. A context menu pops up.
• select New Devices. . . /Relay Model. . . as shown in Figure 20.9.9.
A dialogue pops up that allows you to specify the settings of the new relay (ElmRelay).
PowerFactory ’s object filter mechanism gives an overview over all devices inside the current
project.
20- 36
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• 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 20.9.11.
All calculation relevant relays (actually there only the two we created above) are displayed in a
table (see Figure 20.9.12).
Now the PowerFactory relays must get linked to the StationWare relays.
A Log on to StationWare server dialogue pops up. Since this is the first time PowerFactory
connects to the StationWare server some connection settings must be entered.
20- 37
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• 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.
20- 38
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• press OK.
The connection procedure may take some seconds. If the server could be accessed and the
user could be authenticated a success message is printed into the output window
20- 39
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Otherwise an error dialogue pops up. Correct the connection settings until the connection is
successfully created. The reference section (Section 20.9.6) 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 20.9.15.
• in the same way select Getting Started Relay 2 for the second PowerFactory relay.
Having linked PowerFactory to StationWare devices, the transfer between both systems can be
started.
• mark the relays with the mouse and right-click to get the relay context menu as shown in
Figure 20.9.13.
• select the Export. . . item in the StationWare menu entry
A ComStationware dialogue is shown which allows to specify the export options (See Fig-
ure 20.9.16. See Export and Import Settings in the Section 20.9.6 Reference section for all
export options.
20- 40
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
After a few seconds the relay settings are transferred to the server, and the output window
contains the message
20- 41
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• navigate to the relay detail view of the Getting Started Relay 1 relay (c.f. Fig. 20.9.17)
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. 20.9.18).
20- 42
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
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 PowerFactory.
Again the ComStationware dialogue (see Figure 20.9.16) pops up as known from the export.
Again the result of the settings transfer is reflected in the output window:
• 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.
20.9.6 Reference
This section describes all options and features concerning the StationWare interface.
Almost all functionality can be accessed by the device context menu. Mark one ore more objects
which supports the StationWare transfer e.g. ElmRelay
20- 43
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Import. . . opens the ComStationware dialogue and sets the device selection accord-
ing to the above selected device objects. The ComStationware dialogue settings are
explained in detail in section 20.9.6 : The ComStationware Object.
Select Device ID. . . starts the Browser dialogue (Figure 20.9.23) to link this device to a
StationWare device. The dialogue is subject of section 20.9.6 : The Browser Dialogue.
Connect. . . terminates the current StationWare session if its already existing. Shows
a Log On dialogue. The connection settings are covered by Section 20.9.6. This may
be useful when you are using several StationWare accounts and want to switch between
them.
Connection
20- 44
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Working with PowerFactory the first time the StationWare server is required the Logon dialogue
is shown as shown in Figure 20.9.20.
The StationWare connection options are stored in the user settings (Figure 20.9.21). After each
successful logon the user settings are updated.
The technology PowerFactory and StationWare use to communicate is called web services and
is standardized like many other internet technologies (HTML, HTTP). The server computer (or
more exactly the StationWare service application on the server computer) has a ’name’ by which
it can be accessed. This ’name’ is called service endpoint and resembles a web page URL:
http://the.server.name/psmsws/psmsws.asmx
or
http://192.168.1.53/psmsws/psmsws.asmx
http denotes the protocol, the.server.name is the computer name (or DNS) of the server com-
puter and psmsws/psmsws.asmx is the name of the StationWare application.
Service Endpoint The Service Endpoint denotes the StationWare server ’name’ as de-
scribed above
20- 45
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
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.
As mentioned in the Concept description (see Section 20.9.3: Device) the StationWare device
ID is stored as Foreign Key in the ElmRelay object dialogue (Description page) as shown in
Figure 20.9.22.
A more convenient way is to use the Browser dialogue shown in Figure 20.9.23. 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.
In PowerFactory almost everything is an object: relays are ElmRelay objects, users are IntUser
objects, and grids are ElmNet objects.
What may be on the first sight confusing is the fact that actions are objects as well: for a short-
circuit calculation a ComShc object is created. The calculation can be performed with several
options e.g. 3-Phase, single phase, or 3 Phase to Neutral.
20- 46
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
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 20.9.6) and the export (Sec-
tion 20.9.6). It is located in the projects study case according to PowerFactory conventions.
By default the study case of a new project contains no ComStationWare object. It is automat-
ically 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
Check only Plausibility if the Check only Plausibility flag is enabled the import is only
simulated but not really executed.
Life cycle Phase/Time stam A list of available life cycle phases is shown.
20- 47
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• PowerFactory selects the current setting with PowerFactory phase as source setting.
• if Applied is selected the current Applied setting is transferred. If additionally a Timestamp
value is entered the setting that was applied at this time is transferred which may either be
Applied or Historic.
All Devices If All Devices is enabled, all calculation-relevant devices are imported. De-
vices not supported by StationWare are ignored.
Device Selection Unless All Devices is enabled, the Device Selection provides a more
subtle way to specify which devices are to be transferred. The Device Selection parame-
ter can be
20- 48
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
• a SetSelect object: a SetSelect is a container that may hold several objects. All of them
are transferred, except the ones not supported by StationWare
• a SetFilt object: the SetFilt is the most flexible way to specify the device selection e.g. you
can select all devices in the project of type ElmRelay and whose name begin with PW. . . .
All Settings Groups/Group Index This parameter specifies how multiple settings groups
(MSG) are handled.
• If the relay in StationWare has MSGs and the PowerFactory relay model supports MSGs
and
– All Settings Groups is enabled: then all groups are transferred
– All Settings Groups is disabled: then only the Group Index -th group is transferred.
• If the relay in StationWare has MSGs and the PowerFactory relay model doesn’t support
MSGs: then the Group Index-th group is imported.
20- 49
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
Export Options
The export options are almost identical to the import options (Figure 20.9.25):
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.
The purpose of this section is to describe what happens internally inside PowerFactory when
device settings are exported or imported.
20- 50
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
This section also explains how new device types are integrated. PowerFactory is delivered with
a library of relay models. This library cannot contain all relays of all manufacturers. A way how
to enhance the library for new device types is shown in this section as well. The StationWare
interface is heavily based on DPL (DIgSILENT Programming Language) which is documented
in a separate DPL Manual.
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 objects and its sub-objects 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 anything. That’s exactly 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 ).
Type data like TypRelay objects should be located in a library folder e.g. in the project library. If
it is referenced from several projects, it belongs into a global library. See Figure 20.9.26 for an
example database structure.
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:
20- 51
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
We use the StationWare device type example shown in table B.2.1 from the Concept section
(Section 20.9.3 1.3) and the PowerFactory device type as shown in table B.4.1 22.3.
The StationWare attributes are G.a, G.b, G.c, H.d, and H.e, the PowerFactory parameters are
I>:o, Logic:p, Logic:q, Ios:r, and Ios:s.
Only the attributes G.a, G.c, and H.d and the parameters I>:o, Logic:p, and Ios:r are mapped.
The others are ignored since there is no equivalent concept on the other system.
Input Parameters this table holds the StationWare attributes. The Name has the format
[group name] [attribute name]
The Type may either be int (for integer numbers), double (for floating point numbers), or
string (for string and enum values).
The Value field must be empty. The attribute unit has to inserted in the Unit field if
appropriate. A Description may be inserted, too.
External Object this table contains exactly one entry: an object with the Name Relay.
The object column must be empty.
The Input parameters get initialized with the StationWare attribute values and the External Ob-
ject with the current relay.
The second page of the ComDpl script holds the output parameters. They have the meaning
as follows.
20- 52
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
General Selection 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. Oth-
erwise it may hold an error message which is displayed in the output window.
The code must be a valid DPL program. It should set the relay parameters according to the
input parameters.
Export Scripts
The export direction is almost symmetric to the import process. Be d the device whose setting
is to exported:
External Object this table contains exactly one entry: an object with the Name Relay.
The object column must be empty.
The second page of the ComDpl script holds the output parameters. They have the meaning as
follows.
Result Parameters the table must have the first entry with Name Result of Type String.
The DPL script should set this parameter to OK if the import procedure was successful.
Otherwise it may hold an error message which is displayed in the output window.
Below the Result parameter are the StationWare attributes.
The code must be a valid DPL program. It should not change the database.
This section gives some practical guidelines how to create the conversion scripts for new types.
First create a test environment:
• 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.
20- 53
DIgSILENT PowerFactory CHAPTER 20. POWERFACTORY INTERFACES
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.
For a further detailed description on API, a reference document is available upon request
20- 54
Part IV
55
Chapter 21
21.1 Introduction
Whenever evaluating the operation and control of power systems, the electrical engineer is
typically encountered with questions such as:
Although we may consider that the above questioning would arise only when analyzing the
behavior of ”existing” power systems; the same interrogations can be formulated when the task
relates to the analysis of ”future” systems or ”expansion stages” of an already existing power
system; such as evaluating the impact of commissioning a transmission line or a power plant,
or the impact of refurbishment or decommissioning of equipment (for example shutting down a
power plant because it has reached its life expectancy).
1
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.1.1: Power System Analysis: System Operation and System Planning
Taking into account these two aspects: 1) Present operation and 2) Future operation, is how
power should be analyzed. From one side, an operation or control engineer requires relevant
information to be available to him almost immediately, meaning he must be able to obtain some-
how the behavior of the power system under different configurations that can occur (for example
by opening or closing breakers in a substation); on the other side, a planning engineer requires
obtaining the behavior of the system reflecting reinforcements that have not yet been built while
considering the corresponding yearly and/or monthly load increase. Regardless of the perspec-
tive, the engineer must be able to determine beforehand the behavior of the power system in
order to establish, for example, the most suitable operation configuration or to detect possible
weakness and suggest solutions and alternatives. Figures 21.1.2 and 21.1.3 illustrate the
system operation and planning aspects.
21- 2
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Load flow calculations are used to analyze power systems under steady-state non-faulted (short-
circuit-free) conditions. Where steady-state is defined as a condition in which all the variables
and parameters are assumed to be constant during the period of observation. We can think
of this as ”taking a picture” of the power system at a given point in time. To achieve a better
understanding let us refer to Figure 21.1.4. Here a 24 hour load demand profile is depicted.
The user can imagine this varying demand to be the demand of a specific area or region, or the
demand of a whole network. In this particular case the load is seen as increasing from early in
the morning until it reaches its maximum at around 18:00 hrs. After this point in time, the total
load then begins to decrease. A load flow calculation is stated to be a steady-state analysis
because it reflects the system conditions for a certain point in time, such as for instance at 18:00
hrs (maximum demand). As an example, if we require determining the behavior of the system
for every hour of the day, then 24 load flows need to be performed; if the behavior for every
second is required then the number of load flow calculations needed would amount to 86 400.
In PowerFactory , the active power (and/or reactive power) of the loads can be set with a Char-
acteristic so they follow a certain profile (daily, weekly, monthly, etc.). By doing so, the active
power will change automatically according to the date ant time specified. For more information
please refer to Chapter 16(Parameter Characteristics, Load States, and Tariffs).
21- 3
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
A load flow calculation will determine 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 can be divided in normal and abnor-
mal (Contingency) system conditions as follows:
• Optimization tasks, such as minimizing system losses, minimizing generation costs, open
tie optimization in distributed networks, etc.
• Verification of system conditions during reliability calculations.
• Automatic determination of optimal system resupplying strategies.
• Optimization of load-shedding.
• Calculation of steady-state initial conditions for stability simulations or short-circuit calcu-
lations using the complete superposition method (special cases).
Regarding the above definitions of ”normal” and ”abnormal” system conditions, a distinction
should be made in terms of the manner simulations should be performed:
21- 4
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Simulation of normal operating conditions: Here, the generators dispatch as well as the
loads are known, and it is therefore sufficient for the load flow calculation to represent
these generators dispatch 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.
Simulation of abnormal operating conditions: Here a higher degree of accuracy from the
models is needed. 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 de-
pendency 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 therefore able to represent unbalanced
networks for load flow calculations as well.
The calculation methods and the options provided by PowerFactorys load flow analysis function
allow the accurate representation of any combination of meshed 1-, 2-, and 3-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 traditional requirement of a slack generator
is left optional to the user.
The most considerable effect of the resistance of transmission lines and cables is the generation
of losses. The conductor resistance will at the same time depend on the conductor operating
temperature, which is practically linear over the normal range of operation. In order to carry
out such type of analysis, PowerFactory offers a Temperature Dependency option, so that the
conductor resistance is corrected according to the specified temperature value.
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 (linear)”, 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 Power-
Factory’s load flow tool. This information is a guide to the configuration of the PowerFactory
load flow analysis command
This section presents the general aspects of the implementation of PowerFactory’s load flow
calculation tool. An understanding of the concepts introduced here should be sufficient back-
ground to manage the options presented in the load flow analysis command dialogue. Further
technical details related to the models (Network Components) implemented in PowerFactory for
load flow calculations are provided in the Technical References.
21- 5
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
A load flow calculation determines the voltage magnitude (V) and the voltage angle (ϑ) of the
nodes, as well as the active (P) and reactive (Q) power flow on branches. Usually, the network
nodes are represented by specifying two of these four quantities. Depending on the quantities
specified, nodes can be classified as:
• PV nodes: here the active power and voltage magnitude are specified. This type of
node is used to represent generators and synchronous condensers whose active power
and voltage magnitude are controlled (synchronous condensers P=0). In order to con-
sider equipment limits under abnormal conditions (as mentioned in the previous section),
reactive power limits for the corresponding network components are also used as input
information.
• PQ nodes: here the active and reactive power are specified. This type of node is used to
represent loads and machines with fixed values. Loads can also be set to change (from
their original Po and Qo values at nominal voltage) as a function of the voltage of the node
to which the load itself is connected. Elements specified as PQ (for example synchronous
machines, static generator’s PWM converters or SVS’s) can be ”forced” by the algorithm
so that the P and Q resulting from the load flow are always within limits.
• Slack node: here the voltage magnitude and angle are fixed. In traditional load flow cal-
culations the slack node (associated with a synchronous generator or an external network)
carries out the balancing of power in the system.
• Device nodes: special nodes used to represent devices such as HVDC converters, SVSs,
etc., with specific control conditions (for example the control of active power flow at a
certain MW threshold in a HVDC converter, or the control of the voltage of a busbar by an
SVS).
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 net-
work elements connected to these nodes are defined (see the Load Flow tab of each elements
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);
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
21- 6
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
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 21.2.2.
In PowerFactory the nodal equations used to represent the analyzed networks are implemented
using two different formulations:
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 se-
lected 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” for-
mulation usually converges best. Distribution systems, especially unbalanced distribution sys-
tems, usually converge better using the ”Current Equations” formulation.
In addition to the Newton-Raphson iterations, which solve the network nodal equations, Pow-
erFactory applies an outer loop when the control characteristic of automatic transformer tap
changers and/or switchable shunts is considered. Once the Newton-Raphson iterations con-
verge 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 21.2.1)), the outer loop is applied in order to reach these target values. The actions taken
by the outer iterative loop are:
Once the above-listed actions are taken, a new Newton-Raphson load flow iteration takes place
in order to determine the new network operating point.
21- 7
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.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 admissible. 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 se-
quence) and unbalanced (AC Load Flow Unbalanced, 3-phase (ABC)) load flows according to
the descriptions above.
In addition to the ”AC” load flow calculations presented in this section, PowerFactory offers a
so-called ”DC” load flow calculation method. The DC load flow should not be interpreted as a
method to be used in case of DC systems given that it basically applies to AC systems.
Some occasions we may require performing fast analysis in complex transmission networks
where only a reasonable approximation of the active power flow of the system is needed. For
such situations the DC load flow can be used. Other applications of the DC load flow method
include situations where the AC load flow has trouble converging (see Section 21.5: Trou-
bleshooting Load Flow Calculation Problems).
21- 8
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
In this particular method, 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. By doing so 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. Summarizing, the DC load flow method has the following characteristics:
Besides the traditional approach of using a slack generator to establish the power balance within
the system, PowerFactory ’s load flow calculation tool provides other active power balancing
mechanisms which more closely represent the reality of transmission networks (see selection in
the Active Power Control tab of the load flow command). These mechanisms are implemented
in the steady-state according to the control processes that follow the loss of large power stations:
21- 9
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
(Kpf ) of their primary controllers and which is depicted in Figure 21.2.2. If the Active
Power Control option According to Primary Control is selected in PowerFactory ’s load
flow command, the power balance is established by all generators (synchronous genera-
tors, static generators and external grids) having a primary controller gain value different
than zero (parameter Prim. Frequency Bias in the Load Flow tab page - Figure 21.2.3).
The modified active power of each generator is then calculated according to the following
equation:
where,
Pi is the modified active power of generator i, Pi−dispatch is the initial active power dispatch
of generator i and ∆Pi is the active power change in generator i.
The active power change of each generator (∆Pi ) will be determined by its corresponding
primary controller gain value (Kpf −i ) and the total frequency deviation.
where,
Kpf −i is the primary controller gain parameter of generator i and ∆f is the total frequency
deviation. The total frequency deviation (∆f ) can be obtained according to:
∆PT ot
∆f = P (21.3)
Kpf
where ∆PT ot corresponds to the active power change sum of every generator:
n
X
∆PT ot = ∆Pj (21.4)
j=1
21- 10
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.3: Primary Frequency Bias (Kpf ) Setting in the Load Flow Tab Page of the Syn-
chronous Machine Element (ElmSym)
where,
21- 11
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Pi is the modified active power of generator i, Pi−dispatch is the initial active power dispatch
of generator i and ∆Pi is the active power change in generator i.
The active power change of each generator (∆Pi ) will be determined by its corresponding
inertia gain (Kpf −i ) and the total frequency deviation, as follows:
where,
∆f is the total frequency deviation and Kpf −i is the inertia gain parameter of generator i,
which can be calculated as:
Kpf −i = J · ωn · 2π (21.7)
with
Tags
J = Sn · (21.8)
ωn2
where,
J is the moment of Inertia,
ωn is the rated angular velocity,
Sn is the generator nominal apparent power and
Tags is the acceleration time constant rated to Sn
21- 12
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.4: Inertia/Acceleration Time Constant Parameter of the Synchronous Machine Type
(TypSym). RMS-Simulation Tab Page
21- 13
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Note: The Secondary Control option will take into account the participation factors of the
machines defined within a Power-Frequency Controller (ElmSecctrl) in order to compensate
for the frequency deviation. In such a case, the final steady state frequency is considered to be
the nominal value (number 1 in Figure 21.2.5). The Primary Control option will take into
account the frequency droop (MW/Hz) stated in every machine in order to determine the active
power contribution. Depending on the power unbalance, the steady state frequency will deviate
from the nominal value (number 2 in Figure 21.2.5). The According to Inertias option will take
into account the inertia/acceleration time constant stated in every machine in order to
determine its active power contribution. In this case, depending on the power unbal-
ance, the steady state frequency will deviate from the nominal value (number 3 in Figure 21.2.5).
The reactive power reserves of synchronous generators in transmission networks are used
to control the voltages at specific nodes in the system and/or to control the reactive power
exchange with neighboring network zones. In PowerFactory ’s load flow calculation, the voltage
regulator of the generators has a voltage setpoint which can be set manually (defining a PV bus
type as introduced in Section 21.2.1), or from an Automatic Station Controller (ElmStactrl). This
Automatic Station Controller combines several sources of reactive power to control the voltage
at a given bus. In this case the relative contribution of each reactive power source (such as
generators and SVSs) is defined in the Station Controller dialogue. For further details about
the use and definition of Automatic Station Controllers please refer to Appendix C: Technical
References of Models, section C.4.4: Station Controller (ElmStactrl).
All non-motor loads, as well as groups of non-motor loads that conform a sub-system, for exam-
ple, a low-voltage system viewed from a medium voltage system, can be modelled as a ”general
load”.
Under ”normal conditions” it is permissible to represent such loads as constant PQ loads. How-
21- 14
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
ever under ”abnormal conditions”, for example during voltage collapse situations the voltage-
dependency of the loads should be taken into account.
e aP e bP e cP !
v v v
P = P0 aP · + bP · + (1 − aP − bP ) · (21.9)
v0 v0 v0
where,
cP = (1 − aP − bP )
e aQ e bQ e cQ !
v v v
Q = Q0 aQ · + bQ · + (1 − aQ − bQ) · (21.10)
v0 v0 v0
where,
cQ = (1 − aQ − bQ)
By specifying the particular exponents (e aP, e bP, e cP and e aQ, e bQ, e cQ) the inherent load
behavior can be modelled. For example, in order to consider a constant power, constant current
or constant impedance behavior, the exponent value should be set to 0, 1 or 2 respectively. In
addition, the relative proportion of each coefficient can be freely defined using the coefficients
aP, bP, cP and aQ, bQ, cQ. For further information, please refer to the General Load technical
reference.
Note: These factors are only considered if the ”Consider Voltage Dependency of Loads” is
checked in the Load-flow Command window. If no Load Type (TypLod) is assigned to a load,
and the load flow is performed considering voltage dependency then the load will be
considered as Constant Impedance.
In radially operated distribution systems the problem often arises that very little is known about
the actual loading of the loads connected at each substation. The only information sometimes
available is the total power flowing into a radial feeder. To be able to still estimate the voltage
profile along the feeder a load scaling tool is used. In the simplest case the distribution loads
are scaled according to the nominal power ratings of the trans-formers in the substations. Of
course, more precise results are obtained by using an average daily, monthly or annual load.
The previous is explained in Figure 21.2.6. Here, the measured value at the beginning of the
feeder is stated to be 50 MW. Throughout the feeder there are three loads defined, of which
only for one of them the load is precisely known (20 MW). The other two loads are estimated to
be at around 10 MW each. PowerFactory ’s load flow analysis tool offers a special Feeder Load
Scaling option so that the selected groups of loads (scalable loads) are scaled accordingly in
order to meet the measured value.
21- 15
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
In PowerFactory the following options for Feeder Load Scaling are available:
• No scaling.
Furthermore, the previous options can be combined; for example, scaling a selected groups of
loads in order to meet a measured active power and power factor.
Note: Loads that are to be scaled must be marked as such (Adjusted by Load Scaling), also
the load scaling must be enabled in the load flow command option (Feeder Load Scaling).
The feeder load scaling process also can take into account the different type of load behavior
represented. Figure 21.2.7 illustrates just this. Here, a radial feeder consisting of three different
type of loads is depicted (constant power, constant current and constant impedance). Under
such assumptions, performing a load flow calculation with the option Consider Voltage Depen-
dency of Loads (see previous Section), will result in calculated base quantities according to
the type of load specified; for example, Ibase for the constant current load and Zbase for the
constant impedance load. If in addition to the voltage dependency of loads, the Feeder Load
Scaling option is enabled, the calculated scaling factor k is applied according to the type of load
defined in the feeder.
21- 16
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.7: Feeder Load Scaling Factor Considering Different Behavior of Loads
In PowerFactory , the amount of Feeder definitions is not limited to the amount of radial paths
represented in the model. This means that the user can define more than one feeder element
(ElmFeeder ) along the same radial path, as indicated in Figure 21.2.8 In this particular example,
both Feeder 1 and 2 have the same specified orientation (→ Branch). While Feeder 1 is defined
from the beginning of the radial path, Feeder 2 is defined after load L2. This particular type
of feeder representation is termed as Nested Feeders. Since Feeder 1 is defined from the
beginning of the radial path, every load (L1, L2, L3 and L4), as well as every feeder (Feeder
2) along this path will be considered as part of its definition. Since Feeder 2 is along the path
defined for Feeder 1; Feeder 2 is nested in Feeder 1.
In such cases, executing the load flow (with the option Feeder Load Scaling) will treat the two
feeders as independent. Although nested, Feeder 1 will only try to scale loads L1 and L2
according to its setting, while Feeder 2 will scale loads L3 and L4. If Feeder 2 is placed Out of
Service, then Feeder 1 will scale all the loads along the radial path (L1, L2, L3 and L4).
For further information on Feeder definitions please refer to Chapter 13, Section 13.6 (Feeders).
Loads can be scaled individually by adjusting the Scaling Factor parameter located in the Load
Flow tab page of the Load Element.Together with the scaling factor, the actual load is calculated
as follows:
P = Scale · P0 (21.11)
21- 17
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Q = Scale · Q0 (21.12)
If voltage dependency of loads is considered then Equations ( 29.9) and ( 29.10) become;
e aP e bP e cP !
v v v
P = Scale · P0 aP · + bP · + (1 − aP − bP ) · (21.13)
v0 v0 v0
e aQ e bQ e cQ !
v v v
Q = Scale · Q0 aQ · + bQ · + (1 − aQ − bQ) · (21.14)
v0 v0 v0
Note: In order to consider a load in the feeder-load-scaling process, the option Adjusted by
Load Scaling has to be enabled. In this case, the individual Scaling Factor of the load is not
taken into account but overwritten by the feeder-scaling factor.
Additionally, loads can be grouped in zones, areas or boundaries so the scaling factor can be
easily edited. In case of zones, there will be an additional Zone Scaling Factor.
In a low voltage system every load may consist of a fixed component with a deterministic amount
of power demand plus a variable component comprising many different, small loads, such as
lights, refrigerators, televisions, etc., whose power varies stochastically between zero and a
maximum value. Under such conditions, PowerFactory uses a probabilistic load flow calculation,
which is able to calculate both maximum and average currents as well as the average losses
and maximum voltage drops. The probabilistic load flow calculation used by PowerFactory can
be applied to any system topology, including meshed low-voltage systems.
PowerFactory ’s probabilistic load flow calculation uses low voltage loads comprised of several
customers with fixed and variable (stochastic) demand components. The maximum value of the
variable component (which is dependent upon the number of customers, n) is described by the
following formula:
Where Smax is the maximum variable load per connection (customer) and the function g(n)
describes the maximum coincidence of loads, dependent upon the number of connections, n. If
a Gaussian distribution is assumed, the coincidence function is:
1 − g∞
g(n) = g∞ + √ (21.16)
n
21- 18
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Note: Low voltage loads can be represented in PowerFactory by Low Voltage Load (ElmLodlv )
elements which can be directly connected to terminals or by Partial Low Voltage Loads
(ElmLodlvp) which are defined along transmission lines/cables (see the Defi-
nition of Line Loads section on the Load Flow tab of transmission line/cable elements - ElmLne).
The most important effect of the resistance of transmission line and cable conductors is the
generation of losses (I2 R). Resistance will also affect the voltage regulation of the line due to
voltage drop (IR).
The resistance of a conductor is mainly affected by the operating temperature, and its variation
can be considered practically linear over the normal range of operation (an increase in temper-
ature causes an increase in resistance). In PowerFactory , the load flow calculation has two
options for considering the Temperature Dependency of resistance for lines and cables:
• at 20◦ C: When this option is selected, the load flow calculation uses the resistances (lines
and cables) stated in the Basic Data tab page of the corresponding component (TypLne,
TypCon, TypCab).
21- 19
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.9: Specification of the Resistance at 20C in the Basic Data tab page of the line type
(TypLne)
• at Maximum Operational Temperature: When this option is selected, the load flow cal-
culation uses the corrected value of resistance, which is obtained with the following equa-
tion:
where,
R20 is the resistance at temperature 20◦ C (Basic Data tab of the corresponding type)
Tmax is the maximum operational temperature (Load Flow tab of the corresponding type)
21- 20
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.10: Temperature Dependency Option Setting in the Load Flow tab page of the line
type (TypLne)
Additionally, the resistance temperature dependency can be defined by specifying either the
resistance at maximum operational temperature, the temperature coefficient (1/K) or the con-
ductor material (Aluminium, Copper or Aldrey).
Table 32.4.1indicates the electrical resistivities and temperature coefficients of metals used in
conductors and cables referred at 20◦ C/68◦ F (taken from IEC 60287-1 standard).
Table 21.2.1: Electrical Resistivities and Temperature coefficients of Aluminium and Copper
21- 21
DIgSILENT PowerFactory CHAPTER 21. 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.
The following pages describe the different load flow command (ComLdf ) options. for more detail
technical background regarding the options presented here, please refer to Section 30.2.
Calculation Method
21- 22
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Performs load flow calculations for a single-phase, positive sequence network represen-
tation, valid for balanced symmetrical networks. A balanced representation of unbalanced
objects is used (for further details please refer to Section 21.2.1).
erforms 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 single-phase- or two-phase systems (with or without neutral return). For further details
please refer to Section 21.2.1.
Performs a DC load flow based on a set of linear equations, where the voltage angles
of the buses are strongly related to the active power flow through the reactances of the
individual components (for further details please refer to Section 21.2.1).
Adjusts the taps of all transformers which have the option Automatic Tap Changing en-
abled on the Load Flow tab of their element dialogues. The tap adjustment is carried out
according to the control settings defined in the transformer element’s dialogue (for further
information please refer to the corresponding Technical Reference).
Adjusts the steps of all switchable shunts that have the option Switchable enabled on
the Load Flow tab of the shunts element dialogue (for further information please refer to
corresponding Technical Reference).
Considers the reactive power limits defined by generators and SVSs. If the load flow
cannot be solved without exceeding the specified limits, a convergence error is generated.
If this option is not enabled, PowerFactory will print a warning message if any of the
specified limits are exceeded.
This option is only available if Consider Reactive Power Limits is enabled. If selected,
the reactive power limits of generators are scaled by the relaxation factors: Scaling fac-
tor (min) and Scaling factor (max) which are set on the Load Flow tab of the generator
element’s dialogue. Note that the reactive power limits of generators are also defined
on the Load Flow tab of the generator element’s dialogue by one of the following: maxi-
mum/minimum values, or according to the generators assigned type.
Load Options
The voltage dependency of loads with defined voltage dependency factors (Load Flow
tab of the general- and complex load types) will be considered.
21- 23
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
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. In this case, the Scaling Factor specified on the Load Flow tab of
load element dialogue is disregarded.
Calculates a ’low voltage load flow’ as described in Sections 21.2.3 and 21.3.6, where
load coincidence factors are considered, so as to produce maximum branch currents and
maximum voltage drops. Since coincidence factors are used, the result of low voltage
analysis will not obey Kirchhoff’s current law. After the load flow has been successfully
executed, maximum currents (Imax), maximum voltage drops (dumax) and minimum volt-
ages (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.
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.
...at 20◦ C
The resistance of each line, conductor and cable will be according to the value stated in
the Basic Data tab page of their corresponding type (at 20◦ C).
The resistance of each line, conductor and cable will be adjusted according to the equa-
tion ( 29.18) described in Section 21.2.4 and the Temperature Dependency option stated
in its corresponding type (TypLne, TypCon, TypCab).
As explained in Section 21.2.2, PowerFactory ’s load flow calculation offers several options for
maintaining power balance within the system under analysis. These options are:
as Dispatched:
If this option is selected and no busbar is assigned to the Reference Busbar (Reference
Bus and Balancing section of the Active Power Control tab), the total power balance
is established by one reference generator/external grid (”slack”-generator). The slack
generator can be directly defined by the user on the Load Flow tab of the target element.
The program automatically sets a slack if one has not been already defined by the user.
Power balance is established by all generators having a Kpf -setting defined (on the Load
21- 24
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
according to Inertias:
Power balance is established by all generators, and the contribution of each is according
to the inertia (acceleration time constant) as explained in Section 21.2.2.
Active power limits for generators (as defined on the elements Load Flow tab) participat-
ing in active power balance, will be applied. If this option is disabled, the active power
output limits may be violated, in which case a warning is issued. This option is not avail-
able when the Active Power Control option is set to either as Dispatched or according to
Inertias.
If as Dispatched is selected in the Active Power Control section of the tab, further options
regarding the location of the reference busbar and the power balancing method are available:
For each isolated area, the reference machine will balance the active power.
This option is valid only when the reference bus bar has been defined. The load with
highest active power injection at the reference bus will be selected as the slack (such as
to balance the losses).
As in the case of Balancing by Load, this option is valid only when the reference bus bar
has been defined. The static generator with the highest nominal apparent power at the
reference bus will be selected as the slack (i.e. to balance the losses).
When this option is selected, only the loads which have the option Adjusted by Load
Scaling enabled in the isolated area will contribute to the balancing. The distribution
factor calculated for a load is determined by the following equation:
Pini,i
Ki = n (21.19)
X
Pini,j
j=1
where,
21- 25
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.3.2: Adjusted by Load Scaling option in the Load Flow tab page of the Load element
(ElmLod)
All the synchronous generators in the isolated area will contribute to the balancing. As in
the Distributed Slack by Loads option, the distribution factor calculated for a generator is
determined by the following equation:
Pini,i
Ki = n (21.20)
X
Pini,j
j=1
where,
Interchange Schedule:
This option is available only when the Distributed Slack by Loads or Distributed Slack by
Generation is selected. It allows the loads or generation in a region to be scaled up or
down to control the interchange of this region. The type of the region could be:
Grids: Available for both distributed load slack and distributed generation.
Zones: Available for both distributed load slack and distributed generation.
Boundaries: Only available for distributed load slack.
In the load flow page of the grid, zone or boundary elements, the following operational
parameters are available:
21- 26
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Consider Interchange Schedule: Enables or disables the Interchange Schedule for this re-
gion. By default this option is not selected.
Scheduled active power interchange: States the expected interchange of the grid, zone or
boundary.
Figure 21.3.3: Consider Interchange Schedule option in the Load Flow tab page of the Grid
element (ElmNet)
Reference Busbar:
A different busbar to the one connecting the slack machine (or network) can be selected
as a reference for the voltage angle. In this case the user must specify the value of
the voltage angle at this selected reference bus, which will be remotely controlled by the
assigned slack machine (or network).
Angle:
User-defined voltage angle for the selected reference busbar. The value will be remotely
controlled by the slack machine (external network). Only available if a Reference Busbar
has been selected.
As explained in Section 21.2.1, the nodal equations used to represent the analyzed networks
are implemented using two different formulations:
In both formulations, the resulting non-linear equation systems must be solved using 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, espe-
cially when heavily loaded, the classical 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.
21- 27
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
No Topology Rebuild
Will speed up large sets of consecutive load flow calculations. Enabling this option means
that the topology of the system will not be rebuilt when calculating the next load flow. If
no topological changes will be made to the system between these consecutive load flow
calculations, then this option may be enabled.
Sets the manner in which voltage initialisation takes place at nodes. Reducing the re-
laxation factor results in an increased number of iterations, but yields greater numerical
robustness.
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.
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 (Elm-
Stactrl). Please refer to Appendix F.4.4 (Station Controller (ElmStactrl)) for information on sta-
tion controllers and their control modes.
The equations of the lines are modelled in the tower. It should be noted that selecting this
option will result in slower performance.
ignore couplings
equations in lines
The constant impedance and admittance matrices are calculated by the tower and used
21- 28
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
to develop the equations of the lines. The equations involving coupling are modeled in
the lines; consequently, using this option results in faster performance than using option
with in/output signals.
The results of this load flow calculation are used to initialize the OPF calculation.
The options on this tab relate to the non-linear equation solver and are therefore only available
for PowerFactory ’s AC load flow calculation methods.
The load flow calculation comprises an inner loop involving the Newton-Raphson method (see
Section 21.2.1), and an outer loop to determine changes to tap settings and to consider gen-
erator reactive power limits. Default values for the maximum number of iterations for these two
loops are 25 iterations for the inner loop, and 20 iterations for the outer loop.
The inner loop of the load flow involves the Newton-Raphson iterations. This parameter
defines the maximum number of iterations (typically 25).
The outer loop of the load flow calculation will determine changes to the tap changer
(depending on the tap adjustment method selected), and considers reactive power limits
of generators, etc. These are adjusted in the outer loop and then a new iteration of
the inner loop is started again (see Section21.2.1). The maximum number of outer loop
iterations (typically 20) is set by this parameter.
Problematic load flows with slow convergence may be improved by starting a load flow
calculation for a low load level, and then increasing the load level in a number of steps.
This is achieved by setting the Number of Stairs to a value greater than one. For example,
nsteps = 3 begins a load flow at a load/generation level of 1/3 and the increases the
power to 100% over two further steps.
A higher precision or a faster calculation can be obtained by changing the maximum allowable
error (i.e. tolerance). The values of the calculated absolute error for nodes, or the calculated
relative errors in the model equations, e.g. voltage error of voltage controlled generators, are
specified here.
Nodes - errlf Maximum Iteration Error of Nodal Equations (typical value: 1 kVA). Model Equa-
tions - erreq Maximum Error of Model Equations (typical value: 0.1%).
Convergence Options
Relaxation Factor
A Newton-Raphson relaxation factor smaller than 1.0 will slow down the convergence
speed of the load flow calculation, but may result in an increased likelihood of conver-
21- 29
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
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.
21.3.5 Outputs
Will print a report concerning the outer loop iterations, which may be used to solve con-
vergence problems.
Will print a detailed report throughout the load flow calculation. When enabling this op-
tion the Number of reported buses/models per iteration can be stated. As a result, the
required number of buses and models with the largest error will be reported (e.g. by
stating 3, the 3 buses and models with the largest error will be printed out in the out-
put window). As in the case of Outer Loop messages, this information can be useful in
solving convergence problems.
Produces a table in the output window with a list of overloaded power system elements and
voltage violations, according to the following values:
Reference value for the minimum allowed voltage used by the Verification Report.
Reference value for the maximum allowed voltage used by the Verification Report.
Output
Displays the report format definition that will be used. The arrow button can be pressed
to edit or inspect the report settings. This option is only available if Show Verification
Report is selected.
As explained in Sections21.2.3 and 39.4.1, low voltage loads (ElmLodlv and ElmLodvp) are
modelled in PowerFactory with fixed and variable (stochastic) components. The parameters
which define these fixed and variable components are set in both the load flow command di-
alogue (i.e. globally), and in the load types dialogues (i.e. locally) according to the settings
defined below.
21- 30
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
The fixed load is the non-stochastic component of the load, which is not subject to coincidence
factors. The active and reactive power defined in this field, multiplied by the number of cus-
tomers (defined in the load element itself), are added to the fixed load component defined for
each low voltage load (ElmLodlv and ElmLodvp). For further information about LV loads please
refer to the corresponding technical references: F.2.6 and F.2.7.
The variable component of low voltage loads can be globally defined using the parameters in
this section or by specifically defining LV load types for the target loads.
The Max. Power per Customer is the independent maximum kVA per customer. This value,
multiplied by the Coincidence Factor (ginf) (see Section 21.2.3), gives the ”Average Power” per
customer, which is used in load flow calculations.
The ’total’ maximum variable power per load is calculated using the Max. Power per Customer,
the Coincidence Factor (ginf ), and the number of customers (defined in the load element itself)
as described in Section 21.2.3.
For further information about LV loads please refer to the corresponding technical references:
F.2.6 and F.2.7.
Note: The factors defined in the section Definition of Variable Load per Customer are used as
global data for the load flow calculation. If specific LV load types are defined, the
locally-defined data in the type is used by the corresponding loads.
For all other LV loads with no type assigned, the global data from the load flow command is used.
For the consideration of the stochastic nature of loads, PowerFactory offers two calculation
methods:
• Stochastic Evaluation
• Maximum Current Estimation
The Stochastic Evaluation method is the more theoretical approach, and can also be applied to
meshed network topologies. The Maximum Current Estimation method applies stochastic rules
only for the estimation of maximum branch flows. Based on the maximum current flow in each
branch element, maximum voltage drops are calculated and added along the feeder. Obviously,
this method has its limitations in case of meshed LV networks.
This page, as shown in Figure 21.3.4, is not only important for load flow but also for other
calculation functions such as transient simulation. Utilizing the options on this page can result
in improved performance; i.e. the speed of a transient simulation may improved when protection
devices are neglected in the calculation.
21- 31
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.3.4: Advanced Simulation Options in the load flow command dialogue
Calculates the tripping times for all modeled relays and fuses. This will also show the load
currents in the overcurrent plots and/or the measured impedance in the R-X diagrams.
Disabling this option will speed up the calculations.
Disables all controller models. The panes Models Considered and Models Ignored are
used to disable specific groups of controller models. Model names can be moved be-
tween these panes by either double-clicking on them or by selecting them and using the
arrow buttons. Enabling this option may result in faster convergence, or an increased
likelihood of convergence for systems which are otherwise difficult to solve.
21- 32
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
In PowerFactory the results can be displayed directly in the single line diagram, in tabular form
or by using predefined report formats. Also available are several diagram colouring options in
other to have a ”quick” overview of the results.
Once a load flow calculation has been successfully executed, the result boxes shown in the
single-line diagram will be populated. There is a result box associated with each ”side” of an
element. So for example a load has one result box, a line two result boxes, and a three-winding
transformer three result boxes. In PowerFactory these elements are collectively called edge
elements. In addition, there are result boxes for nodes or buses.
The information shown inside a result box depends on the element to which it is associated.
There are a few predefined formats for edge elements and a few predefined formats for buses.
In order to see the selection, first perform a load flow, then, from the main menu, select Output
→ Results for Edge Elements or Output→ Results for Buses. These menu options will show
the list of available result box formats. Alternatively, you can select (click) inside a result box on
the single-line diagram, then right-click and from the context sensitive menu choose Format for
Edge Elements or in case of a node Format for Nodes. Figure 21.4.1 serves as an example.
Figure 21.4.1: Selecting the Result Box from the Single Line Diagram.
Besides these predefined formats the result boxes can be formatted in order to display selected
variables.
By right-clicking on one of the result boxes and selecting the option Edit Format for Edge Ele-
ments and afterwards pressing the Input Mode button three options will be available: Predefined
Variables, User Selection or Text Editor. The ”User Selection” option will allow the selection of
any of the available variables.
Once a load flow calculation has been successfully executed, pressing the ”Edit Relevant Ob-
jects for Calculation” button ( ) located on the main menu will prompt a submenu with icons
for all classes that are currently used in the calculation. Clicking any of the class-icons will open
21- 33
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
a browser with all elements of that class that are currently used in the calculation. The left-most
tab-page at the bottom of the browser is the ”Flexible Data” tab page. Click on this tab page to
show the flexible data. To change the columns in the flexible page, press the ”Define Flexible
Data” button ( ). This will bring a selection window where the set of variables can be edited.
In the left pane the available variables will be shown while the right pane will list the selected
variables. Pressing the or buttons will move the selected variable from the one pane to
the other pane.
In PowerFactory there are predefined report formats also called ASCII reports, available to the
user. These ASCII reports can be created by pressing the Output Calculation Analysis button
( ) located on the main menu (a load flow must be calculated first). This will bring a selection
window in which the user can select a specific type of report. Some reports like the ”Complete
System Report” will have various options which the user can set. The report selection window
also shows the report definition which will be used for the selected report. Pressing Execute
will write the report to the output window. Although the reports are already predefined, the user
has the possibility of modifying the reports if required (by clicking on the blue arrow pointing to
the right of the ”used format” definition).
A Verification Report can be also printed out automatically each time a load flow calculation is
executed (see Section 39.4.2).
When performing load flow calculations, it is very useful to colour the single line-diagram in
order to have a quick overview of the results, for example if elements have a loading above
90% or if the voltages of the busbars are outside the specified limits. In PowerFactory there is
the option of selecting different colouring modes according to the calculation performed. If a
specific calculation is valid, then the selected colouring for this calculation is displayed. As an
example, if the user selects the colouring mode Zones for No Calculation and Low and High
Voltage/Loadings for the load flow calculation, then the initial colouring will be according to
Zones. However, as soon as the load flow is calculated, the diagram will be coloured according
to Low and High Voltage/Loadings. If the load flow calculation is reset or invalid, the colouring
mode switches back to Zones.
The Diagram Colouring has also a 3-priority level colouring scheme also implemented, allowing
colouring elements according to the following criteria: 1st Energizing status, 2nd Alarm and 3rd
”Normal” (Other) colouring.
Energizing Status
If this check box is enabled ”De-energized” or ”Out of Calculation” elements are coloured
according to the settings in the ”Project Colour Settings”. The settings of the ”De-energized”
or ”Out of Calculation” mode can be edited by clicking on the ”Colour Settings” button.
Alarm
If this check box is enabled a drop down list containing alarm modes will be available. It is
important to note here that only alarm modes available for the current calculation page will
be listed. If an alarm mode is selected, elements ”exceeding” the corresponding limit are
coloured. Limits and colours can be defined by clicking on the ”Colour Settings” button.
21- 34
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Here, two lists are displayed. The first list will contain all available colouring modes. The
second list will contain all sub modes of the selected colouring mode. The settings of the
different colouring modes can be edited by clicking on the ”Colour Settings” button.
Every element can be coloured by one of the three previous criteria. Also, every criterion is
optional and will be skipped if disabled. Regarding the priority, if the user enables all three
criterions, the hierarchy taken into account will be the following:
”Energizing Status” overrules the ”Alarm” and ”Normal Colouring” mode. The ”Alarm” mode
overrules the ”Normal Colouring” mode.
By default, PowerFactory has the following load flow sign convention (Mixed Mode):
Branches:
Power Flow going out of the Busbar is positive while going into the busbar is negative.
Loads:
Power Flow going out of the Busbar is positive while going into the busbar is nega-
tive. Here, the term load considers ”General Loads”, ”Low-Voltage Loads”, ”Motors”,
”Shunts/Filters” and ”SVS”. A synchronous machine stated as a ”Motor” will have also
this sign convention.
Generation:
Power Flow going out of the Busbar is negative while going into the busbar is positive.
Here, the term Generation considers ”Generators”, ”External Grids”, ”Static Generators”
and ”Current and Voltage Sources”. An asynchronous machine stated as a ”Generator”
will have also this sign convention.
In general, if a solution can be found (in other words, the network is mathematically solvable),
PowerFactory will find a solution. In some cases the user may have made an error which will not
allow a solution to be found; such as a large load causing a voltage drop so large that a voltage
collapse results. In a real-world power system the same problem would be found.
When creating a network for the first time it is best to enter the data for only a small part or
’path’ of the network and solve the network by calculating a load flow. PowerFactory has a data
verification process in which certain checks are performed, such as whether a line is connected
between nodes of the same voltage; and the correct voltage orientation of transformers, etc.
21- 35
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
• Excessive mismatch.
• Tap hunting.
Clearly this is not an exhaustive list of problems, but these are the main causes of non-convergence
and that will be discussed in this section.
The place to search for the causes of the non-convergence problem is in the PowerFactory
output window. Here, there can be three different types of messages printed out, which are the
following:
Information detailing the load flow convergence (inner and outer loop iterations). Informa-
tion of generators with reactive power compensation at output limit. Information on the
total number of isolated areas (see 21.5.3).
Warning messages do not need to be corrected for the load flow to solve, however they
could give you an indication of where the problem is. Take note of the warning messages
and evaluate them in terms of your system. Important warnings, such as ”Exceeding
Mvar limit range” may not be acceptable. ”Unsupplied Areas” messages indicate that an
isolated area with ”Consumers” (such as loads and motors) is without a generator, power
source or external supply.
Error messages must be corrected for a load flow to solve. Error messages could be
generated by PowerFactory ’s data checking function, which include messages such as
DIgSI/err - missing type! In most cases the messages have links to the data base and
graphic. The following options can be performed in order to trace errors:
The amount of information being printed to the PowerFactory output window can be changed by
the user. Once error messages have been analyzed and corrected and the load flow still does
not solve, the user may want to print more detailed information on the convergence progress.
Tick the Show Convergence Progress Report option found in the Outputs tab of the load flow
dialogue (refer to Section 39.4.2).
This will print messages to the output window that can provide clues as to where the conver-
gence problems may lie.
The single line graphic can also be colored to show low and high voltages and overloadings.
This will also provide a good indication of possible problems. Look at the undervoltage nodes
and overloaded elements and investigate why they are overloaded; look at load setpoints, line
lengths and line type data (the impedances may be too high, for example).
21- 36
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Note: As explained above, there are 3 different types of messages that are printed to the
output 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” means that an isolated area with ”Consumers” is without a generator,
power source or external supply.
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 Iter-
ation) option on the Advanced tab of the load flow dialogue.
Parameter Level:
Checks the consistency of the input parameter; for example, entering a negative value
in the length of the line will prompt an error message. Other verifications implemented
include checking if the parameter inputted is within certain limits.
Object Level:
Checks the consistency of the data being inputted from the component itself; for example,
checking if the magnetizing losses of a transformers are less that the total magnetizing
apparent power (i.e. magnetizing current), checking if the inputting of the manufactures
data results in a feasible torque-slip characteristic, etc.
System Level:
Checks the consistency of the data being inputted from a system point of view; for exam-
ple, checking if lines/cables are connected between the same voltage levels, checking if
the HV/MV/LV side of transformers is compatible with the voltage level of busbars, check-
ing if there are missing types, etc.
Data model problems can normally be fixed easily as the output window message refers directly
to the element causing the problem.
It indicates that input data (electrical data defined in types) is missing. In most cases the
messages have links to the data base and graphic.
It normally appears when more than one controller (for example a station controller) is set
21- 37
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
to control the same element, such as the same busbar. PowerFactory will print the name
of the controlled element to the output window. Starting from the controlled element,
access the controllers to fix the problem.
An ”isolated area” indicates that a busbar or a group of busbars are not connected to
the slack busbar. An isolated generator or an isolated external grid forms an isolated
area. An isolated area refers basically to nodes. Each isolated area is assigned an index
(Parameter name b:ipat under ElmTerm Basic) and needs a load flow reference (slack)
of its own. These busbars can be found colouring the single line graphic according to
isolated grids.
An ”unsupplied area” is an isolated area with ”Consumers” (such as loads and motors)
without a generator, power source or external supply. That is U=0 and I=0. Unsup-
plied areas belong to the group of isolated areas. The unsupplied areas can be identi-
fied by displaying the following parameter in the ”Consumers” components (loads, syn-
chronous/asynchronous motors):
Fore some hints on this type of error please refer to Section 21.5.5.
Too many inner loop iterations are ”normally” related to voltage stability (voltage collapse) prob-
lems. For example, a large load causing voltage drops so high that a voltage collapse results.
Also very weak connections resulting from faults or outages may lead to voltage collapse during
contingency analysis.
The problem will not only be found in the simulation but would be found in the real world as well!
The main causes leading to a voltage stability problem can be summarized as follows:
21- 38
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
The main source of Information is the output window. Enable the Show Convergence
Progress Report option found in the Outputs tab of the load-flow dialogue. Analyze the
convergence of the inner loop iterations: check the progress in the load flow error for
nodes and model equations:
• Use the Iteration Control options on the load flow command (increasing the number of
stairs as the first option, typically to 3).
• Load shedding: disconnect the load identified as responsible for the high convergence
error.
• Connect additional reactive power compensation.
• Using the flexible data page, check if there are any heavily loaded circuits, these indicate
weak connections.
Once the load flow converges, check if there are areas with voltages with high deviation
from operating voltages.
Excessive Mismatch
Where there is a large mismatch between demand and generation (> 15%) the load flow is
unlikely to converge. This is typified by a large number of iterations followed by warnings or
errors such as:
Depending on the size of the mismatch, the failure might occur during the initial Newton-
Raphson or during subsequent outer loop iteration. There may also be a large number of
maximum/minimum reactive power reached and transformer tap statements.
Solution:
• Set the option Show Convergence Progress Report on the Outputs tab page and observe
which elements are having the highest mismatches. These elements should be closely
checked.
• Check the mismatch on the Reference machine by performing a DC load flow as Dis-
patched allowing for normal losses. Rebalancing the network might alleviate convergence
problems.
21- 39
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Outer loops iterations are required to calculate discrete tap positions of transformers, number
of steps of switchable reactive power compensation, etc. in order to match the voltage profile or
reactive power control specified by the user.
Too many outer loop iterations is referring to a solution that is too far away from the starting
point (default tap positions) to converge in the allowed number of outer loop iterations.
If the outer loop does not converge, it can have the following reasons:
• Tap upper and lower limits are too close, so that the voltage can never be kept in the
desired range.
• The same with switchable shunts.
• Other toggling effects, for example synchronous machine limits and tap positions don’t
find a stable solution.
The main source of Information is the output window. Check first the following:
The following messages in the output window may indicate a problem and lead to
a non-convergent solution. Maximum/minimum tap position reached
DIgSI/pcl - --------------------------------
DIgSI/pcl - ’ .... Transformer.ElmTr2’:
DIgSI/pcl - Maximum Tap Position reached
DIgSI/pcl - --------------------------------
The message indicates that more/less reactive power is required at this location
(the tap is at maximum/minimum position). The message indicates therefore an
area in the network where a lack/excess of reactive power is likely to happen.
21- 40
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
In general the results from the last iteration should be available to view on the output
window.
All actions (except for shunt switching) are displayed in the output window by blue mes-
sages. Observing these messages allows to conclude what the reason for the con-
vergence problem was, for example if a synchronous machine toggles between lim-
ited/released, the problem is related to this particular machine.
• If no toggling can be observed, increasing the maximum number of outer iteration loops
may help.
• If the load flow converges, improve the convergence of subsequent calculations by saving
the tap positions ( ).
If the load flow does not converge after a large number of iterations then other methods
of improving convergence are:
• Use the direct method on the advanced options page of the load flow command.
• Set the maximum tap changes per iteration to be a small number, for example 1. This will
result in PowerFactory not changing all tap changers at once by several steps but only by
maximum of 1 step at once. In larger networks this is often improving the convergence.
• Perform a load flow without automatic taps and shunt adjustment. If the load flow does
not converge in this case, it could be an indication that the load is exceeding the voltage
stability limits, thus the load is too high.
Tap Hunting
Tap hunting can be easily recognised when one or more transformers oscillate between tap
positions until the number of outer loop iterations is exhausted. This is normally due to the
transformer (controller) target voltage dead band being smaller than the transformer tap step
size.
21- 41
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.5.1
This problem of no converging load-flow with the stepped tap changing method is caused by a
slightly different way of the iteration to reach the correct tap position and load-flow results. This
might result in a non-convergence in the outer loop, when the controller range (Vmax-Vmin) of
the tap changer is near to the value of the additional voltage per tap.
Solution:
• Change the minimum relaxation factor on the Advanced Options tab page of the load flow
command to a smaller value. This might help the load flow to converge.
• Check if the dead bands of the target or controlled busbars of the corresponding trans-
formers are correctly set. Also check if the tap changer data on the load flow page of the
transformer type is correct.
• Disable the automatic tap changing of the transformers where tap hunting occur. Run
the load flow (it should converge in this case!) and then check the sensitivity of the tap
changer increasing and decreasing the tap position by one step. Verify the results against
the dead band of the target busbar.
PowerFactory’s Load Flow Sensitivities (ComVstab) command is shown in Figure 21.6.1. This
command performs a voltage sensitivity analysis based on the linearization of the system
around the operational point resulting from a load flow calculation (as explained in Section 21.6.3).
• clicking on the Change Toolbox icon ( )and selecting ”Additional Tools” 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 sen-
sitivity to power injections/tap changes on the selected busbar/transformer. The selected
terminal/transformer will be automatically set in the Busbar (or Transformer ) reference.
21- 42
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
The options available for the Load Flow Sensitivities command (Figure 21.6.1) are:
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
The effect of the injections of ∆P and ∆Q at each busbar are evaluated for the busbar it-
self (effect on voltage magnitude(∂vi /ϑPi ), (∂vi /∂Qi ), and on voltage angle (∂ϕi /∂Pi ), (∂ϕi /∂Pi )for
each busbar) and the corresponding adjacent branches. In this mode, the calculated
sensitivities(∂Pn /∂Pi ), (∂Qn /∂Pi ), (∂Pn /∂Qi ), and (∂Qn /∂Qi ) in the branches (index n)
always refer to derivations ∂/∂Pi and ∂/∂Qi of the adjacent buses (index i). This means
that the sensitivities are calculated for all busbars and for all branches, according to vari-
ations in power (∆P and ∆Q) at the directly connected busbars.
The effect of the injections of ∆P and ∆Q at the selected busbar are calculated for the
whole network (i.e. for all buses and branches). The target busbar can be selected
using the Busbar button ( ) located at the bottom of the dialogue. Alternatively, the
target bus can be selected in the single line graphic by right-clicking on it and selecting
Calculate → Load Flow Sensitivities from the context-sensitive menu. The sensitivities of
all busbars and branches are calculated according to variations in power (∆P and ∆Q)
at the selected busbar.
21- 43
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
This option evaluates the effect of changing the tap position of a selected transformer in
the network. The sensitivities dP/dtap[M W/tapstep], dQ/dtap[M var/tapstep] for branches,
and dphi/dtap[deg/tapstep], dv/dtap[p.u./tapstep] for buses are calculated. The target
transformer can be selected using the Transformer button ( ) located at the bottom
of the dialogue. Alternatively, the target transformer can be selected in the single line
graphic by right-clicking on it and selecting Calculate → Load Flow Sensitivities from the
context-sensitive menu.
Modal Analysis:
When the ComVstab command has been configured and the Execute button has been pressed,
the program calculates several sensitivity factors such as (∂vi /∂Pi ) ,(∂vi /∂Qi ) , (∂ϕi /∂Pi ),
(∂ϕi /∂Qi ) etc., according to the selected options, for buses and branch elements.
Upon completion of the sensitivity factor calculation, the following message appears in the out-
put window:
The calculated results can be displayed via the Flexible Data Page (see Section 10.6) by select-
ing 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 (∂ϕi /∂Pi ) is stored in the variable named dvdP ; and likewise the result of the ex-
pression (∂ϕi /∂Qi ) is stored in the variable dphidQ.
When the Modal Analysis option is selected, the calculated eigenvalues are displayed (in de-
scending order according to magnitude) in the output window. The eigenvectors and participa-
tion factors can be displayed using the Flexible Data Page.
PowerFactory ’s Load Flow Sensitivities function (ComVstab) performs a static voltage stability
calculation as described below.
Linearizing the load flow equations around the actual operating point leads to the following
equation system:
21- 44
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
JP ϑ JP v ∂ϑ ∂P
= (21.21)
JQϑ JP v ∂v ∂Q
The equation system in ( 29.21) 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 ( 29.21) according to:
−1
∂v = JeQv ∂Q = SvQ ∂Q (21.22)
where:
As can be seen from ( 29.22), the variation of voltage magnitude at each busbar can be de-
scribed by a linear combination of small reactive power variations according to:
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 indicative of weak areas
of the network).
Note: Recall that in HV networks branches are predominantly reactive. Voltage magnitudes
depend primarily on reactive power flows and voltage angles depend on active power bus
injections.
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.
v = T −1 SvQ T ∂ Q
∂e e = SevQ ∂ Q
e (21.25)
where:
21- 45
DIgSILENT PowerFactory CHAPTER 21. LOAD FLOW ANALYSIS
v = T ve and Q = T Q
e (21.26)
In ( 29.25), SevQ is a diagonal matrix whose elements correspond to the eigenvalues of the
sensitivity matrix, SvQ , from ( 29.22). Therefore, the voltage variation at each mode depends
only on the reactive power variation at the same mode:
∂ vei = λi ∂ Q
fi (21.27)
The eigenvalues λi , which are real, provide the necessary information about the voltage sta-
bility 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 ( 29.25), T = [υ1 . . . υn] corresponds to the matrix of right eigenvectors of SvQ , while T −1
corresponds to the left eigenvectors matrix:
ω1T
···
T −1 =
··· (21.28)
ωnT
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:
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 node has on a voltage
mode.
21- 46
Chapter 22
Short-Circuit Analysis
22.1 Introduction
Power systems as well as industrial systems are designed so that loads are supplied safely and
reliably. One of the major aspects taken into account in the design and operation of electrical
systems is the adequate handling of short-circuits. Although systems are designed to stay
as free from short circuits as possible, they still can occur. A short-circuit condition generally
causes large uncontrollable currents flows, which if not properly detected and handled can result
in equipment damage, the interruption of large areas (instead of only the faulted section) as well
as placing personnel at risk. A well-designed system should therefore isolate the short-circuit
safely with minimal equipment damage and system interruption.Typical causes of short-circuits
can be the following:
One of the many applications of a short-circuit calculation would be to check the ratings of
network equipment during the planning stage. In this case, the planner is interested in ob-
taining the maximum expected currents (in order to dimension equipment properly) and the
minimum expected currents (to aid the design of the protection scheme). Short-circuit calcu-
lations performed at the planning stage commonly use calculation methods that require less
detailed network modeling (such as methods which do not require load information) and which
will apply extreme-case estimations. Examples of these methods include the IEC 60909/VDE
0102 method [9], the ANSI method and the IEC 61363 method [7]. A different field of application
is the precise evaluation of the fault current in a specific situation, such as to find out whether
the malfunction of a protection device was due to a relay failure or due to the consequence of
improper settings (for example an operational error). These are the typical applications of exact
methods such as the superposition method (also known as the Complete Method), which is
based on a specific network operating point.
The short-circuit calculation in PowerFactory is able to simulate single faults as well as multiple
faults of almost unlimited complexity. As short-circuit calculations can be used for a variety
1
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
of purposes, PowerFactory supports different representations and calculation methods for the
analysis of short-circuit currents.
This chapter presents the handling of the short-circuit calculation methods as implemented in
PowerFactory. Further background on this topic can be found in Section 22.1.
sectionTechnical Background
Beside load flow calculations, short-circuit is one of the most frequently performed calculations
when dealing with electrical networks. It is used both in system planning and system operation
(see Figure 22.1.1, in special cases Methods 2.1 and 2.2 are also used for network planning).
Calculation quantities which have been newly-introduced in PowerFactory Version 14 are shown
in Figure 22.1.1, also a graphical representation of the short-circuit current time function is illus-
trated in Figure 22.1.2. The IEC 61363 standard [7] which outlines the procedures for calculating
short-circuit currents that may occur on a marine or off shore a.c. electrical installation is not
shown in Figure 22.1.1.
According to IEC 60909 [9]the definition of the currents and multiplication factors shown in
Figure 22.1.1 are as follows:
22- 2
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
• n factor for the heat effect of the a.c. component, besides the above currents, the Com-
plete Method introduces the following current definition:
• Ensuring that the defined short-circuit capacity of equipment is not exceeded with system
expansion and system strengthening.
• Co-ordination of protective equipment (fuses, over-current and distance relays).
• Ensuring that short-circuit limits are not exceeded with system reconfiguration.
• Determining protective relay settings as well as fuse sizing.
• Calculation of fault location for protective relays, which store fault disturbance recordings.
The fundamental difference between the assumptions used by the calculation methods is that
for system planning studies the system operating conditions are not yet known, and there-
fore estimations are necessary. To this end, the IEC 909 (VDE 0102) method which uses an
equivalent voltage source at the fault location has become generally accepted in Western Eu-
rope. A revised version of this was published as IEC 60909 [9] in July 2001. This method
works independently of the load flow (operating point) of a system. It is based on the nominal
22- 3
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
and/or calculated dimensions of the operating point of a system and uses correction factors
for voltages and impedances, to give conservative results. For the calculation of minimum and
maximum short-circuit currents, different correction factors are applied. However, it should be
mentioned that both IEC 60909 and VDE 0102 do not deal with single phase elements (ex-
pect single phase elements in the neutral conductor). Another very similar method is the ANSI
method, which is basically used in North America and is accepted in other countries as well.
The ANSI method is based on the IEEE Standards C37.010 [1] which is for equipment applied
in medium and high voltage systems (grater than 1000 Volts) and C37.13 [4] which is for power
circuit breakers in low voltage systems (less that 1000 Volts). For short-circuit calculations in
a system operation environment, the exact network operating conditions are well-known. If the
accuracy of the calculation according to IEC 60909 [9] is not sufficient - or to verify the results of
this method - the superposition method can be used. The superposition method calculates the
expected short-circuit currents in the network based on the existing network operating condition.
If the system models are correct, the results from this method are always more exact than the
results of the IEC 60909 method. The system analyst is, however, responsible that she/he has
chosen the most unfavorable conditions with respect to the sizing of plant. In some cases, this
might result in extensive studies required. Also available in PowerFactory Version 14 is the IEC
61363 method [?] which outlines the procedure for calculating short-circuit currents on marine
or offshore electrical systems such like ships.
The IEC 60909/VDE 0102 [9] method uses an equivalent voltage source at the faulted bus and is
a simplification of the superposition method (Complete Method). It is illustrated in Figure 22.1.3.
The goal of this method is to accomplish a close-to-reality short-circuit calculation without the
need for the preceding load-flow calculation and the associated definition of actual operating
conditions. Figure 22.1.3 illustrates how the equivalent voltage source method can be derived
from the superposition method. The main simplifications are as follows:
The short-circuit calculation based on these simplifications may be insufficient for some practical
applications. Therefore, additional impedance correction factors are applied to the physical
impedances of the network elements. This method is described in detail in the following section.
Please note in addition that both IEC 60909 [9] and VDE 0102 do not deal with single phase
elements (expect single phase elements in the neutral conductor).
22- 4
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
As illustrated in Figure 22.1.1, IEC requires the calculation of the initial symmetrical short circuit
current in order to derive the rest of the physical quantities, each of which is a function of the
following:
• R/X ratio,
• Machine characteristics
• Determination if the contribution is ”near to” or ”far from” the short-circuit location,
Regarding the type of network, IEC describes three methods for the calculation of (peak short-
circuit current) in meshed networks which are defined as follows:
Method A: Uniform Ratio R/X The κ factor is determined based on the smallest ratio of
R/X of all the branches contributing to the short-circuit current.
22- 5
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Method B: Ratio R/X at the Short-Circuit Location For this method the κ factor is
multiplied by 1.5 to cover inaccuracies caused by using the ratio R/X from a network
reduction with complex impedances.
The IEC method uses only the rated parameters of network elements. This is advantageous in
that only little information is necessary to perform a short-circuit calculation. However, consider-
ing that, for example, the short-circuit contribution of a synchronous generator depends heavily
on the excitation voltage and on the unit transformer tap changer position, the worst-case value
of this impedance is considered by applying a correction factor (< 1).
This idea is illustrated in Figure 22.1.4. The correction factor c should be determined so that
I k = I k,IEC . The IEC standard defines an equation for the correction factor for each element
type.
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 (Figure 22.1.5). Line capacitances are not considered in the posi-
tive/negative sequence systems, but must be used in the zero-sequence system.
22- 6
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.1.5: Maximum End Temperature Definition in the Line Type (TypLne)
Transformers Require a flag indicating whether they are unit or network transformers as shown
in Figure 22.1.6. Network transformers may be assigned additional information about opera-
tional 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 (Figure 22.1.7).
22- 7
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.1.7: On-Load Tap Changer Definition in the Transformer Type (TypTr2)
22- 8
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.1.8: Voltage Range Definition in the Synchronous Machine Element (ElmSym)
Asynchronous Machines The ratio of starting current to rated current is used to determine the
short-circuit impedance (Figure 22.1.9)
22- 9
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.1.9: Locked Rotor Current Definition in the Asynchronous Machine Type (ElmAsymo)
Please refer to the IEC 60909 standard to find detailed information regarding specific equipment
models and correction factors for each element.
ANSI provides the procedures for calculating short-circuit currents in the following standards:
• ANSI/IEEE Standard C37.010 [1], IEEE Application Guide for AC High-Voltage Circuit
Breakers Rated on a Symmetrical Current Basis.
• ANSI/IEEE Standard C37.13 [4] , IEEE Standard for Low-Voltage AC Power Circuit Break-
ers Used in Enclosures.
• ANSI/IEEE Standard 141 [5], IEEE Recommended Practice for Electric Power Distribution
of Industrial Plants (IEEE Red Book).
• ANSI/IEEE Standard C37.5 [2], IEEE Application Guide for AC High-Voltage Circuit Break-
ers Rated on a Total Current Basis. (Standard withdrawn).
ANSI C37.010 details the procedure for equipment applied in medium and high voltage systems
considering a classification of the generators as either ”local” or ”remote” depending on the
location of the fault, as well as taking into account motor contribution. The procedure also
covers first cycle and interrupting time currents, with emphasis on interrupting time currents.
22- 10
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
ANSI C37.13 details the procedure for power circuit breakers applied in low voltage systems
(less than 1000 Volts), while mainly focusing on first-cycle currents, impedance of motors and
the fault point X/R ratio. Typically, fuses and low voltage circuit breakers begin to interrupt in
the first half cycle so no special treatment for interruptive current is given. It could be the case
however, that nevertheless the equipment test include a dc component specification.
Due to the differences in the high and low voltage standards, it would be understandable to
say that two first-cycle calculations are required. The first calculation would be for high voltage
busbars and a second calculation would be for low-voltage busbars.
In IEEE/ANSI Standard 141-1993 [5] (Red Book) a procedure for the combination of first cycle
network is detailed. There is stated that in order to simplify comprehensive industrial system
calculations, a single combination first-cycle network is recommended to replace the two differ-
ent networks (high/medium-voltage and low voltage). This resulting combined network is then
based on the interpretation of the ANSI C37.010 [1], ANSI C37.13 [4] and ANSI C37.5 [2] there
given.
Total and Symmetrical Current Rating Basis of Circuit Breakers and Fuses according to
ANSI Standards
Depending on the circuit breaker year of construction different ratings are specified. High-
voltage circuit breakers designed before 1964 were rated on ”Total” current rating while now a
day’s high-voltage circuit breakers are rated on a ”Symmetrical” current basis. The difference
between these two definitions is on how the asymmetry is taken into account. While a ”Total”
current basis takes into account the ac and dc decay, ”Symmetrical” current basis takes into
account only the ac decay. To explain further these definitions please refer to Figure 22.1.10.
P1 − P2
DC = (22.1)
2
P1 + P2
RM S = (22.2)
2.828
22- 11
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
p
T ot = DC 2 + RM S 2 (22.3)
From the above, Equation ( 40.2) corresponds to the ”Symmetrical” current calculation and
Equation ( 40.3) to the ”Total” current calculation. Some of the main ANSI guidelines for the
calculation of short-circuit currents are the following:
• The fault point X/R ratio is calculated based on a separate resistance network reduction
which is latter used to calculate the peak and total asymmetrical fault current.
• Depending on the location of the fault, the generator currents being fed to the short circuit
are classified as ”local” or ”remote”. A remote source is treated as having only a dc
decay, while a local source is treated as having a dc and ac decay. Depending on this
classification, corresponding curves are used in order to obtain the multiplication factors.
• I27peakm peak short-circuit current (instantaneous value). Obtained by applying a 2.7 fac-
tor to Isymm ,
• Iasymm asymmetrical momentary (Close and Latch - Duty) short-circuit current(RMS). Ob-
tained by applying a factor to Isymm according to the calculated X/R ratio,
The complete method (sometimes also known as the superposition method) is, in terms of
system modeling, an accurate calculation method. The fault currents of the short-circuit are
determined by overlaying a healthy load-flow condition before short-circuit inception with a con-
dition where all voltage supplies are set to zero and the negative operating voltage is connected
at the fault location. The procedure is shown in Figure 22.1.11. The initial point is the operating
condition of the system before short-circuit inception (see Figure 22.1.11a). This condition rep-
resents the excitation conditions of the generators, the tap positions of regulated transformers
and the breaker/switching status reflecting the operational variation.
From these pre-fault conditions the pre-fault voltage of the faulted busbar can be calculated.
For the pure fault condition the system condition is calculated for the situation where, the neg-
ative pre-fault busbar voltage for the faulted bus is connected at the fault location and all other
sources/generators are set to zero (see Figure 22.1.11b). Since network impedances are as-
sumed to be linear, the system condition after fault inception can be determined by overlaying
(complex adding) both the pre-fault and pure fault conditions (see Figure 22.1.11c).
22- 12
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The Complete Methodfor calculating short-circuits has been improved in PowerFactory Version
14 as described below. Additionally, the quantities described below are shown in Figure 22.1.1.
• A more precise Peak Short-Circuit Current ip is calculated based on the accurate subtran-
sient short-circuit current (which is calculated using the complete method) and the R/X
ratio (which is based on the IEC 60909 standard[9]);
• The Short-Circuit 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 Short-Circuit Breaking Current ib is calculated from the RMS short-circuit break-
ing current Ib and the decaying d.c. component;
• The Thermal Equivalent Short-Circuit Current Ith is calculated based on the IEC standard,
using the m and n factors (see Figure 22.1.1). The n-factor calculation uses the transient
current instead of the steady-state current;
• 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).
22- 13
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The IEC 61363 standard [7]describes procedures for calculating short-circuit currents in three-
phase AC radial electrical installations on ships and on mobile and fixed offshore units.
The IEC 61363 standard [7]defines only calculation methods for three phase (to earth) short
circuits. Typically marine/offshore electrical systems are operated with the neutral point isolated
from the hull or connected to it through an impedance. In such systems, the highest value
of short-circuit current would correspond to a three phase short circuit. If the neutral point is
directly connected to the hull, then the line-to-line, or line-to ships hull short-circuit may produce
a higher current. Two basic system calculation approaches can be taken, ”time dependent” and
”non-time dependent”.
According to the IEC 61363 standard [7], PowerFactory calculates an equivalent machine that
feeds directly into the short circuit location. This machine summarizes all ”active” and ”non-
active” components of the grid.
The shot-circuit procedure in IEC 61363 [7] calculate the upper envelope (amplitude) of the max-
imum value of the time dependent short-circuit (see Figure 22.1.2). The envelope is calculated
using particular machine characteristics parameters obtainable from equipment manufacturers
using recognized testing methods, and applying the following assumptions:
Because the standard considers specific system components and models (”active” and ”non-
active”) some of the models that can be used in PowerFactory will have no description according
to the standard (such as External Grids, Voltage Sources, Static Generators, etc.). How these
elements are considered and transformed to a replacement equivalent machine is described in
the corresponding Technical Reference.
22- 14
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The calculating formulae and methods described produce sufficiently accurate results to calcu-
late the short-circuit current during the first 100 ms of a fault condition. It is assumed in the
standard that during that short time the control of the generators has no significant influence
on the short circuit values. The method can be used also to calculate the short-circuit current
for periods longer than 100 ms when calculating on a bus system to which the generators are
directly connected. For time periods beyond 100 ms the controlling effects of the system volt-
age regulators may be predominant. Calculations including the voltage regulator effects are not
considered in this standard.
In PowerFactory besides the standard IEC 61363 [7] method, an EMT simulation method is
available which considers also the first 100 ms of a three phase short-circuit.
There are different methods of initiating the short-circuit calculation command ComShcin Pow-
erFactory , which may result in a different configuration of the command. These methods are
described in Sections 22.2.1 and 22.2.2.
The short-circuit command may be executed from the toolbar or main menu in PowerFactory as
follows:
If the user is performing the short-circuit for the first time (by using one of the above options), the
short-circuit command will be configured in a certain manner by default; that is the command will
be set by default to execute a short-circuit calculation on all busbars/terminals in the network. If
a short-circuit calculation has been already performed (the command exists in the study case)
the settings displayed by the short-circuit command will be according to the most recent short-
circuit calculation. As an example, if the user performs a short-circuit calculation according to
ANSI for only one busbar in the system, the next time the user executes again the short-circuit,
the command will have the most recent settings, that is, in this case according to ANSI and for
the specified busbar.
The short-circuit command may be executed from the context-sensitive menu in PowerFactory
by selecting an element(s) in the single-line diagram, right-clicking and selecting one of the
following options:
22- 15
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
– A single line; or
– A single branch.
If several terminals/busbars are selected for analysis, the results of each individual short-
circuit calculation will be displayed together on the single-line graphic.
• Calculate... Multiple Faults: performs a short-circuit calculation according to the com-
plete method, for the simultaneous short-circuit of all elements selected by the user. Any
combination of busbars, terminals, lines and branches can be selected for this calcula-
tion. Additionally, switch/circuit breaker open/close operations can also be included in the
calculation. When this calculation is selected, the option Multiple Faults in the ComShc
dialogue will be automatically ticked.
The short-circuit command should first be called using one of the methods described in Sec-
tions 22.2.1 and 22.2.2. The simplest way to calculate several busbar/terminal short-circuits
individually and to then combine the results into one diagram is to select the option All Bus-
bars (or alternatively, Busbars and Junction/Internal Nodes) in the Fault Location section of the
Short-Circuit Calculation ComShc dialogue, as displayed in Figure 22.2.1. Note that to access
this option, Multiple Faults in the dialogue must be un-selected.
Figure 22.2.1: Short-Circuit Calculation Command ComShc Dialogue: Faults at All Busbars
If the user would instead like to select from the single-line diagram a single busbar/terminal, or
multi-select several busbars/terminals for calculation, the dialogue will be configured as follows:
In either case, various options for the calculation can be modified. Please refer to Section 22.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:
22- 16
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
• By selecting the Calculation → Short-Circuit ... option from the main menu.
The short-circuit setup dialogue then shows the previously selected busbars/terminals in the
Fault Location section under User Selection.
It is not only possible to calculate short-circuits on busbars and terminals, but also on lines
and branches. It should be noted, however, that only a single line or a single branch can be
selected at a time, for each short-circuit calculation. It is not possible to select multiple lines
and/or branches for calculation. To calculate a short-circuit on one of these types of elements,
proceed as follows:
• From the single-line diagram, select a single line or a single branch where the fault should
be calculated.
• Right-click on the element and select Calculation → Short-Circuit .... The short-circuit
command ComShc dialogue opens and the user can then define the location of the fault
relative to the elements length (see Figure 22.2.2), including which terminal the fault dis-
tance should be calculated from. It should be noted that the Short-Circuit at Branch/Line
section of this tab is only available when a line or branch has been selected for calculation.
• 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.
When a fault on a line/branch is calculated, a box containing the calculation results is displayed
next to the selected element.
22- 17
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Multiple faults involve the simultaneous occurrence of more than one fault condition in a network.
This option is only available for the complete method. To calculate simultaneous multiple faults,
proceed as follows:
• Select two or more elements (i.e. busbars/terminals, lines, ...) and right-click.
• Select the option Calculate → Multiple Faults. The Short-Circuits dialogue pops up, dis-
playing the short-circuit event list. A 3-phase fault is assumed by default at all locations
in the event list. Click OK. The Short-Circuit command dialogue then pops up. In this
dialogue, the Multiple Faults option is ticked in combination with the complete short-circuit
method.
In cases where the event list has to be adapted to reflect the intended fault conditions (that is,
not necessarily the calculation of 3-phase faults), please proceed as follows:
• Open the short-circuit events object using one of the following methods:
– In the Fault Location section of the short-circuit ComShc dialogue, press the Show
button (see Figure 22.2.3; or
– Press the icon located on the main tool bar (just besides the short-circuit com-
mand button); or
– In a Data Manager window, open the IntEvtshc object from the current study case,
also denoted by the icon.
• A window opens up which shows the list of events (that is short-circuits at the selected
locations). When double-clicking on one entry in this list (double-clicking on the 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
22.2.4.
• The user could add more fault locations to the ”Short-Circuit Event List” (IntEvtshc) object
by right clicking on addition elements in the single line diagram Add to.. → Multiple Faults.
22- 18
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
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 Calculate →
Multiple Faults can be set to this object. The other option would be to copy the events to the
Fault Cases folder located in the Operational Library/Faults folder of the project. The user
would then need to press the From Library button ( 22.2.3).
The following sections describe the options available in PowerFactory’s short-circuit calcula-
tion command. Some of these options are dependent upon the selected calculation method,
therefore separate sections dedicated to each method are presented.
The options presented in this section are common to all implemented calculation methods and
are used to define the general settings of the short-circuit calculation. The specific options for
each method are presented below in separate sections.
22- 19
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
An example of the short-circuit command dialogue is shown in Figure 22.3.1 (IEC calculation in
this case). The sections of the dialogue which are common to all calculation methods are:
Method
The specific options for each of these methods are available on the Advanced Options tab of
the short-circuit command ComShc dialogue.
Fault Type
22- 20
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
• 3-Phase Short-Circuit
• 2-Phase Short-Circuit
• Single Phase to Ground
• 2-Phase to Ground
• 1-Phase to Neutral
The fault types with a neutral conductor should only be used for systems which are modeled
using neutral conductors.
The fault impedance corresponds to the reactance and the resistance of the fault itself (such
as 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
enabled). If the option Enhanced Fault Impedance is not enabled, fault impedances are defined
by their equivalent values, Xf and Rf .
Figures 22.3.2 to 22.3.4 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.
22- 21
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Show Output
A textual report is automatically written to PowerFactory’s output window when the Show Out-
putShow Output option 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. Just below the Command button, blue text informs the
user of the currently-selected report type.
Fault Location
At Busbars and Junctions/Internal Nodes: For every terminal (ElmTerm) in the net-
work, a short-circuit calculation is carried out, independently (one after the other).
At All Busbars: For every terminal (ElmTerm) in the network whose Usage is set to
Busbar, a short-circuit calculation is carried out, independently (one after the other).
If the option Multiple Faults has been ticked when the Complete Method is being used, a refer-
ence to a set of fault objects (IntEvtshc), as explained in Section 22.2.5, must be set. This is
done in the Fault Location section of the dialogue; using the Short Circuits reference.
Note: Multiple faults will only be calculated for the Complete Method, when the option Multiple
Faults is enabled. When this option is enabled, a short-circuit calculation is carried out for each
22- 22
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
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 performed (i.e.
each short-circuit calculation is carried out independently of each other short-circuit calculation).
When enabled (Verification Tab Page), the user can enter thresholds for peak, interrupting and
thermal maximum loading. The Verification option will then write a loading report to the output
window with all devices that have higher loadings than the defined max. values. 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.
The Basic Options tab of the Short-Circuit Calculation dialogue is shown in the previous section
in Figure 22.3.1. In general, please note that the calculation according to IEC 60909 [9] and
VDE 0102 does not take into account line capacitances, parallel admittances (except those of
the zero-sequence system) and non-rotating loads (e. g. ElmLod). Single phase elements are
considered only if they are located in the neutral conductor.
Published
This option offers a sub-selection for the selected Method, where the version of the standard 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 current. If
external grids are defined, the corresponding maximum or minimum value will be selected au-
tomatically. For example if in the short circuit command you select ”Calculate” according to
”Maximum Short Circuit currents”, the maximum short circuit value from the external grid is
considered for the calculation. The equivalent voltage source is based on the nominal system
voltage and the voltage factor c. The voltage factor c will depend on the voltage level and on
the selection of the ”Calculate according to” stated in the short-circuit command.
In accordance with the IEC/VDE standard, this voltage tolerance is used to define the respective
voltage correction factor, c. The voltage tolerance is not used when a user-defined correction
factor is defined.
Short-Circuit Duration
The value for the Breaker Time is used to calculate the breaking current of a circuit breaker.
The value for the Fault Clearing Time (Ith) is required for the equivalent thermal current.
22- 23
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Note: The fields Method, Fault Type, Fault Impedance, Output and Fault Location are
described in Section 22.3.1.
Generally, the Advanced Options tab (shown in Figure 22.3.5) 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
22- 24
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The standard defines the voltage factor c 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 cur-
rents depends on this setting, which may be Always Considered, Automatic Neglection, or Con-
firmation 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 conductors, as caused
by the short-circuit currents.
Allows for the calculation of the DC current component, for which the decay time must be given.
According to the IEC/IEC standard, methods B, C and C 0 can be selected.
Method B: Uses the complex calculated equivalent impedance of the network with a
security factor of 1.15: √ R
iDC = 2 · Ik” · e−ω·Tb · x (22.4)
Method C Uses the R/X ratio calculated with the equivalent frequency method. The
equivalent frequency is dependent on the breaking time (see Table 22.3.1). This method
is recommended for maximum accuracy.
√ R
−ω·Tb · x f
IDC = 2 · I”k · e f (22.5)
Rf Rc fc
= · (22.6)
Xf Xc fnom
The ratio Rc/Xc is the equivalent impedance calculated at the frequency given by:
fc
fc = · fnom (22.7)
fnom
22- 25
DIgSILENT PowerFactory CHAPTER 22. 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.
In accordance with the IEC/VDE standard, the following methods for calculating kappa can be
selected:
Method C(1) Uses the ratio R/X calculated at a virtual frequency of 40% of nominal
frequency (20 Hz for fn = 50 Hz, or 24 Hz for fn=60 Hz), based on the short-circuit
impedance in the positive sequence system.
Method (012) Like C(1), but uses the correct short-circuit impedance based on the
positive-, negative- and zero-sequence system.
Calculate Ik
The steady-state short-circuit currents can be calculated using different means to consider asyn-
chronous machines:
Without Motors Will disconnect all asynchronous motors before calculating the current
Ik .
Ignore Motor Contributions Considers asynchronous motor impedances during the cal-
culation, but will reduce the calculated results for motor contributions.
This option will calculate measured currents for all protection devices and will evaluate tripping
times. To increase the speed of the calculation, this option can be disabled when protection
devices do not need to be analyzed.
This option is used to check the rating of the circuit breakers against the system breaker cur-
rents. Normally the breaker currents are calculated as maxIbus-Ibranch, Ibranch. If this option
is activated, the busbar short-circuit current is used as the breaker current, which is actually an
over-estimation of the currents.
The IEC/VDE standard forces a different impedance correction factor to be applied to separate
generators and transformers than that applied to a unit/block (power station) consisting of a
generator including its step-up transformer. PowerFactory tries to detect power stations. When
this option is disabled, block transformers must be marked accordingly by setting the Unit Trans-
former option available in the VDE/IEC Short-Circuit tab of the transformer element dialogue
(Figure 22.1.6).
22- 26
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Prefault Voltage
Value of the pre-fault voltage. In ANSI, the pre-fault voltage is the system rated voltage (1.0
p.u.). Although a higher or lower voltage can be used in the calculation if operation conditions
show otherwise.
The ANSI standard optionally allows the current tap positions of the transformers to be consid-
ered. This can be selected here.
NACD Mode
Depending on the location of the fault, ANSI classifies the different currents being fed to the
short circuit as ”local” or ”remote”. A remote source is treated as having only a dc decay,
while a local source is treated as having a dc and ac decay. Depending on this classification,
corresponding curves are used in order to obtain the multiplication factors.
In PowerFactory the ANSI short-circuit method has the option of selecting the NACD (No AC
Decay) mode.
22- 27
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The NACD factor is the ratio of remote current contribution to the total fault current: NACD
= Iremote /If ault . 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, synchronous 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 asymmet-
rical fault current is interpolated between the ”dc decay only” and ”AC/DC decay” curves
with the following equation: M F = AC/DCf actor + (DCf actor − AC/DCf actor) ∗
N ACD 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
Note: The fields Method, Fault Type, Fault Impedance, Output and Fault Location are
described in Section 22.3.1.
22- 28
DIgSILENT PowerFactory CHAPTER 22. 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:
Series capacitances may be optionally bypassed for the ANSI short-circuit calculation. Alterna-
tively, they may be not bypassed, always bypassed/neglected or this option may be set depend-
ing on the type of short-circuit being calculated. The options are as follows:
• No Bypassing
22- 29
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
• All Currents
X/R Calculation
The user may select between a complex number X/R ratio calculation, or a calculation which
considers R and X separately. The fault point X/R will determine the system dc time constant
and consequently the rate of decay of the transient dc current. Although in PowerFactory the
X/R ration can be calculated from the complex network reduction, using this approach will not
insure a conservative result. In an attempt to provide a conservative approach, ANSI C31.010
requires that the X/R ratio be determined by a separate R network reduction.
This option will calculate measured currents for the selected protection devices and will evaluate
tripping times. To increase the speed of the calculation, this option can be disabled when
protection devices do not need to be analyzed.
This option is used to check the rating of the circuit breakers against the system breaker cur-
rents. Normally the breaker currents are calculated as maxIbus-Ibranch, Ibranch. If this option
is activated, the busbar short-circuit current is used as the breaker current, which is actually an
over-estimation of the currents.
22- 30
DIgSILENT PowerFactory CHAPTER 22. 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 ap-
proximations. This accurate evaluation of the currents takes into account the system 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 scaling factor, c.
The load flow command used to initialize the short-circuit calculation (when Load Flow Initializa-
tion on the Advanced Options tab is selected, see Section 22.3.8) is displayed next to the button
labeled 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
22- 31
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The value for the Break Time (when set to 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 When set to Global, the breaking current is calculated according to the Break
Time specified in the short-circuit command.
min. of local When set to min. of local, the breaking current is calculated according to
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 When set to local , the breaking current is calculated for each connected circuit-
breaker according to its own Break Time (defined in the Complete Short-Circuit tab of
ElmCoup objects), however, the busbar results will show the breaking current according
to the shortest Break Time of all circuit breakers.
Note: The fields Method, Fault Type, Fault Impedance, Output and Fault Location are
described in Section 22.3.1.
22- 32
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Initialization
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 wordBasic 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 not se-
lected.
This option allows the definition of the method used to determine the factor kappa (κ) and the
R/Xb ratio, required for the calculation of the peak and the DC component of the short-circuit
current. The methods available correspond to those given in the IEC/VDE standard.
B Uses the ratio R/X at the short-circuit location. In this case both ratios (R/Xp for the
calculation of κ, and R/Xb ) are equal.
22- 33
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
C(1) For κ, the ratio R/Xp calculated at a virtual frequency of 40% (based on the short-
circuit impedance in the positive sequence system) is used. The R/Xb 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.
This option will calculate measured currents for all protection devices and will evaluate tripping
times. This option can be disabled to increase the calculation speed when protection devices
do not need to be analyzed.
This option is used to check the rating of the circuit breakers against the system breaker cur-
rents. Normally the breaker currents are calculated as max(Ibus − Ibranch , Ibranch ). If this option
is activated, the busbar short-circuit current is used as the breaker current, which is an over-
estimation of the currents.
For the unbalanced short-circuit calculation, PowerFactory always uses the phase component
matrix. The following options define which phase matrix is used: Untransposed: the short-
circuit calculation uses the untransposed phase matrix. Symmetrically Transposed: the short-
circuit calculation uses the symmetrically transposed phase matrix for untransposed lines.
22- 34
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Calculate Using
With the first option the short-circuit is calculated according to the IEC 61363 standard [7]this
is outlined in section 22.1.4. This short-circuit calculation method is only an approximation and
therefore the results are not exact. When selecting the EMT method PowerFactory calculates
for each fault case a three phase short-circuit with a fault impedance of 0 ohm on the selected
locations. This additional, high precision short-circuit calculation method provides further valu-
able information, and especially when power systems objects must be considered, which are
not covered by the IEC 61363 standard[7]. The Break Time input parameter represents the
contact separation time for circuit-breakers. The default setting is 100 ms. If the EMT Simula-
tion Method option is active the configuration of the Simulation and also the Simulation Results
are available. The Simulation option displays the *.ComSim dialogue that is described in more
detail in Chapter 25 (Stability and EMT Simulations). The simulation time is set per default to
22- 35
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
160 ms. This is necessary because the short circuit is started after phase A voltage crosses
zero and because the first 100 ms after the short-circuit are displayed as results.
The Simulation Results pointer indicates where the results of the EMT short-circuit simulation
will be stored (ElmRes). Typically no changes are required. In another note, this EMT simulation
setup (Initial Conditions and Run Simulation command) is stored separately from the normal
EMT simulation in order to avoid confusion.
Fault Impedance
The Fault Impedance option is disabled since the IEC 61363 [7] standard considers the short-
circuit impedance to be zero.
Create Plots
By enabling the Create Plots option, the user can select between the following:
• Show only short-circuit currents at faulted terminal With this option selected, PowerFactory
will create automatically a time domain plot of the short-circuit current at the selected
terminal, which includes its upper envelope and DC component.
• Show all short-circuit current contributions With this option selected PowerFactory will cre-
ate automatically a time domain plot of the short-circuit current at the selected terminal
and a plot for all connected elements to the faulted terminal. Each created plot will consist
of the short-circuit current, the upper envelope and the DC component.
The settings available on the advanced options page of the IEC 61363 dialogue will depend on
the selected calculation method.
With the standard calculation method the pre-load condition can be configured. The available
options are:
• use load flow initialization If this option is selected, a load flow calculation is first carried
out (a reference to the low flow command is shown). If the load flow is successful, the
results are then used to calculate the short circuit.
• use rated current/power factor If this option is selected, the preload condition is obtained
from the rated values of the grid elements (no load flow calculation is executed).
• neglect preload condition If this option is selected, no preload information is used to cal-
culate the short circuit.
Furthermore, the user will notice the option Consider Transformer Taps. According to the stan-
dard however, all transformers should be considered with their main position, therefore this
option should be normally disabled.
If the short-circuit is calculated using the EMT simulation method, in the advanced options tab
page the user will have the option to assume the inertia as infinite, meaning that if selected, the
acceleration time constant of all rotating machines will be set to 9999 seconds.
22- 36
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
In PowerFactory the results can be displayed directly in the single line diagram, in tabular form
or by using predefined report formats. Also available are several diagram colouring options in
other to have a ”quick” overview of the results.
Once a load flow calculation has been successfully executed, the result boxes shown in the
single-line diagram will be populated. There is a result box associated with each ”side” of an
element. So for example a load has one result box, a line two result boxes, and a three-winding
transformer three result boxes. In PowerFactory these elements are collectively called edge
elements. In addition, there are result boxes for nodes or buses.
The information shown inside a result box depends on the element to which it is associated.
There are a few predefined formats for edge elements and a few predefined formats for buses.
In order to see the selection, first perform a short-circuit, then, from the main menu, select
Output → Results for Edge Elements or Output → Results for Short-Circuit Buses or Output
→ Results for Short-Circuit Buses. These menu options will show the list of available result box
formats. Alternatively, you can select (click) inside a result box on the single-line diagram, then
right-click and from the context sensitive menu choose Format for Edge Elements or in case of
a node Format for Nodes. Figure 22.4.1 serves as an example.
Figure 22.4.1: Selecting the Result Box from the Single Line Diagram.
Besides these predefined formats the result boxes can be formatted in order to display selected
variables.
By right-clicking on one of the result boxes and selecting the option Edit Format for Edge El-
ements and afterwards pressing the ”Input Mode” button three options will be available: ”Pre-
defined Variables”, ”User Selection” or ”Text Editor”. The ”User selection” option will allow the
selection of any of the available variables.
22- 37
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Once a short-circuit calculation has been successfully executed, pressing the ”Edit Relevant
Objects for Calculation” button ( ) located on the main menu will prompt a submenu with icons
for all classes that are currently used in the calculation. Clicking any of the class-icons will open
a browser with all elements of that class that are currently used in the calculation. The left-most
tab-page at the bottom of the browser is the ”Flexible Data” tab page. Click on this tab page to
show the flexible data. To change the columns in the flexible page, press the ”Define Flexible
Data” button ( ). This will bring a selection window where the set of variables can be edited.
In the left pane the available variables will be shown while the right pane will list the selected
variables. Pressing the or buttons will move the selected variable from the one pane to
the other pane.
In PowerFactory there are predefined report formats also called ASCII reports, available to the
user. These ASCII reports can be created by pressing the ”Output Calculation Analysis” but-
ton ( ) located on the main menu (a short-circuit must be calculated first). This will bring
a selection window in which the user can select a specific type of report. Some reports like
the ”Currents/Voltages” will have various options which the user can set. The report selection
window also shows the report definition which will be used for the selected report. Pressing
Execute will write the report to the output window. Although the reports are already predefined,
the user has the possibility of modifying the reports if required (by clicking on the blue arrow
pointing to the right of the ”used format” definition). A Show Output and Verification Report can
be also printed out automatically each time a short-circuit calculation is executed (see Section
22.3.1 and 22.3.2).
When performing short-circuit calculations, it is very useful to colour the single line-diagram in
order to have a quick overview of the results, for example if elements have a loading above
rated short-time current or if peak short-circuit currents are higher than the specified values. In
PowerFactory there is the option of selecting different colouring modes according to the calcu-
lation performed. If a specific calculation is valid, then the selected colouring for this calculation
is displayed. As an example, if the user selects the colouring mode ”Areas” for ”No Calculation”
and ”Loading of Thermal/Peak Short-Circuit Current” for the short-circuit calculation, then the
initial colouring will be according to ”Areas”. However, as soon as the short-circuit is calculated,
the diagram will be coloured according to ”Loading of Thermal/Peak Short-Circuit Current”. If
the short-circuit calculation is reset or invalid, the colouring mode switches back to ”Areas”.
The Diagram Colouring has also a 3-priority level colouring scheme also implemented, allowing
colouring elements according to the following criteria: 1st Energizing status, 2nd Alarm and 3rd
”Normal” (Other) colouring.
Alarm If this check box is enabled a drop down list containing alarm modes will be avail-
able. It is important to note here that only alarm modes available for the current calculation
page will be listed. If an alarm mode is selected, elements ”exceeding” the corresponding
a limit are coloured. Limits and colours can be defined by clicking on the ”Colour Settings”
22- 38
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
button.
”Normal” (Other) Colouring Here, two lists are displayed. The first list will contain all
available colouring modes. The second list will contain all sub modes of the selected
colouring mode. The settings of the different colouring modes can be edited by clicking
on the ”Colour Settings” button.
Every element can be coloured by one of the three previous criteria. Also, every criterion is
optional and will be skipped if disabled. Regarding the priority, if the user enables all three
criterions, the hierarchy taken account will be the following:
”Energizing Status” overrules the ”Alarm” and ”Normal Colouring” mode. The ”Alarm” mode
overrules the ”Normal Colouring” mode.
22- 39
DIgSILENT PowerFactory CHAPTER 22. SHORT-CIRCUIT ANALYSIS
22- 40
Chapter 23
Harmonics Analysis
23.1 Introduction
One of the many 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. The following functions are provided by PowerFactory:
• 23.2 Harmonic Load Flow (including harmonic load flow according to IEC 61000-3-6 [6]
and flicker analysis according to IEC 61400-21 [11])
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 either a harmonic current
spectrum 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.
The harmonic load flow command also offers the option of calculating long- and short-term
flicker disturbance factors introduced by wind turbine generators. These factors are calculated
according to IEC standard 61400-21 [11], for wind turbines generators under continuous and
switching operations.
In contrast to the harmonic load flow, PowerFactory’s frequency sweep performs a continuous
frequency domain analysis. A typical application of the frequency sweep function calculates
network impedances. The result of this calculation facilitates the identification 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 applications such as filter design.
PowerFactory provides a toolbar for accessing the different harmonic analysis commands. This
toolbar can be displayed (if not already active) by clicking the Change Toolbox button and
selecting Harmonics.
1
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
The Harmonics toolbar provides icons to access two pre-configured command dialogs:
These command dialogs can be also accessed via PowerFactory ’s main menu by selecting:
Additionally, following the calculation of a harmonic load flow, the icon Filter Analysis on this
toolbar is activated. This icon is used to open the Filter Analysis (ComSh) command dialog. This
command analyzes results from the most recent harmonic load flow calculation and outputs
results to PowerFactory ’s output window. All functions and their usage are described in this
chapter.
To calculate a harmonic load flow, click on the Calculate Harmonic Load Flow icon to open
the dialog for the Harmonic Load Flow (ComHldf ) command as shown in Figure 23.2.1.
23- 2
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
For a detailed description of how harmonic injections are considered by PowerFactory , refer
to Section 23.5 (Modeling Harmonic Sources), in which 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, char-
acteristic harmonics either appear in the negative sequence component (5th, 11th, 19th,
etc.), or in the positive sequence component. Hence, at all frequencies a single-phase
equivalent (positive or negative sequence) can be used for the analysis.
Single Frequency Selecting this option will perform a single harmonic load flow calcu-
lation at the given Output Frequency (parameter name: fshow) or at the given Harmonic
Order (parameter name: ifshow). A common application for this input mode is the anal-
ysis 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 for all frequencies are stored in a result
file, which can be used to create bar chart representations of harmonic indices (see also
Section 19.4.2 (Plots)). The results of the analysis at the given Output Frequency are
shown in the single line diagram.
Nominal Frequency The harmonics analysis function in PowerFactory can only cal-
culate harmonics of AC-systems with identical fundamental frequencies. The relevant
nominal frequency must be entered here (usually 50Hz or 60Hz).
Output Frequency This is the frequency for which results are displayed in the single-line
graphic. In the case of a Single Frequency calculation, this is the frequency for which a
harmonic load flow is calculated. When option All Frequencies is selected, this parameter
only affects the display of results in the single line diagram. It does not influence the
calculation itself. In this case, the results displayed in the single line diagram are for
the defined Output Frequency. A change made to the Output Frequency will cause the
Harmonic Order to be automatically changed accordingly.
Harmonic Order This is the same as the Output Frequency but input as the Harmonic
Order (f/fn). The Harmonic Order multiplied by the Nominal Frequency always equals
the Output Frequency. Both floating-point and integer values are valid as inputs. A
change made to the Harmonic Order will cause the Output Frequency to be automatically
changed accordingly.
Calculate Flicker
Calculate Flicker When selected, the long- and short-term flicker disturbance factors are
23- 3
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
calculated according to IEC standard 61400-21. See Section 23.6 (Flicker Analysis (IEC
61400-21)) for more detailed information.
Result Variables This option is available if Calculate Harmonic Load Flow option All
Frequencies has been selected, and is used to select the target result object for storing
the results of the harmonic load flow. See Section 23.7 (Definition of Result Variables) for
more information regarding specifying and defining result variables.
Load Flow This displays the load flow command used by the calculation. Click on the arrow
button to inspect and/or adjust the load flow command settings.
Treatment of Harmonic Sources The alpha exponent values on this page will only be consid-
ered by the harmonic load flow (that is to say that the calculation will be carried out according
to the IEC 61000-3-6 standard [6]) if at least one harmonic source in the network is defined as
IEC 61000 (see Section 23.5.1 (Definition of Harmonic Injections)). On this page, if According
to IEC 61000-3-6 is selected, these tables display the alpha exponent values as given in the
IEC 61000-3-6 standard, as read-only values. If User Defined is selected, the definition of the
alpha exponent values is user-definable in terms of integer and/or non-integer harmonic orders.
Based on Fundamental Frequency Values (IEEE) All values are based on fundamental
frequency values, as defined by IEEE standards.
Based on Total RMS-Values (DIN) All values are based on “true RMS”-values, as de-
fined by DIN standards.
Based on Rated Voltage/Current All values are based on the rated voltage/current of
the buses and branches in the network, respectively.
23- 4
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Harmonic analysis by frequency sweep is normally used for analyzing self- and mutual- network
impedances. However, it should be noted that not only self- and mutual-impedances can be
analyzed and shown. The voltage source models (ElmVac, ElmVacbi) 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 resonance problems. The following sections describe the options available in the
harmonic frequency sweep command.
Network Representation
Balanced, positive sequence This option uses a single-phase, positive sequence net-
work 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 Frequency
and the Stop Frequency, using the given Step Size. The Automatic Step Size Adaptation op-
tion 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.
23- 5
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Nominal Frequency This is the fundamental frequency of the system, and the base
frequency for the harmonic orders (usually 50Hz or 60Hz).
Output Frequency This is the frequency for which the results in the single line diagram
are shown. This value has no effect on the actual calculation.
Harmonic Order This is the harmonic order equivalent of the Output Frequency. The
Harmonic Order multiplied by the Nominal Frequency always equals the Output Fre-
quency. Both floating-point and integer values are valid as inputs.
Result Variables Used to select the target result object which will store the results of the
harmonic frequency sweep. See Section 23.7 (Definition of Result Variables) for more
information regarding specifying result variables.
Load Flow This displays the load flow command used by the calculation. Click on the
arrow button to inspect and/or adjust the load flow command settings.
The results of PowerFactory’s frequency sweep analysis are the characteristics of the impedances
over the frequency range.
Selecting the option Automatic Step Size Adaptation on the Basic Data tab of the frequency
sweep command is one way to increase the speed of the calculation. This option enables the
use of the step size adaptation algorithm for the frequency sweep. With this algorithm, the
frequency step between two calculations of all variables is not held constant, but is adapted ac-
cording to the shape of the sweep. When no resonances in the impedance occur, the time step
can be increased without compromising accuracy. If the impedance starts to change consider-
ably with the next step, the step size will be reduced again. The frequency step is set such that
the prediction error will conform to the two prediction error input parameters, as shown below:
Calculate R, X at output frequency for all nodes Normally, PowerFactory calculates the
equivalent impedance only at selected nodes. When this option is selected, following the har-
monic calculation, the equivalent impedance is calculated for all nodes.
The Filter Analysis command is a special form of the Output of Results command (ComSh),
whose function is to generate a report. It analyzes the results from the previous harmonic
load flow and outputs results to the PowerFactory output window. It outputs a summary of the
harmonics for the terminals/busbars and branch elements at the frequency specified in the
23- 6
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Output Frequency field of the harmonic load flow command. It also reports the parameters and
different variables for the installed filters.
The filter analysis command can be activated using the Filter Analysis button or by using
the Output Calculation Analysis button on the main menu (see also Section 17.2.3: Output
of Results). This will open the same dialog as that used for the reporting of harmonic results,
as displayed in Figure 23.4.1. This command can alternatively be launched from the single line
graphic, after selecting one or more elements, and right-clicking and selecting Output Data. . . →
Results. Results will then be output for the selected elements. It should be noted that elements
should be selected according to the type of report being generated. This means that for Busbars
and Branches only terminals and branches should be selected, for Busbars/Terminals only
terminals should be selected; and for Filter Layout and Filter Results only shunts should be
selected. In the dialog, the Output Frequency specified in the harmonic load flow command is
displayed in red text (see top of dialog in Figure 23.4.1).
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.
23- 7
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
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 fre-
quency. 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 are
shown, as are the losses.
Filter Results The filter results show the main layout of all filters in the network for the cal-
culation 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 dialog and can be set or changed by clicking on the Filter Layout arrow button .
Use Selection Results will only be reported for elements defined in a selection. A selection
of elements can be defined by selecting them either in the single line graphic or in the Data
Manager, right-clicking and choosing Define. . . → General Set. This General Set then exists in
the Study Case and can be selected when the Use Selection option is activated.
Every switched device produces harmonics and must therefore be modeled as a harmonic
source. In PowerFactory , harmonic sources can be either current or voltage sources. The
following models can be used to generate harmonics (the PowerFactory element names are
given in parentheses):
• General loads (ElmLod), if they are modeled as a current source (which can be defined
on the Harmonics tab of the load’s assigned Type);
• Thyristor rectifiers (ElmRec, ElmRecmono);
See Section 23.5.1 (Definition of Harmonic Injections) for information on how to define harmonic
injections for these sources.
Note: Harmonic injections can be modelled in EMT simulations using the Fourier source
object. For further details please refer to the Technical References.
23- 8
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
For the following PowerFactory elements, the harmonic injections must first be defined using the
Harmonic Sources type object (TypHmccur ):
• General loads (ElmLod), if they are modelled as a current source (which can be defined
on the Harmonics tab of the loads assigned Type);
When defining the spectrum via the Harmonic Sources type object, the harmonic infeeds can be
entered according to one of three options: Balanced, Phase Correct or Unbalanced, Phase Cor-
rect (shown in Figures 23.5.1 and 23.5.2, respectively), or IEC 61000 (shown in Figure 23.5.3).
The Harmonic Sources object is a PowerFactory ‘type’ object, which means that it may be used
by many elements who have the same basic type. Multiple current source loads may, for ex-
ample, use the same Harmonic Sources object. Note that PowerFactory has no corresponding
element for this type.
23- 9
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
For the Unbalanced, Phase Correct harmonic sources option, the magnitudes and phases of
positive and negative sequence harmonic injections at integer and non-integer harmonic or-
ders can be defined, as shown in Figure 23.5.2. In the case of a balanced harmonic load flow,
harmonic injections in the zero sequence are not considered, and harmonic injections at non-
integer harmonic orders are considered in the positive sequence. In the case of an unbalanced
harmonic load flow, harmonic injections in the zero sequence and at non-integer harmonic or-
ders are considered appropriately. See Table 23.5.2 for a complete summary.
23- 10
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
where Uh is the resultant harmonic voltage magnitude for the considered aggregation of N
sources at order h, and α is the exponent as given in Table 23.5.1 [6].
The Harmonic Sources type set to option IEC 61000 (as shown in Figure 23.5.3) allows the defi-
nition of integer and non-integer harmonic current magnitude injections. In the case of balanced
and unbalanced harmonic load flows, zero sequence order injections and non-integer harmonic
injections are considered in the positive sequence. This is summarized in Table 23.5.2. It
should be noted that in order to execute an harmonic load flow according to IEC 61000-3-6, at
least one harmonic source in the network must be defined as IEC 61000 (i.e. as shown in
Figure 23.5.3).
23- 11
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
The definition of the spectrum of harmonic injections for the voltage source (ElmVac, ElmVacbi)
is done differently to other elements. The harmonic injections are directly input on the Har-
monics tab of the voltage source element itself via the Harmonic Voltages table, as shown in
Figure 23.5.4.
23- 12
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Figure 23.5.4: Definition of Harmonic Voltages for Voltage Source Element (ElmVac, ElmVacbi)
Additionally, the voltage source allows the following to be input for use in the Frequency Sweep
calculation:
Selection of Type of Harmonic Sources The Harmonic Sources object (TypHmccur ) is inde-
pendent of the whether the harmonic source is either a voltage 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 element to which the Harmonic Sources object
is assigned. The consideration by the calculation of the sequence components of harmonic
injections is given in Table 23.5.2.
23- 13
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Magnitudes and Phase Values The quantities of the spectrum type are rated to current/voltage
at the fundamental frequency in the balanced case. Hence, in the case of a harmonic current
source, the actual harmonic current at frequency fh is calculated by:
I h = kh · e∆ϕh · I1 · eϕ1 (23.2)
where
Ih /I1 if balanced
Iah /Ia1 if unbalanced phase a
kh = (23.3)
Ibh /Ib1 if unbalanced phase b
Ich /Ic1 if unbalanced phase c
ϕh − ϕ1 if balanced
ϕah − ϕa1 if unbalanced phase a
∆ϕh = (23.4)
ϕ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 the case of balanced systems in which only characteristic harmonics of orders 5, 7, 11, 13,
17, etc. occur, the option Balanced, Phase Correct should be selected in the Type of Harmonics
Sources section (as shown in Figure 23.5.1). In this context, ‘Balanced’ refers to characteristic
harmonics. In the balanced case, the harmonic frequencies are determined by the program
(note that in the unbalanced case, the harmonic frequencies can be freely-defined).
The problem commonly arises as to how one can represent the harmonic content in a system
which differs to the native modal system (positive, negative or zero sequence system). The fol-
lowing 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:
A : 0◦
B : −120◦
C : +120◦ (−240◦ )
A : 0◦
B : −n ∗ 120◦
C : +n ∗ 120◦
23- 14
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Consequently, the 3rd harmonic in the ideally balanced case is only in the zero sequence com-
ponent, as their native modal system. For representing 3rd harmonics (and multiples thereof) in
the positive sequence system, the following phase correction needs to be entered:
A : 0◦
B : +(n − 1) ∗ 120◦
C : −(n − 1) ∗ 120◦
A : 0◦ (= 0◦ )
B : −360◦ + 240◦ (= −120◦ )
C : +360◦ − 240◦ (= +120◦ )
IEC 61000
• Positive, negative;
• zero sequence orders and non-
integer harmonics are in the pos-
itive sequence.
23- 15
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
The assignment of harmonic injections to the following elements is done via the individual ele-
ment’s dialog on the Harmonics page.
• General loads (ElmLod), if they are modelled as a current source (which can be defined
on the Harmonics tab of the loads assigned Type);
• Thyristor rectifiers (ElmRec, ElmRecmono);
Harmonic Currents Used to select and display the assigned Harmonic Sources type (TypHm-
ccur ).
Type of Harmonic Sources Displays the type of harmonic source selected in the assigned
Harmonic Sources type (TypHmccur ).
Harmonic current referred to For phase correct sources, the harmonic current may be referred
to either the fundamental current or the rated current. If the harmonic current source type
(TypHmccur ) has been selected to be IEC 61000, the harmonic current is always referred to the
rated current and this option is read-only.
Harmonic injections defined for voltage sources (ElmVac, ElmVacbi) are implicitly assigned,
as they are defined on the element’s Harmonics page. No further assignment is therefore
necessary. See Section 23.5.1 (Definition of Harmonic Injections) for further information.
23- 16
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
The harmonic load flow calculation in PowerFactory provides a vast number of results for net-
work elements. Some of the more prominent result variables are described in this section.
The harmonic distortion of a current or of a voltage can be quantified in terms of the Harmonic
Distortion (HD), as described by (23.5). To describe the overall distortion, the Total Harmonic
Distortion index THD (see (23.6)) has been introduced. An alternative, less common index is
the Total Arithmetic Distortion TAD (see (23.7)). All distortion indices are described by their
equations (below) for the current, but may be similarly described for voltage distortion.
|If i |
HDI (fi ) = (23.5)
|If 1 |
1
q
· 2 2
T HDI = IRM S − I (f1 ) (23.6)
Iref
1
T ADI = · [IΣA − |I(f1 )|] (23.7)
Iref
where I(fi ) is the component of the current at frequency fi and Iref is the reference value for
the current. The total RMS value is:
v
u n
uX
IRM S = t I 2 (fi ) (23.8)
i=1
The reference value Iref depends on the standard used. The two possible options are the
calculation according to DIN (23.10) and according to IEEE (23.11):
It should be noted that for networks containing IEC 61000 harmonic current sources, result
variables for the voltage angle and current angle are not applicable (as the angles cannot be
known). Additionally, the following result variables are available:
• ku, ki: Voltage and current diversity factors, respectively (always ‘1’ for networks contain-
ing only phase correct sources). The voltage diversity factor is shown in (23.13):
Uh2
ku = (23.13)
(Σ|U |)2
where Uh is the IEC 61000 harmonic voltage magnitude as defined in (23.1) and |U | is the
voltage magnitude.
• HD, THD and TAD for non-integer harmonic orders.
23- 17
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Due to the skin effect and variations in internal inductance, resistances and inductances are
usually frequency dependent. This can be modeled in PowerFactory by associating a “fre-
quency characteristic” with these quantities. Two types of characteristic may be used: either a
Frequency Polynomial Characteristic (ChaPol) as illustrated in Figure 23.5.6, or a user-defined
frequency table (TriFreq and ChaVec). These kinds of characteristics are then assigned via
the Harmonics tab of the corresponding element’s dialog, as illustrated by the example in Fig-
ure 23.5.7 for a line type.
For the frequency polynomial characteristic object illustrated in Figure 23.5.6, the formula given
by (23.14) is used:
fh
y(fh ) = (1 − a) + a · ( )b (23.14)
f1
The parameters a and b are specified in the Frequency Polynomial Characteristic dialog. Vari-
able y is usually expressed as a percentage of the corresponding input parameters. For exam-
ple, the resulting line resistance is given by (23.15):
R(fh ) = R · y(fh ) (23.15)
An example of the use of the polynomial characteristic for a line type is shown in Figure 23.5.7.
23- 18
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
23- 19
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
The following objects can have frequency dependent parameters defined using a frequency
characteristic:
• NEC/NER (ElmNec)
• Complex load (TypLodind)
• 2-W transformer (TypTr2)
• 3-W transformer (TypTr3)
Lines represented by a tower type (TypTow) are automatically assigned a harmonic character-
istic. The same applies to cables using the detailed cable representation type (TypTow).
The waveform plot is used to display the waveform of a voltage or a current following a harmonic
load flow calculation. The harmonics are typically emitted by a harmonic voltage or current
source, as described in Section 23.5 (Modeling Harmonic Sources).
In this plot, a waveform is generated using the magnitude and phase angle of the harmonic
frequencies. With this diagram, a variable such as the voltage or current, which is defined in
a harmonic source (i.e. a power electronic device or a load), can be easily shown as a time-
dependent variable. This way the real shape of the voltage can be seen and analyzed. An
example plot of harmonic distortion is shown in Figure 23.5.9.
23- 20
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
For a more detailed description of this type of plot, see Section 17.5.6 (The Waveform Plot). For
other types of plots, 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 dialog by double-clicking on a subplot, going to the Advanced tab, and
selecting Bars in the Presentation frame.
The IEC standard 61400-21 [11] describes the measurement and assessment of power quality
characteristics of grid connected wind turbine generators (WTGs). One of these power quality
characteristic parameters pertains to voltage fluctuations. Voltage fluctuations can produce
undesirable effects on the consumer side which may manifest as ‘flicker’ (visible flickering effects
from light sources), and voltage changes (voltage magnitude being too high or too low).
In the assessment of a WTG’s power quality in terms of voltage fluctuations, the operation
of WTGs can be subdivided into two modes: continuous operation and switching operations
(see Sections 23.6.1 (Continuous Operation) and 23.6.2 (Switching Operations) for definitions).
These modes of operation are considered by the PowerFactory flicker calculation, which cal-
culates the short-term and long-term flicker disturbance factors. See Section 23.6.6 (Flicker
Result Variables) for a list of the flicker result variables available. The calculation of flicker is
performed optionally as part of the harmonic load flow command. For a detailed description of
how to configure and execute a harmonic load flow, including the calculation of flicker, refer to
Section 39.4.1 (Basic Options).
23- 21
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Continuous operation is defined in IEC standard 61400-21 as the normal operation of the wind
turbine generator (WTG) excluding start-up and shut-down operations. The short-term and
long-term flicker disturbance factors during continuous operation are defined in [11] as:
Sn
Pst = Plt = c(ψk , va ) · (23.16)
Sk
where Pst is the short-term flicker disturbance factor; Plt is the long-term flicker disturbance
factor; c is the flicker coefficient for continuous operation; ψk is the network impedance angle
(degrees); va is the average annual wind speed (m/s); Sn is the rated apparent power of the
wind turbine (VA); and Sk is the short-circuit apparent power of the grid (VA).
When more than one WTG exists at the point of common coupling (PCC), the summed short-
term and long-term flicker disturbance factors for continuous operation are described in [11]
as: v
uNwt
1 u X
t (c(ψ , v ) · S )2
PstΣ = PltΣ = k a n,i (23.17)
Sk i=1
where Nwt is the number of wind turbine generators at the PCC.
Switching operations are defined in IEC standard 61400-21 as start-up or switching between
wind turbine generators (WTGs). In this mode of operation, the short-term and long-term flicker
disturbance factors during switching operations are defined in [11] as:
Sn
Pst = 18 · N10 0.31 · kf (ψk ) · (23.18)
Sk
where N10 is the number of switching operations in a 10-minute period; kf is the flicker step
factor; ψk is the network impedance angle (degrees); Sn is the rated apparent power of the
wind turbine (VA); and Sk is the short-circuit apparent power of the grid (VA).
Sn
Plt = 8 · N120 0.31 · kf (ψk ) · (23.19)
Sk
where N120 is the number of switching operations in a 120-minute period; kf is the flicker step
factor; ψk is the network impedance angle (degrees); Sn is the rated apparent power of the wind
turbine (VA); and Sk is the short-circuit apparent power of the grid (VA).
When more than one WTG exists at the PCC, the short-term flicker disturbance factor under
switching operations is defined in [11] as:
Nwt 0.31
18 X 3.2
PstΣ = N10,i · (kf,i (ψk ) · Sn,i ) (23.20)
Sk i=1
Likewise, the long-term flicker disturbance factor under switching operations is defined as:
Nwt 0.31
8 X
PltΣ = N120,i · (kf,i (ψk ) · Sn,i )3.2 (23.21)
Sk i=1
The relative voltage change (in units of %) due to the switching operation of a single WTG is
computed as [11]:
Sn
d = 100 · (ku (ψk ) · (23.22)
Sk
23- 22
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
The calculation of flicker according to IEC standard 61400-21 in PowerFactory considers flicker
contributions of the following generator models:
In order for these models to be able to contribute flicker, their flicker contributions must first be
defined and assigned, as described in Sections 23.6.4 (Definition of Flicker Coefficients) and
23.6.5 (Assignment of Flicker Coefficients).
Flicker coefficients are defined in PowerFactory by means of the Flicker Coefficients type (TypFlicker ),
as illustrated in Figure 23.6.1. When created, this is stored by default in the Equipment Type
Library folder in the project tree.
Figure 23.6.1: Definition of Flicker Coefficients using the Flicker Coefficients Type (TypFlicker )
The Flicker Coefficients type allows the input of six parameters (all of which are defined in IEC
standard 61400-21):
23- 23
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Network Angle, psi (degrees) This is the network impedance angle and must be entered
in either the range [-180,180] (default), or [0,360]. Any mix of these ranges is not permitted.
Network angles must be entered in ascending order.
Coefficient, c(psi) The flicker coefficient as a function of the network impedance angle.
Step Factor, kf(psi) The flicker step factor as a function of the network impedance angle.
Voltage Change Factor, ku(psi) The voltage change factor as a function of the network impedance
angle.
The Harmonics page of these elements’ dialogs contains a Flicker Contribution section which
allows the assignment of Flicker Coefficients. This is illustrated for the case of an asynchronous
machine in Figure 23.6.2.
If Flicker Coefficients is left unassigned, the generator is then considered to be an ideal source
for the flicker calculation, as illustrated in Figure 23.6.3.
23- 24
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Following the calculation of flicker according to IEC 61400-21, the following result variables for
every node in the network are available in the single line graphic:
• Pst cont; Plt cont: short-term and long-term flicker disturbance factors for continuous
operation of the wind turbine generator/s;
• Pst sw; Plt sw: short-term and long-term flicker disturbance factors for switching opera-
tions of the wind turbine generator/s;
• d sw: relative voltage change (as a percentage).
For the mathematical definitions of these result variables, refer to Sections 23.6.1 (Continuous
Operation) and 23.6.2 (Switching Operations).
In order to record the results of either the Harmonic Load Flow or Frequency Sweep calculation,
the variables of interest must be defined. However, for each of these calculations, a small
selection of variables are recorded by default in the result object defined on each command’s
Basic Data page by the Result Variables parameter. For the Harmonic Load Flow the following
variables are recorded by default (PowerFactory variable names are italicized):
23- 25
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
For the Frequency Sweep, the following variables are recorded by default:
To define a Variable Set, right-click on a network component (or multi-select several network
components and right-click), either in the single-line diagram or in the data manager, and select
the option Define → Variable Set (Harmonic Load Flow); or Define → Variable Set (Frequency
Sweep). This will add a new (but still empty) variable set for the selected object to the result
object (referred to by parameter Result Variables on the Basic Options tab of the Harmonic
Load Flow or Frequency Sweep command dialog).
All results of harmonic analyses, with the exception of the harmonic load flow using option
Single Frequency (for which no results are recorded), are stored in a normal result object (Elm-
Res). This result object stores the result variables against the frequency for which they were
calculated. For more information about the result object, see Section 19.1.4 (Result Objects).
To access the variable sets, click on the Edit Result Variables button on the main toolbar.
There are two instances of this button: one associated with the Harmonic Load Flow and one
associated with the Frequency Sweep. Select the button associated with the relevant calcula-
tion. The variable set manager dialog will open which displays the list of all defined variable sets
for that calculation. After the variable set has been created and its variables have been defined,
each variable set contains the variables of interest for a single object. A window is opened auto-
matically following the definition of a new variable set, as shown in Figure 23.7.1, displaying the
list of variable sets. In Figure 23.7.1, three variable sets have been defined for three different
network elements: one for load element “General Load” one for line element “Line 1” and one
for terminal element “Sym-Terminal”.
23- 26
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
A new variable set can also be defined by clicking on the New button , shown in the top left
corner of Figure 23.7.1. By doing this, the Variable Set dialog will appear as shown in Fig-
ure 23.7.2. To proceed with selecting the result variables for the variable set, see Section 23.7.2
(Selection of Result Variables within a Variable Set). For further information on variable sets,
refer to Chapter 17: Reporting and Visualizing Results.
The selection of result variables for a variable set can only proceed when the column labeled
Object for any defined variable set (as shown in Figure 23.7.1) is set. This can be done by
either double-clicking the appropriate cell of the Object column, or by right-clicking the cell and
selecting Select Element.... This binds the variable set to a specific object or network 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, for example in the case
of the “Sym-Terminal” in Figure 23.7.1), or by right-clicking on the icon and selecting the
Edit menu option. The Variable Set object (IntMon) dialog opens, as shown in Figure 23.7.2
for the example of the “Sym-Terminal”. By selecting the Harmonics tab of this dialog, a list of
all result variables that are available for the selected object (applicable to harmonics analysis or
frequency sweep) is then available for selection. The Object field in the dialog in Figure 23.7.2
shows that the variable set is defined for the network element “Sym-Terminal”.
23- 27
DIgSILENT PowerFactory CHAPTER 23. HARMONICS ANALYSIS
Result variables may be added or removed from the set of selected variables by highlighting
the desired variable and pressing the left or right arrow buttons . Additionally, different
variables are available for selection depending on the selection made from the Variable Set
drop-down list. This drop-down list is available in the Filter for section on the Harmonics tab of
the Variable Set dialog, as displayed in Figure 23.7.2. For further information on variable sets,
refer to Chapter 17: Reporting and Visualizing Results.
23- 28
Chapter 24
Flickermeter
24.1 Introduction
In terms of power quality, the term flicker is used to describe the phenomenon of unwanted,
rapidly fluctuating light levels due to voltage fluctuations. The IEC 61000-4-15 standard specifies
the function and design of apparatus for the measurement of flicker, termed the Flickermeter.
This Flickermeter comprises five functional blocks which, via the use of multipliers, weighting
filters, and smoothing and squaring operations, perform the tasks of simulating the lamp-eye-
brain chain response, and statistically evaluating the flicker signal [10]. PowerFactory provides
a Flickermeter command for the calculation of the short-term and long-term flicker according to
IEC 61000-4-15.
The following sections explain the calculation of short- and long-term flicker by the Flickermeter
command, as well as its configuration and handling.
The short-term flicker valuePst calculated according to IEC 61000-4-15 is a measure of the
severity of the flicker based on an observation period of 10 minutes. It is defined mathematically
as follows [10]:
p
2
Pst = (0, 0314 · P0.1 ) + (0, 0525 · P1s ) + (0, 0657 · P3s ) + (0, 28 · P10s ) + (0, 08 · P50s ) (24.1)
where the percentiles P0,1 ,P1 ,P3 ,P1 0 and P5 0 are the flicker levels exceeded for 0.1; 1; 3; 10;
and 50% of the time during the observation period. The subscript s used in the above formula
indicates that smoothed values should be used, which are defined as follows [10]:
1
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
P2,2 + P3 + P4
P3s = (24.4)
3
P0,7 + P1 + P1,5
P1s = (24.5)
3
The calculation of the severity of long-term flicker, Plt , considers the short-term flicker severity
values over a longer period of time and is calculated according to the following equation [10]:
s
PN 3
3
i=1 Psti
Plt = (24.6)
N
where Psti (i = 1, 2, 3, . . .) are the consecutive Pst values and N is the number of observation
periods. It can be seen from [10] that when N = 1, P lt = P st.
This command is accessible via the Flickermeter button in the Stability toolbar, which is
accessible by selecting Stability when clicking on the the button Change Toolbox . The Pow-
erFactory Flickermeter command dialogue is shown in Figure 24.3.1.
24- 2
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
File Input
Import data from Specifies the type of data file containing the input data. There are five
file types available for selection.
Configuration File Relevant to ComTrade input files only. The name of the correspond-
ing configuration file.
Use System Separators Relevant to comma-separated value (CSV) input files only. Tick
the checkbox to use the same separators for parsing the file as those used by the oper-
24- 3
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
Separator for columns In the case of a Power Factory Measurement File as the input
file type, this indicates the character used as a separator for the columns in the file. In
the case of a User Defined Text File as the input file type, the separator may be selected
as one of Tab, Space or Other (user-defined).
Decimal Separator Indicates the separator used for decimal numbers. This is user-
definable for a User Defined Text File as the input file type
This table allows the selection of input file data to be analyzed. The leftmost column (with labels
y1, . . ., y24’) provides a naming convention for the output of results, indicating which time-series
signals from the input file were analyzed.
Element Relevant only to a Result File input file type. Used to specify the element
from the result file for which a variable to analyze will be selected. This variable is then
specified in the Variable column of the same table
Variable Relevant only to a Result File input file type. Used to specify the variable for the
Flickermeter command to analyze. This variable is associated with the selected Element
(see above).
Column Number Refers to the column/s in the input file which correspond to the time-
series signal/s to be analyzed.
Variable Name For ComTrade files, the variable name is automatically read from the
input file and displayed in the Variable Name column. No variable name is provided for
other file types.
Calculate Pst Allows the user to select the signals in the input file for which to calculate
the short-term flicker (Pst ). Valid for all input file types with the exception of result files.
Signal Settings
Specify start time User-defined start time at which data should be read from file. This
is an absolute time value that exists within the input file, from which data will be read. If
this value cannot be found in the file, the next time point after the specified start time will
be used instead.
Resample Data The input data will be resampled by the user-defined New Sampling
Rate. If the time step of the data within the input file is not constant, the Flickermeter
calculation will automatically resample the data at the average sampling rate taken from
the input file.
New Sampling Rate User-defined sampling rate at which data will be resampled if option
Resample Data has been selected.
Note: The minimum sampling rate required for instantaneous input data is 400Hz, and for
RMS input data is 800Hz.
24- 4
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
Calculation Settings
Observation Period The time period over which the flicker will be analyzed.
Calculate Plt Perform calculation of long-term flicker Plt . When this option is checked, a
result file is written.
Observation Periods The number of successive observation periods (or ”time windows”)
to analyze.
Input signals for Flickermeter can be either RMS or EMT signals. The algorithm treats both of
these inputs the same, with the exception of the weight filter coefficients, scaling factor and the
cut-off frequency used. The weight filter coefficients are preset (see Table 24.3.1), however the
scaling factor and cut-off frequency are user-definable parameters and are described below.
Parameter Definitions
Cut-off Frequency Cut-off frequency of Butterworth filter (Hz). When using an RMS
input signal, the cut-off frequency is set to 50Hz; when using an EMT input signal, its
default value is 35Hz but can be user-defined.
Filter Offset The offset (in seconds) for the filters to stabilize. A positive, non-zero offset
should always be entered. When using an RMS input signal, the filter offset is set to 5s;
when using an EMT input signal its default value is 5s but can be user-defined. A value
of 5s is the minimum amount of time required to initialize the filters and to attenuate the
initial transient.
Scaling Factor Calibration parameter. When using an RMS input signal, the scaling
factor is set to 300469,4835 (defined as 2 / (0.0025*0.0025) / 1.065). When using an
EMT input signal, its default value is 303317,5 but can be user-defined.
Set to default Resets the Cut-off Frequency, Filter Offset and Scaling Factor to default values.
Tolerance Tolerance for determining whether the sampling rate is constant or not. This
tolerance is considered on the Data Source page in the Info frame when displaying the
Constant Sampling Rate parameter.
Result Variables This displays the location of the stored result variables. The result object
24- 5
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
can be directly accessed by clicking on the arrow button . It should be noted that the Result
Variables parameter is only visible if the Calculate Plt checkbox on the Signal Settings page has
been selected and the value entered for the Observation Periods on the Signal Settings page
is greater than 1.
Report Results of the Flickermeter calculation are displayed in PowerFactory ’s output window
provided that Report has been selected.
Note: When executing the Flickermeter command within DPL, the command option ’Report’
must be disabled.
Command Displays the command used to output results. The Flickermeter command
will write results to a result file provided that option Calculate Plt on the Signal Settings
page has been selected. The result file used can be accessed via the dialogue which
opens when the Command button is pressed.
Additionally, results of the Flickermeter command can be viewed within the Data Manager as
Flexible Data of the Flickermeter command itself. The relevant variable names for selection
when defining the Flexible Data are b : P st y1, . . ., b : P st y24, for short-term flicker values;
and b : P lt y1, . . ., b : P lt y24 for long-term flicker values). In this case, viewing the results
of a Flickermeter calculation will appear similar to that illustrated in Figure 24.3.2. It should be
noted that when multiple Observation Periods have been calculated, only the Plt results will be
displayed (Pst results are shown as ’0’); and for a single Observation Period the Pst results
will be displayed. For further information on defining Flexible Data in the Data Manager in
PowerFactory , refer to Chapter 10: Data Manager, Section 10.6(The Flexible Data Page Tab).
The Flickermeter command can handle five different input file types. The configuration of the
Flickermeter command for each file type differs slightly, and is therefore described for each case
in this section.
Note: The minimum sampling rate required for instantaneous input data is 400Hz, and for
24- 6
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
ComTrade If a ComTrade file has been selected as input to the Flickermeter command, the
command dialogue will look similar to that shown in Figure 24.3.3. The Configuration File corre-
sponding to the ComTrade data file is automatically displayed, as is the Sampling Rate as read
from the ComTrade configuration file. The Selection of Data for Calculation table shows the
column number and corresponding variable name as read from the ComTrade configuration file
and also a user selection for which the short-term flicker value should be calculated (checkbox
in the Calculate Pst column). In the example shown in Figure 24.3.3, a single variable has been
selected for analysis. It can be read from this table that this variable corresponds to column 1 of
recorded data in the ComTrade input data file. See Section 24.3.2 (Data Source) for information
on other Flickermeter command options.
Comma Separated Values and User Defined Text Files If a Comma Separated Values (CSV)
file or a user defined text file has been selected as input to the Flickermeter command, the
command dialogue will look similar to that shown in Figure 24.3.4. For a CSV file or user
24- 7
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
defined text file, the Selection of Data for Calculation table shows that variables can be selected
for analysis according to their corresponding column number in the input file. In the example
illustrated, data from column 1 has been selected for analysis. See Section 24.3.2 (Data
Source) for information on other Flickermeter command options.
Figure 24.3.4: Configuration of Flickermeter Command for CSV or User Defined Text Input File
24- 8
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
Result File If a Result File has been selected as input to the Flickermeter command, the com-
mand dialogue will look similar to that shown in Figure 24.3.6. Using a PowerFactory result file
as the input file type is practical when the user wants to first record results from, for example,
an EMS/RMS simulation in a result file, and then analyze the flicker contribution of one or more
variables from this file. In the example in Figure 24.3.6, the specified Element in the Selection of
Data for Calculation table is a terminal element (named ”LV Busbar”) recorded in the result file,
with its corresponding voltage selected as the Variable to analyze. See Section 24.3.2 (Data
Source) for information on other Flickermeter command options.
24- 9
DIgSILENT PowerFactory CHAPTER 24. FLICKERMETER
24- 10
Chapter 25
The transient simulation functions available in DIgSILENT PowerFactory are able to analyze
the dynamic behavior of small systems and large power systems in the time domain. These
functions therefore make it possible to model complex systems such as industrial networks and
large transmission grids in detail, taking into account electrical and mechanical parameters.
Transients, stability problems and control problems are important considerations during the
planning, design and operation of modern power systems. Studies involving electro-magnetic
transients and different aspects of stability may be conducted using time-domain simulations
for varying time periods, or dynamic or small-signal stability analysis tools using (for example)
eigenvalue analysis.
A large range of AC and DC systems can be analyzed (i.e. transmission systems with de-
tailed models of power plants, complex HVDC systems, motor start-up), as well as a combina-
tion of both. Applications such as wind power integration or power electronics constitute new
challenges in the analysis of power systems, and as a result new models and techniques are
provided in PowerFactory to meet these requirements.
For modelling a variety of machines and controller units, as well as the electrical and mechanical
components of power plants, etc., PowerFactory’s global library provides a large number of
predefined models. This library includes models of generators, motors, controllers, motor driven
machines, dynamic loads and passive network elements. As an example, this library contains
the IEEE standard models of power plant controllers. Furthermore, the user can model specific
controllers and develop block diagrams of power plants with a large degree of freedom.
• 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.
1
DIgSILENT PowerFactory CHAPTER 25. 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 design 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 timeframes:
The multilevel modelling of power system elements and the use of advanced algorithms means
that the functions in PowerFactory can analyze the complete range of transient phenomena in
electrical power systems. Consequently, there are three different simulation functions available:
1. A basic function which uses a symmetrical steady-state (RMS) network model for mid-
term and long-term transients under balanced network conditions;
2. A three-phase function which uses a steady-state (RMS) network model for mid-term and
long-term transients under balanced and unbalanced network conditions, i.e. for analyzing
dynamic behavior after unsymmetrical faults;
3. An electromagnetic transient (EMT) simulation function using a dynamic network model for
electromagnetic and electromechanical transients under balanced and unbalanced net-
work 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 PowerFactory
functions determine the initial conditions for all power system elements including 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 represen-
tation must be used for further analysis, what step sizes to use, which events to handle and
where to store the results.
The simulation uses an iterative procedure to solve AC and DC load flows, and the dynamic
model state variable integrals simultaneously. Highly accurate non-linear system models result
in exact solutions, including during high-amplitude transients. Various numerical integration
routines are used for the electromechanical systems (including voltage regulators and power
system stabilizer) and also for the hydro-mechanical or thermo-mechanical models.
The process of performing a transient simulation typically involves the following steps:
25- 2
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The balanced RMS simulation function considers dynamics in electromechanical, control and
thermal devices. It uses a symmetrical, steady-state representation of the passive electrical
network. Using this representation, only the fundamental components of voltages and currents
are taken into account.
Depending on the models of generators, motors, controllers, power plants and motor driven
machines used, the following studies may be carried out:
Various events can be included in the simulation, including the following examples:
Because of the symmetrical network representation, the basic simulation function allows the
insertion of symmetrical faults only.
25- 3
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
If asymmetrical faults or unbalanced networks have to be analyzed, the three phase RMS sim-
ulation function must be used. This simulation function uses a steady-state, three-phase rep-
resentation of the passive electrical network and can therefore compute unbalanced network
conditions, either due to unbalanced network elements or due to asymmetrical faults. Dynam-
ics in electromechanical, control and thermal devices are represented in the same way as in the
basic RMS simulation function.
In addition to the balanced RMS simulation events, unbalanced fault events can be simulated,
such as:
All of these events can be modelled to occur simultaneously or separately, hence any combina-
tion of symmetrical and asymmetrical faults can be modelled.
Voltages and currents are represented in the EMT simulation by their instantaneous values,
so that the dynamic behavior of passive network elements is also taken into account. This is
necessary for the following applications:
The high level of detail used to represent the modelled network means that all phases and
all defined events (symmetrical and asymmetrical) can be simulated. The EMT function can
also be used for the simulation of longer-term transients. However, due to the passive network
elements being represented dynamically, the integration step size has to be significantly smaller
than in the case of a steady-state representation and as a result, the calculation time increases.
25- 4
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Based on the results of a load flow calculation, all internal variables and the internal operating
status of connected machines, controllers and other transient models have to be determined.
As a result of this calculation, the synchronous generator excitation voltages and load angles
are calculated. Additionally, all state variables of controllers and power plant models, and any
other device which is active and will affect the time-domain simulation, are also calculated.
• Selecting the stability toolbar, and then pressing the Initial Conditions icon;
In the Initial Conditions command (ComInc) dialogue (see Figure 25.3.1) all simulation settings
can be defined, such as the simulation type (i.e. RMS or EMT, balanced or unbalanced) and
simulation step size settings.
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 CHAPTER 25. STABILITY AND EMT SIMULATIONS
The basic options are used to select the simulation type and the network representation. Refer-
ences to the result object, the event list and the load flow command are available for inspecting
or editing these objects, by clicking on the respective icon.
If the initial conditions can be fulfilled, the power system will be in a steady-state condition.
When the Verify Initial Conditions options is enabled, then the condition dx/dt=0 is checked for
all state variables. If one or more of the state variable derivatives does not equal zero, the
power system may start ’moving’ from the very beginning of the simulation, even without the
application of an external event. In this case the user should analyze the relevant controller or
model and its defined initial conditions carefully.
25- 6
DIgSILENT PowerFactory CHAPTER 25. 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 limitation from the
beginning of the simulation.
The error message displayed in the output window might look as follows:
This option enables the step size adaptation algorithm, and can be used to speed-up the simula-
tion considerably. PowerFactory adjusts the step size to the actual course of each state variable
at any moment in time. Based on the local discretisation error, PowerFactory calculates an op-
timal step size that keeps the numerical errors within the specified limits. A step size controller
adjusts the integration step size.
As a result, when fast transients have decayed, PowerFactory automatically increases the step
size and speeds up the simulation process considerably. In the case of events (external or
internal), the step size is always set back to the Minimum Step Size. This way, the behavior of
the system during a transient event is represented with the best accuracy.
If this option is activated, two integration step sizes are available on the Step Size tab of the
dialogue:
Further parameters to adapt this algorithm can be found on the Step Size Adaptation tab.
When using a fixed step size for the simulation (deactivate Automatic Step Size Adaptation on
the Basic Options tab), the integration step size for EMT or RMS has to be set.
It is often unnecessary to plot every single calculated time step, and this reduction in plotted
data can also result in a reduced simulation time. For this purpose, the step size for the output
graphs can be set, so that not every point in time throughout the simulation time will be drawn
on the virtual instruments plot. By selecting a larger Output step size, the simulation process
will speed up without influencing the calculation process. It should be noted, however, that fast
changes may not be seen in the reported results.
The parameters which are available for the step size are:
25- 7
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
• dtgrd Electromechanical Transients (sym, asm, vco, pss) (typical 0.01 sec)
• dtout Output (typical equal to dtemt for EMT; and dtgrd for RMS simulation)
The start time of the simulation. This is typically negative, allowing the first event to be analyzed
to take place at t=0 s.
Note: When setting up time-domain simulations, it is very important to use the correct time
steps for simulations in order to observe the right phenomena in the results. For the RMS
simulation the minimum time step should always be smaller then the time constants in the
system. In controllers one must consider both the open-loop and the closed-loop time
constants. For electromagnetic transients, e.g. when analyzing travelling waves, the smallest
travelling time would be the upper limit for the minimum time step.
In addition to the Newton-Raphson based algorithm for the solution of “weak” non-linearities (i.e.
saturation effects in synchronous and asynchronous machines), the EMT simulation function al-
lows 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 stabilizers
(pss) are solved simultaneously with the electrical generator and passive network equations
(stepsize dtgrd).
If option Automatic Step Size Adaptation is enabled on the Basic Options tab, further step size
options are available on the Step Size Adaptation tab. These options are:
ddtemt max Maximum increase of step size (typical values: 0.05 for RMS; 0.001 sec for EMT)
25- 8
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Note: The simulation time can be very sensitive to some of the parameters. 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.
The advanced options may be used to tune the performance of the simulation algorithm. Less
experienced users are recommended to use the default values.
Resolution Factor
The value entered here (parameter name: kres) determines the time interval used to synchro-
nize events. Every time an internal or external event occurs (usually between two integration
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 executes all events that occur within a time in-
terval 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:
• Calculation of v(t) and v(t+h) as usual. PowerFactory uses special numerical methods to
allow this without numerical oscillations.
• Calculation of v(t) and v(t+h), hence two values at the same time, one before the occur-
rence of the event, and one after. The second method is applied if the option Re-initialize
After Event is enabled.
25- 9
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The PowerFactory stability analysis uses the angle of a reference machine and refers all other
angles to this reference angle. This is a numerically very efficient approach. After running initial
conditions, the reference machine is displayed in the output window. It is usually the “Slack”-
machine of the load-flow calculation.
In case of several isolated islands, PowerFactory offers the option of using one reference ma-
chine for the whole system (Global Reference System), or to use an individual reference ma-
chine for each island. The first case should be used if the islands are re-synchronised again
later in the simulation. In all other cases the option (Local Reference System) should be used
because it leads to a higher numerical stability and to faster simulation times.
PowerFactory can also calculate the maximum deviation between the rotor angles between the
synchronous machines in the system. This variable is then called dfrotx and can be chosen and
displayed from the variables of all synchronous generators in the system. This variable can be
used as an indicator for the synchronous operation of a large transmission system.
If you enable this option, PowerFactory uses an A-stable numerical integration algorithms for all
models to solve the simulation. In this case dynamic model equations and network equations
are solved simultaneously. This algorithm is (slightly) slower in case of small step sizes but con-
verges much better in case of large step sizes. Typical applications are longer term simulations,
in which the simulation step size is increased considerably after fast transients have decayed.
25- 10
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Another typical application are systems with power electronics. Even if power electronics de-
vices are usually equipped with very fast controls, the A-stable algorithm still allows reasonable
step sizes, at which the relaxation method would fail.
When using a conventional, explicit numerical integration algorithm, such as Runge-Kutta (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 application of this type of
algorithm is the simulation of long-term phenomena - where it is necessary to increase the
simulation step size to the range of minutes, even if fast modes are present in the system.
However, if power electronics are involved, characteristic time constants can be extremely short
(i.e. 1ms), even if a stability model with steady-state equations for the electrical network 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.
Note: A requirement for using the A-stable integration algorithm is that just “true” input and
output signal variables are used for exchanging information between different models.
It should be mentioned, that it is also possible to choose the usage of an A-stable algorithm
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 converters or fast
controllers). This option is available in the dialogues of the elements.
With the A-stable algorithm, these systems can be analyzed 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.
The Noise Generator element (ElmNoise) can be used in a transient simulation to produce a
noise signal based on random numbers. On the Noise Generation page of the ComInc dialogue,
the random number generation method can be selected. The random number generator can
be selected to be automatic (by selecting option auto), which is the default value and the most
commonly used.
Alternatively, the option renew may be selected, in which case the random seed of the noise
generator can be selected manually from ”A” to ”K”. Thus the noise signal will look the same in
every simulation, i.e. the results of a former simulation can be reproduced exactly.
25- 11
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
There are further options which can influence the simulation process and its results. In the load
flow command dialogue (ComLdf, see also Chapter 21: Load Flow) on the Advanced Simulation
Options tab, the influence of protection devices or various controller models can be neglected.
Hence the chosen models or protection devices will be ignored during the simulation as well as
in load flow and other calculations. This is illustrated in Figure 25.3.2.
• main Only the protection devices are in operation, which are defined as ’main’ devices
• backup Only the ’backup’ protection devices are considered. According to the controller
models, there is the possibility to ignore all controllers and mechanical elements with
the option Ignore Composite Elements. If there are only some specific model types one
would like to neglect in the simulation, they can be moved from the left window Considered
Models to the right window, Ignored Models.
25- 12
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
During an EMT or RMS simulation, a large number of signal variables are changing over time.
To reduce the available data and to narrow down the number of variables to those necessary for
the analysis of each particular case, a selection of these signals for later use has to be defined.
Therefore, one or more result objects containing the result variables can be configured. The
simulation function needs the reference to a result object to store the results.
The command dialogues for calculation functions, that produce signals, have result object ref-
erences, as depicted in Figure 25.4.1 for the Initial Conditions (ComInc) dialogue. See also
Figure 25.3.1.
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 output
variables press this Edit button and then Contents to get access to the list of variables stored
inside the result object. This will pop up the corresponding ElmRes edit dialogue.
An easier way to edit 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
command dialogue. Result objects (ElmRes) are treated in detail in Chapter 17 (Reporting and
Visualizing Results).
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.2
25- 13
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
This element will then be monitored during the simulation. A browser window is automatically
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 25.4(Result 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.
The variables to be monitored are stored (by default) in the result object All calculations. The
results of the variables in the current simulation are stored in this file also. If the results of two
different simulations are to be displayed, e.g. in one virtual instrument, there is the possibility to
save the result object of a previous simulation simply by copying the result objectAll calculations
25- 14
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
This can be done easily in the data manager. The result object can be found in the currently
active study case. Copy the result object and paste it into the same study case. Following this,
a second result object will be created with the name All calculations(1). If desired, the object
can be renamed to something more appropriate.
In the following simulation, the default result object All calculations will be overwritten with the
new results, but the copied results will not be modified and can be displayed together with
the new simulation results in one plot. For further information see Chapter 17: Reporting and
Visualizing Results, Subsection 17.5.2 (Plots).
Simulation Scan modules can be used to monitor frequency, voltage, synchronism, and other
parameters, and trigger events accordingly. To perform a simulation scan:
1. On the Calculation of Initial Conditions (ComInc) dialogue select Perform Simulation Scan.
2. select ( ), Edit ( ), or Show the simulation scan Modules.
3. Enter a Name and Description for the Simulation Scan (IntScn) object.
4. Click Modules and then select New Object to define a Simulation Scan object. Simu-
lation scan objects are described in the following subsections.
The frequency scan module (ScnFreq) monitors frequency at all nodes and triggers a display
message or stops the simulation if a limit is violated. Settings are as follows:
Frequency Setting
Define the frequency settings Nominal Frequency, Maximum Limit, and Minimum Limit.
Activation Time
Define the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set
the Time Step to define the intervals at which the scan should be performed.
Action
Select whether to Display Message or Stop Simulation if a limit is violated.
The loss of synchronism scan module (ScnSync) monitors the internal generator model signal
“Out of Step” of all calculation relevant machine (ElmSym). If an out of step condition is de-
tected, it triggers a display message, stops the simulation, or trips the generator/s that have lost
synchronism.
Activation Time
Define the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set
the Time Step to define the intervals at which the scan should be performed.
25- 15
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Action
Select whether to Display Message, Stop Simulation, or Trip Generator if an out of step condition
is detected.
The parameter scan module (ScnParam) monitors an Element parameter and triggers a display
message or stops the simulation if a defined limit is violated. For the parameter scan module,
an Element (*Elm) must be selected, and the Variable to be monitored must be entered.
Setting
Define the parameter Maximum Limit and Minimum Limit. Optionally select to conduct a Com-
plete Scan (see section 25.5.5 for details).
Activation Time
Define the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set
the Time Step to define the intervals at which the scan should be performed.
Action
Select whether to Display Message or Stop Simulation if a limit is violated.
The voltage scan module (ScnVolt) monitors voltage at all nodes and triggers a display message
or stops the simulation if a defined limit is violated.
Voltage Limits
If Voltage Limits is checked, define the Maximum limit and Maximum Voltage Violation Time,
and the Minimum limit and Minimum Voltage Violation Time. Optionally select to conduct a
Complete Scan (see section 25.5.5 for details).
Voltage Recovery
If Voltage Recovery is checked, define the Recovery Voltage and Voltage Recovery Time. If the
voltage decreases below the Recovery Voltage the “start time” is recorded. When the voltage
recovers to above the Recovery Voltage, the module checks that the voltage has recovered
within the time span limit.
Activation Time
Define the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set
the Time Step to define the intervals at which the scan should be performed.
Action
Select whether to Display Message or Stop Simulation if a limit is violated.
Consider the example simulation response shown in 25.5.1, where a Voltage Scan module has
been defined. The module starts scanning at the Activation Time of 2.0 seconds. If the voltage
is below the Minimum Limit (in this example, 0.72 p.u.) for more than the Minimum Voltage
Violation Time, or above the Maximum voltage (1.1 p.u.) for greater than the Maximum Voltage
Violation Time, the selected Action will be performed. If the voltage is below the Recovery
25- 16
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Voltage (0.72 p.u.) for greater than the Voltage Recovery Time a message will be displayed in
the Output Window.
The user can continue the simulation following a Stop Simulation Action by pressing Start Sim-
ulation (ComSim). Depending on whether Complete Scan is selected:
• If Complete Scan is not selected, the selected Action will only be performed for the first of
each violation. For subsequent violations, the simulation will continue without performing
the selected Action.
• If Complete Scan is selected, the selected Action will be performed for all violations.
This section provides a general description of Events, as they apply to time-domain simulations.
See Chapter 11: Study Cases, Section 11.9 (Events) for a detailed description of the event
types.
• From the Data Manager, in the Simulation Events/Faults object stored within the Study
Case.
25- 17
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
• 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.6.1 shows an example set of events. Note that a
duration for the “3p SC Fault” is not specified, rather, another event is created to clear the
fault, “Clear SC Fault”.
When creating a new event, use the icon in the toolbar, as can be seen in the Simulation
Events object dialogue in Figure 25.6.1 The event type can be chosen from the list in the
element selection dialogue which pops up, as shown in Figure 25.6.2 The events can also be
modified during a simulation by stopping the calculation, editing the events and continuing the
simulation.
25- 18
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
An alternative means of defining events is as follows: upon calculation of the initial conditions
( ), or when the simulation is already running, double-click on the desired cubicles 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 displayed
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 simulation, because the simulation could be restarted
from this point on. To change the events for a new simulation
one must first initialize the calculation again ( ), so the simulation time is reset to the beginning
25- 19
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Upon successful calculation of the initial conditions (i.e. execution of ComInc ), the icon
on the main toolbar will be activated and can be pressed to start the simulation.
The simulation is performed for the time interval between the start time defined in the initial con-
ditions command ComInc, and the stop time (parameter name: tstop), which can be specified
in the simulation (ComSim) dialogue. After a simulation has finished, it may be continued by
pressing the icon again, and entering a new stop time. In this case, the stop time may also
be entered relative to the current simulation time.
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.
Stability analysis calculations are typically based on predefined system models. In the major-
ity of cases the standard IEEE definitions for controllers, prime movers and other associated
devices and functions are used.
For planning purposes, this approach might be acceptable. The predefined sets of parameters
will allow a favorable and reasonable behavior of the analyzed system. This approach is often
also applied to operation analysis, and the system should show a response similar to a real
system.
For systems and configurations for which no IEEE models exist, such as wind generators,
HVDC-systems, etc., powerful tools for user defined modelling are required. For this purpose,
highly specialised, exact models can be created in PowerFactory .
In cases when manufacturers are able to supply exact controller models including real param-
eters, the system model can be improved by not using the IEEE standard models, but instead
building a new block diagram of the individual controller/mechanical system to represent the
device. This facilitates highly accurate system modelling.
Utilities and consultants often conduct system operation performance and optimization studies,
and therefore have a clear need for accurate methods and tools for creating accurate transient
models for stability analysis.
This includes complex operation analysis and special component planning problems. This de-
mand led to the development of highly flexible and accurate DIgSILENT PowerFactory time-
domain modelling features.
25- 20
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
System modelling for stability analysis purposes is one of the most critical issues in the field
of power system analysis. Depending on the accuracy of the implemented model, large-signal
validity, available system parameters and applied faults or tests, nearly any result could be
produced and arguments could be found for its justification.
This is one aspect of the complexity of a transient stability study. The other aspect results
from the often large set of time-domain models that are required, each of which may be a
combination of other models. All these time-domain models are ultimately wired together into
one large, single transient model from which the basic set of system differential equations can
be obtained.
Given this complexity of a transient analysis problem, the PowerFactory modelling philosophy
is targeted towards a strictly hierarchical system modelling approach, which combines both
graphical and script-based modelling methods. The basis for the modelling approach is formed
by the basic hierarchical levels of time-domain modelling:
• The DSL block definitions, based on the ”DIgSILENT Simulation Language” (DSL), form
the basic building blocks to represent transfer functions and differential equations for the
more complex transient models.
• The built-in models and common models. The built-in models or elements are the transient
PowerFactory models for standard power system equipment, i.e. for generators, motors,
static VAr compensators, etc. The common models are based on the DSL block definitions
and are the front-end of the user-defined transient models.
25- 21
DIgSILENT PowerFactory CHAPTER 25. 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.
Figure 25.9.1 shows a typical configuration of a synchronous generator with power system
stabilizer, voltage controller, primary controller, and prime mover model. The primary controller
and prime mover can be summarized as the primary controller unit model. To create 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 customized
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, however, 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.
25- 22
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Here the same relationship as that between individual controller (Common Model) and con-
troller definition (Model Definition) is used; this time between the generic power plant diagram
(Composite Frame) and the individual power plant (Composite Model). DIgSILENT PowerFac-
tory uses two key objects in creating composite models, which can be compared to the element
definition of the different elements:
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 common model has a reference to the Model Definition (BlkDef ), which looks similar
to the composite frame (shown in Figure 25.9.6). 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 constant 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 Simulation
Language” (DSL) can be found in Section 25.11 (User Defined (DSL) Models).
25- 23
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Figure 25.9.2: Example of a Composite Model Using the Frame ”Frame Generator”
25- 24
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Figure 25.9.5: Example of a Common Model Using the Definition ”vco simple”
25- 25
DIgSILENT PowerFactory CHAPTER 25. 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 available 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.9.7.
Existing controllers or models can be assigned to a slot manually by right-clicking the slot and
selecting Select Element/Type, as depicted in Figure 25.9.7. A data manger window will pop
up and the user can then browse the grid for the element to insert into the selected slot.
25- 26
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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
slots 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 element
dialogue of the newly-created common model, so that its parameters can be defined, 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.9.2 (The Composite Frame) and
Figure 25.9.6).
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.
Note: Depending on the settings of the individual slot, the menu entry Reset Element/Type will
not only clear the marked slot but also delete the built-in or common model, if it is stored inside
the composite model in the
data manager. These settings are explained in detail in Section 25.9.2 (The Composite Frame).
A faster method for defining standard composite models is to right-click on an object in the single
line diagram and select Define... from the context menu of the element.
25- 27
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
When a standard composite model is available for the selected object, a list of the available con-
trollers is shown. Selecting a controller will add it to the composite model, which is automatically
created when no composite model yet exists for the selected object.
Slot Update
The Slot Update button in the composite model (ElmComp) dialogue will re-read the slot defi-
nitions 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 compensators, 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 Classi-
fication in Section 25.9.2 (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.9.8.
Next to the references to the composite model, the template and the target directory, the two
step response tests, which will be created, can be specified. 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.9.9 shows this folder in the data
manager.
25- 28
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Inside the Step Response Test folder, a second folder is created, named according to the com-
posite 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.
25- 29
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Note: There is now no longer any connection between the original elements and the new
elements of the com-
posite model. Therefore, you can change any controller settings without changing your network.
After testing the controller, the folder Step Response Test can be deleted completely without
loss of information in the original network.
A composite frame is a block diagram which defines two or more slots, their input and output sig-
nals, and the connections between them. A composite frame is defined graphically by drawing
it.
Drawing a composite model frame is similar to drawing a normal block diagram. The main
difference is that instead of common blocks, only slots may be used.
To create a new composite frame select the Insert New Graphic icon on the main toolbar
(in the graphics window) and then select Block/Frame Diagram and press Execute as shown in
Figure 25.9.10 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
25- 30
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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 slots 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.9.11.
The name of the slot will appear later in the composite model dialogue, and it is therefore rec-
ommended to name this element according to which slot it will be assigned (e.g. ’vco slot’). The
Sequence parameter defines the order of the slots appearing in the composite model dialogue.
25- 31
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
A block definition (BlkDef ) can be assigned directly to a slot. This option will simplify the han-
dling of the slot and prevent errors due to miss-matched signal names of slot and assigned
block.
To assign the external form of a block definition to the selected slot, edit the slot by double-
clicking it and choose the select button for the “Block Definition” in the dialogue. Now the
block definition can be selected, e.g. the type of controller or built-in element, which should be
assigned to this slot later.
As an example, if the newly-defined slot ought to represent a synchronous machine in the frame
diagram, a predefined block definition can be chosen to insert the input and output signals to
this slot available for the element ElmSym. A controller should, for example, only be assigned
to a slot, when only this type of controller is to be inserted into this slot, and no other model can
be.
Some predefined block definitions can be found in the global library in the path Library/Models/Built-
in.
When the block definition is selected (in our example the “ElmSym.BlkDef”), the input and output
as well as limiting signals will disappear from the slot dialogue. The filter for the class name will
automatically be entered. When clicking on the Ok button, the slot will 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/definitions 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 definition, 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.
Class/Name Filter
There is also the possibility to specify a filter for the class name and/or for the model name
to be inserted. This makes sense when (for example) only synchronous machines should be
assigned to the slot. In this case, the class name ElmSym* would be entered. PowerFactory
then will only allow the element class ”synchronous machine” to be inserted into the slot. A filter
for a specific (part of an) element name can also be defined.
25.9.2.4 Classification
The classification options only effect the external behavior of the slot.
Linear The slot representation in the frame diagram will be as a linear or non-linear model.
25- 32
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Automatic, model will be created When this option is activated, the function ’Slot Update’
(see Section 25.9.1: The Composite Model) will automatically create a DSL model and
ask for a block definition from the library.
Local, Model must be stored inside This option is activated by default. This means that when
a Slot Update is executed in the composite model, PowerFactory will only search for el-
ements which are stored inside the ElmComp. A reference to models which are stored
outside, i.e. the synchronous generator in a plant model, will be removed from the slot.
Not all input or output signals of built-in elements or common models have to be used and
defined in the slot. 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.10.1
(Drawing Composite Block Diagrams and Composite Frames).
Limiting Signals
There is also the possibility to enter ’limiting signals’. These signals are handled by PowerFac-
tory exactly like normal input signals. The difference is only in the graphical representation in
the block diagram. These signals will be shown as inputs on the top or bottom of the slot.
25.9.2.6 Variables
The input and/or output signal(s) have to be defined for each slot. The available signal names
for the Built-In transient models (Elements) can be found in the corresponding Appendix C:
Technical References of Models.
The given input and output signal names in this slot dialogue have to match the input/output
signals of the given transient model exactly, or the signals will not be connected properly and
an error message will result.
Only after one or more input and output signals have been defined for a slot, is it possible to
connect the slot with signal lines to other slots. It is therefore recommended to first position and
edit all slots and to draw the signal connections thereafter.
The common model element (ElmDsl, is the front-end object for all user-defined block def-
initions. This means that user-defined transient models, but also the block diagrams that are
ready-shipped with the PowerFactory program, cannot be used other than through a common
model. The common model combines a model or block definition with a specific set of parameter
values. The common model shown in Figure 25.9.12 uses the block definition vco Simple.
Typically the model definition is implemented as a block definition, such as that shown in Figure
25.9.13.
25- 33
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
A model definition contains block references which may in turn either point to a primitive block
definition (see Figure 25.9.14) or to a another composite block definition (see Figure 25.9.15).
The structure of the block definition is thus recursive and the user should check that this recur-
sive structure does not contain circular references to composite block definitions.
A primitive block definition contains one or more DSL expressions and forms a basic block for
more complex transient models. A description of how to use and create DSL models can be
found in Section 25.11 (User Defined (DSL) Models).
It is also possible to implement the model definition not as a block definition, but directly as a
primitive block definition (Figure 25.9.14), coded using DSL.
Each block definition generally has one or more parameters which can be changed to define
the model’s behavior. Two kinds of parameters are supported:
25- 34
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
25- 35
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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.9.16. All parameters are listed on the first page of the common
model, and their values can be specified there.
25- 36
DIgSILENT PowerFactory CHAPTER 25. 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-dimensional
characteristics) of the ElmDsl object. In Figure 25.9.17 an example is shown for a 13x4 array
definition.
25- 37
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
CharacteristicIn the row labelled ’Size’, insert the number of rows in the first cell; the number
of columns is set automatically. If the number of rows is changed, jump to the previous page
and back again to update the characteristic.
Two-Dimensional CharacteristicIn the row labelled ’Size’, insert the number of rows in the
first cell and the number of columns in the second cell. If one of these numbers is changed,
jump to the previous page and back again to update the characteristic.
25- 38
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
where y 0, y 1, ... represent output signals 0, 1, ... and u 0, u 1, ... represent for input signals
0, 1, .... These signals are all functions of time.
• Summation Points which produce the single output y=(u 0+u 1+...)
• Signal Lines which produce one or more outputs from one input: y 0=y 1=...=u
• Block References which are used to include other block definitions.
Block references can be looked upon as macros that insert a low-level block definition inside
a composite block diagram definition. A block reference may either point to another composite
block definition or to a primitive block definition.
The PowerFactory program is shipped with a large set of primitive block diagrams for most
common controller elements like PID-controllers, Dead Bands, Valve Characteristics, etc., and
can be found in the PowerFactory tree under Database —Library—Models—Global Macros.
These predefined DSL primitives may be copied and altered for specific needs.
A block reference is created by using the icon in the graphics toolbox. This creates an empty
square which can then refer to any existing block definition in the library.
Note: The composite frame and the model definition are very similar and 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.10.1 (Drawing Composite Block Diagrams and Composite Frames).
If the block type is selected, PowerFactory inserts all available parameters of the referred block.
The user may change the name of any parameter, however ensure that the order of the pa-
rameters 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 con-
nection 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.
25- 39
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
An example of a simple block diagram, comprising a multiplier, a summation point and a stan-
dard PI block, is shown in Figure 25.10.1.
When rebuilding a diagram (by pressing the icon), the DSL representation of the block di-
agram is written to the output window. For the example block diagram in Figure 25.10.1, 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 convenient
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.
Although the composite block diagram and the composite frame diagram should be distin-
guished from one other, they are drawn in the same way.
The basic distinction between a block diagram and a frame diagram is that the latter contains
only slots and signals, whilst the block diagram must not contain any slots.
• Selecting the main menu entry File → New or Strg-N and then selecting the option
Block/Frame Diagram from the New command dialogue (ComNew);
• 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).
25- 40
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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
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.10.2.
It should be noted that the availability of this toolbox is according to whether or not the graphic
is frozen ( ). When the graphic is not frozen, the toolbox is available, and likewise, when the
graphic is frozen for editing, the toolbox is hidden.
25- 41
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Note: When creating a frame or a block definition, PowerFactory recognizes the type of
definition when you place the first slot or block. Because a composite frame diagram may only
contain slots and signal lines, creating a slot will disable all other node objects in the drawing
toolbox. If you place a block ( ) first, the icon for the slot will become inactive, so you can’t
mix up slot and block elements in one diagram.
Drawing the block objects and connecting them with signals is done in a similar way as is done
with elements in the single line graphic. A block reference is first displayed as an empty square
which has to be edited in order to assign a (low level) block diagram to it.
Because of lack of information about the number of inputs and outputs of the new block refer-
ence before a (lower level) block definition is assigned to it, it is not possible to connect signals
to the empty block. It is therefore recommended to first draw all block references and to assign
block definitions to them. The block references then show all available input and output signal
connections.
A block reference is edited by right-clicking on it and selecting Edit from the context-sensitive
menu, or simply by double-clicking on it. The dialogue as displayed in Figure 25.10.3 will pop
up.
25- 42
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Use the Select button ( in Figure 25.10.3) to select a model definition. Predefined standard
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, using the Drag & Drop
functionality.
Summation Point
Every dot can be used as an input to the summation point. The sign of signals at sum-
mation 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
25- 43
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
of three input signals will then be: out=(in 0/in 1/in 2). Mind that not all dots have to be
used and only one dot can be defined as an output.
Switch
Two input signals can be applied to this block, which will be connected to the output
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.
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.10.4).
• 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 possibility
to change the name of the signal.
Signals normally connect a single output parameter with a single input parameter. Especially 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 semicolons,
e.g ”I A;I B;I C”. In Figures 25.10.5 and 25.10.6, the multi-signal output and input of two block
definitions are shown. Both blocks will show a single input or output connection point. They can
be connected to each other by a single signal line, as illustrated in Figure 25.10.7.
25- 44
DIgSILENT PowerFactory CHAPTER 25. 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.
The composite block diagram normally has input, output and limiting signals of its own. Input
signal points are defined by starting a new signal line on the left, top or bottom side of the frame
enclosing block diagram. This will create a new input signal for the composite block definition.
New output signals are defined by ending a signal line by clicking on the right side of the en-
closing rectangle frame.
Signals, which are thus connected to the rectangular frame, have the following meanings:
25- 45
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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.
25.10.1.6 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.10.8. The cursor will change to a double diagonal
arrow, and moving it (while holding down the left mouse button) resizes the object. 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.
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 representation 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, output and internal signals, as have
been defined graphically.
On the second page of the dialogue, which can be accessed by pressing the button, infor-
mation and equations for the initialization of the block can/has to be entered. Additionally, the
name and the unit of the parameters to be defined in the common model can be specified (see
also Section 25.11: User Defined (DSL) Models).
Additional DSL equations can be defined on the second page of the block diagram edit dialogue.
25- 46
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
System modeling for stability analysis purposes is one of the most critical issues in the field of
power system analysis. Depending on the accuracy of the implemented models, large signal
validity, available system parameters and applied faults or tests, nearly any result could be
produced and arguments could be found for its justification.
A simple example illustrates this. In a 10 GW power system the expected steady-state fre-
quency deviation when losing a fully loaded 2000 MW unit depends highly on the frequency
dependency, K f, of loads. Assuming a total system droop of 7% and a K f value of 0, the
steady-state frequency deviation will be approximately 700 mHz.
Now with a more realistic coefficient of Kf = 5%/Hz, the steady-state frequency deviation is
expected to be 596 mHz only. On the other hand, the frequency dependency might be slightly
higher or lower, but the non-linear characteristics of hydro turbine efficiencies and steam valve
non-linearities could be more relevant at a certain unit loading point. Consequently, as long as
only one or two different loading scenarios are considered, average values with reasonable sim-
ple 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 re-
lated 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 pa-
rameters 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 subsequent
questions to be asked are:
• Are IEEE models and additional manufacturers block diagrams adequate and accurate?
25- 47
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
• 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 distur-
bance conditions;
For the ASMA approach, the following steps are critically important:
Setup of system models Based on the fundamental equations of engineering and physics,
the basic algebraic and differential equations are to be set up according to the required
degree of accuracy. In addition, all parameters such as time constants and gains which
could be also derived from these basics, are to be calculated with the same degree of
accuracy.
Performance of system tests In order to define all other parameters and, in particular, non-
linear characteristics, system performance tests are the best method. In the majority
of cases, frequency response tests will not permit the determination of any non-linear
structure and its parameters. Special test procedures, which do not interfere with normal
operation, have to be applied to focus on the steady-state characteristics, gains and time
constants. These measurements are preferably executed with a highly accurate digital
transient performance measurement system.
System Identification Non-linear, multi-input and multi-output system identification techniques
are applied for system identification procedures. Typically, the mismatch between mea-
sured and identified data should be smaller than 2%.
Comparison of measurements and simulations Besides the analysis of subsystems and com-
ponents, overall system performance is to be compared with the theoretical model for all
relevant operating modes.
Of course, very strict application of the ASMA approach is not necessary for modeling relays
and less complex or digital control functions, as these are clearly defined by their appropriate
general and acceptance test documentation. However, independently of the analyzed system,
where the system representation cannot be matched to a classical IEEE or any other standard
model, there is a substantial need for an easy to use and flexible method for the realization of
individual models.
As already indicated, the most critical and decisive factor for reliable simulation results is the
accuracy and completeness of system model representation for identification and simulation
purposes. Methods for solving this task range from the classical and traditional way of using
software which allows interfacing of user-defined models at the FORTRAN/C level - typically via
25- 48
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
connection lists - to the block-oriented approach which is based on the provision of predefined
low-level block macros being connected at the case definition level.
In addition, most modern commercially available general purpose simulation tools may be used
for flexible and specific system representation. Unfortunately, this approach does not adequately
cover the special electrical system load flow characteristics.
In order to provide a very flexible modeling and simulation tool, which forms part of a stability
program, a control system based simulation language was developed. The 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 con-
trol 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
The DIgSILENT Simulation Language is used to define new dynamic controllers which receive
input signals from the simulated power system and which react by changing some other signals.
DSL itself can be looked upon as an add-on to the transient analysis functionality of PowerFac-
tory . During the simulation, the model equations of the DSL models are combined with those
describing the dynamic behavior of the power system components. These equations are then
evaluated together, leading to an integrated transient simulation of the combination of the power
system and its controllers.
Signal input and output channels: Any variable defined within the kernel (currently more than
2500) and in a DSL model, can be accessed in a read-and-write mode. Main and sub-
address features are implemented allowing the access of any signal existing in the system
or to build up complex structures such as hardware-based modules taking equipment
”rack” and ”function card” structures into account.
Events: Conditions evaluated by DSL models may cause events to be sent to the program
kernel where they will be scheduled within the event queue.
Output and Monitoring: Conditions may trigger user-defined messages to be displayed in the
output window.
25- 49
DIgSILENT PowerFactory CHAPTER 25. 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.
1. A set of basic DSL models is created. These models implement simple, ’primitive’ con-
trollers 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 com-
bined 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.11.3 (Defining DSL Models) describes these procedures in detail.
25- 50
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Figure 25.11.2 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:
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.11.3 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,)
25- 51
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
4. inc(x1) = y
5. inc(xe) = 0
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
Both example DSL models show the two basic parts of any DSL model, primitive or complex:
Interface description
The interface defines the model name, names of input and output signals, model parameters
and state variables. These are shown in the output window in the model heading.
Model description
The model description describes the DSL model, based on the signals defined in the interface.
The DSL description includes:
25- 52
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The numerical integration of DSL models, interrupt scheduling and input-output signal process-
ing 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.
A new DSL model is created either by entering the DSL code in the equation part of a Block
Definition (BlkDef ) object, or by creating a new Graphical Block Diagram. Both methods will
result in a Block Definition Object which holds the definition of the DSL model.
The block definition objects thus serve two purposes in the process of constructing a DSL model:
• They hold the definitions and parts of a graphically constructed composite block definition,
and the diagram graphic which was used to define the model;
• They provide the surrounding in which a new ”DSL primitive ” or ’primitive block definition’
can be defined.
• Use the main menu entry File → New or Strg-N and then select the option Block/Frame
Diagram from the New command dialogue (ComNew).
• Use the Insert New Graphic icon on the toolbar (of the graphics window) and select
the option Block/Frame Diagram.
To access the dialogue of the block definition (BlkDef ), double-click on the frame box surround-
ing the diagram.
Complex block definition objects are conceptually similar to “Grid Folders” in the PowerFactory
database tree. They are defined by graphically defining a controller block diagram of which
they will store the graphical information and all logic parts. These parts include signals, small
standard components (adders, multipliers, etc.) or DSL primitives.
Although a complex block definition object is created graphically, it allows for additional DSL
equations to define those aspects of the controller that would be otherwise difficult to enter in a
graphical way.
25- 53
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The graphical environment in which a complex block diagram is constructed, is not treated here.
Please refer to Chapter 9 (Network Graphics (Single Line Diagrams)) for more information.
• Right-click on or inside a (library) folder in the active project in the data manager and select
New. . . → Block/Frame-Diagram from the context-sensitive menu;
• 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.
When creating a primitive DSL model or by double-clicking on the frame of a composite block
definition, a dialogue will appear, where input and output variables, parameters, state variables
and limiting signals can be defined. Furthermore, additional equations, initial conditions of
variables as well as names and units of parameters can be inserted.
Figure 25.11.4 shows an example dialogue of a PI controller including limiting parameters and
a ’switch’ signal.
25- 54
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Name and Title will appear in the library folder, where the model is stored.
Level of the model representation is only important when using or changing old models. For
new created models the highest level 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 communicate during a simulation. For
more information about the MATLAB interface see Section 25.16 (MATLAB Interface).
25- 55
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Limiting Parameter. A constant may be defined, which are defined in the common model
dialogue, as well as limiting signals, which are similar to input signals. The difference is the
graphical representation in the block diagram.
Input and output signals have to be defined for internal use inside the block definition. The
number and their name will then appear in the graphical diagram when the block is used.
State variables are needed when not only linear, but also differential, equations are used. Then
for every first-order derivative one state variable must be specified.
Parameters will appear in the common model dialogue and can then be specified. The pa-
rameter defined in the block definition will automatically be inserted in the block reference. The
names of the parameters can be different in the block reference and in the block definition. Only
the order must be identical.
Internal variables are only used inside the block definition but can not be set from outside.
Contents
This button will display the (possible) contents of the block definition. This can be the
graphically inserted objects, further block references or the packed macros. This may
additionally include, for example, internally-defined events.
Equations
The ”Equations” button will print the DSL equations to the output window, regardless of
whether they are defined graphically or on the ”Additional Equations” page, as well as
variable definitions.
Macro Equat.
This button prints the current block definition DSL equations (including the equations in
the used macros) to the output window.
Check
”Check” will verify the model equations and output error messages if errors have occurred.
Otherwise the following message will occur:
Check Inc.
The initial conditions of the block definition will be printed and checked.
Pack
Pack will copy all used DSL models (macros) of a composite model definition to the folder
”Used Macros” inside the block definition. In this way there will now be references to other
projects or libraries outside the model. Beware: any further changes in the macro library
have no influence; the macros are copied and no longer linked to the library. So if there
is an error in a certain macro it has to be fixed separately in each packed block.
Pack-> Macro
25- 56
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
This command will reduce the entire model including DSL blocks and additional equations
and macros into one DSL model containing only equations. All graphical information will
be lost. It should be noted that this command is irreversible.
Encrypt
The ”Encrypt” button is available when Pack-> Macro is activated before. This command
encrypts all equations inside the model, so that the equations can not be seen or output
anymore. In this way a model containing sensitive or restricted device equations can be
delivered without showing the internal equations. It should be noted that this command
is irreversible and a decrypt function is not available.
By clicking on the button the second page of the dialogue can be accessed. Here the
(additional) equations of the DSL model can be defined. Also further information e.g. the initial
conditions of state variables and the name and unit of parameters can be specified. Figure
25.11.5 shows the additional equations of the DSL model of the PI controller.
The next section describes the handling and usage of the DSL language.
The DSL language is used to program models for the electrical controllers and other compo-
nents used in electrical power systems. As for any other simulation or programming language,
a special syntax is provided for the model formulation. This syntax is explained in the following
order:
The following terms and abbreviations are used to describe the DSL syntax:
expr
25- 57
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Example:
A = x1+2.45*T1/sin(3.14*y)
boolexpr
Example:
A = x1>0.and..not.x2 <= 0.7.or.T1=0.0
string
anything within ’...’ (single quotation marks). Example: A = ’this is a string’
Line length: The maximal line length is 80 characters. Longer lines have to be broken by using
the ’&’ sign in the first column of the continuing line. A ’&’ sign in the first column joins the current
row and its preceding row.
Example:
y = lapprox(x, 1.674, 7.367, 2.485, 12.479, 5.457, 18.578
& 6.783, 15.54, 8.453, 12.589, 9,569, 6.478)
Case sensitivity: All keywords, names, functions, variables, models, macros, etc. are case
sensitive.
Blanks: All blanks are removed when the DSL code is processed. Exception: blanks in strings
are kept.
Comments: The ’!’ sign causes the remaining line to be interpreted as a comment. Comments
are removed when the DSL code is processed.
Example:
! comments may start at the beginning of a line
x1. = select(at<>0, ! comments may be used in broken lines
& (1-sqr(x1)/sqr(at))/Tw, 0)
25- 58
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Output signals: Output signal variables are available as input signals to more complex DSL
models.
Input signals: Input variables may originate from other DSL models or from power system
elements. In the latter case, currents and voltages, as well as any other signal available in the
analyzed power system, become available to the DSL model.
State variables: State variables are time-dependent signals generated and used within the
DSL model itself.
Parameters: Parameters are ’read only’ numbers which are set to alter the behavior of the DSL
model.
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.
• The interface part, which states the model name, title, classification and variable set. This
part is set in the first page of the block diagram dialogue;
• Definition code;
• Equation code.
The definition and equation code form the actual controller network definition and are treated in
the next sections.
Definition code in the equation part of a DSL model is used to define parameter properties and
initial conditions.
25- 59
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
vardef(varnm) = unitstring;namestring
Examples:
vardef(Ton) = ’s’;’Pick up time for restart’ ! defines unit and name
vardef(Ton) = ;’Pick up time for restart’ ! only defines name
vardef(Ton) = ’s’; ! only defines unit
[varnm] = unitstring
Remark : A macro call causes error messages if the units of the substituted variables do
not match the defined units.
Example:
[Ton] = ’s’ ! defines unit
Defines the valid interval for variable varnm. Violations of the interval limits during simu-
lation will be reported:
The ’(’ and ’)’ braces exclude the minimum or maximum value from the interval; the ’[’ and
’]’ braces include them.
Examples:
limits(x)=[min,max] ! min <= x <= max
limits(x)=(min,max] ! min < x <= max
limits(x)=(,max] ! x = max
limits(x)=(min,) ! min < x
If required and if possible, the program automatically determines the smallest interval under
several intervals of the same variable.
Example:
limits(x)=(1,3) and limits(x)=(2,4] results in 2<x<3.
Macro models often define limits for certain variables. The model which uses the macro might
also define limits for the variables which are used in the macro calls. The ’smallest interval’
method gives the calling model thus the freedom to redefine parameter limits without violating
the internal macro limit definitions.
25- 60
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
inc(varnm) = expr
Definition of the initial condition of variable varnm. If inc(varnm) is not defined, the normal
assignment expression will be evaluated (only possible if varnm is of the intern or input
type). If inc(varnm) is defined, it will be evaluated when the model is reset.
inc0(varnm) = expr
Definition of the initial condition of variable varnm, for unconnected output or input vari-
ables. This variant of the inc() statement is used only when the variable varnm could
not be initialized through the initial condition of the connected input or output signal. The
inc0() statement is thus used to make open input or output terminals possible.
incfix(varnm) = expr
This variant of the inc() statement is valid only in connection with automatic initializa-
tion and is used to determine the initial values in ambivalent situations. With the incfix,
one or more variables can be directly initialized so that other variables can be initialized
automatically.
Example:
An AVR model has two inputs, [upss , usetp ], and one output, [uerrs ]. Both inputs cannot both
be initialized automatically by the single output value, which is determined by the connected
machine. Therefore one of the inputs must be initialized as fixed, e.g. by incfix(upss)=0. The
initial value of usetp is now automatically determined, using upss=0.
Three functions are available for determining initial values iteratively: looping, intervalinc, new-
toninc.
These functions are used to find the initial value for one set of parameters if the initial values of
another set of parameters, which are functions of the first set of parameters, are known.
The iterative functions are used to find the (approximated) values for the unknown parameters
for which the known parameter take their initial value.
Performs a simple linear search for a single value for which the parameter varnm is clos-
est to its known initial value.
Example:
25- 61
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
• The initial value of variable a is searched for by evaluating parameter b, beginning at a=-5,
ending at a=5, with an increment of 0.01.
• Return value: the value of a for which the deviation of b from its known initial value, takes
the smallest value. A warning is given if the smallest deviation is greater than eps.
• Restriction: Can only be used on the right side of an inc() statement
Performs an ’interval-division search’ for a single value for which the parameter varnm is
closest to its known initial value.
Example:
inc(a) = intervalinc(b, -5, 5, 40, 0.001)
Explanation:
The initial value of the variable a is searched for, within the interval [-5,5] by successively
dividing the interval as long as the deviation of the variable b from its initial value is less
than eps. The iteration stops if the maximum number of iterations is reached, and a
warning is given if the smallest deviation is greater than eps.
Restriction:
May only be used on the right side of an inc() statement
Performs a Newton iterative search for one or more parameters by minimising the errors
in a set of coupled equations.
initexpr = the expression which must equal the parameters whose initial value is sought
start = the starting value for the parameter whose initial value is sought
iter = the maximum allowed number of iterations
eps = the maximum allowed absolute error between initexpr and the parameter whose
initial value is sought.
Example:
qt0 = 0.5
eps = 0.000001
maxiter = 100
inc(hedr) = newtoninc(hw-sqr(qedr)*(Rds+Rdr), hw, maxiter, eps)
inc(qt1) = newtoninc(Pt1/(4*dh*eta1), qt0, maxiter, eps)
inc(qt2) = newtoninc(Pt2/(4*dh*eta2), qt0, maxiter, eps)
inc(qt3) = newtoninc(Pt3/(4*dh*eta3), qt0, maxiter, eps)
inc(qt4) = newtoninc(Pt4/(4*dh*eta4), qt0, maxiter, eps)
This example shows a part of the initial value definitions for a model where the initial val-
ues of 5 parameters (hedr ,qt1 ,..,qt4) are sought simultaneously by setting up a system
of coupled equations and solving that system by the Newton method so that, eventually:
25- 62
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
p
hedr ≈ hw − qedr × (Rds + Rdr) (25.1)
• Add the initial conditions to the complex block, as opposed to each primitive (like a first-
order time lag).
• The general initialisation ’direction’ is from right to left, i.e. the outputs are normally known
and the inputs (or setpoints) have to be determined.
• If initial conditions are not defined for a certain variable, the simulation equations are used
instead. It should be therefore enough to specify the initial conditions of the state variables
and input variables.
• The option Automatic Calculation of Initial Conditions requires configuring, but does not
require correct initial conditions for each state/input variable. The initial values are only
used to initialize the iteration process. The incfix-function can be used to determine the
initial values in ambiguous situations.
• Use the option Verify Initial Conditions to check if the initial conditions lead to the correct
result.
Within the equation code, all equations necessary to build up the simulation models are in-
cluded. The set of equations defines a set of coupled differential equations which describe
the transfer functions between the input and output signals. These transfer functions may
range from simple linear, single-input single-output functions, to highly complex non-linear, non-
continuous, multi-input, multi-output functions.
DSL is used to describe the direct relationships between signals and other variables. Expres-
sions may be assigned to a variable, or to the first derivative of a state variable. Higher order
differential equations have to be thus split up into a set of single order equations by the intro-
duction of additional state variables.
25- 63
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The equation statements are used to assign expressions to parameters, thus relating all param-
eters in a set of differential equations.
Syntax:
varnm = expr
varnm. = expr
Assigns expression expr to the first order derivative of the variable varnm.
Examples:
x1. = (xe-x1)/T1
x2. = x1
Remarks
• DSL assignments may occur in any sequence. The sequence does not influence the
evaluation of the assignments.
• All variables are of type floating point, even if assigned to a boolean expression, in which
case the value will be 0.0000 or 1.0000.
• When a variable z is used in a logical expression (i.e. y=.not.z), the logical 1 of z is tested
by evaluating (z>0.5):
y1 = .not.z is interpreted and equal to y1 = (z=<0.5)
There is no warning against mixing logical and non-discrete variables in expressions. Con-
sequently the following code will not cause a message to be emitted: depending on y, z
will take the value x1 + 4.0, or just x1:
y = .not. x1>2 .or. a<=3
z = 4.0*y + x1
• The assignment of a value to a variable takes place in an order which recognizes the
connections between these variables. In the case of the following example, the second
line will be evaluated first, then line 1:
1. a = b+5
2. b = x1
3. x1. = 1
• Algebraic loops are not supported. In the following example, an error message will be
displayed:
a = b+5
b = 2* a
• If there is no assignment to a variable varnm, varnm will keep its initial value. The right
side expression may not contain derivatives. Derivatives may only appear on the left side
of the equal sign. The first example is correct; the second is false.
x1. = asin(a) ! Correct
a = sin(x1.) ! Not accepted
25- 64
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
A DSL macro is a predefined DSL model, complex or primitive, which is meant to be included in
higher level DSL models. The block diagram edit dialogue offers a ’Macro’ classification option
which can be set to mark the model as a macro.
A DSL macro is included in a higher level DSL model either by creating a block reference in the
block diagram graphics or by its explicit inclusion in a DSL equation.
Syntax:
Assigns the output signals of the DSL macro macroname to the variables varnm1, varnm2
, ... Assigns the input signals of DSL macro to the variables i1, i2,... The macro uses the
state variables s1, s2,... the parameters p1, p2,... and the internal variables i1, i2,...
Macro calls are not supported within expressions, even if they only have one output variable.
Correct example:
y = my macro(x1, s1, p1, i1) !
Incorrect example:
y = 3 * my macro(x1, s1, p1, i1) + 4
A preparser substitutes each macro call with the equation code of the macro. The variables
of the macro DSL model are then replaced by the variables used in the macro call. The local
variable names of macros thus disappear after the preparation process.
1. Models of electrical devices such as generators, loads or HVDC systems. These mod-
els are characterized by their principal output signal ”complex device current”, which is
injected to the electrical grid at a certain busbar. However, in addition to the electrical
device currents, there may be any other variable defined as an output signal. A summary
of the available variables of each element can be seen in the corresponding Appendix C:
Technical References of Models.
2. Models with output signals which are not directly injected to the electrical network (general
devices). Among these types of models are prime mover units, voltage controllers, relays,
calculation procedures, etc.
25- 65
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The DSL language provides procedures for the generation of an interrupt event and for sending
messages to the output window:
• The procedure fault(boolexpr, event string) generates an event and is evaluated at the
beginning of each time step
• The procedure output(boolexpr, message string) outputs a message and is evaluated
at the end of each time step.
The ”fault” and ”output” procedures are evaluated at each time step during the simulation of
a model. The first time that boolexpr is found to be true, the string will be processed and a
message will be sent to the output window, or an event will be added to the PowerFactory event
queue. The ’”fault” or ”output” procedures will be disabled afterwards until the DSL model is
reset, to prevent an avalanche of messages or events. Both procedures are explained in detail
in the following paragraphs.
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 ex-
pression, e.g.:
value=num(a+b) may produce value=3.5000
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.
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
25- 66
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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 dialogue. A list of events already defined inside this model is displayed. The events are
not added to the projects global event list unless the event is ’activated’ by the DSL model.
Controller Model:
model pt,ptmw =
’pmu 1’(at,sgn,cosn,ngnum;x1,x2,x3,x4;Thp, Tip,Tlp,alflp,Tspi)
[T1] = ’s’
limits(T1) = [0,)
limits(alfhp) = [0,1]
vardef(alfhp) = ;’High pressure turbine ratio’;
limits(alflp) = [0,1-alfhp] vardef(alflp) = ;’Low pressure turbine ratio’;
vardef(Tspi) = ’s’;’Boiler capacity time constant’;
limits(Tspi) = (0,) vardef(Thp) = ’s’;’High pressure turbine time constant’;
vardef(Tip) = ’s’;’First reheater time constant’;
vardef(Tlp) = ’s’;’Second reheater time constant’
inc(x1) = y/K
inc(xe) = y/K
inc(x4) = 1.0
inc(at) = pt
inc(steamflow0) = pt
inc(ylp) = pt
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
25- 67
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
[T1] = ’s’
limits(T1) = [0,)
lim
25- 68
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Figure 25.15.1
limits
limits(param)=(min, max)
Limiter function used to print a warning message to the Output Window if a parameter is
outside the specified limits. Brackets [ and ] are used to indicate the inclusion of the end
points in the range, ( and ) are used to indicate the exclusion of the end points from the
range.
Example:
limits(K)=(0,1]
limstate
x1. = xe/Ti;
y = limstate(x1,min,max);
delay
select
select (boolexpr, x, y)
Returns x if boolexpr is true, else y. Example:
x1.=select(T1>0, xe/T1, 0.0) !to avoid division by zero
time
time ()
Returns the current simulation time. Example:
t=time()
y = sin(t) or
25- 69
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
y = sin(time())
file
picdro
Return value:
The internal state:
flipflop
Return value:
The internal state:
Initial value: boolset. The initial condition boolset=boolreset=1 will cause an error mes-
sage.
aflipflop
Return value:
The internal state:
lapprox
25- 70
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Example:
y = lapprox(1.8, array valve)
invlapprox
lapprox2
Example:
y = lapprox2(2.5, 3.7, matrix cp)
sapprox
Example:
y = sapprox(1.8, array valve)
sapprox2
Example:
y = sapprox2(2.5, 3.7, matrix cp)
event
This function can create or call any kind of event for the DSL model itself or elements
inside the network. The event is executed, if the input signal trigger changes sign from -
to + with a time delay of dtime.
Mind: the event command has changed from DSL level 3 to level 4!
25- 71
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Arguments:
The string format determines the details of the event call, and which of the three options
above applies:
Return value:
void (no return value)
Remark:
If the event()-definition according to options 2/3 is used, the create and target parameters
must be the first parameters that are listed.
Examples:
The example shows a clock made with DSL using event( , ,’name=this ...’) which auto-
matically creates and configures a parameter event. The variable named xclock will be
reset to value val=0 within dtime=0, if the integrator output xclock is larger than 1. The
input signal is a clock signal with the time period Tclock.
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
25- 72
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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’)
The following event is a simple undervoltage load-shedding relay. The element in the
slot ’Load’ will be disconnected with a swicth event ’EvtSwitch’, when the signal ’u-umin’
becomes positive. The event in the event list will be called ’TripLoad’.
In addition to building controller models using the DIgSILENT Simulation Language (DSL), it is
possible to connect to MATLAB models via a PowerFactory -MATLAB interface. A DSL model
(object class BldDef ) is defined in PowerFactory and set up to have a link to a MATLAB .m
file. The DSL model must have at least one output and at least one state variable. The MAT-
LAB .m file returns the vector t and the matrices x and y, where t represents a time-vector, x
represents a matrix of state-variable values, and y represents a matrix of output values. From
these, PowerFactory calculates the derivatives of the state variables and outputs. The numeri-
cal integration is conducted in PowerFactory . PowerFactory calls MATLAB with every time step.
MATLAB does not run a simulation in parallel with PowerFactory , it simulates only one time step
and returns two rows in t, x and y, which correspond to the initial and the final times of that time
step. The matrix x has as many columns as there are state variables, and the matrix y has as
many columns as there are outputs. PowerFactory calculates the derivates and the outputs at
the beginning of the time step, and proceeds with the integration. In the following example the
initial time is 0 s and the final time is 0.01 s. There are two state variables, and two outputs.
0 1.02 2.1 10 2
t= ;x = ;y = (25.6)
0.01 1.03 1.9 11 3
PowerFactory calculates the deriviatives from the time step and the initial and final values of the
state variables, e.g. , and obtains the outputs of the MATLAB model at the beginning of the
time-step from the y-matrix, e.g.
In this example the grid consists of two generators, one load and one line, as shown in Figure
25.16.1.
25- 73
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The simulation event is defined for the load, where the reactive power is increased after 0.5
seconds.
In the base study case, the voltage controller models are represented by the built-in models
VCO type 16 (ElmVco 16). The built-in VCO type 16 inside PowerFactory is one excitation
control system with simplified exciter. Both composite models use the AVR inside the IEEE-
frame from the global library. The generators have different VCO parameters set. In Figure
25.16.2 the edit dialogue of the ElmVco with the parameters of the AVR can be seen.
25- 74
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The plots resulting from the simulation (Figure 25.16.8) 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.
25- 75
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
In the second study case ”Matlab” which is a modification of the base case, VCO type 16 is
modelled inside the Simulink package, instead of using a built-in model. The MATLAB console
is started automatically when running the simulation.
This can be done in the dialogue of the block definition. When creating a primitive DSL model
in the library by
• right-clicking a or inside a (library) folder in the active project in the data manager and
selecting New. . . → Block/Frame - Diagram from the context menu.
• using the New Object icon ( ) in the database manager and selecting Block Definition
(BlkDef )
• double-clicking an new/empty block reference in an open block diagram and then use the
button to select a block definition. Then The icon can be used to create a new block
definition inside the local library.
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.16.4 for the mentioned example.
25- 76
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
The model representation of the ElmVco 16 in the MATLAB Simulink package is shown in
Figure 25.16.5
When the block definition is specified, a DSL model has to be created first. As described in
Section 25.9.3 (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.
25- 77
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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.16.6 can be seen, that this dialogue is similar to the normal DSL models. All time
constants and other parameters are the same as for the built-in VCO models.
Figure 25.16.7 shows the composite model using the special frame with the generator ’G1’ and
the Matlab-AVR inserted into the slots.
25- 78
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
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.16.8
25- 79
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
Figure 25.16.8: Results of the transient simulation with the Built-In model
The MATLAB file VCOtype16.m is an interface configuration for the Simulink model, stored in
the file vcotype16mod.mdl, and the PowerFactory DSL model. There the input and output
signals, the parameters and the state variables are defined, as described below. The transfer
function is specified.
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:
25- 80
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
[t, x, y] = VCOtype16.
PowerFactory uses only one Simulink model for both generators. To avoid limitation of Simulink,
which allows only one instance of the model running at the same time, PowerFactory 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(’InitialState’,
[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 PowerFactory 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 vari-
able 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”.
DIgSILENT PowerFactory calls MATLAB using the programme identification keys ”Matlab.Application”
and ”Matlab.Application.Single”. PowerFactory will start that same MATLAB installation which
was used last. Additional information on the calling of MATLAB is available on http://www.mathworks.com.
25- 81
DIgSILENT PowerFactory CHAPTER 25. STABILITY AND EMT SIMULATIONS
25- 82
Chapter 26
26.1 Introduction
The Modal Analysis command calculates the eigenvalues and eigenvectors of a dynamic multi-
machine system including all controllers and power plant models. This calculation can be com-
pleted at the beginning of a transient simulation and at every time step when the simulation
is stopped. Note that sometimes in the literature Modal Analysis is referred to as Eigenvalue
Calculation or Small Signal Stability. Throughout, this chapter the calculation will generally be
referred to as Modal Analysis.
This chapter provides a brief background on the theory of Modal Analysis, followed by a detailed
explanation of how to complete such an analysis in PowerFactory. The various methods of
analyzing the results are also presented. Finally, a ”troubleshooting” section explains what to
do when you receive common errors.
The calculation of eigenvalues and eigenvectors is the most powerful tool for oscillatory stability
studies. When doing such a study, it is highly recommended to first compute the ”natural”
system oscillation modes. These are the oscillation modes of the system when all controller and
power plant models are deactivated so every synchronous machine will have constant turbine
power and constant excitation voltage. After determining these ’natural’ modes, the effects of
controllers (structure, gain, time constants etc.) and other models can be investigated.
After the initial conditions have been calculated successfully, which means that all time-derivatives
of the state variables should be zero (the system is in steady state), or the simulation has been
stopped at a point in time, the modal analysis calculates the complete system A-matrix us-
ing numerical, iterative algorithms. The representation of the electrodynamic network model is
equivalent to the representation used for the balanced RMS simulation, except for the general
load model, for which the frequency dependencies are neglected.
The computation time for the Modal Analysis is approximately proportional to the number of
state space variables to the power of three. Considering, that most power system objects and
models will contain several (perhaps up to a dozen or more for some complex controllers), the
1
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
calculation time can rapidly increase as the size of the system being considered increases.
For this reason, alternative methods for calculating the system eigenvalues and eigenvectors
must be used when the system grows very large. PowerFactory supports two types of analysis
methods.
A multi-machine system exhibits oscillatory stability if all conjugate complex eigenvalues making
up the rotor oscillations have negative real parts. This means that they lie in the left complex
half-plane. Electro–mechanical oscillations for each generator are then stable.
More formally, assuming that one of the conjugate complex pair of eigenvalues is given by:
λi = σi ± jωi (26.1)
then the oscillatory mode will be stable, if the real part of the eigenvalue is negative
σi < 0 (26.2)
2·π
Ti = (26.3)
ωi
1 An
di = −σi = · ln (26.4)
Tp An+1
where An and An+1 are amplitudes of two consecutive swing maxima or minima respectively.
The oscillatory frequencies of local generator oscillations are typically in the range of 0.5 to
5 Hz. Higher frequency natural oscillations (those that are not normally regulated), are often
damped to a greater extent than slower oscillations. The oscillatory frequency of the between
areas (inter-area) oscillations is normally a factor of 5 to 20 times lower 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
~ =
X
ω(t) ci · φ~i · eλi ·t (26.5)
i=1
where:
~
ω(t) generator speed vector
κi i’th eigenvalue
φ~i i’th right eigenvector
ci magnitude of excitation of the i’th mode of the system (at t=0) (depending on the disturbance)
n number of conjugate complex eigenvalues (i.e. number of generators - 1)
26- 2
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
In the following c is set to the unit vector, i.e. c = [1, ..., 1], which corresponds to a theoretical
disturbance which would equally excite all generators with all natural resonance frequencies
simultaneously.
The elements of the eigenvectors Φi then represents the mode shape of the eigenvalue i and
shows the relative activity of a state variable, when a particular mode is excited. For example,
the speed amplitudes of the generators when an eigenfrequency is excited, whereby those
generators with opposite signs in Φi oscillate in opposite phase.
The right eigenvectors Φi can thus be termed the ”observability vectors”. The left eigenvectors
Ψi measures the activity of a state variable x in the i-th mode, thus the left eigenvectors can be
termed the ”relative contribution vectors”.
Normalization is done by assigning the generator with the greatest amplitude contribution the
relative contribution factor 1 or -1 respectively.
For a n-machine power system, n-1 generator oscillation modes will exist and n-1 conjugate
complex pairs of eigenvalues λi will be found. The mechanical speed ω of the n generators will
then be described by:
ω1 φ11 φ21 φn1
ω2 φ12 φ22 φn2
· eλ1 t + c2 · · eλ2 t + . . . + c2 · · eλn t
· · · = c1 · (26.6)
··· ··· ···
ωn φ1n φ2n φnn
The problem of using the right or left eigenvectors for analyzing the participation of a generator
in a particular mode i is the dependency on the scales and units of the vector elements. Hence
the eigenvectors Φi and Ψi are combined to a matrix P of participation factor by:
P1i φ1i · Ψi1
P2i φ2i · Ψi2
Pi =
= (26.7)
··· ···
Pni φni · Ψin
The elements of the matrix pij are called the participation factors. They give a good indication of
the general system dynamic oscillation pattern. They can be used to determine the location of
eventually needed stabilizing devices 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 32.4.1.
26- 3
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
A modal analysis can be started when a balanced steady-state condition is reached in a dy-
namic calculation. Normally, such a state is reached by a balanced load-flow calculation, fol-
lowed by a calculation of initial conditions. However, it is also possible to do a balanced RMS
simulation and start a modal analysis after the end of a simulation or during a simulation when
you have manually stopped it.
Although, the modal analysis can be executed at any time in a transient simulation it is not
recommended that you do so when the system is not in a quasi-steady state. This is because
each modal analysis is only valid for a unique system operating point. Furthermore, the the-
ory behind modal analysis shows that the results are only valid for ’small’ perturbations of the
system. So although you can complete a modal analysis during a large system transient, the
results obtained would change significantly if the analysis was repeated a short time step later
when the operating point of the system would be significantly different.
This section explains the steps required to complete a Modal Analysis in PowerFactory Com-
pleting an analysis using the default options is explained in the first sub-section. The second
sub-section explains the various options available in the Modal Analysis command.
To complete a modal analysis in using the default options in PowerFactory , you must follow the
steps below:
1. Use the toolbar selection button to choose the Modal Analysis toolbar. The process is
illustrated in Figure 26.3.1.
2. Calculate Initial Conditions using the button to open the command and then press
Execute. Note that the calculation of initial conditions needs a converging load-flow. More
information about the options in the Calculation of Initial Conditions command can be
found in Chapter 25: Stability and EMT Simulations, Section 25.3.
3. If you want to quickly complete the modal analysis and capture all eigenvalues using the
default options, you can press Execute in the subsequent dialog box and the calculation
26- 4
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
will proceed. When the calculation is complete you can view the Modal Analysis results.
This is explained in detail in Section 26.4.
When executing the Modal Analysis command by pressing Execute, the initial conditions of all
elements are calculated first (assuming that the calculation is initialised from a load-flow rather
than during a RMS simulation). 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. PowerFactory automatically does the linearization of all relevant system elements
because eigenvalue calculations need linearized models.
The Modal Analysis command dialog is shown in Figure 26.3.2. This section explains the avail-
able command options.
Calculation Method
There are two possible calculation methods for the Modal Analysis, they are:
26- 5
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
• QR-Method; This method is the ’classical’ method for calculating all of the system eigen-
values.
• Selective Modal Analysis (Arnoldi/Lanczos); This method only calculates a subset of the
system eigenvalues around a particular reference point. Often this method is used in very
large systems when using the QR-method could be very time consuming. It is especially
useful if the user knows the target area of interest for the eigenvalues. This option needs
more configuration as explained below.
Here you must enter the reference point on the real-imaginary plain for the Selective Modal
Analysis.
Which Eigenvalues
The selective eigenvalue calculation determines eigenvalues close to the reference point using
one of three different measures for closeness. The options are:
• Smallest Magnitude w.r.t RP; If this option is selected, the selective eigenvalue calculation
chooses eigenvalues that are closest to the reference point by magnitude of the eigen-
value.
• Smallest Imaginary Part w.r.t RP; If this option is selected, the selective eigenvalue calcu-
lation chooses eigenvalues that are closest to the reference point using only the imaginary
part of the eigenvalue.
• Smallest Real Part w.r.t RP; If this option is selected, the selective eigenvalue calculation
chooses eigenvalues that are closest to the reference point using only the real part of the
eigenvalue.
This option can be further clarified using a diagram as shown in Figure 26.3.3. The three
eigenvalue pairs are as follows:
Say the reference point was set to the origin (0,0). Then using the first method above, the closest
eigenvalue pair would be A because this pair has the smallest magnitude. Using method two,
the closest pair would be C because this pair has the smallest real component. Finally, using
the third method, the closest pair would also be A because this pair has the smallest imaginary
component.
26- 6
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
Number of Eigenvalues
This parameter limits the total number of eigenvalues calculated by the Selective Eigenvalue
calculation method. An eigenvalue pair is defined as one eigenvalue mode for this calculation.
Settings
The Settings button, is a reference (pointer) to the Calculation of Initial Conditions command,
also accessed through the button, that is used by the Modal Analysis command. It is provided
here so that you can easily inspect the selected calculation options.
The advanced options tab for the modal analysis is shown in Figure 26.3.4. This section explains
the options available on this page.
26- 7
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
Figure 26.3.4: Advanced Options tab of the Modal Analysis command dialogue
Calculate
• Left Eigenvectors (Controllability); If this option is enabled, the Modal Analysis command
will calculate the Left Eigenvectors. It is enabled by default. The user can visualise the
Controllability for any mode using the Mode Phasor Plot or Mode Bar Plot described in
Section 26.4.2.
• Right Eigenvectors (Observability); If this option is enabled then the Modal Analysis com-
mand will calculate the Right Eigenvectors (Observability) for each state variable. It is
disabled by default. The user can visualise the Observability for any mode in either the
Mode Phasor Plot or Mode Bar Plot described in Section 26.4.2.
• Participation Factors; If this option is enabled then the Modal Analysis command will cal-
culate Participation Factors for each state variable. It is disabled by default. The user can
26- 8
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
visualise the Participation Factors for any mode using the Mode Phasor Plot or Mode Bar
Plot described in Section 26.4.2.
Results
This selection control provides a reference (pointer) to the results object that is used to store the
calculation results of the Modal Analysis. After a completed calculation, these results can be
exported to an external format such as a spreadsheet or text-file using the ASCII result exporter
tool as described in Chapter 17, Section 17.2.4(Result Objects).
By default the Modal Analysis captures results for all state variables from all models active
in the calculation. The observability is also calculated by default for the variables shown in
table 32.4.1. In addition, the Modal Analysis command can calculate the Controllability and
Participation Factors for these variables.
There are several ways for the user to view the results of the Modal Analysis calculation, in-
cluding through pre-defined reports to the Output Window, using the built-in plots within Power-
Factory or using the spreadsheet like data browser. Additionally, the user can search individual
objects within the database and view the Controllability, Observability, and Participation for a
particular mode within the familiar data manager or object filters. This section describes how to
get results using these four methods.
This section describes how to view the Modal Analysis results in the PowerFactory Output Win-
dow To do this follow these steps:
1. Left-click the Output Calculation Analysis icon on the main toolbar. The Output of
Results dialog should be visible.
2. Select the eigenvalues radio button and the dialog should look as shown in Figure 26.4.1.
3. There are four options for the report. You must choose one of these options in the Output
of Eigenvalues section of the dialog:
• Eigenvalues; This option prints a report of all the calculated eigenvalues.
• Controllability/Observability/Participations; Selecting any of these options changes
the dialog format to that shown in Figure 26.4.2. The various options are explained
as follows:
Select Eigenvalue To print a report showing all eigenvalues and for each eigenvalue a
filtered list of the state variables Controllability, Observability or Participation Factors, then
choose the option ’Filtered’ from this drop down menu. Adjust the filter settings in the box
below to determine which eigenvalues will not be shown in the report. Alternatively, to
display a report for a single eigenvalue, choose the eigenvalue index from this box. Note
when choosing a single eigenvalue, the filter settings are not applied to the report.
Variable Selection To show all variables (for example, speed, phi, psiD), select Show all.
To filter the displayed variables according to Controllability, Observability or Participation
Factor, choose Min. contribution and enter the value for the minimum contribution. Al-
ternatively, for greater control over which variables are displayed, select the User Defined
26- 9
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
States option. The button Show shows the currently selected variables. More variables
can be added using the Add button whereas all variables can be removed by using the
Remove All button.
4. Press Execute. An example report for eigenvalues is shown in Figure 26.4.3. The results
of the participation factors for a single mode in a small example power system are shown
in Figure 26.4.4. Note the Detailed check-box shows the bar chart in the report, whereas
the normal report shows only numerical values.
26- 10
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
26- 11
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
There are three special plot types in PowerFactory for visualising the results of a modal analysis
calculation; the Eigenvalue Plot, the Mode Bar Plot and the Mode Phasor Plot.
Each type of plot can be automatically created by selecting the icon and clicking the desired
plot icon. This section explains how to use each plot and also how these plots can be exported
to external software.
1. Using the plot selection toolbar as shown in Figure 26.4.5, choose the Eigenvalue Plot by
clicking the icon.
2. The Eigenvalue Plot will appear in a new window. Note, every time you select the Eigen-
Value Plot icon from the drop-down menu, a new plot window will be created.
Interpreting the EigenValue Plot An example EigenValue Plot is shown in Figure 26.4.6.
The Eigenvalue Plot displays the calculated eigenvalues in a two axis coordinate system.
For the vertical axis, it is possible to select among the imaginary part, the period or the
frequency of the eigenvalue. The horizontal axis shows the real part.
Stable eigenvalues are shown in green (default) and unstable eigenvalues in red (default).
Each eigenvalue can be inspected in detail by double clicking it on the plot. This will bring
up a pop-up dialog where the index, the complex representation, the polar representation
and oscillation parameters of the mode can be inspected as illustrated in Figure 26.4.7.
26- 12
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
Changing the appearance of the EigenValue Plot All settings that control the appear-
ance of the Eigenvalue Plot can be accessed by double clicking a empty area of the plot.
A dialog as shown in Figure 26.4.7 will appear. The options available are explained as
follows:
• Appearance; Here the color of the stable and unstable eigenvalues can be adjusted. You
can also decide whether to display the plot legend and the stability borders. The so-called
Stability Borders option shades the area of the plot containing all the modes shown on the
plot. It is not an area of stability as such.
• Filter Options; Here you can choose to restrict the display of eigenvalues on the plot
according to defined criteria. Eigenvalues can be restricted by range (independently in
either the x or y axes) by selecting the Restrict Range option. The Restrict Indexes options
allows the user to choose from the complete list of eigenvalues, a limited subset to display
on the plot. Alternatively, just the Oscillatory Modes can be displayed by choosing the
Show Oscillatory Modes option.
26- 13
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
• Scale; Here the range of the plot (x and y axes limits) can be defined. Also by enabling
the Adapt Scale option, the x and y axes tick marks will be displayed as integer values,
rather than floating point numbers. For example, the axis marks will be 10.0, 20.0 and
30.0 rather than 9.7988, 19.5976 and 29.3964.
1. Using the plot selection toolbar as shown in Figure 26.4.5 choose the Mode Bar Plot by
clicking the icon.
2. The Mode Bar Plot will appear in a new window. Note, every time you select the Mode
Bar Plot icon from the drop-down menu, a new plot window will be created.
Interpreting the Mode Bar Plot An example Mode Bar Plot is shown in Figure 26.4.9.
The Mode Bar Plot displays the controllability, observability or participation factors of
variables for a user selected eigenvalue in bar chart form. This allows for easy visual
interpretation of these parameters.
Double clicking any of the bars in the plots shows the detailed IntEigstate dialogue as
shown in Figure 26.4.10. This dialogue displays the magnitude, phase and sign of the
variables for controllability, observability and participation in the selected mode. Note, the
observability and participation factors are only shown if these calculations were enabled
in the Modal Analysis Command as described in Section 26.4.2.
26- 14
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
Changing the appearance of the Mode Bar Plot All settings that control the appear-
ance of the Eigenvalue Plot can be accessed by double clicking a empty area of the plot.
A dialog as shown in Figure 26.4.11 will appear. The options available are explained as
follows:
• Mode Selection; Here you must choose the mode displayed on the plot. The observability,
controllability or participation factors will then be displayed for this mode. Note, if you are
interested in a mode near a particular value, but don’t know the index of the mode, you can
enter the real and imaginary values in the boxes here, and PowerFactory will automatically
select the closest mode.
• Shown values; Here you can select to display either the Controllability, Observability or
Participation Factors for the selected mode.
26- 15
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
• Filter Options; Here you can choose to restrict the display of variables on the plot according
to defined criteria. Displayed variables can be restricted to a minimum contribution by
selecting the Min. Contribution option, or for greater control the variables to display can
be selected manually by selecting the User Defined States option and manually choosing
the variables to display.
• Appearance; Here you can adjust the color and style of the bars and choose to show the
plot legend and also the annotation (value) for each bar.
1. Using the plot selection toolbar as shown in Figure 26.4.5 choose the Mode Phasor Plot
by clicking the icon.
2. The Mode Phasor Plot will appear in a new window. Note, every time you select the Mode
Phasor Plot icon from the drop-down menu, a new plot window will be created.
Interpreting the Mode Phasor Plot An example Mode Phasor Plot is shown in Fig-
ure 26.4.12. The Mode Phasor Plot displays the controllability, observability or partic-
ipation factors of variables for a user selected eigenvalue in polar form. Variables are
grouped and colored identically if their angular separation is less than a user defined
parameter (default 3 degrees).
26- 16
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
Double clicking any of the bars in the plots shows the detailed IntEigstate dialogue as
shown in Figure 26.4.10. This dialogue is identical to the dialog displayed when clicking
on one of the bars in the Mode Bar Plot.
Changing the appearance of the Mode Phasor Plot All settings that control the ap-
pearance of the Mode Phasor Plot can be accessed by double clicking a empty area of
the plot. The dialog that appears is very similar to the dialog for the Mode Bar Plot and
the Mode Selection, Filter Options and Appearance can be altered in the same way. In
addition, there are three more options:
• Cluster; Enabling this option will cluster variables with a angular separation less than the
parameter entered. A cluster shares the same diagram color.
• Show only points; If this parameter is disabled, the vectors will appear as points on the
diagram rather than arrows.
• Show unit circle; The unit circle can be removed from the plot by disabling this option.
Any of the Modal Analysis plots can be exported to a WMF or BMP file for use in an external
software program such as a word processor. It is recommended to use the WMF format where
possible because this format is a vector based format (which means that the plot looks good
regardless of scaling) and is compressed so uses much less disk space than the BMP file.
26- 17
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
1. From the main PowerFactory file menu, choose the Option File → Export ...→ Windows
Metafile (*.WMF). A Save As dialog will appear.
2. Choose an appropriate File name and disk location and click Save.
Note: The process of exporting multiple plots can be automated using a DPL script. See the
DPL function WriteWMF() in the Appendix D: DPL Reference for more information.
26.4.3 Viewing Modal Analysis Results using the Modal Data Browser
The Modal Analysis results can be displayed in a convenient data browser specially designed
for working with these results. To display the results in this data browser follow these steps:
1. Click the icon found in the Modal Analysis toolbar. The ComModres dialogue as shown
Figure 26.4.13 will appear.
2. Optional: If you want to display the Modal Analysis results from another Study Case, you
need to select user-defined for Shown Results and select an alternative results object.
Normally you should leave this value on Default
3. The procedure now depends on if you want to view the calculated eigenvalues, or if you
want to view the controllability, observability and participation factors for variables related
to a particular eigenvalue.
• If you only want to display the eigenvalues, then leave the Shown Values on Eigen-
values.
• If you want to view the controllability, observability and participation factors for a par-
ticular eigenvalue then you must select States and choose the Eigenvalue index.
4. Press the Execute button. The data browser window will appear as shown in Figure 26.4.14
(for eigenvalues) or as shown in Figure 26.4.15 for a single eigenvalue and the controlla-
bility etc for each variable.
Figure 26.4.13: Displaying modal analysis results in a data browser (ComModres dialogue)
26- 18
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
Note: The results in the eigenvalue data browser can be sorted or grouped by clicking on the
column
heading. Clicking once sorts the column in descending order, a second time in ascending order.
Viewing the Mode Bar Plot or Mode Phasor Plot directly from the Modal Data Browser
When you view the Eigenvalues in the data browser as shown in Figure 26.4.14, you can quickly
show the Mode Bar Plot or Mode Phasor plot of the eigenvalue. To do so follow these steps:
26- 19
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
1. Right-click the mode icon on the left most side of the browser. The context sensitive menu
will appear.
• For a Mode Phasor Plot choose the option Show → Phasor Plot→ Controllability etc.
• For a Mode Bar Plot choose the option Show → Bar Plot→ Controllability etc.
Exporting the results from the Modal Analysis Data Browser to external software
To export the results shown in the Modal Analysis Data Browser to an external software program
(such as a spreadsheet tool) follow these steps:
1. In the browser window left click and drag a selection of data that you would like to export.
To select all data press CTRL-A.
2. Right-click within the selection and choose the option Spread Sheet Format → Copy (with
column headers).
3. Open the external software and paste the data from the windows clipboard.
The data manager and object filter can be used to view the participation factors, controllability
or observability for power system elements such as synchronous machines after completing an
Modal Analysis. There are three tasks that you might need to complete to show this information.
Tasks one and two are compulsory, whereas task three is only necessary if you are viewing the
eigenvalue results in the data manager or object filters for the first time.
1. Firstly, make sure you have executed a Modal Analysis as described in Section 26.3.
2. From the Modal Analysis toolbar click the Set Eigenvalue icon . The Set Eigenvalue
dialog (ComSeteval) should appear as shown in Figure 26.4.16.
3. Typically, you should leave the Shown results set to Default, unless you wish to view results
from an alternative Study Case.
4. Choose the Eigenvalue index to display results for by entering the number using the key-
board or by using the increment/decrement control.
26- 20
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
5. Choose the State Variable to view the results for by using the drop-down selection menu.
6. Press the Execute button. It will appear as if nothing has happened - this is normal.
1. Select the synchronous machine icon from the object filter menu as shown in Figure
26.4.17.
2. A list of allRelevant synchronous machines will appear in a data manager style window.
Select the Flexible Data tab from the bottom of the window. In Vista/Windows 7 this will
be highlighted in blue.
3. Scroll across the window to view the columns containing the observability, controllability
and participation factor date. If you don’t see these column headings as shown in Fig-
ure 26.4.18 then you will need to define the Flexible data as described in Task Three.
Task 3: Changing the Flexible Data Columns to show the participation factors
1. Click the Define Flexible Data from the window toolbar. A Variable set browser selection
window will appear.
2. Choose the RMS Simulation tab from the top of this window.
3. In the Filter for settings choose the Variable Set Calculation Parameter.
4. In the Available Variables window, scroll to near the bottom until you see the variables
p mag (Participation, Magnitude) etc. Holding shift select this variable and all eight other
variables down to rEVec mags (Observability, Magnitude signed).
5. Click the right arrows icon between the Available Variables and Selected Variables
windows. The variables you selected in 4 should disappear from the left window and
appear appended to the right window. The screen should look similar to Figure 26.4.19.
26- 21
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
6. Press the OK button. Now you can scroll to the right in the flexible data page to view the
values of these variables.
Note: The results can only be displayed for one eigenvalue and variable at a time. For
instance, eigenvalue 3 and speed. To change the displayed eigenvalue and/or variable, repeat
task one above. You don’t need to repeat task three every time because after this has been
done the first time in the project
it will remain configured this way until you change the defined variables in the flexible data page.
Figure 26.4.19: Variable set selection of Controllability, Observability and Participation Factor
variables for Synchronous Machines.
There are various things that can go wrong during an attempt at a Modal Analysis and Power-
Factory usually provides error messages to indicate the nature of the problem when it occurs.
This chapter describes some of the common problems that can occur when attempting a Modal
Analysis and the probable solutions.
26- 22
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
Sometimes the Modal analysis calculation will fail with an error like: ”The system contains mod-
els which cannot be supported by QR method. Please try Selective Modal Analysis (Arnoldi/Lanczos)”.
There are several PowerFactory models that are not supported by the QR method such as:
• DC valve (ElmValve);
• DC series reactor;
If you get such a message, you have two options for resolving the problem:
1. Place all objects from your project as listed above out of service (you could possibly create
a operation scenario for this purpose so that you can easily revert to the base model for
load-flow, short circuit etc).
2. Use the Arnoldi/Lanczos method. In the majority of cases, this is probably the best option.
The Arnoldi/Lanczos Method is a selective eigenvalue calculation and should not be used when
you need to calculate all the system eigenvalues. When you need all the system eigenvalues,
the QR method will generally be faster.
The Arnoldi/Lanczos method is generally fast when computing a selective number of eigenval-
ues around a desired point. If you need to get a larger number of eigenvalues than the default, it
is suggested that you increase the requested number of values slowly, say starting with 20 then
50 etc.
26- 23
DIgSILENT PowerFactory CHAPTER 26. MODAL ANALYSIS / EIGENVALUE CALC.
26- 24
Chapter 27
27.1 Introduction
The process of parameter estimation for power system elements for which certain measure-
ments 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 differ-
ences 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.
1
DIgSILENT PowerFactory CHAPTER 27. MODEL PARAMETER IDENTIFICATION
Of course, Figure 27.1.1 only visualizes the principle of the identification. To connect measure-
ment 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.
The parameter identification process is performed by minimizing objective functions. These ob-
jective functions are calculated by ElmCompare objects from the difference between measured
responses and calculated responses of one or more power system elements.
To define an objective function, the measured excitation signals must be connected to the com-
ponent models or to voltage or current sources, and the measured and calculated response
signals must be connected to the compare object. All this is done graphically by drawing a
Composite Frame, using a block definition (BlkDef) with slots.
A simple example of an identification block diagram, for the objective function for a voltage
controller, is visible in Figure 27.2.1.
27- 2
DIgSILENT PowerFactory CHAPTER 27. MODEL PARAMETER IDENTIFICATION
The block diagram uses slots which reserve space for the measurement files, the comparator
and the element models.
The measurement file object (ElmFile) has the following signals available:
The measurement file slot in the example of Figure 27.2.1 has the following settings:
The fact that the signal is named ”output2 signals in the case of the measurement file does not
implicate that the parameter identification only regards measured response signals (”measured
outputs”) from power system elements. It only means that the measured excitation signals
will be mapped onto ElmFile signals. The ElmFile will reproduce the measured excitation and
response signals during the identification process.
Power system element slots are used in the identification block diagram in the same way as
they are used to define composite models.
As in the case of a composite model diagram, the element slots may use any of the available
parameters of the power system element model as input or output. The in- and output signals
are defined by stating the exact variable name (see also Section Composite Block Definitions in
Chapter 25: Stability and EMT Simulations, Section 25.11 (User Defined (DSL) Models)
In the case of the example in Figure 27.2.1, the ”Vco1” slot has the following parameters set:
27- 3
DIgSILENT PowerFactory CHAPTER 27. MODEL PARAMETER IDENTIFICATION
The calculated value of the objective function will be multiplied by the weighting factor before
it is put out. The weighting factor may be used, for instance, to connect a time-window to the
comparison object which forces the objective function to zero for those moments in time which
are not to be used in the identification process.
In the case of the example in Figure 27.2.1, the Comparison slot has the following parameters
set:
The identification block diagram only defines a generalized workbench that is needed for the
identification process. Its function is similar to that of the Composite Frame object. There is
also the need to create a composite model, based on the block diagram, to identify particular
parameters of particular objects.
Suppose having a voltage controller model of which one wants to identify the parameters ka
and ta. Measurements of the behavior of the physical appliance are available as measured
voltage-curves on the input and output of the controller during a disturbance.
Assuming the example identification block diagram of Figure 27.2.1, a composite model (Elm-
Comp) has to be created in the active grid folder.
Note: If the identification process only addresses secondary power system element, which are
not directly connected to busbars, the identification process does not require a power system
grid. However, all calculation functions like load-flow or EMT simulation require a calculation
target in the form of an activated grid of system stage folder. Therefore, a grid folder with at
least one ’DUMMY’ busbar has to be created when secondary element models are to be
identified.
The composite model must be set to use the identification block. It will then show the slots that
have been defined in that block. In the current example, the composite model dialogue will look
like Figure 27.3.1.
27- 4
DIgSILENT PowerFactory CHAPTER 27. 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 controller of which
to find the best possible values for ka and ta.
The comparison object calculates the objective function from the connected measured and
simulated responses. It allows for the use of weighting factors and for other powers to raise to.
The example in Figure 27.3.2 shows the default settings.
27- 5
DIgSILENT PowerFactory CHAPTER 27. 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.
n
X
[(Mi − Si ) · wi ]p (27.1)
i=1
where
The identification process is executed by the ComIdent command. This command can be
opened by the icon on the main menu. This icon can be found on the ”Stability” toolbar
which is be accessed by selecting the Change Toolbox icon ( ).
27- 6
DIgSILENT PowerFactory CHAPTER 27. MODEL PARAMETER IDENTIFICATION
• Composite Model
This reference is normally not needed. When left open, the identification process will au-
tomatically gather all composite identification models and will minimize all objective func-
tions.When the composite model reference is set, then the identification will only minimize
that model’s objective function.
• Load-Flow Settings
This reference is automatically set to the load-flow command that will be used during the
identification process.
• Initial Conditions
This reference is automatically set to the initial conditions command that will be used
during the identification process.
• Simulation
This reference is automatically set to the simulation command that will be used during the
identification process.
The identification process allows for the use of load-flow calculations and/or dynamic simula-
tions. The ”Load-Flow” and ”Simulation” pages shows the variables that are to be identified, in
case of a load-flow or a dynamic identification. See for example Figure 27.4.2.
27- 7
DIgSILENT PowerFactory CHAPTER 27. MODEL PARAMETER IDENTIFICATION
In this example, two parameters of the voltage controller element ”vco IEEEX1” from the Com-
posite Identification Model are listed. The identification process will alter these parameters 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 CHAPTER 27. MODEL PARAMETER IDENTIFICATION
A primary appliance, such as a general load, an asynchronous machine or a static var system,
do not have an input signal like a voltage controller or any other secondary appliance. It would
therefore not be possible to connect a measured signal directly to a load model in order to
simulate its response.
To identify a primary element model, a small grid model is used to which one or more controllable
voltage sources may be connected. These voltage sources will translate the measured voltage
signals from the measurement file into a normal busbar voltage which will be used in the load-
flow or simulation calculations. The response of the primary element models connected to that
busbar may then be compared to a measured response.
In Figure 27.5.1, 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 measured values
during the identification process.
In Figure 27.5.2, a very simple grid is shown to which the load which is to be identified and a
27- 9
DIgSILENT PowerFactory CHAPTER 27. MODEL PARAMETER IDENTIFICATION
voltage source element are connected. As with the normal identification process, a Common
Identification Model has to be created which uses the Identification Diagram with Primary Ele-
ment as shown in Figure 27.5.1. In the ComIdent command dialogue, the unknown parameters
of the load may then be listed.
It is of course possible to mix the identification of both primary and secondary power system
elements at the same time.
27- 10
Chapter 28
Contingency Analysis
28.1 Introduction
In Chapter 21 (Load Flow Analysis) the general aspects of load flow analysis and its main areas
of application were presented. Additionally, two perspectives were discussed: that of planning
and that of system operation (see Figure 21.1.1). There it was made evident that regardless of
the perspective, the behavior of the system must be analyzed under both normal and abnormal
conditions.
When referring to contingency analysis, we are essentially referring to the analysis of abnormal
system conditions. In general, contingency analysis can be defined as: ”the evaluation of the
violations in system operating states (if any) that certain contingencies can pose to the electrical
power system”; or put in other words, contingency analysis is the execution and evaluation
(loading and voltage-wise) of post-fault load flows; each of which reflect the ”outage” of a single
or group of elements (such as transformers, busbars, transmission lines, etc.).
Contingency analyses can be therefore used to determine power transfer margins or for de-
tecting the risk inherent in changed loading conditions. This chapter deals with deterministic
contingency analysis.
The contingency analysis module available in PowerFactory offers two distinct contingency anal-
ysis methods:
Figures 28.2.1 and 28.2.2 illustrate the general sequence of both methods. Here the results
1
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
of both pre- and post-fault load flows are compared to the specified loading and voltage limits;
based on this comparison contingency reports are generated.
In Figure 28.2.1 the term Single Time Phase is used because only one post-fault load flow is
analyzed per contingency case.
Figure 28.2.2 illustrates the multiple time phases contingency analysis method. Here, more than
one post-fault load flow can be analyzed for the same contingency; hence the term Multiple Time
Phase. Furthermore, if required, each time phase can have its own post-fault actions defined.
The defined post-fault actions can be either a single event or a combination of the following
events:
• Load shedding
• Generator re-dispatching
• Switching action (opening or closing)
• Tap changing
In PowerFactory , the term Fault Case (used in both Figures) is used to define a contingency.
28- 2
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Before describing in detail the contingency analysis itself, it is necessary to introduce two basic
concepts which define the functionality of this tool:
28- 3
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
The single time phase contingency analysis function first performs a pre-fault (base) load flow
calculation. Following this, for each contingency (stored inside the command itself) it performs
a corresponding post-contingency load flow (for a single time phase), which take one or more
primary components out of service. The command calculates the initial consequences of the
contingencies, but does not regard the operational measures taken to mitigate voltage band
problems or supply interruptions.
It is important to mention here that if the contingency analysis command is set to consider Auto-
matic Tap Adjust of Transformers and Shunt Adjustment, they will only be considered if their time
constants are smaller than the current Post Contingency Time or if the Consider Specific Time
Phase flag (Multiple Time Phases page) is not enabled. Additionally, the operational thermal
ratings of branch elements during the contingency (if ’short term’ thermal ratings ( 12.3.7) have
been defined) will depend on the duration of the contingency i.e. the current Post Contingency
Time.
The raw results of the single time phase contingency analysis correspond to the steady-state
operational points of the network being studied, considering each one of the defined contin-
gencies up to the given Post Contingency Time (see Section 28.4: The Single Time Phase
Contingency Analysis Command for further information on this setting). The reporting facilities
available in PowerFactory ’s contingency analysis function allow the filtering of results of interest
to the user, including maximum loading of branch elements, exceeded voltage limits, etc. Refer
to Section 28.4 (The Single Time Phase Contingency Analysis Command) for further informa-
tion on configuring the reporting settings, and Chapter 11 Study Cases, Section 11.11 (Results
Objects) for information on handling result objects (ElmRes) in PowerFactory.
Note: If the Fault Case contains post-fault actions such as load shedding, generator
re-dispatch, tap changing and switching actions (closing), these are ignored in the Single Time
Phase mode, regardless of the specified Post Contingency Time.
As indicated previously, PowerFactory provides tools for the analysis of contingencies over mul-
tiple time phases, allowing the definition of post-fault actions that can lead to the mitigation of
voltage band problems or supply interruptions which are caused by faults in the networks under
analysis.
As in the single time phase contingency analysis, the multiple time phases contingency analysis
function first performs a pre-fault (base) load flow calculation. The major difference here is
that for each contingency (stored inside the command), it loops over the list of defined time
phases (also stored inside the command itself), calculating the corresponding post-contingency
load flows. For each load flow calculation, the events (faults and post-fault actions) whose
time of occurrence are earlier than, or equal to, the corresponding Post Contingency Time, are
considered.
Similar to single time phase contingency analysis, the effect of transformer tap changers and
switchable shunts depends on these components corresponding time constants and the current
Post Contingency Time. Controllers are only considered if their time constants are smaller
than the current Post Contingency Time. Additionally, the operational thermal ratings of branch
28- 4
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
elements during the contingency (if ’short term’ thermal ratings ( 12.3.7) have been defined) will
depend on the duration of the contingency i.e. the current Post Contingency Time.
The raw results of the contingency analysis with multiple time phases correspond to the steady-
state operational point of the network being studied, at every Post Contingency Time for each of
the defined contingencies. The reporting features included in the function allows the filtering of
problematic contingencies, according to maximal loading of branch elements, exceeded voltage
limits, etc.
PowerFactory provides a special Calculate Time Sweep option for the Single Time Phase method,
and which can be found on the Time Sweep tab of the contingency analysis command. When
enabled, the date and time of the active Study Case will be modified according to a list pre-
defined by the user. The application of this option is in situations where the calculation of
contingencies is required for a certain time span; for example, the automatic calculation of con-
tingencies for every hour of the day.
Here it is important to note that in order for the Time Sweep to activate the corresponding
scenarios automatically, a Scenario Scheduler (IntScensched) object needs to first be created
and afterwards activated. Once the execution of the contingency analysis has finished, the
Study Case date and time are restored to their original setting. For more information on the
Scenario Scheduler please refer to Chapter 14(Operation Scenarios).
In addition, the Time Sweep option can be used in combination with the Parallel Computing
option (Section 28.2.5).
In PowerFactory , the contingency analysis can be setup to consider predefined switching rules
of substations (refer to Chapter 9: Network Graphics (Single Line Diagrams), Section 9.2.6
for further information). The Switching Rule defines switching actions for different fault locations
(arranged in a matrix) that can be reflected at a certain time. These switching actions will always
be relative to the current switch position of every breaker.
The computation time required to perform a contingency analysis largely depends on two fac-
tors:
Depending on these factors, the computation time could take from a couple of seconds (or less)
up to several minutes.
With the development of multi-core machines and the existence of Ethernet network technology,
the calculation of contingencies in parallel is now an option in PowerFactory. This feature facil-
itates the significant reduction of required computation time depending on the number of cores
being used.
28- 5
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
By default, the Parallel Computing option is enabled in each user account; however, the setting
can be modified when the user has logged on as an Administrator.
The following sections provide detailed information regarding the execution and settings of the
contingency analysis command in its single or multiple time phase configuration.
To access the various contingency analysis related functions within PowerFactory , click on the
icon Change Toolbox and select ”Contingency Analysis”.
Figure 28.3.1, shows the Contingency Analysis Toolbar, with all the related functions.
Both the Single Time Phase and Multiple Time Phases contingency analysis are carried out us-
ing the Contingency Analysis command (ComSimoutage, ). When configured and executed,
it 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 calcu-
lation of the base load flow, a contingency load flow for each of these contingencies is calculated.
This calculation considers the post-fault thermal ratings of branch elements (see Chapter 12:
Project Library, Section 12.3.7), transformer tap changer controller time constants and auto-
matic shunt compensators (for further information please refer to Section 28.4: The Single Time
Phase Contingency Analysis Command).
• Via the definition and use of Fault Cases and Fault Groups; and/or
• Using the Contingency Definition (ComNmink) command, either via its toolbar icon ( ) or
by selecting component(s) in the single-line graphic, right-clicking and selecting Calculate
→ Contingency Analysis. . .
In the first case, contingency cases can be created using references to user defined Fault Cases
and Fault Groups (introduced in Chapter 12: Project Library, Section 12.3.3) from the Opera-
tional Library. By means of a topological search, PowerFactory determines which circuit break-
ers must be opened in order to clear the faults, and generates the corresponding contingency
cases. Each contingency case is generated with its corresponding interrupted components for
each fault case/group. Fault cases and groups reside in the Operational Library folder, and can
28- 6
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
be reused. Hence there is no need to manually redefine the same contingencies each time
a contingency analysis is required. For further information on creating contingencies from fault
cases/groups, please refer to Section 28.6 (Creating Contingency Cases Using Fault Cases and
Groups).
In the second case, contingencies can be created using the Contingency Definition command.
This command is available either via the icon on the main toolbar, or by right-clicking on a
selection of elements in the single line diagram, and selecting the option Calculate → Contin-
gency Analysis. . . . Either an n-1 or an n-2 outage simulation for the selected elements can then
be prepared. Additional to these two options an n-k outage for mutually coupled lines/cables
is available. The Contingency Definition command optionally allows all lines/cables, transform-
ers, series reactors, series capacitors and/or generators to be selected to create contingencies.
For further information on creating contingencies using the Contingency Definition command,
please refer to Section 28.7 (Creating Contingency Cases Using the Contingency Definition
Command).
The following sections provide detailed information regarding the settings and features of the
contingency analysis command in its single time phase configuration.
The settings of the Basic Options page of the contingency analysis command (ComSimoutage
) are illustrated in Figure 28.4.1.
28- 7
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Figure 28.4.1: Basic Options settings of the Contingency Analysis (ComSimoutage) Command
• Execution of a ’base’ load flow in order to determine the initial operational point of the
network. This ’base’ (pre-fault) load flow is performed according to the settings stated in
the load flow command and which is referenced on the Basic Options tab page of the
contingency analysis command.
• Execution of the ’contingency’ load flows. That is, for each of the stored contingency
cases, it places the interrupted components (see Section 28.3.8: Representing Contin-
gency Situations - Contingency Cases) on outage and performs a contingency (post-fault)
load flow. Here, the settings of the post-fault load flows will depend on how the contin-
gency command is configured. That is, if specified by the user, the pre-fault and post-fault
load flows can be executed with different settings (only a difference in certain settings are
allowed). For more information please refer to Section 28.5.3 (Multiple Time Phases).
28- 8
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
The contingency load flow is characterized by the Post Contingency Time parameter (available
on the Multiple Time Phases tab of the Contingency Analysis command if either the option Allow
different settings has been enabled, 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 (meaning that 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 12.3.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 calculations by selecting the option ’Allow different settings’ on the Multiple Time
Phases 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 Chapter 11 Study Cases, Sec-
tion 11.11 (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 minimise data storage, only significant results
are recorded. In contingency analysis, a calculated parameter is considered to be significant if
the threshold (Limits for Recording) of the corresponding component are out of the threshold.
Limits 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 com-
mand. A calculated result is stored in the result file whenever one of the constraints (individual
or global) is violated.
The settings of the contingency analysis command are entered using the dialogue shown in
Figure 28.4.1. The following subsections explain each of the available options.
Calculation Method
AC Load Flow Calculation The contingency analysis uses an iterative AC load flow
method to calculate the power flow and voltages per contingency case.
DC Load Flow Calculation The contingency analysis uses a linear DC load flow method
to calculate the active power flow per contingency case.
28- 9
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
DC Load Flow + AC Load Flow for Critical Cases The contingency analysis will perform
two runs (if required). First it will use a linear DC load flow method to calculate the active
power flow per contingency case; if for certain contingencies loadings are detected to be
outside a certain threshold, then for these cases the contingency analysis will recalculate
the post-fault load flow using the iterative AC load flow method. The criteria (threshold)
used for the AC recalculation of critical DC cases is stated on the Advanced Options
page.
The parameters in this section set the global threshold used to determine whether a calculated
result is recorded in the Results object (object pointed to by the Results for AC or Results
for DC field located in the bottom section of the Basic Options page). Whenever one of the
defined constraints is violated, the calculated result (for the corresponding contingency case
and network component) is recorded.
Max. thermal loading of components (%) Maximum thermal loading in percent. Load-
ings exceeding this value will be recorded in the result file for the corresponding compo-
nent.
Lower limit of allowed voltage (p.u.) Minimum admissible voltage in per unit. Voltages
lower than this value will be recorded in the result file for the corresponding terminal.
Upper limit of allowed voltage (p.u.) Maximum admissible voltage in per unit. Voltages
higher than this value will be recorded in the result file for the corresponding terminal.
Maximum voltage step change (p.u.) Maximum (+/-) admissible voltage change in per
unit. Larger voltage changes (pre-fault vs. post-fault) will be recorded in the result file for
the corresponding terminal.
Contingencies
The Contingencies section of the Basic Data tab, as shown in Figure 28.4.2, allows the display,
creation and removal of contingencies. These are the contingencies that will be analyzed by the
contingency analysis command.
Add Cases/Groups This button is used to create the contingency cases (ComOutage
objects) based on fault cases and/or fault groups. A fault case contains events: one for
the fault location, and (optionally) others specifying post-fault actions. Fault groups con-
tain 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 Li-
brary. 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 con-
tingencies 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
28- 10
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
fault cases/groups, please refer to Section 28.6 (Creating Contingency Cases Using Fault
Cases and Groups).
Remove All Removes all contingency cases (ComOutage objects) stored in the contin-
gency analysis command.
Depending on the calculation method selected, the reference to the corresponding result file
object (ElmRes) is defined. If, for example, the calculation method DC Load Flow + AC Load
Flow for Critical Cases is selected, two result file objects will be referenced (one for AC calcu-
lations and another for DC calculations). The results stored in this file are filtered according
to the global threshold set in the Limits for Recording section of the Basic Data tab, and also
according to the individual limits defined within each component’s respective dialogue (such as
on the Load Flow tab of the element’s own dialogue). For further information on result objects,
please refer to Section Chapter 11 Study Cases, Section 11.11 (Results Objects).
28.4.2 Effectiveness
The Effectiveness tab of the contingency analysis command (Figure 28.4.3), allows the display,
addition and removal of quad boosters and generators in order to calculate their effectiveness.
28- 11
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Show QBs Shows a list of the transformers for which the effectiveness should be calcu-
lated.
Add QBs Adds references to transformers for which the effectiveness should be calcu-
lated. Only transformers where the additional voltage per tap is different to 0 and multiples
of 180 degrees will be listed (Load Flow tab of the transformer type (TypTr2) Phase of du
parameter).
Remove All Removes all references to transformers for which the effectiveness is cur-
rently calculated.
Show Gen. Shows a list of the generators for which the effectiveness should be calcu-
lated.
Add Gen. Adds references to transformers for which the effectiveness should be calcu-
lated.
Remove All Removes all references to generators for which the effectiveness is currently
calculated.
The Multiple Time Phases tab, as shown in Figure 28.4.4, allows the selection of the contin-
gency method to be performed as well as the corresponding settings.
Figure 28.4.4: Multiple Time Phases Option Settings of the Contingency Analysis Command
28- 12
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Method
Single Time Phase Performs the contingency analysis for a single time phase.
Multiple Time Phase Performs the contingency analysis for multiple time phases, allow-
ing the definition of post-fault actions.
Use same settings Uses the settings from the base case load flow for the contingency
case load flow.
Allow different settings Allows different settings for the base case load flow and the
contingency case load flow.
Calculation Settings
Base Case Load Flow Only available when option Allow different settings is selected in
the Base Case versus Contingency Load Flow section of the Multiple Time Phases tab.
This is a reference to the load flow command used to calculate the network operational
point before the simulation of contingencies. The settings of this load flow command can
be edited by pressing the button.
Contingency Load Flow Only available when option Allow different 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 assess the network in contingency
situations. It is characterized by the Post Contingency Time, which is defined in the Post
Contingency Time field, also located in the Calculation Settings section of the dialogue.
The contingency load flow command referred to by the Contingency Load Flow is always
stored inside the contingency analysis command itself. The settings of this load flow com-
mand can be edited by pressing the button. The Contingency Load Flow command
settings can be set to those of the currently used by the Base Case Load Flow command
by pressing the button.
Note: If no ’Contingency Load Flow’ command is defined, the ’Base Case Load Flow’
command is used to asses the network under contingency situations. In this case the action of
automatic transformer tap changers and switchable shunt compensators is directly considered
(provided that the corresponding options are selected in the ’Basic Options’ tab of the assigned
load flow command).
Consider Specific Time Phase Only available when option Use same settings is se-
lected in the Base Case versus Contingency Load Flow section. This option must be
enabled to define a post contingency time.
Post Contingency Time (End of Time Phase) This value defines the time phase of the
contingencies. This means that all switch-open events with an event time less than or
equal to this are considered in the contingency.
28- 13
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
The Time Sweep settings shown in Figure 28.4.5 allow the automatic modification of the date
and time of the active Study Case according to a list predefined by the user. The advantage of
this option is in situations where the contingency analysis needs to be automatically performed
taking into account different system conditions such as considering several load and generation
profiles (according to the hour of the day).
Figure 28.4.5: Time Sweep Option Setting of the Contingency Analysis Command
Note: When enabled, the Time Sweep will automatically change the Date and Time of the
active Study Case. However, in order for the Study Case to activate the corresponding
scenario automatically, a Scenario Scheduler (IntScensched) object needs to first be created
and afterwards activated. Once the execution of the contingency analysis has finished, the
Study Case date and time is restored to its original setting. For more information on the
Scenario Scheduler please refer to Chapter 14(Operation Scenarios)
To add study times to the list, first enable the Calculate Time Sweep option, then right-click
anywhere in the table and select Insert Rows (alternatively select Append Rows or Append
n Rows). To modify the date and time, double-click on the corresponding Study Time cell.
28- 14
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Additionally, the user has the option to ignore previously defined Study Times by enabling the
Ignore flag. This ensures that the contingency analysis will not take into account the ignored
Study Times in the calculation.
Do not record contingency result if base case is above. . . If in the pre-fault load flow
elements have loadings above this value, then they are not recorded in the results.
Short Displays only the number of iterations required for each contingency case.
Detailed Displays the full load flow output per contingency case.
1. The maximum loading of a component is greater than or equal to the first value specified;
for example 100% (parameter name: maxLoadAbs); or
2. The maximum loading of a component is greater than or equal to the second value spec-
ified; for example 80% (parameter name: maxLoad) and the maximum relative change
of loading compared to the base case is equal to or greater than the value specified; for
example 5% (parameter name: stepLoad).
In addition to these settings, if required, the user can define a set of components to be
ignored in the AC recalculation or to ignore components if they are already overloaded
in the base case. This set of components is assigned via the Components to be ignored
field.
28- 15
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
There are two types of settings associated with the Parallel Computing option. The first and
more general group of settings are the ones related to the management of the parallel compu-
tation function (computing method and the assignments of slaves). To access and modify these
settings; log-on first as an administrator and afterwards open a Data Manager window. Locate
and edit the Parallel Computing Manager (\System\Configuration \Parallel Computation \) as
indicated in Figure 28.4.7.
The users can however define their own settings by creating a system folder (with key ”Parallel”)
under the folder ”\\Configuration” and then creating the setting object ComParalman. This can
only be carried out when logged on as administrator.
28- 16
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Master Host Name or IP Refers to the machine name or IP address of the master host.
If a local multi-core machine is used, the name ”localhost” can be used.
1. Local Machine with Multi Cores/Processors: All the slaves will be started in the local
machine.
2. Local Machine Plus Remote Machines: The slaves will be started in both the local and
remote machines.
Number of Slaves Defines the number of slaves that will be started in the local ma-
chine. This number should not be greater than the number of cores available in the local
machine.
Computer Group Specifies the link to a computer group (number of remote machines)
which will be used for parallel computing.
The second group of settings are the ones related to the execution of the contingency analysis;
and which are located in the Parallel Computing tab page of the contingency analysis command
(Figure 28.4.8).
Enable Parallel Contingency Analysis for AC, DC or Time Sweep If the corresponding
option is enabled, the contingencies will be calculated in parallel; otherwise the contin-
gency analysis is executed in its default mode (i.e. sequential calculation).
28- 17
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Package Size for Optimized Method and Package Size for Standard Method The
master distributes the contingencies to slaves per package. The package size indicates
how many contingencies will be calculated by a slave each time. The contingencies can
be calculated using either optimized method or standard method. As the standard method
is much slower than optimized method, the package size of the standard method should
be smaller than that used for the optimized method to balance the calculation.
To calculate an individual contingency, click on the Show button in the contingency analysis
command dialogue (see Figure 28.4.2) to open the list of contingencies included in the analysis.
From here the user can right-click on a contingency of interest, and select Execute from the
context sensitive menu. Additionally, the corresponding element can be marked in the single
line graphic by right-clicking on the contingency object in the list and selecting Mark in Graphic
from the context sensitive menu.
28- 18
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Contingency cases (ComOutage objects) are objects used in PowerFactory to define contin-
gency situations within the analyzed networks. A contingency case determines which com-
ponents are put on outage. When a contingency analysis (ComSimoutage) is executed, the
contingency analysis command considers each of the contingency cases stored inside it, taking
the corresponding components out of service and performing a contingency load flow.
As mentioned previously, the contingency cases used by a specific contingency analysis com-
mand are stored inside the command itself. Contingency cases are created either by using
Fault Cases and/or Fault Groups (see Section 28.6), or via the Contingency Definition com-
mand ( , see Section 28.7). Once the contingencies have been defined in the contingency
command, the cases can be viewed by using the Show button available in the dialogue (see
Figure 28.4.2). Additionally, the contingency cases within the active study case’s contingency
analysis command may be viewed by clicking on the Show Contingencies icon ( ), located on
the main toolbar (only available when the Contingency Analysis toolbar is selected). In both
cases a new data browser showing the defined contingencies is opened, with the contingencies
listed inside. By double-clicking on a contingency from the list, the corresponding dialogue for
that particular contingency is opened (as illustrated in Figure 28.4.9). The dialogue displayed in
Figure 28.4.9 shows the following fields:
Not Analyzed If enabled, the case is not considered by the contingency analysis com-
mand.
Number An identification number given to the contingency and which is stored in the
results. This number can be used for reporting purposes.
Fault Case Reference to the fault case (if any) from where the contingency case origi-
nated.
Fault Group Reference to the fault group (if any) from where the contingency case origi-
nated. This field is only available if the contingency case has an associated fault group.
Events Used for this Contingency (Multiple Time Phase only) The user can specify
wether to generate the events based on the fault case definition (automatically), or to
use locally defined events. If the user chooses to use locally defined events, then the
ComOutage object which defines the contingency (located in contingency command of
the study case) can be modified independently.
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.6.1.
Contingency Analysis Reference to the contingency analysis command where the con-
tingency case is stored.
The Mark in Graphic button highlights the interrupted components in the single line diagram.
28- 19
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Normally, contingency cases (ComOutage objects) are analyzed by the contingency analysis
command (ComSimoutage) in which they are stored. However, each contingency case provides
the functionality of a command itself, and can be executed individually using the Execute button
at the top right of the ComOutage dialogue. In this case the actions taken by the circuit breakers,
which must switch to clear the fault, are shown in the single line graphic (only if the contingency
case was created using fault cases/groups).
Note: The ’Interrupted Components’ table is updated by the program each time the
contingency analysis is executed.
For further information on contingency cases generated using fault cases and/or fault groups,
please refer to Section 28.6 (Creating Contingency Cases Using Fault Cases and Groups).
For information on contingency cases created using the Contingency Definition (ComNmink)
command, please refer to Section 28.7 (Creating Contingency Cases Using the Contingency
Definition Command).
28- 20
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
As explained in Section 28.3 (Executing Contingency Analyses), the multiple time phases con-
tingency analysis is executed with the same contingency analysis command (ComSimoutage)
as that used for the single time phases contingency analysis. In the multiple time phases con-
figuration it determines the initial operational condition of the system via a ’base’ load flow
calculation. Following this, it loops over the defined time phases for each stored contingency
(ComOutage object). Load flow calculations are performed which consider the contingency
events whose time of occurrence is earlier than, or equal to, the Post Contingency Time, which
is set in the corresponding load flow command.
As a result of the execution of the Contingency Analysis command, the steady-state operational
point of the network at the Post Contingency Time, for every contingency, is obtained. The
calculated results are filtered according to user defined criteria and recorded in the Results
(ElmRes) object referred to by the Contingency Analysis command.
When configured to perform contingency analysis with multiple time phases, the Contingency
Analysis command stores the contingencies to be analyzed within the command itself. If dif-
ferent settings for the contingency load flow are stated, a folder (named Time Phases) is also
stored within the command; this folder contains the load flow commands that define the time
phases. The user may define as many contingencies and time phases as required, following
the procedures explained in this section.
The Contingency Analysis command can be accessed via the main toolbar by clicking on the
icon (provided that the Contingency Analysis toolbar has already been selected). The following
subsections present the options available in the dialogue provided that the user has selected
the Multiple Time Phases method in the contingency command (Multiple Time Phases tab).
Calculation Method
This setting is configured as described for Single Time Phase operation. Please refer to Sec-
tion 28.4.1 (Basic Options). Only AC Load Flow Calculation and DC Load Flow Calculation
methods are available (no DC Load Flow + AC Load Flow for Critical Cases).
This setting is configured as described for Single Time Phase operation. Please refer to Sec-
tion 28.4.1 (Basic Options).
Contingencies
This setting is configured as described for Single Time Phase operation. Please refer to Sec-
tion 28.4.1 (Basic Options).
This setting is configured as described for Single Time Phase operation. Please refer to Sec-
tion 28.4.1 (Basic Options).
28- 21
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
28.5.2 Effectiveness
These options are only available for the Single Time Phase calculation. Please refer to Sec-
tion 28.4.2 (Effectiveness).
The Multiple Time Phases tab, as shown in Figure 28.5.1, allows the selection of the contin-
gency method as well as its corresponding settings. Although most of the setting descriptions
are similar to those given for the Single Time Phase method, they are reviewed here.
Figure 28.5.1: Multiple Time Phases Option Settings of the Contingency Analysis Command
(Multiple Time Phases Method)
Method
28- 22
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Single Time Phase Performs the contingency analysis for a single time phase.
Multiple Time Phase Performs the contingency analysis for a multiple time phases, al-
lowing the definition of post-fault actions.
Use same settings Uses the settings from the base case load flow for the contingency
case load flow.
Allow different settings Allows different settings for the base case load flow and the
contingency case load flow.
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.
Allow different settings Only available when option Allow different 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 the network operational
point before the simulation of contingencies. The settings of this load flow command can
be edited by pressing the button.
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 corresponding load flow accessible by
pressing the button next to the defined time phase.
Add Time Phase Opens an input dialogue to define the new time phase by entering its
Post Contingency Time. If the option Allow different settings has been selected on the
Advanced Options tab, the previous load flow settings (i.e. those with the preceding
occurrence in time) will be used for the new time phase. In the case that there is no
previous time phase load flow, the base case settings will be used for the new time phase.
Use Base Case Settings for All Copies the settings from the base case load flow to all
time phase load flows.
The order of the contingencies stored inside the command is calculated according to the time
defined in this field. Only the events (actions) taking place before this point in time are consid-
ered when calculating the contingency order.
28- 23
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
This option is only available for the Single Time Phase calculation. Please refer to Section 28.4.3
(Time Sweep).
This setting is configured as described for Single Time Phase operation. Please refer to Sec-
tion 28.4.4 (Advanced Options).
This option is only available for the Single Time Phase calculation. Please refer to Section 28.4.5
(Parallel Computing).
The time phases of a contingency analysis are defined in the Calculation Settings section of the
Multiple Time Phases tab of the Contingency Analysis command, by specifying a Post Contin-
gency Time for each defined time phase. A specified Post Contingency Time defines the end
of a time phase and is used to determine which events (actions) from the analyzed contingency
are considered. If the time of occurrence of an event from a contingency occurs earlier than or
equal to the Post Contingency Time, the event will be considered in the corresponding load flow
calculation.
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.5.2. If the option Allow different settings in the Base Case versus
Contingency Load Flow section of the Multiple Time Phases tab is selected, the user can define
individual load flow commands for each time phase, as illustrated in Figure 28.5.3. Access to
each load flow command and its settings is via the button.
Figure 28.5.2: Same Settings for Base Case and Contingency Load Flows
28- 24
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Figure 28.5.3: Different Settings for Base Case and Contingency Load Flows
Note: Transformer tap changer controllers and switchable shunts are only considered by a
time phase if their time constants are smaller than the current Post Contingency Time. The
operational thermal ratings of branch elements during a contingency (if ’short term’ thermal
ratings (see Section 12.3.7) have been defined) will also depend on the duration of the
contingency (i.e. the current Post Contingency Time).
The Contingency Analysis time phases (which are essentially just load flow commands) are
stored within a folder inside the ComSimoutage command and can be accessed in several
ways. One way is by clicking on the button next to each defined time phase in the Calcu-
lation Settings section of the Multiple Time Phases tab; by doing so, the edit dialogue of the
corresponding load flow command pops up.
Another way is through the Data Manager. After performing a contingency analysis, a contin-
gency command object (ComSimoutage) is created inside the current active Study Case. If
the contingency analysis was performed using the Multiple Time Phases method (with differ-
ent load flow settings), then a Time Phases folder with the corresponding time phase load flow
commands will be created inside the contingency analysis, as illustrated in Figure 28.5.4.
28- 25
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
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 button. Note that after several time phases
have been defined, this list is then scrollable using the up/down arrow buttons ( ) available
in the dialogue.
Contingency situations which include post-fault actions are represented in PowerFactory via
objects called ’contingencies’ (ComOutage, ). The contingencies are defined by a set of
events which represent:
• The post contingency actions taken in order to mitigate the subsequent voltage band prob-
lems 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). When-
ever a new contingency is created, a link from the ComOutage object to the fault case is
set. New contingencies can be created in a Contingency Analysis command by clicking on
the Add Cases/Groups button in the Configuration section of the Basic Data tab (see Sec-
tion 28.4.1: Basic Options).
28- 26
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Besides the events which are transferred from the linked fault case during calculation of the
contingency case, the user has the possibility of defining 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.4.2). Alternatively, the contingen-
cies 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 contingency (Figure 28.4.9) 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.9). 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.6.3). This
data browser can be used to edit and/or delete the listed events. New events can be created
by using the New icon at the top of the opened browser window. Only four different types of
events are allowed in the contingency analysis as post-fault actions, which are:
It should be noted that events created locally in the contingency object are only considered if
the ComOutage 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 calculation 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 Analysis command. After the last time event(s) have
been 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 toolbar by pressing the
Start Trace button ( ). In this case a data browser listing all available contingencies (i.e. those
stored inside the ’Contingency Analysis’ command of the active study case) is displayed. After
the user selects the desired contingency by double-clicking on it, the ’Base Case’ load flow is
executed. The subsequent event(s) are then calculated using the Next Time Step button.
28- 27
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Contingency cases created from fault cases can be regarded as contingency situations pro-
duced in a network as a consequence of the clearing of a fault. Fault cases without switch-
ing events (created following the procedure described in Chapter 12: Project Library, Section
12.3.3: Fault Cases and Fault Groups) are used to automatically generate contingency cases
in the contingency analysis command, by pressing the Add Cases button and selecting the
desired objects from the data browser that pops up.
For every selected fault case, the calculation automatically detects which circuit breakers must
open in order to clear the defined fault(s). All components which lose their connection to the
network reference bus following the switching actions that clear the fault(s), are regarded as ’in-
terrupted’ and are subsequently added to the Interrupted Components table of the correspond-
ing contingency case. In other words, these components are put on outage by the contingency
case. Depending on the fault defined in the fault case that generates a contingency, the Fault
Type field in the contingency case dialogue (Figure 28.6.1) is set to:
• Busbar fault:
If the contingency originates from a fault on a busbar
• n-k fault:
With contingency order equal to k (where k >= 0). k corresponds to the number of network
regions (sets of topologically connected components) which are disconnected during a
fault, by the switching actions performed. It should be noted that the switching actions
which are considered depend on the post contingency time used by the update (this time
differs between single- and multiple time phase analyses).
Figure 28.6.1: Fault Type Field in the Contingency Case (ComOutage) Dialogue
Contingency cases can be created from fault cases/groups, which reside in the Operational
Library, by pressing the Add Cases/Groups button in the contingency analysis command (see
Section 28.4.1 (Basic Options) and Figure 28.4.2). 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).
28- 28
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Note: The ’topological search’ algorithm used by the program to set contingency cases from
fault cases requires the explicit definition of at least one reference bus in the analyzed system.
A bus is explicitly set as a reference if it has connected to it either a synchronous generator
(ElmSym), or an external network (ElmExtnet) with the option ’Reference Machine’ enabled
(available on the element’s ’Load Flow’ tab).
There are two types of subfolder inside the Faults folder in the Operational Library : Fault Cases
and Fault Groups.
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 Data Manager toolbar. 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 28.6.2 (Defining a Fault Case). Alternatively, several fault
cases can be selected and stored in a Fault Group, as described in Section 28.6.3 (Defining a
Fault Group).
To define a fault case for an element in the grid, select it in the single-line diagram. Then right-
click and choose one of: Define. . . → Fault Case→ Single Fault Case or Define. . . → Fault
Case→ Multiple Fault Cases, n-1 (or Multiple Fault Cases, n-2) or Define. . . → Fault Case→
Mutually Coupled Lines/Cables, n-k.
If Multiple Fault Cases, n-2 is selected, fault cases will be created for the simultaneous outage
of every unique combination of two elements in the selection. If the user selects Single Fault
Case, a fault case will be created for the simultaneous outage of all elements in the selection.
28- 29
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
If Mutually Coupled Lines/Cables, n-k is selected, then fault cases will be created for the simul-
taneous outage of each coupled line in the selection.
Alternatively, a filter can be used. This can be done (for example) with the help of the Edit Rele-
vant Objects for Calculation button ( ), to list all elements for which outages are to be defined.
These elements can then be highlighted and the user can then right-click on the highlighted
selection and choose (for example) Define. . . → Fault Case. . . . The Simulation Events/Fault
dialogue opens, as shown in Figure 28.6.3, where the user can enter the desired name of the
fault case in the Name field.
On the second page of the Basic Data tab of the same dialogue, the user can create the
corresponding switch events, by clicking on the Create Switch Events button.
Fault cases can also be defined by the Contingency Definition command, as explained in Sec-
tion 28.7 (Creating Contingency Cases Using the Contingency Definition Command).
For further background on fault cases, please refer to Chapter 12: Project Library, Section
12.3.3 (Fault Cases and Fault Groups).
To define a fault group, left-click on the Fault Groups folder. Then click on the New Object button
( ). A Fault Group dialogue pops up as shown in Figure 28.6.4. In this dialogue the user can
specify the name of the fault group in the Name field, and add fault cases to this new group
using the Add Cases button. Click the Cases button to view existing cases (if any) in the fault
group.
28- 30
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Note: When a fault group is defined and fault cases are added to it, a reference is created to
each of these fault cases. 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 is not deleted from the Fault Cases subfolder.
• Select the components to be put on outage either by multi-selecting them in the single line
graphic or the Data Manager.
• Right click on the selection and choose Calculate → Contingency Analysis. . . from the
context sensitive menu. This command will create a list with references to the selected
objects inside the Contingency Definition command (ComNmink). The command dialogue
shown in Figure 28.7.1 will pop up.
• Select the required outage level.
• Select the Creation of Contingencies option according to how the contingencies should
be handled (see explanation of options below) and click on Execute.
To generate contingency cases for either the complete system or from pre-defined sets of ele-
ments:
28- 31
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
Figure 28.7.1: Contingency Definition Dialogue (option: Generate Contingencies for Analysis)
Once the Contingency Definition command is executed, it generates the corresponding contin-
gency cases according to the options and elements selected. The Contingency Analysis com-
mand, which is automatically created inside the current active Study Case is then automatically
opened. The created contingencies can be analyzed by executing this already-opened Con-
tingency Analysis command. Note that when a new list of contingencies is created using the
Contingency Definition command, the previous content of the contingency analysis command
is overwritten.
It is also possible to open the Contingency Definition command directly from the Contingency
Analysis toolbar, without any previous selection, by clicking on the icon. In this case, con-
tingencies 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 contingency cases
from the selected objects:
Creation of Contingencies
Generate Fault Cases for Library Generates fault cases which are stored in the Oper-
ational Library, in a folder named Faults.
Alarm Generates contingencies which are stored in the contingency analysis command,
28- 32
DIgSILENT PowerFactory CHAPTER 28. 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 compo-
nents.
n-k cases of mutually coupled lines/cables Creates contingency cases for every set of
mutually coupled lines/cables. If for example, three lines are modeled as having a mutual
coupling, by selecting this option a fault case is created considering the simultaneous
outage of the three coupled lines.
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 transformers
(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.
Series Capacitors
Contingency cases according to the selected outage level will be generated for all series capac-
itors (ElmScap objects) in the system.
Series Reactors
Contingency cases according to the selected outage level will be generated for all series reac-
tors (ElmSind objects) in the system.
The selection of elements to outage in the Contingency Definition command can also be cre-
ated by the use of DPL scripts. Please refer to the ComNmink methods in the appendix DPL
Reference.
Note: It is important to note the difference between contingency cases created from fault
cases and contingency cases created with the Contingency Definition command. In the former,
the cases are regarded as the outage of certain network components as a consequence of
fault clearing switching actions, with the fault(s) being defined by the fault case and the
switching actions automatically calculated by the program. In the latter, the cases are
regarded as contingency situations generated by the outage of a selected group of components.
28- 33
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
In order to compare contingencies in a fast and easy way, PowerFactory provides a Contingency
Comparison function ( ). The Contingency Comparison function is only enabled if the user has
previously defined the contingency cases in the Contingency Analysis command, as explained
in Sections 28.6 (Creating Contingency Cases Using Fault Cases and Groups) and 28.7 (Cre-
ating Contingency Cases Using the Contingency Definition Command). The general handling
of the Contingency Comparison function is as follows:
1. Define the contingency cases in the Contingency Analysis command (see Sections 28.6:
Creating Contingency Cases Using Fault Cases and Groups and 28.7: Creating Contin-
gency Cases Using the Contingency Definition Command).
2. Click on the Contingency Comparison button ( ). A window will pop up allowing the user
to select the required contingency cases (Figure 28.8.1). The selection can correspond to
one, several, or all contingency cases.
3. By clicking on the OK button, the Comparing of Results On/Off button (Figure 28.8.2) is
enabled and the selected contingency cases are automatically executed.
28- 34
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
4. The single line graphic result boxes will display the results, based on the comparison mode
and the two compared cases. By default, the comparison is made between the Base Case
and the last selected contingency case in the list.
5. To change the comparison mode and/or the cases to be compared, click on the Edit Com-
paring of Results button (Figure 28.8.2). The Compare dialogue will pop up displaying the
current settings. To change the cases to be compared, click on the black arrow pointing
down ( ) and select a different case (Figure 28.8.3).
6. If the contingency analysis is defined with time phases, the compare dialogue will have
the option of selecting the time phase.
7. Once the calculation is reset (for example by either making changes in the model or by
clicking on the Reset Calculation button), the comparison mode will be disabled.
In PowerFactory the Contingency Analysis function has a special set of predefined report for-
mats that can be launched by clicking on the Report Contingency Analysis Results button ( ),
which is illustrated in Figure 28.8.2. The Report Contingency Analysis Results button will only
28- 35
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
be enabled if the user has previously executed the Contingency Analysis command, as ex-
plained in Section 28.3 28.2 (Executing Contingency Analyses). Once the reporting of results
has been launched, the dialogue window illustrated in Figure 28.9.1 will be displayed.
• Maximum Loadings:
Only the maximum loaded component (according to the specified loading limit) for each
contingency is displayed in a single list.
• Loading Violations:
All overloaded components (according to the specified loading limit) for each contingency
are displayed in a single list.
• Voltage Steps:
All voltage deviations of terminals (between the base case and the contingency case) for
each contingency are displayed in a single list. Reports the highest voltage deviation of
terminals (between the base case and the contingency case) considering all contingen-
cies. Any such terminal is reported only once. Only terminals with the highest voltage
deviation greater than the specified maximum voltage step are reported.
• Maximum Voltages:
Reports the greatest voltage violation of a terminal (greater than or equal to the specified
voltage limit) considering all contingencies. Any such terminal is reported only once (i.e.
it is reported for the contingency causing this violation).
• Minimum Voltages:
Reports the greatest voltage violation of a terminal (less than or equal to the specified
28- 36
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
voltage limit) considering all contingencies. Any such terminal is reported only once (i.e.
it is reported for the contingency causing this violation).
• Quad-Booster Effectiveness:
Quad-booster transformers having an effectiveness greater than or equal to the specified
value (MW/Tap) are displayed in a single list.
• Non-convergent Cases:
The non-convergent cases of the contingency analysis are displayed in a list.
The tabular format (Figure 28.9.2) for reporting has the following sections:
28- 37
DIgSILENT PowerFactory CHAPTER 28. CONTINGENCY ANALYSIS
• Header:
Identifies the report and its data.
• Filter:
Represented as drop-down lists, allowing the selection of one item at a time or as ”Cus-
tom”.
• Table:
Matrix of rows and columns containing cells that can refer to an object and provide actions
such as ”Edit”, ”Edit and Browse” and ”Mark in Graphic”. It also supports copy and paste,
scroll features, page up and down keys as well as Ctrl+Pos1, Ctrl+End and HTML view.
Although the tabular reports are already predefined, the user can modify them if required (by
going to the second page of the Report Contingency Analysis Results dialogue and clicking on
the blue arrow pointing to the right of the Used Format definition).
28- 38
Chapter 29
Reliability Assessment
29.1 Introduction
Reliability assessment involves determining, generally using statistical methods, the total elec-
tric interruptions for loads within a power system during an operating period. The interruptions
are described by several indices that consider aspects such as:
Network reliability assessment is used to calculate expected interruption frequencies and an-
nual interruptions costs, and to compare alternative network designs. Reliability analysis is an
automation and probabilistic extension of contingency evaluation. For such analysis, it is not
required to pre-define outage events, instead the tool can automatically choose the outages to
consider. The relevance of each outage is considered using statistical data about the expected
frequency and duration of outages according to component type. The effect of each outage is
analyzed automatically such that the software simulates the protection system and the network
operator’s actions to re-supply interrupted customers. Because statistical data regarding the
frequency of such events is available, the results can be formulated in probabilistic terms.
Note: Reliability assessment tools are commonly used to quantify the impact of power system
equipment outages in economic terms. The results of a reliability assessment study may be
used to justify investment in network upgrades such as new remote control switches,
new lines / transformers, or to assess the performance of under voltage load shedding schemes.
1
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
This chapter deals with probabilistic Network Reliability Assessment. For information on Pow-
erFactory’s deterministic Contingency Analysis, refer to Chapter 28 (Contingency Analysis).
The reliability assessment functions can be accessed by selecting ”Reliability” toolbar from the
Change Toolbox icon ( ) as illustrated in Figure 29.1.1.
The optimal power restoration functions can be accessed by activating the optimal power restora-
tion toolbar using the icon on the toolbar selection control as illustrated in Figure 29.1.2
29- 2
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
The basic user procedure for completing a reliability assessment consists of the following steps
as shown in Figure 29.1.3. Steps on the left are compulsory, while steps on the right are optional
and can be used to increase the detail of the calculation.
The Reliability Assessment procedure considers the network topology, protection systems, con-
straints and stochastic failure and repair models to generate reliability indices. The technical
background of the procedure and Stochastic Models is described in this section.
29- 3
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Note: A quantity is said to be stochastic when it has a random probability distribution. A simple
example of a stochastic quantity is the expected repair duration for an item of equipment,
which is based on the total number of repairs and repair duration. This measured data can be
used to build Stochastic Models, and perform analysis using statistical calculation methods.
The generation of reliability indices, using the Reliability Assessment tool also known as ’relia-
bility analysis’, consists of the following:
• Failure modeling.
• Load modeling.
• System state creation.
• Failure Effect Analysis (FEA).
• Statistical analysis.
• Reporting.
The reliability analysis calculation flow diagram is depicted in Figure 29.2.1. The failure models
describe how system components can fail, how often they might fail and how long it takes to
repair them when they fail. The load models can consist of a few possible load demands, or can
be based on a user-defined load forecast and growth scenarios.
The combination of one or more simultaneous faults and a specific load condition is called
a ’system state’. Internally, PowerFactory s system state generation engine uses the failure
models and load models to build a list of relevant system states. Subsequently, the Failure Effect
Analysis (FEA) module analyzes the faulted system states by simulating the system reactions
to these faults. The FEA takes the power system through a number of post-fault operational
states that can include:
29- 4
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
The objective of the FEA function is to determine if 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 genera-
tion module to create the reliability statistics including indices such as SAIFI, SAIDI and CAIFI.
The system state data describes the expected frequency of occurrence of the system state and
its expected duration. However, the duration of these system states should not be confused
with the interruption duration. For example, a system state for a line outage, perhaps caused
by a short-circuit on that line, will have a duration equal to the time needed to repair that line.
However, if the line is one of two parallel lines then it is possible that no loads will be interrupted
because the parallel line might be able to supply the full load current.
Even if the loads are interrupted by the outage, the power could be restored by network recon-
figuration - by fault separation and closing a back-feed switch. The interruption duration will then
equal the restoration time, and not the repair duration (equivalent to the system state duration).
A stochastic reliability model is a statistical representation of the failure rate and repair duration
time for a power system component. For example, a line might suffer an outage due to a
short-circuit. After the outage, repair will begin and the line will be put into service again after a
successful repair. If two states for line A are defined as ’in service’ and ’under repair’, monitoring
of the line could result in a time sequence of outages and repairs as depicted in Figure 29.2.2.
Figure 29.2.2: Line availability states are described by the status of the line (in service or under
repair). Each of these states lasts for a certain 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 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 statistical
information is then used to define a Stochastic Model.
29- 5
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
There are many ways in which to define a Stochastic Model. The so-called ’homogenous
Markov-model’ is a highly simplified but generally used model. A homogenous Markov model
with two states is defined by:
The availability is the fraction of time when the component is in service; the unavailability is the
fraction of time when it is in repair; and P+Q = 1.0.
Reminder: TTR is the ’Time To Repair’, and TTF is the ’Time To Failure’.
Example
If 7500 monitored transformers were to show 140 failures over 10 years, during which a total of
7360 hours was spent on repair, then:
140 1 1
λ= · = 0, 00187 · (29.1)
10 · 7500 a a
1
TTF = = 536a (29.2)
λ
7360
TTR = · h = 52, 6h = 0, 006a (29.3)
140
1 1
µ= = 167 · (29.4)
TTR a
536
P = = 0, 999989 (29.5)
536 + 0, 006
0, 006 min
Q= =6 (29.6)
536 + 0, 006 a
29- 6
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
These indices are separated into frequency/expectancy indices and energy indices. Further-
more, there are indices to describe the interruption costs.
Load point indices are calculated for each load (ElmLod), and are used in the calculation of
many system indices. This section describes the simplified equations for the reliability indices.
However, note that the PowerFactory reliability assessment calculations use more complex cal-
culation methods. Nevertheless, the simplified equations shown here can be used for hand
calculations or to gain insight into the reliability assessment results.
In the definitions for the reliability indices, the following parameters are used:
X
ACIFi = F rk · f raci,k U nit : 1/a (29.7)
k
X
ACITi = P rk · f raci,k U nit : h/a (29.8)
k
29- 7
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
ACITi
AIDi = (29.11)
ACIFi
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 partially shed, 0.0 <= frac i,k < 1.0.
SAIFI System Average Interruption Frequency Index, in units of [1/C/a], indicates how often the
average customer experiences a sustained interruption during the period specified in the
calculation.
CAIFI Customer Average Interruption Frequency Index, in units of [1/A/a], is the mean fre-
quency of sustained interruptions for those customers experiencing sustained interrup-
tions. Each customer is counted once regardless of the number of times interrupted for
this calculation.
ASIFI Average System Interruption Frequency Index, in units of [1/a], The calculation of this
index is based on load rather than customers affected. ASIFI can be used to measure
distribution performance in areas that supply relatively few customers having relatively
large concentrations of load, predominantly industrial/commercial customers
SAIDI System Average Interruption Duration Index, in units of [h/C/a], indicates the total du-
ration of interruption for the average customer during the period in the calculation. It is
commonly measured in customer minutes or customer hours of interruption.
CAIDI Customer Average Interruption Duration Index, in units of [h], is the mean time to restore
service.
ASIDI Average System Interruption Duration Index, in units of [h/a], is the equivalent of SAIDI
but based on load, rather than customers affected.
ASAI Average Service Availability Index, this represents the fraction of time that a customer is
connected during the defined calculation period.
ASUI Average Service Unavailability Index, is the probability of having all loads supplied.
MAIFI Momentary Average Interruption Frequency Index, in units of [1/Ca], evaluates the av-
erage frequency of momentary interruptions. The calculation is described in the IEEE
Standard 1366 ’IEEE Guide for Electric Power Distribution Reliability Indices’.
P
ACIFi · Ci
SAIF I = P U nit : 1/C/a (29.12)
Ci
29- 8
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
P
ACIFi · Ci
CAIF I = P U nit : 1/A/a (29.13)
Ai
P
ACITi · Ci
SAIDI = P U nit : h/C/a (29.14)
Ci
SAIDI
CAIDI = U nit : h (29.15)
SAIF I
P
ACITi · Ci
ASU I = P (29.16)
8760 · Ci
P
(rm − Lm )
ASIDI = U nith/a (29.18)
LT
P
Lm
ASIF I = U nit1/a (29.19)
LT
P
IMi · Nmi
M AIF I = P (29.20)
Ni
_ _
LP EN Si = ACITi · (P di + P si ) in M W h/a (29.21)
_
LP ESi = ACITi · P si in M W h/a (29.22)
Where
P di is the weighted average amount of power disconnected
P si is the weighted average amount of power shed at load point i.
29- 9
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
ENS Energy Not Supplied, in units of [MWh/a], is the total amount of energy on average not
delivered to the system loads.
SES System Energy Shed, in units of [MWh/a], is the total amount of energy on average ex-
pected to be shed in the system.
AENS Average Energy Not Supplied, in units of [MWh/Ca], is the average amount of energy
not supplied, for all customers.
ACCI Average Customer Curtailment Index, in units of [MWh/Ca], is the average amount of
energy not supplied, for all affected customers.
X
EN S = LP EN Si in M W h/a (29.23)
X
SES = LP ESi in M W h/a (29.24)
EN S
AEN S = P in M W h/Ca (29.25)
Ci
EN S
ACCI = P in M W h/Ca (29.26)
Ai
LPEIC is defined as
X
LP EICi = LP EICi,k in $/a (29.27)
where
LP EICi,k
is the average interruption cost for load point i and contingency case k, considering the
load point interruption costs function and the assessed distribution of the durations of
the interruptions at this load point for contingency case k. The interruption costs are
calculated differently for different cost functions. All cost functions express the costs as
a function of the interruption duration. For cost functions expressed in money per inter-
rupted customer, the number of interrupted customers is estimated for each interruption
as the highest number of customers interrupted at any time during the whole interruption
duration.
29- 10
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
EIC Expected Interruption Cost, in units of [M$/y], is the total expected interruption cost.
IEAR Interrupted Energy Assessment Rate, in units of [$/kWh], is the total expected interruption
cost per not supplied kWh.
X
EIC = LP EICi in M $/a (29.28)
EIC
IEAR = in $/kW h (29.29)
EN S
In PowerFactory , Reliability Assessment uses a System State Enumeration to analyze all pos-
sible system states, one by one. A fast ’topological’ method is used which ensures that each
possible system state is only analyzed once. State frequencies (average occurrences per year)
are calculated by considering only the transitions from a healthy situation to an unhealthy one
and back again. This is important because the individual system states are analyzed one by
one, and the (chronological) connection between them is therefore lost.
The enumerated calculation method is fast for quick investigation 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 can include independent failures, simultaneous (n-2) failures,
common mode failures, numerous load states and planned outages.
An overview flow diagram for the reliability assessment by state enumeration is shown in Fig-
ure 29.2.3.
29- 11
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Figure 29.2.3: Overview Flow Diagram for Reliability Assessment by State Enumeration
After the State Enumeration is complete, each simulated system state can be viewed using the
’tracing tool’ on the Reliability Toolbar, see Section 29.4.2 for more information.
• Fault Clearance;
• Fault Isolation;
• Power Restoration;
• Overload Alleviation;
29- 12
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
• Load Shedding;
FEA analysis for the network assessment can consider or ignore constraints. For overload
alleviation, the algorithm uses an AC load flow to search for overloaded branches and if any are
identified then it attempts to resolve them, firstly by load transfer and secondly by load shedding.
If constraints are not considered by the FEA, then a load-flow for each state is not required and
consequently the simulation is much faster.
For every simulated failure, a contingency is created by the FEA algorithm. If the calculation
uses load characteristics, a contingency is created for every combination of failure and load
state. Likewise, when maintenance (planned outages) are considered, there are more states
for each outage and contingency combination.
Fault Clearance
The fault clearance step of the FEA assumes 100% selectivity of the protection. Therefore, it is
assumed that the relays nearest to the failure will clear the fault. If protection/switching failures
are considered in the FEA, it is assumed that the next closest protection device (after the failed
device) has 100% selectivity. As described in (Protection/Switch Failures), PowerFactory does
not consider separate switch and protection failures, instead these are lumped together. In
the pre-processing phase of the reliability assessment, all breakers in the system that can be
tripped by a relay, or fuse are marked as ’protection breakers’.
To clear the fault, the FEA starts a topological search from the faulted component/s to identify
the closest protection breaker/s that can clear the fault. These breaker/s are then opened to
end the fault clearance phase of the FEA. If it is not possible to isolate the fault because there
are no appropriate protection breakers, then an error message will be printed and the reliability
assessment will end.
Fault Isolation
The next step of the FEA is to attempt to restore power to healthy network sections. It does this
by separating the faulted section from the healthy section by opening sectionalizing switches.
The fault separation procedure uses the same topological search for switches as the fault clear-
ance phase. The fault separation phase starts a topological search from the faulted compo-
nents to identify the closest switches that will isolate the fault. These switches are subsequently
opened. Note, all closed switches can be used to separate the faulted area. The area that is
enclosed by the identified fault separation switches 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 healthy section which is inside the ’protected area’, but outside of the ’separated area’ is
called the ’restorable area’ because power can be restored to this area.
Power Restoration
The Power Restoration process of the FEA energizes the healthy areas of the system after the
fault separation process has isolated the faulted area. Note that only open switches that are
enabled for use in power restoration will be considered by PowerFactory as candidate switches
for power restoration. Additionally, PowerFactory uses a ’smart power restoration’ procedure that
also considers the direction of the power restoration and the priority (stage) of the switch. The
fastest candidate switch is always selected when there is more than one restoration alternative.
Each restorable area that is reconnected to the supplied network is called a ’restored’ area. For
more information about the switch configuration for smart power restoration, see Section 29.3.3.
If switching actions are not possible in order to return loads and terminals in a separated area
to service, then these loads and terminals will remain interrupted for the mean duration of the
29- 13
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
repair, which is normally several hours. However, if switching actions are possible to return
the loads and terminals to service, they will only be interrupted for the time needed to open
all separators and to close all power restoration switches. The effects of network upgrades,
including improved automation and remote control of switches (by lowering switch actuation
times), can be analyzed.
An Optimal Power Restoration can also be conducted for a single contingency from outside the
reliability calculation through the Optimal Power Restoration command shown in Figure 29.1.2,
or by right-clicking an element and selecting Calculate → Optimal Power Restoration.
Overload Alleviation
If the power restoration does not cause any thermal overloads or voltage violations (if applica-
ble), then the FEA can proceed to calculate the statistics for that state and then analyze the next
state. However, if thermal constraints are enabled, then PowerFactory will complete load-flows
to check that all components are still within their thermal capability after the power restoration
is complete. If necessary, load transferring, partial or full load shedding might be required to
alleviate the thermal over-load. Note load transferring and partial load shedding are only consid-
ered when ’Transmission’ is selected in the Reliability command Basic Options. The distribution
option considers only discrete switch actions. Therefore, loads must be fully shed or remain in
service.
If the ’Distribution’ option is selected in ’Basic Options’, voltage constraints for busbars/terminals
and feeders can be considered in addition to thermal constraints. The voltage constraint allevi-
ation process is similar to the thermal overload alleviation process, where loads will be shed if
necessary to maintain system voltages within the defined limits.
In some cases, load transfer switches and/or the alternative feeders are not included in the
network model where reliability assessment is completed. In these cases, the automatic power
restoration cannot switch an unsupplied load to an alternative supply. An example is when a
(sub-)transmission network is analyzed and 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 transferring 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 specifying to which feeder/s the portion is transferred.
The use of the load transfer percentage (parameter name: Transferable on the load elements
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
the 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.
Load Shedding
29- 14
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Optimal load shedding presumes that all loads can be shed precisely (an infinite number of
steps). PowerFactory attempts to find a solution that alleviates the overload with the lowest
amount of load shed.
PowerFactory uses linear sensitivity indices to first select those loads with any contribution to
overloading. A linear optimization is then started to find the best shedding option. The result-
ing minimum amount of shed load is called the ’Power Shed’, because it equals the minimum
amount of load that must be shed to alleviate overloads after the power restoration. The power
shed is multiplied by the duration of the system state to get the ’Energy Shed’. The total energy
shed for all possible system states is reported after the reliability assessment is complete, and
is referred to as the ’System Energy Shed’ (SES).
Loads are shed automatically based on their allocated priority, with PowerFactory attempting
to shed low priority loads, prior to high priority loads wherever possible. In the transmission
reliability option, loads can be partially or fully shed, whereas in the distribution option, loads
can only be fully shed.
Example
Figure 29.2.4 shows a simple network containing four loads, several circuit breakers (CB) and
disconnectors (DS) and a back-feed switch (BF).
Fault clearance
The area isolated by the fault clearance procedure is called the ’protected area’. Figure 29.2.5
shows the example network after the fault clearance functions have opened the protection
breaker ’CB1’. The protected area is the area containing all switches, lines and loads between
’CB1’ and the back-feed switch, ’BF’. Therefore, during the clearance of this fault, loads 1, 2,
and 3 are interrupted.
29- 15
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Fault Isolation
Figure 29.2.6 shows the example network with the separation switches, ’DS2’ and ’DS4’ open.
The separated area now only contains the faulted line, Ln4. There are now two restorable areas
following the fault separation; the area which contains load 1, and the area which contains loads
2 and 3.
Power Restoration
After the fault separation phase is complete, the following switch actions are required to restore
power to the two separate ’restorable’ areas:
29- 16
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Figure 29.2.8 shows a line overload in the post-fault condition in the example network: line ’Ln1’
is loaded to 113%.
In this example, loads 1, 2, 3 and 4 all contribute to the line overload on LN1, and consequently
load would be shed based on load shedding options and priorities set by the user to alleviate
the constraint.
Prior to starting a Reliability Assessment Calculation, you must setup the Network Model with
specific reliability data models. This chapter discusses the following procedures:
29- 17
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Stochastic Failure models define the probability that a component will fail and when it does fail,
the mean time to repair the component. The following Stochastic failure models are supported
by PowerFactory:
This section describes each of these Stochastic Models and the procedure for defining them.
It is possible to define a Stochastic Model for every busbar and terminal within the network. The
Stochastic Model can be defined either through the object type or through the object element.
If you want to use the same Stochastic Model for a number of different busbars/terminals then
you should define it through the object type. Alternatively, if you want to use a Stochastic Model
for only one element, then you should define it through the element Reliability page.
You can use Stochastic Models defined through types and elements together as required - the
element definition always overrides the type definition.
1. Open the dialog for the busbar type and select the Reliability tab.
2. Using the ’Stochastic Model’ selection control click the black triangle and select the option
’New project type’. The dialog for the ’Bar Type Failures’ will appear.
3. Enter the failure data for the busbar and the failure data per connection. Note that the
probability of the busbar failure is the sum of these two failure frequencies. For example
a busbar with 3 connections, a failure frequency for the busbar of 0.002 and a failure
frequency of 0.005 per connection will have a total probability of failure of 0.002+3·0.005 =
0.017.
29- 18
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
1. Open the dialog for the busbar element and navigate to the Reliability tab.
2. Using the ’Element model’ selection control click the black triangle and select the option
’New project type’. The dialog for the ’Bar Type Failures’ will appear.
3. Enter the failure data and repair time data as described above for the busbar type.
4. Press OK to close the element dialog.
Note: If you define a stochastic element model for a busbar/terminal that also has a stochastic
type model within its corresponding type, the element model overrules the type model.
It is possible to define a Stochastic Model for every line or cable within the network. The
Stochastic Model can be defined either through the object type or through the object element. If
you want to use the same Stochastic Model for a number of different lines/cables then you
should define it through the object type reliability page. Alternatively, if you want to use a
Stochastic Model for only one element, then you should define it through the element reliability
page.
To define a Stochastic Model for a line or cable type follow these steps:
1. Open the dialog for the line type and select the Reliability tab.
2. Using the ’Stochastic Model’ selection control click the black triangle and select the option
’New project type’. The dialog for the ’Line Type Failures’ will appear.
3. Enter the Sustained Failure Frequency. Note that the probability of the line failure is de-
termined using this value and the length of the line. For example, a 12 km line with a Sus-
tained failure frequency of 0.032 (1/(a · km)) will have a failure probability of 12 · 0.032 =
0.384(1/(a · km)).
4. Enter the mean repair duration in hours.
5. Enter the Transient Fault Frequency. Note this parameter is used for the calculation of the
MAIFI index.
6. Press OK twice to return to the element dialog.
29- 19
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
To define a Stochastic Model for a line or cable element follow these steps:
1. Open the dialog for the line element and navigate to the Reliability tab.
2. Using the ’element model’ selection control click the black triangle and select the option
’New project type’. The dialog for the ’Line Type Failures’ will appear.
3. Enter the failure data and repair time data as described above for the line type.
4. Press OK to return to the element dialog.
It is possible to define a Stochastic Model for every transformer within the network. The Stochas-
tic Model can be defined either through the object type or through the object element. If you
want to use the same Stochastic Model for a number of different transformers then you should
define it through the object type reliability page. Alternatively, if you want to use a Stochastic
Model for only one transformer element, then you should define it through the element reliability
page.
1. Open the dialog for the transformer type and select the Reliability tab.
2. Using the ’Stochastic Model’ selection control click the black triangle and select the option
’New project type’. The dialog for the Transformer Type Failures’ will appear.
3. Enter the failure frequency data (1/a).
1. Open the dialog for the transformer element and select the Reliability tab.
2. Using the ’element model’ selection control click the black triangle and select the option
’New project type’. The dialog for the ’Transformer Type Failures’ will appear.
3. Enter the failure data and repair time data as described above for the transformer type.
29- 20
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
A common mode failure involves the simultaneous failure of two or more power system com-
ponents. An example is a distribution feeder where two lines with different voltages share the
same poles. If one or more poles fail, for example a car hits a pole, then both lines will be inter-
rupted simultaneously: these lines have a ’common failure mode’. Such a failure will usually be
more likely than the probability of the two lines failing independently at the same time.
In PowerFactory , it is possible to define a common mode failure object to consider such fail-
ures in the reliability calculation. These Stochastic Models consider the common mode failure
probability in addition to the independent failure mode of each component within the model.
1. Using the Data Manager, select the ’Common Mode’ failures folder within the ’Operational
Library’.
2. Click the New Object button ( ) to create a Stochastic Common Mode failure object
(StoCommon). The dialog for the object should appear.
3. Double click in the first empty cell of the ’Name’ column, to open an object selection
browser.
4. Use the browser to find the first object that is part of the Common Mode failure that you
are trying to define.
5. Click OK to return to the Common Mode Failure dialog.
6. Add a cell below the last full cell by right-clicking within an empty area of the dialog and
selecting the option ’Append Rows’.
7. Repeat steps 3-6 to add more objects to the Common Mode Failure.
8. Click the ’Failure Data’ tab and enter the Sustained Failure Frequency, Mean Outage du-
ration and Transient Fault Frequency data.
9. Click OK to save the changes.
PowerFactory can consider the failure of the protection system to clear the fault as a stochastic
probability within the reliability calculation. This is enabled by entering a ’Probability of Failure’
into the switch object. To enter this data:
1. Open the dialog for the switch object where you want to enter the switch failure probability.
Normally switches are accessed by right clicking their containing cubicle and selecting the
option ’Edit Devices’.
2. On the Reliability tab of the switch object, enter the ’Fault Clearance: circuit breaker fails
to open probability’ in percent. For example, a 5 % failure rate means that on average 1
out of 20 attempted fault clearance operations will fail.
Note: PowerFactory does not distinguish between a protection system failure and a switch
failure. For example, the reason that a switch fails to open could be caused by a faulty relay, a
29- 21
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
A double earth fault in PowerFactory is defined as follows: a single earth fault on a component
followed by a second simultaneous earth fault on another component.
A double earth fault might occur after voltage rises on healthy phases on a feeder following a
single phase to earth fault on the feeder, causes a second phase to earth fault on the same
feeder.
Double earth faults occur on lines, transformers (2 Winding and 3 Winding transformers) and
busbars, and PowerFactory supports adding the conditional probability data for double earth
faults for Stochastic Models of these components. The reliability calculation automatically gen-
erates a contingency event for every double earth fault that meets the following conditions:
• Both objects are in the same part of the network (supplied by the same transformers).
• The star point of the transformers that supply that part of the network is isolated or com-
pensated (both star point grounded and Peterson Coil enabled).
• The frequency of single earth faults of the first object is > 0
• The probability of double earth fault of the second object is > 0.
The frequency for single earth faults and the probability of the second earth fault data can be
entered on the ’Earth Fault’ page of every Stochastic Model. Follow these steps to enter data
for a Line Stochastic Model:
1. Open the Stochastic Failure Model for the line (either through the reliability page of the
line type or the line elements).
2. Select the Earth Fault page.
3. Enable the option ’Model Earth Faults’
Note: The double earth fault is a conditional probability. Therefore, the probability of one
occurring in the network is the probability of an earth fault on component A ∗ probability of an
double earth fault on component B
29- 22
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
When performing a reliability calculation with the Distribution option set under Basic Options,
PowerFactory requires that feeder/s have been defined in the model.
To create a feeder:
• Right click on the cubicle at the head of the feeder and select the option Define → Feeder ;
or
• for fast creation of multiple feeders right click the bus the feeder/s are connected to and
select the option Define → Feeder. More information on feeders and feeder creation can
be found in Chapter 13: Grouping Objects, Section 13.6(Feeders).
A critical component of the Failure Effect Analysis (FEA), is the behavior of the switches in the
network model. Switches in PowerFactory are classified into four different categories:
• Circuit Breakers; Typically these are automatic and controlled by relays and through re-
mote communications. They are used for clearing faults and for closing back-feeds for
power restoration.
All switches in PowerFactory are modelled using the StaSwitch or ElmCoup objects. The switch
category (CB, disconnector etc) is selected on the basic data page of the switch. The actions
that the FEA analysis takes depends on the configuration of these switches and, optionally, the
location of protection devices.
Configuration steps
1. Open the dialog for the switch and select the reliability page. This can be done directly by
editing switches modelled explicitly on the single line diagram, or for switches embedded
within a cubicle, by right-clicking the cubicle and selecting the option ’edit devices’, to
access the switch.
2. Select the ’Sectionalizing’ option. The following choices are available:
• Remote controlled (Stage 1); This option means that the actuation time of this switch
is taken from the global ’remote controlled’ switch actuation time. The default time
is 1 min but this can be adjusted within the reliability command, see Section 28.3.1:
How to run the Reliability Assessment.Typically remote controlled switches are circuit
breakers controlled by relays or with communications from a control room.
• Indicator of Short Circuit (Stage 2); This option represents a switch that has an ex-
ternal indication of status on the outside of the switch enclosure. This allows the
operator/technician to easily identify the switch status and actuate the switch.
29- 23
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
• Manual (Stage 3); These switches need direct visual inspection to determine their
status and therefore take longer to actuate than either stage 1 or stage 2 switches.
3. Select the ’Power Restoration’ option. The following choices are available:
• Do not use for power restoration; If this option is selected the switch can only be used
for isolation of equipment or load shedding. It will not be used by the FEA calculation
to restore power.
• From terminal i to j; If this option is selected, the switch will only be used to restore
power if the post restoration power flow is in the direction from terminal i to terminal
j. The switch will not be used for power restoration in the opposite direction.
• From terminal j to i; If this option is selected, the switch will only be used to restore
power if the post restoration power flow is in the direction from terminal j to terminal
i. The switch will not be used for power restoration in the opposite direction.
• Independent of direction; If this option is selected the switch will be used to restore
power flow regardless of the direction of the post restoration power flow.
4. Enter the time to actuate switch (Stage 2 and 3 switches only); This field specifies the
time taken by the operator to actuate the switch. Note, this excludes the local access and
access time if the switch is within a substation. The total actuation time of such a switch is
therefore the switch actuation time + the substation access time + the local access time.
Note: The Sectionalizing options are only considered when the ’Distribution’ reliability analysis
option is selected under ’Basic Options’. If the ’Transmission’ mode is selected, then all
switches are assumed to be remote controlled.
This section provides a general description of the load element parameters that are used by the
reliability calculation. The first sub-section describes how to input the number of customers that
each load represents and how to classify each load. The second sub-section describes how to
define load shedding and transfer parameters.
Many of the reliability indices such as SAIFI and CAIFI are evaluated based on the number
of customers interrupted. Therefore, for accurate calculation of these indices it is important to
specify the number of customers that each load represents. To do this:
4. Repeat this process for each load in the system you are modelling.
29- 24
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Load Classification
Every load can be optionally classified into agricultural, commercial, domestic or industrial load.
This option does not affect the calculation of the reliability indices and is provided for categori-
sation purposes only.
Load transfer and load shedding are used to alleviate violated voltage or thermal constraints
caused by the power restoration process. There is a distinction between load transfer for con-
straint alleviation, such as described in this section, and load transfer for power restoration.
Load transfer by isolating a fault and closing a back-stop switch is considered automatically
during the fault separation and power restoration phase of the failure effect analysis.
If a violated constraint is detected in the post-fault system condition, a search begins for the
loads contributing to these overloads. The overloads are then alleviated by either:
Note: There is a critical difference between the transmission reliability and distribution
reliability functions. In distribution reliability all constraint alleviation is completed using switch
actions, so loads can only be fully shed (switched out) or they remain in service. However, by
contrast, the transmission reliability option can shed or transfer a percentage of the load.
29- 25
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
When supply to a load is interrupted, there is a cost associated with the loss of supply. Power-
Factory supports the definition of cost curves for load elements using Energy Tariffs and Time
Tariffs. They can be defined using the ’Tariff’ characteristic on the reliability page of the load
element, as discussed in Chapter 16: Parameter Characteristics, Load States, and Tariffs, Sec-
tion 16.5 (Tariffs).
Projects imported from previous versions of PowerFactory may include Vector Characteristics
for the definition of cost curves, which are discussed in Chapter 16: Parameter Characteristics,
Load States, and Tariffs, Section 16.2.3 (Vector Characteristics with Time Scales).
If you have defined time-based characteristics for the feeder loads so that the demand changes
depending on the study case time, then you might want to also consider using these different
demand patterns in the reliability analysis. Because the reliability analysis always analyses
a discrete ’system state’, it is normally not practical to consider every possible demand level
because the number of discrete states in a practical system is usually very large. Instead, the
load demand for a one year period is can be discretized and converted into several so-called
’load states’, and a probability of occurrence for each state.
The Reliability Command does not automatically generate the load states. Therefore, if you wish
to consider multiple demand levels in your reliability analysis you must first get PowerFactory to
generate the load states. There are two methods available for producing load states. The first
is by specification of load characteristics for individual loads, and the second is by specification
of load distribution states for substations. The procedures for each method is described in
Chapter 16: Parameter Characteristics, Load States, and Tariffs; Sections 16.3 (Load States)
and 16.4 (Load Distribution States).
The second option is the more realistic option, because only locations within the network that
can automatically clear a fault will be used by the reliability calculation to clear the simulated
faults. However, you must create protection devices to control each automatic switch for this
option to work correctly.
The PowerFactory reliability calculation supports the definition and automatic inclusion of planned
network maintenance. Maintenance is implemented with a planned outage object. These ob-
jects are found within the ’Outages’ sub-folder within the project ’Operational Library’. The
following steps describe the procedure for creating a planned outage:
29- 26
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
1. On the single line diagram (or within the data manager), select the object (or objects) that
you would like to define an outage for.
2. Right-click the selected object/s and from the menu that appears choose the option Define
→ Planned Outage. The dialog box for the planned outage will appear.
3. Using the Start Time selection control ’...’, enter the time that the outage begins.
4. Using the End Time selection control ’...’, enter the time that the outage ends.
5. Optional: Adjust the Outage Type. Typically you would leave this on the default ’Outage of
Element’ option, but if you wanted to model a generator derating, then you would choose
the ’Generator Derating’ option.
Note: When the reliability calculation considers outages it creates a unique contingency case
for every contingency with the outage applied and also without the outage. For example, for a
network with two planned outages and six contingencies there will be a total of 6 · 3 = 18
contingency cases.
The reliability calculation can automatically consider voltage and thermal constraints for the
power restoration process. There are two options for specifying constraints applied to branch,
terminal, and feeder objects as follows:
Global Constraints; All network constraints are based on the constraints specified on the con-
straints tab of the Reliability Command Dialog.
Individual Constraints; If Individual Constraints are selected for branches, terminals, and / or
feeders, constraints should be defined by the user for each relevant object by taking the following
steps:
1. Open the reliability page of the target terminal, branch (line/transformer), or feeder.
2. Enter the Max and Min Voltage limits, max loading, or voltage drop/rise for the terminal,
branch, or feeder respectively.
3. Click OK to close the dialog and save the changes.
The procedure for using the PowerFactory Reliability Assessment tool and analyzing the results
generated by the tool is described in this section.
In PowerFactory the network Reliability Analysis is completed using the Reliability Assessment
command (ComRel3 ). This command is found on the ’Reliability Analysis’ toolbar. The
29- 27
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Optimal Power Restoration command (ComOptrest ) can be found on the ’Optimal Power
Restoration’ toolbar , see Figure 29.1.2.
Alternatively, the commands can be executed for a single element by right-clicking the element
and selecting Calculate → Reliability Assessment or → Optimal Power Restoration. The op-
tions for the reliability command that are presented within its dialog are described in the following
sub-sections.
The following options are available on the Basic Options page Reliability Assessment Command
dialog.
Method
Connectivity analysis: This option enables failure effect analysis without considering con-
straints. A load is assumed to be supplied if it is connected to a source of power before
a contingency, and assumed to undergo a loss of supply if the process of fault clearance
separates the load from all power sources. Because constraints are not considered, no
load-flow is required for this option and hence the analysis will be faster than when using
the alternative load-flow analysis option.
Load flow analysis: This option is the same as the connectivity analysis, except that con-
straints are considered by completing load-flows for each contingency. Loads might be
disconnected to alleviate voltage or thermal constraints. For the transmission analysis
option, Generator re-dispatch, load transfer and load shedding are used to alleviate over-
loads.
Complete year: The reliability calculation is performed for the current year specified in the
’Date/Time of the Calculation Case’. This can be accessed and the date and time changed
by clicking the button.
Single Point in Time: The Reliability Calculation is completed for the network in its current
state at the actual time specified by the ’Date/Time of the Calculation Case’.
Note: If load states or maintenance plans are not created and considered, then these options
make no difference because the reliability calculation is always completed at the single
specified time.
Load Flow This button is a link to the load-flow calculation command used for the analysis.
The load demand is calculated using this load-flow. In addition, its settings are used for the
constraint evaluation load-flows.
Network
Distribution: The reliability assessment will try to remove overloading at components and volt-
age violations (at terminals) by optimizing the switch positions in the radial system. If
29- 28
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
constraints occur in the power restoration process, loads will be shed by opening avail-
able switches. This option is the recommended analysis option for distribution and medium
voltage networks.
Note: The reliability command optimizes switch positions based on load shedding priorities,
and not network losses.
Transmission: Thermal overloads are removed by generator re-dispatch, load transfer and
load shedding. First generator re-dispatch and load transfer is attempted. If these cannot
be completed or do not remove the thermal overload, load shedding actions will occur.
Generator re-dispatch and load transfer do not affect the reliability indices. However, by
contrast, load shedding leads to unsupplied loads and therefore affects the reliability in-
dices.
The ’Selection’ list presents three possible options for the contingency definition. These are:
• Whole system: PowerFactory will automatically create a contingency event for every object
that has a Stochastic Model defined.
• Single Grid: Selecting this option shows a selection control. Now you can select a single
grid and only contingencies for objects in this grid will be created.
• User Defined: Selecting this option shows a selection control. Now you can select a set of
objects (SetSelect), and contingencies will be created for each of these objects that has a
Stochastic Model defined.
In addition to the above contingency definition options, the automatic contingency definition can
be further controlled with the following checkboxes:
• Busbars/Terminals; You must enable this flag for PowerFactory to create Busbar and ter-
minal contingencies.
• Lines/Cables; You must enable this flag for PowerFactory to create Line/Cable contingen-
cies.
• Transformers; You must enable this flag for PowerFactory to create transformer contingen-
cies.
• Common Mode; You must enable this flag for PowerFactory to create Common Mode
contingencies. See Common Mode Stochastic Model (StoCommon) for more information.
• Independent second failures; You must enable this flag for PowerFactory to consider n-
2 outages in addition to n-1 outages. Caution: n-2 outages for all combinations of n-
1 outages are considered. This means that for a system of n contingencies there are
(n · (n − 1))/2) + n, contingencies to consider. This equation is quadratic, and so to
minimise the required time for computation this option is disabled by default.
• Double-earth faults; You must enable this flag for PowerFactory to consider double-earth
faults. See Double Earth Faults for more information.
• Protection/switching failures; You must enable this flag for PowerFactory to consider pro-
tection devices or circuit breakers failure to operate. See Protection/Switch Failures for
more information.
29- 29
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
29.4.1.2 Outputs
The following options are available on the Outputs tab of the Reliability command.
Results
This option 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.
The Reliability Analysis automatically writes all simulation results to a result object specified
above. After completing the Reliability Calculation, PowerFactory automatically evaluates the
result object to compute the reliability indices. This button allows you to re-evaluate a results file
that has previously been created by this or another reliability calculation command. The benefit
of this is that you do not have to re-run the reliability calculation (which can be time consuming
compared to the results object evaluation) if you only want to recalculate the indices from an
already completed calculation.
Output
Displays the form used for the output report. Report settings can be inspected and the format
selected by clicking on the button.
Recording Limits These options define when PowerFactory will record bus voltages and line
loadings in the reliability assessment result object. For example, if the loading limit is specified
as 80%, then line loadings will only be recorded on lines where the calculated loading is greater
than 80%.
29.4.1.3 FEA
A failure effect analysis (FEA) is made for each system state that occurs during the state enu-
meration. The configuration options are explained below.
Use all circuit breakers: All switches in the system whose Usage is set to Circuit Breaker can
be used for fault clearance.
Use only circuit breakers with protection device: All circuit breakers in the system which
are controlled by a protection device (fuse or relay) can be used for fault clearance.
This option will only be enabled if Automatic Power Restoration is enabled on the Advanced
Options Tab.
Concurrent Switch Actions: It is assumed that the switching actions can be performed imme-
diately following the specified switching time. However, a switch can be closed for power
restoration only after the faulted element was disconnected. The analogy for this mode,
is if there were a large number of operators in the field that were able to communicate
29- 30
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
with each other to coordinate the switching actions as quickly as possible. Therefore, this
option gives an optimistic assessment of the ’smart power restoration’.
Sequential Switch Actions: It is assumed that all switching actions are performed sequen-
tially. The analogy for this mode, is if there is only a single operator in the field and they
are required to complete all switching. The fault separation and power restoration is there-
fore slower when using this mode compared with the ’concurrent’ mode.
Consider Sectionalizing (Distribution analysis only) If enabled, the FEA considers the switch
sectionalizing stage when attempting fault separation and power restoration. First section-
alizing is attempted using only stage 1 switches, if this is not successful then stage 1 and
2 switches are used. Finally, if this is not successful, then stage 1, 2 and 3 switches are
used.
29.4.1.4 Costs
If this option is selected, an Energy Tariff can be selected. Energy Tariffs are discussed in
Chapter 16: Parameter Characteristics, Load States, and Tariffs, Section 16.5.2(Defining En-
ergy Tariffs).
If this option is selected, a Global cost curve for all loads can be selected. Alternatively, ’In-
dividual cost curve per load’ may be selected, allowing the user to define tariffs for individual
loads. In both cases, a Time Tariff or Energy Tariff may be defined, as discussed in Chapter 16:
Parameter Characteristics, Load States, and Tariffs, Section 16.5 (Tariffs).
29.4.1.5 Constraints
The settings for global constraints are defined within this page. The options are as follows:
Global constraints for all components: Constraints specified in ’Max thermal loading of com-
ponents’ apply to all components in percent value.
Individual constraint per component: The maximum thermal loading limit is considered for
each component separately. This loading limit can be found on the Reliability tab of each
component.
If this option is enabled terminal voltage limits are considered by the FEA.
Global Constraint for all terminals: Constraints specified in Lower and Upper Limit of allowed
voltage in p.u. that will apply to all terminals.
29- 31
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Individual Constraint per terminal: Voltage constraints are considered for each terminal sep-
arately. These constraints can be found on the Reliability tab of each terminal.
If this option is enabled feeder voltage limits are considered by the FEA.
Global Constraint for all feeders: Constraints specified in Maximum Voltage Drop and Rise
in percent value that will apply to all feeders.
Individual Constraint per feeder: Voltage Drop/Rise constraints are considered for each feeder
separately. These constraints can be found on the Reliability tab of each feeder.
Constraints are ignored for all terminals and components below the entered voltage level.
Nominal voltage below or equal to: The voltage level in kV is specified here if ’Ignore all con-
straints for...’ is enabled.
Note: Voltage constraints are only available when the ’Distribution’ analysis option is selected
under Basic Options. Thermal constraints are available when either the ’Transmission’ or
’Distribution’ analysis option is selected.
29.4.1.6 Maintenance
This tab allows you to enable or disable the consideration of Maintenance based on the Planned
Outages you have defined. See Section 29.3.9, for more information on defining planned out-
ages. The following options are available on this page:
Consider Maintenance
If enabled, all maintenance that falls in the selected time period, whether its a year or a single
point in time, is considered.
Show used planned outages: When clicked, this button will show a list of all planned outages
that will be considered by the calculation.
Show all planned outages: When clicked, this button will show a list of all planned outages
created in the project, including those not considered by the analysis because they fall
outside of the selected time period.
If the Reliability Calculation option ’Complete Year’ is selected on the basic options page, then
the following options are available on the Load Data page.
29- 32
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
Enable the relevant flag to consider load states or load distribution states in the reliability calcu-
lation. The reliability calculation does not create load states automatically. If this flag is enabled
but the states have not been created, then an error will be printed to the output window and the
reliability calculation will stop. Otherwise the following two buttons are available.
Update/creation of States
Manually: If selected, a button Create load states will be available. When clicked, it launches
the ’Load state creation’ command after closing the reliability command (see Chapter 18
for more information on load state creation).
Automatically before running reliability calculation: When selected, a pointer to the load
state creation command is available.
This option performs an automatic correction/normalization of the reliability indices to allow for
the fact that not all unlikely but possible contingencies have been considered in the analysis.
For instance, n-3 contingencies have a non-zero probability.
Note: ’Forced outage’ refers to the unplanned removal of a primary component from the
system due to one or more failures in the system.
Do not save corresponding switch events: Results of internal nodes of substations will not
be written to the result file. This minimizes the amount of objects created in the database
while performing calculations with many contingencies caused by big networks (e.g if in-
dependent second failures or double earth faults are enabled).
Save corresponding switch events: Corresponding switch events will be saved in the database
while performing calculations.
If enabled, the existing contingencies inside the reliability command will be used in the analysis.
Note that the options for automatic contingency definition on the Basic Options tab disappears.
A user-defined Time delay in animation can be entered to delay the animation of power restora-
tions when the Jump to Last Step icon ( is pressed.
29- 33
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
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.
Consider branch if loadings exceeds: If there are overloaded elements in the system, these
overloadings should be removed through overload alleviation. Branches whose loading
exceeds this limit, are considered by the overload alleviation algorithm.
A reliability assessment will be started when the Execute button is pressed. The calculation
time required for a reliability assessment can range from a few seconds for a small network only
considering n-1 contingencies, to several hours for a large network considering n-2 contingen-
cies. A reliability assessment calculation can be interrupted by clicking on the Break icon ( )
on the main toolbar.
After the Reliability Analysis has completed, it is possible to view the fault clearance, fault sep-
aration, power restoration and load shedding actions completed by the algorithm for each con-
tingency. To do this:
1. Click the Fault Trace button on the Reliability toolbar. A list of available contingencies
will appear in a new window.
2. Select the contingency to consider and click OK. The network will be initialized to the state
before the inception of the fault.
3. Click the Next Step button to advance to the next system state. This will usually show
the system state immediately after the protection has operated and cleared the fault.
4. Click the Next Step button to advance through more steps, each click advances one
time step.
5. To stop the fault trace, click the Stop Trace button.
You can view the Reliability Assessment Load Point Indices in two ways: in the load result boxes
in single line graphic, or in the data browser (data manager or load filter). This sub-section
describes both of these methods.
Method 1 - View the Load Point Indices in the Single Line Diagram
After you have executed the Reliability Assessment Calculation, all loads within the Network
Single Line Graphic, will show the following load point indices:
29- 34
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
As usual, with PowerFactory result boxes, you can hover the mouse pointer over the result box
to show an enlarged popup of the results. This is demonstrated in Figure 29.4.1
Figure 29.4.1: Single Line Diagram Graphic Showing the Load Point Indices Results
Note: You can show any of the calculated load point indices in the load result boxes. To do this
modify the displayed variables as described in Chapter 17: Reporting and Visualizing Results,
Section 17.4.3(Examples of Variable Selection)
To view the load point indices in the Data Browser (as a selectable spreadsheet list), follow
these steps:
1. Select the load element icon from the Edit Relevant Objects for Selection button .A
list of all loads considered in the calculation will appear. Calculation
2. Choose the Flexible Data tab. Calculated Load Point Indices for each load will appear in
Green Font text. By default, not all available load point indices will be shown.
3. Optional: Click the Define Flexible Data button , to show all available variables.
4. Optional: Add more variables to the Selected Variables by double-clicking the variable in
the Available Variables window.
5. Optional: Click OK to view the result variables in the data browser.
The System Reliability Indices can be viewed for the whole system, individual grids, or for
individual feeders. Viewing these results is described in this sub-section.
29- 35
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
1. Select the Grids icon from the Edit Relevant Objects for Calculation button located
on the main toolbar. A list of all grids in the network model and a summary grid will appear.
5. Choose the variable set Calculation Parameter, from the list selection control in the ’Filter
for’ section. A list of available reliability indices will appear.
6. Select the indices that you wish to view, and double click them to move them to the Se-
lected Variables window.
7. Click OK to view the result variables in the data browser.
Note: Steps 3-7 are only required the first time you want to view the system reliability indices,
or if you want
to change the displayed variables. PowerFactory ’remembers’ these settings within each project.
1. Select the Feeder icon from the Edit Relevant Objects for Calculation button located
on the main toolbar. A dialog box with a list of all feeders in the network model will appear.
Note: Steps 3-7 are only required the first time you want to view the Feeder reliability indices,
or if you want
to change the displayed variables. PowerFactory ’remembers’ these settings within each project.
29- 36
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
PowerFactory has three built-in ASCII Reliability Reports that you can use to show detailed print
outs of the Reliability Calculation results. To do this, follow these steps:
1. Click the Output Calculation Analysis icon on the main toolbar. A dialog box showing
the available reports will appear.
2. Choose the report that you want to view.
3. Click Execute. The selected ASCII report will be printed to the PowerFactory Output Win-
dow.
Note: ASCII reports can be copied into a word processing tool directly from the Output
Window. However, for a more professional look, try printing the report directly to PDF format
from the Output Window.
There are several colouring modes that can aid you when using the reliability assessment func-
tions. These are:
• Colouring according to Feeders; Use this to identify each Feeder and to see which feeder
picks up load when back-feed switches are closed.
• Colouring according to Connected Grid Components; Use this to identify de-energized
sections of the network during the fault isolation, separation and power restoration.
• Switches, type of usage. Use this mode to check the type of switches in the system when
they are not modelled explicitly in the single line diagram.
1. Click the Diagram Colouring button . The Diagram colouring dialog will appear.
2. Select the tab for the function you want to show the colouring mode for. For example, if
you want the feeder colouring to appear before a calculation, then select the Basic Data
tab. If you want the colouring to appear after a load-flow choose the load-flow tab.
3. Check the 3. Other box and select Topology from the drop down list.
4. Select Feeders in the second drop down box.
5. Optional: To change the feeder colour settings click the colour settings button. You can
double click the displayed colours in the colour column and select a different colour for
each feeder as desired.
6. Click OK to close the Diagram Colouring dialog and save your changes.
29- 37
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
The Connected Grid Components colouring mode displays all the network components that are
electrically connected together in the same colour. Other components are not coloured. To
enable this mode:
1. Click the Diagram Colouring button . The diagram colouring dialog will appear.
The Switches: type of usage colouring mode displays all switches in the network with a differ-
ent colour depending on their switch type. For instance circuit breakers will be displayed in a
different colour to disconnectors. To enable this mode:
1. Click the Diagram Colouring button . The diagram colouring dialog will appear.
2. Select the tab for the function you want to show the colouring mode for. For example, if
you want the switch type colouring to appear before a calculation, then select the Basic
Data tab. If you want the colouring to appear after a load-flow choose the load-flow tab.
3. Check the 3. Other box and select Secondary Equipment from the drop down list.
6. Click OK to close the Diagram Colouring dialog and save your changes.
1. Execute a Reliability Assessment Calculation (or ensure that you activate a study case
where a reliability analysis has previously been completed).
2. Click the Edit Relevant Objects for Calculation button from the main toolbar. Depending
on whether you want to view the contributions by Feeder, Grids, Areas or Zone, choose
one of the following icons from the list of icons that appears:
29- 38
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
5. Choose Execute DPL scripts. A window displaying a list of DPL scripts will appear.
6. Select the Contribution to Reliability Indices Script and click OK. The script dialog box will
appear. The available options are explained in the next section.
1. Enter ’1’ in the value column for ’calcSystemIndices’ parameter to make the script print
the system indices results. ’0’ suppresses the printing of the system indices.
2. Enter ’1’ in the value column for ’calcEnergyIndices’ parameter to make the script print the
Energy indices results. ’0’ suppresses the printing of the Energy indices.
3. Enter ’1’ in the value column for ’outputComponentClasses’ to make the script display con-
tributions from each class such as lines, cable, transformers. ’0’ suppresses the printing
of the class information.
4. Enter ’1’ in the value column for ’outputIndivComponents’ parameter to make the script
print the results indices for each object in the selected area. ’0’ suppresses the printing of
the individual indices.
5. Optional: Enter ’1’ in the ’outputPercentages’ column to display the results from the script
in percent format.
6. Optional: Enter a percent threshold in the ’outputThreshold’ column to limit the printed
results to those above a specific threshold.
7. Click Execute to run the script. The results are printed to the PowerFactory output window.
29- 39
DIgSILENT PowerFactory CHAPTER 29. RELIABILITY ASSESSMENT
29- 40
Chapter 30
30.1 Introduction
The ability of the power system to be able to supply system load under all possible load condi-
tions is known as System Adequacy. Specifically this relates to the ability of the generation to
meet the system demand while also considering typical system constraints such as:
The PowerFactory Generation Adequacy Tool is designed specifically for testing of System Ad-
equacy. Using this tool, it is possible to determine the contribution of wind generation to overall
system capacity and to determine the probability of Loss of Load (LOLP) and the Expected
Demand Not Supplied (EDNS).
Note: PowerFactory V14.1, the Generation Adequacy Assessment is completed using the
Monte Carlo Method (probabilistic)
The analytical assessment of Generation Adequacy requires that each generator in the system
is assigned a number of probabilistic states which determine the likelihood of a generator oper-
ating at various output levels. Likewise, each of the system loads can be assigned a time based
characteristic that determines the actual system load level for any point of time. A simplified
general illustration of the Generation Adequacy assessment is shown in Figure 30.2.1.
1
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
states increases, the degrees of freedom for the analysis rapidly expands so that it becomes
impossible to solve in a reasonable amount of time. Such a problem is ideally suited to Monte
Carlo simulation.
In the Monte Carlo method, a sampling simulation is performed. Using uniform random number
sequences, a random system state is generated. This system state consists of random gen-
erating operating states and of random time points. The generating operating states will have
a corresponding generation power output, whereas the time points will have a corresponding
power demand. The value of Demand Not Supplied (DNS) is then calculated for such state.
This process is done for a specific number of draws (iterations). At the end of the simulation,
the values of the Loss of Load Probability (LOLP), Loss of Load Expectancy (LOLE), Expected
Demand Not Supplied (EDNS), and Loss of Energy Expectancy (LOEE) indices are calculated
as average values from all the iterations performed.
A Monte Carlo simulation relies on the generation of random numbers of ’high’ quality. As all
computers run deterministic code to generate random numbers, a software random number
generator is known as a pseudo random number generator (PRNG). There are various PRNGs
available, some of which do not display appropriate statistical qualities for use in Monte Carlo
simulations, where very long sequences of independent random numbers are required. Pow-
30- 2
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
erFactory uses an implementation of the ’RANROT’ PRNG. This generator displays excellent
statistical qualities suitable for Monte Carlo simulations and is also relatively fast.
Example
To illustrate the process of a Monte Carlo simulation, an example is now presented using Figure
30.2.1 as the example network.
For each iteration, the operating state for each generator is randomly selected by generating
a uniform random number. For each of these states, the corresponding power output of the
generator is calculated. The total generation power of the system is calculated by summing all
the generator outputs.
For the same iteration, a time point in the system is randomly selected. For this time point,
the power demand of each load is obtained. The total demand of the system is calculated by
summing all the load demands. It is then possible to obtain the ’Demand Not Supplied’ (DNS)
value for this iteration, where DNS is defined as shown in Equation ( 40.1).
X X
DN S = Demand − Generation (30.1)
For example, in the first iteration, the generator states might be G1: 100%, G2: 100%, and G3:
75%. The corresponding outputs would be then G1: 100 MW, G2: 60 MW, and G3: 60 MW. The
total generation output is the sum of all the three generator outputs; 220 MW. Also, a random
time point yields Load A: 85 MW, Load B: 60 MW and Load C: 30 MW. The total system demand
is the sum of all the load demands; 175 MW. Since the generation is greater than the demand,
all the demand is supplied and the value of DNS is zero.
In a second iteration, the generator states might be G1: 0%, G2: 75%, and G3: 75%. The
corresponding outputs would be then G1: 0 MW, G2: 45 MW, and G3: 60 MW. The total
generation output is now 105 MW. A second random time point yields say Load A: 60 MW,
Load B: 50 MW, and Load C: 20 MW. The total system demand is now 130 MW. In this case,
the generation is smaller than the demand, so there is demand that cannot be supplied. The
demand not supplied is defined as the difference between demand and generation - 25 MW in
this iteration.
Continuing the analysis for a few subsequent iterations yields the results shown in Table 32.4.1:
Once the analysis has continued in this way (usually for several tens of thousands of iterations)
various indices of system adequacy can be calculated. The indices Loss of Load Probabil-
30- 3
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
ity (LOLP) and Expected Demand Not Supplied (EDNS) are the critical measures. They are
calculated as follows:
NDN S
LOLP = · 100% (30.2)
N
P
DN S
EDN S = (30.3)
N
where NDN S is the number of iterations where DN S > 0 and N is the total number of iterations.
Therefore, for the above example the indices are calculated as follows:
2
LOLP = · 100 = 33, 33% (30.4)
6
30
EDN S = = 5M W (30.5)
6
There are several database objects in PowerFactory specifically related to the ’Generation Ade-
quacy’ Analysis, such as:
This object is used for defining the availability states of a generator, an example of which is
shown in Figure 30.3.1. An unlimited number of states is possible with each state divided into:
This means that for each state, the total available generation capacity in % of maximum output
must be specified along with the probability that this availability occurs. Note that probability
column is automatically constrained, so that the sum of the probability of all states must equal
100 %.
30- 4
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
The Stochastic model for generation object should reside within the project library, Equipment
Type Library.
Note that the generator maximum output is calculated as Snom · cos θ where Snom is the nominal
apparent power and cos θ is the nominal power factor.
This object is used to specify the wind speed (in m/s) vs nominal power output (p.u or MW) for
wind turbine generators. The dialog for the curve is shown in Figure 30.3.2.
For wind-speed values between specified curve values, PowerFactory interpolates using the
method specified in the Approximation drop down menu. Interpolation options include:
30- 5
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
• constant
• linear
• polynomial
• spline and
• hermite.
To change the Power unit, go to the configuration tab and choose either p.u or MW by selecting
the appropriate radio button.
It is often the case that groups of wind generators have a wind speed characteristic that is
correlated. PowerFactory can represent such a correlation through the Meteo Station Object.
This object is a grouping element and is located within the project Network Data as shown in
Figure 30.3.3.
Figure 30.3.3: Project Data Structure showing the location of the ’Meteo Station’ Object
Note that when two wind generators are correlated as members of the same Meteo Station, they
may still have different average wind speeds defined within their Generation Adequacy dialog.
During the Monte Carlo Analysis, a random wind speed is drawn for each Meteo Station. This
wind speed is then applied to every wind generator in that Meteo Station using the Weibull
Stochastic Model. Thus, the power is calculated according to the individual power curve of the
generator.
When the generator is using time characteristics as a wind model, then the correlation is given
by the Monte Carlo drawn time, which is the same for all the generators of the system.
Meteorological stations can be defined either via the element that is to be part of the meteoro-
logical station (from any of the generator elements described in Section 30.4), or via the single
line diagram by right-clicking on an appropriate element and selecting Define → Meteo Station
(or Add to → Meteo Station) from the context-sensitive menu. Note that the ability to define
a Meteo Station is dependent upon whether at least one of the ’member’ generators has the
options Generator and Wind Generator selected on its Basic Data page. If these options are
not selected, the context menu entry is not visible.
30- 6
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Note: A graphical coloring mode exists for Meteorological Stations, so that they can be
visualized in the single line graphic.
For the Generation Adequacy Analysis, there is a distinction between Dispatchable (Conven-
tional) Generation and Non-dispatchable Generation. Dispatchable generation refers to gener-
ation that can be controlled at a fixed output automatically, typically by varying the rate of fuel
consumption. This includes generation technologies such as gas thermal, coal thermal, nuclear
thermal and hydro.
• Static generator (ElmGenstat) set as Fuel Cell, HVDC Terminal, Reactive Power Com-
pensation, Storage, or other Static Generator ;
• Asynchronous machine (ElmAsm); and
• Doubly-fed asynchronous machine (ElmAsmsc)
In all cases, the stochastic model object is assigned on the elements Generation Adequacy
page, under Stochastic Multi-State Model. This is illustrated in Figure 30.4.1.
Figure 30.4.1: Generation Adequacy tab with a Stochastic Model for generation selected
30- 7
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Also, to consider the generation as dispatchable, the Wind Generation option in the Basic Data
tab page of the synchronous, asynchronous, and doubly fed machine should be disabled.
As for the dispatchable generation, the following 3-phase models are capable of utilising the
stochastic model for generation object, provided they are defined as generators and not as
motors:
In all cases, the stochastic model object is assigned on the elements Generation Adequacy tab
page, under Stochastic Multi-State Model, as illustrated in Figure 30.4.1.
In addition to the stochastic multi-state model for generation described above, a stochastic wind
model may be defined on the elements Generation Adequacy page (provided that the type of
generation is a wind generator). To enable this, navigate to the Generation Adequacy tab and
check the option Wind Model. The page will appear as shown in Figure 30.4.2.
30- 8
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
When the Stochastic Wind Model is selected, the wind generation characteristic is described
using the Weibull Distribution. The mean wind speed, and shape factor (Beta) of the distribution
can be adjusted to achieve the desired wind characteristic for each wind generator.
In addition to describing the Weibull distribution using Mean Wind Speed and Beta, the following
alternate methods of data input can be used:
The input method can be changed by using the input selection arrow and choosing the
desired method from the input window that appears.
If detailed data of wind generation output over time or wind speed over time is available, then
this can be used instead of a Stochastic Model. The data can be read by PowerFactory as
either a ChaVec characteristic or from an external file using the ChaVecFile characteristic. In
30- 9
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
both cases the information required is one year of data in hourly intervals - although non integer
values can also be specified in the referenced data.
If the option Time Series Characteristics of Wind Speed is selected, then the actual wind gen-
erator power output for each iteration is calculated automatically from the Wind Power Curve. If
the option, Time Series Characteristic of Active Power Contribution is selected then no power
curve is required.
Data for multiple years can also be used by referencing an additional characteristic for each
year. The Generation Adequacy algorithm then selects a random wind speed or power value
from one of the input data years - essentially there is more data for the random Monte Carlo
iteration to select from.
A screenshot showing a wind generator model with three years of data is shown in Figure
30.4.3.
30- 10
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Their output is added to the aggregated non-dispatchable generation as described later in this
chapter.
The Generation Adequacy analysis automatically considers parallel machines defined in the
basic data of the generator object using the variable (ngnum), as shown in Figure 30.4.4. Each
of the parallel machines is treated independently. For example, a random operational state is
generated for each of the parallel machines. Effectively this is the same as if n machines were
modelled separately.
Figure 30.4.4: Synchronous machine element with the parameter ngnum (number of parallel
machines highlighted).
30- 11
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Unless a time characteristic is assigned to either the Active Power (plini) or Scale factor (scale0)
variables (highlighted in Figure 30.4.5) of the load element, then the load is treated as fixed
demand. This means that the demand value does not change during the entire analysis. Both
General Loads (ElmLod) and LV Loads (ElmLodlv ) are considered for the analysis.
Figure 30.4.5: ElmLod object dialog showing the variables that can have applied time Charac-
teristics effecting the Generation Adequacy analysis.
More information about assigning time based characteristics to object variables can be found in
Chapter 16: Parameter Characteristics, Load States, and Tariffs.
30- 12
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Before a Generation Adequacy Analysis can be completed, the simulation must be initialised.
The Initialisation dialog box with the Basic Options tab selected is shown in Figure 30.4.8. The
available options are explained in this section.
30- 13
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Network
• System Losses; Here a fixed percentage of losses can be entered. This value is sub-
tracted from the total generation at each iteration.
30- 14
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
• Load Flow Command; This is a reference to the load-flow command that will be used to
obtain the network topology for the analysis. It must be set to AC load-flow balanced, posi-
tive sequence or DC load-flow. A converging load-flow is a requirement for the Generation
Adequacy analysis.
Demand Consideration
• Fixed Demand Level; If this option is selected, all load time characteristics are ignored and
the total demand is calculated at the initial iteration and used for all subsequent iterations.
• Consider Time Characteristics; If this option is selected, any time characteristics assigned
to loads will be automatically considered in the calculation. Therefore, the total demand
can vary at each iteration.
If this option is enabled then any maintenance plans (out of service or derating) in the project
will be automatically considered. Consequently, when an iteration draws a time that falls within
a planned outage or derating, the outage (or derating) is applied to the target element resulting
in a reduction in available generation capacity.
To define a maintenance plan, right-click the target object from the single line graphic or from
the data manager and select the option Define... → Planned Outage For more information on
Planned Outages refer to Chapter 12: Project Library, Section 12.3.5 (Planned Outages).
• Year of Study; The period considered for the Generation Adequacy analysis is always one
year. However, it is possible for load characteristics to contain information for many years.
Therefore, the year considered by the calculation must be selected. Note that this variable
does not influence the wind speed or wind power data if the wind model for the generator
references time series data as described in Section 30.4.3 (Time Series Characteristic for
Wind Generation). If more than one years data is available, this simply increases the pool
of available data for the analysis.
• Months, Days; These checkboxes allow the user to select the time period that will be
considered for the analysis. For instance, if only January is selected then the iteration
time will be constrained to within this month.
Time Intervals
The user can specify up to three time intervals for the time window in which the analysis will be
completed. The time interval starts at the From hour (0 minutes, 0 seconds), and ends at the
To hour (0 minutes, 0 seconds) inclusive.
Output options
The output window of the Generation Adequacy Initialisation Command is shown in Figure
30.4.9.
30- 15
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
• Create Plots; If this option is checked, then PowerFactory will automatically create output
plots after the simulation finishes. See Section 30.5 for details of the plots that are auto-
matically created. Note this will generate a new set of plots for each run of the analysis.
So, if you wish for an existing set of plots to be updated, then leave this option unchecked.
• Draws; If this option is checked, then the user can specify a location for the results of
30- 16
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
the simulation to be permanently stored within the database. This is the result of each
iteration. If this option is unchecked, then the results are deleted after each simulation
run.
• Distribution; Here the user can select the storage location for the distribution probabilities
for the entire analysis. This information is always retained in the database.
Advanced Options
The Advanced Options screen is shown in Figure 30.4.10. Here the user can change the op-
tion for the generation of random numbers from auto to renew. If the renew option is selected,
then the simulation can use one of a number of pre-defined random seeds (A-K). As the soft-
ware ’pseudo-random’ number generator is deterministic, this allows for the exact sequence of
random numbers to be repeated.
The Run Generation Adequacy Analysis Command appears in two styles depending on the
status of the calculation. If the calculation is being run for the first time, then it appears as
shown in Figure 30.4.11. On the other hand, if some iterations are already complete, then the
calculation can be continued and the dialog appears as shown in Figure 30.4.12.
30- 17
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Pressing Execute will run the Generation Adequacy Analysis. The button can be used to
interrupt the analysis before the set number of iterations is complete, if desired. Later, the
simulation can be resumed from the stop point using the Run Generation Adequacy Analysis
Command.
This specifies the number of iterations to be completed by the Monte Carlo Analysis. The default
setting is 100,000.
Additional Iterations
After one analysis is completed, the Generation Adequacy Analysis can be extended for a num-
ber of Additional Iterations. Especially in very large systems, it may be useful to run the first
30- 18
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
simulation with a smaller number of initial iterations, say 20,000 and then run additional itera-
tions as necessary using this option.
Generation Adequacy
This reference provides a link to the Generation Adequacy Initialisation Command, so that the
calculation settings can be easily inspected.
Result plots for the Generation Adequacy Analysis are automatically generated if the Create
Plots option is enabled in Initialisation Command output options. Alternatively, the plots can be
manually created using the toolbar plot icons
This button ( ) draws by default four figures as shown in Figure 30.5.1. Each of the data points
on the plots represents a single Monte Carlo simulation.
30- 19
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
This button ( ) draws a distribution plot which is essentially the data from ’Draws’ plots sorted
in descending order. The data then becomes a cumulative probability distribution. An example
is shown in Figure 30.5.1.
30- 20
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
The LOLP index can be obtained by inspection directly from the Distribution Plots if the demand
is constant. The LOLP can be read directly from the intersection of the Total Generation curve
and the Total Demand curve as demonstrated in Figure 30.5.3.
When the demand is variable, then the LOLP index cannot be inferred from the above diagram.
Figure 30.5.4 shows such a case. There is no intersection point even though the calculated
LOLP index in this case is 20 %. In such cases, the LOLP index must be inferred from the
distribution plot of the Total Reserve Generation. As shown in Figure 30.5.5, the intersection of
this curve with the x-axis gives the LOLP index.
Figure 30.5.3: Inferring the LOLP index directly from the intersection of the Total Generation
and Total Demand
Figure 30.5.4: Variable Demand - distribution of Total Generation and Total Demand
30- 21
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
This button ( ) creates the so-called convergence plots for the LOLP and EDNS. As the num-
ber of iterations becomes large the LOLP index will converge towards its final value, likewise for
the EDNS. The convergence plots are a way of visualising this process. An example conver-
gence plot is shown in Figure 30.5.6
30- 22
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
Note: By default, the convergence plot is zoomed to the plot extents and due to the number of
iterations it may be difficult to observe the upper and lower confidence limits. It is suggested
that the ’Zoom Y-axis’ and ’Zoom X-axis’ buttons are used to observe the confidence limits
in greater detail.
On both plots, the upper and lower confidence intervals are also drawn. The sample variance
is calculated as follows:
n
1 X
σ2 = · (yi − ȳ)2 (30.6)
n − 1 i=1
where n is the number of samples,yi is the sample and ȳ is the sample mean. The 90 %
confidence interval is calculated according to the following formula:
σ
CL = ȳ ± √ · z (30.7)
n
where z is the standard inverse probability for the Students t distribution with a confidence
interval of 90 %. Note z tends to 1.645 (inverse normal) as the number of iterations becomes
large.
30- 23
DIgSILENT PowerFactory CHAPTER 30. GENERATION ADEQUACY ANALYSIS
30- 24
Chapter 31
31.1 Introduction
The Optimal Power Flow (OPF) module in PowerFactory optimizes a certain objective function 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 interior point and linear
optimization methods. In the case of linear optimization, contingency constraints can also be
enforced within OPF.
• By going to the main menu and selecting Calculation → Optimal Power Flow...; or
In both cases, the calculation is started by pressing the Execute button in the OPF command
dialogue.
If the AC Optimization method is selected, the OPF performs a non-linear optimization based
on a state-of-the-art interior point algorithm. The following sections explain the selection of ob-
jective function to be optimized, the selection of control variables, and the definition of inequality
constraints. The OPF command in PowerFactory is accessible by going to the main menu and
selecting Calculation → Optimal Power Flow..., or via the OPF icon on the main toolbar.
The Basic Options tab of the OPF dialogue (AC optimization method) is shown in Figure 31.2.1.
1
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Figure 31.2.1: Basic Options Tab of OPF Dialogue (AC Optimization Method)
Method
To perform an AC optimization OPF study, the Method must be set to AC Optimization (Interior
Point Method) as shown in Figure 31.2.1.
Objective Function
The OPF command dialogue, configured for AC optimization, has a selection of three distinct
objective functions, as shown in Figure 31.2.2. These are:
• Minimization of Losses
• Minimization of Costs
• Minimization of Load Shedding
31- 2
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Figure 31.2.2: Objective Function Selection for OPF (AC Optimization Method)
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 losses.
Minimization of Costs
When this objective function is selected, the goal of the optimization is to supply the system un-
der optimal operating costs. More specifically, the aim is to minimize the cost of power dispatch
based on non-linear operating 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.
31- 3
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
of the unit with the aid of the Operating Costs table (which relates active power produced
(in MW) to the corresponding cost (in $/h)). This data is then represented graphically
beneath the Operating Costs table, for verification purposes (see Figure 31.2.3). The
number of rows that can be entered in to the table is unlimited. To add or delete table
rows, right-click on a row number in the table and select the appropriate command (i.e.
Copy, Paste, Select All; Insert Rows, Append Rows, Append n Rows, Delete Rows, etc.).
If there are more than two rows, spline interpolation is used.
Tariff Systems for External Grids An external grid contributes to the overall cost func-
tion by a predefined tariff system. On the Optimization tab of each external grid (ElmXnet)
elements dialogue (see Figure 31.2.4), the tariffs can be edited via the Incremental Costs
table. This table relates the cost (in $/MWh) over a certain range of active power ex-
change. The input data is represented graphically beneath the Incremental Costs table.
In addition, the user can enter a monthly no load cost (in $/month), which can be inter-
preted as a vertical shift of the cost function (see Figure 31.2.4).
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 interpo-
lation of predefined cost points, whereas the cost curve of an external grid is a piecewise linear
function with predefined slopes in each interval.
31- 4
DIgSILENT PowerFactory CHAPTER 31. 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 of Cost Function factor
(also shown in Figure 31.2.4). 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.
The goal of this objective function is to minimize the overall cost of load shedding, such that all
constraints can be fulfilled. A typical application for this objective function is Infeasibility Han-
dling. For the abovementioned objective functions, it may occur that the constraints imposed on
the network are such that no feasible solution exists. This is evidenced by a lack of convergence
of the optimization. In such cases, it is highly likely that not all loads can be supplied due to con-
straint restrictions. Hence it is recommended in these situations to firstly perform a Minimization
of Load Shedding.
In this (and only this) optimization scenario, all load elements which have the option Allow load
shedding enabled will act as controls. This option is enabled in the load (ElmLod) elements
dialogue on the Optimization tab in the Controls section. All loads without this option enabled
will behave as they would in a conventional load flow calculation. In order to minimize the overall
load shedding, for each individual load, the user must specify the cost of shedding (in $ per shed
MVA).
For each load that participates as a control in the optimization, the scaling factor will be opti-
mized. The optimization is such that the overall cost of load shedding is minimized. Additionally,
31- 5
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
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 31.2.5.
Figure 31.2.5: 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 dialogue
(see Figure 31.2.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:
31- 6
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
It should be noted that the load scaling factors will only be taken into account for the Minimization
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 optimization.
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 elements dialogue and if, in addition, the corre-
sponding global parameter is set on the Basic Options tab of the OPF command dialogue (see
Figure 31.2.6).
For example, if the control parameter Tap Position HV-Side of a 3-winding transformer is enabled
(as shown in Figure 31.2.9), it will only be included in the OPF as a control parameter if the
corresponding option Transformer Tap Positions is enabled in the OPF command dialogue (as
shown in Figure 31.2.6).
If enabled, the abovementioned control parameters serve as variable setpoints during the OPF.
However, if a parameter is not enabled as a control parameter, the OPF will treat this parameter
according to the load flow settings.
31- 7
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
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 po-
sition 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.
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 Controls flag on the optimization page of the elements dialogue.
Synchronous Machines
A synchronous machine may contribute two possible setpoints, namely active and reactive
power control (see Figure 31.2.7).
Figure 31.2.7: Active and Reactive Power Controls of a Synchronous Machine (ElmSym)
If a transformer has the Tap Position option selected, the user can further select the associ-
ated Control Mode to be used. This determines whether the tap position will be treated as a
continuous or a discrete control parameter in OPF. Note that a 3-winding transformer has up
to three tap changers which may individually be used as either continuous or discrete control
parameters in OPF.
Figure 31.2.8 shows the Controls section of the dialogue for a 2-winding transformer and Fig-
ure 31.2.9 shows the Controls section of the dialogue for a 3-winding transformer. It should be
noted that the Optimize section with the selection of Pre- and post-fault position or Only pre-fault
position are only considered by the DC OPF.
31- 8
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Figure 31.2.8: Tap Position Control (and Loading Constraint) for a 2-Winding Transformer
31- 9
DIgSILENT PowerFactory CHAPTER 31. 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 31.2.10).
31- 10
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
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 31.2.11 shows the Constraints available for the AC optimization formulation of OPF in
PowerFactory.
The optimization uses further constraints that are automatically imposed as soon as the corre-
sponding parameter is used as a control. Examples of such constraints are tap position limits
and the number of steps for switchable shunts.
31- 11
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Branch flow limits formulate an upper bound on the loading of any branch (ElmLne, ElmTr2,
ElmTr3, etc). The user has to specify a maximum value for the loading on the elements Opti-
mization page (see Figure 31.2.12). If specified as shown in Figure 31.2.12, this constraint is
only taken into consideration if the corresponding flag (Branch Flow Limits (max. loading)) in
the OPF dialogue is also ticked. Loading limits are supported for lines and 2- and 3-winding
transformers.
Figure 31.2.12: Max. Loading Constraint of a Line Element (similar for 2- and 3-Winding Trans-
formers)
31- 12
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
For each synchronous machine (ElmSym) and external grid (ElmXnet), the user may impose up
to four inequality constraints: namely a minimum and maximum value for active power genera-
tion; and a minimum and maximum value for reactive power generation (see Figure 31.2.13).
Active power limits are specified as MW values; reactive power limits may be specified as ei-
ther absolute values or as per unit values (i.e. referred to the types nominal apparent power).
Alternatively, it is possible to directly use the reactive power limits specified in the synchronous
machines type (TypSym). Again, the user is free to select any number and combination of the
available constraints.
Figure 31.2.13: Active and Reactive Power Constraints of a Synchronous Machine (ElmSym)
The maximum and minimum allowable voltages for each terminal or busbar element (ElmTerm)
can be specified in the corresponding elements dialogue (see Figure 31.2.14). Therefore, each
terminal or busbar may contribute at most two inequality constraints to the OPF. Maximum and
minimum voltage limits may be imposed individually; i.e. it is possible to specify an upper limit
without specifying a lower limit.
31- 13
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Mathematical Background
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:
31- 14
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
g(~x) = 0 h(~x) + ~s = 0 ~s ≥ 0
where µ is the penalty weighting factor. In order to change the contribution of the penalty
function:
P
fpen = i log(si )
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 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). However, a smaller minimum penalty weighting factor
will result in a higher number of iterations required.
Results
The presentation of OPF results is integrated into the user interface, in that the OPF solution
is available via the complete set of variables available for conventional load flow calculations.
These can be viewed in the single line diagram 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 31.2.16. The Variable Set must be set to ’Calculation Parameter’ as indicated
below, and the actual variable names are given in parentheses.
Synchronous machines:
Grids:
31- 15
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
• Total Production Cost, including costs through external grids (’Calculation Parameter’
c:cst disp; see this parameter highlighted in Figure 31.2.17). 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)
In addition to these results, the complete set of variables from conventional load flow calcu-
lations is available. For further information on defining Flexible Data in PowerFactory , please
refer to Chapter 10: Data Manager, Section 10.6.
A text report is also available and can be generated by clicking on the Output Calculation Analy-
sis icon on the main toolbar. This offers various templates for detailed result documentation.
31.2.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 31.2.18 allows the user to select the
initialization method.
31- 16
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Load Flow Displays the load flow command which is used for initialization in the case
that no flat start initialization is used.
Initialize by Flat-Start The user may choose whether the initialization is performed by a
load flow calculation or by a flat start. If it is known in advance that the final solution of the
optimization is close to a valid load flow solution, initialization using a load flow calculation
results in faster convergence.
No Flat Initialization (Use Load Flow Result) If this option is selected, the OPF checks
whether an OPF-initializing load flow result has been calculated prior to the OPF. Here,
OPF-initializing means that the flag Use this load flow for initialization of OPF was enabled
in the load flow command dialogue before execution. This flag can be found on the
second page of the Advanced Options tab in the load flow command 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 recalculate a
new load flow.
The penalty weighting factor determines the amount by which the penalty is applied. For ex-
ample, the smaller the specified penalty weighting factor, the less the penalty will be applied for
solutions which are close to constraint limits.
Reduction Factor A factor by which the current penalty weighting factor will be divided
by between the iterations.
Figure 31.2.19: Penalty Weighting Factor Settings for OPF (AC Optimization Method)
PowerFactory offers the user flexibility in configuring of the number of iterations and the conver-
gence criteria for OPF. The available options on the Iteration Control tab of the OPF dialogue
are shown in Figure 31.2.20.
31- 17
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Figure 31.2.20: Iteration Control Settings for OPF (AC Optimization Method)
The implementation of the Lagrange-Newton method means that the OPF will internally mini-
mize the resulting Lagrange function:
X
L(~x, ~s, ~λ) = f (~x) − µ · log(si ) + ~λT · [g(~x) + h(~x) + s] (31.1)
i
The following parameters can be used to alter the stopping criteria for this iterative process. The
algorithm stops successfully if the following three criteria are fulfilled:
The following parameters are used to configure these stopping criteria. The alteration of the
default values for these parameters is recommended only for advanced users.
31- 18
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Interior-Point Algorithm (Inner Loop) Maximum number of iterations for the interior-
point algorithm.
Control Loop (Outer Loop) Maximum number of iterations of the outer loop.
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. 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 value of the function itself is required to converge to a
stationary point, or the gradient of the Lagrangian is required 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.
For reasons of mathematical exactness, it is strongly recommended to select the latter option,
gradient of objective function converges to zero. If the underlying Jacobian matrix is numerically
instable, this often results in oscillatory behaviour in the last iterations. Therefore, the latter
method provides assurance that the result is in fact a minimum.
31.2.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 such that the imposed constraints and the participating 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 31.2.21 and are described below.
31- 19
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
If this flag is checked on the Output page of the OPF dialogue, the user will get a detailed report
on the convergence of the non-linear optimization. For each step of the iteration, the following
figures are displayed in the output window (actual variable names are shown parenthesized in
italics):
• The current error of the constraint nodal equations (in VA) (Err.Nodes);
• The current error of the constraint model equations (Err.ModelEqu);
If this flag is checked, the algorithm outputs per iteration, the components which have the largest
error in the equality constraints (i.e. mismatch in the load flow equations). An outer loop is
wrapped around the central non-linear optimization algorithm. This outer loop is required to
perform rounding and optimization of the evaluated tap and shunt positions to discrete values (if
31- 20
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
desired by the user). The maximum number of outer loops is defined on the Iteration Control tab
of the dialogue. However, if no convergence is reached with the defined number of outer loops,
the user will be informed via a message in the output window that further outer loop iterations
are required.
The following describes the configuration of the DC optimization formulation of OPF in Power-
Factory.
Internally, from the settings provided, a linear programming (LP) formulation of the problem
is derived. The load flow is calculated using the linear DC load flow method. For general
information regarding DC load flow, refer to Chapter 21(Load Flow Analysis). PowerFactory
uses a standard LP-solver (based on the simplex method and a branch-and-bound algorithm)
which ascertains whether the solution is feasible. The result of the linear optimization tool
includes calculated results for control variables, such that all imposed constraints are fulfilled
and the objective function is optimized.
Provided that a feasible solution exists, the optimal solution will be available as a calculation
result. That is, the algorithm will provide a DC load flow solution where all generator injections
and tap positions are set to optimal values. The DC load flow solution includes the following
calculated parameters (parameter names are given in italics):
• For terminals:
– Voltage Angle (phiu [deg])
– Voltage Magnitude (u [p.u.]; assumed to be 1.0 p.u. in DC calculation)
– Voltage Magnitude (upc [%]; assumed to be 100 % in DC calculation)
– Line-Ground Voltage Magnitude (U [kV])
– Line-Line Voltage Magnitude (U1 [kV])
• For branches:
– Active Power Flow (P [MW])
– Active Power Losses (Ploss [MW]; assumed to be 0 MW in DC calculation)
– Reactive Power Flow (Q [Mvar]; assumed to be 0 MVAr in DC calculation)
– Reactive Power Losses (Qloss [Mvar]; assumed to be 0 MVAr in DC calculation)
– Loading (loading [%]; Loading with respect to continuous rating)
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 generators active power limits).
– c:Pdisp) Optimal power dispatch for generator.
– c:cst disp) Production costs in optimal solution: cst disp = costs * Pdisp
• For Transformers:
– c:nntap Optimal tap position.
• For loads:
– c:Pdisp Optimal load shedding for load.
31- 21
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
The Basic Options tab of the OPF dialogue (DC optimization method) is shown in Figure 31.3.1.
Figure 31.3.1: Basic Options Tab of OPF Dialogue (DC Optimization Method)
Method
To perform a DC optimization OPF study, the Method must be set to DC Optimization ( Linear
Programming LP) as shown in Figure 31.3.1.
Objective Function
The user can select a linear optimization objective function using the list box as shown in Fig-
ure 31.3.2. These objective functions are now described.
31- 22
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Figure 31.3.2: Objective Function Selection for OPF (DC Optimization Method)
Feasibility Check Performs a feasibility check of the network considering the specified
controls and constraints (i.e. performs a constrained load flow).
Min. Generator Dispatch Change Minimizes the change in generator dispatch from the
generators initial value.
Controls
The Controls section of the OPF Basic Options tab is highlighted in Figure 31.3.3. The basic
role of each control is as described for the AC optimization method in Section 31.2.1 (Basic
31- 23
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Options)
The user can select from the following control variables (the names of the associated Power-
Factory elements are provided in parentheses):
• Generator Active Power Dispatch (ElmSym) In generator optimization, for each selected
generator a single control variable is introduced to the system. The total number of gen-
erator controls in this case equals the number of selected generators.
• Transformer Tap Positions (ElmTr2, ElmTr3) In tap optimization, for each selected trans-
former a single control variable is introduced to the system. The total number of tap
controls in this case equals the number of selected transformers.
• Allow Load Shedding (ElmLod) A separate control variable is introduced to the system
for each selected load. The total number of load controls in this case equals the number
of selected loads. This control variable can be selected in conjunction with any objective
function.
31- 24
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Note: At least one type of control variable in the Controls section of the OPF dialogue must be
selected.
Constraints
The three constraints shown in Figure 31.3.4 are as described for the AC optimization method
in Section 31.2.1 (Basic Options).
Transformer Tap Constraints (implicitly imposed) Minimum and maximum tap posi-
tions (ElmTr2, ElmTr3) for transformers are considered. These constraints are implicitly
imposed when transformer tap positions are specified as controls in the Controls section
31- 25
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
of the dialogue (see Figure 31.3.4). This means that two constraints are introduced to the
LP for the base case tap position calculation.
Handling
Active power dispatch constraints can be chosen on an individual basis (via a checkbox) per
generator. See Figure 31.2.18for setting minimum and maximum constraints for generators
for optimization. It should be noted that generator constraints are not implicitly imposed when
active power dispatch is selected as a control. Tap position constraints will be implicitly imposed
whenever the corresponding tap is a designated control variable, as in Figure 31.2.8.
Loading constraints can be chosen on an individual basis (via a checkbox) per line element
(ElmLne), as shown in Figure 31.2.12. 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 (IntThrating, as shown in Figure 31.3.5). If a thermal rating object is selected, the
limits will be calculated with respect to the Continuous Rating value.
Figure 31.3.5: Thermal Rating Object (IntThrating) Ratings Tab for Setting Rating Values
Boundary flow constraints can be chosen on an individual basis per boundary element (Elm-
31- 26
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
If the option Calculate Locational Marginal Prices (LMPs) (displayed at bottom of the dialogue
in Figure 31.3.4) is selected, the Locational Marginal Price (LMP) is calculated. The Shadow
Price is always calculated. The LMP represents the change in the systems total production
costs based on a unit change of load at the bus. The calculation of LMP takes into account the
network constraints.
The system lambda represents the change in the systems total production costs based on a
unit change of any load in the absence of network constraints.
With the Calculate Locational Marginal Prices (LMPs) option ticked, the execution of the OPF
will (on the fly) calculate the LMP for each busbar. The following quantities (current, voltage and
powers) are available for all busbars (i.e. ElmTerm elements with Usage set to Busbar ):
In addition to the LMPs, the DC Optimization always computes the shadow prices. These quan-
tities are available per component, which introduces a constraint to the system. The shadow
price then represents the change in the objective function if the constraint is released by a unit
change. The shadow prices are available as results for the PowerFactory elements listed below
(result variable names are given followed by their corresponding unit). These result variable
names are available as Calculation Parameters when defining variable sets for each element.
For more information on defining variable sets, refer to Chapter 11: Study Cases, Section 17.4
(Variable Sets).
• Line (ElmLne):
– ShadowPrice in $/MWh (Shadow price)
• 2-Winding Transformer (ElmTr2, ElmTr2n):
– ShadowPrice in $/MWh Shadow price (loading constraint))
– ShadTapMax in $/MWh Shadow price (Maximum Tap constraint))
– ShadTapMin in $/MWh Shadow price (Minimum Tap constraint))
• 3-Winding Transformer (ElmTr3):
– ShadowPrice in $/MWh (Shadow price (loading constraint))
– ShadTapMaxLV in $/MWh (Shadow price (Maximum Tap constraint (LV)))
– ShadTapMinLV in $/MWh (Shadow price (Minimum Tap constraint (LV)))
– ShadTapMaxMV in $/MWh (Shadow price (Maximum Tap constraint (MV)))
– ShadTapMinMV in $/MWh (Shadow price (Minimum Tap constraint (MV)))
– ShadTapMaxHV in $/MWh (Shadow price (Maximum Tap constraint (HV)))
– ShadTapMinHV in $/MWh (Shadow price (Minimum Tap constraint (HV)))
• Boundary (ElmBoundary):
– ShadowMaxP in $/MWh (Shadow price (max. total active power constraint))
– ShadowMinP in $/MWh (Shadow price (min. total active power constraint))
31- 27
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
31.3.2 Initialization
The OPF calculation is initialized by a load flow, which is displayed by the Load Flow parameter
on the Initialization tab of the OPF dialogue. The user can inspect the load flow settings by
clicking on the button, as illustrated in Figure 31.3.6. 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 one of the LP variants).
The Advanced Options tab of the OPF dialogue is shown in Figure 31.3.7.
31- 28
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
If Allow Load Shedding is among the selected Controls (see Section 31.3.1: Basic Options) on
the Basic Options tab, an additional term will be added to the objective function. The weight of
this term can be controlled using the Penalty Factor in the Load Shedding Options section of
the OPF dialogue.
The following term will be added to the objective function, where ω is the specified Penalty
Factor, and c is the cost factor of load i:
nCo nX
X Load
ω ci |Loadji − Loadcurr
i | (31.2)
j=1 i=1
If tap positions are to be optimized, different solutions can yield the same optimal value for the
31- 29
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
objective function. One can therefore impose a term to the objective function, which forces the
solution to be as close as possible to the initial transformer tap positions.
Use Penalty Factor for Tap Deviation If enabled, the following additional term is added
to the objective function:
nT r
X
ω |tap0i − tapcurr
i | (31.3)
i=1
Penalty Factor Specifies the weighting factor for the additional objective function term
above.
Discrete controls (Using direct method) This method calculates discrete tap position
values within the LP (known as the direct method). This method may provide better ac-
curacy, however will yield fewer solutions.
Continuous controls (Using outer loop rounding) This method calculates continuous
tap position values and then rounds these values to discrete values in the outer loop of
the calculation. This method may be faster but the values may not be optimal.
Additional Settings
Check for Constraint Violations after Optimization This method calculates discrete
tap position values within the LP (known as the direct method). This method may provide
better accuracy, however will yield fewer solutions.
Use Presolve procedure If selected, the LP is checked for linear dependencies of con-
straints. They will be eliminated and only the corresponding (smaller) system is solved.
Two outer loop settings are available: (i) control of the number of iterations of the algorithm;
and (ii) definition of a constraint tolerance. These settings are shown in Figure 31.3.8 and are
described below.
31- 30
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Figure 31.3.8: Iteration Control Settings for OPF (DC Optimization Method)
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 for taps, the algorithm uses tap sensitivities which
assume 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 calculated 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 being considered a feasible solution.).
It should be noted that when Max. Number of Iterations is set to 1, the LP is solved without
outer loops.
This option is useful for avoiding long calculation times for large systems. If selected, the LP is
solved via an iterative procedure which iterates until no further constraint violations are found
(with respect to the Max. Acceptable Error for Constraints parameter). It should be noted
that the option Check for Constraint Violations after Optimization on the Advanced Options
page must be selected in order to utilise this iterative procedure. An initial set of branch flow
constraints must be selected by the user, as described below.
Initial Set of Branch Flow Constraints The set of branch flow constraints to be consid-
ered can either be the set of N most highly loaded components or a user-defined set. In
the case of the set of N most highly loaded components, the program finds these auto-
31- 31
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
matically either by using a contingency analysis calculation (in the case of a contingency
constrained DC OPF) or by using the initial loadflow (for the other OPF methods). In
the case of a user-defined set, the user must define and assign a set of components. A
set of components can be defined either via the single line graphic or data manager, by
multi-selecting the desired components, right-clicking and selecting Define... → General
Set.... This set can then be selected and assigned via the button.
After solving the LP with an initial set of constraints, the solution is checked against all
loading constraints and overloaded components are added to the LP. The parameter Max.
number of additional constraints per iteration specifies the maximal number of added
components.
The Contingency Constrained DC Optimization performs an OPF using DC optimization (as de-
scribed in Section 31.3: DC Optimization (Linear Programming)), subject to various user defined
constraints and subject also to the constraints imposed by a set of selected contingencies.
In order for the OPF to consider post-fault actions, the contingency analysis command that is
assigned to the OPF must be set to Multiple Time Phases. The contingency cases can then
be defined to contain post-fault actions. For further information on defining contingency cases
with post-fault actions, see Chapter 28: Contingency Analysis; Section: 28.5 (The Multiple Time
Phases Contingency Analysis Command).
In addition to the result variables available for DC optimization, the contingency constrained
OPF offers the following result variables (as well as those provided by the DC load flow, as
described in Section 31.3: DC Optimization (Linear Programming)):
• For generators:
– c:Pdisp Optimal generation for each contingency case. The optimum generation for
each contingency case is stored as a parameter event object in the corresponding
contingency object (ComOutage). Thus, each contingency object will hold parameter
events for each selected generator (the name of the parameter event is the name of
the generator). The parameter event reflects the optimal generation for that generator
in the given contingency case.
• For Transformers:
– c:nntap Optimal tap positions for each contingency case. The optimum tap posi-
tions for each contingency case are stored as a parameter event object in the cor-
responding contingency case object (ComOutage). Thus, each contingency object
(ComOutage) will hold parameter events for each selected transformer (the name of
the parameter event is the name of the transformer). The parameter event reflects
the optimal tap position for that transformer in the given contingency case
– c:mxTpChng ( l, m, h) mxTapChng is the maximum tap change deviation between
the optimal base case tap position and the optimal tap position considering all con-
31- 32
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
tingencies. For 3-winding transformers, HV-, MV- and LV-side tap changes are calcu-
lated individually.
• For loads:
– c:Pdisp Optimal load shedding for each contingency case. The optimum load shed-
ding for each contingency case is stored as a parameter event object in the corre-
sponding contingency case object (ComOutage). 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 load shedding for that
load in the given contingency case.
The Basic Options tab of the OPF dialogue (contingency constrained DC optimization method)
is shown in Figure 31.4.1.
Figure 31.4.1: Basic Options Tab of OPF Dialogue (Contingency Constrained DC Optimization
Method)
31- 33
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Method
To perform a contingency constrained OPF study, the Method must be set to Contingency Con-
strained DC Optimization (LP) as shown in Figure 31.4.1.
Contingency Analysis
Objective Function
The selection of objective function for Contingency Constrained DC Optimization includes the
same objective functions as those provided for DC Optimization (see Section 31.3.1: Basic
Options). Two additional objective functions are provided, which are shown in Figure 31.4.2 and
described below.
Figure 31.4.2: Objective Function Selection for OPF (Contingency Constrained DC Optimization
Method)
Min. Generator Dispatch Change (Pre-to-Postfault) Minimizes the sum of the genera-
tor dispatch changes between the base case and each contingency case.
Min. Transformer Tap Change (Pre-to-Postfault) Minimizes the sum of the tap position
changes between the base case and each contingency case.
Controls
The definition of control variables for the contingency constrained DC optimization method dif-
fers slightly from the DC optimization method, however the basic fundamental role of each
31- 34
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
control is as described for the AC optimization method in Section 31.2.1 (Basic Options). The
Controls section of the OPF dialogue is highlighted in Figure 31.4.3.
Figure 31.4.3: Controls Selection for OPF (Contingency Constrained DC Optimization Method)
– Use base case dispatch: For all contingency cases, use the generator dispatch
from the base case. Using this setting, a single control variable is introduced to the
system for each selected generator. The total number of generator controls in this
case equals the number of selected generators and/or external networks.
– Allow different dispatch: For each contingency case, allow a generator dispatch
different to that used in the base case. Using this setting, for each selected generator,
a control variable is introduced for the base case and for each contingency case.
This option must be selected from the drop-down box when the objective function
Min. Generator Dispatch Change (Pre-to-Postfault) has been selected. The total
31- 35
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Constraints
The Constraints section of the OPF dialogue for the contingency constrained DC optimization
method is shown in Figure 31.4.4.
This formulation of OPF performs a contingency analysis for a predefined set of contingencies
(ComOutage objects; i.e. a set of interrupted components per contingency case). The Max.
Loading (parameter name: maxload) for lines and transformers (ElmLne, ElmTr2, ElmTr3; (one
constraint per bus)) for each contingency case is considered in the calculation. For each loading
constraint, the number of constraints added to the LP will be: 2*(number of contingencies).
In addition to the constraints provided for DC optimization (for further information see Sec-
tion 31.3.1: Basic Options), the contingency constrained DC optimization method offers addi-
tional constraints:
Maximum Number of Tap Changes per Contingency If this checkbox is ticked, then
for each contingency, no more than the maximum tap position change steps from the
base case to the contingency case are allowed over all transformers (i.e. for a given
contingency, a constraint is enforced on the sum of all maximum difference of base case
to contingency case taps, over all transformers).
Transformer Tap Constraints (implicitly imposed) Minimum and maximum tap posi-
tions for transformers(ElmTr2, ElmTr3) are considered. These constraints are implicitly
imposed when transformer tap positions are specified as controls in the Controls sec-
tion of the OPF command dialogue (see Figure 31.4.4). This leads to two constraints
in LP formulation for the base case tap position calculation, and to: 2 x (1 + number of
contingencies) constraints for contingency case calculations.
31- 36
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Handling
Active power dispatch constraints can be chosen on an individual basis (via a checkbox) per
generator. See Figure 31.2.13 for setting minimum and maximum constraints for generators for
optimization.
Tap position constraints will be implicitly imposed whenever the corresponding tap is a desig-
nated control variable, as illustrated in Figure 31.2.8. The tap position limits are defined in the
transformers assigned Type.
Loading constraints can be chosen on an individual basis (via a checkbox) per line element
(ElmLne) and per transformer element (ElmTr2, ElmTr3), as shown in Figure 31.2.12. Once a
loading constraint for a specific line or transformer is imposed, it will be considered by all con-
tingencies contained in the contingency list. 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 ther-
mal rating object (IntThrating, as shown in Figure 31.3.5). If a thermal rating object is selected,
31- 37
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
the limits will be calculated with respect to the Continuous Rating value.
Boundary flow constraints can be chosen on an individual basis per boundary (ElmBoundary),
as shown in Figure 31.2.15. Once a boundary constraint for either the maximum total active
power limit or minimum total active power limit is imposed, it will be considered by all contingen-
cies in the contingency list.
The list of contingencies to be considered by the OPF is selected by choosing a specific contin-
gency analysis command (parameter Contingency Analysis in the OPF dialogue, Basic Options
tab), which contains in its folder the contingency objects (ComOutage) to be considered.
31.4.2 Initialization
31.4.5 Output
For contingency constrained DC OPF, results can be optionally recorded for those branches
which exceed a selected limit value. This can be done for both the non-optimized results and
the optimized results. For each recording of results (i.e. with optimized or non-optimized values)
a separate result file must be chosen.
31- 38
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Figure 31.4.5: Output Settings for OPF (Contingency Constrained DC Optimization Method)
Allows the selection of result files for the contingency analysis results with and/or without opti-
mized controls.
Results (before optimization) The result file in which to store the non-optimized results.
Results (after optimization) The result file in which to store the calculated (optimized)
results.
The limits displayed here are set in the selected Contingency Analysis command on the Basic
Options tab of the contingency analysis command dialogue. They define the limits outside
of which results will be written to the result file(s). See Chapter 28: Contingency Analysis,
Section 28.4.1 for further information.
Reports
Following a contingency constrained DC OPF calculation, the Output of Results command but-
ton on the main toolbar becomes active. This command allows the printing of various reports,
as illustrated in Figure 31.4.6. The following reports are offered:
Optimal Solution Prints a detailed report to the output window, showing all optimal set-
tings for generators, transformers and loads, component-wise, for all contingencies. An
additional flag (Report only Contingency with max. Deviations) can be checked to show
only the settings for the contingency where the maximum deviation occurs.
Optimal Solution (per Contingency) Prints a detailed report to the output window,
showing all optimal settings, on a per-contingency basis.
31- 39
DIgSILENT PowerFactory CHAPTER 31. OPTIMAL POWER FLOW
Maximum Loadings Prints a detailed report to the output window showing the maximum
loadings of components against the relevant contingency. The user may define the load-
ing limit for which to report violations, and may select whether to report only the highest
loadings for branch components. Moreover, this report facilitates the display of results
before and after the optimization.
Loading Violations Prints a report to the output window showing components with load-
ing violations, against the relevant contingency. The user may define the loading limit for
which to report violations, and may select whether to report only the highest loadings for
branch components. Additionally, the reporting of violations in contingency cases may be
suppressed if violations already exist in the base case.
Violations per Case Prints a report to the output window showing components with
loading violations, on a per-contingency case basis. The user may define the loading
limit for which to report violations, and may select whether to report only the highest
loadings for branch components. Additionally, the reporting of violations in contingency
cases may be suppressed if violations already exist in the base case.
31- 40
Chapter 32
Techno-Economical Calculation
32.1 Introduction
This chapter presents the tools available to perform Techno-Economical Calculations in Power-
Factory . It provides a general description, technical background, description of the command
dialogues, and an example calculation. The Techno-Economical Calculation (ComTececo) can
be accessed from the toolbar as shown in Figure 32.1.1
1
DIgSILENT PowerFactory CHAPTER 32. TECHNO-ECONOMICAL CALCULATION
32.2 Background
Define the Original value in “k$”, Scrap value in “k$”, and Expected life span in years “a”. Note
that the Expected life span is used in the economic calculation, it does not take the Variation out
of service at the end of the expected life span.
Calculation Points
Select to either Calculate:
• once per year. Calculations are executed once per year from the 1st day of the Calculation
Period Start (01.01.XXXX, 00:00:00) to the last day of the year at the calculation period
End (31.12.YYYY, 23:23:59).
• for every expansion stage. Calculations are executed on the 1st day of the Calculation
Period Start, at the Activation Time of each Expansion Stage, and on the last day of the
year at the calculation period End.
• for user-defined dates. Calculations are executed on the 1st day of the Calculation Period
Start, at each user-defined date, and on the last day of the year at the calculation period
End. To define dates, Insert rows to the Calculation Points table and specify the required
dates. To automatically populate the table of calculation points with once per year dates
and for every expansion stage dates, select Get All Calculation Points. The dates can
then be edited as required (note that it is not possible to append rows beyond the end
date).
Note: Irrespective of the calculation option selected, the results are reported annually. This
provides user-flexibility to optimize the performance of the Techno-Economical Calculation
calculation, whilst retaining the ability to compare annual results with different calculation
options.
Strategy
Click Show Activated Variations to show Activated Variations. Only Expansion Stages within
32- 2
DIgSILENT PowerFactory CHAPTER 32. TECHNO-ECONOMICAL CALCULATION
Activated Variations, and an Activation Time within the Calculation Period will be considered by
the calculation.
Tolerance
Specify a “Tolerance for calculation points (in days)” for activation of Expansion Stages. If,
for example, a calculation is to be performed once per year, and all Expansion Stages with
Activation Times within January of that year are to be considered as in-service for the entire
year, a tolerance of “31 days” could be specified.
Load growth
Optionally Incorporate load growth in the calculation, to consider load growth within each cal-
culation interval. In contrast to the case where no load growth is incorporated and costs for
a calculation period are calculated at the beginning of that period, enabling this flag will lead
to a second cost calculation at the end of the current calculation period. Corresponding costs
are then calculated based on both values. Load growth is defined via parameter characteristics
(see Chapter 18: Parameter Characteristics, Load States, and Tariffs for details of how to define
parameter characteristics).
Optionally consider Losses, Interruption Costs, User-defined Costs, and Annual additional costs,
and select whether to Optimize Tie Open Points.
Losses
• Optionally modify the Load Flow Calculation options via the pointer to the Load Flow
Calculation command.
• Select whether to consider losses for the whole system, or for a user-defined set of sub-
stations/feeders. If more than one feeder or substation is selected, PowerFactory auto-
matically creates a Set within the active Study Case, by default named “Techno-eco. Calc.
- Substations/Feeder Set”.
• Define the Costs for Losses (Load) in “$/kWh”, relating to line losses.
• Define the Costs for Losses (no Load) in “$/kWh”, relating to transformer no-load losses.
Interruption Costs
Modify the the Reliability Assessment options. By default, a new Reliability Assessment com-
mand object is created within the Techno-Economical command. See Chapter 29 for details
of how to configure the Reliability Command options. For a Techno-Economical calculation, it
is generally recommended that the following options are selected in the Reliability Assessment
Command:
32- 3
DIgSILENT PowerFactory CHAPTER 32. TECHNO-ECONOMICAL CALCULATION
User-defined costs
Optionally select a user-defined DPL Cost Assessment Script. This functionality may be re-
quired for detailed analysis where factors besides losses and outage costs are to be considered
in the calculation.
Note: If the costs of losses are not considered by the Techno-Economical command directly,
Optimize Tie Open Points may still be selected so that the impact of network switching
configuration is considered by the calculation, where either Interruption Costs or Additional
Costs is selected.
Results
A reference (pointer) to the result object.
Report
(Optionally) select the format of results printed to the output window. The report includes a
summary of selected calculation options, and annual costs, total costs, and Net Present Value
(NPV).
Consider the following Techno-Economical Calculation example, which also consolidates func-
tionality presented on the following topics:
The current year is “2010”. There are four 12 MW loads connected to DoubleBusbar/A and
DoubleBusbar/B. In the current arrangement the line “Existing Line” from “Sub 1” is lightly loaded
(see Figure 32.4.1).
32- 4
DIgSILENT PowerFactory CHAPTER 32. TECHNO-ECONOMICAL CALCULATION
High load growth is expected from 2010 to 2016, with constant demand thereafter. To model
the changes in demand, a One Dimension - Vector Characteristic from 2010 to 2020 has been
defined for each load. By setting the Study Time to 2014, it has been determined that “Existing
Line” will be loaded at close to the thermal rating in this year (see Figure 32.4.2).
Based on this, it has been determined that a new substation is required in 2015 to off-load the
existing line. Figure 32.4.3 shows the case with the Study Time set to 2015, and the new
substation “Sub 2” in service. Half of the load from “Sub 1” has been transferred to “Sub 2”.
Note that the new substation has been implemented as a PowerFactory Variation, and hence is
shown with yellow dashed lines in cases where the Study Time is prior to 2015.
32- 5
DIgSILENT PowerFactory CHAPTER 32. TECHNO-ECONOMICAL CALCULATION
However, the previous analysis has not considered the economic impact of interruption costs.
In the “2010”, when there is an outage of the line from “Sub 1” there are no alternative paths
to re-establish supply to either load. With the new line and DoubleBusbar/A and B in service,
there is an alternative path to re-establish supply to loads in the event of an outage on either
“New Line” or “Existing Line”. To understand the economic implications of commissioning the
project prior to 2015, in particular the sensitivity of the cost of losses and cost of interruptions
to the project commissioning date, a Techno-Economical Analysis is performed for a number of
Activation Times.
To perform the analysis, the Variation activation time T(act.) is varied from 2010 to 2015, and
the Net Present Value (NPV) of the Strategy is calculated over the period 2010 to 2020. In
the example, outage data has been entered for the lines “New Line” and “Existing Line”, and
a Global Energy Tariff has been defined for loads from the Reliability command Costs page.
Due to the trade-off between Energy Interruption Costs (increasing in this example due to load
growth) and cost-benefits associated with delaying the project (based on the specified interest
rate), the optimum year for project commissioning is determined to be 2011, and not 2015. The
NPV is around 11 % lower in 2011 than in 2015. Table 32.4.1 below summarizes the results of
the Techno-Economical calculations.
32- 6
DIgSILENT PowerFactory CHAPTER 32. TECHNO-ECONOMICAL CALCULATION
Note: To automatically calculate the optimal Activation Time for an Expansion Stage, in the
Data Manager, right-click on the Expansion Stage, select “Execute DPL Scripts” and run the
“Efficiency ratio calculation” script.
32- 7
DIgSILENT PowerFactory CHAPTER 32. TECHNO-ECONOMICAL CALCULATION
32- 8
Chapter 33
33.1 Introduction
The chapter presents the PowerFactory tools for assessment and optimization of distribution
networks. The areas of analysis are highlighted in Figure 33.1.1 Each section of this chapter
introduces the tool, presenting a general description, the objective function, the optimization
procedure, and the command dialogues. Note that the Cable Sizing command is described in
Chapter 35 (Cable Sizing), and that tools for Optimal Capacitor Placement are discussed in
Chapter 34 (Optimal Capacitor Placement).
The Voltage Sag Table Assessment (ComVsag) can be used to assess the expected frequency
and severity of voltage sags within a network during an operating period, and determine the
expected number of equipment trips due to deep sags. The PowerFactory Voltage Sag tool
calculates a short-circuit at the selected load points within the system and uses the failure data
of the system components to determine the voltage sag probabilities.
1
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
Voltage sag analysis is similar to probabilistic reliability analysis, in that it uses fault statistics to
describe the frequency of faults, and then use these statistics to weight the results of each event
and to calculate the overall effects of failures. However, reliability analysis looks for sustained
interruptions as one aspect of quality of supply, whereas voltage sag analysis calculates the
voltage drop during the fault until the protection system has disconnected the defective compo-
nent.
This section describes the calculation options, how to perform a Voltage Sag Table Assessment,
and how to view the results.
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 can be inspected or changed by clicking on the
Edit button ( ).
Results
33- 2
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
This defines the minimum remaining voltage for the voltage sag calculation to continue calcu-
lating 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.
TheAdvanced Options page shows the various short-circuit types that can be analyzed by the
voltage sag assessment command. All components for which a failure model has been defined
use the same short-circuit frequency. The relative frequency for each type of short-circuit is
entered uniformly for all components.
1. A result file with remaining voltages and short-circuit impedances is created by executing
the ComVsag command. This can be done by selecting one or more nodes, right-clicking
and executing the Calculate... → Voltage sag table... option, or by initiating the command
directly from the main toolbar by clicking on the Voltage Sag Table Assessment icon ( ).
33- 3
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
2. A voltage sag plot is created by selecting one or more of the nodes for which the ComVsag
command was executed, right-clicking and selecting the option Show → Voltage Sag
Plot...
Alternatively,
• The Load selection in the ComVsag dialogue can be completed manually with a set of
objects. A load point is defined by a terminal, a busbar, or by a single-connection element
(a load, motor, generator, etc.). These kinds of elements can be multi-selected from the
single-line diagram or data manager. Once selected, right-click on them and select De-
fine... → General Set from the context-sensitive menu. This set can then be selected as
the Load selection.
• A voltage sag plot can be created on a virtual instrument page manually, and the load
points can then be selected from the list of analyzed load points.
If several objects are selected which are all connected to the same busbar, then that busbar will
be added only once to the set of load points.
The Load selection parameter in the voltage sag assessment command should be set to use
the SetSelect which has the Used for: Voltage sag table flag set. However, any other selection
can be assigned to the Load selection.
The voltage sag analysis simulates various faults at the selected busbars. The calculation 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.
To reduce computation time, the written impedances are interpolated between the ends of a
line and the middle with a second-order polynomial. Then, the remaining voltages and 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 re-
maining voltages between the ends and the midpoints of the lines or cables. This quadratic
interpolation gives a good approximation for longer lines, as well as parallel lines.
The voltage sag tables are not calculated until a voltage sag plot is constructed. Upon reading
the remaining voltages, short-circuit frequencies and short-circuit impedances from the result
file, a voltage sag table is constructed for each selected load point. Figure 33.2.3 shows the
voltage sag plot dialogue.
33- 4
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
Because there is no single definition of a voltage sag, the plot offers a selection of sag defini-
tions:
Secondly, the x-variable against which the sag frequency will be shown has to be selected.
Possible x-variables are:
• Remaining Voltage.
33- 5
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
• 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 33.2.3 is shown
in Figure 33.2.4.
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 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 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 viewed in the balloon help that appears when placing the mouse
over a bar or part of a bar (without clicking).
The voltage sag plot dialogue has a Report button (see Figure 33.2.3) which outputs the
voltage sag plot data to the output window. A table for each selected load point will be written
in accordance to the selected Voltage Sag definition, x-Variable and Split Bars in selection.
33- 6
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
The Voltage Profile Optimization (VPO) command (ComVoltplan) is used to optimize distribution
transformer taps over the expected range of network load and generation conditions. It can be
selected from Distribution Network Tools, as shown in Figure 33.1.1.
It requires that loads be represented as medium voltage (MV) loads (ElmLodmv ). MV load
elements include transformer and LV network parameters, as illustrated in Figure 33.3.1. To
show Terminal colouring based on maximum / minimum LV grid voltages, from the main menu
select View → Diagram Colouring (or select the Diagram Colouring icon). Under 3. Other select
Results → Voltages / Loading. Click on Colour Settings, go to second page of the Voltages /
Loading tab, and select Consider LV grid voltages for colouring. In the example below, the
minimum voltage is below the lower limit and the maximum voltage is above the upper limit (the
limits set in the colouring options), therefore the terminal shows two colours.
Note: The transformer tap changer is represented on the LV side of the MV load.
33- 7
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
1. If Distribution Transformer Tap Limits are specified by the user, limit the tap range of trans-
formers to within the limits Min. allowed tap position and Max. allowed tap position. This is
illustrated in Figure 33.3.2, where a transformer with seven tap positions is limited to taps
”-1” to ”2” to limit the transformer voltage rise to 7 % and voltage drop to -5 %. The height
of each bar is determined by the voltage rise and voltage drop across the transformer in
the production and consumption cases respectively.
2. Calculate the Upper tap limit and Lower tap limit, based on settings that will keep the
range of expected LV Grid voltages within the Upper voltage limit and Lower voltage limit,
as illustrated in Figure 33.3.3, where the limits are set to between 0.92 pu and 1.10 pu.
3. Both tap positions ”0” and ”1” would be acceptable, and maintain transformer voltage drop
and LV grid voltages within acceptable limits. The optimization routine selects the lower
tap limit (position ”0” in Figure 33.3.3) in order to minimize the voltage rise.
33- 8
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
1. There is a single tap position that will satisfy both LV grid lower and upper voltage limit ->
this tap is selected.
2. There are tap positions that will satisfy both LV grid lower and upper voltage limits -> the
lowest tap position is selected in order to favour limiting voltage rise in the production case.
3. There are tap positions that will satisfy the LV grid upper voltage limit, but all of them
violate the lower voltage limit -> the highest tap position that will not violate the upper
voltage limit is selected.
4. There are tap positions that will satisfy the LV grid lower voltage limit, some of which will
violate the upper voltage limits -> the tap position that will not violate the upper voltage
limit is selected, even if lower voltage limits are violated further as a result.
5. There are no tap position/s that will satisfy both LV grid lower and upper voltage limits ->
the lowest tap position is selected in order to minimise voltage rise in the production case.
Note that Distribution Transformer Tap Limits, if specified in the Advanced Options, take prece-
dence over the Upper and Lower Voltage limits specified in the Basic Options.
33- 9
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
Report
A reference (pointer) to the result report output. It is possible to select the reports to be dis-
played, and whether they are shown in Tabular or ASCII format.
The result of a voltage profile optimization is a tabular or ASCII report with the recommended
tap settings, including details of MV loads with Critical Voltage Drop or Rise. An example of
the Optimal Transformer Tap Positions section of the report is shown below in 33.3.4 (results
consistent with Figure 33.3.1, and the discussion in Section 33.3.1).
The recommended tap settings are also available from the flexible data page of MV loads under
the load-flow calculation parameter “c:nntap”. To update the network model with the recom-
mended tap settings, the user may either manually adjust MV load tap positions, or click the
Update Database icon on the main toolbar ( ), and update the case with the calculated Dis-
tribution Transformer Taps. To display a plot of the resultant profile for one feeder for both the
33- 10
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
consumption and production case, select the Voltage Profile Plot icon ( ). Figure 33.3.5 shows
an example plot, where:
• min v and max v are the minimum and maximum transformer HV side voltages.
• uminLV and umaxLV are the minimum and maximum transformer LV side voltages.
• uminLVfeed and umaxLVfeed are the minimum and maximum LV grid voltages.
The function of the Tie Open Point Optimization (TOPO) (ComTieopt) is to optimize a radial
system of connected feeders by determining the best location for network open points. An open
point can be moved by the TOPO tool by opening and closing switches on the networks to be
optimized.
This chapter is separated into three sub-sections. Firstly, the steps to access the TOPO tool
are described. Next, the background and function of the TOPO tool is presented and finally
the procedure for running a Tie Open Point Optimization is described. The Tie Open Point
Optimization Command can accessed as shown in Figure 33.1.1
33- 11
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
The function of the Tie Open Point Optimization (TOPO) tool is best explained using an example.
Consider the network illustrated in Figure 33.4.1
The network consists of three feeders, one from each of the three ”stations”. Each feeder
begins at a ”station” and ends at one of the two illustrated open points. The two open points
in this network are not necessarily the optimum open points. For example, it might be more
economic (i.e. less network losses and / or less impact of outages) to shift these open points by
closing the open switches and opening two switches in different positions on the feeders. The
purpose of the TOPO tool is determine these optimum open points automatically. Additionally,
the TOPO tool can automatically consider network voltage and thermal constraints - for instance
it might be economic to shift an open point in terms of reducing systems losses, however doing
so might cause a cable to overload.
This section describes the procedure for running a Tie Open Point Optimization (TOPO) calcu-
lation. The steps are summarized below, and discussed in more detail in the following sections:
33- 12
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
The TOPO tool requires that feeders are defined for the section of the network that you wish to
optimize. Additionally, the TOPO tool only works on radial feeders - mesh systems cannot be
optimized automatically. Furthermore, it is recommended that the target feeders for optimization
do not have any overloaded components or voltage violations in the base case.
To define a feeder, right-click the cubicle at the beginning of the feeder and select the Define
→ Feeder. Alternatively, for fast creation of multiple feeders right-click the bus the feeder/s are
connected to and select the option Define → Feeder. More information on feeders and feeder
creation can be found in Chapter 13: Grouping Objects, Section 13.6.
After a set of feeders has been defined, open the TOPO tool and configure the basic options:
1. Click the Change Toolbox icon ( ) and select Distribution Network Tools.
2. Open the dialogue for the Tie Open Point Optimization tool ( ).
3. Use the selection control for Feeding Points to select previously defined feeder/s, or a
feeder ”Set”. If the Select option is chosen and multiple feeders are selected, a ”Set” of
feeders will automatically be created within the active study case. By default the set will
be named Tie Open Point Optim. - Feeder Set.
Note: It is generally recommended to define all feeders in the network as Feeders, and to
conduct a TOPO calculation for All Feeders.
4. Select the desired Objective Function to minimise losses and / or reliability indices. If
Optimization of Reliability Indices or Cost Optimization (Losses + Reliability) is selected,
complete the required fields on the Reliability tab, see (How to configure Reliability Op-
tions).
5. ”Balanced, positive sequence” or ”Unbalanced” network representation can be selected.
The Load-flow command referenced below these radio buttons is automatically adjusted
to the correct calculation method based on this selection.
6. Optional: You can inspect and alter the settings of the load-flow command that is used for
determining the losses and identifying the constraints of the system by clicking the blue
selection arrow next to load-flow command.
7. Optional: Change the ”Saving of solution” option. The two options are as follows:
• Change Existing Network (Operation Scenario). This is the default option. The TOPO
tool modifies the base network model. Note that if a variation is active, the changes
will be implemented in the variation.
• Record to Operation Scenario. If you choose this option a selection control appears
and you can choose an existing operation scenario to save the results of the Op-
timization procedure to. Alternatively, you can leave the selection empty and Pow-
erFactory automatically activates a new Operation Scenario called ”Tie Open Point
33- 13
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
Optimization Results”. Any changes made to the network as a result of the optimiza-
tion procedure are stored within this operation scenario. You can revert to the original
network by disabling the scenario.
8. Optional: Disable the ”Report” flag. This control, enabled by default, allows you to turn off
the automatic printing of an ASCII report to the output window.
9. Optional: Select the Before Optimization and After Optimization results objects.
It is optional whether you choose to consider network and voltage constraints for the Tie Open
Point Optimization. If you wish to consider constraints follow these steps:
1. Open the Tie Open Point Optimization dialogue and select the Constraints tab.
2. Optional: Choose to enable or disable the option Consider thermal constraints. If enabled,
the TOPO tool will automatically consider thermal constraints in the network. Therefore, if
an optimal point were to cause an thermal overload on any system component, then this
would not be considered as a valid open point for reconfiguration of the system. There are
two more options for thermal constraints:
• Global constraint for all components. This is the default option. If enabled you must
enter a maximum thermal loading percentage in the Max. thermal loading of compo-
nents field. Note this option overrides the individual component thermal limits.
• Individual constraint per component. Select this option to automatically consider each
components unique thermal rating. Note, the thermal rating for each component is
determined by the field Max Loading within the Tie Open Point Optimization tab of
each component.
3. Optional: Choose to enable or disable the option Consider Voltage Constraints. If this
option is enabled then each terminal in the system is checked against the Lower and Upper
limit of allowed voltage. If a particular open point causes a voltage violation, then such an
open point cannot be considered as ”optimal”. There are two options for configuring the
upper and lower voltage limits:
• Global constraints for all terminals (absolute value). If you choose this option then
you must enter an upper and lower voltage limit in the two corresponding fields within
this dialogue box.
• Individual constraint per terminal. If you choose this option, then each terminal has
a unique voltage limit which is assigned on the Tie Open Point Optimization tab of
each terminal (note that this excludes Substation internal nodes).
4. Optional: Choose to enable or disable the option Consider Voltage Drop/Rise. If this option
is enabled then each feeder in the system is checked against the Maximum Voltage Drop /
Rise. If a particular open point causes a voltage violation, then such an open point cannot
be considered as ”optimal”. There are two options for configuring the maximum voltage
drop / rise limits:
• Global constraints for all feeders (percent). If you choose this option then you must
enter the Maximum Voltage Drop and Maximum Voltage Rise in the two correspond-
ing fields within this dialogue box.
• Individual constraint per feeder. If you choose this option, then each feeder has a
unique voltage drop / rise limit which is assigned on the Tie Open Point Optimization
tab of each feeder.
33- 14
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
5. Choose the ignore all constraints for... option. You can use these options to optionally
ignore constraints where the nominal voltage is above or below user-defined thresholds
entered here. This can be useful for example to exclude all LV systems (say less than
1 kV) from the constraints identification process as it may be acceptable to have these
systems outside the ”normal” range.
The options in the Advanced tab can generally be left on default values. The options are de-
scribed as follows:
• Maximum number of outer loops. This option controls the maximum number of outer
loops which is the total number of times the optimization procedure will be repeated when
searching for an optimal solution.
• Maximum change in system losses. This option determines the threshold above which a
change in open point is considered. If the reduction in losses is below this threshold, the
iteration will stop.
• Constraint Priority options can be selected for the relevant constraints. For example, con-
sider the following scenario:
– The TOPO calculation is to consider Global Thermal constraints, with the Max. ther-
mal loading of components set to 100 %, and Global Voltage Constraints with a Lower
limit of 0.90 pu.
– The constraint priorities for loading constraint is set to 1, and for voltage lower limit
is set to 3.
– In the current configuration, a line is loaded to 102 % of rating.
– Shifting the open point causes the voltage at a terminal on an adjacent feeder to
decrease 5 % below 0.90 pu (i.e. 0.855 pu).
– As a result of the priorities, the thermal loading deviation will be ”penalized” to a
greater extent than the voltage deviation, and the open point will change, despite the
resultant voltage deviation.
• The option ’Force elements on outage when not switchable allows the TOPO routine to
place objects in the feeder out of service if it is not possible to switch them out using
conventional switches. For example, if placing a line out of service could reconfigure the
feeders in such as way as to optimize the losses but the line has no circuit breakers at
either end to isolate it, then the tool could place the line out of service instead.
If Optimization of Reliability Indices is selected, the user may select between optimization of
SAIFI or EPNS indices on the Reliability tab. Where:
• SAIFI (System Average Interruption Frequency Index) in units of [1/C/a], indicates how
often the average customer experiences a sustained interruption in one year. Note that
the number of customers at each load should be defined on the Reliability tab.
• EPNS (Expected Power Not Supplied) is in units of [MW]. Multiplying EPNS by the study
duration gives the expected energy not supplied.
Contingency definitions can be optionally considered for Busbar / terminals, Lines / Cables, and
Transformers.
33- 15
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
If Cost Optimization (Losses + Reliability) is selected, Costs for Losses and Interruption costs
per customer should be defined, as these are used in the Objective Function calculation to
determine the network configuration that optimizes both Losses and Reliability.
This section describes the Backbone Calculation command (ComBbone)dialogues and presents
an example calculation. To run a Backbone Calculation, either:
• Select the Backbone Calculation icon under Distribution Network Tools as shown in Figure
33.1.1.
• From the Data Manager select and then right-click previously defined feeders and click
Calculate → Backbone Calculation....
• From the main menu, select Calculation → Distribution Network Tools→ Backbone Calcu-
lation.
The Backbone Calculation is used to determine the main paths between adjacent feeders con-
nected via open points, that may serve to restore lost load in case of failures inside a feeder.
The command creates objects in the Network Data folder (ElmBbone) with the Backbones con-
stituent network elements. This simplifies visualization of the main path(s) between feeder(s),
particularly in large distribution networks where the main paths may not be apparent from the
single line diagram.
Backbone objects are created for all feeders or a user-defined set of feeders based on path
load, cross-section, network structure, or scoring method criteria. The command can optionally
consider existing remote controlled switches at open points, and the availability of connections
to alternative transformers or substations when creating Backbones.
From the Backbone dialogue, the Backbone contents (elements) can be viewed, marked in the
graphic, and checked (see example in Section 33.5.4). The Check Backbone button is used
to verify that the backbone object still defines a valid inter-feeder path matching its calculated
parameters.
Generate backbones
Specify all feeders or a user-defined set of feeder/s for the Backbone Calculation.
• Path load: Backbones are determined based on the MVA load on the paths between
adjacent feeders.
– (Optional) specify the max. number of backbones per feeder.
– Optionally select to Report results to the output window, including details of backbone
open points.
– Pointer to load-flow command (note for balanced calculations only).
33- 16
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
Note: For calculations based on path load, feeder is supposed to be operated radially
must be selected on the Basic Options page of the Feeder/s selected for the Backbone
calculation, as well as all connected feeders.
• Cross section: Backbones are determined based on the cross-section of lines/cables con-
necting adjacent feeders.
– (Optional) specify the max. number of backbones per feeder.
– Choose to determine backbone using either the mean cross section of lines in the
path or the minimum cross section in path.
– Optionally select to Report results to the output window, including details of backbone
open points, and minimum and mean cross-section.
• Network structure: Backbones are determined based on the network structure. If none of
the options are selected, Backbones are calculated for all feasible inter-feeder paths.
– (Optional) create backbones only if path leads to different substation.
– (Optional) create backbones only if path leads to different HV/MV-transformer.
– (Optional) create backbones only if tie open point is remote-controlled (as specified
on the Reliability tab of each switch).
– Optionally select to Report results to the output window, including details of backbone
open points.
• Scoring method: Backbones are determined using a scoring algorithm based on the
restoration ability of the adjacent feeder. Scoring method settings are entered on the
Scoring Settings tab.
– (Optional) specify the max. number of backbones per feeder.
– Optionally select to Report results to the output window, including details of backbone
open points, and loading/voltages of limiting elements.
– Pointer to load-flow command (note for balanced AC calculation only).
If scoring method is selected on the Basic Options page, enter scoring settings on the Scoring
Settings page. Backbones are determined based on the restoration ability of every inter-feeder
path using Topology, Loading violation, and Voltage violation criteria.
For each criteria satisfied, the path receives the entered number of points. The path with the
greatest number of points is the “winning” path.
Topology scoring
Define scoring settings for Topology scoring criteria:
33- 17
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
• Restoring transformer (restoration mode). Consider a path from initial “feeder A” to “feeder
B”. “Feeder A” is de-energized and the connection to “feeder B” via the tie open point is
closed. A load flow is calculated in this so-called restoring mode and the entered number
of points is assigned if the supplying HV/MV-transformer is not overloaded.
• On backbone of restoring feeder (normal mode). Consider a path from initial “feeder A” to
“feeder B”. A load flow is calculated (in so-called normal mode) and the entered number
of points is assigned if no element on the potential backbone path contained in “feeder B”,
the restoring feeder is overloaded in the base case.
• On complete backbone (restoration mode). Consider a path from initial “feeder A” to
“feeder B”. “Feeder A” is de-energized and the connection to “feeder B” via the tie open
point is closed. A load flow is calculated in this so-called restoring mode and the entered
number of points is assigned if no element on the potential backbone path is overloaded.
• In complete feeder (restoration mode). Consider a path from initial “feeder A” to “feeder
B”. “Feeder A” is de-energized and the connection to “feeder B” via the tie open point is
closed. A load flow is calculated in this so-called restoring mode and the entered number
of points is assigned if no element in the complete resulting feeder is overloaded (not only
on the backbone as for the previous option).
• On backbone of restoring feeder (normal mode). Consider a path from initial “feeder A” to
“feeder B”. A load flow is calculated (in so-called normal mode) and the entered number
of points is assigned if no terminal on the potential backbone path contained in “feeder B”
violates its voltage drop constraint and voltage rise constraint.
• In complete feeder (restoration mode). Consider a path from initial “feeder A” to “feeder
B”. “Feeder A” is de-energized and the connection to “feeder B” via the tie open point is
33- 18
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
closed. A load flow is calculated in this so-called restoring mode and the entered number
of points is assigned if no terminal in the complete resulting feeder violates its voltage drop
and rise constraint (not only on the backbone as for the previous option).
When a Backbone is calculated, it always contains a connection to another Feeder via a tie open
point. In the worst case of an outage close to the feeding point of the initial feeder, the initial
feeder is de-energized by opening its feeding switch and restored by the second Feeder via the
tie open point. These restoration steps can be simulated for an existing Backbone using the
Backbone trace functionality. The trace buttons are located beside the ComBbone command,
and can also be accessed via the main menu Calculation → Distribution Network Tools→ Start
trace....
Consider a case where there are two parallel feeders with multiple open-points. A Backbone
calculation is conducted based on a criteria of minimum cross section in path, and with the Max.
number of backbones per feeder set to ”1”. Backbone objects are created within the Network
Data folder.
To highlight Backbones, from the main menu select View → Diagram Colouring (or select the
Diagram Colouring icon). Under 3. Other select TopologyFeeders. Click on Colour Settings,
and on the Feeders tab select Highlight backbones.
Figure 33.5.1 shows the result, where the path through ”Open Point 2” is highlighted as a result
of the cross section of conductors in this path. Refer to section 33.5.3 for details of how to trace
the Backbone restoration steps.
33- 19
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
Following a Backbone Calculation (see Section 33.5), an Optimal Remote Control Switch (RCS)
Placement can be performed to optimize placement of remote control switches within a feeder/s.
The calculation optimizes placement of a fixed number or optimal number of switches per feeder
or backbone, with an objective function that minimizes Energy Not Supplied (ENS), balances
ENS, or minimizes Expected Interruption Costs (EIC). The Optimal RCS Placement command
is a heuristic planning tool, and may precede a detailed reliability analysis.
To conduct an Optimal RCS Placement, reliability data should be specified on the Reliability tab
of line elements (outages of other elements are not considered). See Chapter 29: Reliability
Assessment, Section 29.3 for details.
If the cost of interrupted load is to be considered, a global Energy Tariff must be defined, see
Chapter 16, Section 16.5.2: Defining Energy Tariffs for details.
The Optimal RCS command can be selected under Distribution Network Tools, as shown on Fig-
ure 33.1.1 This section describes the Optimal RCS Placement objective function and command
dialogues, and provides an example calculation.
Note: The Optimal RCS calculation requires that feeder is supposed to be operated radially be
selected on the Feeder Basic Options page.
Objective Function :
The objective function of the Optimal RCS Placement command can be set to either:
Number of RCS:
33- 20
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
• With an objective function to Balance ENS or Minimize EIC, select to either Optimize
number of RCS or Fix number of new RCS.
– Specify the Number or Maximum number of new RCS per feeder/backbone.
– If the objective function is set to Minimize EIC, enter the Yearly costs per RCS in $
per annum.
Recording of results
• Select save results in variations to save the results to a Variation. Note that by default the
variation will be inactive after running the Optimal RCS Placement.
• Select to change existing network to change the existing network. Note that this changes
object data in the base network.
Results
A reference (pointer) to the result object.
Report
(Optionally) select the format of results printed to the Progress window. The report provides
details of the recommended remote control switches and their costs, and depending on the
selected objective function, energy not supplied or interruption costs results.
Select to either determine optimal RCS per feeder or per backbone. Note that the calculation is
conducted once for each feeder in the feeder selection from the Basic Options page.
Select to either optimize RCS for all backbones, or only for backbones up to a specified order (in
which case, define the maximum order). Note that if more than one backbone has been created
for a feeder, the main backbone will have order ”1”, the second ”best” candidate has order ”2”,
and so on.
Optionally select to consider existing RCS on participating backbones. If not selected, the RCS
Placement will be performed ”from scratch”, without considering existing RCSs.
Optionally select detailed output mode to output additional details by ”Section”, such as ENS,
FOR, and EIC (depending on the optimization option selected).
33- 21
DIgSILENT PowerFactory CHAPTER 33. DISTRIBUTION NETWORK TOOLS
Switching Time:
Set the Time to actuate RCS and Time to actuate manual switches (applied for all switches).
These parameters are used by the calculation to determine ENS and EIC.
Consider the simple example shown in Figure 33.6.1 where two feeders with three loads each
are separated via three open points. Line outage rates and load parameters have been defined.
To illustrate line Forced Outage Rates, from the main menu select View → Diagram Colouring
(or select the Diagram Colouring icon). Under 3. Other select Primary Equipment → Forced
Outage Rate. In the example, there is a requirement to install a single Remote Control Switch
(RCS) on each feeder to minimize the ENS.
To calculate the optimal location(s) for remote controlled switches, a Backbone Calculation for
all feeders based on network structure is first executed (see Section 33.5 for details of how to
run the Backbone Calculation).
Next, an Optimal RCS calculation is executed for all feeders, with an objective function to Mini-
mize ENS, limited to 1 RCS per backbone. Note that the calculation will run twice in this example
(once for each feeder), and so two RCSs will be recommended.
The calculation simulates outages of each line, and calculates the ENS for placement of RCSs
at each location. In order to mitigate the impact of outages (in particular, from the ”problem
line” Line(1)) the calculation recommends installation of remote control switches at locations
”Switch2” and ”Switch5” to minimize the ENS.
33- 22
Chapter 34
34.1 Introduction
The objective of this chapter is to present PowerFactory tools for Optimal Capacitor Placement.
Other Distribution Network Optimization tools are discussed in Chapter 33 (Distribution Network
Tools).
Optimal Capacitor Placement (OCP) is an automatic algorithm that minimizes the cost of losses
and voltage constraints (optional) in a distribution network by proposing the installation of new
capacitors at terminals along the selected feeder/s. The optimal size and type of capacitor is
selected from a list of available capacitors entered by the user. The algorithm also considers
the annual cost of such capacitors and only proposes new capacitors for installation when the
reduction of energy loss and voltage constraint costs exceeds the annual cost of the capacitor
(investment, maintenance, insurance etc).
To access the OCP tool, select the OCP toolbar from the toolbar selection window as illustrated
in Figure 34.2.1.
1
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
• The main Optimal Capacitor Placement command is started with the Calculate Optimal
Capacitor Placement icon ( ). The command and the various user-defined options are
described in detail in Sections 35.2.1 to 34.2.6.
• After a successful optimization, the list of nodes (terminals) where capacitors are proposed
for installation can be accessed by selecting the Show nodes with New Capacitors icon
( ).
• Following a successful OCP, the list of proposed capacitors can be accessed with the
Show New Capacitors icon ( ).
• The Remove previous solution icon ( ) deletes the results (removes all placed capaci-
tors) from a previous OCP routine.
• To list all results from the OCP in a ASCII text report printed to the output window use
the Output Calculation Analysis icon ( ). The report also displays the original system
losses and voltage constraint costs and such costs after the installation of the proposed
capacitors.
The OCP optimization algorithm minimizes the total annual network cost. This is the sum of the
cost of grid losses, the cost of installed capacitors, and optionally the fictitious penalty cost of
voltage violations:
m
X n
X
T otalCosts = CLosses + (CCapi ) + (CV oltV ioli ) (34.1)
i=1 i=1
Where:
• CLosses is the annual cost of grid losses (i.e. including the grid losses, not only the
feeder/s for which the optimal capacitor placement is performed). Essentially, this is the
I 2 R loss of all elements in the network.
• CCapi is the annual cost of a capacitor (investment, maintenance, insurance), as entered
by the user in the list of possible capacitors. m is the total number of installed capacitors.
• CV oltV ioli corresponds to a fictitious cost used to penalize a bus (terminal) voltage vio-
lation. n is the total number of feeder terminals with voltage violations.
Note that if the OCP is not able to reduce the Total Costs by installation of a capacitor/s, the
following message will be reported:
DIgSI/err - Costs can not be reduced with the given "Available Capacitors"
As there is no ’real’ cost for a voltage violation, if the user wants to consider voltage violations
as part of the OCP algorithm, they must assign a ’fictitious’ cost for such violations. The volt-
age violation cost is calculated based on the user specified voltage limits and penalty factors.
The voltage limits are defined in the ’Basic Options’ tab of the OCP command dialogue (’vmin’
34- 2
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
and ’vmax’ parameters, see Section 35.2.1: Basic Options Page). The penalty factors are de-
fined in the ’Advanced Options’ tab of the same command (’weight’ and ’weight2’ fields, see
Section 34.2.6: Advanced Options Page). The penalty values are applied for voltages inside
the admissible voltage band (parameter ’weight’: Penalty Factor 1) and for voltages outside the
admissible band (parameter ’weight2’: Penalty Factor 2).
There are two possible situations for a terminal voltage and the calculation for the fictitious
voltage violation cost is slightly different for each situation. The two situations are explained as
follows:
1. In situation one, the voltage U of a terminal is within the allowed voltage band (between
vmax and vmin) but deviates from the nominal voltage of 1 p.u. The penalty cost is calcu-
lated as:
where:
∆U is the absolute deviation from the nominal voltage in p.u. (∆U = |U − Un |).
w1 is the penalty factor (parameter ’weight’) inside the admissible voltage band in $/%
from the ’Advanced Options’ tab.
2. For situation two, the voltage U is outside the allowed voltage band (greater than vmax or
less than vmin) and the penalty cost is calculated as:
U > Un + ∆Umax , if voltage is higher than max. limit:
CV oltV iol = w2 · (∆U − ∆Umax ) + w1 · ∆U
or
U < Un − ∆Umin , if voltage is lower than min. limit:
CV oltV iol = w2 · (∆U − ∆Umin ) + w1 · ∆U
where
• If the voltages are inside the admissible band the penalty cost applied is equal to w1·∆U
• If the voltages are outside the admissible band the penalty cost applied is equal to the
penalty inside the band (w1·∆U ) plus the factor w2·(∆U −∆Ulim , with ∆Ulim being either
the maximum or the minimum limit value of the admissible band.
Figure 34.2.2 illustrates the concept of the voltage band violation cost.
34- 3
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
To find the optimal configuration of capacitors, PowerFactory applies the following steps:
• First a sensitivity analysis determines the ’best’ candidate terminal; This involves evalu-
ating the impact on the total cost (Losses + Voltage Violations) by connecting the largest
available capacitor from the user-defined list of capacitors to each target feeder terminal.
At this stage the cost of the largest capacitor is excluded.
• Terminals are ranked in descending order of total cost reduction. The terminal that pro-
vides the largest cost reduction becomes the ’best’ candidate terminal for a ’new’ capaci-
tor.
• The optimisation routine then evaluates the cost reduction at the candidate terminal using
each available capacitor from the user-defined list including the cost of each capacitor.
The ’best’ capacitor is the one that reduces the cost the most when also considering the
annual cost of that capacitor.
• Repeat step one but any terminals that have previously been selected as candidates for
capacitor installation are not included in the ranking of candidate terminals. The algorithm
stops when all terminals have had capacitors installed, or the installation of capacitors
cannot reduce costs any further.
Note: If Load Characteristics are considered, then the above algorithm will be completed for
every independent load state. See Section 34.2.5 for how the load states are determined.
34- 4
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
Feeder
Here the target feeder for the optimum capacitor placement is selected. The feeder is a special
PowerFactory element that must be created by the user before it can be selected in this dialogue
(for information about feeders refer to Chapter 13: Grouping Objects 13.6 (Feeders)).
Method
• Optimization; This option calculates the optimal placement for capacitors using the method-
ology described in Section 34.2.2. The output of the analysis is printed to the output win-
dow and any new capacitors are connected to the target terminal/s if the ’Solution Action’
- ’Install capacitors’ is selected.
• Sensitivity Analysis; Performs the sensitivity analysis that ranks the candidate terminals
according to their impact on the total loss cost excluding the capacitor cost. The output
is presented in the Output Window. This option provides a quick indication of the most
effective place for a single capacitor. No capacitors are installed if this option is selected.
Network Representation
34- 5
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
selected. The Load-flow command referenced below these radio buttons is automatically ad-
justed to the correct calculation method based on this selection.
Constraints
Here the voltage constraint limits (upper and lower) can be entered, along with a limitation for the
’Total Reactive Power of all Capacitors’ that can be added by the Optimal Capacitor Placement
tool. The total reactive power of all capacitors includes all existing capacitors along the feeder
plus any more capacitors proposed by the optimization tool.
Note: The voltage constraints are meaningless if penalty factors for deviations outside of the
nominal range are not entered as discussed in detail in Section 34.2.1: OCP Objective Function.
Energy Costs
The energy cost ($/kWh) can be entered manually or taken from an External Grid. Note, if
more than one External Grid exists in the network, the algorithm takes the first External Grid by
database ID. The calculation of the cost of the network losses is as follows:
T C = M C × 8760 × L (34.3)
where:
T C is the total cost per annum in $;
M C is the energy cost of losses in $/kWh; and
L is the total losses in kW.
Note that if characteristics are applied to the loads and the analysis uses the option ’Consider
Load Characteristics’ (see Section 34.2.5), then the losses calculation becomes a summation
over each time state considered.
Note: The default energy cost units are $/kWh. However, this can be changed to Euro or
Sterling (£) via the project settings from the main menu bar. Edit → Project. . . Project
Settings→ Input Variables tab→ Currency Unit.
Solution Action
• Report only (do not modify network); The result of the optimisation is a report to the Output
Window only, no modifications are made to the network model.
• Install capacitors (modify network). If this option is chosen, the capacitors that the op-
timization proposes for the network will be automatically installed. However, note that
the single line diagram is not automatically updated, only the network model database.
Therefore, if you want to visualize the placement of the capacitors, the ’Draw Existing
34- 6
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
Net Elements’ button must be used and the capacitors placed manually - see Chapter 9:
Network Graphics, Section 9.5 (Drawing Diagrams with Existing Network Elements). Alter-
natively, the placed capacitors can be visualized on the Voltage Profile Plot of the Feeder,
see (Viewing results on the Voltage Profile Plot) in Section 34.2.7.
On this page, the user defines the available capacitors for the OCP command. One capacitor is
entered per row. To add a new capacitor, right-click within any cell and select the option ’Insert
Rows’, ’Append Rows’ or ’Append n Rows’. The following fields are mandatory for each row:
• Ignored; If this option is checked, then the capacitor specified in this row will be ignored
by the OCP command.
• Q per Step Mvar; Here the nominal reactive power of the capacitor in Mvar per step is
specified.
• Switchable; If this option is enabled then the algorithm can use a capacitor with multiple
steps.
• Max. Step; If the ’Switchable’ option is enabled, then this option specifies the maximum
number of steps available to the optimisation algorithm. The maximum available reactive
power is therefore Max. Step ∗ Q per Step Mvar.
34- 7
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
• Cost; Important. This is the total cost of the capacitor bank per annum. This is a critical
parameter for the OCP command as the capacitor will only be installed if the losses offset
by its installation are greater than the annual cost of the capacitor.
Available Capacitors
• Allow use of each capacitor multiple times; This is the default option and it means that
every capacitor in the list can be used at more than one feeder terminal (multiple times).
• Use each capacitor only once; If this option is enabled then each capacitor can only be
placed at one terminal along the target feeder.
Treatment of 3-phase capacitors This option allows the specification of the ’technology’ type
for 3-phase capacitors. This option is only available when the ’Network Representation’ is set
to ’Unbalanced’ in the Basic Options page.
34- 8
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
If load characteristics are to be considered by the optimization algorithm, then the option ’Con-
sider Load Characteristics’ should be enabled on this page.
Load States
1. ’Use existing Load States’; If this option is selected then the system load state that is active
in the system (the load state observed as a result of a single load-flow at the current point
in time) will be used as the load state for the optimization algorithm. For example, if there
is a 1 MW load with a active characteristic that gives the current load value of 0.6 MW,
then the load used for the optimization will be 0.6 MW, not 1 MW.
2. ’Create Load States’; If this option is selected then PowerFactory automatically discretises
all load characteristics into a number of ’states’ using a sophisticated algorithm. The
algorithm iterates through every hour of the selected time period to determine the number
of unique operating load states that exist. Every operating state is assigned a probability
based on the number of times that it occurs and this probability is used to determine the
cost of losses for each state.
34- 9
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
Candidate Buses
• All terminals in feeder; If this option is selected, every terminal in the feeder is considered
as a possible candidate for a ’new’ capacitor.
• Percentage of terminals in feeder; Selecting this option and entering ’x’ percent for the
parameter means the optimization algorithm will only consider ’x’ percent of the feeder
terminals as targets (candidates) for ’new’ capacitors. The ranking of terminals is accord-
ing to the Sensitivity Analysis as described in Section 34.2.2.
This parameter determines the maximum number of iterations of the optimization algorithm
before it automatically stops. As a maximum of one capacitor is placed per iteration, this can
effectively limit the total number of capacitors that can be placed by the optimization routine.
This parameter specifies the maximum time the optimisation routine can run before it is auto-
matically interrupted.
34- 10
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
• Factor for Deviation from 1 p.u (weight); This parameter is used to determine the total
’fictitious cost’ for terminals deviating from 1 p.u. The cost is applied to each phase of
the terminal. For example, if a three phase terminal voltage is measured at 0.95 p.u for
each phase and the ’fictitious cost rate’ is $10,000/% then the total cost of this deviation
is $150,000 (5% ∗ $10,000/% ∗ 3).
Note: If no penalty costs are to be applied within the admissible band, this factor should be set
to zero. If this value
is greater than zero, the program will add costs to all terminals with voltage different than 1.0 p.u.
• Additional Factor outside range [vmin, vmax] (weight2); This parameter can be used to
apply an additional weighting factor to the first deviation factor when the terminal voltage
falls outside the voltage limits defined on the ’Basic Options’ page. The factor is cumu-
lative, so using the previous example and a additional factor of 20,000/% with a vmin of
0.975, the fictitious cost becomes $300,000 (5% ∗ $10,000/% + 2.5% ∗ $20,000/%) ∗ 3.
Note: The values for the two voltage penalties ’weight’ and ’weight2’ should be carefully
chosen because the target optimization function is a sum of three objective functions (losses,
capacitor cost and voltage deviation cost). If the voltage weights are too high, the algorithm
might not consider the other two
objectives. Likewise, if they are very low, the algorithm may not consider voltage violations at all.
The automatic printing of the optimisation results can be disabled by unchecking this option.
34.2.7 Results
The last three OCP tool-bar buttons give access to the optimization results.
When pressing the Show Nodes with New Capacitors icon ( ), after a successful optimization
is complete, a list appears of all terminals where capacitors are proposed for installation.
Pressing the Show New Capacitors icon ( ) shows a list of proposed new capacitors.
This Output Calculation Analysis icon ( ) generates a report with the results of the sensitivity
analysis and the final optimization procedure.
34- 11
DIgSILENT PowerFactory CHAPTER 34. OPTIMAL CAPACITOR PLACEMENT
Following a successful optimization, the ’new’ capacitors can be visualized on the voltage profile
plot of the feeder. To enable this, navigate to the voltage profile plot display after the optimization
and click the rebuild button. An example of such a plot showing the placed capacitors is
shown in Figure 34.2.7.
Figure 34.2.7: Voltage profile plot showing the new capacitors after an Optimal Capacitor Opti-
misation.
The capacitors placed by the OCP command can be removed at any time after the analysis has
been completed by using the Remove previous solution icon ( ). This button is like an ’Undo’
for the ’Optimal Capacitor Placement’.
34- 12
Chapter 35
Cable Sizing
35.1 Introduction
The chapter presents the PowerFactory tools for sizing cables, according to the Cable Rein-
forcement method and the International Standards method (IEC 60364-5-52, NF C15-100, BS
7671, NF C13-200).
• International Standards Method. Verify the suitability of the assigned Types or recommend
/ create Types according to the selected International Standard.
• Cable Reinforcement Method. Verify the suitability of the assigned Types or recommend /
create Types according to user-defined voltage, thermal, and short-circuit constraints.
The optimization may be performed on a network model without any cable/line types yet defined,
and is conducted for a single value of load.
To access the Cable Sizing command (ComCabsize), select the Change Toolbox icon ( ),
Distribution Network Tools, and then select the Cable Sizing icon ( ), as illustrated in Figure
35.1.1.
1
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
35- 2
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
Method
Select to execute the Cable Sizing command based on either:
Note: Standards based cable ampacity, cross-section, derating factors, and impedances are
stored in the Database → System→ Modules→ Cable Sizing folder.
Lines/Feeders
• If Method is set to International Standards, specify the Line/s for the Cable Sizing com-
mand.
35- 3
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
• If Method is set to Cable Reinforcement, specify the Feeder/s for which Cable Reinforce-
ment Analysis is to be conducted.
Mode
• If Verification is selected, then the command will assess the suitability of the existing
line/cable types:
– For the International Standards Method, the command will verify the suitability of the
line/cable in accordance with the selected standard.
– For the Cable Reinforcement Method, the command will verify the suitability of the
line/cable in accordance with the selected constraints. At least one of Thermal Load-
ing Limits, Voltage Limits, and Short Circuit Loading Limits must be selected.
• If Recommendation is selected:
– For the International Standards Method, the command will create new cable types
for the low voltage and medium voltage grids according to the selected international
standard. The cable derating factor will be set based on the installation method,
specified on the Line Elements Cable Sizing page. Types will be created in the target
folder, or if no folder is selected, inside the Equipment Type Library.
– For the Cable Reinforcement Method, the command will recommend line/cable types
for those lines without Types yet defined, and those that cause violations of the spec-
ified constraints. Reference to a folder that contains the overhead / cable types to
be considered should be provided. This may be a global library, however it is recom-
mended that the available types be stored in a local project library. PowerFactory will
automatically select the lines/cables with a voltage rating suitable for the line element.
Note: Line/cable cost data in $/km is entered on the Cable Sizing page of the line type.
Network Representation
Balanced, positive sequence or Unbalanced network representation can be selected. The
Load-flow command referenced below these radio buttons is automatically adjusted to the ap-
propriate calculation method based on this selection.
35- 4
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
Constraints options are only applicable if Cable Reinforcement is selected on the Basic Options
page.
• Global Constraints For All Lines. This is the default option, and overrides the individual
component thermal limits. If enabled, a maximum thermal loading percentage must be
entered in the Maximum Thermal Loading field.
• Individual Constraint Per Line. Select this option to automatically consider each compo-
nents unique thermal rating. Note, the thermal rating is specified in the field Max Loading
within the Load Flow tab of each line.
• Global Constraints For All Terminals (absolute value). If selected, a lower voltage limit
must be entered in the Lower Limit of Terminal Voltage field.
• Individual Constraint Per Terminal. Note, the voltage limit is specified in the Load Flow tab
of each terminal.
35- 5
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
• Global Constraints For All Feeders. If this option is selected, then the maximum voltage
drop must be entered in the Maximum Voltage Drop filed.
• Individual Constraint Per Feeder. Note, the maximum voltage drop is specified in the Load
Flow tab of each feeder.
Note: Depending on the system topology, on the loads and on the length of the feeder, it might
not be possible to avoid voltage drop violations of some terminals or feeders. This can be
mitigated by the installation of a ca-
pacitor/s during a post-processing optimization. See Chapter 34: Optimal Capacitor Placement.
35- 6
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
Output
Various output options for the optimization results are possible.
• Report Only: Any new types for cables and overhead lines are listed in a pre-defined
report displayed in the Output Window.
• Modification of Cables Type in the Existing Network : If this option is selected, the Re-
port will be generated and the optimization routine will update the network model with the
proposed types. Note that this option is only available when the Mode is set to Recom-
mendation on the Basic Options tab.
• Create a New Variation with Recommended Cables: If this option is selected, the Report
will be generated and the optimization routine will create a Variation with the proposed
modifications. Note that this option is only available when the Mode is set to Recommen-
dation on the Basic Options tab.
Report
This is a reference (pointer) to the result report output. For more information about the result
language format see Chapter 17: Reporting and Visualizing Results, Section 17.2.
Results
This is a reference (pointer) to the results output. It is possible to select an alternative results
file.
If International Standards and Recommendation is selected on the Basic Options page, then
define the Advanced Options as follows.
35- 7
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
Figure 35.2.4: Advanced Options page for Cable Sizing International Standards Method
Cable Sizing
• Define the Safety margin for the cable current capacity in percent.
• Optionally select to Set cable electrical parameters according to the IEC 60909 to set
cable resistance and reactance parameters from conductor cross-section and material
according to the IEC 60909 calculation.
• Select whether to Use design parameters of the Cable Sizing command, in which case
a new type will be created according to the Type design parameters from the command.
Or, select to Use design parameters of the assigned cable type, in which case a new
Type will be created according to the existing line Type from its rated values (current and
cross-section).
If Cable Reinforcement is selected on the Basic Options page, then define the Advanced Op-
tions as follows.
35- 8
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
Figure 35.2.5: Advanced Options page for Cable Sizing - Cable Reinforcement Method
Network Consistency
This option, if enabled forces the optimization routine to complete a final “consistency” check
based upon one of two criteria:
To explain what is meant by “feeding cable” and “leaving cable” consider the example feeder
shown in Figure . This network is defined as a single “feeder” that begins at the “Source”
terminal. Consider now “Terminal A”. This terminal is supplied by “Line A” and is also connected
to two other lines, “Line B” and “Line C”. In this case, for “Terminal A”, “Line A” is considered as
a “feeding cable” and lines B and C as “leaving cables”.
Considering now “Terminal B”, Lines B and C are feeding cables whereas Lines D and E are
“leaving cables”. “Feeding cables” are defined as those cables with a power flow direction that is
into the connecting node. For a radial feeder with no embedded generation, this is generally the
cables closest to the beginning of the feeder. All other cables are defined as “leaving cables”.
In consistency check option 1, the cross sectional area (or nominal current) of the feeding cables
are summated and compared with the sum of the cross sectional area (or nominal current) of
the leaving cables for each terminal. If the sum of the leaving cables is greater at any terminal
then the network is considered non-consistent.
For consistency check option 2, the smallest feeding cable is compared with the largest leaving
cable for each terminal. If the largest leaving cable is bigger than the smallest feeding cable,
then the network is considered non-consistent.
35- 9
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
Recommended Options
Available when Mode is set to Recommendation on the Basic Options tab. It is possible to
specify the Max. Voltage Deviation in Type Selection, and to optionally Assign Missing Line
Types.
35- 10
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
If the Method International Standards and Mode Recommendation is selected, define the cable
Type parameters.
35- 11
DIgSILENT PowerFactory CHAPTER 35. CABLE SIZING
35- 12
Chapter 36
Motor Starting
36.1 Introduction
The chapter presents PowerFactory tools for performing motor starting simulations using the
Motor Starting command (ComMot). A Motor Starting analysis typically includes an assessment
of the following:
• Voltage sag.
• Ability of motor to be started against the load torque.
• Time required to reach nominal speed.
• Supply grid loading.
• Starting methodology (Direct Online, Star-Delta, Variable Rotor Resistance, Reactor, Auto
Transformer).
The Motor Starting command makes use of the PowerFactory stability module by providing a
pre-configured shortcut for easy-to-use motor starting analysis. Pre-selected and pre-configured
plots (VIs) are automatically created and scaled with full flexibility for user-configuration. In
PowerFactory , there are two “Simulation Types” that may be used to perform a motor starting
simulation:
2. Static Simulation, which will execute a load flow calculation when the motors are discon-
nected from the system. Then, it will execute a short-circuit calculation, using the complete
method, simultaneously with the occurrence of the motors being connected to the network.
Finally, a load flow calculation will be executed after the motors have been connected to
the system.
To define the starting method of a motor, a Type must first be selected. This sub-section de-
scribes how to define a motor and (optionally) define a motor driven machine (mdm).
1
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
1. On the asynchronous machine Basic Data page, press select ( ) and then choose an
existing or define a new asynchronous machine Type. Press OK twice.
2. From the Data Manager or single line graphic, double-click the asynchronous machine to
open the element dialogue.
Directly Online
For the direct online starting method, select Directly Online.
Star-Delta
For star-delta starting:
1. Select Star-Delta.
2. For a dynamic motor starting simulation, on the RMS-Simulation page, Advanced tab:
• Select Triggered by... either Time or Speed.
• Enter a simulation time for the motor to switch from the star winding to the delta
winding Switch to ’D’ after, or a speed for the motor to switch from the star winding
to the delta winding Switch to ’D’ at Speed >=.
36- 2
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
Reactor
For reactor starting:
1. Select Reactor.
2. For a static motor starting simulation, on the Complete Short-Circuit page:
• Enter the Rated Apparent Power and Reactance.
3. For a dynamic motor starting simulation, on the RMS-Simulation page, Advanced tab:
• Select Triggered by... either Time or Speed.
• Enter the Rated Apparent Power, Reactance.
• Enter the time at which the reactor should be removed Bypass after, or speed at
which the reactor should be removed Bypass at Speed >=.
Auto Transformer
For auto transformer starting:
Selection of a motor driven machine model provides enhanced flexibility to define the torque-
speed characteristic of the motor. A motor driven machine can be user-defined, or selected from
a range of Compressors, Fans, and Pumps available in the PowerFactory Global Library. Refer
to the asynchronous machine Technical Reference Asynchronous Machine and motor driven
machine Technical Reference for further details Motor Driven Machine.
To define a motor driven machine, in a Data Manager or on the Single Line Graphic, right-click
on the asynchronous machine and:
36- 3
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
2. Select an existing motor driven machine from the project library, or global library
Database → Library→ Motor Driven Machine.
Note: Motor driven machines may also be defined for Synchronous motors by selecting the
“Composite Type Sym frame” (or creating a user-
defined frame). Refer to the mdm Technical Reference for further details: Motor Driven Machine.
1. Select the motor or group of motors for the motor starting simulation.
Motor(s)
The motors selected for the Motor Starting command.
Simulation Type
Select either:
Note: Load Flow, Initial Conditions, Run Simulation, Simulation Events, and Results Def-
initions objects in the active study case will be overwritten by the Motor Starting command.
Simulation Method
Either:
36- 4
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
Monitoring
Click Select ( ) and select the Additional Terminals to be monitored for the Motor Starting
simulation.
IIthr 2 × Tthr
tmax = (36.1)
Istart
Where:
Istart = The value of motor starting current calculated from the Motor Starting simulation.
IIthr = The rated short-time (1s) current in kA defined in the Line Type.
Tthr = 1 second
tmax = The maximum permitted starting time, without exceeding the feeding cable thermal limit.
If the starting time reported by the Motor Starting command tstart is less than tmax , then the
feeding cable thermal limit is not violated.
Report
Check Report to report results to the output window. By default, report results include voltage
before startup, minimum voltage during startup, voltage after startup, starting current and power
factor, successful start, and starting time. The user can optionally modify report Settings.
36- 5
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
Report
Optionally modify report Settings and Results.
Detailed models are: Asynchronous motors with type Asynchronous Machine Type (TypAsmo),
and which have the option Consider Transient Parameter checked on the VDE/IEC Short-Circuit
page or Complete Short-Circuit page of the Type dialog. This provides a more precise result for
the motor starting time.
Following a motor starting simulation, PowerFactory will automatically create a plot (VI) for
each motor showing the active power (m:Psum:bus1), reactive power (m:Qsum:bus1), current
(m:I1:bus1), speed (s:speed), mechanical and electrical torques (c:xmt and c:xmem) and volt-
age of the motor terminal (m:u1). A second plot is created showing the voltage of monitored
Terminals. Flexible data results variables available following a dynamic Motor Starting simula-
tion are found on the motor data Motor Starting Calculation page.
36- 6
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
Following a motor starting simulation, new calculation variables are available for asynchronous
(ElmAsm) and synchronous (ElmSym) motors. For the Static Simulation, these variables are
found on the Motor Starting Calculation page. Results variables are described in the preceding
sub-section.
• Detailed models: The electrical and mechanical torque are calculated for the minimum
voltage value during the motor start up. A detailed model is considered to be successfully
started up if the mechanical torque is always smaller than the electrical torque from zero
speed up the peak of the electrical torque.
Consider the following dynamic motor starting example for a single 6.6kV asynchronous motor
shown in Figure 36.3.1.
36- 7
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
The Variable Rotor Resistance starting method has been selected, with three values of time-
dependent resistance, as shown in Figure 36.3.2.
A dynamic, balanced Motor Starting simulation is executed and run to 10 seconds, with “Source
36- 8
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
Following execution of the command, PowerFactory automatically produces plots showing motor
quantities of interest (as described in section 36.3.3.1) and monitored voltage results as shown
in Figure 36.3.4 and Figure 36.3.5.
36- 9
DIgSILENT PowerFactory CHAPTER 36. MOTOR STARTING
36- 10
Chapter 37
37.1 Introduction
This chapter presents the tools available in PowerFactory to perform arc-flash hazard analysis,
including technical background, a description of the Arc-Flash Hazard Analysis command dia-
logues, and an example calculation. The Arc-Flash Hazard Analysis command (ComArcflash)
can be accessed on the Main Toolbar under the Protection group by selecting the Arc-Flash
Hazard Analysis icon .
Note: DIgSILENT accepts no responsibility for the use of the Arc-Flash Hazard Analysis
command, or for the consequences of any actions
taken on the basis of the results. Use the Arc-Flash Hazard Analysis command at your own risk.
Note: By default, results are entered and displayed in SI units. To change to British Imperial
units, on the Main Menu, select Edit → Project Data→ Project, select the pointer to Project
Settings, and on the Input page, select the Units as “English-Transmission” or “English-Industry”.
37.2.1 General
Arc-Flash Hazard Analysis calculations are performed to determine “...the arc-flash hazard dis-
tance and the incident energy to which employees could be exposed during their work on or near
electrical equipment” [IEEE1584-2002][12]. One outcome of an Arc-Flash Hazard Analysis is to
determine employee Personal Protective Equipment (PPE) requirements.
1
DIgSILENT PowerFactory CHAPTER 37. ARC-FLASH HAZARD ANALYSIS
• IEEE-1584: Conductor Gap, Distance Factor, Working Distance, and Enclosure type.
• NFPA 70E: Working Distance.
When an Arc-Flash hazard analysis is conducted using the IEEE-1584 method, PowerFactory
calculates the arcing current based on the equations presented in the standard. Internally,
PowerFactory calculates the arc resistance required to limit the fault current to the calculated
value. When the NFPA method is selected, the bolted fault current is used for the calculation.
For either method, when the user selects to use relay tripping times, a second calculation is
performed at a reduced fault current (as specified by the user) and the associated (generally
longer) clearing time. PowerFactory compares the results of these two cases and reports on the
worst case result.
The IEEE-1584 Standard provides guidance on the selection of Conductor Gap and Distance
Factor. Figure 37.2.1 shows the recommended values from the standard.
Figure 37.2.2 shows the Terminal Element dialogue where parameters required for the Arc-
Flash Hazard Analysis Calculation are entered. If Accessible Location is selected, the user may
enter the required input parameters for Arc-Flash calculations. If the Terminal resides within a
Substation, Equipment Data can be set to either Local Values or From Substation. When From
Substation is selected, a pointer to the relevant substation is shown in the dialogue.
37- 2
DIgSILENT PowerFactory CHAPTER 37. ARC-FLASH HAZARD ANALYSIS
Additional data required for Fault Clearing Times is discussed later in the chapter.
Calculation Method
Select either:
• according to IEEE-1584[12], or
• according to NFPA 70E[14].
Fault Location
Select either:
• All Accessible Locations, i.e. all Terminals where Accessible Location is selected on the
Protection page of the Element dialogue.
37- 3
DIgSILENT PowerFactory CHAPTER 37. ARC-FLASH HAZARD ANALYSIS
• Use Fixed Times. In which case, detailed protection models are not required by the cal-
culation, and the following should be defined:
– If Get Time from Global is selected, then define the Protection Tripping Time and
Breaker Opening Time.
– If Get Time from Local is selected, then define the Maximum Time, the maximum fault
clearing time used by the Arc-Flash command. The clearing times used by the arc-
flash command are taken from the Protection page of (ElmCoup) and (ElmSwitch)
Elements, with Switch Type set to “Circuit Breaker” on the Basic Data page.
• Use Relay Tripping. In which case, the tripping time is based upon the relay characteristic
entered in the protection model (provided that on the relay(s) Description tab, the Status
is set to “Approved”). The Arc-Flash Hazard Analysis command performs Incident Energy
calculations using this tripping time, and the tripping time based on a reduced fault current,
as specified on the Advanced Options page (parameter Arcing Current Variation). If Use
Relay Tripping is selected, then select to:
– Get Time from either:
* Initial, in which case the arc-flash command determines the fault clearing time
based on the longest fault clearing time of any element connected to the faulted
terminal. For example, if two parallel lines are connected to a faulted terminal,
and the first line has a fault clearing time of 1 s, and the second line has a fault
clearing time of 2 s (where both clearing times are based on the Initial fault cur-
rent) the arc-flash command will take 2 s as the fault clearing time.
* Iteration, in which case the arc-flash command determines the fault clearing time
from a Short-Circuit Trace calculation. For example, if two parallel lines are con-
nected to a faulted terminal, and the first line has a fault clearing time of 1 s.
Then, after the first line is cleared, the second line sees a higher fault current,
and subsequently clears the fault at 1.5 s. The arc-flash command takes 1.5 s as
the fault clearing time.
– Define the Maximum Time, the maximum fault clearing time used by the Arc-Flash
command.
Short-Circuit Calculation
Pointer to the Short-Circuit Calculation command.
Show Output
If selected, the pointer to the Output of Results can be modified. See Section 37.4 for details.
Note: When there are multiple sources of fault current to a faulted Terminal with different fault
clearing times, PowerFactory takes the maximum clearance time of the connecting branch for
all branches.
• Define the Arcing Current Variation, that is, the percentage the bolted-fault current is re-
duced by for the second calculation (see 37.3.1).
37- 4
DIgSILENT PowerFactory CHAPTER 37. ARC-FLASH HAZARD ANALYSIS
PPE-Ratings
Select either:
• Acc. to NFPA 70E[14], in which case default values from the standard are used.
• User-Defined, in which case user-defined Category values can be entered in the PPE-
Categories table after inserting or appending rows. Note that values should be entered in
ascending order.
Results Boxes
Terminals can be colored according to calculated PPE category, and the calculated flash pro-
tection boundary. To set the diagram coloring mode, select the Diagram Coloring icon, and then
under 3. Other, select Results, and then the desired coloring mode.
Diagram Colouring
To show the default set of Arc-Flash results on the Single Line Graphic (Boundary Distance,
PPE Category, and Incident Energy), right-click the Terminal results box and select Format for
Short Circuit Nodes → Arc-Flash. Arcing Current and Fault Clearing Time results can also be
displayed.
The Arc-Flash Reports (ComArcreport) dialogue can be used to configure the output of tabu-
lar results from an Arc-Flash calculation. Additionally, “Database” and “Template” files can be
selected in order to facilitate the preparation of Arc-Flash Hazard warning labels. The following
inputs are available in the Arc-Flash Reports dialogue.
Note: If the incident energy exceeds the incident energy at the maximum PPE category, the
37- 5
DIgSILENT PowerFactory CHAPTER 37. ARC-FLASH HAZARD ANALYSIS
result is “N/A”.
The “Create Label Database” option, handled by a DPL script, triggers an export of the selected
variables to a Microsoft Excel file at the selected location. After the export of label data, a copy
of the given label template will be stored at the same location as the Excel file and renamed
accordingly. (i.e. if the Excel file is called “ArcFlash.xls”, the copy of the template will be called
“ArcFlash.doc”). If a template file with this name already exists, the user will be prompted if it
should be overwritten. The template copy will be opened after the export is completed. The
user can use the mail merge feature of Microsoft Word to create a series of labels based on the
template and the Excel data file. To link the template copy with the database:
• Go to the “Mailings” tab, in the “Start Mail Merge” group, and click on “Select Recipients”.
• From the drop down menu, select “Use Existing List...”, and then select the label database
Excel file.
• Still on the “Mailings” tab, in the “Preview Results” group, click on “Preview Results” to
view the label(s).
• To store or print the finished labels, still on the “Mailings” tab, in the “Finish” group, click
on “Finish & Merge”.
For more information about the mail merge and how to create a template, refer to the MS-Word
help.
Also note that data can be copied from the Flexible Data tab of the Data Manager for post-
processing and creation of labels.
Consider the example network shown in Figure 37.5.1, where there are two parallel lines con-
nected to a Terminal “Terminal”. For this example, the two lines have different protection char-
acteristics, as shown in Figure 37.5.2.
37- 6
DIgSILENT PowerFactory CHAPTER 37. ARC-FLASH HAZARD ANALYSIS
• With Use Fixed Times and Get Time from Global selected, and with a total fault clearing
time of 0.12 s, the key results are as follows:
– Incident Energy: 58 J\cm2 .
– Boundary Distance: 583 mm.
– PPE Category: 3.
37- 7
DIgSILENT PowerFactory CHAPTER 37. ARC-FLASH HAZARD ANALYSIS
• With Use Fixed Times and Get Time from Local selected, and with a total fault clearing
time of 0.10 s, the key results are as follows:
Of particular interest is the difference between the results for the case where Get Time from
Initial is selected, versus Get Time from Iteration. The former case gives conservative results
(in this example), whilst in the latter case, the fault clearing time is faster due to recalculation of
the fault current (as discussed in Section 37.3.1), and thus the calculated PPE requirement is
lower.
A label is produced for “Terminal” (as described in 37.4), for the method where Relay Tripping,
and Get Time from Initial is selected. The resultant label is shown in Figure 37.5.3.
37- 8
Chapter 38
Protection
38.1 Introduction
PowerFactory enables the user to define a protection scheme by integrating protective devices
into the system defined by a project’s network model. The software can be used to assist with
the coordination of protective devices and for generating graphical representations of protection
system characteristics. Models of both generic and manufacturer specific relays are available
for use with the software. Graphical plots of the following characteristics are possible:
This chapter will describe how to use the protection analysis functions included in the Power-
Factory software.
This section shall provide an overview of the modelling philosophy behind protection devices in
PowerFactory. Although it is not entirely necessary for the user to have an understanding of the
modelling approach in order to use PowerFactory’s basic protection functions an understanding
will help the user to appreciate the structure of the dialogues encountered whilst setting up a
protection scheme. Users who wish to move straight into the creation of a protection scheme
may wish to skip this section.
Protection devices form a group of highly complex and non-uniform power system devices. Any
program tasked with modelling these devices faces a difficult dilemma. On the one hand, the
relay models should be as flexible and versatile as possible to ensure that all types of protection
1
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
relays can be modelled with all of their features. On the other hand, the relay models should be
as simple as possible in order to reduce the amount of work and knowledge needed to define
power system protection devices.
This dilemma is solved in PowerFactory by modelling protection devices in three different levels.
These levels are:
Each of these levels fulfill a different role in the modelling of a protection device. Figure 38.2.1
shows the relation of these three levels graphically.
The relay frame specifies the general relay functionality using a diagram in which functional
blocks known as slots are connected by signals. Slots for timers, measurement and logic ele-
ments can be defined. It defines how many stages the relay consists of and how these stages
interact. However, the relay frame has no intelligence, as it does not specify any algorithmic
details. Each slot is merely defined by the number of input and output signals. The signal lines
define how these slots are interconnected. Relay frames are similar to the frames of composite
models and are created in the same way. See Chapter 25:Stability and EMT Simulations, Sec-
tion 25.9.2 (The Composite Frame) for more information. Figure 38.2.2 shows an example of a
relay frame for a two stage overcurrent relay. The illustrated relay frame contains a measure-
ment slot, two instantaneous overcurrent slots (each representing one stage of the overcurrent
relay) and a logic slot. Connections between slots are illustrated by lines with arrowheads.
38- 2
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The relay type associated with a specific relay frame, is defined by selecting a block definition
for each slot of the frame. Assigning a block definition to a slot converts the slot to a block,
representing a mathematical function which describes the behaviour of a physical element. For
example the type of filter used for processing the input signals, or the type of relay operat-
ing characteristic. Since many relays support more than one type of characteristic a set of
characteristics or functions can be defined. In addition, the relay type specifies the ranges for
the various relay settings, including whether the parameters are set continuously or in discrete
steps.
The relay type defines the library information for a specific manufacturer’s relay, which does not
yet have any settings applied to it. The complete information described in the data sheet and
manual is contained in the relay type. An advantage of this split concept is the possibility of
re-using a relay frame for more than one relay type.
Figure 38.2.3 shows the type dialog associated with an instantaneous overcurrent slot as an
example. Parameters that normally can not be influenced by the user, like the Pick-up Time, are
defined in the type as well.
38- 3
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The relay element models the actual relay in a power system. It refers to a relay type in the
library, which provides the complete relay structure including the setting ranges for all parame-
ters. The actual settings of the relay, e.g. reach or the pick-up settings, form part of the relay
element settings, considering the range limitations defined by the relay type.
CT and VT models form the input link between a relay element and the electrical network.
For the relay output a tripping signal is sent directly from the relay element to a breaker in
the modelled system. To simulate busbar protection, or any tele-protection schemes, a relay
element can operate more than one breaker.
Figure 38.2.4 shows the block element dialog belonging to the type dialog in Figure 38.2.3.
38- 4
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
In order to define a protection scheme it is first necessary to construct a model of the network
to be protected. Once this is complete, it is possible to begin.
A scheme is defined by adding relays (or fuses) and any corresponding instrument transformers
at appropriate places within the single line graphic. Once the hardware has been defined relay
settings and any relay output logic are defined.
The PowerFactory protection modelling features have been designed to support both general
and detailed definition and analysis of power system protection schemes.
For general definition and analysis the software offers a global library containing a suite of
predefined generic relays, fuses and instrument transformers which may be used to design
schemes without making reference to the specific details of any particular relay manufacturers
range of products. This can often be of use during the early stages of the definition of a pro-
tection scheme. By modelling with generic protection devices the user can confirm the general
functionality of a scheme before relay procurement decisions have been finalised.
For detailed definition and analysis, the user may implement detailed manufacturer and relay
specific models. In many cases, models of specific relays are available predefined and access
to these models can be offered to the user. In some instances a model will not exist. If this is
the case, advanced users may be able to define their own relay models.
The remainder of this section will briefly explain how to add predefined protective devices to a
network model.
Protection devices must be placed within cubicles. Editing or creating protection devices in a
cubicle can be done in several ways:
38- 5
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• by right-clicking a switch-symbol in the single line graphic as illustrated in Figure . This will
bring a pop up menu with the options Edit Devices and New Devices.
• by editing the object which is to be protected (line, transformer, load, etc.) and pressing
the button at the cubicle field. See Figure 38.3.2 for example. The option Edit Devices
will open a list of all protection devices in the cubicle. New devices may then be created
with the icon.
• by opening a detailed graphic of a substation and right clicking on the specific part of the
substation to which the relay should be added. This will bring a pop up menu with the
options Edit Devices and New Devices. The areas which can be right clicked in a typical
detailed substation graphic are ringed in Figure 38.3.2.
Note: To add a device by right-clicking on a switch, make sure the element associated with the
switch is deselected before right-clicking directly on the switch. If successfully completed, only
half of the element will be marked as selected.
38- 6
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
In all cases, selecting the option to create a new protection device will open up a list with the
following options:
38- 7
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
If selected, each of these options will open a dialogue to setup the device that is to be created.
38.3.2 Locating Devices which have been added to the network model
Once placed in the network there are three main ways to locate protective devices.
The single line diagram can be coloured to indicate the location of protective devices. To do this
click the diagram colouring button from the local graphics window icon bar, then select:
protection tab → 3. Others→ secondary equipment→ Relays, current and voltage transformers.
The location of these devices should now be indicated in the single line diagram. If the protection
tab is not present within the dialogue which appears when the diagram colouring button is
pressed, select:
tools → User settings→ the functions tab→ Check the protection checkbox.
Protective devices can be located by selecting the edit relevant objects for calculation button
from the main icon bar and browsing through the relay elements and types in the object filter.
A relay entry in the data manager or object filter may be used to locate the relay in the single line
graphic. This is achieved by right clicking on the relay entry and selecting mark in graphic from
the contextual menu which appears. The relay will then be selected in the single line diagram.
Section 38.3.1: Adding protective devices to the network model, explained the initial steps that
should be taken in order to create a new protective device. When a new device is created within
a network model there are a number of parameters to define in the dialogue which appears.
This section will describe the basic steps that should be completed in order to specify these
parameters for overcurrent relays and fuses. The section will also describe how to perform
graphical analysis in the form of a time-overcurrent plot.
The basic data tab in the relay model (ElmRelay) dialogue is used to select the precise relay type
and the settings to apply to the relay. It can also be used to select the instrument transformer(s)
through which it will interface with the power system. See Fig. 38.4.1 for an example of the
basic data tab dialog.
Before the relay can be configured the relay type must be selected. This is achieved by pressing
the button at the Relay Type field and selecting a device from the appropriate library. The
settings to be applied to the relay and the instrument transformers are defined within the slot
definition list. Without a specified type the Slot Definition list is empty and the relay is not
38- 8
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
functional. After a relay type has been selected, the Slot Definition list will be filled automatically
with the correct slot elements corresponding with the functionality of the selected relay.
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.
Instrument transformers can be assigned to relays in numerous ways. If the cubicle in which
the relay has been installed does not contain any instrument transformers then create VT and
create CT buttons will appear at the bottom of the dialogue once the relay type has been se-
lected. By clicking on these buttons it is possible to create and select an appropriate device
which will be assigned to the same cubicle as the relay by default. Alternatively, if instrument
transformers already exist in the cubicle then these will be assigned to the relevant relay slot
element automatically. If the default instrument transformer selected in the slot element needs
to be changed, this can be achieved by double clicking on the slot element.
The Application and Device Number fields are for documentation purposes only. The Location
field is automatically read from the cubicle the relay is stored in. By default PowerFactory will
assign the relay with control of a switch element which is installed in the same location as the
relay. In some circumstances the switch which should be controlled is not in the same location
as the relay. If this is the case the relay can be assigned with a reference location corresponding
with the location of the switch which should be controlled.
This tab can be used to enter the minimum and/or maximum fault currents occurring at the
location of the relay. These values are used to scale the Time-Overcurrent plot according to the
given fault currents. They can be entered either manually or calculated with the Short-Circuit-
Command.
Note: The currents entered on this page will not affect the relay model. They are for plotting
purposes only.
38- 9
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
A new current transformer (CT) can be created as described in section 38.3.1 (Adding protective
devices to the network model). Alternatively a CT can be created by using the Create CT button
in the relay model dialog. The dialogue as depicted in Figure 38.4.2 will then pop up.
38- 10
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
When a CT is created it is stored in the cubicle that was right-clicked or in the cubicle the relay
is stored in. The Location fields Busbar and Branch will be set automatically in both cases.
A current transformer needs a current transformer type if it is required to have a tap ratio.
Otherwise, the only ratio available is 1A/1A, as depicted above.
• to select the cubicle the CT is located in. For instance, the CT may actually be located in
a different cubicle than the relay it was created with.
• 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 may be 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).
The primary connection type is only available for 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
38- 11
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• 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 trans-
former type.
The current transformer type dialogue, as depicted in Figure 38.4.3, defines the single phases
of a CT. The information about the connection of these phases (Y or D) is defined in the CT
element that uses the CT type.
The current transformer type defines the primary and secondary taps of the transformer. The
Additional Data tab is used only when the detailed model tick box is selected. The detailed
model considers saturation of the transformer. The accuracy parameters to be set are:
38- 12
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
A new voltage transformer (VT) can be created as described in section 38.3.1 (Adding protective
devices to the network model). Alternatively a VT can be created by using the Create VT button
in the relay model dialog. The dialogue as depicted in Figure 38.4.4 will then pop up.
When a VT is created it is stored in the cubicle that was right-clicked or the cubicle the relay is
stored in.
A voltage transformer needs a voltage transformer type, if it is required to have a tap ratio. The
Location field is used either
• to select the cubicle the VT is located in. For instance, the VT may actually be located in
a different cubicle than the relay it was created with.
38- 13
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
After selecting the type and the setting of the VT, its set ratio is shown in the dialogue (Ratio).
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 con-
nection type. The available tap range is defined in the secondary winding type. A voltage
transformer has at least one secondary winding. If no type is selected for the first secondary
winding, it is assumed to be ideal and has the standard tap range 100V-130V available. 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 38.4.5.
A secondary winding element is needed when a voltage transformer with two or more secondary
windings has to be modelled. The edit dialogue for the voltage transformer provides parameters
to define the first secondary winding.
38- 14
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The secondary winding element requires a type and a reference to the voltage transformer. The
tap settings range is defined by the windings type.
The voltage transformer type, as depicted in Figure 38.4.8 defines the primary winding of the
voltage transformer. The secondary windings are defined in the voltage transformer element.
38- 15
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The secondary winding type, as depicted in Figure 38.4.9, defines the burden and tap range for
one phase of a voltage transformer. The phase connection type (Y, D, etc.) is defined in the
secondary winding element. The secondary tap settings defined in the secondary winding type
determine the available taps for the secondary winding element.
38- 16
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The fuse model is implemented as a special instantaneous overcurrent relay which does not
need a current transformer. Typically a fuse will provide single phase tripping when the current
in the fuse element exceeds the current specified by the fuses melt characteristic. Optionally,
three phase tripping can be offered whereby the tripping of all phases will occur if the current in
any one fuse element exceeds the current specified by the fuses melt characteristic.
The user can choose whether the total clear curve or the minimum melt curve is used to calcu-
late fuse operating times. An example of these curves is shown in Figure 38.4.11.
38- 17
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
In the optimization tab, the fuse can be excluded from the open-tie-optimization-algorithm (see
Chapter 33, Section 33.4: Tie Open Point Optimization). This option is to be considered only if
the Fuse Type is set to something other than Fuse.
38- 18
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
As discussed in section 38.2 (General approach to protection modelling in Power Factory) all
relay models contain slots which are placeholders for block definitions. There are many types
of block definition and each type has a different function. By interconnecting different slots
containing block definitions in different ways, and offering the user the ability to fine tune the
block definition by entering their own parameters, it is possible to produce relay models with
a large variety of operating characteristics. It is even possible for the user to define their own
types of protection device. The creation of user defined protection devices is covered in the
section 38.7 (Building a Basic Overcurrent Relay Model).
The blocks contained within a relay are listed in the slot definition section of the relay model
dialogue. In general the user will need to define parameters within these relay blocks. The
settings dialogue can be reached by double clicking on the block of interest in the net elements
column.
The measurement block uses the ’raw’ signals produced by the current or voltage transformers
to calculate ’measured signals’.
The measurement block allows for setting the nominal current and voltage. Both are limited
38- 19
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
by the measurement unit type. If a relay does not need a nominal voltage (i.e. in the case of
an overcurrent relay) or if there is only one nominal value to choose from, the nominal voltage
and/or current field will normally be disabled.
The directional block calculates the angle between a ’polarization’ voltage or current phasor and
an ’operating’ current phasor. The relative angular position of the polarization current or voltage
phasor can be selected. A tripping condition is considered to be present if the angle between
the operating and polarization phasor is less than 90◦ and if the magnitude of the phasors are
above a setting threshold. This principle is shown in Figure 38.4.13.
The polarization quantity Apol is rotated over the angle MT , known as the Max. Torque Angle
which is set in the relay edit dialogue. The rotated polarization quantity A0pol defines a half plane
which forms the first tripping condition. The second tripping condition whereby the magnitude
of the operating quantity must be in excess of a setting threshold is illustrated by the dashed
semicircle.
38- 20
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
More details about the polarization methods and the tripping conditions can be found in the
Appendix C: Technical References of Models. An example of a directional block dialogue can
be seen in Figure 38.4.14.
The instantaneous overcurrent block allows for the setting of the pickup current and the time
setting. The setting ranges are defined by the type. See Figure 38.4.15.
38- 21
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The instantaneous overcurrent block is a combination of a direct overcurrent relay and an op-
tional time delay. The pickup time Ts is the minimum time needed for the relay to react. Addi-
tionally, a time dial Tset may be specified. The block will not trip unless the current exceeds the
pickup current Tsetr for at least Ts+Tset. See Figure 38.4.16.
The block 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 38.4.17 for a typical
timing diagram.
38- 22
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The time-overcurrent block allows selection of one of the I-t characteristic which are available for
the selected relay type. Furthermore, a pickup current and a time setting should be specified.
The setting ranges are defined by the type. See Figure 38.4.18 for an example.
The time dial settings will scale the I-t curve in the Time vs. I/Ip plot, according to the curve
definition. See Figure 38.4.19 for example.
38- 23
DIgSILENT PowerFactory CHAPTER 38. 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 38.4.20.
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 section 38.4.7 (The measurement
38- 24
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
block)) 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.
In overcurrent relay models the timer block is used to realize time delays, that cant be realized
inside a characteristic block. An example of a timer block dialogue is illustrated in Figure 38.4.21.
The logic block is the front end part of a relay configuration. It combines all internal trigger
signals by successive AND and OR operations and produces one single output. The block type
specifies the logical operation, the logic block itself specifies the switches which will be opened
when the relay trips. If the relay is located in a cubicle and no switch has been specified, the
breaker in the cubicle will be opened by default. See Figure 38.4.22 for an example of the logic
block settings dialogue.
38- 25
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The plot VisOcplot can be used for graphical analysis of an overcurrent protection scheme to
show multiple relay and fuse characteristics on one time-overcurrent plot. Additionally thermal
damage curves and other characteristic currents of electrical equipment in the network can
easily be superimposed on the plot. These plots can be used to determine relay tripping times
as well as to assist with the selection of relay settings and fuses characteristics.
• Select a switch, where overcurrent relays or fuses are installed. Right-click the switch to
open the context sensitive menu. This will show the options Create Time-Overcurrent Plot
and Add to Time-Overcurrent Plot. PowerFactory will then create a new diagram showing
the time-overcurrent plot for all relays selected.
• Right-click a path element and select Path . . . → Time-Overcurrent Plot from the context
sensitive menu. Refer to section 38.5.5 (The time-distance plot) for more information on
defining paths.
• A relay element ElmRelay can be chosen from the list of calculation-relevant objects or in
the data manager. Right-click the relay on the right side of the data manager or in the list
of relays. Then select Show → Time-Overcurrent Plot to create a new plot or Show →
Add to Time-Overcurrent Plot to add the characteristic to an existing plot.
• Other elements such as one or more transformers, cables or motors can be selected and
right- clicked. The context sensitive menu will show the options Show → Time-Overcurrent
Plot to create a new plot and Show → Add to Time-Overcurrent Plot to add the charac-
teristic to an existing plot.
38- 26
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Note: To show the relay locations and thus to visualize the switches with relays definitions
these can be highlighted by setting the color representation of the single-line diagram to Relay
Locations. By right-clicking these elements the option Show → Time-Overcurrent 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
open a list of previously defined over current plots from which any one can be selected.
• the currents calculated by a short-circuit or load-flow analysis and the resulting tripping
times of the relays
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
38- 27
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
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 differ-
ence between the tripping times, may be added by right-clicking the plot and selecting Show
Grading Margins.
It is also possible to create a 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.
The time-overcurrent plot settings can be accessed by selecting the Options from the context-
sensitive menu. The dialogue shows the following options:
Current Unit The current unit may be set to either primary or secondary (relay) amperes.
Show Relays This option is used to display only certain types of relay characteristics.
Recloser Operation The different recloser stages can be shown simultaneously or switched
off in the diagram.
Display automatically This option is used to select how the calculated load-flow or short-circuit
currents will be displayed. Either the current lines, the grading margins, both or none may
be selected.
Voltage Reference Axis More than one current axis may be shown, based on different voltage
levels. All voltage levels found in the path when a time overcurrent plot is constructed are
shown by default. A user defined voltage level may be added. Optionally, only the user
defined voltage level is shown.
Cut Curves at normally the curves of different relay zones cut at the same tripping current.
Show Grading Margins while Drag&Drop When dragging curves, the grading margins of the
curve will be shown according to the margin entered.
38- 28
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Drag & Drop Step Sizes These are used to set the step change in the relay settings when a
time-overcurrent plot is dragged with a continuous time dial or pickup current.
Time Range for Step Sizes Enter the tripping time range for the y-axis.
’Colour for Out of Service’ Units The characteristics for units that are out of service are drawn
invisible by default. However, a visible color may be selected.
Brush Style for Fuses This defines the fill style for fuse curves
Number of points per curve The number of points can be changed to either refine the plotted
curves for more detail, or to speed up the drawing of the diagram.
The time overcurrent plots may also be used to change the relay characteristics graphically.
Since a relay characteristic is normally constructed from at least two sub-characteristics, it must
38- 29
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
first be split so that the setting associated with each of the sub-characteristics may be altered
separately.
A characteristic is split by
The relay characteristics can also be split by opening the edit dialogue of the plot and enabling
the option Split Relay in the table Relays, where all relays are listed.
The sub-characteristics are now visible. Each of them can be left clicked and dragged along the
time-overcurrent plot area. However, they cannot be dragged outside the allowed range which
has been defined for the relay type. After the relay sub-characteristics have been changed, they
can be combined again into one single characteristic by disabling the split option.
If the user wishes to alter the relay characteristics by entering numerical settings parameters this
can be achieved by double clicking directly on the relay characteristic and altering the settings
in the dialogue that appears.
The plot option dialogue, which is opened by right-clicking the plot area and selecting Options,
has an option for showing the grading margins. When this option is selected, the grading mar-
gins will appear whenever a time overcurrent characteristic is dragged. The grading margin is
set to a fixed time which defines an envelope around the characteristic. The upper limit of the
envelope is defined by the characteristic operating time plus the grading margin and the lower
limit of the envelope is defined by the characteristic operating time minus the grading margin.
See Figure 38.4.25 for an example: the original characteristic is labelled 1, the new position as
2, and the grading margins are labelled a.
Equipment damage curves are used to aid the positioning of relay and fuse time-current char-
acteristics to ensure that thermal damage to equipment is minimised in the event of an overload
or short circuit.
38- 30
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• Via the context-sensitive menu of the single-line diagram or the data manager (”Show” -
submenu).
• Via the context-sensitive menu of the Time-Overcurrent Plot itself (”Add” - submenu)
Equations
This section describes the underlying equations and references the respective standards.
Note: The equations in this section are given with respect to the rated current of the
equipment. For the correct drawing in the overcurrent plot, the currents will be rated to the
reference voltage of the plot.
Urat
I = Irat · (38.1)
Uref
The rated current curve represents the nominal operation limits of the conductor.
Where:
The short-time withstand curve represents the maximum amount of (short-circuit) current the
conductor can withstand for short time periods (typically 1s) without taking damage.
There are two separate equations for this curve, both are drawn for 0,1s ≤ t ≤ 10s
38- 31
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
r
Tthr
I(t) = Ithr · (38.3)
t
Where:
Fac · k · A
I(t) = √ (38.4)
t
Where:
The conductor/insulation parameter can be provided by the user or calculated according to the
standards equations as follows:
r
θf − θi
k = c1 · ln(1 + ) (38.5)
c2 + θi
r
θ f + c2
k= c1 · log (38.6)
θi + c2
Where:
θi initial temperature [◦ C]
Note: Both equations for the conductor/insulation parameter are slightly adapted (from the orig-
inal form in the standards) to fit into the same form of equation.
The values for the material constants can be taken from the table below.
38- 32
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The initial temperature and final temperature θi and θf mainly depend upon the insulation of
the conductor. The initial temperature is usually the maximum allowable continuous current
temperature, whilst the final temperature is the maximum allowable short circuit temperature.
Typical values for θi and θf are given in figure 38.4.26.
Figure 38.4.26: Typical cable initial temperature and final temperature values (data from the
BICC Electric Cables Handbook 3rd edition)
The option user defined may also be selected in the calculate K field of the dialogue, allowing
the user to enter a value for K manually. The dialogue for doing this is illustrated in figure 38.4.27.
38- 33
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Alternatively, rated short-circuit current and time may be entered if Rated Short-Time Current is
entered as the input method.
If the user wishes to define an alternative conductor/cable damage curve this can be achieved
by selecting User Defined curve → New project type.
Skin effect ratio or ac/dc ratio is a constant as defined in the NEC electrical code. The value
is used when carrying out calculations to IEEE/ANSI standards and is not typically referred to
by IEC/VDE standards. However, the user is given the option to specify this value when using
either set of standards.
The overload tab allows the user to define the overload characteristic of the conductor. If an
overload characteristic is required, it is necessary to ensure that the draw overload curve check-
38- 34
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The user then has the option to define the overload curve according to ANSI/IEEE standards by
selecting the relevant checkbox. The equation used is as follows:
v 2
u t
u TE −T0 − I0 · e− k
IE t TN −T0 IN TM + TN
= t · (38.7)
IN 1 − e− k TM + TE
Where,
38- 35
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
I0 = Preload current
T0 = Ambient temperature
TM = Zero resistance temperature value, (234 for copper, 228 for aluminium)
Note that the value for TM is derived from the material assigned in the short circuit tab which is
only visible when the field calculate k is set to ANSI/IEEE or IEC/VDE.
v 2
u t
u 1 − I0 · e− k
IE t IN
= t (38.8)
IN 1 − e− k
Where the variables are the same as in the previous equation. A constant designated as tau is
requested in the dialogue. This is identical to the constant k except k has units of hours, while
tau has units of seconds.
Inrush Curve
The inrush curve represents the amount of current that will flow into the conductor when the
conductor is energised. The curve consists of one point only.
Iinrush
I(Tinrush ) = Irat · (38.9)
Inom
Where:
Irat rated current of the line or the damage curve input value [A]
Iinrush
Inom inrush current to nominal current ratio [-]
A transformer damage curve dialogue is illustrated in figure 38.4.29, the user is able to add a
damage curve in accordance with ANSI/IEEE C57.109. This standard differentiates between
the damage curve of a transformer which is expected to be subjected to frequent faults and one
that is subjected to infrequent faults. In the former case, mechanical damage at high short circuit
levels can be of significant concern. For category II and III transformers in particular, accounting
for mechanical damage, significantly alters the damage characteristic of the transformer. An
example of a time-overcurrent plot with two relay characteristics and a category II transformer
damage curve for a transformer subjected to frequent faults is shown in Figure 38.4.30. The
mechanical damage characteristic is ringed in the figure.
38- 36
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
If the user wishes to define an alternative damage curve this can be achieved by selecting User
Defined curve → New project type, in the dialogue.
38- 37
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The rated current curve represents the nominal operation limits of the transformer.
Srat
I(t) = Irat = (38.10)
Uref
Where:
Irat rated current of the line or the damage curve input value [A]
The thermal and mechanical damage curve represents the maximum amount of (short-circuit)
current the transformer can withstand for a given amount of time without taking damage. The
transformer is classified into one of four possible groups, depending on its rated apparent power
and the insulation type (see Table 38.4.2). Dry-type transformers can only be category I or II.
38- 38
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The thermal damage part of the curve is identical for all categories of the respective insulation
type and is shown in Table 38.4.3. (taken from IEEE Standards Board, IEEE Guide for Liquid-
Immersed Transformer Through-Fault-Current Duration, New York: The Institute of Electrical
and Electronics Engineers, Inc., 1993. and IEEE Guide for Dry-Type Transformer Through-Fault
Current Duration, New York: The Institute of Electrical and Electronics Engineers, Inc., 2002. )
Liquid-Immersed Dry-Type
I/Irat t[s] I/Irat t[s]
25 2 25 2
11,3 10 3,5 102
6,3 30
4,75 60
3 300
2 1800
The mechanical part of the ANSI damage curve is only available for transformers of category
II and higher. For transformers of categories II and III this part is optional and depends on
expected number of fault currents flowing through the transformer over the transformers lifetime.
Typically the mechanical part should be considered if the transformer is expected to carry fault
current more than 10 (category II) or 5 (category III) times during its lifecycle. For category IV
transformers the mechanical part of the curve is always considered. See IEEE Standards Board,
IEEE Recommended Practice for Protection and Coordination of Industrial and Commercial
Power Systems, New York: The Institute of Electrical and Electronic Engineers, Inc., 1999,
Page 426.
The mechanical part of the damage curve is a shifted part of the thermal damage curve. The
three points necessary to draw the mechanical damage curve can be calculated as follows:
1
I1 ) = Irat · ; t1 = 2, 0s (38.11)
uk
cf K I1 2 · t1 2, 0s
I2 ) = Irat · ; t2 = 2 = 2 = (38.12)
uk I2 I2 cf 2
Where:
38- 39
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
cf fault current factor [-] −cf = 0.7 for category II and cf = 0.5 for categories III
and IV
The damage curve is based on a three phase short-circuit on the LV-side of the transformer. In
case of unbalanced faults (Ph-Ph, Ph-E, Ph-Ph-E) the phase current on the HV side may be
distributed over multiple phases, depending on the vector group of the transformer. The stan-
dard (IEEE Standards Board, IEEE Recommended Practice for Protection and Coordination of
Industrial and Commercial Power Systems, New York: The Institute of Electrical and Electronic
Engineers, Inc., 1999.) therefore suggests to multiply the rated current of the transformer by a
shifting factor, thus enabling the engineer to archive proper protection of a transformer for un-
balanced faults. While the shift is only applicable for ”Dyn” vector-groups (according to the cited
standard) and single-phase to ground faults, the same principle of current reduction on the HV
side also applies to other vector groups. The resulting shifting factors and the corresponding
fault type can be taken from Table 38.4.4.
The mechanical part of the IEC damage curve is only available for the element specific damage
curve and consists of one point only [8]:
1
I(2, 0s) = Irat · (38.13)
uk
Where:
The cold load curve represents the maximum amount of current a transformer can withstand
for a short-time (typically several minutes) before taking damage. The curve is specific for each
transformer and the supplied loads and has to be provided by the user as a series of (I/t) pairs.
Inrush Curve
The inrush curve represents the amount of current which flows into the transformer when the
transformer is energised. The curve is represented by a straight line between the following two
points:
38- 40
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
[1]
[1] Iinrush
I(Tinrush ) = Irat · (38.14)
Inom
[2]
[2] Iinrush
I(Tinrush ) = Irat · (38.15)
Inom
Where:
Note: If only one of the two points is given, only this point is drawn.
The transformer damage curve can be used for 3-winding transformers. On the protection page
of the NetElement, a drop-down box is available which allows the user to select which set of
values (HV-MV (default), HV-LV, MV-LV) should be used to calculate the curve. The equations
remain identical, as there are normally only two windings within a coordination path.
38- 41
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The characteristic currents and durations given in the edit dialogue result in a step wise motor
start current plot, as depicted in Figure 38.4.32.
38- 42
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The rated current curve represents the nominal operation limits of the motor and is drawn for
Tstart < t.
Srat
I(t) = Irat = (38.16)
Urat
Where:
The motor starting curve represents the maximum amount of current that will flow into the motor
while it accelerates. The curve is drawn for Tinrush < t ≤ Tstart :
Ilr
I(t) = Irat = (38.17)
Inom
Where:
38- 43
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The motor inrush curve represents the amount of current that will flow into the motor when it is
energised. The curve is drawn from 0,01 s ≤ t ≤ Tinrush :
Iinrush
I(t) = Irat = (38.18)
Inom
Where:
The motor damage curve represents the maximum amount of current the motor can withstand
for a given time without taking damage. There are two curves available, one representing the
damage characteristic of the cold motor, one representing the damage characteristic of the hot
motor. The hot curve must be lower than the cold curve. The curve would actually follow an
inverse current-time characteristic but is reduced to a vertical line to indicate the damage region
without cluttering the plot. The motor damage curve is drawn from Thot ≤ t ≤ Tcold :
Where:
Ilr ratio of locked rotor current to rated current of the motor [-]
The motor starting curve can be created for elements set to ”Motor”.
Synchronous Motors
The motor starting curve can be created for synchronous motors. Since synchronous motors
are started in asynchronous operation, the curve is identical to the asynchronous motor starting
curve. The parameter mapping for the synchronous machine is as follows:
38- 44
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Note: By default the subtransient reactance (t:xdss) is used. If the flag ”Use saturated values”
in the machine type is set, the saturated subtransient reactance (t:xdsss) is used.
The contactor damage curve is now available as a fourth part of the Motor Starting Curve.
It models the current withstand capability of the motor starter contactors. The curve can be
calculated as follows for 0,01 s ≤ t ≤ Tp :
t
I(t) = Tp 2 · ( ) (38.20)
Tp
Where:
In Section 38.3.1: Adding protective devices to the network model, the initial steps that should
be taken in order to setup a protection scheme were explained. When a new device is created
within a network model there are a number of parameters to define in the dialogue which ap-
pears. This section will describe the basic steps that should be completed in order to specify
these parameters for distance protection relays. The section will also describe how to perform
graphical analysis of distance protection schemes using time-distance plots and impedance
plots.
The basic data tab in the relay model (ElmRelay) dialogue is used to select the precise relay type
and the settings to apply to the relay. It can also be used to select the instrument transformer(s)
through which it will interface with the power system. See Fig. 38.5.1 for an example of the
basic data tab dialog.
Before the relay can be configured the relay type must be selected. This is achieved by pressing
the button at the Relay Type field and selecting a device from the appropriate library. The
settings to be applied to the relay and the instrument transformers are defined within the slot
definition list. Without a specified type the Slot Definition list is empty and the relay is not
38- 45
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
functional. After a relay type has been selected, the Slot Definition list will be filled automatically
with the correct slot elements corresponding with the functionality of the selected relay.
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.
Instrument transformers can be assigned to relays in numerous ways. If the cubicle in which
the relay has been installed does not contain any instrument transformers then create VT and
create CT buttons will appear at the bottom of the dialogue once the relay type has been se-
lected. By clicking on these buttons it is possible to create and select an appropriate device
which will be assigned to the same cubicle as the relay by default. Alternatively, if instrument
transformers already exist in the cubicle then these will be assigned to the relevant relay slot
element automatically. If the default instrument transformer selected in the slot element needs
to be changed, this can be achieved by double clicking on the slot element.
The Application and Device Number fields are for documentation purposes only. The Location
field is automatically read from the cubicle the relay is stored in. By default PowerFactory will
assign the relay with control of a switch element which is installed in the same location as the
relay. In some circumstances the switch which should be controlled is not in the same location
as the relay. If this is the case the relay can be assigned with a reference location corresponding
with the location of the switch which should be controlled.
38- 46
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
This tab can be used to enter the minimum and/or maximum fault currents occurring at the
location of the relay. These values are used to scale the Time-Overcurrent plot according to the
given fault currents. They can be entered either manually or calculated with the Short-Circuit-
Command.
Note: The currents entered on this page will not affect the relay model. They are for plotting
purposes only.
38- 47
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
As discussed in section 38.2 (General approach to protection modelling in Power Factory) all
relay models contain slots which are placeholders for block definitions. There are many types
of block definition and each type has a different function. By interconnecting different slots
containing block definitions in different ways, and offering the user the ability to fine tune the
block definition by entering their own parameters, it is possible to produce relay models with
a large variety of operating characteristics. It is even possible for the user to define their own
types of protection device. The creation of user defined protection devices is covered in the
section 38.7 (Building a Basic Overcurrent Relay Model).
The blocks contained within a relay are listed in the slot definition section of the relay model
dialogue. In general the user will need to define parameters within these relay blocks. The
settings dialogue can be reached by double clicking on the block of interest in the net elements
column.
In this section, the relay blocks that can be found in most standard distance relay models are
described.
The measurement block uses the ’raw’ signals produced by the current or voltage transformers
to calculate ’measured signals’.
The measurement block allows for setting the nominal current and voltage. Both are limited
by the measurement unit type. If a relay does not need a nominal voltage (i.e. in the case of
an overcurrent relay) or if there is only one nominal value to choose from, the nominal voltage
and/or current field will normally be disabled.
38- 48
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The polarizing block is similar to the directional block described in section 38.4.7: Basic relay
blocks for overcurrent relays. It is used to calculate the angle between a ’polarization’ voltage or
current phasor and an ’operating’ current phasor. The relative angular position of the polariza-
tion current or voltage phasor can be selected. A tripping condition is considered to be present
if the angle between the operating and polarization phasor is less than 90 and if the magnitude
of the phasors are above a setting threshold. This principle is shown in Figure 38.5.3.
38- 49
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The polarization quantity Apol is rotated over the angle MT , known as the Max. Torque Angle
which is set in the relay edit dialogue. The rotated polarization quantity A’pol defines a half plane
which forms the first tripping condition. The second tripping condition whereby the magnitude
of the operating quantity must be in excess of a setting threshold is illustrated by the dashed
semicircle.
Polarizing blocks allow for settings of earth fault and mutual earth fault compensation parame-
ters to be applied if these features are available in the relay model. This is the main difference
between a polarizing block and a directional block.
More details about the polarization methods and the tripping conditions can be found in the
Technical References manual. An example of a polarizing block dialogue can be seen in Figure
38.5.4.
Typically polarizing blocks are combined with distance blocks whilst directional blocks are usu-
ally combined with overcurrent blocks.
The starting block is used exclusively in distance relays, as a means to detect fault conditions.
It sends the starting signal to all timer blocks in the relay, if the fault conditions are met. The
selectable fault conditions range from simple overcurrent detection to complex impedance poly-
38- 50
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
gons. For an example of a simple overcurrent starting block, see Figure 38.5.5. For detailed
information please refer to the Appendix C: Technical References of Models.
The distance polygon block is used to model the different zones of distance protection relays.
The kind of polygon modelled by the block depends on the block type. Available polygons range
from Mho circles, for modelling of older electro-mechanical distance relays, to polygons with
load encroachment as are used by modern digital protection devices. Depending on the kind of
polygon, the block allows for the setting of reactive and resistive reach, high resistance ground
fault reach and different angles for different edges of the polygon. Figure 38.5.6 shows an
example using a rectangular polygon. The Block can also be configured to be directional.
38- 51
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Note: In order to function properly, there has to be a directional block present in the relay and
connected to the polygon block. This is indicated by the active button Directional Unit, next to
the drop down menu. Otherwise the block will never trip, because it cant receive directional
information.
The Impedance section at the bottom of the dialog shows the reach of the zone in absolute
values, as well as relative to the element directly connected to the cubicle where the relay is
defined. The R and X values of this element are also shown as a reference for the setup of the
zone.
Since the distance polygon block does not have a time dial itself, it needs an extra timer block
that controls the tripping time of a zone. The timer block connected to the zone can be selected
with the Timer button.
Note: If the Timer button of a zone is greyed out, this means there is no timer block directly
connected to the zone. This can be the case, if the zone is designed for instantaneous tripping.
38- 52
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
In distance relay models the timer block is used to either control the tripping time of distance
polygon blocks or to realize other time delays in the relay, that cant be realized inside a block.
For an example, see Figure 38.5.7. If the timer block is used to control a distance polygon, the
delay is started with a signal from the starting block.
38- 53
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
For distance relays as for overcurrent relays, the logic block is the front end part of a relay
configuration. It combines all internal trigger signals by successive AND and OR operations
and produces one single output. The block type specifies the logical operation, the logic block
itself specifies the switches which will be opened when the relay trips. If the relay is located in a
cubicle and no switch has been specified, the breaker in the cubicle will be opened by default.
See Figure 38.5.8 for an example of the logic block settings dialogue.
38- 54
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The time-distance plot VisPlottz shows the tripping times of the relays as a function of the short-
circuit location. It is directly connected to a path definition so it can only be created if a path
is already defined. A path in a single line diagram is defined by selecting a chain of two or
more busbars or terminals and inter-connecting objects. The pop-up menu which opens when
the selection is right-clicked will show a Path . . . option. This menu option has the following
sub-options:
Add To this option will add the selected objects to a path definition. The end or start of the
selected path must include the end or start of an existing path.
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
There are a number of ways to create a time-distance diagram but it is should be noted that in
each case a path must first be defined and furthermore, highlighted in the single line diagram.
The elements which belong to a particular path can be highlighted by setting the color repre-
sentation of the single-line diagram to Protection tab → Other → Groupings→ Paths. To create
the diagram either:
• Right-click an element which is already added to a path definition. From the context sensi-
tive menu the option Show → Time-Distance Diagram can be selected. PowerFactory will
then create a new object VisPlottz showing the time-distance plot for all distance relays in
the path.
• Right-click a path element and select Path. . . → Time-Distance Diagram from the context
sensitive menu. As above, this will create a new object VisPlottz.
• Path object SetPath can be chosen in the data manager under Database\Projectname\Paths.
Select the Paths folder and right-click the path object on the right side of the data manager.
Then select Show → Time-Distance Diagram from the context sensitive menu.
38- 55
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Figure 38.5.9 illustrates a forward direction time-distance plot. The diagram shows all relay
tripping times in the forward direction of the path. It is also possible to display diagrams which
show in the reverse direction. There are three different options for displaying the diagrams.
These are:
The path axis in Figure 38.5.10 shows the complete path with busbar and relay locations. Bus-
bars/Terminals are marked with a tick and the name. The coloured boxes represent relays and
the left or right alignment represents their direction.
38- 56
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
There are several methods to calculate the tripping times shown in the plot. To change the
method, select the Method option in the context sensitive menu or double-click the plot to access
the time-distance plot dialogue and edit the Methods option on the Relays page.
The methods differ in exactness and speed. The set of possible units for the x-Axis depends on
the method used. The methods are:
Short-circuit sweep method The short-circuit sweep method is the most accurate method for
charting the variation in relay tripping time with fault position. A routine is followed whereby
short circuits are assumed to occur at numerous positions between the first and the last
busbar in the path. At each short-circuit location the relay tripping times are established.
The user can control the distance between simulations to ensure adequate resolution.
Furthermore there is a control strategy employed within the routine to ensure that step
changes in operation time are not missed. The disadvantage of this method is it’s low
speed. Whenever the rebuild button of the graphics window is pressed the sweep is
recalculated. The possible units for the short-circuit location are position in km, reactance
in primary ohms or reactance in relay ohms.
Kilometrical method This method is the fastest but can in certain circumstances be less ac-
curate than the short-circuit sweep method. Tripping time is determined at each position
where the impedance characteristic of the path intersects the relay characteristics. The
impedances used for calculation are the impedances of the device. If there is more than
one intersection at the same impedance the smallest tripping time is used. Although ex-
tremely useful for fast calculations in simple network scenarios, care must be taken to
ensure that the results achieved are accurate. For instance, this method will not account
for the starting characteristic of a distance relay and a plot may therefore be produced that
does not reflect the true time current plot. The possible units for the short-circuit location
are position in km or reactance, resistance and impedance, each in primary or relay ohm.
38- 57
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• he kilometrical method is applicable only for the following paths: Where there are no
parallel branches in the path.
• Where the path is fed from only one side or there is no junction on the path.
If the method for the calculation of the time-distance plot is set to Short-Circuit Sweep, the
short-circuit sweep command object ComShcsweep is used. The command can be accessed
by the option Shc-Calc... in the context menu of the plot or by the Shc-Calc... button in the Time
Distance Plot edit dialogue.
Some of the settings in the command are predefined by the time-distance plot. These settings
are greyed out when the sweep command is accessed through the plot. The short-circuit com-
mand for the calculation is set in the sweep command. To change the short-circuit method, i.e.
from IEC60909 to Complete, open the sweep command and edit the short-circuit dialogue.
38- 58
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Note: The easiest way to recalculate the short-circuit sweep for the time-distance plot is by
simply pressing the button . This is only needed when using the Short-Circuit Sweep method.
There are number of possible distance axis units available depending on the method used. See
the methods description for details. The short-circuit sweep method needs a relay to measure
the impedance which is named the reference relay. If there is no reference relay selected, the
distance is measured from the beginning of the path.
Length Distance axis is shown in km depending on the line/cable length from the reference
relay.
Impedance (pri.Ohm) Distance axis shows the primary system impedance from the reference
relay to the remote end of the path.
Reactance (pri.Ohm) Distance axis shows the primary system reactance from the reference
relay to the remote end of the path.
Impedance (sec.Ohm) Distance axis shows the secondary impedance from the reference re-
lay to the remote end of the path.
Reactance (sec.Ohm) Here the secondary reactance from the reference relay is measured on
the secondary side.
The distance axis positions or impedances are calculated relative to the beginning of the path.
If a reference relay is set the positions/impedances are relative to the reference relay. The
sweep method always needs a reference relay. If no reference relay is set, the first relay in the
diagram’s direction is taken to be the reference relay.
The reference relay is set using either the graphic or by editing the Time Distance Diagram
dialogue. Changing the reference relay graphically is done by clicking with the right mouse
button on the relay symbol and selecting Set reference relay in the context menu. If there is
more than one relay connected to the selected busbar, PowerFactory offer a list of relays which
can be used. In the dialogue of the Time Distance Relay the Reference Relay frame is located
at the bottom.
The Capture Relays button enables the user to easily add relays in the selected path to the
time-distance diagram. In order to delete a relay from the diagram, the respective line in the
relay list has to be deleted.
38- 59
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
If the diagram is right-clicked at any position, the context sensitive menu will pop up similar to
the menu described in Chapter 17: Reporting and Visualizing Results, Section 17.5.2 (Plots) for
the virtual instruments.
There are some additional functions available in addition to the basic VI-methods for the time-
distance plot.
The impedance or R-X plot VisDraw shows the impedance characteristics of different distance
protection relays in one or more R-X plots. Additionally the impedance of connected lines and
transformers in the network near to the protection equipment can easily be shown. Thus the
impedances of the different zones of the relay and the tripping time can easily be adjusted and
checked to ensure adequate protection of the equipment.
• Select one cubicle where a distance relay is installed. Right-click the switch to open the
context-sensitive menu. This will show the options Create R-X Plot and Add to R-X Plot.
PowerFactory will then create a new diagram showing the R-X plot for all relays in the
selected cubicle.
38- 60
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• Right-click an element which belongs to a defined protection path and select Path. . . →
R-X Plot from the context-sensitive menu.
• A distance relay element ElmRelay can be chosen from the list of calculation-relevant
objects or in the data manager. Right-click the relay on the right side of the data manager
or in the list of relays. Then select Show → R-X Plot to create a new plot or Show → Add
to R-X Plot to add the characteristic to an existing plot.
• the impedance characteristics of selected distance relays including the different zones.
• impedance curve of the lines and transformers near the relay location.
• the location of other distance relay nearby.
• the short-circuit impedance depending on the location and the fault impedance.
• the tripping time of the relay.
Figure 38.5.12: A R-X plot with short-circuit results and two relays
In Figure 38.5.12 an example is shown for the R-X plot, where two relay characteristics and the
transmission line impedances are displayed.
38- 61
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The location of the short-circuit or load-flow calculation as an equivalent impedance point in the
plot is also shown. For every relay displayed in the graph, a legend is also shown, containing
the relevant information regarding the short-circuit calculation of each relay. This includes:
The information shown may be changed in the relay plot settings. For details please refer to
Chapter 17: Reporting and Visualizing Results, Section 17.5.2 (Plots).
From the R-X plot the characteristics of the relays shown can easily be changed according to
the impedances of the electrical equipment which is to be protected.
By double-clicking the characteristic of a relay zone the settings dialogue of the zone will be
opened and can be modified. Here the relay specific information of the impedance character-
istic can be entered. The information for the line branch connected to the relay in the forward
direction is also shown in the dialogue. If the OK button is selected the characteristic of the
relay will be updated.
It is also possible to edit the lines or transformer elements shown in the plot. Holding the mouse
pointer over the element for a second will show the name of the element in a balloon help box. If
one of the lines is double-clicked, the edit dialogue of the element pops up like in the single-line
graphics. In this way the line impedances can easily be accessed.
The R-X plot settings can be accessed by selecting Options from the context-sensitive menu or
by pressing the Options button in the edit dialogue of the plot.
Unit The impedance unit may be set to either primary or secondary (relay) Ohm.
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 a short-circuit arrow, a cross or none may be se-
lected.
38- 62
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Colour out of service units Out of service zones can be shown in a different color.
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.
There are special options to modify the appearance of the branch impedances:
Number of Relay Locations Only the branches are shown up to the specified number of relay
locations. 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.
38- 63
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Method Method for determining the line impedances. There are two methods for determin-
ing the branch impedance. The first, the Input Data Method simply uses the impedance
data that the user selects when defining the branch. The second method, the Calculated
Impedance Method effectively carries out a short circuit sweep similar to that described in
the section (Methods of calculating tripping times) except, that impedances are calculated
rather than tripping times. One scenario where this method is more accurate is when pro-
tection of a section of network with multiple infeeds is to be modelled. Greater accuracy is
achieved at the expense of calculation time.
Show Branch Options Here the line style and width can be selected.
38.5.6.5 Legend
In the legend belonging to each relay different information and calculation results are displayed.
Here the user can choose, which results are to be shown.
After all protection devices have been configured and graded, it is often desirable to create
reports for future reference. Aside from exporting the time-overcurrent, R-X or time-distance
plots as pictures (see Chapter 17: Reporting and Visualizing Results, Section 17.5.9: Tools for
Virtual Instruments), there are several other methods to report the relay settings.
38.6.1 Reports
The icon Output Calculation Analysis ( ) in the main menu opens the Output dialogue (ComSh)
which can be used for generating reports in the output window. The reports of most relevance
to protection are accessed by selecting protection or relays from the short circuit field of the
dialogue. A description of these reports is provided below.
Protection report
The protection report dialogue is illustrated in figure 38.6.1. This report is used to summarise
the voltage, current and impedance vectors that are calculated at the fault points and elsewhere
on the network for a specified fault at a specified location.
The used format fields can be used to specify alternative report formats if this is required.
The neighbourhood fields allow the user to specify a location and then to specify a distance
from that location for which the report will provide data. If the starting location is not specified
the report cannot be produced.
38- 64
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Relay reports
The relay report dialogue is illustrated in figure 38.6.2. Two types of relay report are available.
The detailed relay report type shows relay setting information as well as relay tripping times,
while the tripping times relay report type shows only relay tripping times. Both types show
details of the electrical quantities observed by the relay.
The used format fields can be used to specify alternative report formats if this is required.
The use selection field can be used to specify a report for a specific relay or group of relays.
38- 65
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The names of the relays or the tripping times may be made visible in the single line graphic by
selecting the following options in the main menu.
The first option (Relays), which is always available, will show the names of the relays in all
cubicles. The second option will show the tripping times of the relays after a load-flow or short-
circuit calculation has been carried out. If a relay does not trip, then a tripping time of 9999.99
s is shown.
It is also possible to colour the single line graphic depending on the tripping time of the protective
devices installed. This feature can be activated by clicking the diagram colouring button from
the local graphics window icon bar, then selecting: the protection tab → 3. Others→ Results→
Fault clearing time.
38- 66
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
Some advanced users may need to build their own relay models. This section will outline the
procedure for building a basic overcurrent relay model.
38- 67
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
38- 68
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
38- 69
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
38- 70
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• Enter the following output signals under the variables field: yout.
• Enter the following input signals under the variables field: Iabs. This represents the
RMS current signal for phase A supplied by the measurement block.
• The configured dialogue is illustrated in figure 38.7.5.
• Once configured click ok.
• Repeat the steps above for slot D and E. Name these slots TOC phase B and TOC
phase C.
38- 71
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
38- 72
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• Select the signal icon from the drawing toolbox located on the right side of the screen.
• Connect blocks by clicking on the output terminal of the first block then by clicking on
the input terminal of the receiving block. If a route for the signal is required which is
not direct, intermediate clicks may be used.
• If a signal is intended to be passed outside of the model then a signal should be
terminated on the box which surrounds the frame. In this instance the output from
the logic block will be passed outside of the model.
• Connect the blocks in the frame as illustrated in figure 38.7.7.
• Within the data manager go to the Equipment Type library folder in the project library
and select the new object icon.
• In the dialogue which appears select special type¿ Relay Type (TypRelay) as illus-
trated in figure 38.7.8.
38- 73
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• In the TypRelay dialogue that appears give the relay type an appropriate name.
• In the relay definition field select the relay frame constructed earlier from the User
Defined Models section of the project library.
• Select the category as overcurrent relay.
10. Define the CT type
• The CT type can be selected by double clicking in the type column associated with
the CT row.
• The desired CT should be selected from the data manager.
11. Define the measurement type
• The measurement type can be selected by double clicking in the type column asso-
ciated with the measurement row. For this example select the following options:
• Select Type to 3ph RMS currents
• Select nominal current to discrete with a value of 5.
• Select measuring time to 0.001
• Ensure no check boxes are selected.
12. Define the TOC types
• The TOC types can be selected by double clicking in the type column associated with
the rows of each of the three TOC slots. For this example select the following options
for each TOC type:
• Select IEC symbol I>t and Ansi symbol 51.
• Select type to phase A, B or C current depending on the slot.
• Select directional to none.
38- 74
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
• Select current range to range type: stepped, minimum: 0.5, maximum: 2 and step
size: 0.25.
• Check the characteristic includes pickup time box and set pickup time: 0.01s, Reset
time: 0.04s and Reset Characteristic Configuration: Disabled.
• Select an existing relay characteristic from another relay or create a new relay char-
acteristic by creating a TypChatoc object.
• On the Total clear curve tab ensure no boxes are checked.
• On the blocking tab, select consider blocking to disabled.
• Select release blocking time range to range type: stepped, minimum: 0 maximum:
10000 and step size: 0.01.
13. Define the Logic types
• The Logic type can be selected by double clicking in the type column associated with
the logic row.
• Select Breaker event to open.
• Select number of inputs to 4.
• Select number of block inputs to 4.
• Select a logical OR operation.
To use the relay type a relay must be created within the network. The relay type can then be
selected, and the relay element parameters defined.
The frequency measurement unit is used to calculate the electrical frequency for the given
Measured Voltage. The Nominal Voltage is needed for per unit calculations. The Frequency
Measurement Time defines the time used for calculating the frequency gradient.
38- 75
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
The frequency block either trips on an absolute under-frequency (in Hz), or on a frequency
gradient (in Hz/s). Which condition is used depends on the selected type. The type also defines
the reset time, during which the defined frequency conditions must be present again for the
relay to reset.
The time delay set in the relay element defines the time during which the defined frequency
condition must be violated for the relay to trip. See Figure 38.8.2.
The under-/overvoltage relay type may define the block to trip on either
The relay element allows only for setting of the pickup voltage and the time delay. See Fig-
ure 38.8.3.
38- 76
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
38- 77
DIgSILENT PowerFactory CHAPTER 38. PROTECTION
38- 78
Chapter 39
Network Reduction
39.1 Introduction
This chapter explains how to use the PowerFactory Network Reduction tool. A typical application
of Network Reduction is when a network that is part of or adjacent to a much larger network
must be analyzed, but cannot be studied independently of the larger network. In such cases,
one option is to model both networks in detail for calculation purposes. However, there might
be situations when it is not desirable to do studies with the complete model. For example, when
the calculation times would increase significantly or when the data of the neighboring network
is confidential and cannot be published.
The chapter is separated into five parts. Firstly, the technical background of the PowerFactory
Network Reduction algorithm is explained. Section 39.3 discusses the steps needed to run a
Network Reduction and Section 39.4 explains in detail each of the options of the PowerFactory
Network Reduction tool. The penultimate part, Section 39.5, presents a simple example and the
final section provides some tips and tricks to consider when working with the Network Reduction
tool.
Some additional technical background on the Network Reduction tool is provided in the following
sections.
1
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
Network reduction for load flow is an algorithm based on sensitivity matrices. The basic idea
is that the sensitivities of the equivalent grid, measured at the connection points in the kept
grid, must be equal to the sensitivities of the grid that has been reduced. This means that for
a given (virtual) set of ∆P and ∆Q injections in the branches, from the kept grid to the grid to
be reduced, the resulting ∆u and ∆ϕ (voltage magnitude and voltage phase angle variations)
in the boundary nodes must be the same for the equivalent grid as those that would have been
obtained for the original grid (within a user defined tolerance).
This must be valid for positive sequence, negative sequence, and zero sequence cases, if these
are to be considered in the calculation (unbalanced short-circuit equivalent).
This section explains the process for running a Network Reduction. There are several steps that
you must complete to successfully reduce a network:
You must define a boundary before you can proceed further with the Network Reduction. This
process is described in detail in Chapter 13 Grouping Objects, Section 13.4 (Boundaries). How-
ever, to summarize, the boundary divides the network into two regions, the area to be reduced
which is referred to as the interior region and the area to be kept which is referred to as the ex-
terior region. The following section describes the process of backing up the project, running the
Network Reduction tool using the default options and describes the expected output of a suc-
cessful network reduction. For more information about the options available within the Network
Reduction tool, see Section 39.4: Network Reduction Command.
By default, the Network Reduction tool keeps all the original network data and the modifications
needed to reduce the network are stored within a new expansion stage that is part of a new
39- 2
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
variation. It will only destroy the original data if the associated option within the command is
configured for this (see Section 39.4.2: Outputs).
However, if you want extra security to guarantee against data loss, in case for instance you
accidently select the option to modify the original network, then you should make a backup copy
of the project before completing the Network Reduction. There are three possible ways to do
this:
• make a copy of the whole project and paste/store it with a name different to that of the
original project; or
• export the project as a *.dz- or *.pfd file (for information about exporting data please refer
to Section 8.1.5: Exporting and Importing of Projects); or
• activate the project and create a Version of the project. For information about Versions
please refer to Section 18.2 (Project Versions).
This sub-section describes the procedure you must follow to run the Network Reduction using
the default options. Proceed as follows:
1. Activate the base Study Case for the project you wish to reduce.
2. Define a boundary that splits the grid into the part to be reduced (interior region), and the
part to be kept (exterior region). See Section 13.4 (Boundaries) for the procedure.
3. Open the boundary object and use the Check Split button in the ElmBoundary dialogue
to check that the boundary correctly splits the network into two regions. See Section 13.4
(Boundaries) for more information about boundaries.
4. Select the Additional Tools icon from the main toolbar. This is illustrated in Fig-
ure 39.3.1.
5. Press the Network Reduction icon from the Additional Tools icon bar (Figure 39.3.1).
This opens the dialogue for Network Reduction Command (ComRed).
6. Select the boundary you previously defined using the selection control .
7. Optional: If you wish to modify the settings of the command, do so in this dialog. The set-
tings and options are explained in Section 39.4 (Network Reduction Command). However,
the default options are recommended, unless you have a specific reason for changing
them.
8. Press the Execute button to start the reduction procedure.
39- 3
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
Figure 39.3.1: The Network Reduction Button in the Additional Tools Icon Bar
This sub-section describes the expected output of the network reduction tool after successfully
executing it. The output varies depending on whether the reduced project was created in V13.2
or earlier and contains system stages, or if it was created in V14.0 or higher. Both output
scenarios are explained in the following sections. Also, the additional objects that the Network
Reduction tool creates are explained.
The default behavior of the Network Reduction command is to create a Variation containing a
single Expansion Stage called ’Reduction Stage’. For more information see Chapter 15: Net-
work Variations and Expansion Stages. The Variation will be named automatically according to
the reduction options selected in the basic options tab of the Network Reduction command. For
example, for the default options the Variation will be named Equ-LF[EW]-Shc[sym]@Boundary.
Figure 39.3.2 shows an example of a network data model after a successful Network Reduction.
Figure 39.3.2: Project Data tree showing the network model after a successful Network Reduc-
tion using the default options.
39- 4
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
The Network Reduction tool also creates a new Study Case with a name that matches the new
Variation name. To return to your original network, all you need to do is activate the original
study case that you used to initiate the Network Reduction.
Note: The Variation and Study Case created by the Network Reduction tool are automatically
activated when the tool is run. To return to your original model you need to reactivate the ’base’
Study Case.
For projects imported from V13.2, if they contain System Stage(s) (superseded by Variations
in V14.0), then the Network Reduction does not create a Variation in the project. Instead, a
system stage is created within each active grid. Therefore, if there are ’n’ active grids when the
Network Reduction process is initiated, there will be ’n’ System Stages created. The naming
convention for the System Stage(s) is the same as the naming convention for the Variations
described above. The new System Stage(s) will be automatically activated in the created study
case.
If one or more single line graphic diagrams were in the System Stage(s) within the original grid,
these graphics will also be kept in the new System Stage(s) within the combined (partly kept
and partly reduced) grid. The first time that the new study case is activated (automatically, at the
end of Network Reduction procedure), 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’ elements. Deactivating and re-activating the project will make them
disappear permanently (they are graphic elements only, and have no corresponding elements
in the database in the new System Stage(s)).
Depending on the network configuration and the options chosen within the Network Reduction
command, during the Network Reduction process some new objects might be created. There
are two possible new object types:
By default, there will be one voltage source created for every boundary node and one common
impedance between every pair of boundary nodes (unless the calculated mutual impedance is
greater than the user-defined threshold described in Section 39.4.3). These objects are stored
in the database but are not automatically drawn on the single line graphic. If you need to see
these objects on the single line diagram, you must add them manually using the PowerFactory
tool Draw Existing Net Elements, which is explained in Section 9.5 (Drawing Diagrams with
Existing Network Elements).
39- 5
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
This section describes the options on the Basic Options tab of the Network Reduction command
as shown in Figure 39.4.1.
Boundary
This selection control refers to the boundary that defines the part of the grid that shall be reduced
by the reduction tool. Note, the project Boundaries folder might contain many boundaries, but
you must select only one boundary from this folder. This selected boundary must separate the
original grid into two parts, the part that shall be reduced (interior region) and the part that shall
be kept (exterior region). For more information about boundaries, please refer to Section 13.4
(Boundaries).
Load Flow
Calculate load flow equivalent If this option is enabled, the load flow equivalent model
will be created by the reduction tool. This option is enabled by default.
Equivalent Model for Power Injection The load flow equivalent is composed of mutual
impedances between boundary nodes and power injections (and shunt impedances) at
boundary nodes. The power injection can be represented by different models. For the
load flow equivalent there are three options (models) available:
39- 6
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
Short-Circuit
39.4.2 Outputs
The section describes the options available on the Outputs tab of the Network Reduction com-
mand as shown in Figure 39.4.2. These options define how the Network Reduction command
modifies the network model.
39- 7
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
Calculation of Parameters Only The equivalent parameters are calculated and reported
to the output window. If this option is selected then the Network Reduction command
does not modify the network model.
Create a new Variation for Reduced Network (Default) The equivalent parameters are
calculated and a Variation will be automatically created to store the reduced network
model. If the project already includes System Stage(s) (from PowerFactory version 13.2
or earlier versions) then System Stage(s) will be created instead of a Variation.
Reduce Network without Creating a New Variation The Network Reduction command
will directly modify the main network model if this options is selected. Therefore, this
option will destroy data by deleting the ’interior’ region of the selected boundary, and
replacing it with its reduced model, so this option should be used with care. To avoid
losing the original grid data, backup the project as described in Section 39.3.1 (How to
Backup the Project (optional)).
This section describes the Advanced Options for the Network Reduction command as shown in
Figure 39.4.3.
39- 8
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
Mutual Impedance (Ignore above) As part of the Network Reduction process equivalent
branches (represented using Common Impedance elements) will be created between the
boundary nodes, to maintain the power-flow relationship between them. If such branches
have a calculated impedance larger than this parameter they will be ignored (not added
to the network model).
By default, the number of these branches created will be N*(N-1)/2, where N is the num-
ber of boundary nodes. A boundary node is defined for each boundary cubicle. There-
fore, the number of created branches can be very high. Normally many of these equiv-
alent branches have a very large impedance value, so their associated power flows are
negligible and the branch can be ignored.
The default value for this parameter is 1000 p.u (based on 100 MVA).
Calculate Equivalent Parameters at All Frequencies This option enables the calcula-
tion of frequency-related parameters. By default, the short-circuit equivalent parameters
are calculated at all frequencies relevant to short-circuit analysis (equivalent frequencies
for calculating the d.c. component of the short-circuit current):
• f = fn
• f /fn = 0.4
• f /fn = 0.27
39- 9
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
• f /fn = 0.15
• f /fn = 0.092
• f /fn = 0.055
If only transient and sub-transient short-circuit currents are important in the reduced net-
work, the calculation of frequency-related parameters can be skipped by unchecking this
option.
39.4.4 Verification
The verification tab of the Network Reduction tool is shown in Figure 39.4.4. The options are
explained below.
Check Equivalent Results If the option Check load flow results after reduction is en-
abled, the load flow results at the boundary nodes after the network reduction will be
checked against the original network results. A warning message will be given if the
results do not match (within the user defined Threshold for check).
39- 10
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
The results of the comparison between the original network and the reduced network are
printed to the output window.
Check Deviation of Operating Point If the option Save original operating point to result
file is enabled, the base operating point for the Network Reduction will be automatically
saved to two result files. These two created files are:
This section presents a Network Reduction example using a small transmission network feeding
a distribution system from bus 5 and bus 6 as shown in Figure 39.5.1. The distribution system
is represented by Load A and Load B and the corresponding two transformers. As a user you
would like to study the distribution system in detail but are not concerned with the detailed
power flow within the transmission system. Therefore, the Network Reduction tool can be used
to create a equivalent model for the transmission system.
The interior region (the area that shall be reduced) is shown shaded in grey, whereas the non-
shaded area is the exterior region that shall be kept. The procedure for completing the Network
Reduction according to these parameters is as follows (you can repeat this example yourself
using the nine bus system within the demo user of the PowerFactory database - the network
used in the example is slightly modified from this):
39- 11
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
1. Select cubicles that will be used to define the boundary. These are highlighted in Fig-
ure 39.5.2. (Use the freeze mode to make selection of the cubicles easier.)
2. Right-click one of the selected cubicles and choose the option Define → Boundary ... The
boundary dialog appears.
3. Alter the boundary cubicle orientations so that the Interior region is correctly defined. The
cubicle orientation for the T4 and T5 cubicles should be set to Busbar. This means that
the boundary interior is defined by looking back at the bus from these cubicles. The
orientation for the Line 1 and Line 6 cubicles remains on Branch (looking into the branch).
4. Open the Network Reduction command dialog and select the boundary defined in steps
1-3 using the selection control.
5. Press Execute. The Network Reduction tool will reduce the system.
6. Optional: draw in the three new common impedance elements and three equivalent ward
voltage source objects using the Draw Existing Net Elements tool. The result of the Net-
work Reduction is shown in Figure 39.5.3.
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.
39- 12
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
This section presents some tips for using the Network Reduction tool and some solutions to
common problems encountered by users.
Sometimes a interior region might be defined such that it contains the reference bus of a station
controller. The generators belonging to this station controller are in the exterior region. During
the reduction process the reference bus will be reduced (removed) from the model, yet the sta-
tion controller and generators will remain part of the new system. In such a situation, attempting
to run a load-flow after the reduction will fail with an error message similar to that shown in
Figure 39.6.1.
39- 13
DIgSILENT PowerFactory CHAPTER 39. NETWORK REDUCTION
• Modify the boundary definition slightly such that the station controller bus is excluded from
the exterior region; or
• Set the station controller out of service and the generators to local PV mode.
By default, the boundary definition search stops when encountering an open breaker. This
means that isolated areas can sometimes be excluded from the interior region and therefore
are not reduced by the Network Reduction tool. The solution to this problem is to disable the
boundary flag Topological search: Stop at open breakers. This option is enabled by default in all
boundary definitions. It is recommended to disable it before attempting a Network Reduction.
A related problem occurs with the project setting (Edit → Project→ Project Settings→ Advanced
Calculation Parameters) Automatic Out of Service Detection. It is recommended that this option
is disabled before attempting a Network Reduction. However, it is disabled by default, so if
you have not made changes to the default project settings you should not need to make any
changes to this setting.
The Network Reduction tool will not reduce a reference machine defined within the interior
region. It also leaves all network components that are topologically one bus removed from the
reference machine (and of non-zero impedance). For example, if the reference machine is a
typical synchronous machine connected to the HV system through a step up transformer, then
the reduction tool will leave the synchronous machine, the LV bus, the step up transformer and
the HV bus within the reduced network.
It is recommended that the reference machine is found within the exterior region before at-
tempting a Network Reduction. The reference machine can be identified by checking the output
window following a successful load-flow calculation as illustrated in Figure 39.6.2.
Figure 39.6.2: Output window showing the load-flow command output and the indication of the
reference machine
39- 14
Chapter 40
State Estimation
40.1 Introduction
The State Estimator (SE) function of PowerFactory provides consistent load flow results for an
entire power system, based on real time measurements, manually entered data and the net-
work model. Before any further analysis, such as contingency analysis, security checks etc.
can be carried out, the present state of a power system must be estimated from available mea-
surements. The measurement types that are processed by the PowerFactory State Estimator
are:
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 absolutely necessary
and it is possible to profit by redundant measurements for improving the accuracy of the esti-
mated network state.
The states that can be estimated by the State Estimator on the base of the given measurements
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
1
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
– Reactive Power
• Asynchronous Machines
– Active Power
• Static var System
– Reactive Power
The objective of a state estimator is to assess the generator and load injections, and the tap
positions in a way that the resulting load flow result matches as close as possible with the
measured branch flows and bus bar voltages. Mathematically, this can be expressed with a
weighted square sum of all deviations between calculated (calVal) and measured (meaVal)
branch flows and bus bar voltages:
n
X
f (~x) = wi · |calV ali (~x) − meaV ali |2 (40.1)
i=1
The state vector ~x contains all voltage magnitudes, voltage angles and also all variables to be
estimated, such as active and reactive power injections at all bus bars.
Because more accurate measurements should have a higher influence to the final results than
less accurate measurements, every measurement error is weighted with a weighting factor wi
to the standard deviation of the corresponding measurement device (+transmission channels,
etc.).
In this setting, the goal of a state estimator is to minimize the above given function f under the
side constraints that all load flow equations are fulfilled.
1. Preprocessing
2. Plausibility Check
3. Observability Analysis
40- 2
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
Figure 40.3.1 illustrates the algorithmic interaction of the different components. The first Pre-
processing phase adjusts all breaker and tap positions according to their measured signals.
The Plausibility Check is sought to detect and separate out, in a second phase, all measure-
ments 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 solving
the above mentioned non-linear optimization problem. PowerFactory provides various 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 un-
dergo 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 standard deviation of the mea-
surement device) are not considered in the subsequent iterations. The process is repeated until
no bad measurements are detected any more.
In the following, the distinct components of the PowerFactory state estimator are explained in
detail.
40- 3
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
In order to avoid any heavy distortion of the estimated network-state due to completely wrong
measurements, the following Plausibility Checks can be made before the actual State Estimation
is started. Every measurement that fails in any of the listed Plausibility Checks will not be
considered.
• Check for consistent active power flow directions at each side of the branch elements.
• Check for extremely large branch losses, which exceed their nominal values.
Each test is based on a stochastic analysis which takes into account the measurements indi-
vidual accuracy. The strictness of the above mentioned checking criteria can be continuously
adjusted in the advanced settings.
The result of the Plausibility Check is reported, for each measurement, on a detailed error status
page (see Section 40.6).
A necessary requirement for an observable system is that the number of available measure-
ments is equal or larger than the number of estimated variables. This verification can easily be
made at the beginning of every state estimation.
But it can also happen that only parts of the network are observable and some other parts of the
system are not observable even if the total number of measurements is sufficient. Hence, it is
not only important that there are enough measurements, but also that they are well distributed
in the network.
Therefore, additional verifications are made checking for every load or generator injection whether
it is observable or not. The entire network is said to be observable if all load or generator injec-
tions can be estimated based on the given measurements. PowerFactory does not only solve
the decision problem whether the given system is observable or not: If a network is not observ-
able, it is still useful to determine the islands in the network that are observable.
The result of the Observability Analysis can be viewed using the data manager. Besides, Power-
Factory offers a very flexible color representation both for observable and unobservable areas,
and for redundant and non-redundant measurements (see Section 40.6.4).
40- 4
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
The Observability Analysis identifies not only, for each state (i.e., load or generator injec-
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
The non-linear optimization is the core part of the State Estimator. As already mentioned in the
introduction, the objective is to minimize the weighted square sum of all deviations between cal-
culated and measured branch flows and bus bar voltages whilst fulfilling all load flow equations.
PowerFactory uses an extremely fast converging iterative approach to solve the problem based
on Lagrange-Newton methods. If the Observability Analysis in the previous step indicates that
the entire power system is observable, convergence (in general) is guaranteed.
In order to come up with a solution for a non-observable system, various strategies can be
followed: One option is to reset all non-observable states, such that some manually entered
values or historic data is used for these states. An alternative option is to use so-called pseudo-
measurements for non-observable states. A pseudo-measurement basically is a measurement
with a very poor accuracy. These pseudo-measurements force the algorithm to converge. At the
same time, the resulting estimated states will be of correct proportions within each equivalence-
class.
In the remaining sections of this guide of use, the instructions related to Data Entry, Options
and Constraints, and Visualization of Results are presented.
The main procedures to introduce and manipulate the State Estimator data are indicated in
this section. For applying the PowerFactory State Estimator, the following data are required
additional to standard load flow data:
• Measurements
– Active Power Branch Flow
– Reactive Power Branch Flow
– Branch Current (Magnitude)
– Bus Bar Voltage (Magnitude)
– Breaker Status
– Transformer Tap Position
40- 5
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
• Estimated States
– Loads: Active Power (P) and/or Reactive Power (Q), or the Scaling Factor, as an
alternative.
– Synchronous Machines: Active Power (P) and/or Reactive Power (Q)
– Asynchronous Machines: Active Power (P)
– Static var Systems: Reactive Power (Q)
– Transformers: Tap Positions
For the measurements listed above, PowerFactory uses the abbreviated names P-measurement,
Q-measurement, I-measurement, V-measurement, Breaker-measurement, and Tap position-
measurement. Similarly, as a convention, the four different types of estimated states are shortly
called P-state, Q-state, Scaling factor-state, and Tap position-state.
40.4.1 Measurements
All measurements are defined by placing a so-called ”External Measurement Device” inside
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 Measurements...” (see
Figure 40.4.1). Then, the new object dialogue pops up with a predefined list of external mea-
surements. Please select the desired measurement device among this list (see Figure 40.4.2).
40- 6
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
Any number of mutually distinct measurement devices can be defined in the cubicle.
Any branch flow measurement (StaExpmea, StaExtqmea) is defined by the following values
(see figures 40.4.3 and 40.4.4):
40- 7
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
• Multiplicator (e:Multip)
• Orientation (e:i gen)
• Accuracy class and rating (e:Snom and e:accuracy)
• Input status (to be found on the second page of the edit object, see Figure 40.4.4):
E.g., tele-measured, manually entered, read/write protected,. . . (e:iStatus). It is impor-
tant to note that the state estimator takes into account only measurements, for which the
”read”-Status is explicitly set and for which the ”Neglected by SE”-Status is unset.
The accuracy class and the rating are used for weighting the measurement element. In case of
redundant measurements, a more accurate measurement will be higher weighted than a less
accurate measurement.
Using the flag ”orientation”, it is possible to define the meaning of the active or reactive power
sign. Load orientation means that a positively measured P or Q flows into the element, gen-
erator orientation defines a positive flow as flowing out of an element. With the ”multiplicator”,
a measured quantity can be re-rated. E.g., if a measurement instrument indicates 150kW (in-
stead of 0.15MW), the ”multiplicator” can be set to 0.001 and the measured value is set to 150
resulting in a correct value.
It is important to note, that External P- and Q-measurements have the additional feature to
possibly serve as a so-called (externally created) pseudo-measurement. This feature is ac-
tivated by checking the corresponding box (e:pseudo). Pseudo-measurements are special
40- 8
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
measurements which are ignored during the regular calculation. They are activated in a se-
lective manner only if the observability check found unobservable states in the network (see
Section 40.5.1: Basic Setup Options for details).
Current Measurements
The External I-measurement (Staextimea) plays a special role and slightly differs from the Ex-
ternal P- and Q-measurements (see Figure 40.4.5): 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).
Figure 40.4.4: Second page Status of the dialogue for an external P-measurement
Internally, the measured current magnitude is then additionally transformed into two further
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:
40- 9
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
The decision which of these measurements shall participate in the state estimator is left to the
user by checking the boxes (e:iUseMagn,e:iUseAct, and/or e:iUseReact). In any case,
the corresponding ratings for the used measurement types need to be specified. This is done
(accordingly to the flow measurements) by entering the pairs of fields ((e:SnomMagn,e:accuracyMagn),
(e:SnomAct,e:accuracyAct), and (e:SnomReact,e:accuracyReact), respectively).
Voltage Measurements
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 corresponding internal
reference is the nominal voltage of the terminal which serves as measurement point.
Both breaker and tap position measurements are assumed to measure the corresponding dis-
crete breaker status and tap position signal accurately. Hence, no ratings needs to be specified.
Tap position measurements have a conversion table as extra feature. The conversion table
allows any discrete translation mapping between external tap positions (Ext. Tap) and tap posi-
40- 10
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
To access and enter data for State Estimator calculations in the appropriate elements of the
grid, the pertinent ”Display Options” must be selected as follows:
a) Click the icon , or select from the main menu ”Options User Settings”. Change to the
tab page ”Functions”. The window shown in Figure 40.4.6 will appear.
b) Enable the Display Function ”State Estimator” as shown below.
c) Exit the window clicking the OK button.
40- 11
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
With this display function enabled, a new tab called ”State Estimator” appears in the State
Estimator related elements of the grids in the activated project. The State Estimator data ma-
nipulation of the different elements is indicated below.
40- 12
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
In addition to the measurement values, the user has to specify which quantities shall be consid-
ered as ”states to be estimated” by the SE. Possible states to be optimized whilst minimizing the
sum of the error squares over all measurements are all active and/or reactive power injections
at generators and loads and all tap positions.
Loads
For each load (ElmLod), the user can specify whether its active and/or reactive power shall be
estimated by the state estimator. Alternatively, the state estimator is able to estimate the scaling
factor (for a given P and Q injection). The specification which parameter shall be estimated,
is done by checking corresponding boxes on the ”State Estimator” page of the load (see Fig-
ure 40.4.7). When these options are disabled, the load is treated as in the conventional load
flow calculation during the execution of the SE.
40- 13
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
Synchronous Machines
Similarly, for synchronous machines (ElmSym), the active and reactive power can be selected
as a control variable for being estimated by the state estimator. Again, the user will find corre-
sponding 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 estimated.
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 con-
ventional load flow calculation.
For static var systems (ElmSvs), the reactive power may serve as a state to be estimated.
Again, the corresponding box has to be checked on the ”State Estimator” page.
If the corresponding check box is disabled, the static var system behaves as in the conventional
load flow calculation.
Transformers
In the 2-winding transformer elements (ElmTr2), the tap position can be specified as a state to
be estimated by the State Estimator (see Figure 40.4.8). Tap positions will be estimated 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 40.4.9).
The corresponding check boxes are found on the ”State Estimator” page of the transformers. If
the check box is disabled the State Estimator will treat the tap position of the transformers as in
the conventional load flow calculation.
40- 14
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
40- 15
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
40.5 Running SE
• Start from a case where the conventional power flow converges successfully.
• Select the desired options for the State Estimator run (see below).
• Select Execute.
Recall that the State Estimator in PowerFactory consists of three different parts (Plausibility
Check, Observability Analysis, State Estimation (non-linear optimization)) and an additional
40- 16
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
precedent Preprocessing step (see Figure 40.3.1). This variation is reflected in the Basic Op-
tions dialogue (see Figure 40.5.1).
40.5.1.1 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 processed in the subsequent
parts or the state estimator.
40- 17
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
The algorithm offers various kinds of plausibility checks to validate measurements. Each mea-
surement 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 measurements (see Section 40.6).
The following checks can be enabled by marking the corresponding check boxes.
40- 18
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
Moreover, if the Observability Analysis detects non-observable states, upon user selection, it
tries to fix this unobservability by introducing further pseudo-measurements.
• Stop if unobservable regions exist: The algorithm terminates with the detection of un-
observable states. The Observability Analysis groups all non-observable states into dif-
ferent equivalence classes. Each equivalence class consists of states that carry the same
observability information through the given measurements. In other words, the given mea-
surements can only distinguish between different equivalence classes, but not between
various states of a single equivalence class. The results can be viewed by the user (see
Section 40.6 Results).
• Use P-, Q-values as specified by model:: If this option is selected, the algorithm inter-
nally drops the to be estimated flag of each non-observable state and uses the element
specifications of the load flow settings instead. For example, if a P-state of a load is unob-
servable, the algorithm will use the P-value as entered on the load flow page. Hence, the
network is made observable by reducing the number of control variables.
• Use predefined pseudo-measurements: Using this option, the algorithm repairs the
unobservability of the network by increasing the degrees of freedom. For that purpose,
at the location of each non-observable state, the algorithm tries to activate a pseudo-
measurement of the same kind. Hence, if a P- (Q-)state is non-observable in some ele-
ment, the algorithm searches for a P-(Q-)pseudo-measurement in the cubicle of the ele-
ment carrying the non-observable state. In case of a non-observable scaling-factor both,
a P- and a Q-pseudo-measurement are required. The introduced pseudo-measurements
remain active as long as needed to circumvent unobservable areas.
• Use predefined and internally created meas: This mode can be considered as a mix-
ture of the latter two options. Here, in case of a non-observable state, the algorithm
40- 19
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
The non-linear optimization is the central component of the State Estimator. The underlying nu-
merical algorithm to minimize the measurements’ overall error is the iterative Lagrange-Newton
method.
Each Plausibility Check allows for an individual strictness setting. Note that all checks rely on the
same principle: namely, the given measurement values are checked against some threshold.
Recall, for example, that the ”nodeP sum check for P” tests whether the active power sum at a
r
node is below a threshold of ε = i=1 σi · rating. The user has the possibility to influence
the strictness of this threshold. Therefore, the settings provide to enter so-called ”exceeding
factors” f ac > 0 such that the new threshold is f ac · instead of . E.g., in the case of the node
sum check for P, the user may define the corresponding factor fac ndSumP.
The higher the exceeding factor, the less strict the plausibility test will be. Similar exceeding
factors can be specified for any of the given tests.
Internally, the Observability Check is based on a thorough sensitivity analysis of the network.
For that purpose, the algorithm computes a sensitivity matrix that takes into account all mea-
surements, on the one hand, and all estimated states on the other hand. This sensitivity matrix
is discretized by rastering the continuous values.
The user can specify the precision of this process by defining the number of intervals into which
the values of the sensitivity matrix shall be rastered (SensMatNoOfInt), the threshold below
which a continuous value is considered to be a 0 (SensMatThresh) in the discrete case, and
the mode of rastering (iopt raster). It is highly recommended to use the predefined values
here.
If, on the basic option page, the mode for the treatment of unobservable regions is set to
”use only internally created pseudo-measurements” or to ”use predefined and internally cre-
ated pseudo-measurements”, the user may specify a default power rating (SnomPseudo) and a
default accuracy class (accuracyPseudo). These default values are used for all automatically
created internal pseudo-measurements.
40- 20
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
Recall that the state estimator loops Observability Analysis and State Estimation as long as no
further bad measurement is found (see Figure 40.3.1). The following settings allow the user to
control the number of iterations performed by the loop.
The variable iBadMeasLimit specifies an upper limit on the number of bad measurements
that will be eliminated in the course of the State Estimation.
where calVal and meaVal are the calculated value and the measured value, respectively.
The user may modify this definition by adjusting tolerance factors for bad measurements. More
precisely, a measurement is declared to be bad, if the left-hand side in equation ( 40.2) ex-
ceeds f acErr · accuracy/100. Here facErr > 0 is a factor which can be specified by the
user for each group of measurements individually. Use the factors facErrP, facErrQ,
facErrV, facErrIMagn, facErrIAct, and facErrIReact for P-, Q-, V-measurements,
and the three types of the I-measurements (magnitude measure, active current measure, reac-
tive current measure).
Initialization
The non-linear optimization requires an initialization step to generate an initial starting configu-
ration.
The user may specify whether the initialization shall be performed by a load flow calculation
or by some flat start. If it is known in advance that the final solution of the optimization part
is close to a valid load flow solution, initializing by a load flow calculation pays off in a faster
convergence.
Load Flow
Specifies the settings of the load flow command which is taken for initialization in case no flat
start is used.
40- 21
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
g(~x) = 0 (40.4)
where g is the set of load flow equations that need to be fulfilled. By the Lagrange-Newton
method, we thus try to minimize the resulting Lagrange function
The following parameters can be used to adapt the stopping criteria for this iterative process.
The algorithm stops successfully if the following three issues are fulfilled:
The following parameters serve to adjust these stopping criteria. The user unfamiliar with the
underlying optimization algorithm is urged to use the default settings here.
The user should enter a maximal error for nodal equations (where the deviation is measured in
kVA), and, in addition, a maximally tolerable error for the model equations (in %).
The user is asked choose among the following two convergence criteria for the Lagrangian
function: Either the function itself is required to converge to a stationary point, or the gradient of
the Lagrangian is expected to converge.
In the first case, the user is asked to enter an absolute maximum change in value of the objective
function. If the change in value between two consecutive iterations falls below this value, the
Lagrangian is assumed to be converged.
40- 22
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
In the latter case, the user is asked to enter an absolute maximum value for the gradient of the
Lagrangian. If the gradient falls below this value, the Lagrangian is assumed to be converged.
Output
Two different levels of output during the iterative process can be selected.
40.6 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.
The PowerFactory State Estimator reports the main steps of the algorithm in the output window
(see Figure 40.6.1).
For the Plausibility Checks, this implies the information on how many models failed the corre-
sponding checks. For the Observability Analysis, the report contains the information on how
many states were determined to be observable, andin additionhow many measurements were
considered to be relevant for observing these states.
• The current error of the constraint nodal equations (in VA) (Error Nodes).
• The current error of the constraint model equations (Error ModelEqu).
40- 23
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
• The current value of the gradient of the Lagrangian function (Gradient LagrFunc).
Deviations
Each branch flow measurement (StaExtpmea, StaExtqmea) and each voltage measurement
(StaExtvmea) offers parameters to view its individual deviation between measured value and
computed value by the State Estimation. The corresponding variables are:
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 current). Hence, a
current measurement has the above listed variables (with X being replaced 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).
40- 24
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
Figure 40.6.2: For description page for external measurements (StaExtvmea, StaExtqmea,
StaExtvmea).
Error Status
All measurements (StaExt*meas) which possibly participate in the Plausibility Checks, the Ob-
servability Analysis, or the State Estimation provide a detailed error description page (see fig-
ures 40.6.2 and 40.6.3) 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)
40- 25
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
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:errBadData carry the suffixes
Magn (for magnitude measurement), Act (for active current measurement), and React (for
reactive current measurement).
Recall that depending on the selected treatment of unobservable regions not all states that
were selected for estimation (see Section 40.4.3: Editing the Element Data) will necessarily
be estimated by the algorithm: In case of non-observability, it may happen that some control
variables need to be reset.
To access the information which states were actually used as control variables, PowerFactory
provides a flag for each possible state. These flags are called c:iP,Q,Scale,TapSetp for
P-, Q-, Scaling factor-, and Tap-states, respectively. They can be accessed through the Flexible
Data Page as Load Flow calculation parameters for the following elements: ElmLod, ElmAsm,
ElmSym, ElmSvs, ElmTr2, and ElmTr3.
The Observability Analysis identifies, for each state, whether it is observable or not. Moreover,
if the network is unobservable, it subdivides all unobservable states into ”equivalence-classes”.
Each equivalence-class has the property that it is observable as a whole group, even though its
members (i.e., the single states) cannot be observed. The equivalence classes are enumerated
in ascending order 1, 2, 3, . . . .
40- 26
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
Figure 40.6.3: Detailed error description page for external current measurements (StaExtimea).
For this purpose, the Observability Analysis uses the flags c:iP,Q,Scale,TapobsFlg for P-
, Q-, Scaling factor-, and Tap-states, respectively. These parameters exist for all elements which
carry possible states (ElmLod, ElmAsm, ElmSym, ElmSvs, ElmTr2, ElmTr3). The semantics is
as follows:
In addition, PowerFactory provides a special coloring mode ”Observability” for the single line
diagram which takes into account the individual measurement error statuses and the states to
be estimated (see Figure 40.6.4). The coloring can be accessed by clicking the icon on the
task bar.
40- 27
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
The color representation is valid as soon as an Observability Analysis has been performed
successfully.
The color representation paints the location of measurements (of a specific type) and the loca-
tion of states (of a specific type) simultaneously.
Estimated States
The user selects to color states of a specific type (P-, Q-, Scaling factor-, or Tap position-
states). Distinct colors for observable, unobservable, non-estimated states, and states with
unclear observability status can be chosen.
The user selects to color measurements of a specific type (P-, Q-, V-, or I-measurements).
Distinct colors for valid, redundant and invalid measurements can be chosen. A measurement
is said to be valid if its error code (e:error) equals 0.
Besides, measurements with a specific error code can be highlighted separately using an extra
40- 28
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
color. To select such a specific error code press the Error Code button and choose from the
detailed error description list any AND-combination of possible errors.
40- 29
DIgSILENT PowerFactory CHAPTER 40. STATE ESTIMATION
40- 30
Part V
Appendix
31
Appendix A
Glossary
Appliance
A specific physical, installed, power system component: a specific generator, transformer, bus-
bar, etc. Example: a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 meters long.
Base Case
A Base Case is considered to be the basic power system design, from which one or more
alternative designs may be created and analyzed. When working with system stages, the Base
Case is considered to be the highest level in a tree of hierarchical system stage designs.
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 primitive ele-
ments 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.
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:
1
DIgSILENT PowerFactory APPENDIX A. GLOSSARY
• The ’TypLne’ class is the type model for all lines and cables
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 models.
Composite Model
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 measurements.
Cubicle
A cubicle is the connection point between a edge or branch element and a node (represented
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
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.
DGS
DOLE
Abbreviation for ”DIgSILENT Object Language for Data Exchange”. DOLE was used in previous
PowerFactory versions, but replaced by DGS meanwhile. Now, use DGS instead, 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.
A- 2
DIgSILENT PowerFactory APPENDIX A. GLOSSARY
DPL
Abbreviation for ”DIgSILENT Programming Language”. For further information, please refer to
Chapter 21 (The DIgSILENT Programming Language - DPL).
”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 button when
the new location is reached is called ”dropping”. This will move the object to the new location.
DSL
Abbreviation for ”DIgSILENT Simulation Language”. For further information, please refer to
Chapter 27.9 (The DIgSILENT Simulation Language (DSL)).
DSL primitive
A DSL primitive is the same as a primitive block definition. A DSL primitive is written directly 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.
Edge Elements
The elements between two nodes. May also be termed ’two port element.’ Source, topological
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 elements.
Element
A mathematical model for specific appliances. Most element models only hold the appliance-
specific data while the more general type-specific data comes from a type-reference. Exam-
ple: a model of a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 meters long, named ”FC
1023.ElmLne”.
The graphics board window is a multi document window which contains one or more graphical
pages. These pages may be single line graphics, virtual instrument pages, block diagrams etc.
The graphics board shows page tabs when more than one page is present. These tabs may be
used to change the visible page or to change the page order by drag&drop on the page tab.
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
A- 3
DIgSILENT PowerFactory APPENDIX A. GLOSSARY
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 elec-
trical world. In PowerFactory nodes may be represented by ”Busbars” or ”Terminals” of various
kinds. These are treated in the same manner in mathematical terms but treated slightly dif-
ferently in the database. As far as possible the user should use terminals as Busbars can be
somewhat inflexible. See also Busbars, Edge Elements, Branch Elements.
Operation Scenario
An Operation Scenario defines a certain operation point of the system under analysis, such as
different generation dispatch, low or high load, etc.Operation Scenarios are stored inside the
Operation Scenarios folder.
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 corresponding page.
Page tabs are used in object dialogues, which often have different pages 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 to-
gether in a single project folder.
Result Object
A result object keeps one or more lists of parameters which are to be monitored during a calcu-
lation. Results objects are used for building calculation result reports and for defining a 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.
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)activated.
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 commands,
results, events, and other objects which are, or have been, used to analyze the active power
system.
A- 4
DIgSILENT PowerFactory APPENDIX A. GLOSSARY
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 possible to
have system stages of system stages.
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”
Variation
A Variation defines an expansion plan composed of one or more expansion stages, and which
are chronologically activated. Variations, like all other network data, are stored inside the Net-
work Data folder.
Virtual Instrument
Virtual instrument panels are one of the possible types of pages in a graphics board window.
Virtual instrument panels are used to create and show virtual instruments. Each virtual instru-
ment panel may contain one or more virtual instruments.
A- 5
DIgSILENT PowerFactory APPENDIX A. GLOSSARY
A- 6
Appendix B
Hotkeys Reference
Combination Description
F10 Perform Load Flow calculation
F11 Perform Short-Circuit calculation
Ctrl + F10 Edit Load Flow calculation options
Ctrl + F11 Edit Short-Circuit calculation options
1
DIgSILENT PowerFactory APPENDIX B. HOTKEYS REFERENCE
B- 2
DIgSILENT PowerFactory APPENDIX B. HOTKEYS REFERENCE
B- 3
DIgSILENT PowerFactory APPENDIX B. HOTKEYS REFERENCE
B- 4
DIgSILENT PowerFactory APPENDIX B. HOTKEYS REFERENCE
B- 5
DIgSILENT PowerFactory APPENDIX B. HOTKEYS REFERENCE
B- 6
Appendix C
Category Device
2-Winding Transformers (ElmTr2/ElmTr2n)
3-Winding Transformer (ElmTr3)
Autotransformers
Booster Transformer (ElmTrb)
Overhead Lines Systems
Branch Elements Cables Systems
Series Capacitances (ElmScap)
Series Reactance (ElmSind)
Common Impedance (ElmZpu)
Asynchronous Machine (ElmAsm)
Doubly Fed Induction Machine (ElmAsmsc)
Static Generator (ElmGenstat)
Synchronous Machine (ElmSym)
Loads (ElmLod)
Generators & Loads
Low Voltage Load (ElmLodlv )
Partial Loads (ElmLodlvp)
Motor Driven Machine (ElmMdm X )
PWM AC/DC Converter
Rectifier/Inverter
Power Electronic Devices Soft Starter (ElmVar )
DC/DC Converter (ElmDcdc)
Neutral Earthing Element (ElmNec)
Shunt/Filter Element (ElmShnt)
Reactive Power Compensation Static Var System (ElmSvs)
Station Controller (ElmStactrl)
7
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
Category Device
AC Voltage Source (ElmVac)
DC Voltage Source (ElmVdc)
DC Current Source (ElmDci)
Sources
External Network (ElmXnet)
Fourier Source (ElmFsrc)
Current Measurement (StaImea)
Power Measurement (StaPqmea)
Measurement Devices Voltage Measurement (StaVmea)
Phase Measurement Device (Phase Locked Loop, ElmPhi pll)
Digital Clock (ElmClock)
Digital Register (ElmReg)
Digital Devices Sample and Hold Model (ElmSamp)
Trigger Model (ElmTrigger )
Fast Fourier Transform (ElmFft)
Analysis Functions
File Object (ElmFile)
Table C.0.1: Technical References of Models
There are two different elements that can be used in PowerFactory to represent 2-winding trans-
formers; the difference among them is given by the connection of the star point of Y-windings:
• 2-winding transformer (ElmTr2) : the star point of Y-connected windings is not accessi-
ble from outside; i.e. cannot be externally connected.
• 2-N-winding transformer (ElmTr2n) : the star point of Y-connected windings can be
externally connected. Use this element when the external connection of the star point of
Y-windings to a neutral terminal is required.
Both 2-winding transformers make use of the same transformer type (TypTr2) and therefore
support the same options with regard to vector groups, phase technologies, tap control, etc.
As the calculation model of the 2-winding transformer changes with the phase technology, there
are dedicated technical references for three-phase and single-phase 2-winding transformers:
C- 8
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
For a detailed description of the model the reader is referred to the Technical Reference TypTr3
of the 3-winding transformer type.
C.1.3 Autoransformers
The autotransformer models in PowerFactory build on the 3- and 2-winding transformer mod-
els described in the previous sections. Hence an autotransformer is defined using the same
elements (i.e. the same icons in the toolbox) as used for the standard 3- and 2-winding trans-
formers.
As soon as the connection group in the transformer type is set to YNyn, the option Auto Trans-
former will be available in the transformer element. If the user enables this option, then the
model will consider an autotransformer winding connection instead of the galvanic separated
winding.
For the details of the calculation model used in that case, the reader is referred to the technical
references of the 2-winding C.1.1 and 3-winding C.1.2.
The description of the booster transformers, presenting the relations among the input parame-
ters is given in the Technical Reference ElmTrb.
The 3-phase booster transformer model requires a reference to a booster transformer type
(TypTrb).
PowerFactory handles both DC and AC lines, including all phase technologies (3ph, 2ph and
single phase), with/without neutral conductor and ground wires, for both single circuit and mu-
tually coupled parallel circuits.
All these options are handled by a suitable selection of element-type combinations as sum-
marized in Table C.1.1. The technical reference document Overhead Line Models provides a
detailed description of all available line models for both the steady-state and the transient simu-
lations.
C- 9
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
The line element ElmLne is the constituent element of transmission lines. When referring to
a type, the line element can be used to define single-circuit lines of any phase technology ac-
cording to table C.1.1. Besides, the element parameter Number of Parallel Lines lets represent
parallel lines without mutual coupling between each other.
If the mutual coupling between parallel lines is to be modelled, then a line coupling element
ElmTow shall be used. In that case, the line element ElmLne points to a line coupling element
ElmTow which in turns refers to the corresponding tower type TypTow or tower geometry type
TypGeo.
Frequency-dependent parameters model are defined instead in terms of geometrical data, i.e.
the tower geometries, conductor types, etc. The user enters the configuration of the transmis-
sion system in a tower type (TypTow) or tower geometry type (TypGeo). In that case, a overhead
line constant routine will calculate the electrical parameters at a given frequency or frequency
range. For the details of the line constant calculation function, the reader is referred to the
technical reference Overhead Line Constants.
The description of the line model, is given in the attached Technical Reference Paper: Overhead
Line Models.
Object used to represent sections of lines or cables. It can refer to any of the types defined for
transmission lines or cables.
C- 10
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
The ElmTow is used to represent electromagnetic coupling between transmission lines. In order
to define the line coupling, a TypTow/TeyGeo object determining the geometrical characteristics
and the conductor type of the structure where the coupled lines are located, is required.
The description of the line coupling model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Overhead Line Models.
Type used to define transmission lines/cables, whose electrical parameters are known (no elec-
tromagnetic coupling between conductors is calculated in this type).
The description of the line type model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: Overhead Line Models.
Both types are used to define the tower structure of a transmission line. If TypTow or TypGeo
are referred in an ElmLne, the coupling impedances and admittances of the line are calcu-
lated according to the given geometrical distribution of the conductors. The tower type requires
additionally a reference to the conductor type.
While a tower type TypTow completely defines the overhead transmission system (i.e. defines
the tower geometry and the conductors), a tower geometry type TypGeo only contains informa-
tion about the geometry of the tower.
It means then, the TypTow object contains the input data relevant for the calculation of the
electrical parameters (impedances and admittances) of the system, like the number of circuits,
position of the conductor at tower height -i.e. tower geometry-, transposition of the circuits
if applicable and the data of the phase and earth wires (if any) conductors (solid or tubular
conductor, DC resistances, skin effect, etc.).
It follows then that two overhead lines having the same tower geometry but different conduc-
tor types would required two different TypTow objects in the library. This is likely to happen in
distribution networks where few different tower geometries are used in combination with a con-
siderable amount of different conductor types. To simplify the data input and handling in those
cases, a tower geometry type can be used instead.
Then the tower geometry type TypGeo contains the definition of the tower geometry only; hence
the type does not include any information about the conductor types. The user assigns the
conductor types later in the element, either in the line element ElmLne or line coupling element
ElmTow. These combination minimizes the data entry and allows for a flexible combination
of tower geometries and conductor types. Apart from the data entry, the resulting calculation
model, hence the electrical parameters of the transmission system, are in both case identical.
The description of the tower models, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: Overhead Line Constants.
C- 11
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
Type used to define conductor objects. A reference to a conductor type is required in the tower
types TypTow/TypGeo to define the conductors of the transmission line.
The description of the conductor type model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper:Overhead Line Constants.
The model of a cable system in PowerFactory builds on two types: firstly, a single-core cable
type (TypCab) defines the cross-section geometry, conducting and insulating layers and prop-
erties of the materials of the single-core cable and secondly, a cable system type (TypCabsys)
specifies the total number of single-core cables in the system, hence the number of coupled
cables, and the installation characteristics, either buried directly underground or laid in pipes (a
pipe-type cable).
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: Cable Systems.
The description of the cable type model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Cable Systems.
The ElmScap object represents series capacitances in PowerFactory . It can be used for various
applications, e.g.
The description of the Series Capacitance model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Series Capacitance
C- 12
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
The description of the series reactance model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper: Series Reactance.
The Common Impedance is a per unit impedance model including an ideal transformer. The
main usage is for branches used for network reduction.
The description of the common impedance model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Common Impedance.
The description of the asynchronous machine model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Induction Machine
Object used to represent doubly fed induction generators, requires a reference to a TypAsmo
object. Input parameters
The description of the double feed asynchronous machine model, presenting the relations
among the input parameters is given in the attached Technical Reference Paper: Doubly Fed
Induction Machine
The Static Generator (ElmGenstat, ) is an easy-to-use model to represent any kind of non-
rotating generators. The common characteristic of these generators is that they are all con-
nected to the grid through a static converter and hence the name static generator. Typical
applications are:
• Photovoltaic Generators
• Fuel Cells
• Storage devices
• HVDC Terminals
C- 13
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
Wind generators, which are connected with a full-size converter to the grid, can be modelled as
a static generator as well, because the behaviour of the plant (from the view of the grid side) is
determined by the converter:
• Wind Generators
For a detailed description of the static generator model the reader is referred to the technical
reference: Static Generator
Object used to represent synchronous machine models, requires a reference to a TypSym ob-
ject.
The description of the synchronous machine model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Synchronous Machine
Object used to represent load models. Two different models are supported depending on the
type selection:
• General loads: requires a reference to a TypLod object (see technical reference: General
Load Model)
• Complex loads: requires a reference to a TypLodind object (see technical reference: Com-
plex Load Model)
The description of the low voltage load model, presenting the relations among the input param-
eters and the required types is given in the attached Technical Reference Paper: Low Voltage
Load
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: Partial Loads.
C- 14
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
Objects used to represent motor driven machines. Three types of driven machine models are
defined in PowerFactory :
• ElmMdm 1 (Type 1)
• ElmMdm 3 (Type 3)
• ElmMdm 5 (Type 5)
All types of motor driven machine models may be used in connection with a synchronous or an
asynchronous motor.
The description of the motor driven machine models, presenting the relations among the pa-
rameters and the connection to a motor, are given in the attached Technical Reference Paper:
Motor Driven Machine
Object used for a PWM converter model. Represents a self-commutated, voltage sourced
AC/DC converter (capacitive DC circuit).
There are two rectifier/inverter models available in PowerFactory which differentiate from each
other in the number of DC connections:
The description of the PWM converter model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper: PWM Converter
C.3.2 Rectifier/Inverter
There are two rectifier/inverter models available in PowerFactory which differentiate from each
other in the number of DC connections:
Rectifier models with a single DC connection, requires a reference to a Rectifier Type (TypRec)
used to define a 6 pulse bridge rectifier/inverter element with both 1-DC or 2-DC connections.
The description of the rectifier model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: 6-Pulse Bridge
C- 15
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
The ElmVar object is used to represent voltage control, soft starter devises for induction motors.
The ElmVar does not require a type object.
The description of the soft starter model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Soft Starter
The description of the DC/DC converter model, presenting the relations among the input pa-
rameters is given in the attached Technical Reference Paper: DC/DC Converter
The NEC/NER (Neutral Earthing Conductor/Neutral Earthing Reactor) is the grounding element
in PowerFactory , does not require any type.
The description of the NEC/NER model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Neutral Earthing Element
The description of the shunt/filter model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Filter/Shunt
The static var compensator system (ElmSvc) is a combination of a switched shunt capacitor
bank and a thyristor controlled inductive shunt reactance.
The description of the static var compensator, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper: Static Var System
The description of the Station Controller is given in the attached Technical Reference Paper:
Station Controller
The Station Controller is used for steady-state analysis. For time-domain simulation please
use Common Models as described in Chapter 25: Stability and EMT Simulations, Section 25.8
(Models for Stability Analysis).
C- 16
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
C.5 Sources
The ElmVac is used to represent AC Voltage sources (single phase or three phase).
The description of the AC voltage source model, presenting the relations among the input pa-
rameters and the possible types is given in the attached Technical Reference Paper: AC Voltage
Source
The ElmVdc is used to represent DC Voltage sources (single phase or three phase).
The description of the AC voltage source model, presenting the relations among the input pa-
rameters and the possible types is given in the attached Technical Reference Paper: DC Voltage
Source
The description of the DC current source model, presenting the relations among the input pa-
rameters is given in the attached Technical Reference Paper: DC Current Source
The description of the external network model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper: External Network
Fourier source element, used to generate periodical signals in the frequency domain.
The description of the Fourier source model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper: Fourier Source
The description of the current measurement model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Current Measurement
C- 17
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
The description of the power measurement model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Power Measurement
The description of the voltage measurement model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Voltage Measurement
The description of the phase measurement device model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper: Phase Measurement
Device
The description of the clock model, presenting the relations among the input parameters is given
in the attached Technical Reference Paper: Clock
The Register (ElmReg) model in PowerFactory is a digital shifting register. With every rising
edge of the clock signal the values are shifted by one, then the output is set and the input is
read and stored in the register.
The complete description of the Register model is given in the attached Technical Reference
Paper: Register
The Sample and Hold model of PowerFactory (ElmSamp) samples a signal, setting the output
at the rising edge of a clock. The output value is constant up to the next clock pulse.
The complete description of the Sample and Hold model is given in the attached Technical
Reference Paper: Sample and Hold
C- 18
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
The trigger model (ElmTrigger ) is used to monitor the value of a signal. If certain trigger condi-
tions are met the model will start a trigger event.
The complete description of the Trigger model is given in the attached Technical Reference
Paper: Trigger
The description of the fast Fourier transform model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper: Fast Fourier Transformation
The description of the measurement file element, presenting the functionality of the input pa-
rameters is given in the attached Technical Reference Paper: Measurement File
C- 19
DIgSILENT PowerFactory APPENDIX C. TECHNICAL REFERENCES OF MODELS
C- 20
Appendix D
DPL Reference
This table the list of all the Classes with the corresponding DPL Methods available for each
Class. Each method has a link to where it is declared and documented.
Class Index
ComDpl Execute
EchoOn
ComEcho
EchoOff
GetCreatedObjects
ComImport
GetModificdObjects
ComInc Execute
ReciveData
ComLink
SendData
CheckAssignments
Compare
CompareActive
ExecuteRecording
ExecuteWithActiveProject
GetCorrespondingObject
GetModification
GetModificationResult
GetmodifiedObjects
Merge
ComMerge PrintComparisionReport
PrintModifications
Reset
SetAutoAssignmentForAll
SetObjectsToCompare
ShowBrowser
WereModificationsFound
1
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
AddRef
ComNmink Clear
GetAll
GetObject
ComOutage RemoveEvents
SetObjs
AnalyseElmRes
CreateFaultCase
RemoveEvents
ComRel3
RemoveOutage
Execute
ExportFullRange
ComRes
FileNmResNm
ComShc Execute
AddCntcy
Execute
ExecuteCntcy
ComSimoutage ReportObjs
Reset
SetLimits
D- 2
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
AddColumn
AddCurve
AddHeader
AddInvisibleFilter
AddListFilter
AddListFilterEntires
AddPlot
AddRow
AddTable
AddTextFilter
AddXLabel
DisableAutomaticRowNumbering
EnableAutomaticRowNumbering
SetBarLimits
SetCellAccess
SetCellEdit
SetCellValueToBar
SetCellValueToCheckbox
SetCellValueToDate
SetCellValueToDouble
ComTablereport SetCellValueToInt
SetCellValueToObject
SetCellValueToString
SetColumnHeader
SetCurveValue
SetDialogSize
SetListFilterSelection
SetNumberFormatForPlot
SetSorting
SetStatusText
SetTextAxisDistForPlot
SetTicksForPlot
SetTitle
ComUcteexp BuildNodeNames
ElmAsm GetAvailableGenPower
ElmAsmsc GetAvailableGenPower
ElmBay GetAll
ElmBoundary IsSplitting
ElmComp Slotupd
ddeClose
ddeExe
ddeOpen
DDE Functions
ddePoke
ddeRequest
D- 3
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
Close
GetRemoteBreakers
IsBreaker
ElmCoup IsClosed
IsOpen
Open
GetAll
GetBranches
GetBuses
ElmFeeder
GetNodesBranches
GetObjs
CreateFeederWithRoutes
FitParams
GetType
GetY0m
GetY1m
GetZ0m
GetZ1m
HasRoutes
ElmLne
HastFoutesOrSec
IsCable
IsNetCoupling
SetCorr
SetDetailed
Activate
ElmNet CalculateInterchangeTo
Deactivate
AddVars
Clear
Draw
Flush
GetObj
GetResData
Init
LoadResData
ReleaseResData
ResFirstValidObject
ResFirstValidObjectVar
ResFirstValidVar
ResIndex
ElmRes ResNextValidObject
ResNextValidObjectVar
ResNextValidVar
ResNval
ResNvars
D- 4
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
SetAsDefault
Write
WriteDraw
GetControlledHVNode
ElmStactrl GetControlledLVNode
GetSetupTransformer
GetSplit
GetSplitCal
GetSplitIndex
OverwriteRA
ElmSubstat ResetRA
SaveAsRA
SetRA
Disconnect
GetAvailableGenPower
ElmSym IsConnected
Reconnect
GetMinDistance
GetNextHVBus
ElmTerm IsElectrEquivalent
IsEquivalent
FitParams
ElmTow
PrintFreqDepParams
ElmTr IsQuadBooster
GetAll
GetBranches
GetBuses
ElmZone
GetNodes
GetObjs
Activate
IntCase Deactivate
Reduce
Clear
Contains
First
GetValue
Insert
IntDplmap Next
Remove
Size
Update
D- 5
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
Clear
Get
IndexOf
Insert
IntDplvec Remove
Size
Sort
IntEvt CreateCBEvents
SetText
IntForm
WriteOut
ColLbl
Get
Init
Invert
Multiply
NCol
IntMat NRow
Resize
RowLbl
Set
SortToColumn
AddVar
ClearVars
GetVar
NVars
IntMon PrintAllVal
PrintVal
RemoveVar
SetAdaptY
IntPlot SetAutoScaleY
SetScaleY
Activate
Deactivate
GetLatestVersion
HasExternalReferences
IntPrj Migrate
Purge
UpdateStatistics
GetProjectFolderType
IntPrjfolder
IsProjectFolderType
D- 6
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
Activate
Apply
Deactivate
IntScenario
GetObjects
Save
GetCriticalTimePhase
IntThrating
GetRating
Purge
IntUser
SetPassword
CreateGroup
CreateUser
IntUseman GetGroups
GetUsers
Activate
IntVariant Deactivate
Reduce
Get
Init
Resize
IntVec
Set
Size
D- 7
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
AddCopy
CreateObject
Delete
Edit
GetChildren
GetClass
GetConnectedElms
GetConnectionCount
GetContents
GetControlledNode
GetCubicle
GetFullName
GetNet
GetNode
GetOperator
GetOwner
GetParent
GetReferences
GetSize
GetUserAttribute
GetVal
HasResults
Inom
IsClass
IsEarthed
IsEnergized
IsInFeeder
Object IsNode
IsOutOfService
IsReducible
IsRelevant
lnm
MarkInGraphics
Move
PasteCopy
SetSize
SetVal
ShowFullName
ShowModalSelectTree
snm
StochEvt
unm
Unom
VarExists
D- 8
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
Add
Clear
Count
First
FirstFilt
Firstmatch
IsIn
MarkInGraphics
Next
NextFilt
Nextmatch
Obj
Set OutputFlexibleData
Remove
ShowModalBrowser
ShowModalSelectBrowser
ShowModelessBrowser
SortToClass
SortToName
SortToVar
AddPage
DoAutoScaleX
GetPage
SetAdaptX
SetAutoScaleX
SetResults
SetDesktop SetScaleX
SetXVar
Show
WriteWMF
GetAll
SetFeeder GetBranches
GetBuses
SetFilt Get
AdaptWidth
Aling
ChangeFont
ChangeFrameAndWidth
ChangeLayer
SetLevelvis
ChangeRefPoints
Mark
Reset
D- 9
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
AllBreakers
AllClosedBreakers
AllOpenBreakers
SetPath GetAll
GetBranches
GetBuses
AddRef
All
AllAsm
AllBars
AllBreakers
AllClosedBreakers
AllElm
AllLines
SetSelect AllLoads
AllOpenBreakers
AllSym
AllTypLne
Clear
GetAll
Date
SetTime
SetTime SetTimeUTC
Time
DoAutoScaleX
DoAutoScaleY
GetScaleObjX
GetVI
SetAdaptX
SetAutoScaleX
SetDefScaleX
SetVipage SetResults
SetScaleX
SetStyle
SetTile
SetXVar
GetAll
StaCubic
GetConnectedMajorNodes
Close
IsClosed
StaSwitch IsOpen
Open
TypAsm CalcElParams
TypAsmo CalcElParams
D- 10
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Class Method
IsCable
TypLne
SetNomCur
CreateStageObject
Variations
GetActiveScheduler
VisFft DoAutoScaleX
AddResVar
AddVars
Clear
DoAutoScaleX
DoAutoScaleY
GetScaleObjX
GetScaleObjY
SetAdaptX
SetAdaptY
SetAutoScaleX
VisPlot SetAutoScaleY
SetCrvDesc
SetDefScaleX
SetDefScaleY
SetScaleX
SetScaleY
SetXVar
VisPlot2 DoAutoScaleY2
This is the list of all documented methods and global functions in DPL. Each method is linked
to the class or header file where it is documented.
D- 11
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
AddHeader ComTablereport
AddInvisibleFilter ComTablereport
AddListFilter ComTablereport
AddListFilterEntires ComTablereport
AddPage ActiveCase
AddPlot ComTablereport
ComNmink
AddRef
SetSelect
AddResVars VisPlot
ElmRes
AddVars
VisPlot
AddXLabel ComTablereport
Aling SetLevelvis
All SetSelect
AllAsm SetSelect
AllBars SetSelect
SetPath
AllBreakers
SetSelect
SetPath
AllClosedBreakers
SetSelect
AllElm SetSelect
AllLines SetSelect
AllLoads SetSelect
SetPath
AllOpenBreakers
SetSelect
AllRelevant AllRelevant
AllSym SetSelect
AllTypLne SetSelect
AnalyseElmRes ComRel3
Apply IntScenario
BuildNodeNames ComUcteexp
TypAsm
CalcElParams
TypAsmo
CalculateInterchangeTo ElmNet
ChangeFont SetLevelvis
ChangeFrameAndWidth SetLevelvis
ChangeLayer SetLevelvis
ChangeRefPoints SetLevelvis
CheckAssignments SetLevelvis
D- 12
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
ComNmink
ElmRes
IntDplmap
IntDplvec
Clear Set
SetSelect
VisPlot
ClearCommands Global
ClearOutput Global
ClearVars IntMon
ElmCoup
Close
StaSwitch
ColLbl IntMat
Compare ComMerge
CompareActive ComMerge
Contains IntDplmap
Count Set
CreateCBEvents IntEvt
CreateFaultCase ComRel3
CreateFeederWithRoutes ElmLne
CreateGroup IntUserman
CreateObject Object
CreateStageObject Variations
CreateUser IntUserman
Date SetTime
ElmNet
IntCase
IntPrj
Deactivate
IntScenario
IntVariant
Delete Object
DisableAutomaticRowNumbering ComTablereport
Disconnect ElmSym
SetDesktop
SetVisPage
DoAutoScaleX VisFft
VisPlot
SetVisPage
DoAutoScaleY
VisPlot
DoAutoScaleY2 VisPlot2
Draw ElmRes
EnableAutomaticRowNumbering ComTablereport
Error Global
Exe Global
D- 13
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
ComDpl
ComInc
ComLdf
Execute ComRel3
ComShc
ComSimoutage
ExecuteCntcy ComSimoutage
ExecuteRecording ComMerge
ExecuteWithActiveProject ComMerge
Exit Global
ExportFullRange ComRes
fclose Global
fflush Global
FileNmResNm ComRes
IntDplmap
First
Set
FirstFilt Set
Firstmatch Set
ElmLne
FitParams
ElmTow
Flush ElmRes
fopen Global
FormatDateLT FormatDateLT
FormatDateUCT FormatDateUCT
fprintf fprintf
fRand Global
fscanf Global
fscanfsep Global
fWrite Global
IntDplvec
IntMat
Get IntVec
SetFilt
GetActiveNetworkVariations GetActiveNetworkVariations
GetActiveProject GetActiveProject
GetActiveScenario GetActiveScenario
GetActiveScheduler Variations
GetActiveStages GetActiveStages
GetActiveStudyCase GetActiveStudyCase
D- 14
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
ComNmink
ElmBay
ElmFeeder
ElmZone
SetFeeder
GetAll
SetPath
SetSelect
StaCubic
ElmAsm
GetAvailableGenPower ElmAsmsc
ElmSym
GetBorderCubicles GetBorderCubicles
ElmFeeder
ElmZone
GetBranches SetFeeder
SetPath
ElmFeeder
ElmZone
GetBuses SetFeeder
SetPath
GetCaseCommand Global
GetCaseObject Global
GetChildren Object
GetClass Object
GetConnectedElms Object
GetConnectedMajorNodes StaCubic
GetConnectionCount Object
GetContents Object
GetControlledHVNode ElmStactrl
GetControlledLVNode ElmStactrl
GetControlledNode Object
GetCorrespondingObject ComMerge
GetCreatedObjects ComImport
GetCriticalTimePhase IntThrating
GetCubicle Object
GetDataFolder GetDataFolder
GetFlowOrientation Global
GetFullName Object
GetGlobalLib Global
GetGraphBoard GetGraphBoard
GetGroups IntUserman
GetLanguage Global
GetLatestVersion IntPrj
GetLocalLib Global
GetMinDistance ElmTerm
D- 15
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
GetModification ComMerge
GetModificationResult ComMerge
ComImport
GetModifiedObjects
ComMerge
GetNet Object
GetNextHVBus ElmTerm
GetNode Object
GetNodes ElmZone
GetNodesBranches ElmFeeder
GetObj ElmRes
GetObject ComOutage
GetObjects InScenario
ElmFeeder
GetObjs
ElmZone
GetOperator Object
GetOwner Object
GetPage SetDesktop
GetPageLen Global
GetParent Object
GetProjectFolder Global
GetProjectFolderType IntPrjfolder
GetRating IntThrating
GetRecordingStage Global
GetReferences Object
GetRemoteBreakers ElmCoup
GetResData ElmRes
SetVisPage
GetScaleObjX
VisPlot
GetScaleObjY VisPlot
GetSettings Global
GetSize Object
GetSplit ElmSubstat
GetSplitCal ElmSubstat
GetSplitIndex ElmSubstat
GetSetupTransformer ElmStactrl
GetSystemTime Global
GetTime Global
GetType ElmLne
GetUserAttribute Object
GetUserManager Global
GetUsers IntUserman
GetVal Object
GetValue IntDplmap
GetVar IntMon
GetVersions IntPrj
D- 16
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
GetVI SetVisPage
GetY0m ElmLne
GetY1m ElmLne
GetZ0m ElmLne
GetZ1m ElmLne
HasExternalReferences IntPrj
HasResults Object
HasRoutes ElmLne
HastFoutesOrSec ElmLne
IndexOf IntDplvec
Info Global
ElmRes
Init IntMat
IntVec
Inom Object
IntDplmap
Insert
IntDplvec
Invert IntMat
IsBreaker ElmCoup
ElmLne
IsCable
TypLne
IsClass Object
ElmCoup
IsClosed
StaSwitch
IsConnected ElmSym
IsEarthed Object
IsElectrEquivalent ElmTerm
IsEnergized Object
IsEquivalent ElmTerm
IsIn Set
IsInFeeder Object
IsNetCoupling ElmLne
IsNode Object
ElmCoup
IsOpen
StaSwitch
IsOutOfService Object
IsProjectFolderType IntPrjfolder
IsQuadBooster ElmTr
IsReducible Object
IsRelevant Object
IsSplitting ElmSubstat
Inm Object
LoadResData ElmRes
Mark SetLevelvis
D- 17
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
Object
MarkInGraphics
Set
Merge ComMerge
Migrate IntPrj
Move Object
Multiply IntMat
NCol IntMat
IntDplmap
Next
Set
NextFilt Set
NextMatch Set
NoFinalUpdate NoFinalUpdate
NRow IntMat
NVars IntMon
Obj Set
ElmCoup
Open
StaSwitch
OutputFlexibleData Set
OverwriteRA ElmSubstat
ParseDateLT Global
ParseDateUTC Global
PasteCopy Object
PostCommand Global
PrintAllVal IntMon
PrintComparisionReport ComMerge
printf Global
PrintFreqDepParams ElmTow
PrintModifications ComMerge
PrintVal IntMon
IntPrj
Purge
IntUser
Random Random
Rebuild Rebuild
ReceiveData ComLink
Reconnect ElmSym
IntCase
Reduce
IntVariant
ReleaseResData ElmRes
IntDplmap
Remove IntDplvec
Set
ComOutage
RemoveEvents
ComRel3
RemoveOutages ComRel3
RemoveVar IntMon
D- 18
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
ReportObjs ComSimoutage
ComMerge
Reset ComSimoutage
SetLevelvis
ResetCalculation Global
ResetRA ElmSubstat
ResFirstValidObject ElmRes
ResFirstValidObjectVar ElmRes
ResFirstValidVar ElmRes
ResIndex ElmRes
IntMat
Resize
IntVec
ResNextValidObject ElmRes
ResNextValidObjectVar ElmRes
ResNextValidVar ElmRes
ResNvar ElmRes
ResNvars ElmRes
RowLbl IntMat
Save IntScenario
SaveAsRA ElmSubstat
SaveScenarioAs Global
SearchObjectByForeignKey Global
SendData ComLink
IntMat
Set
IntVec
SetDesktop
SetAdaptX SetVisPage
VisPlot
IntPlot
SetAdaptY
VisPlot
SetAsDefault ComRes
SetAutoAssignmentForAll ComMerge
SetDesktop
SetAutoScaleX SetVisPage
VisPlot
IntPlot
SetAutoScaleY
VisPlot
SetBarLimits ComTablereport
SetCellAccess ComTablereport
SetCellEdit ComTablereport
SetCellValueToBar ComTablereport
SetCellValueToCheckbox ComTablereport
SetCellValueToDate ComTablereport
SetCellValueToDouble ComTablereport
SetCellValueToInt ComTablereport
D- 19
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
SetCellValueToObject ComTablereport
SetCellValueToString ComTablereport
SetColumnHeader ComTablereport
SetConsistencyCheck SetConsistencyCheck
SetCorr ElmLne
SetCrvDesc VisPlot
SetCurvevalue ComTablereport
SetVisPage
SetDefScaleX
VisPlot
SetDefScaleY VisPlot
SetDetailed ElmLne
SetDialogSize ComTablereport
SetDiffMode Global
SetGraphicUpdate Global
SetLimits ComSimoutage
SetLineFeed Global
SetListFilterSelection ComTablereport
SetNomCurr TypLne
SetNumberFormatForPlot ComTablereport
SetObjectsToCompare ComMerge
SetObjs ComOutage
SetOutputWindowState Global
SetPassword IntUser
SetRA ElmSubstat
SetRandSeed Global
SetDesktop
SetResults
SetVisPage
SetDesktop
SetScaleX SetVisPage
VisPlot
IntPlot
SetScaleY
VisPlot
SetShowAllUsers Global
SetSize Object
SetSorting ComTablereport
SetStatusText ComTablereport
SetStyle SetVisPage
SetText IntForm
SetTextAxisDistForPlot ComTablereport
SetTicksForPlot ComTablereport
SetTile SetVisPage
SetTime Global
SetTimeUTC SetTime
SetTitle ComTablereport
SetVal Object
D- 20
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
SetDesktop
SetXVar SetVisPage
VisPlot
Show SetDesktop
ShowBrowser ComMerge
ShowFullName Object
ShowModalBrowser Set
ShowModalSelectBrowser Set
ShowModalSelectTree Object
ShowModelessBrowser Set
IntDplmap
Size IntDplvec
IntVec
Slotupd ComMerge
snm Object
Sort IntDplvec
SortToClass Set
SortToColumn IntMat
SortToName Set
SortToVar Set
sprintf Global
sscanf Global
sscanfsep Global
StochEvt Object
strchg Global
strcmp Global
strcpy Global
strftime Global
strlen Global
strstr Global
strtok Global
SummaryGrid SummaryGrid
SetTime Time
ToStr Global
unm Object
Unom Object
Update IntDplmap
UpdateStatistics IntPrj
validLDF Global
validLDF Global
validRMS Global
validSHC Global
validSIM Global
VarExists Object
Warn Global
D- 21
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Function Class
WereModificationsFound ComMerge
ElmRes
Write
Output Window
WriteDraw ElmRes
WriteOut IntForm
WriteWMF SetDesktop
D.3.1 Object
The following list is an overview of all functions and methods which are available for all objects.
D- 22
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.1 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)” copies
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 concate-
nation of ’nm1’, ’nm2’, etc.
The target object must be able to receive a copy of the objects. The function ”Fold.AddCopy(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. Copying 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:
Return value:
Example: The following example copies a fuse to a set of cubicles. The copies will be named
”Fuse Nr.0”, ”Fuse Nr.1”, etc.
D.3.1.2 object.CreateObject
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 name it to the result of the concatenation of ’nm1’,
’nm2’, etc.
Arguments:
D- 24
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
The following example creates a fuse in a set of cubicles. The new fuses will be named ”Fuse
Nr.0”, ”Fuse Nr.1”, etc.
object target;
set Cubs;
int n;
Cubs = SEL.GetAll(’StaCubic’);
target = Cubs.First();
n = 0;
while (target) {
target.CreateObject(’RelFuse’, ’Fuse Nr’, n);
target = Cubs.Next();
n+=1;
}
D.3.1.3 Delete
Deletes an object or a set of objects from the database. The objects are not destroyed but are
moved to the recycle bin.
Arguments:
Return value:
none
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 using a single restore command.
object O;
set S, Del;
S = AllRelevant();
O = S.Firstmatch(’RelFuse’);
while (O) {
if (O:typ id=DummyType) {
D- 25
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Del.Add(O);
}
O = S.Nextmatch();
}
Delete(Del);
D.3.1.4 object.Edit
int object.Edit ()
Opens the edit dialogue of the object. Command objects (such as ComLdf ) will have their
Execute button disabled. The execution of the running DPL script will be halted until the edit
dialogue is closed again.
Arguments:
none
Return value:
Example:
The following example opens a line dialogue, prior to calculating a load flow.
MyLine.Edit(); Ldf.Execute();
D.3.1.5 GetCaseObject
Returns the first found object of class ”ClassName” from the currently active study 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 calculation
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 ”GetCaseCom-
mand()” 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:
Example:
D- 26
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
The following example uses the default SetTime object to change the calculation time, and then
executes the load flow command with the name ’Unbalanced’.
D.3.1.6 SearchObjectByForeignKey
Arguments:
Return value:
Example:
The following example shows how to search for an object by foreign key:
object obj;
obj = SearchObjectByForeignKey(fkey);
printf(Object found: %o, obj);
D.3.1.7 object.GetChildren
This function returns a set of objects that are stored within the object the function was called on.
In contrast to GetContents() this function gives access to objects that are currently hidden due
to scheme management.
Arguments:
string filter (optional) : Name filter, possibly containing ’*’ and ’?’ characters (see also GetCon-
tents D.3.1.11)
D- 27
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
The following example lists all contained terminals for each substation:
D.3.1.8 object.GetClass
string object.GetClass ()
Arguments: none
Example: The following example checks to see if two sets start with the same class.
D.3.1.9 object.GetConnectionCount
int object.GetConnectionCount ()
D- 28
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
set aSet;
int iCount,iCub;
object pObj,pCub,pBus;
! list all nodes to which 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();
}
}
}
}
D.3.1.10 object.GetConnectedElms
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 returned when rBrk
and/or rDis is zero, in the case of open breakers and/or disconnectors. The default values are
(0,0,0).
Arguments:
Return value:
D.3.1.11 object.GetContents
Returns the set of objects that are stored in the object and whose name matches the argument
name. Returns an empty set if the object’s container is empty, or if the object is not capable of
storing objects. The argument name may contain the complete name and classname, or parts
D- 29
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
string Name (optional) : loc name.class name, name possibly contains wildcards: ’*’ and ’?’
characters
int Contents (optional) : if Contents = 1, the DPL command will additionally search all subfolders.
If Contents = 0 (Default), the DPL command will only search object o.
Return value:
Example:
The following example collects all lines that are stored in line objects.
D.3.1.12 object.GetControlledNode
Returns the target terminal and the resulting target voltage for generators and other voltage
regulating units.
Arguments:
Table D.3.1
double targetVoltage (obligatory) : The output parameter will be set to the target voltage
D- 30
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Table D.3.2
Return value:
Controlled node, NULL if no controlled terminal exists (or not voltage controlled if check=1)
Example:
set objs;
object obj, node;
double vtarget;
objs = AllRelevant();
D.3.1.13 object.GetCubicle
Returns the cubicle of an object at the connection with index n, or NULL if there is no cubicle
inside the object.
Arguments:
Return value:
D.3.1.14 object.GetFullName
Arguments:
D- 31
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
int type (optional)Is used to determine the format of the returned name.
not given The full name is returned without any special formatting.
0 The returned string has the same format as used in
method ShowFullName().
> 0 (but less or equal to 190) Formats the string to exactly this length. This string is click-
able if printed to the output window.
Table D.3.3
Return value:
Example:
str = obj.GetFullName();
printf(’%s’, str);
!Output:
!\Support.IntUser\Example Hierarchy 6.IntPrj \Network
!Model.IntPrjfolder \Network Data.IntPrjfolder \Small Network.ElmNet
\400 kV
!Drakelow\SGT3A.ElmTr3
str = obj.GetFullName(0);
printf(’%s’, str);
!Output:
!’Network Model\Network Data \Small Network \400 kV Drakelow \SGT3A.ElmTr3’
str = obj.GetFullName(30);
printf(’%s’, str);
!Output:
(!’400 kV Drakelow \SGT3A.ElmTr3’%s (again)’,s); ! print again:
D.3.1.15 object.GetNet
object object.GetNet()
Arguments:
none
Return value:
The result object or NULL, if the current object is not stored in any grid.
D- 32
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.16 object.GetNode
Arguments:
int iBusNo (obligatory) : Bus number (0,1) int iSw (obligatory) : Considering configuration of
switches (0,1), Default=0
Return value:
D.3.1.17 object.GetOperator
object object.GetOperator ()
Arguments:
none
Return value:
Objects operator:
- If the object has a set pOperator attribute: the object set at the ”pOperator” attribute
- Else if a parent element has a set ”pOperator” attribute: the operator object inherited from the
next parent element
- Else: NULL
D.3.1.18 object.GetOwner
object object.GetOwner ()
Arguments:
none
Return value:
Objects owner:
- If the object has a set pOwner attribute: the object set at the ”pOwner” attribute
- Else if a parent element has a set ”pOwner” attribute: the owner object inherited from the next
parent element
- Else: NULL
D- 33
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.19 object.GetParent
Arguments: none
Example: The following example returns the folder in which a line is stored. The function
”GetBestLine()” is an example DPL script which returns a line.
D.3.1.20 object.GetReferences
Returns a set containing all objects with references to the object the method was called on.
Arguments:
string filter (optional) : Object filter to get only objects whose name matches this filter string, e.g.
’*.’.
Return value:
Example:
refs = obj1.GetReferences();
D- 34
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.21 object.GetSize
Returns the size of the variable ”VarName” when this variable is a vector or a matrix.
Arguments:
Return value:
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
D- 35
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.22 object.GetUserAttribute
This function offers read-access to user-defined attributes. These attributes must be defined in
an XML-like syntax in the description field of an object (variable ’desc’).
With:
Table D.3.4
Example:
<Attribute Name=”var1” Type=”int”>2008< / >
<Attribute Name=”var2” Type=”string”>Hello PowerFactory < / >
Arguments:
Return value:
Example:
The following example gets the user-defined attributes of the object ”obj”:
set objs;
object obj;
string sval;
int err, ival;
double dval;
objs = AllRelevant(’’);
objs.SortToName(0);
D- 36
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.23 object.GetVal
Returns the value of the variable ’VarName’ when this variable is a vector or a matrix, for the
given row and column.
Arguments:
Return value:
0 when ”VarName” is a valid variable name and row number and column number are in range,
else 1.
Example:
D.3.1.24 object.HasResults
Arguments:
Table D.3.5
Return value:
D- 37
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
0: no results available
1: results exist
D.3.1.25 object.IsClass
Arguments:
Return value:
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();
}
D.3.1.26 object.IsEarthed
int object.IsEarthed ()
Arguments:
none
Return value:
D- 38
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
set elements;
object obj;
int status;
elements = AllRelevant();
for (obj = elements.First(); obj; obj = elements.Next()){
status = obj.IsEarthed();
if (status = 0){
printf(’Component %o is not earthed.’, obj);
}
else if (status > 0){
printf(’Component %o is earthed.’, obj);
}
}
D.3.1.27 object.IsEnergized
int object.IsEnergized ()
Arguments:
none
Return value:
1: component is energized
0: component is deenergized
-1: component has no energizing status (status unknown)
Example:
set elements;
object obj;
int status;
elements = AllRelevant();
D- 39
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
else if (status > 0){
printf(’Component %o is energized.’, obj);
}
else if (status < 0){
printf(’Energizing status for %o is unknown.’, obj);
}
}
D.3.1.28 object.IsInFeeder
Arguments:
Return value:
1 if ”Feeder” is a feeder definition and the object is in the feeder area, 0 otherwise.
D.3.1.29 object.IsNode
int object.IsNode ()
Arguments:
none
Return value:
D.3.1.30 object.IsOutOfService
int object.IsOutOfService ()
Arguments:
none
Return value:
D- 40
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
i = MyLine.IsOutOfService();
if (i) {
MyLine.ShowFullName();
}
D.3.1.31 object.IsReducible
int object.IsReducible ()
Arguments:
none
Return value:
Example:
set objs;
object obj;
int res;
objs = AllRelevant();
for (obj = objs.First(); obj; obj = objs.Next()){
res = obj.IsReducible();
if (res = 0){
printf(’Object %o is not reducible.’, obj);
continue;
}
if (res = 1){
printf(’Object %o is reducible.’, obj);
continue;
}
if (res = 2){
printf(’Object %o is currently not reducible.’, obj);
continue;
}
}
D.3.1.32 object.IsRelevant
int object.IsRelevant ()
D- 41
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
i = MyLine.IsRelevant();
if (i) {
MyLine.ShowFullName();
}
D.3.1.33 object.MarkInGraphics
void object.MarkInGraphics ()
Arguments:
none
Return value:
none
When the currently visible single line graphic does not contain the object, nothing will happen.
Example:
The following example will 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();
}
D.3.1.34 object.Move
Arguments:
D- 42
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
0 on success, 1 on error.
Example:
object targetobj,pObj;
set AllObjs;
! move pObj to targetobj
targetobj.Move(pObj);
! move all objects inside AllObjs to targetobj
targetobj.Move(AllObjs);
D.3.1.35 object.PasteCopy
This function pastes the copy of the given object(s) into this (=target) using the merge tool when
source and target are inside different projects (equivalent to a manual copy&paste operation).
Arguments:
Return value:
D.3.1.36 object.SetSize
Sets the size of the variable ’VarName’ for an object if this variable is a vector or matrix.
Arguments:
Return value:
Example:
The following example will set the size of the row and column to 5:
object pTypSym;
D- 43
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
int res1,res2;
int size,oldsize;
pTypSym.GetSize(’satv’,oldsize);
printf(’Old size of vector: %d’,oldsize);
res1 = pTypSym.SetSize(’satv’,5);
res2 = pTypSym.SetSize(’satse’,5);
if (res1=1.or.res2=1) {
printf(’Error - parameter setse or setv no vector or matrix’);
exit();
}
pTypSym.GetSize(’satv’,size);
printf(’New size of vector: %d’,size);
D.3.1.37 object.SetVal
int object.SetVal (string/double/object Value, string VarName, int row [, int col])
Sets the value of the variable ’VarName’ for the given row and column if this variable is a vector,
matrix or string.
Arguments:
Return value:
0: ’VarName’ is a valid variable name and row ¡ actual number of rows and columns ¡ actual
number of columns.
1: Variable not found or variable is not a matrix or vector or row ¿= actual number of rows and
columns >= actual number of columns.
Example:
The following example sets the size of the row and column to 5:
object pTypSym;
int irow;
int size;
double val1,val2;
pTypSym.GetSize(’satv’,size);
val1 = 0;
val2 = 0;
irow=0;
while (irow<size) {
pTypSym.SetVal(val1,’satv’,irow);
pTypSym.SetVal(val2,’satse’,irow);
D- 44
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
val1 += 0.1;
irow += 1;
}
D.3.1.38 object.ShowFullName
void object.ShowFullName ()
Arguments:
none
Return value:
none
The complete database path is written to the output window, and the written names can be
right-clicked in the output window to edit the associated objects. This is useful for selecting
objects which are to be inspected or edited after the DPL script has finished.
Example:
The following example writes all overloaded lines from the selection to the output window.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
if (O:c:loading>100.0) {
O.ShowFullName();
}
O = S.Next();
}
D.3.1.39 object.ShowModalSelectTree
Shows a tree view dialog hierarchically listing currently available PowerFactory objects. The first
displayed element is the database root. The element on which the function is called will initially
be selected.
Arguments:
string title (optional) : Title for dialog. If omitted, a default title will be used.
string filter (optional) : Class filter. If set, a selection is only accepted if the selected object
matches that filter.
D- 45
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Currently selected object is returned, if the user selects ’Ok’. If ’Cancel’ is selected, NULL is
returned.
D.3.1.40 object.StochEvt
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:
Return value:
Example:
The following example prints the states of a line for a year. This is a small example of a chrono-
logical Monte-Carlo simulation.
SetRandSeed(1);
st = Line.StochEvt(t);
while (t<8760) {
printf(’%7.2f %d’, t, st);
st = Line.StochEvt(d, st);
t = t + d;
}
result:
1172.67
01186.05
15554.87
05560.11
17873.65
07888.94
18260.78
08274.29
1
D.3.1.41 object.VarExists
Checks to see if this object has a currently valid variable called ”VarName”.
D- 46
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
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);
D.3.1.42 object.lnm
Arguments:
Return value:
Example:
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:
D- 47
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.43 object.Inom
double object.Inom ()
Arguments:
none
Return value:
Example:
The following example collects all high current lines. The value MinCurrent is an input parame-
ter.
set S, Shv;
object O;
double U;
S = SEL.AllLines();
O = S.First();
while (O) {
U = O.Inom();
if (U>MinCurrent) {
Shv.Add(O);
}
O = S.Next();
}
D.3.1.44 object.unm
Arguments:
Return value:
Example:
D- 48
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.1.45 object.Unom
double object.Unom ()
Arguments:
none
Return value:
Example:
The following example collects all high voltage lines. The value VoltageLevel is an input param-
eter.
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();
}
D.3.1.46 object.snm
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:
Return value:
Example:
D- 49
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.2.1 AllRelevant
Returns a set with calculation relevant objects, i.e. the objects which are used by the calcula-
tions. 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.
The argument elementsOnly can be used to increase the performance if only elements are
filtered, e.g. ElmLne, ElmSym, ... .
Arguments:
Return value:
D- 50
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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 settings.
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,*.’);
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,*.’); ! includes out-of-service objects
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
D.3.2.2 set.Add
Arguments:
Return value:
D- 51
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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);
D.3.2.3 set.Clear
void set.Clear()
Arguments:
none
Return value:
none
Example:
set Sbig;
Sbig = SEL.AllLines();
...
Sbig.Clear();
D.3.2.4 set.Count
int set.Count ()
Arguments:
none
Return value:
Example:
D- 52
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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();
}
D.3.2.5 set.First
object set.First()
Arguments:
none
Return value:
Example:
The following example writes the full names of all line in the general selection to the output
window.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.3.2.6 set.FirstFilt
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:
D- 53
DIgSILENT PowerFactory APPENDIX D. 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();
}
D.3.2.7 set.Firstmatch
D.3.2.8 set.IsIn
Arguments:
Return value:
Example:
D- 54
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.2.9 set.MarkInGraphics
void set.MarkInGraphics ()
Marks all objects in the set in the currently visible graphic by hatch crossing them.
Arguments:
none
Return value:
none
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();
D.3.2.10 set.Next
object set.Next ()
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 output
window.
set S;
object O
S = SEL.AllLines();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D- 55
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.2.11 set.NextFilt
int set.NextFilt ()
Returns the next object from the set which name matches the wildcard.
Arguments:
none
Return value:
Example:
The following example writes all two and three winding transformers to the output window
set S;
object O;
S = AllRelevant();
O = S.FirstFilt(’T*.ElmTr?’);
while (O) {
O.ShowFullName(); O = S.NextFilt(); }
D.3.2.12 set.Nextmatch
int set.Nextmatch ()
D.3.2.13 set.Obj
Arguments:
Return value:
The object at the given index in the set, when ”Index” is in range, NULL otherwise.
D.3.2.14 set.OutputFlexibleData
void set.OutputFlexibleData ()
Has identical functionality to that implemented in the Object Filter dialogue, whereby the user
can right-click on a single row or multiple rows in a Flexible Data page and select Output Flexible
D- 56
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Data. The OutputFlexibleData() function assumes that the user has already defined a Flexible
Data page for the objects in the set. Upon execution of this function, all Flexible Data defined
for the objects in the set is output to the PowerFactory output window in a tabular format.
Arguments:
none
Return value:
none
Example:
The following example collects all elements of classes ElmLne and (lines and terminals, respec-
tively) which are relevant to the calculation and output their defined Flexible Data to the output
window:
set sElms;
sElms = AllRelevant(’*.ElmLne,*.’);
sElms.OutputFlexibleData();
D.3.2.15 set.Remove
Arguments:
Return value:
0 on success
Example:
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();
}
D- 57
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.2.16 set.ShowModalBrowser
Opens a modal browser window and lists all objects contained in the set.
Arguments:
Return value:
none
D.3.2.17 set.ShowModalSelectBrowser
Opens a modal browser window and lists all objects contained in the set. The user can make a
selection from the list.
Arguments:
string title (optional) : Title for dialog. If omitted, a default title will be.
string filter (optional) : Class filter. If set, only objects matching that filter will be listed in the
dialog.
Return value:
When the ok button is pressed, the selection is returned as a new set. On cancel, the returned
set is empty.
D.3.2.18 set.ShowModelessBrowser
Opens a modeless browser window and lists all objects contained in the set.
Arguments:
D- 58
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
none
D.3.2.19 set.SortToClass
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:
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();
}
D.3.2.20 set.SortToName
Sorts the objects in the set to their name. The sorting is from A..Z when R=0 and reverse when
R=1.
Arguments:
Return value:
0 on success
D- 59
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
The following example writes all objects to the output window, sorted to names.
set S;
object O;
S = AllRelevant();
S.SortToName(0);
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.3.2.21 set.SortToVar
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:
Return value:
0 on success
Example:
The following example writes all lines to the output window, sorted to derating factor and length.
set S;
object O;
S = AllRelevant(’*.ElmLne’);
S.SortToVar(0, ’fline’, ’dline’);
O = S.First();
while (O) {
printf(’%10s %f %f’,O:loc name,O:fline,O:dline);
O = S.Next();
}
D.3.3 String
D- 60
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
The string printing commands ”printf” , ”sprintf” , ”fprintf” as well as ”Write” , ”Error” , ”Warn” and
”Info” all use the same format string syntax.
The format string must contain a valid place holder for every given argument. The placeholder
format is
’-’ 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 ”.preci-
sion” specifies the number of decimals printed.
Example:
double x;
int i;
D- 61
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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);
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:
a black i gray
b black j light gray
c red k bordeaux
d green l dark red
e blue m dark green
f brown n light green
g cyan o marine
h magenta p dark blue
Table D.3.6
Example:
D.3.3.2 sprintf
D- 62
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Returns a formatted string. The sprintf() command uses the C++ printf() formatting syntax.
Arguments:
Return value:
Example:
See the Format String Syntax D.3.3.1 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
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.
D.3.3.3 ToStr
ToStr
The command ”ToStr” is obsolete and has been replaced by the ”sprintf” command. See
”sprintf” D.3.3.2 for more information.
D- 63
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.3.4 sscanf
int sscanf (string Source, string Format, string T — double X — int I, ...)
Returns the number of fields successfully converted and assigned; the return value does not
include fields that were read but not assigned.
Arguments:
string Format (obligatory) : Defines a format of variable types (int/string/double) to which the
fields are assigned
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an error or
if the end of the string is reached before the first conversion.
Example:
The following example assignes the first two fields of string sStr to the string sRes and the
double rVal
iPos = 0;
sStr = ’Test 23’;
iRet = sscanf(sStr,’%s %d’,sRes,iPos);
printf(’%s %d iRet = %d’,sRes,iPos,iRet);
Test 23 iRet = 0
D.3.3.5 sscanfsep
int sscanfsep (string input, string format, string T — double X — int I, ..., string separator)
Parses an input string of tokens that are separated by a separation character. Each parsed
token is put into a passed variable.
Arguments:
Return value:
D- 64
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
sStstring sVal;
int iVal;
int ret;
==> Output:
ret: 2
sVal: Hello DPL
iVal: 123
D.3.3.6 strstr
Searches for a substring in a string and returns the position of the first letter of substring S2 in
string S1.
Arguments:
Return value:
The first position in S1 where S2 was found, or -1 when S2 was not found.
Example:
D.3.3.7 strcpy
Arguments:
D- 65
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
D.3.3.8 strcmp
strcmp
int strcmp (string S1, string S2, int count)
Arguments:
Return value:
D.3.3.9 strchg
Searches in the string sStr for the sub-string sFind and substitutes it by the sub-string sNew.
Arguments:
D- 66
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
The first position in sStr where sFind was found (index of the first letter, index begins with 0);
Example:
int iRet;
string sStr, sFind, sNew;
D.3.3.10 strlen
Arguments:
D.3.3.11 strtok
string strtok (string Source, string Delimiter, int Pos, int Num)
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:
int Pos (obligatory) : Returns the position of token in Source (beginning with 0)
Return value:
D- 67
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
D.3.3.12 strftime
Arguments:
D- 68
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Table D.3.7
Return value:
Example:
Output:
D- 69
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.4.1 FormatDateLT
Creates a formatted date string. The time must be given in seconds since 01.01.1970 00:00 in
UTC and is converted to a display string in local time.
Arguments:
string format
Table D.3.8
Return value:
Example:
The following example gets the formatted date string in local time:
string str;
int t;
t = 1180703210;
str = FormatDateLT(’%Y-%m-%d %H:%M:%S’, t);
D- 70
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.4.2 FormatDateUTC
Creates a formatted date string. The time must be given in seconds since 01.01.1970 00:00
and is considered to be in UTC time. No time zone corrections are done.
Arguments:
string format
Table D.3.9
Return value:
Example:
string s;
int seconds;
s = FormatDateUTC(’%Y-%m-%dT%H:%M:%S%tz’, 1153840426);
printf(’%s’, s);
D- 71
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
!Output: 2006-07-25T15:13:46+00:00
seconds = GetSystemTimeUTC();
s = FormatDate(’%Y-%m-%dT%H:%M:%S%tz’, seconds);
printf(’%s’, s); !current time
D.3.4.3 GetTime
Arguments:
Return value:
D.3.4.4 GetSystemTime
int GetSystemTime ()
Returns the current system time in seconds since 00:00 01.01.1970. This time is always in local
time. For getting the time in UTC, a function GetSystemTimeUTC() is available.
Arguments:
none
Return value:
Example:
int seconds;
seconds = GetSystemTime();
printf(’%d’, seconds);
D.3.4.5 ParseDateLT
D- 72
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Parses a given date string that represents a date in local time and returns the corresponding
UTC time in seconds since 01.01.1970 00:00 UTC.
Arguments:
string format
string format
Table D.3.10
Return value:
Example:
The following example returns the date in seconds since 00:00 01.01.1970 UTC:
string date;
int t;
!Output: 1180703210
D.3.4.6 ParseDateUTC
Parses a given date string and returns the date in seconds since 01.01.1970 00:00 UTC. If a
time zone is given and specified in format string this information is used to convert the seconds
to UTC.
Arguments:
string format
D- 73
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Table D.3.11
Return value:
Date in seconds since 00:00 01.01.1970 UTC that is represented by given date string.
Example:
The following example returns the date in seconds since 00:00 01.01.1970 UTC:
int t;
!Output: 0
!Output: 3600
!Output: 1153828740
D- 74
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.5.1 ClearOutput
void ClearOutput ()
Arguments:
none
Return value:
none
Example:
ClearOutput();
D.3.5.2 Error
Writes a formatted string as error message to the output window. The DPL execution will con-
tinue, but a pop-up error message box will appear at the end of execution.
Arguments:
Return value:
Example:
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.
D.3.5.3 Info
D- 75
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
Return value:
Example:
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.
D.3.5.4 printf
Outputs a formatted string. The printf() command uses the C++ printf() formatting syntax.
Arguments:
’s’ The placeholder %s could be used to print an objects name (loc name) to the
output window as a click-able link.
’o’ Prints the class icon and loc name of a given object. The loc name can be
clicked to show the element dialog. The length of the icon and name can be
limited/extended to a fix number of characters (the icon needs 3 characters).
If the length is <3 it is set to 3.
’b’ Prints the class icon of the given class name or object.
’[width]F’ Prints a floating point value as a string of fixed width. The place of the point
is determined automatically so that always a maximum precision is achieved.
Width (required) is a number > 0
Example:
D- 76
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
printf(’0123456789 0123456789\n);
printf(’%10F %10F’, -3.143458903850, 1.71);
printf(’%10F %10F’, 1234567890, 1234567890123);
printf(’%10F %10F’, 1.0, 1234.0005);
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.
D.3.5.5 SetLineFeed
Arguments:
int i (obligatory) : use ’0’ to disable the automatic line feed, use ’1’ to enable it again.
Return value:
none
Example:
The following example disables the automatic line feed prior to printing a matrix of numbers.
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) {
D- 77
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
printf(’%2d’, i);
for (j=1; j<5; j+=1) {
printf(’\t%2d’, i+j);
}
printf(’\n’); ! insert a line-feed
}
D.3.5.6 SetOutputWindowState
Arguments:
Return value:
none
Example:
D.3.5.7 Warn
Arguments:
D- 78
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
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.
D.3.5.8 Write
The command ”Write” is described here for compatibility reasons. In most cases the ”printf” is
easier to use.
Writes out a line of formatted text, using the DIgSILENT output language.
Arguments:
Return value:
0 on success, 1 on error
The ”Write” command is used to quickly output a line of formatted output, using the same format-
ting language as is used for defining reports and result-boxes. See Section for more information.
Because data or parameters of more than object is often written out, the DIgSILENT output lan-
guage has the special macro ”ACC(x)” to distinguish between these objects. Prior 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”
D- 79
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.6 File
D.3.6.1 fclose
Closes file with the ID iFH of the file handler (between 0 and 9).
Arguments:
Return value:
none
Example:
fopen(’d:\tmp\test.txt’,’r’,0);
iRet = fscanf(0,’%s %d’,sRes,rVal);
printf(’%s %.1f iRet = %d’,sRes,rVal,iRet);
fclose(0);
D.3.6.2 fflush
(Internally, there is a write-buffer used for file access. All write operations are performed on that
buffer. Only at specific points of time, the buffer is transferred to disk. Such a transfer can be
forced by usage of this command.)
D- 80
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
int fileNumber (obligatory) : Number of the file (see fopen for using of file numbers).
Return value:
none
Example:
D.3.6.3 fopen
int fopen (string Path, string Mode, int iFH, int iRet)
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 depending
on the Mode
string Mode (obligatory): The attribute for opening the file (r,w,a,r+,w+,a+,b,t)
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:
fopen(’d:\tmp\test.txt’,’r’,0);
iRet = fscanf(0,’%s %d’,sRes,rVal);
printf(’%s %.1f iRet = %d’,sRes,rVal,iRet);
fclose(0);
D.3.6.4 fprintf
string fprintf (int iFH, string Format [, string T — double X — int I, ...])
Writes a formatted string to a file. The fprintf() command uses the C++ printf() formatting syntax.
Arguments:
string Format (obligatory): Defines a format of variable types (int/string/double) to which the
fields are assigned
D- 81
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
See the format string syntax for examples and more information.
double x;
int i;
string s;
fopen(’d:\tmp\test.txt’,’w’,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.
D.3.6.5 fWrite
The command ”fWrite” is obsolete and has been replaced by the ”printf” command. See
”printf” D.3.5.4 for more information.
D.3.6.6 fscanf
int fscanf (int iFH, string Format, string T — double X — int I, ...)
Returns the number of fields successfully converted and assigned; the return value does not
include fields that were read but not assigned.
Arguments:
string Format (obligatory) : Defines a format of variable types (int/string/double) to which the
fields are assigned
D- 82
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an error or
if the end of the string is reached before the first conversion.
Example:
The following example assignes the first to fields of the text file ’test.txt’ (contents: ’Name
12.333’) to the string sRes and the double rVal
fopen(’d:\tmp\test.txt’,’r’,0);
iRet = fscanf(0,’%s %d’,sRes,rVal);
printf(’%s %.1f iRet = %d’,sRes,rVal,iRet);
fclose(0);
D.3.6.7 fscanfsep
int fscanfsep(int iFH, string Ft, string T — double X — int I, ..., string sSep, int iLine)
Functionality like fscanf. Returns the number of fields successfully converted and assigned; 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:
string Ft (obligatory) : Defines a format of variable types (int/string/double) to which the fields
are assigned
int iLine (obligatory) : 1 if the interpretation of the line will be stopped after the current line. 0 for
continued interpretation.
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an error or
if the end of the string is reached before the first conversion.
Example:
int iRet;
string sRes;
D- 83
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
fopen(’c:\test1.txt’,’r’,0);
SetLineFeed(0);
D.3.7 Miscellaneous
D.3.7.1 EchoOn
void EchoOn ()
Arguments:
none
Return value:
none
D- 84
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
The following example de-activates the user-interface to speed up the calculations, after which
the user-interface is re-activated again.
D.3.7.2 EchoOff
void EchoOff ()
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 ”NoFi-
nalUpdate()” has been called.
Arguments:
none
Return value:
none
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();
D.3.7.3 exit
exit ()
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 parent script.
Arguments:
Return value:
Example:
int in;
D- 85
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
int sum;
D.3.7.4 fRand
fRand
double fRand (int mode, double p1, double p2)
Arguments:
0: uniform distribution
1: normal distribution
2: weibull distribution
else: returns 0.0
Table D.3.12
double p1 (optional) :
double p2 (optional) :
Table D.3.13
Return value:
double
Example:
The following example prints random numbers for the following distributions:
D- 86
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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:
D.3.7.5 GetBorderCubicles
This function returns the border cubicles of the parent substation of passed element reachable
from that element.
These cubicles are determined by a topological search starting at passed element and stopping
at any busbar, open switch or reached border cubicle.
Arguments:
Return value:
A set, containing border cubicles. If the element does not reside in any substation or no border
cubicles exist, the set is empty.
Example:
set cubicles;
D- 87
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
object cubic;
!variable elm is pointing to a network component
cubicles = GetBorderCubicles(elm);
D.3.7.6 GetLanguage
string GetLanguage ()
Arguments:
none
Return value:
D.3.7.7 GetPageLen
Returns the number of lines per page according to the currently selected printer and paper size.
Arguments:
Return value:
The maximum number of lines that can be printed on a single sheet of paper.
D.3.7.8 GetSettings
Arguments:
string key
D- 88
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Table D.3.14
Return value:
Example:
string s;
int i;
s = GetSettings(’usernm’);
printf(’Username: %s’, s);
s = GetSettings(’ptdig’);
printf(’InstallationDir: %s’, s);
s = GetSettings(’ptwrk’);
printf(’WorkingDir: %s’, s);
s = GetSettings(’db driver’);
printf(’DBDriver: %s’, s);
i = GetSettings(’sessionid’);
printf(’SessionID: %d’, i);
D.3.7.9 GetUserManager
object GetUserManager ()
Offers access to the user manager object (IntUserman) stored in the configuration folder.
Arguments:
none
Return value:
Input
void Input (string inputStr —double inputDbl, string msg [, int length])
Provides the possibility to get user input during the execution of a DPL script (extension of the
V13.2 function). When executed, an input box is displayed. The execution of the script pauses
D- 89
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
until the user presses the OK button. On cancel, the running DPL script is aborted.
Arguments:
string inputStr —double inputDbl (obligatory) : Output variable that will hold the users input;
depending on the type, the input is returned as string or as double.
int length (optional) : If given, the input is limited to length characters. In addition, this deter-
mines the dialogs size (up to max. length of 60).
Return value:
none
Please note, that the execution of the script is aborted if the user cancels the input request.
Example:
The following example displays first an input box to enter a number and then to enter a text:
double dval;
string sval;
D.3.7.10 NoFinalUpdate
void NoFinalUpdate ()
Arguments:
none
Return value:
none
Example:
EchoOff();
.. do some calculation ...
NoFinalUpdate();
D- 90
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.3.7.11 Random
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:
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();
D.3.7.12 Rebuild
Arguments:
Return value:
none
Example:
Rebuild(1);
D.3.7.13 SetConsistencyCheck
This function enables or disables the consistency check if a parameter is set. The consistency
check is per default enabled.
Arguments:
D- 91
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
D.3.7.14 SetDiffMode
This function allows switching between base and compare case results when using the compar-
ing results functionality of PowerFactory (see manual Chapter: Comparisons Between Calcula-
tions). Depending on this mode, the access to object parameters returns base case values or
is redirected to result case values. There is no need to adapt the parameter access statements.
Arguments:
Return value:
none
Example:
The following example demonstrates how to access the comparing results functionality from
DPL.
D- 92
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
!report differences:
!for all relevant terminals
terms = AllRelevant(’’);
for (term = terms.First(); term; term = terms.Next()){
SetDiffMode(0); !base case results
u1 = term:m:u;
SetDiffMode(1); !compare case results
u2 = term:m:u;
printf(’%o: u1=%f p.u. u2=%f’, term, u1, u2);
}
D.3.7.15 SetRandSeed
Initializes the random number generator. One out of 10 predefined initialization seeds can be
selected.
Arguments:
Example:
D.3.7.16 SetShowAllUsers
Enables or disables the filtering of all available users in data manager. All users are only visual-
ized in data manager when enabled.
Arguments:
Return value:
1: If enabled before.
0: If disabled before.
Example:
D- 93
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.1 Functions
D.4.1.1 GetActiveProject
object GetActiveProject ()
Arguments:
none
Return value:
Example:
object Prj;
Prj = GetActiveProject();
Prj.ShowFullName();
D- 94
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.1.2 GetFlowOrientation
int GetFlowOrientation ()
Arguments:
none
Return value:
D.4.1.3 GetGlobalLib
Returns the global library for object-types of class ”ClassName”. ClassName may be omitted,
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:
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();
}
D.4.1.4 GetLocalLib
Returns the local library for object-types of class ”ClassName”. ClassName may be omitted, in
which case the complete local library folder is returned.
D- 95
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
string ClassName (optional) : The classname of the objects for which the library folder is sought
Return value:
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();
}
D.4.1.5 GetDataFolder
This function returns the folder in which the network data for the given class are stored.
Arguments:
ElmBmu
ElmArea
ElmZone
ElmRoute
ElmOwner
ElmOperator
ElmFeeder
ElmCircuit
ElmBoundary
IntScales
Table D.4.1
int iCreate:
0: The folder is searched and returned if found. If the folder does not exist, NULL is returned.
1: The folder is created if it does not exist. The found or created folder is returned.
Return value:
D- 96
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
The following example returns the network data folder for ElmBoundary elements:
object Fold;
Fold = GetDataFolder (ElmBoundary);
Fold.ShowFullName();
D.4.1.6 GetProjectFolder
Arguments:
Table D.4.2
Return value:
An IntPrjFolder object. If no project is currently active or project folder of this type does not exist,
null is returned.
Example:
object Fold;
Fold = GetProjectFolder(study);
Fold.ShowFullName();
D- 97
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.1.7 ActiveCase
object ActiveCase ()
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();
D.4.1.8 GetActiveStudyCase
object GetActiveStudyCase()
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 = GetActiveStudyCase();
aCase.ShowFullName();
D.4.1.9 SummaryGrid
object SummaryGrid ()
Returns the summary grid in the currently active Study Case. The summary grid is the combi-
nation of all active grids in the study case.
Arguments:
none
D- 98
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
The following example performs a load-flow and returns the total grid active power losses.
object SumGrid;
SumGrid = SummaryGrid();
if (SumGrid) {
Ldf.Execute();
output(’Active Power Losses=SumGrid:c:LossP’);
}
D.4.1.10 GetActiveNetworkVariations
set GetActiveNetworkVariations ()
Arguments:
none
Return value:
Example:
object variation;
set variations;
stages = GetActiveNetworkVariations();
for(variation = variations.First();variation;variation = variations.Next())
{
variation.ShowFullName();
}
D.4.1.11 GetActiveStages
Returns all active stages currently active for a given folder, e.g. ’Network Data’ folder.
Arguments:
object variedFolder (optional) : Folder for which all active stages will be returned; by default, the
project folder Network Data is taken.
Return value:
D- 99
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
object stage;
set stages;
stages = GetActiveStages();
for(stage = stages.First(); stage; stage = stages.Next()) {
stage.ShowFullName();
}
D.4.1.12 GetRecordingStage
object GetRecordingStage ()
Arguments:
none
Return value:
Example:
object stage;
stage = GetRecordingStage();
stage.ShowFullName();
D.4.1.13 GetActiveScenario
object GetActiveScenario ()
Arguments:
none
Return value:
Example:
object Scen;
Scen = GetActiveScenario();
Scen.ShowFullName();
D- 100
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.1.14 SaveScenarioAs
Arguments:
Return value:
none
Example:
int iret;
string ScenarioName;
iret = SaveScenarioAs(ScenarioName, 0); ! do not activate the new
created
scenario
if (ret<>0) { ! error ocurred
}
D.4.2.1 Activate
int IntPrj.Activate ()
Arguments:
none
Return value:
D- 101
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
0 on success, 1 on error.
D.4.2.2 Deactivate
int IntPrj.Deactivate ()
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.2.3 GetLatestVersion
Arguments:
Return value:
Example:
prj = GetActiveProject();
if (.not. prj) {
Error(’no active project found’);
exit();
}
D.4.2.4 GetVersions
set IntPrj.GetVersions ()
Arguments:
none
D- 102
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
prj = GetActiveProject();
if (.not. prj) { Error(’no active project found’);
exit();
}
versions = prj.GetVersions();
D.4.2.5 HasExternalReferences
Checks if any object inside the project references external non-system objects and prints all
forbidden references to the output window.
Arguments:
Return value:
0: no forbidden external references found 1: some forbidden external references were found
Example:
res = prj.HasExternalReferences();
if (res = 0) {
printf(All references of project %o are ok., prj);
continue;
}
if (res = 1) {
printf(Some references of project %o are forbidden., prj);
continue;
}
D- 103
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.2.6 Migrate
This function migrates a project from version V13 to V14. Migration is only executed if project
has been created in build 400 or earlier (and is not yet migrated).
Arguments:
Return value:
none
D.4.2.7 Purge
void IntPrj.Purge ()
Requires write access to the project; the functions does nothing when the project is locked by
other users.
Arguments:
none
Return value:
none
D.4.2.8 UpdateStatistics
void IntPrj.UpdateStatistics ()
Updates the storage statistics for a project. The statistics are displayed on the page Storage on
dialog of a project (IntPrj).
Note: This function requires write access to the project otherwise the update is not executed
and an error message is printed to the output window.
Arguments:
none
Return value:
none
Example:
D- 104
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
int t;
set projects;
projects = currentUser.GetContents(’*.IntPrj’);
for (project = projects.First(); project; project = projects.Next())
{
Info(’Updating statistics for project %o’, project);
project.UpdateStatistics();
}
D.4.3.1 GetProjectFolderType
string IntPrjfolder.GetProjectFolderType ()
Arguments:
none
Return value:
The type of the project folder as string; for possible return values see type list for function
”GetProjectFolder”
Example:
The following example returns the project folder type and checks if the returned project folder is
of type ’study’:
object projectFolder;
string type;
int tmp;
type = projectFolder.GetProjectFolderType();
D- 105
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.3.2 IsProjectFolderType
This function checks if the project folder has the given type.
Arguments:
string type (obligatory) : Folder type; for possible type values see ’type’ list for function ”GetPro-
jectFolder”
Return value:
Example:
The following example checks if the project folder type is a ’Study Case’ folder:
set studyCases;
object projectFolder;
int tmp;
tmp = projectFolder.IsProjectFolderType(study);
if (tmp=1) {
studyCases = projectFolder.GetContents(*.IntCase);
}
D.4.4 StudyCaseMethods
D.4.4.1 Activate
int IntCase.Activate ()
Arguments:
none
Return value:
0 on success, 1 on error.
D- 106
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.4.2 Deactivate
int IntCase.Deactivate ()
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.4.3 Date
void SetTime.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).
D.4.4.4 Reduce
Arguments:
Return value:
D- 107
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
none
D.4.4.5 SetTime
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:
Return value:
none
Example:
The following sets the time to 1134.45 hours, 91.2 minutes and 675.3 seconds, which results in
the time 08:09:27 on the 48’th day of the year.
D.4.4.6 SetTimeUTC
Sets date and time to given time. The time must be UTC and given as seconds since 01.01.1970
00:00.
Arguments:
Return value:
none
Example:
object studytime;
if (studytime){
D- 108
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
studytime.SetTimeUTC(1200478788);
}
See also:
D.4.4.7 Time
void SetTime.Time ()
Arguments:
none
Return value:
none
Example:
The following example executes a load-flow for the current time and date (the computer’s system
time).
D.4.5.1 Activate
int IntVariant.Activate ()
Arguments:
none
Return value:
0 on success, 1 on error.
D- 109
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.5.2 Deactivate
int IntVariant.Deactivate ()
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.5.3 Reduce
Arguments:
Return value:
none
Example:
D.4.6.1 CreateStageObject
D- 110
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
object rootObject (obligatory): (Original) object for which the stage object should be created.
Return value:
Example:
D.4.6.2 GetActiveScheduler
object IntScheme.CreateStageObject ()
This function returns the corresponding active scheduler or NULL if no scheduler is active for
this variations (IntScheme).
Arguments:
none
Return value:
Example:
D- 111
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.4.7.1 Activate
int IntScenario.Activate ()
Activates a scenario
Arguments:
none
Return value:
0 = successfully activated
1 = error, e.g. already activate, no project and study case active
D.4.7.2 Deactivate
Arguments:
int saveOrUndo (optional): Determines whether changes in active scenario will be saved or
discarded before the scenario is deactivated. If this argument is omitted, the user will be asked.
0 = discard changes
1 = save changes
Return value:
0 = successfully deactivated
1 = error, e.g. already deactivate, no project and study case active
D.4.7.3 Apply
Applies a scenario. In contrast to pressing the apply button, there is no user confirmation
displayed by default. This behaviour can be changed by passing an optional parameter re-
questUserConfirmation (double). If this parameter is set to 1, the normal confirmation dialog is
displayed. (If no parameter or a value of 0 is given the dialog is suppressed.)
Arguments:
D- 112
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
int parentfilter (optional): If given, scenario data is only applied for given object and all of its
children (hierarchical filter)
Return value:
0 = successfully applied
1 = error, scenario is active or not in the active project or apply was cancelled by user via
confirmation dialog
D.4.7.4 GetObjects
set IntScenario.GetObjects ()
Returns a set of all objects for which operational data are stored in scenario.
Arguments:
none
Return value:
Set of all objects for which operational data are stored in scenario
D.4.7.5 Save
int IntScenario.Save ()
Arguments:
none
Return value:
0 = successfully saved
1 = error, scenario was not modified or not active
D.5.1 Functions
D- 113
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.1.1 GetGraphBoard
object GetGraphBoard ()
Arguments:
none
Return value:
Example:
The following example looks for an opened Graphics Board and sets its default results to the
results object named ’Results’.
D.5.1.2 SetGraphicUpdate
Arguments:
Return value:
none
Example:
D- 114
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.2.1 GetVI
Arguments:
int create=1 (optional) : create >0 –> create panel if not exists.
Return value:
Virtual Instrument
Example:
The following example looks for a Plot (VisPlot) named RST on a Virtual Instrument Panel. The
plot is created if it was not found.
object aGrf;
object aPage;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Get plot named RST. Create the plot if not exists
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
}
D- 115
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.2.2 SetStyle
Arguments:
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’);
}
}
D.5.2.3 SetTile
Arguments:
int tile=1 (optional) : tile > 0 –> tile Virtual Instruments, tile =0 –> arrange them horizontally.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and rearranges the
D- 116
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Virtual Instrument.
D.5.2.4 SetResults
Arguments:
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);
}
}
D- 117
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.2.5 SetXVar
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and set the x-axis
variable. The first example sets an user defined x-axis variable of the Virtual Instrument Panel.
The second one sets the default x-axis (time).
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Set x-scale from 100 to 120
aPage.SetScaleX(100,120);
! Set x-scale variable
aPage.SetXVar(line,’m:U1:bus1’);
}
}
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Set x-scale from 100 to 120
aPage.SetScaleX(100,120);
! Set default x-scale variable (time)
aPage.SetXVar();
}
}
D- 118
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.2.6 SetScaleX
Sets scale of x-axis. Invalid arguments like negative limits for logarithmic scale are not set. No
input arguments –> automatic scaling.
Arguments:
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and set its x-axis
scale. There are three different examples. 1. Example: Scale x-scale automatically. 2. Exam-
ple: Set minimum to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to
1000. Changes to a log. scale
D- 119
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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);
}
}
D.5.2.7 SetDefScaleX
void SetVipage.SetDefScaleX ()
Arguments:
none
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and resets the option
’Use local x-Axis’ to 0. After that the x-scale used is the Graphics Board (SetDesktop).
D.5.2.8 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
D- 120
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling of
the x-axes.
D.5.2.9 DoAutoScaleY
int SetVipage.DoAutoScaleY ()
Scales the y-axes of all plots on the virtual instrument panel automatically. The same can be
achieved by pressing the icon in the toolbar of the graphic.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling of
the y-axes.
D- 121
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
}
D.5.2.10 SetAutoScaleX
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 message because
the x-scale is unused.
D- 122
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.2.11 SetAdaptX
Sets the adapt scale option of the x-scale for local scales.
Arguments:
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 message because
the x-scale is unused.
D- 123
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.2.12 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:
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 second one
the Virtual Instrument Panel itself is returned.
D- 124
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.1 AddVars
D- 125
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Appends variables to the SubPlot. Variables which are already in the plot are not added.
Arguments:
or
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.
D- 126
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
object aGrf;
object aPlot;
object aScale;
! objects load,line and xnet are interface parameters,
! therefore they are not defined here.
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Get subplot named ’RST’
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(’m:U1:bus1’,load, line, xnet);
}
}
}
D.5.3.2 AddResVars
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:
plus
or
Return value:
none
D- 127
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.3 Clear
void VisPlot.Clear()
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.
D.5.3.4 SetXVar
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
Return value:
none
D- 128
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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).
D.5.3.5 SetScaleX
VisPlot.SetScaleX
void VisPlot.SetScaleX ([double min, double max, int log])
D- 129
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Sets scale of x-axis. Invalid arguments like negative limits for logarithmic scale are not set. No
arguments –> automatic scaling.
Arguments:
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
D- 130
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.6 SetScaleY
Sets scale of y-axis. Invalid arguments like negative limits for logarithmic scale are not set. No
arguments –> automatic scaling.
Arguments:
Return value:
none
Example:
The following examples look for a Subplot named ’RST’ and set its y-axis scale. There are three
different examples. 1. Example: Perform auto scaling on y-Axis. 2. Example: Set minimum to 0
and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000. Changes to a log.
scale
D- 131
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
if (aPlot) {
! Automatic scaling
aPlot.SetScaleY();
}
}
}
! 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.SetScaleY(0,20);
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Get subplot named ’RST’
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
if (aPlot) {
! Set minimum and maximum, change to log. scale
aPlot.SetScaleY(1,1000,1);
}
}
}
D.5.3.7 SetDefScaleX
void VisPlot.SetDefScaleX ()
Arguments:
none
D- 132
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
none
Example:
The following example looks for a Subplot named ’RST’ and sets the option ’Use local x-Axis’
to 0. After that the x-scale used is the Graphics Board (SetDesktop) or the Virtual Instrument
Panel (SetVipage).
D.5.3.8 SetDefScaleY
void VisPlot.SetDefScaleY ()
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).
D- 133
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Get subplot named ’RST’
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
if (aPlot) {
! Reset option ’Use local y-Axis’
aPlot.SetDefScaleY();
}
}
}
D.5.3.9 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 scaling.
D- 134
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
}
}
}
D.5.3.10 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 scaling.
D- 135
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.11 DoAutoScaleY2
int VisPlot2.DoAutoScaleY2 ()
Scales the second y-axis of the plot automatically. The function works if the y-Axis is enabled
and uses the local y-scale settings. In any other case a warning is produced and the function
returns 1.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named ’RST’ and performs an automatic scaling.
D.5.3.12 SetAutoScaleX
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
D- 136
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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.
D- 137
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.13 SetAutoScaleY
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.
D- 138
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
}
D.5.3.14 SetAdaptX
Sets the adapt scale option of the x-scale for local scales.
Arguments:
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.
D- 139
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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 turn on adapt scale, use a trigger value of
3
! Leads to error message because scale is not local
aPlot.SetAdaptX(1,3);
}
}
}
D.5.3.15 SetAdaptY
Sets the adapt scale option of the y-scale for local scales.
Arguments:
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.
D- 140
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.16 GetScaleObjX
object VisPlot.GetScaleObjX ()
Returns used object defining x-scale. The returned object is the Subplot itself, the Virtual In-
strument Panel or the Graphics Board.
Arguments:
none
Return value:
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
D- 141
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D- 142
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.17 GetScaleObjY
object VisPlot.GetScaleObjY ()
Returns used object defining y-scale. The returned object is either the Subplot itself or the Plot
Type (IntPlot).
D- 143
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
The following examples look for a Subplot named ’RST’ and get the used y-scale object. There
are three different examples.
D- 144
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.3.18 SetCrvDesc
Sets the description of curves starting at curve number ’index’. A list of descriprions can be set.
Arguments:
string desc1 (optional) : Description to set for curve in row index+1. Object defining the y-scale.
Example:
The following examples look for a Subplot named ’RST’ sets the description for the curves
defined in row two and three. The first variable’s description remains unchanged.
! Modify descriptions
object aPage;
object aGrf;
object aPlot;
object aScale;
! Note: object load is an interface parameter,
! therefore it is not defined here! Look for opened graphics
board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Get subplot named ’RST’
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(load, ’m:U1:bus1’,’m:U1l:bus1’,’m:phiu1:bus1’);
! Set description of row 2 and 3
aPlot.SetCrvDesc(2,,’Line-Line Voltage’,’Angle’);
}
D- 145
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
}
D.5.4.1 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 scaling.
D- 146
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.5.1 SetScaleY
Sets scale of y-axis. Invalid arguments like negative limits for logarithmic scale are not set. No
arguments –> automatic scaling.
Arguments:
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
D- 147
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Get subplot named ’RST’
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
if (aPlot) {
! Reset option ’Use local y-Axis’ of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY(0,20);
}
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage(’Voltage’,1);
if (aPage) {
! Get subplot named ’RST’
aPlot=aPage.GetVI(’RST’,’VisPlot’,1);
if (aPlot) {
! Reset option ’Use local y-Axis’ of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY(1,1000,1);
}
}
}
}
D.5.5.2 SetAutoScaleY
Arguments:
D- 148
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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.
D.5.5.3 SetAdaptY
Arguments:
Return value:
none
Example:
D- 149
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
The following examples look for a Subplot named ’RST’, gets its Plot Type and changes the
adapt scale option of the scale.
D- 150
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.6.1 AddPage
Page2copy is NULL
do nothing;
return NULL
Page2copy is neither a virtual instrument panel nor a graphic (internal name IntGrfnet)
do nothing;
return NULL
Arguments:
D- 151
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
object page2add (obligatory): The page to add to the desktop. The page might be a virtual
instrument panel (internal name: SetVipage) or a graphic (internal name: IntGrfnet)
Return value:
The created page (SetVipage) or NULL if the desktop was not changed by AddPage.
Example:
desktop = GetGraphBoard();
if (desktop=NULL) {
Error(’Please open the graphic window first’);
exit();
}
D.5.6.2 GetPage
Searches, activates and returns a graphics page in the currently open Graphics Board. If ”cre-
ate” is true, then a new ViPage will be created added to the graphics board when no page with
the name was found.
Arguments:
int create=1 (optional) : create > 0 –> create panel if not exists.
Return value:
Example:
D- 152
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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);
}
D.5.6.3 DoAutoScaleX
int SetDesktop.DoAutoScaleX ()
Scales the x-axes of all plots in the graphics board which use the x-axis scale defined in the
graphics board. The same can be achieved by pressing the Scale button on the x-Axis page of
the graphics board.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling of
the x-axes.
See also
VisFft Methods
VisPlot Methods
SetViPage Methods
D- 153
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.6.4 SetAdaptX
Arguments:
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its adapt scale option.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Turn on adapt scale, use a trigger value of 3
aGrf.SetAdaptX(1,3);
! Turn off adapt scale
aGrf.SetAdaptX(0,3);
! Turn on adapt scale again, do not change the trigger value
aGrf.SetAdaptX(1);
}
D.5.6.5 SetAutoScaleX
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.
D- 154
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
aGrf.SetAutoScaleX(0);
}
D.5.6.6 SetResults
Arguments:
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);
}
D.5.6.7 SetScaleX
Sets scale of x-axis. Invalid arguments like neg. limits for log. scale are not set. No arguments
–> automatic scaling.
Arguments:
Return value:
none
Example:
The following examples look for an opened Graphics Board and set its x-axis scale. There are
D- 155
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
three different examples. 1. Example: Scale x-axis 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
D.5.6.8 SetXVar
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
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) {
D- 156
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.6.9 Show
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:
Return value:
0 on success, 1 on error.
Example:
The following example activates all pages in the graphics board one by one and exports them
as WMF figures.
object GrBrd,Pg;
set Pgs;
int n;
string FileName;
GrBrd = GetGraphBoard();
if (GrBrd) {
Pgs = GrBrd.GetContents();
Pg = Pgs.First();
while (Pg) {
GrBrd.Show(Pg);
FileName = sprintf(’c:\\mydoc\\%s%d’, n, Pg:loc name);
GrBrd.WriteWMF(FileName);
Pg = Pgs.Next();
}
}
D- 157
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.6.10 WriteWMF
Exports the currently open graphic in the graphics board to a WMF figure.
Arguments:
Return value:
none
Example:
See SetDesktop.Show()
The following functions must have a pre-selected group of text boxes on which these functions
shall be applied. This set of text boxes is defined by the SetLevelvis-variables aLevList, iForWhat
and aSymList:
iForWhat: Defines the type of the graphic object (0=all, 1=nodes, 2=branches, 3= symbol
dependent)
aSymList: The symbol description (see class IntSym) can be selected here (e.g.: ’Termi-
nal’, Point Terminal, 2-Winding Transformer,...). This entry is only relevant if iForWhat = 3.
AdaptWidth Resizes the selected group of text boxes to their given en-
try.
Align Aligns the text within a text box.
ChangeFont Sets the font number used in selected group of text boxes.
ChangeFrameAndWith Sets the visibility of a frame and the width (in
number of letters) of text boxes.
ChangeLayer Sets text boxes on a given layer.
ChangeRefPoints Sets the reference points between a text box and its
parent object.
Mark Marks the selected group of text boxes in the currently
shown diagram.
Reset Resets the text box settings.
D.5.7.1 AdaptWidth
void SetLevelvis.AdaptWidth ()
This function resizes the selected group of text boxes to their given entry.
D- 158
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
none
D.5.7.2 Align
Arguments:
Return value:
none
D.5.7.3 ChangeFont
This function sets the font number used in selected group of text boxes.
Arguments:
int iFont (obligatory): Font number (default fonts range from 0 to 13)
Return value:
none
D.5.7.4 ChangeFrameAndWidth
This function sets the visibility of a frame and the width (in number of letters) of text boxes.
Arguments:
D- 159
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
none
D.5.7.5 ChangeLayer
Arguments:
string sLayer (obligatory): Layer name (e.g. Object Names, Results, Invisible Objects,..)
Return value:
none
D.5.7.6 ChangeRefPoints
This function sets the reference points between a text box and its parent object, e.g. if the
result box of a busbar shall be shown on top of a drawn bar instead of below the bar the values
change from (6,4) to (4,6). The integer values describe the position of the reference points
within a rectangle (0=center, 1=middle right, 2=top right,..):
432
501
678
Arguments:
int iParRef (obligatory): Defines the reference point on the parent object (e.g. busbar)
int iTBRef (obligatory): Defines the reference point on the text box
Return value:
none
D.5.7.7 Mark
void SetLevelvis.Mark ()
Marks the selected group of text boxes in the currently shown diagram.
Arguments:
none
Return value:
none
D- 160
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.7.8 Reset
Arguments:
Return value:
none
D- 161
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.8.1 ComTablereport.AddColumn
void ComTablereport.AddColumn (string tableId, string columnId, string caption[, int colum-
nWidth, int hasAutoFilter, int isSortable, int isScrollable])
Arguments:
string tableId (obligatory): String id for new table (for future use)
D- 162
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
string caption (obligatory): Text shown in column header (lines separated by ’\n’)
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable(table);
report.AddColumn(table, scenario, Scenario, 100, 1, 1, 0);
D.5.8.2 ComTablereport.AddCurve
int ComTablereport.AddCurve (string plotId, string yText[, string yUnit, int lineColor, int
lineWidth, int lineStyle])
Arguments:
Return value:
D- 163
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
0: Error,
¿0: Curve id
D.5.8.3 ComTablereport.AddHeader
Arguments:
Return value:
none
D.5.8.4 ComTablereport.AddInvisibleFilter
Adds an invisible filter (for storing objects and/or strings) to the report.
Arguments:
Return value:
D.5.8.5 ComTablereport.AddListFilter
int ComTablereport.AddListFilter (string id, string label, string captions[, set filterObjects,
string selEntry, int showObjects])
or alternative
Arguments:
D- 164
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
D.5.8.6 ComTablereport.AddListFilterEntries
Arguments:
Return value:
D.5.8.7 ComTablereport.AddPlot
void ComTablereport.AddPlot (string plotId, string xText[, string xUnit, string header, int
textLabels, int splitCurves, int trueDots, int niceTicks])
Arguments:
D- 165
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.8.8 ComTablereport.AddRow
Arguments:
string tableId (obligatory): String id for new table (for future use)
string caption (optional): Text shown in row header (only one line, default: ”)
Return value:
none
Example:
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable(table);
report.AddColumn(table, scenario, Scenario, 100, 1, 1, 0);
report.AddRow(table, peak, Peak Load);
D.5.8.9 ComTablereport.AddTable
Arguments:
string tableId (obligatory): String Id for new table (for future use)
Return value:
none
D- 166
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable(table);
D.5.8.10 ComTablereport.AddTextFilter
int ComTablereport.AddTextFilter (string id, string label[, string unit, string text])
Arguments:
Return value:
D.5.8.11 ComTablereport.AddXLabel
Arguments:
Return value:
D.5.8.12 ComTablereport.DisableAutomaticRowNumbering
D- 167
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Row labels are filled with user-defined row labels. Automatic row numbering is enabled per
default.
Arguments:
string tableId (obligatory): String id for new table (for future use)
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable(table);
report.DisableAutomaticRowNumbering(table);
D.5.8.13 ComTablereport.EnableAutomaticRowNumbering
Row labels are filled automatically with ascending number (starting at 1), user-defined row
labels are ignored. Automatic row numbering is enabled per default.
Arguments:
string tableId (obligatory): String id for new table (for future use)
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable(table);
report.EnableAutomaticRowNumbering(table);
D- 168
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.8.14 ComTablereport.SetBarLimits
void ComTablereport.SetBarLimits (string tableId, string columnId, int min, int max)
Arguments:
string tableId (obligatory): String id for new table (for future use)
Return value:
none
D.5.8.15 ComTablereport.SetCellAccess
Makes a cell accessible. Adds ’Edit’, ’Edit and Browse’ and ’Mark in Graphic’ functionality for
given object.
Arguments:
string tableId (obligatory): String id for new table (for future use)
Return value:
none
D.5.8.16 ComTablereport.SetCellEdit
void ComTablereport.SetCellEdit (string tableId, string columnId, string rowId, set editOb-
jects)
Arguments:
D- 169
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
string tableId (obligatory): String id for new table (for future use)
Return value:
none
D.5.8.17 ComTablereport.SetCellValueToBar
Arguments:
string tableId (obligatory): String id for new table (for future use)
string barDesc (obligatory): Bar description containing segment widths and colors:
”20,1;14,2;36,3;30,4” => old style ( = relative, %);
”90;140#10,1;7,2;18,3;15,4” => old style, limits (= relative, %, limits are ignored);
”0#20,1;14,2;36,3;30,4” => relative, %;
”0#90;140#10,1;7,2;18,3;15,4” => relative, limits;
”1#20,1;34,2;70,3;100,4” => absolute, %;
”1#90;140#100,1;107,2;125,3;140,4” => absolute, limits;
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by ’\n’;
default: empty)
Return value:
none
D.5.8.18 ComTablereport.SetCellValueToCheckbox
Arguments:
string tableId (obligatory): String id for new table (for future use)
D- 170
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by ’\n’;
default: empty)
Return value:
none
D.5.8.19 ComTablereport.SetCellValueToDate
Arguments:
string tableId (obligatory): String id for new table (for future use)
string rowId (obligatory): Row idText shown in column header (lines separated by ’\n’)
int timeStamp (obligatory): Time stamp value for date and time
string format (optional): Format for displaying date (for future use; default: ”)
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by ’\n’;
default: empty)
Return value:
none
D.5.8.20 ComTablereport.SetCellValueToDouble
Arguments:
D- 171
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
string tableId (obligatory): String id for new table (for future use)
string format (optional): Printf-like format for displaying double value (default: ’%f’)
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by ’\n’;
default: empty)
Return value:
none
D.5.8.21 ComTablereport.SetCellValueToInt
ComTablereport.SetCellValueToInt
void ComTablereport.SetCellValueToInt (string tableId, string columnId, string rowId, int
value[, string format, string helpText, int color, int fontStyle])
Arguments:
string tableId (obligatory): String id for new table (for future use)
string format (optional): Printf-like format for displaying integer value (default: ’%d’)
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by ’\n’;
default: empty)
Return value:
D- 172
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
none
D.5.8.22 ComTablereport.SetCellValueToObject
Arguments:
string tableId (obligatory): String id for new table (for future use)
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by ’\n’;
default: empty)
Return value:
none
D.5.8.23 ComTablereport.SetCellValueToString
Arguments:
string tableId (obligatory): String id for new table (for future use)
string format (optional): Printf-like format for displaying string value (default: ’%s’)
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by ’\n’;
D- 173
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
default: empty)
Return value:
none
Example:
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable(’table’);
report.AddColumn(’table’, ’scenario’, ’Scenario’, 100, 1, 1, 0);
report.AddRow(’table’, ’active’, ’Active’);
oScenario = GetActiveScenario();
sName = oScenario:loc name;
report.SetCellValueToString(’table’, ’scenario’, ’active’, sName);
D.5.8.24 ComTablereport.SetColumnHeader
Arguments:
string tableId (obligatory): String id for new table (for future use)
string caption (obligatory): Text shown in column header (lines separated by ’\n’)
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
D- 174
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
report.AddTable(table);
report.AddColumn(table, scenario, , 100, 1, 1, 0);
report.SetColumnHeader(table, scenario, Scenario);
D.5.8.25 ComTablereport.SetCurveValue
int ComTablereport.SetCurveValue (string plotId, int curveId, double xValue[, double yValue])
Arguments:
int curveId (obligatory): Curve id (value returned by DefineCurve(); 0: no curve, only new x-
value)
Return value:
D.5.8.26 ComTablereport.SetDialogSize
Arguments:
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.SetDialogSize(700, 860);
D- 175
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.5.8.27 ComTablereport.SetListFilterSelection
Arguments:
Return value:
D.5.8.28 ComTablereport.SetNumberFormatForPlot
Arguments:
Return value:
D.5.8.29 ComTablereport.SetSorting
Arguments:
D- 176
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
0; Error,
1: ok
D.5.8.30 ComTablereport.SetStatusText
Arguments:
D.5.8.31 ComTablereport.SetTextAxisDistForPlot
Sets distance between axis and tick description for axis of plot.
Arguments:
Return value:
D.5.8.32 ComTablereport.SetTicksForPlot
int ComTablereport.SetTicksForPlot (string plotId, string axis, int main, int number)
Arguments:
D- 177
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
D.5.8.33 ComTablereport.SetTitle
Arguments:
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
D.6.1.1 SetFilt.Get
Set SetFilt.Get ()
Arguments:
none
Return value:
Example:
The following example shows the names of objects filtered by the FiltLongLines.SetFilt filter
set S;
D- 178
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
object O;
S = FiltLongLines.Get();
O = S.First();
while (O) {
O.ShowFullName();
O=S.Next();
}
D.6.2.1 SetSelect.All
set SetSelect.All ()
Arguments:
none
Return value:
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();
}
D- 179
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.6.2.2 SetSelect.GetAll
Returns all objects in the selection which are of the class ’ClassName’.
Arguments:
Return value:
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();
}
D.6.2.3 SetSelect.AddRef
Arguments:
Return value:
none
Example:
The following example adds all loads and lines from the general DPL selection to the selection
”MySelection”.
set S;
S = SEL.AllLines();
MySelection.AddRef(S);
S = SEL.AllLoads();
MySelection.AddRef(S);
D- 180
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.6.2.4 SetSelect.Clear
void SetSelect.Clear ()
Arguments:
none
Return value:
none
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);
D.6.2.5 SetSelect.AllElm
set SetSelect.AllElm ()
Arguments:
none
Return value:
Example:
The following example writes all objects in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllElm();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.6 SetSelect.AllLines
set SetSelect.AllLines ()
D- 181
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
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(); }
D.6.2.7 SetSelect.AllBars
set SetSelect.AllBars ()
Arguments:
none
Return value:
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();
}
D.6.2.8 SetSelect.AllLoads
set SetSelect.AllLoads ()
D- 182
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
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();
}
D.6.2.9 SetSelect.AllAsm
set SetSelect.AllAsm ()
Arguments:
none
Return value:
Example:
The following example writes all asynchronous machines in the general DPL selection to the
output window.
set S;
object O;
S = SEL.AllAsm();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.10 SetSelect.AllSym
set SetSelect.AllSym ()
D- 183
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
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();
}
D.6.2.11 SetSelect.AllTypLne
set SetSelect.AllTypLne ()
Arguments:
none
Return value:
Example:
The following example writes all line types in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllTypLne();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.12 SetSelect.AllBreakers
set SetSelect.AllBreakers ()
D- 184
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
The following example writes all breakers in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.13 SetSelect.AllClosedBreakers
set SetSelect.AllClosedBreakers ()
Arguments:
none
Return value:
Example:
The following example writes all closed breakers in the general DPL selection to the output
window.
set S;
object O;
S = SEL.AllClosedBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.14 SetSelect.AllOpenBreakers
set SetSelect.AllOpenBreakers ()
D- 185
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
The following example writes all open breakers in the general DPL selection to the output win-
dow.
set S;
object O;
S = SEL.AllOpenBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.3.1 SetFeeder.GetAll
set SetFeeder.GetAll ()
Arguments:
none
Return value:
Example:
set S;
S = Feeder1.GetAll();
D.6.3.2 SetFeeder.GetBuses
set SetFeeder.GetBuses ()
D- 186
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
set S;
S = Feeder1.GetBuses();
D.6.3.3 SetFeeder.GetBranches
set SetFeeder.GetBranches ()
Arguments:
none
Return value:
Example:
set S;
S = Feeder1.GetBranches();
D.6.4.1 SetPath.GetAll
set SetPath.GetAll ()
D- 187
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
The following example writes all objects in the path definition to the output window.
set S;
object O;
S = aPath.GetAll();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.2 SetPath.GetBusses
set SetPath.GetBusses ()
Arguments:
none
Return value:
Example:
The following example writes all busbars and terminals in the path definition to the output win-
dow.
set S;
object O;
S = aPath.GetBusses();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.3 SetPath.GetBranches
set SetPath.GetBranches ()
D- 188
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
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();
}
D.6.4.4 SetPath.AllBreakers
set SetPath.AllBreakers ()
Arguments:
none
Return value:
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();
}
D.6.4.5 SetPath.AllClosedBreakers
set SetPath.AllClosedBreakers ()
Arguments:
D- 189
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
none
Return value:
Example:
The following example writes all closed breakers in the path definition to the output window.
set S;
object O;
S = aPath.AllClosedBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.6 SetPath.AllOpenBreakers
set SetPath.AllOpenBreakers ()
Arguments:
none
Return value:
Example:
The following example writes all open breakers in the path definition to the output window.
set S;
object O;
S = aPath.AllOpenBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
Objects of class IntDplmap offer the functionality of associative containers (storing key-value
pairs).
D- 190
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.6.5.1 IntDplmap.Clear
void IntDplmap.Clear ()
Arguments:
none
Return value:
none
Example:
D.6.5.2 IntDplmap.Contains
Arguments:
int | double | string | object | set key (obligatory): Key of the associated pair in the container
Return value:
Example:
D- 191
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.6.5.3 IntDplmap.First
int IntDplmap.First (int |double |string |object |set key, int |double |string |object |set value)
The ”First” command returns the first key/value pair stored in the container. Note:
- The sequence of the returned entries is determined by internal criteria and cannot be changed.
- It is not allowed to modify a container while iterating over it. If doing so, the next call of the
”Next” command will return a value of ”1”.
Exception: Function ”Update” does not invalidate current position.
Arguments:
int | double |string |object |set key (obligatory): Key of the associated pair in the container
int |double |string |object |set value (obligatory): Value of the associated pair in the container
Return value:
0: on success; returned data are stored in the parameters ”key” and ”value”
1: on error, if no first entry is available in the container (e.g. end is reached)
Example:
D.6.5.4 IntDplmap.GetValue
Arguments:
int —double —string —object —set key (obligatory): Key of the associated pair in the container.
int error (optional):
NULL: If the ”key” is not contained in referenced map, the return value is not defined. Therefore,
it is important always to check if given key is contained.
1: If the key is not contained in referenced map, the return value is not defined.
Return value:
Example:
D- 192
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.6.5.5 IntDplmap.Insert
void IntDplmap.Insert (int | double | string | object | set key, int | double | string | object | set
value)
Inserts given key and value as an associated pair into the container.
If this is the first insertion of an element, the container is (automatically) typed by given data
types of key and value. From now on, only keys and values of that type are accepted. (This
typing is removed when clear() is called.)
If given key already exists in the container, its associated value will be overwritten. (Each key
can only be contained once in a map (no multi-map support).) (Type of key and value can be
different, of course.)
Arguments:
int |double |string |object |set key (obligatory): Key of the associated pair in the container.
int |double |string |object |set value (obligatory): Value of the associated pair in the container.
Return value:
none
Example:
D.6.5.6 IntDplmap.Next
int IntDplmap.Next (int |double |string |object |set key, int |double |string |object |set value)
The ”Next” command returns the next key/value pair relative to the last key/value pair in the
container.
Note:
- The sequence of the returned entries is determined by internal criteria and cannot be changed.
- It is not allowed to modify a container while iterating over it. If doing so, the next call of the
”Next” command will return a value of ”1”.
Exception: Function ”Update” does not invalidate current position.
Arguments:
int |double |string |object |set key (obligatory): Key of the associated pair in the container
int |double |string |object |set value (obligatory): Value of the associated pair in the container
Return value:
0: on success; returned data are stored in the parameters ”key” and ”value”
1: on error, if no next entry is available in the container (e.g. end is reached)
Example:
D- 193
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.6.5.7 IntDplmap.Remove
Removes given key and associated value from the container. No error will occur, if the key is
not contained in the container.
Arguments:
int | double | string | object | set key (obligatory): Key of the associated pair in the container
Return value:
none
Example:
D.6.5.8 IntDplmap.Size
int IntDplmap.Size ()
Arguments:
none
Return value:
1: on success;
0: else
Example:
D.6.5.9 IntDplmap.Update
int IntDplmap.Update (int | double | string | object | set key, int | double | string | object | set
value)
Is a special insert function that can be used for updating entries in the map. It can only be used
if the key is already contained in the map.
Arguments:
int |double |string |object |set key (obligatory): Key of the associated pair in the container
int |double |string |object |set value (obligatory): Value of the associated pair in the container
D- 194
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
1: on success;
0: else
Example:
The following examples show how to use the different IntDplmap methods:
Example 1:
!clear map
map.Clear();
count = map.Size();
printf(’Map Size: %d’, count);
D- 195
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
s = map.GetValue(i, tmp);
if (tmp = 0){
printf(’%d = %s’, i, s);
} else {
printf(’%d not contained’, i);
}
}
map.Clear();
count = map.Size();
printf(’Map Size: %d’, count);
D- 196
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
aSet.Add(Terminal1);
map.Insert(’set1’, aSet);
tmp = map.Contains(’set1’);
if (tmp > 0){
bSet = map.GetValue(’set1’);
o = bSet.First();
while (o) {
o.ShowFullName();
o = bSet.Next();
}
}
printf(’\n’);
Example 2:
int t, key, m;
string value;
D- 197
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
!change value of all odd keys into upper-case while iterating over
map
printf(Modifying map...);
for (t = map.First(key, value); t = 0; t = map.Next(key, value)){
m = modulo(key, 2);
if (m = 1){
value = toupper(value);
map.Update(key, value);
}
}
D.6.6.1 IntDplvec.Clear
void IntDplvec.Clear ()
Empties the container; this will also reset the typing information
Arguments:
none
Return value:
none
Example:
D- 198
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.6.6.2 IntDplvec.Get
Arguments:
int position (obligatory): Position in the container. The position is zero-based and must always
be lesser than the containers size.
Return value:
Example:
D.6.6.3 IntDplvec.IndexOf
int IntDplvec.IndexOf (int |double |string |object |set element [, int startposition])
Returns the position where the given element is stored in the container.
Arguments:
int |double |string |object |set element (obligatory): Given element for which the position will be
searched.
int startposition (optional): Start position from which the next occurrence greater or equal to this
position is searched.
Return value:
Example:
D.6.6.4 IntDplvec.Insert
void IntDplvec.Insert ([int position], int |double |string |object |set element)
Arguments:
int position (optional): If an optional (zero- based) position is given, the insertion is done at this
position; any old entry at that position will be overwritten.
Note: The size of the vector is automatically increased if given position is greater than current
size of the vector.
D- 199
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Else, if the position is omitted the element will be put at the end of the vector (implicating the
vectors size to grow).
int |double |string |object |set element (obligatory): Element which is to be inserted.
Return value:
none
Example:
D.6.6.5 IntDplvec.Remove
Arguments:
Return value:
none
Example:
D.6.6.6 IntDplvec.Size
int IntDplvec.Size ()
Arguments:
none
Return value:
Example:
D.6.6.7 IntDplvec.Sort
D- 200
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Depending on the type of elements stored inside the vector, the elements are sorted according
to:
- string: lexically
- double/int: according to value
- object: according to full name (path + name).
For objects, the sorting criterion can be changed to any object attribute by specifying the desired
attribute name.
Arguments:
string attribute: Value according to which the sorting is done (for objects the default is full name)
Return value:
none
Example:
The following example shows how to use the different IntDplvec methods:
!replace elements
for (i = 0; i < count; i += 1){
D- 201
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
tmp = vec.Get(i);
tmp = tmp * 10;
vec.Insert(i, tmp);
}
tmp = vec.IndexOf(33);
while (tmp > -1){
printf(’Value 33 found at: %d’, tmp);
tmp += 1;
tmp = vec.IndexOf(33, tmp);
}
D- 202
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.7.1.1 Execute
int Com.Execute ()
Arguments:
none
Example:
Com.Execute();
D.7.1.2 ResetCalculation
void ResetCalculation ()
Arguments:
none
Return value:
none
Results that have been written to result objects (for display in graphs) will not be destroyed. All
results that are visible in the single line diagrams, however, will be destroyed.
Example:
ResetCalculation();
D.7.1.3 GetCaseCommand
This command is obsolete. Please use the more versatile ”GetCaseObject” instead.
See ”GetCaseObject()” .
D.7.1.4 Exe
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’ command is
D- 203
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
provided for compatibility and testing purposes only and should only be used by experienced
users.
Arguments:
Return value:
none
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,
Exe(sExec);
Obj = SelGrids.Next();
}}
D.7.1.5 PostCommand
Adds a command to the command pipe in the input window. The posted commands will be
executed after the DPL command has finished.
Arguments:
Return value:
none
Example:
The following command causes the PowerFactory program to end after the DPL script has fin-
ished.
PostCommand(’exit’);
D.7.1.6 ClearCommands
void ClearCommands ()
D- 204
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
none
Example:
ClearCommands();
D.7.2.1 validLDF
int validLDF ()
Checks to see if the last load-flow results are still valid and available.
Arguments:
none
Return value:
Example:
The following example checks if a load-flow is available, and performs one when not.
int valid;
valid = validLDF();
if (.not.valid) {
Ldf.Execute();
}
D.7.2.2 ComLdf.Execute
int ComLdf.Execute ()
Arguments:
none
D- 205
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
0 on success
Example:
Ldf.Execute();
D.7.3.1 validSHC
int validSHC ()
Checks to see if the last short-circuit results are still valid and available.
Arguments:
none
Return value:
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();
}
D.7.3.2 ComShc.Execute
int ComShc.Execute ()
Arguments:
none
Return value:
0 on success
D- 206
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
Shc.Execute();
D.7.4.1 validRMS
int validRMS ()
Checks to see if the last RMS simulation results are still valid and available.
Arguments:
none
Return value:
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();
}
D.7.4.2 validSIM
int validSIM ()
Checks to see if the last simulation results are still valid and available.
Arguments:
none
Return value:
Example:
D- 207
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
int valid;
valid = validSIM();
if (.not.valid) {
output(’No simulation result available’);
}
D.7.4.3 ComInc.Execute
int ComInc.Execute ()
Arguments:
none
Return value:
0 on success
Example:
Inc.Execute();
D.7.5.1 ComRes.ExportFullRange
int ComRes.ExportFullRange ()
Arguments:
none
Return value:
Example:
object O;
set S;
S = SEL.GetAll(’ElmRes’);
O = S.First();
D- 208
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
while (O) {
Export:pResult = O;
Export.ExportFullRange();
O = S.Next();
}
D.7.5.2 ComRes.FileNmResNm
int ComRes.FileNmResNm ()
Arguments:
none
Return value:
D.7.6.1 ComOutage.SetObjs
Arguments:
Return value:
O on success, 1 on error.
D.7.6.2 ComOutage.GetObject
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
D- 209
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
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;
D.7.6.3 ComOutage.RemoveEvents
Arguments:
D- 210
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
none
Example:
object aCmd,
aOutage;
set Outages;
D.7.7.1 ComSimoutage.Reset
int ComSimoutage.Reset ()
Arguments:
none
Return value:
O on success, 1 on error.
D- 211
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.7.7.2 ComSimoutage.Execute
ComSimoutage.Execute
int ComSimoutage.Execute ()
Arguments:
none
Return value:
O on success, 1 on error.
D.7.7.3 ComSimoutage.Reset
Executes an (additional) ComSimoutage, without resetting results. The results of the outage
analyses will be added to the intermediate results. Object ”O” must be a ComSimoutage object.
Outage definitions in O which have already been analyzed will be ignored.
Arguments:
Return value:
O on success, 1 on error.
D.7.7.4 ComSimoutage.AddCntcy
Executes an (additional) ComOutage, without resetting results. The results of the outage anal-
ysis will be added to the intermediate results. Object ”O” must be a ComOutage object. If
the outage definition has already been analyzed, it will be ignored. The ComOutage will be
renamed to ”name” when ”name” is given.
Arguments:
Return value:
O on success, 1 on error.
D- 212
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.7.7.5 ComSimoutage.SetLimits
Arguments:
Return value:
1 always
Example:
The following example analyses all selected outage definitions and adds the results to the inter-
mediate results.
set s;
object o;
s = SEL.GetAll(’ComOutage’);
o = s.First();
while (o) {
CA.AddCntcy(o);
o = s.Next();
}
D.7.7.6 ComSimoutage.ReportObjs
Returns the objects which are normally given to the reporting command to produce the conti-
gency report.
Arguments:
Return value:
D- 213
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.7.8.1 ComNmink.AddRef
Arguments:
Return value:
none
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();
D.7.8.2 ComNmink.Clear
void ComNmink.Clear ()
Arguments:
none
Return value:
none
Example:
PrepOut.Clear();
S = AllRelevant();
O = S.Firstmatch(’ElmLne’);
while (O) {
if (O:c:loading>75) {
PrepOut.AddRef(O);
D- 214
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
O = S.Nextmatch();
}
PrepOut.Execute();
D.7.8.3 ComNmink.GetAll
Arguments:
Return value:
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();
}
D.7.9.1 ComRel3.Execute
int ComRel3.Execute ()
Arguments:
none
D- 215
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
0 on success
Example:
Rel3.Execute();
D.7.9.2 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:
Return value:
none
Example:
The following example removes all ComOutage objects stored inside the ComRel command in
the study case.
object aCmd;
D.7.9.3 ComRel3.RemoveEvents
Removes events stored inside the contingencies (*.ComOutage) inside the command.
Arguments:
D- 216
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
none remove all events stored inside the ComOutages inside ComRel3
’Lod’ remove all EvtLod
’Gen’ remove all EvtGen’
’Switch’ remove all EvtSwitch’
Return value:
none
Example:
The following example shows how to remove events from the ComOutage commands stored
inside ComRel3:
object aCmd;
D.7.9.4 ComRel3.AnalyseElmRes
Evaluate the results object created by the last calculation. Performs exactly the same like press-
ing the button ’Perform Evaluation of Result File’ in the dialogue box of the command.
Arguments:
Return value:
Example:
The following example shows how to call the evaluation of the results.
object aCmd,
aResFile;
int iError;
D- 217
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
case
if (aCmd) {
iError=aCmd.AnalyseElmRes(0); ! hide error message
if (iError) {
! display my own error message
aResFile = aCmd:p resenum;
if (aResFile) {
Error(’Evaluation of results %s failed’, aResFile:loc name);
}
}
}
D.7.9.5 ComRel3.CreateFaultCase
Creates fault cases for the components stored in the set ’Components’.
Arguments:
int iCreateSwtEvts (optional) : Create switch events for boundary circuit breakers.
0: Do not create switch events (default)
1: Create switch events
Return value:
D.7.10.1 ComDpl.Execute
Arguments:
Return value:
0 on success
Example:
The following example performs a load-flow and calls the DPL subroutine ”CheckVoltages” to
D- 218
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
int err;
err = Ldf.Execute();
if (.not.err) err = CheckVoltages(0.94, 1.05);
if (err) printf(’Voltage conditions are violated’);
D.7.11.1 ComImport.GetCreatedObjects
set ComImport.GetCreatedObjects ()
Please note: The sets of created objects is only available directly after a DGS import and only
at the command instance that has been executed. The sets are not stored on database.
Arguments:
none
Return value:
Example:
The following example returns the created objects after execution of a DGS import:
set created;
object obj;
printf(’Created objects:’);
created = ImportCmd.GetCreatedObjects();
for(obj = created.First(); obj; obj = created.Next()) {
printf(’ %o’, obj);
}
D.7.11.2 ComImport.GetModifiedObjects
set ComImport.GetModifiedObjects ()
D- 219
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Please note: The sets of created objects is only available directly after a DGS import and only
at the command instance that has been executed. The sets are not stored on database.
Arguments:
none
Return value:
Example:
The following example returns the modified objects after execution of a DGS import:
set modified;
object obj;
printf(’\nModified objects:’);
modified = ImportCmd.GetModifiedObjects();
for(obj = modified.First(); obj; obj = modified.Next()) {
printf(’ %o’, obj);
}
D- 220
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.7.12.1 ComMerge.ExecuteWithActiveProject
void ComMerge.ExecuteWithActiveProject ()
Compares objects according to settings in ComMerge object and shows merge browser. Active
project ignored.
Arguments:
none
Return value:
none
D- 221
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.7.12.2 ComMerge.Compare
int ComMerge.Compare ()
Compares objects according to settings in ComMerge object. Merge browser is not shown.
Arguments:
none
Return value:
none
D.7.12.3 ComMerge.CompareActive
int ComMerge.Compare ()
Compares objects according to settings in ComMerge object. Merge browser is not shown.
Active project ignored.
Arguments:
none
Return value:
none
D.7.12.4 ComMerge.ExecuteRecording
int ComMerge.ExecuteRecording ()
Compares objects according to settings in ComMerge object and shows merge browser. Sets
”recording mode” to record modifications in the active scenario and/or expansion stage.
Arguments:
none
Return value:
none
D.7.12.5 ComMerge.PrintComparisonReport
Arguments:
D- 222
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
0: no report
1: only modified compare objects
2: all compare objects
Return value:
none
D.7.12.6 ComMerge.SetAutoAssignmentForAll
Arguments:
int conflictVal (obligatory): Assignment of compared objects with undefined auto values (e.g.
conflicts)
Return value:
none
D.7.12.7 ComMerge.CheckAssignments
int ComMerge.CheckAssignments ()
Arguments:
none
Return value:
0: ok,
1: canceled by user,
2: missing assignments found,
3: conflicts found,
4: error
D.7.12.8 ComMerge.ShowBrowser
int ComMerge.ShowBrowser ()
Shows merge browser with initialized settings and all compared objects.
Arguments:
none
Return value:
D- 223
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.7.12.9 ComMerge.Merge
Checks assignments, creates target and prints merge report to output window.
Arguments:
Return value:
none
D.7.12.10 ComMerge.Reset
void ComMerge.Reset ()
Resets/clears and deletes all temp. object sets, created internally for the comparison.
Arguments:
none
Return value:
none
D.7.12.11 ComMerge.WereModificationsFound
int ComMerge.WereModificationsFound ()
Arguments:
none
Return value:
D.7.12.12 ComMerge.PrintModifications
D- 224
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
set | object obj (obligatory): Object or set of objects for which the modifications are printed.
Return value:
D.7.12.13 ComMerge.SetObjectsToCompare
Arguments:
Return value:
none
D.7.12.14 ComMerge.GetCorrespondingObject
Arguments:
int target(obligatory):
0: Get corresponding object from ’Base’
1: Get corresponding object from ’Mod1’
2: Get corresponding object from ’Mod2’
Return value:
D.7.12.15 ComMerge.GetModification
D- 225
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
object sourceObj (obligatory): Object from any source for which modification is searched.
int target(optional):
1: Get modification from ’Base’ to ’Mod1’
2: Get modification from ’Base’ to ’Mod2’
Return value:
0: error,
1: equal (no modofications),
2: modified,
3: added in Mod1/Mod2,
4: removed in Mod1/Mod2
D.7.12.16 ComMerge.GetModificationResult
Arguments:
object sourceObj (obligatory): Object from any source for which modification is searched.
Return value:
0: error,
1: equal (no modofications),
2: same modifications in ’Mod1’ and ’Mod2’ (no conflict)
3: different modifications in ’Mod1’ and ’Mod2’ (conflict)
D.7.12.17 ComMerge.GetModifiedObjects
Arguments:
Return value:
D- 226
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Unmodified, modified and added objects are always from given ”modSource”, removed objects
are always from ’Base’.
D.7.13.1 ComLink.SendData
Arguments:
Return value:
Example:
object Mea;
set MeaSet;
D.7.13.2 ComLink.ReceiveData
Reads and processes values for all (in PF configured) items from OPC server (OPC only).
Arguments:
D- 227
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
D.7.14.1 ComUcteexp.BuildNodeNames
int ComUcteexp.BuildNodeNames ()
Builds the node names as used in UCTE export and makes them accessible via :UcteNode-
Name attribute. The node names will only be available as long as topology has not been
changed. They must be re-build after any topology relevant modification.
Arguments:
none
Return value:
0: on success
1: on error (e.g. load flow calculation failed)
Example:
err = com.BuildNodeNames();
if (err > 0) {
Error(Error in determination of UCTE node names);
exit();
}
D.8 Elements
Some object methods are specific for a type of object class. A result file object (ElmRes), for
instance, has a ”Write” method, which would not make sense for a load-flow command object.
The general syntax for an object method is the same as that for a set method:
D- 228
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
For Feeder Methods please refer to Section D.6.3 ”Feeder (SetFeeder) Methods”.
For Path Methods please refer to Section D.6.4 ”Path (SetPath) Methods”.
D.8.1.1 ElmNet.Activate
int ElmNet.Activate ()
Adds a grid to the active study case. Can only be applied if there are is no currently active
calculation.
See also:
ResetCalculation
Arguments:
none
Return value:
0 on success, 1 on error.
D.8.1.2 ElmNet.Deactivate
int ElmNet.Deactivate ()
Removes a grid from the active study case.Can only be applied if there are is no currently active
calculation.
See also:
ResetCalculation
Arguments:
none
Return value:
0 on success, 1 on error.
D- 229
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.1.3 ElmNet.CalculateInterchangeTo
This function calculates the power flow from current grid to a connected grid. The values are
stored in current grid in the following attributes (old values are overwritten):
- Pinter: Active Power Flow
- Qinter: Reactive Power Flow
- ExportP: Export Active Power Flow
- ExportQ: Export Reactive Power Flow
- ImportP: Import Active Power Flow
- ImportQ: Import Reactive Power Flow
Arguments:
Return value:
- < 0: error
- = 0: grids are not connected, no interchange exists
- > 0: ok
Example:
int res;
res = from.CalculateInterchangeTo(to);
D.8.2.1 ElmAsm.GetAvailableGenPower
double ElmAsm.GetAvailableGenPower ()
Returns the available power that can be dispatched from the generator, for the particular study
time .
For the case of conventional generators (no wind generation selected), the available power is
equal to the nominal power specified.
For wind generators, the available power will depend on the wind model specified:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specified mean wind speed, the available power is cal-
culated from the Power Curve. If the units of the Power Curve are in MW, the returned value
D- 230
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
is directly the available power. In the other hand, if the units are in PU, the returned value is
multiplied by the nominal power of the generator to return the available power.
3. Time Series Characteristics of Active Power Contribution: The available power is the average
of the power values (in MW) obtained from all the specified time characteristics for the current
study time.
4. Time Series Characteristics of Wind Speed: The available power is calculated with the av-
erage of the power values (in MW) calculated for all the specified time characteristics. A power
value for any time characteristic is calculated by obtaining the wind speed for the current study
time, and then calculating the power from the specified Power Curve. If the units of the Power
Curve are in MW, the returned value is directly the power value. In the other hand, if the units
are in PU, the returned value is multiplied by the nominal power of the generator to return the
power value.
Arguments:
none
Return value:
Example:
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant(ElmAsm);
D.8.3.1 ElmAsmsc.GetAvailableGenPower
double ElmAsmsc.GetAvailableGenPower ()
Returns the available power that can be dispatched from the generator, for the particular study
time .
For the case of conventional generators (no wind generation selected), the available power is
equal to the nominal power specified.
For wind generators, the available power will depend on the wind model specified:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specified mean wind speed, the available power is cal-
D- 231
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
culated from the Power Curve. If the units of the Power Curve are in MW, the returned value
is directly the available power. In the other hand, if the units are in PU, the returned value is
multiplied by the nominal power of the generator to return the available power.
3. Time Series Characteristics of Active Power Contribution: The available power is the average
of the power values (in MW) obtained from all the specified time characteristics for the current
study time.
4. Time Series Characteristics of Wind Speed: The available power is calculated with the av-
erage of the power values (in MW) calculated for all the specified time characteristics. A power
value for any time characteristic is calculated by obtaining the wind speed for the current study
time, and then calculating the power from the specified Power Curve. If the units of the Power
Curve are in MW, the returned value is directly the power value. In the other hand, if the units
are in PU, the returned value is multiplied by the nominal power of the generator to return the
power value.
Arguments:
none
Return value:
Example:
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant(ElmAsmsc);
D.8.4.1 ElmFeeder.GetAll
D- 232
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iNested=1,
otherwise only the objects up to the next feeder will be returned.
Return value:
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = GetActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents(’*.ElmFeeder’,1);
aFeeders.SortToVar(0,’loc name’);
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf(’Elements in feeder %s’,pFeeder:loc name);
aAll = pFeeder.GetAll(1);
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(’ %s\\%s’,pObj:r:fold id:loc name,pObj:loc name);
}
}
}
See also
Data Container
D.8.4.2 ElmFeeder.GetBuses
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iNested=1,
otherwise only the objects up to the next feeder will be returned.
Return value:
Example:
set aNodes,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = GetActiveProject();
if (pPrj) {
D- 233
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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
Data Container
D.8.4.3 ElmFeeder.GetBranches
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iNested=1,
otherwise only the objects up to the next feeder will be returned.
Return value:
Example:
set aBranches,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = GetActiveProject();
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
Data Container
D- 234
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.4.4 ElmFeeder.GetNodesBranches
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 iNested=1,
otherwise only the objects up to the next feeder will be returned.
Return value:
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = GetActiveProject();
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);
}
}
}
D.8.4.5 ElmFeeder.GetObjs
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 iNested=1,
otherwise only the objects up to the next feeder will be returned.
Return value:
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = GetActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents(’*.ElmFeeder’,1);
D- 235
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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);
}
}
}
D.8.5.1 ElmBoundary.IsSplitting
Checks if the boundary splits the network into two regions. A boundary is called splitting, if and
only if, for each boundary cubicle, the adjacent terminal and the adjacent branch component
belong to different sides of the boundary.
Arguments:
set notsplittingCubicles (obligatory) : All cubicles that prevent the boundary from being splitting
are filled into this set.
Return value:
none
Example:
set cubs;
object cub;
int res;
res = boundary.IsSplitting(cubs);
if (res){
printf(’Boundary is splitting’);
}else{
printf(’Boundary is not splitting because of’);
for (cub = cubs.First(); cub; cub = cubs.Next()){
cub.ShowFullName();
}
}
D- 236
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.6.1 StaCubic.GetConnectedMajorNodes
set StaCubic.GetConnectedMajorNodes ()
This function returns all major nodes that can be reached starting a topology search from the
cubicle in direction of the referenced branch element. The search stops in each direction when
a major node was found (so only the first major node in every direction is collected).
First, the internally executed search does not pass any open switch. Only if this search does
not find any major node, a second is executed ignoring all switches.
Addition:
If no major node has been found all reached ”pseudo” major nodes are returned. A pseudo
major node is a terminal of priority 1000. Terminals of that priority are not considered to be
major nodes. They are only used as a replacement for real major nodes if no real major node
could be found.
Arguments:
none
Return value:
A set of all major nodes that can be reached starting a topology search from the cubicle in
direction of the referenced branch element.
Example:
s = AllRelevant(’*.ElmSubstat’);
index = 0;
return = 0;
while (return <> 1){
return = substat.GetSplit(index, buses, cubicles, elements);
if (return = 0){
allCubicles.Add(cubicles);
}
index = index +1;
}
for(cub = allCubicles.First(); cub; cub = allCubicles.Next()){
name = cub.GetFullName(0);
printf(’\nMajor Nodes cubicle %s is connected to:’, name);
terms = cub.GetConnectedMajorNodes();
for (obj = terms.First(); obj; obj = terms.Next()){
obj.ShowFullName();
}
}
D- 237
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.6.2 StaCubic.GetAll
This function returns a set of network components that are collected by a topological traversal
starting at the cubicle (StaCubic) where the function is called.
Arguments:
int direction (optional): Specifies the direction in which the network topology is traversed.
1: Traversal to the branch element
-1: Traversal to the terminal element.
If this parameter is omitted, the default of ’1’ (direction to the branch element) is used.
Return value:
A set of network components that are collected by a topological traversal starting at the cubicle
(StaCubic) where the function is called.
Example:
set s;
object o;
D- 238
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.7.1 ElmComp.Slotupd
void ElmComp.Slotupd ()
Performs a slot update for the composite model, to automatically select available models for the
slots.
Arguments:
none
Return value:
none
See also
Data Container
D.8.8.1 ElmCoup.Close
int ElmCoup.Close ()
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all open couplers before closing them.
int opn;
set S, So;
object O;
D- 239
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
S = Couplers.AllElm();
O = S.First();
while (O) {
opn = O.IsOpen();
if (opn) {
O.Close();
So.Add(O);
};
}
D.8.8.2 ElmCoup.Open
int ElmCoup.Open ()
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);
};
}
D.8.8.3 ElmCoup.IsOpen
int ElmCoup.IsOpen ()
Arguments:
none
Return value:
D- 240
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
D.8.8.4 ElmCoup.IsClosed
int ElmCoup.IsClosed ()
Arguments:
none
Return value:
Example:
D.8.8.5 ElmCoup.IsBreaker
set ElmCoup.IsBreaker ()
Arguments:
none
Return value:
D.8.8.6 ElmCoup.GetRemoteBreakers
This function finds the remote circuit breakers and local buses. A toposearch is started from
this breaker in all directions, stopping at the breakers (ElmCoup::aUsage = cbk) which are con-
nected with the target breaker by non-reduciable components (see IsReducible()) and all equiv-
alent busbars (::iUsage == 0 and only connected by reducible components). If search stops at
a breaker that is in given breaker state (CbStatus), it is added to the pBreakers collection. All
busbars at which the search stops are added to the pBusbars collection.
Arguments:
int CbStatus (obligatory) : The status of remote circuit breakers which will be searched.
-1: Return all remote circuit breakers
1: Return all closed remoted circuit breakers
0: Return all opened remoted circuit breakers
D- 241
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
none
Example:
The following example gathers all closed couplers before opening them.
object targetCB;
set RECBList;
set FocusBusList
object oRemCB;
D.8.9.1 ElmLne.HasRoutes
int ElmLne.HasRoutes ()
Arguments:
D- 242
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
none
Return value:
Example:
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch(’ElmLne’);
while (O) {
i = O.HasRoutes();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
D.8.9.2 ElmLne.HasRoutesOrSec
int ElmLne.HasRoutesOrSec ()
Arguments:
none
Return value:
0 when the line is a single line, 1 when it is subdivided into routes, 2 when into sections.
Example:
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();
}
D.8.9.3 ElmLne.GetType
int ElmLne.GetType ()
D- 243
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
set S;
object O, T;
S = AllRelevant();
O = S.Firstmatch(’ElmLne’);
while (O) {
T = O.GetType();
if (T=0) {
O.ShowFullName();
}
O = S.Nextmatch();
}
D.8.9.4 ElmLne.IsCable
int ElmLne.IsCable ()
Arguments:
none
Return value:
Example:
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();
}
D- 244
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.9.5 ElmLne.IsNetCoupling
int ElmLne.IsNetCoupling ()
Arguments:
none
Return value:
Example:
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();
}
D.8.9.6 ElmLne.SetCorr
int ElmLne.SetCorr ()
Arguments:
none
Return value:
0 on success, 1 on error;
Example:
BuriedLine.SetCorr();
D.8.9.7 ElmLne.CreateFeederWithRoutes
D- 245
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Creates a new feeder in the line by splitting the line in 2 routes and inserting a terminal.
Arguments:
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;
D.8.9.8 ElmLne.SetDetailed
void ElmLne.SetDetailed ()
The function can be used to prevent the automatically reduction of a line e.g. if the line is a line
dropper (length = 0). The function should be called when no calculation method is valid (before
first load flow).
The internal flag is automatically reset after the first calculation is executed.
Arguments:
none
Return value:
none
Example:
D.8.9.9 ElmLne.GetZ0m
The function return the zero-sequence mutual coupling impedance (R0m, X0m) in Ohm of the
line and line: Lne2. When Lne2 = line, the function returns the zero-sequence self impedance.
D- 246
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
D.8.9.10 ElmLne.GetZ1m
The function return the positive-sequence mutual coupling impedance (R1m, X1m) in Ohm of
the line and line: Lne2. When Lne2 = line, the function returns the positive-sequence self
impedance.
Arguments:
none
Return value:
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
D.8.9.11 ElmLne.GetY0m
The function returns the zero-sequence mutual coupling admittance (G0m, B0m) in S of the line
and line: Lne2. When Lne2 = line, the function returns the zero-sequence self admittance.
Arguments:
none
Return value:
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
D.8.9.12 ElmLne.GetY1m
The function returns the zero-sequence mutual coupling admittance (G1m, B1m) in S of the line
and line: Lne2. When Lne2 = line, the function returns the positive-sequence self admittance.
Arguments:
none
Return value:
D- 247
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
D.8.9.13 ElmLne.FitParams
int ElmLne.FitParams ()
Calculates distributed parameters for lines. Calculates distributed parameters for line elements.
Whether this function calculates constant parameters or frequency dependent parameters de-
pends on the user setting of the parameter i model in the ElmLne dialogue. The settings are as
follows: i model=0: constant parameters; i model=1: frequency dependent parameters.
Arguments:
none
Return value:
0: on success,
1: on error
Example:
object oLine;
set sLines;
int err;
sLines = AllRelevant(*.ElmLne);
oLine = sLines.First();
err = oLine.FitParams();
if (err) {
Error(’Could not calculate line parameters for %s.’, oLine);
exit();
}
D- 248
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.10.1 ElmRes.AddVars
Adds variables to the list of monitored variables for the Result object.
Arguments:
Return value:
none
Example:
object Res;
Res = MyResults();
D- 249
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Res.AddVars(MyLine,’m:Ikss:busshc’,’m:I:busshc’);
D.8.10.2 ElmRes.Clear
int ElmRes.Clear ()
Arguments:
none
Return value:
0 on success
Example:
Res.Clear();
D.8.10.3 ElmRes.Draw
int ElmRes.Draw ()
Updates all plots that display values from the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example updates the graphics every 10 steps to save time and yet follow the
results while calculating
double i,n;
Ld:pini = LoadMin;
i = 1;
n = 0;
while (Ld:pini<LoadMax.and.i) {
i = Ldf.Execute();
if (i) {
Res.Write();
n += 1;
Ld:pini += LoadStep;
}
if (n>9) {
Res.Write();
n = 0;
D- 250
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
}
D.8.10.4 ElmRes.Flush
void ElmRes.Flush ()
This function is required in DPL scripts which perform both file writing and reading operations.
While writing to a results object (ElmRes), a small portion of this data is buffered in memory.
This is required for performance reasons. Therefore, all data must be written to the disk before
attemting to read the file. Flush copies all data buffered in memory to the disk. After calling
Flush all data is available to be read from the file.
Arguments:
none
Return value:
none
Example:
The following example writes a result object and prints the data written to the file. The DPL
command contains to variables on the advanced options page:
double x x-value
double y y-value
These variables were selected in the variable definitions inside the result object which itself is
stored in the DPL command. The DPL script code is as follows:
D- 251
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
window
iRow = iRow+1; ! next row
iNotOk = GetResData(dX,res,iRow,iX); ! get the x-value in line
iRow
iNotOk = GetResData(dY,res,iRow,iY); ! get the z-value in line
iRow
}
ReleaseResData(res); ! release the result file data from memory
D.8.10.5 ElmRes.GetObj
Returns the objects used in the result file. Positive index means objects for which parameters
are being monitored (i.e. column objects). Negative index means objects which occur in written
result rows as values.
Arguments:
Return value:
D.8.10.6 ElmRes.GetResData
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:
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
D- 252
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.10.7 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:
Res.Init();
D.8.10.8 ElmRes.LoadResData
Loads the data of a result file (ElmRes) in memory. An error is produced when O is not a
ElmRes object.
Arguments:
Return value:
none
Example:
D- 253
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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
D.8.10.9 ElmRes.ReleaseResData
Releases the result file data loaded to memory. This function should be used whenever several
result files are processed in a loop. The result file data is released from memory automatically
after execution of the DPL script.
Arguments:
Return value:
none
Example:
object res,case;
set aFiles;
int Nvar, Nval, Nfiles;
D- 254
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.10.10 ElmRes.ResIndex
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:
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:
D- 255
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.10.11 ElmRes.ResFirstValidObject
int ResFirstValidObject (object resultFile, int row [, string classNames, string variable-
Name, double limit, int limitOperator, double limit2, int limitOperator2])
or
Gets the index of the column for the first valid variable in the given line. Starts at the beginning
of the given line and sets the internal iterator of the result file to the found position.
Arguments:
string classNames (optional) : Comma separated list of class names for valid objects. The next
object of one of the given classes is searched. If not set all objects are considered as valid
(default).
string variableName (optional) : Name of the limiting variable. The searched object must have
this variable. If not set variables are not considered (default).
int limitOperator2 (optional) : Operator for checking the second limiting value:
<0: first OR second criterion must match,
>0: first AND second criterion must match,
0: all values are valid (default)
1/-1: valid values must be < limit2
2/-2: valid values must be <= limit2
3/-3: valid values must be > limit2
4/-4: valid values must be >= limit2
Return value:
Example:
D- 256
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.10.12 ElmRes.ResFirstValidObjectVar
Gets the index of the column for the next valid variable of the current object in the current line.
Starts at the internal iterator of the given result file and sets it to the found position.
Arguments:
string variableNames (optional) : Comma separated list of valid variable names. The next
column with one of the given variables is searched. If not set all variables are considered as
valid (default).
Return value:
Example:
D.8.10.13 ElmRes.ResFirstValidVar
Gets the index of the column for the first valid variable in the given line.
Starts at the beginning of the given line and sets the internal iterator of the result file to the found
position.
Arguments:
string variableNames (optional) : Comma separated list of valid variable names. The next
column with one of the given variables is searched. If not set all variables are considered as
valid (default).
Return value:
Example:
D- 257
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.10.14 ElmRes.ResNextValidObject
or
Gets the index of the column for the first valid variable in the given line. Starts at the beginning
of the given line and sets the internal iterator of the result file to the found position.
Arguments:
string classNames (optional) : Comma separated list of class names for valid objects. The next
object of one of the given classes is searched. If not set all objects are considered as valid
(default).
string variableName (optional) : Name of the limiting variable. The searched object must have
this variable. If not set variables are not considered (default).
int limitOperator2 (optional) : Operator for checking the second limiting value:
<0: first OR second criterion must match,
>0: first AND second criterion must match,
0: all values are valid (default)
1/-1: valid values must be < limit2
2/-2: valid values must be <= limit2
3/-3: valid values must be > limit2
4/-4: valid values must be >= limit2
Return value:
>=0: column index
<0: no valid column found
Example:
D- 258
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.10.15 ElmRes.ResNextValidObjectVar
Gets the index of the column for the next valid variable of the current object in the current line.
Starts at the internal iterator of the given result file and sets it to the found position.
Arguments:
string variableNames (optional) : Comma separated list of valid variable names. The next
column with one of the given variables is searched. If not set all variables are considered as
valid (default).
Return value:
Example:
D.8.10.16 ElmRes.ResNextValidVar
Gets the index of the column for the next valid variable in the current line. Starts at the internal
iterator of the given result file and sets it to the found position.
Arguments:
string variableNames (optional) : Comma separated list of valid variable names. The next
column with one of the given variables is searched. If not set all variables are considered as
valid (default).
Return value:
Example:
D.8.10.17 ElmRes.ResNval
Returns the number of values stored in result object for curve iCrv. An error is produced when
D- 259
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
D.8.10.18 ElmRes.ResNvars
Returns the number of variables (columns) in result file. An error is produced when O is not a
ElmRes object.
Arguments:
D.8.10.19 ElmRes.SetAsDefault
void ElmRes.SetAsDefault ()
Arguments:
none
Return value:
none
D.8.10.20 ElmRes.Write
int ElmRes.Write ()
Arguments:
none
Return value:
0 on success
Example:
D- 260
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
The following example performs load-flows for a number of load levels and writes the results 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;
}
}
D.8.10.21 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 results 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;
}
}
D- 261
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.11.1 ElmStactrl.GetStepupTransformer
Arguments:
Return value:
Example:
set objs
object oTrf,oGen;
int index,nGens;
objs = AllRelevant(ElmStactrl);
D- 262
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.11.2 ElmStactrl.GetControlledHVNode
Returns the corresponding voltage controlled HV node for machine at index. Switch status are
always considered.
Arguments:
Return value:
object: Busbar/Terminal ()
NULL: not found
Example:
set objs
object oCtrlNode,oGen;
int index,nGens;
objs = AllRelevant(ElmStactrl);
D.8.11.3 ElmStactrl.GetControlledLVNode
Returns the corresponding generator terminal (LV controlled node) for machine at index. Switch
status are always considered.
Arguments:
Return value:
object: Terminal ()
NULL: not found
Example:
D- 263
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
set objs
object oCtrlNode,oGen;
int index,nGens;
objs = AllRelevant(ElmStactrl);
D.8.12.1 ElmSubstat.GetSplit
int ElmSubstat.GetSplit (int index, set majorNodes, set connectionCubicles [, set allEle-
ments])
A split of a substation is a group of connected elements. These splits are ordered according
to the count of major nodes contained and according to their priority. So each split becomes a
unique index.
The function GetSplit offers access to the elements contained in a split. By calling GetSplit with
an index from 0 to n, the elements belonging to the corresponding split are filled into given sets
and returned.
Arguments:
int index (obligatory) : Index of the split that is used to get access to the elements of the
corresponding split.
D- 264
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
set majorNodes (obligatory) : All major nodes (priority is greater than -1) of the split are filled in
the set majorNodes.
set connectionCubicles (obligatory) : All cubicles (of terminals inside the substation) that point
to an element that sits outside the substation or to an element that is connected to a terminal
outside the substation are filled into the set connectionCubicles.
(The connection element (branch) can be accessed by calling GetElement() on each of these
cubicles. The terminals of these cubicles (parents) must not necessarily be contained in any
split. They could also be separated by a disconnecting component.)
set allElements (optional) : All elements (class Elm*) of the split that have no connection to
elements outside the substation are filled into this set.
Return value:
Example:
set nodes;
set cubicles;
set elements;
int return, index;
object obj;
printf(’Connection Cubicles:’);
obj = cubicles.First();
while(obj){
obj.ShowFullName();
obj = cubicles.Next();
}
printf(’All Elements:’);
obj = elements.First();
D- 265
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
while(obj){
obj.ShowFullName();
obj = elements.Next();
}
}
index = index + 1;
}
D.8.12.2 ElmSubstat.GetSplitIndex
This function returns the index of the split that contains object ’o’.
Arguments:
Return value:
-1: Given object ’o’ does not belong to any split of that substation.
Example:
set s, terms;
object substation, term;
int index;
string name;
s = AllRelevant(’*.ElmSubstat’);
terms = AllRelevant(’*.’);
D- 266
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.12.3 ElmSubstat.GetSplitCal
int ElmSubstat.GetSplitCal (int index, set nodes [, set connectionCubicles, set elements])
A split of a substation is a group of connected elements. These splits are ordered according
to the count of major nodes contained and according to their priority. So each split becomes a
unique index. Each split consists of one or more calculation node. A calculation node contains
all elements that are electrical equivalent (determined IsEquivalent).
This function offers access to such a split.
Note: As this function relies on calculation nodes it can only be executed after a calculation has
been performed (e.g. load flow calculation).
Arguments:
int index : Indicates the index of the split. This index is zero based.
set nodes : A set that is filled with terminals. There is one terminal returned for each calculation
node in the split. The returned terminal is either the major node with highest priority or a tie
node (if there is no major node).
set connectionCubicles : This set is filled with all cubicles that point from a calculation node
of current split to another calculation node that does not belong to that split. The connecting
element can be accessed by calling GetElement() on such a cubicle.
set elements : This set is filled with network elements that are connected to a calculation node
of current split and have exactly one connection, i.e. these elements are completely contained
in the split.
Return value:
Example:
set nodes;
set cubicles;
set elements;
int return, index;
object obj;
return = 0;
while (return < > 1) { !loop from 0 to n until there is no more split
return = substation.GetSplitCal(index, nodes, cubicles, elements);
D- 267
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
while(obj){
obj.ShowFullName();
obj = nodes.Next();
}
printf(’Connection Cubicles:’);
obj = cubicles.First();
while(obj){
obj.ShowFullName();
obj = cubicles.Next();
}
printf(’Elements:’);
obj = elements.First();
while(obj){
obj.ShowFullName();
obj = elements.Next();
}
}
index = index + 1;
}
D.8.12.4 ElmSubstat.SaveAsRA
If calling this function on a substation that has no running arrangement selected, a new running
arrangement is created and all switch statuses of all running arrangement relevant switches (for
that substation) are saved in it. The running arrangement is stored in project folder ”Running
Arrangement” and its name is set to given locname.
(No new running arrangement is created if this method is called on a substation that has cur-
rently a running arrangement selected).
Arguments:
string locname : Name of the new running arrangement (if name is already used, an increment
(postfix) is added to make it unique).
Return value:
Example:
object myra;
myra = objsubstation.SaveAsRA(MyRA);
if (myra){
myra.ShowFullName();
}else{
printf(No RA created.);
}
D- 268
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.12.5 ElmSubstat.OverwriteRA
This function overwrites switch statuses stored in an existing running arrangement with current
switch statuses. This is only possible if the substation has no running arrangement selected
and given running arrangement is valid for substation the method was called on.
Arguments
Return value:
Example:
int res;
res = objsubstation.OverwriteRA(objra);
if (res = 1){
printf(%o was successfully overwritten, objra);
}else{
printf(%o was not overwritten, objra);
}
D.8.12.6 ElmSubstat.SetRA
This function sets a running arrangement for the substation it was called on.
Arguments
Return value:
Example:
int res;
res = objsubstation.SetRA(objra);
if (res = 1){
printf(%o was successfully set, objra);
}
else{
printf(%o was not set, objra);
}
D- 269
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.12.7 ElmSubstat.ResetRA
int ElmSubstat.ResetRA ()
This function resets the running arrangement for the substation it was called on.
Arguments
none
Return value:
none
Example:
objsubstation.ResetRA();
D.8.13.1 ElmSym.Disconnect
int ElmSym.Disconnect ()
Disconnects a generator by opening the first circuit breaker. The search stops at any busbar.
(Same functionality as used in BMU algorithm.)
Arguments:
none
Return value:
1: on error (no breaker found, open action not possible (earthing / RA))
0: else (breaker already open or successfully opened)
Example:
set objs;
object obj;
int err;
objs = AllRelevant(ElmSym);
D- 270
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.13.2 ElmSym.Reconnect
int ElmSym.Reconnect ()
Connects a generator by closing all switches (breakers and isolators) up to first breaker on hv
side of a transformer. The closing action also stops at any busbar. (Same functionality as used
in BMU algorithm.)
Arguments:
none
Return value:
Example:
set objs;
object obj;
int err;
objs = AllRelevant(ElmSym);
D.8.13.3 ElmSym.IsConnected
int ElmSym.IsConnected ()
Arguments:
none
D- 271
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
set objs;
object obj;
int status;
objs = AllRelevant(ElmSym);
D.8.13.4 ElmSym.GetAvailableGenPower
double ElmSym.GetAvailableGenPower ()
Returns the available power that can be dispatched from the generator, for the particular study
time .
For the case of conventional generators (no wind generation selected), the available power is
equal to the nominal power specified.
For wind generators, the available power will depend on the wind model specified:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specified mean wind speed, the available power is cal-
culated from the Power Curve. If the units of the Power Curve are in MW, the returned value
is directly the available power. In the other hand, if the units are in PU, the returned value is
multiplied by the nominal power of the generator to return the available power.
3. Time Series Characteristics of Active Power Contribution: The available power is the average
of the power values (in MW) obtained from all the specified time characteristics for the current
study time.
4. Time Series Characteristics of Wind Speed: The available power is calculated with the av-
erage of the power values (in MW) calculated for all the specified time characteristics. A power
value for any time characteristic is calculated by obtaining the wind speed for the current study
time, and then calculating the power from the specified Power Curve. If the units of the Power
Curve are in MW, the returned value is directly the power value. In the other hand, if the units
are in PU, the returned value is multiplied by the nominal power of the generator to return the
power value.
D- 272
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant(ElmSym);
GetNextHVBus Returns the nearest connected bus bar that has a higher
voltage level.
IsEquivalent Checks if two terminals are topologically connected.
IsElectrEquivalent Checks if two terminals are electrical equivalent.
GetMinDistance Determines the shortest path between two terminals.
D.8.14.1 GetNextHVBus
object GetNextHVBus ()
This function returns the nearest connected bus bar that has a higher voltage level. To detect
this bus, a breath-first search on the net topology is executed. The traversal stops on each
element that is out of service and on each opened switch device. The criterion for higher voltage
level is passing a transformer to HV side.
Arguments:
none
Return value:
Example:
D- 273
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
result = obj.GetNextHVBus();
result.ShowFullName();
D.8.14.2 IsEquivalent
Arguments:
object terminal: Terminal to which the method called terminal is connected to.
Return value:
1: If terminal on which the method was called is connected to terminal that was passed as
argument only by closed switching devices or by lines of zero length
0: Otherwise (terminals are not connected or connected by other components than switching
devices / lines of zero length)
Example:
int res;
res = Busbar1.IsEquivalent(Busbar2);
if (res = 1)
{
printf(%o is equivalent to %o, Busbar1, Busbar2);
}
else
{
printf(%o is not equivalent to %o, Busbar1, Busbar2);
}
D- 274
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.14.3 IsElectrEquivalent
Function checks if two terminals are electrically equivalent. Two terminals are said to be electri-
cally equivalent if they are topologically connected only by
Arguments:
object terminal (obligatory) : Terminal to which the method called terminal is connected to.
double maxR (obligatory) : Given threshold for the resistance of branch elements (must be given
in Ohm).
double maxX (obligatory) : Given threshold for the reactance of branch elements (must be given
in Ohm).
Return value:
1: If terminal on which the method was called is electrical equivalent to terminal that was passed
as argument
0: Otherwise
Example:
int res;
res = Busbar1.IsElectrEquivalent(Busbar2, 0.05, 0.05);
if (res = 1){
printf(%o is electrical equivalent to %o, Busbar1, Busbar2);
D- 275
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}else{
printf(%o is not electrical equivalent to %o, Busbar1, Busbar2);
}
D.8.14.4 GetMinDistance
double GetMinDistance (object term [, int considerSwitches, set path, set limitToNodes])
This function determines the shortest path between the terminal the function was called on and
the terminal that was passed as first argument. The distance is determined on network topology
regarding the length of the traversed component (i.e. only lines have an influence on distance).
Arguments:
set path (optional) : If given, all components of the found shortest path are put into this set.
set limitToNodes (optional) : If given, the shortest path is searched only within this set of nodes.
Please note, when limiting search to a given set of nodes, the start and end terminals (for which
the distance is determined) must be part of this set (otherwise distance =-1).
Return value:
Example:
D- 276
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.15.1 ElmTow.FitParams
int ElmTow.FitParams ()
Calculates distributed parameters for tower elements. Whether this function calculates constant
parameters or frequency dependent parameters depends on the user setting of the parameter
’i model’ in the ElmTow dialogue. The settings are as follows: i model=0: constant parameters;
i model=1: frequency dependent parameters.
Arguments:
none
Return value:
0 on success, 1 on error
Example:
object oElmTow;
set sElmTows;
int err;
sElmTows = AllRelevant(*.ElmTow);
oElmTow = sElmTows.First();
err = oElmTow.FitParams();
if (err) {
Error(’Could not calculate line parameters for %s.’, oElmTow);
exit();
}
D.8.15.2 ElmTow.PrintFreqDepParams
void ElmTow.PrintFreqDepParams ()
Prints the calculated frequency dependent parameters for tower elements in a tabular format to
the output window. This table includes for each mode, the surge impedance, wave propagation,
travel time and the number of poles and zeros of Z and A. It can only be called after the function
oElmTow.FitParams() has been executed; either in DPL or via the ElmTow dialogue.
Arguments:
none
Return value:
none
Example:
object oElmTow;
set sElmTows;
int err;
sElmTows = AllRelevant(*.ElmTow);
oElmTow = sElmTows.First();
D- 277
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
err = oElmTow.FitParams();
if (err) {
Error(’Could not calculate line parameters for %s.’, oElmTow);
exit();
}
oElmTow.PrintFreqDepParams();
D.8.16.1 ElmTr2.IsQuadBooster
Returns whether transformer is a quadbooster or not, i.e. checks if phase shift angle is not 0
modulo 180◦ .
Arguments:
Return value:
Example:
isQB = obj.IsQuadBooster(0);
if(isQB=1)
{
obj.ShowFullName();
D- 278
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.17.1 ElmZone.GetAll
set ElmZone.GetAll ()
Arguments:
none
Return value:
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = GetActiveProject();
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);
D- 279
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
}
}
D.8.17.2 ElmZone.GetBuses
set ElmZone.GetBuses ()
Arguments:
none
Return value:
D.8.17.3 ElmZone.GetNodes
set ElmZone.GetNodes ()
Arguments:
none
Return value:
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = GetActiveProject();
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);
}
}
}
D.8.17.4 ElmZone.GetBranches
set ElmZone.GetBranches ()
D- 280
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = GetActiveProject();
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);
}
}
}
D.8.17.5 ElmZone.GetObjs
Returns all objects of the given class which belong to this zone.
Arguments:
Return value:
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output cubicles in the zone
pPrj = GetActiveProject();
if (pPrj) {
aZones = pPrj.GetContents(’*.ElmZone’,1);
aZones.SortToVar(0,’loc name’);
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf(’Cubicles in zone %s’,pZone:loc name);
aAll = pZone.GetObjs(’StaCubic’);
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(’ %s\\%s’,pObj:r:fold id:loc name,pObj:loc name);
D- 281
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
}
}
}
D.8.18.1 StaSwitch.Close
int StaSwitch.Close ()
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);
};
}
D.8.18.2 StaSwitch.Open
int StaSwitch.Open ()
Arguments:
none
D- 282
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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);
};
}
D.8.18.3 StaSwitch.IsOpen
int StaSwitch.IsOpen ()
Arguments:
none
Return value:
Example:
D.8.18.4 StaSwitch.IsClosed
int StaSwitch.IsClosed ()
Arguments:
none
Return value:
Example:
D- 283
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.8.19.1 ElmBay.Disconnect
set ElmBay.GetAll ()
This function gets all switches referencing the bay the function is called on.
Arguments:
none
Return value:
Example:
set sRet;
object oSwitch;
object oBay;
sRet = oBay.GetAll();
D.9 Types
Some object methods are specific for a type of object class. The general syntax for an object
method is the same as that used for a set method:
For Feeder Methods please refer to Section D.6.3 ”Feeder (SetFeeder) Methods”.
For Path Methods please refer to Section D.6.4 ”Path (SetPath) Methods”.
D.9.1.1 TypAsm.Disconnect
int TypAsm.CalcElParams ()
Arguments:
none
D- 284
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.9.2.1 TypAsmo.CalcElParams
int TypAsmo.CalcElParams ()
Arguments:
none
D.9.3.1 TypLne.IsCable
int TypLne.IsCable ()
Arguments:
none
Return value:
Example:
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch(’TypLne’);
while (O) {
i = O.IsCable();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
D.9.3.2 TypLne.SetNomCurr
int TypLne.SetNomCurr ()
D- 285
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
BuriedLineType.SetNomCurr();
D.10.1.1 IntEvt.CreateCBEvents
Arguments:
Return value:
none
D.10.2.1 IntForm.SetText
Arguments:
D- 286
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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);
D.10.2.2 IntForm.WriteOut
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 macro. All format
lines between the $LOOP, EXTERNAL and the $END macro’s will be written for each object in
the Listset, which is therefore called the ’sequential set’. In the format text itself, objects from the
PoolSet may be referenced directly by the ”ACC(x)” macro, which is replaced by the x’th object
in the PoolSet. The PoolSet is therefore called the ’random access set’. The ListSet or PoolSet
may be empty.
The command object that is normally reached by the macro ”DEF” in report forms will always
return the main DPL command that is running at the moment, even when the ’WriteOut’ call is
made in a DPL subscript.
Arguments:
int Landscape (optional) : Sets the page orientation used to calculate the number of lines fitting
on a printed page
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.
D- 287
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
set SLines,SLoads;
... fill SLines and SLoads ...
OvlReport.WriteOut(SLines, SLoads);
---------------------$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,
---------------------|
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 |
---------------------
D- 288
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.10.3.1 IntMat.ColLbl
Arguments:
int C (obligatory) : Number of the column index (first column has index 1)
Return value:
Example:
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);
D.10.3.2 IntMat.Get
Returns the (row, col) value from the matrix. An run-time error will occur when ’row’ or ’col’ are
out of range.
Arguments:
Return value:
Value in matrix.
Example:
int r,c,z,s,s1r,s2c;
double v1,v2,v;
s = M1.NCol();
r = M2.NRow();
if (s<>r) exit();
s1r = M1.NRow();
s2c = M2.NCol();
D- 289
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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;
}
D.10.3.3 IntMat.Init
Initializes the matrix with given size and values, regardless of the previous size and data.
Arguments:
double dInit (optional): All fields of the matrix will be initialised with this value. Matrix is initialized
with zero values if ommited.
Return value:
1: always
Example:
D.10.3.4 IntMat.Invert
int IntMat.Invert ()
Inverts a matrix. This operation is performed in memory only and therefore the modified matrix
is not updated in the database.
Arguments:
none
Return value:
D- 290
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Example:
int err;
err = Matrix.Invert();
if (err){
printf(Matrix (%o + I %o) is not invertible, matRe, matIm);
}else{
printf(Matrix (%o + I %o successfully inverted, matRe, matIm));
}
D.10.3.5 IntMat.Multiply
Multiplies 2 matrixes and stores the result in the matrix. This operation is performed in memory
only and therefore the modified matrix is not updated in the database.
Arguments:
Return value:
Example:
! for given matrixes ’mtrx A’, ’mtrx B’, mtrx AB
int err;
D.10.3.6 IntMat.NCol
int IntMat.NCol ()
Returns the number of columns in the matrix. The function ”NCol()” replaces the obsolete
function ”SizeY()”.
Arguments:
none
D- 291
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Return value:
Example:
D.10.3.7 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:
Example:
D.10.3.8 IntMat.Resize
Resizes the matrix to a given size. Existing values will not be changed. Added values will be
set to the optional value, otherwise to 0.
Arguments:
double dInit (optional) : Value for the initialisation of the additional fields of the matrix. Additional
fields are set to 0 if ommited.
Return value:
1: always
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) {
D- 292
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Mat.Resize(x,y);
}
v = Mat.Get(x,y);
D.10.3.9 IntMat.RowLbl
IntMat.RowLbl
string IntMat.RowLbl ([string S ,] int R)
Arguments:
int R (obligatory) : Number of the row index (first row has index 1)
Return value:
Example:
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);
D.10.3.10 IntMat.Set
Set the value at position (row,col) in the matrix to V. The matrix is automatically resized if nec-
essary.
Arguments:
Return value:
0 on success
Example:
D- 293
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.10.3.11 IntMat.SortToColumn
Sort the matrix alphanumerically according to a column, which is specified by the input param-
eter.
Arguments:
int ColumnIndex (obligatory) : The index of the column, which starts from 0.
Return value:
0: success
1: error. Original matrix was not changed.
Example:
int err;
int column;
column = 0;
err = mtrx.SortToColumn(column);
if (!err){
printf(Matrixes is sorted according to the column: %d\n., column);
}
D.10.4.1 IntMon.PrintVal
void IntMon.PrintVal ()
Arguments:
none
Return value:
D- 294
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
none
D.10.4.2 IntMon.PrintAllVal
void IntMon.PrintAllVal ()
Arguments:
none
Return value:
none
D.10.4.3 IntMon.NVars
int IntMon.NVars ()
Returns the number of selected variables or, more exact, the number of lines in the variable
selection text on the second page of the IntMon dialogue, which should contain one variable
name per line.
Arguments:
none
Return value:
D.10.4.4 IntMon.GetVar
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:
Return value:
D.10.4.5 IntMon.RemoveVar
Removes the variable ”name” from the list of selected variable names.
D- 295
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
Return value:
D.10.4.6 IntMon.ClearVars
int IntMon.ClearVars ()
Arguments:
none
Return value:
none
D.10.4.7 IntMon.AddVar
Arguments:
Return value:
none
D.10.5.1 IntThrating.GetRating
This function returns the rating in MW according to the thermal rating table, the input parameters
Preload and PostTime.
Arguments:
D- 296
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
double Preload (obligatory) : Preload in the load flow (for base case or post contingency case,
in %.
Return value:
Rating in MW according to the terminal rating table, the input parameters Preload and PostTime.
Example:
D.10.5.2 IntThrating.GetCriticalTimePhase
This function returns the smallest time phase for which the flow is beyond the rating. In case
that no rating is violated, the function should return -1.
Arguments:
double Flow(obligatory) : The active power in load flow calculation (base case or post contin-
gency case), in MW
Return value:
Smallest time phase for which the flow is beyond the rating.
-1: In case that no rating is violated.
Example:
printf(The critical time phase for which the active power %10.3f beyond
the loading (prefault loading %10.3f) is %10.3f, dFlow, dPrefaultloading,
dtime);
D- 297
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.10.6.1 IntUser.Purge
void IntUser.Purge ()
Arguments:
none
Return value:
none
D.10.6.2 IntUser.SetPassword
Sets the password for the user the function is called on.
Note: A normal user is allowed to set the password for himself only. The administrator user is
allowed to set passwords for every user.
Arguments:
Return value:
none
Example:
userman = GetUserManager();
!create a new user group
group = userman.CreateGroup(’Users’);
printf(’Group %o created.’, group);
!create users
for (i = 1; i <= 5; i+= 1){
name = sprintf(’User%d’, i);
user = userman.CreateUser(name);
!set password to user name (case sensitive!)
user.SetPassword(name);
printf(’User %o created.’, user);
!add user to newly created group
obj = group.CreateObject(’IntRef’);
obj:obj id = user;
}
D- 298
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.10.7.1 IntUserman.GetGroups
set IntUserman.GetGroups ()
Arguments:
none
Return value:
Example:
set users, groups;
object user, group, userman;
userman = GetUserManager();
!listing of all groups
printf(’Existing Groups:’);
groups = userman.GetGroups();
for (group = groups.First(); group; group = groups.Next()){
printf(’ %o’, group);
!list users of that group
users = group.GetContents();
for (user = users.First(); user; user = users.Next()){
printf(’ - %o’, user:obj id);
}
}
printf(’\n\n’);
!listing of all users
printf(’Existing Users:’);
users = userman.GetUsers();
for (user = users.First(); user; user = users.Next()){
printf(’ %o’, user);
}
D.10.7.2 IntUserman.GetUsers
set IntUserman.GetUsers ()
D- 299
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
Example:
D.10.7.3 IntUserman.CreateGroup
Arguments:
Return value:
Example:
D- 300
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
string name;
userman = GetUserManager();
!create a new user group
group = userman.CreateGroup(’Users’);
printf(’Group %o created.’, group);
!create users
for (i = 1; i <= 5; i+= 1){
name = sprintf(’User%d’, i);
user = userman.CreateUser(name);
!set password to user name (case sensitive!)
user.SetPassword(name);
printf(’User %o created.’, user);
!add user to newly created group
obj = group.CreateObject(’IntRef’);
obj:obj id = user;
}
D.10.7.4 IntUserman.CreateUser
Arguments:
Return value:
Example:
!create users
for (i = 1; i <= 5; i+= 1){
name = sprintf(’User%d’, i);
user = userman.CreateUser(name);
!set password to user name (case sensitive!)
user.SetPassword(name);
printf(’User %o created.’, user);
!add user to newly created group
obj = group.CreateObject(’IntRef’);
D- 301
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
obj:obj id = user;
}
D.10.8.1 IntVec.Get
Arguments:
Return value:
Value at index i.
Example:
The following example adds two vectors.
int i,j;
double v1,v2;
i = Vec1.Size();
j = Vec2.Size();
if (i<>j) {
output(’invalid operation’);
exit();
}
Vec3.Init(i);
i=1;
while (i<=j) {
v1 = Vec1.Get(i);
v2 = Vec2.Get(i);
Vec3.Set(i,v1+v2);
i+=1;
}
D.10.8.2 IntVec.Set
D- 302
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Arguments:
Return value:
0 on success
Example:
D.10.8.3 IntVec.Init
Initializes the vector. Sets the length to Size and all values to 0.
Arguments:
Return value:
0 on success
Example:
D.10.8.4 IntVec.Resize
Arguments:
none
Return value:
0 on success
Example:
int i,s;
i = 5;
s = Vec.Size();
if (i>s) {
Vec.Resize(i);
}
D- 303
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Vec.Set(i,V);
See also
Data Container
D.10.8.5 IntVec.Size
int IntVec.Size ()
Arguments:
none
Return value:
Example:
D.11.0.6 ddeOpen
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 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
D- 304
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
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;
D.11.0.7 ddeClose
void ddeClose()
Arguments:
none
Return value:
none
Example:
The following example establishes a DDE link to topic named ’System’ of Excel and closes the
connection if successfully established.
int ierr;
D.11.0.8 ddeExe
D- 305
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
Starts command in the currently opened topic. A command can be a visual basic command,
too. Commands are usually sent to the topic named ’System’.
Arguments:
Return value:
<0 if the dde connection was not established before calling ddeExe, =0 if ddeExe successfully
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;
D.11.0.9 ddePoke
Arguments:
string sItem: the item receiving the data. Examples for an item are a cell in excel or a named
bookmark in word.
Return value:
D- 306
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
<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 Excel. It
is assumed that Excel is already running when starting the dpl command.
int ierr, i;
double x,y,z;
string s,s1,s2;
D- 307
DIgSILENT PowerFactory APPENDIX D. DPL REFERENCE
D.11.0.10 ddeRequest
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 number,
return value=2)
Return value:
<0 if the dde connection was not established before calling ddeRequest, =0 if the ddeRequest
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.
D- 308
Appendix E
When more than just the variable name, value and unit has to be displayed, if the use colors is
preferred, or other special formats, the DIgSILENT Output Language can be used.
By selecting the Text Editor input mode, all entries on first page of the Form Editor disappear,
except for the form name, and the editor on the second page is activated (see Figure E.0.1).
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 gen-
erated. 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 extra’s such as the
number of decimals and if an unit or name should be shown. These options will automatically
create a report form. That automatic form is normally used as it is, but it may be altered manu-
ally. This is shown in Figure E.0.1, where report format is changed such that the variable name
1
DIgSILENT PowerFactory APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
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 boxes 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 objects 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 DIgSILENT output language
offers all this, and more.
The basic syntax, which is primary used for defining result boxes is given in the following
overview.
E.1 Placeholders
A placeholder for strings like variable names or whole numbers is a single ’#’-sign. For real
numbers, the placeholder consists of
E- 2
DIgSILENT PowerFactory APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
• 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 ’\#’.
The variable name can be used to display the name of the variable, its value or its unit. The
possible formats are (’xxx’ = name of variable):
The centering code — may be used in front of the formatting code for centering at the place-
holder, for example "|%.60,TITLE:sub1z".
|#|$N,:loc name
will output
|aElmSym|.
The cformat string may be used to alternatively reserve place for a value or text. A cformat
of ’%10.3’ will reserve 10 characters for a number with 3 decimals. The first number can be
omitted for text: ’%.6’ will reserve 6 characters for the text field. The cformat syntax allows for
centering text by adding the ’—’-sign to the ’%’-sign:
{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.
OBJECT(cls)
Gets Element of class cls. Used to access a variable name or unit without actually ac-
cessing such an object. Used in header lines.
E- 3
DIgSILENT PowerFactory APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
argument
cls (obligatory): The name of the class
example:
[OBJECT(ElmTerm):m: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
CUBIC(idx)
argument
idx: index of branch, the currently set bus index is used when idx¡0
example:
CUBIC(0):e:loc name
TITLE
Gets the title that is set in the output command (ComSh or ComDocu)
example:
TITLE:e:annex
VARIANT
example:
VARIANT:e:loc name
NET
example:
NET:e:loc name
CMD
Returns the last calculation command, i.e. a Short-Circuit (ComShc), Load-flow (ComLdf ),...
E- 4
DIgSILENT PowerFactory APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
example:
CMD:pabs
CASE
example:
CASE:e:loc name
DEF
Returns the default object. The default object depends on the currently processed output.
example:
DEF:e:loc name
STALNE
Returns the station if the current object is a busbar. Returns a line if the current object
is a terminal between line routes. Otherwise, nothing is returned, and the entry will be
ignored.
example:
STALNE:e:locname
RES
Returns the currently active results object (ElmRes) used by simulation, harmonics or
other calculation modules
example:
RES:e:desc
E.3 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.
E- 5
DIgSILENT PowerFactory APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
a black i gray
b black j lightgray
c red k bordeaux
d green l darkred
e blue m darkgreen
f brown n lightgreen
g cyan o marine
h magenta p darkblue
A single item can be colored by using the ’ COLOR(Variable name; color code)’.
The advanced syntax is mainly used for writing forms for larger and more complex reports. An
example is a short-circuit result form, which lists all the short-circuit parameters for all busbars
and for each busbar for all connected elements.
The character ’$’ ends a format line. A line without this ending will be interpreted as a normal
’$N’ line type. The following line type are available:
The line type ’$H’, ’$F’ and ’$T’ will be treated as normal (’$N’) line types when used inside a
loop command. Line type codes may be made language dependent by adding a ’E’, for English
lines or a ’G’ for German lines, i.e. ’$HG’ specifies a German header line.
The following commands are used for page and line controls. They can only be used directly
behind the line type codes ’$N’, ’$F’ or ’$H’.
OBJ(ClsNam) The current line will only be used for objects from the class ”ClsNam”.
E- 6
DIgSILENT PowerFactory APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
BUS(inum) The current line will only be used for objects which connect to exactly inum nodes
FIRST The current line will only be used when the loop index is 0 (first passage)
NFIRST The current line will only be used when the loop index is not 0 (all but the first pas-
sages)
IF(boolean expression) The current line will only be written when the expression is true. Ex-
ample: 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, ..
DATE(c) present date: c=’e’ give the English format, c=’g’ the German one.
TIME present time
VERSION version number of the DIgSILENT PowerFactory software.
BUILD build number of the DIgSILENT PowerFactory software.
CLS class name without the ’Elm’, ’Sta’, ’Typ’, etc. part.
ANNEX the annex number
NGB neighborhood depth
TEXT(E — text;G — Text) language dependent text (E=English, G=German)
E- 7
DIgSILENT PowerFactory APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
To create a report that creates a table with the voltages for all busbars, command are needed to
filter the busbar objects and to create a loop that outputs a line of text for each busbar. A loop
or filter command consists of the following parts:
E- 8
Appendix F
F.1 Introduction
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 define 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.
The general definitions of the symbols are given in the ’General’ page of the object’s dialogue.
Symbol Description
The description of a symbol is shown in the list of symbols when ”Show Layer. . . ” is used
and a symbol has to be selected on the page ”Configuration”
Object Type
Class name of the element which shall be represented.
Type of Representation
Branch or node object
ID
The icon ID of the icons from the graphic toolbar. If this value is set the symbol will be
used when a new element is inserted. In case of ’0’ the symbol will not be used as default.
Width/Height
The width and height is defines the range of the fang. The marking of an element in the
graphic makes this range visible.
Visible
Visibility of the symbol
Mirror
Defines if the symbol can be mirror (right mouse button entry)
1
DIgSILENT PowerFactory APPENDIX F. ELEMENT SYMBOL DEFINITION
Allow Moving
Allows moving in graphic
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 con-
nection 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.
The geometrical description of the symbol is given in the ’Geometry’ page of the dialogue. The
geometry can be specified by means of geometrical primitives in the ’Geometrical Components
and Attributes’ field.
Circle (C,iStyle,rWidth,iFill,iColor,iRsz,nPts,rMx,rMy,rPx,rPy)
Defines a Circle by the center (rMx, rMy) and a point on the edge (rPx,rPy). Parameter
nPts must be 2.
Arc (A,iStyle,rWidth,iFill,iColor,iRsz,nPts,rMx,rMy,rPx1,rPy1,rPx2,rPy2)
Defines an arc by the center (rMx,rMy) and 2 points (rPx1,rPy1) (rPx2,rPy2) on the edge,
drawn clockwise. nPts must be set to 3.
Polyline (L, iStyle,rWidth,iFill,iColor,iRsz,iRot,nPts,rPx,rPy)
Defines an open polygonal line with nPts points. rPx andrPy are the coordinates of peg
points. iRot can be defined as:
n → random
y → only rotatable to the bottom and the right (used in symbols)
Polygon (G, iStyle,rWidth,iFill,iColor,iRsz,nPts {,rPx,rPy})
Defines a closed polygonal line with nPts points. rPx and rPy are coordinates of peg points
F- 2
DIgSILENT PowerFactory APPENDIX F. ELEMENT SYMBOL DEFINITION
F- 3
DIgSILENT PowerFactory APPENDIX F. ELEMENT SYMBOL DEFINITION
1 = shift only
2 = keep ratio
3 = resizable in any direction
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)
Graphic files in WMF and bitmap format can be selected as ”Symbol File”. The definitions of
the geometrical primitives are not used if a ”Symbol File” is defined.The picture will be adapted
to the size of symbol in the single line diagram. After selection of a WMF file in the top entry
field for the Symbol File (not rotated) a button ”Create all other files” appears which allows to
create 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.
F- 4
Appendix G
1
DIgSILENT PowerFactory APPENDIX G. STANDARD FUNCTIONS DPL AND DSL
These functions are present in both DPL and DSL, click on the link to go to the corresponding
chapter.
G- 2
Bibliography
[1] IEEE std. c37.010 IEEE Application Guide for AC High-Voltage Circuit Breakers Rated on
a Symmetrical Current Basis, 1979.
[2] IEEE std. c37.5 IEEE Guide for calculation of Fault Currents for Application of AC High-
Voltage Circuit Breakers Rated on a Total Current Basis, 1979.
[3] IEEE std. 242. IEEE Recommended Practice for Protection and Coordination of Industrial
and Comercial Power Systems. Buff Book, 1986.
[4] IEEE std. c37.13 IEEE Standard for Low Voltage Power Circuit Breakers Used in Enclo-
sures, 1990.
[5] IEEE std. 141. IEEE Recommended Practice for Electric Power Distribution for Industrial
Power Plants. Red Book, 1993.
[6] IEC 1000-3-6 Electromagnetic Compatibility (EMC) - Part 3: Limits - Section 6: Assess-
ment of emission limits for distorting loads in MV and HV power systems - Basic EMC
publication, 1996.
[7] IEC 61363-1 Electrical installations of ships and mobile and fixed offshore units - Part 1:
Procedures for calculating short-circuit currents in three-phase a.c., 1998.
[8] IEC 60076-5 Power transformers - Part 5: Ability to withstand short circuit, 200.
[9] IEC 60909 Short-circuit currents in three-phase A.C. systems, 2001.
[10] IEC 1000-4-15 Electromagnetic Compatibility (EMC) - Part 4: Testing and measurement
techniques - Section 15: Flickemeter - Functional and desing specifications, 2003.
[11] IEC 61400-21 Wind turbines - Part 21: Measurement and assessment of power quality
characteristics of grid connected wind turbines, 2008.
[12] IEEE. IEEE 1584-2002. Guide for Performing Arc-Flash Hazard Calculations.
[13] R. L.Heinhold. Kabel und Leitungen fuer Starkstrom. Pirelli Kabel und Systeme GmbH &
Co, 2005.
[14] NFPA. NFPA 70E. Standard for Electrical Safety. Requirements for Employee Workplaces.
2000 Edition.
1
Index
2
DIgSILENT PowerFactory INDEX
G- 3
DIgSILENT PowerFactory INDEX
G- 4
DIgSILENT PowerFactory INDEX
G- 5
DIgSILENT PowerFactory INDEX
G- 6
DIgSILENT PowerFactory INDEX
G- 7
DIgSILENT PowerFactory INDEX
G- 8
DIgSILENT PowerFactory INDEX
G- 9
DIgSILENT PowerFactory INDEX
G- 10
DIgSILENT PowerFactory INDEX
G- 11
DIgSILENT PowerFactory INDEX
G- 12
DIgSILENT PowerFactory INDEX
G- 13
DIgSILENT PowerFactory INDEX
G- 14
DIgSILENT PowerFactory INDEX
G- 15
DIgSILENT PowerFactory INDEX
G- 16
DIgSILENT PowerFactory INDEX
SetXVar, 128
VisPlot2, 38
VisPlottz, 57
VisValue, 55
VisXvalue, 58
VisXZPlot, 38
Voltage Profile Plot
Creating a Voltage Profile Plot, 43
Custumizing a Voltage Profile Plot, 44
Interpreting a Voltage Profile Plot, 44
Voltage Sag, 1
Advanced Options, 3
Basic Options, 2
Results, 4
Warn, 78
Waveform Plot, 20
while(){}
DPL, 9
Write, 79
Zone, 11
G- 17