You are on page 1of 1102

PowerFactory

User’s Manual
DIgSILENT PowerFactory
Version 14.0

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

Please visit our homepage at:


http://www.digsilent.de

Copyright DIgSILENT GmbH.


All rights reserved. No part of this
publication may be reproduced or
distributed in any form without per-
mission of the publisher
July 2010
DIgSILENT PowerFactory User’s Manual

Contents

General Information

Welcome 1-1

DIgSILENT Contact and Support 2-1

About this Guide 3-1
3.1 The PowerFactory User’s Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1
3.2 Used Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2
3.3 The PowerFactory Help System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3

PowerFactory Overview 4-1
4.1 General Concept . . . . . . . . . . . . . . . . . . . ...... . ...... ... . . . . . . . . .4-1
4.2 PowerFactory Simulation Functions . . . . . . ...... . ...... ... . . . . . . . . .4-2
4.3 General Design of PowerFactory . . . . . . . . ...... . ...... ... . . . . . . . . .4-3
4.4 Data Arrangement . . . . . . . . . . . . . . . . . . ...... . ...... ... . . . . . . . . .4-4
4.5 User Interface . . . . . . . . . . . . . . . . . . . . . ...... . ...... ... . . . . . . . . .4-6
4.5.1 Menu Bar . . . . . . . . . . . . . . . . . . . ...... . ...... ... . . . . . . . . .4-9
4.5.2 Main Toolbar . . . . . . . . . . . . . . . . . ...... . ...... ... . . . . . . . . .4-9
4.5.3 The Output Window. . . . . . . . . . . . ...... . ...... ... . . . . . . . .4-13
4.6 Getting Help . . . . . . . . . . . . . . . . . . . . . . ...... . ...... ... . . . . . . . .4-18

Program Setting, Logging on and User Accounts 5-1
5.1 Program Configurations and Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1
5.2 The Log-on Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1
5.2.1 Log On Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2
5.2.2 License Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3
5.2.3 Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4
5.2.4 Database Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5
5.2.5 Advanced Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5
5.2.6 Appearance Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5
5.3 User Accounts and User Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5
5.3.1 PowerFactory Database Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6
5.3.2 The Database Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6
5.3.3 Creating and Managing User Accounts . . . . . . . . . . . . . . . . . . . . . . . .5-7
5.3.4 Creating User Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8
5.3.5 The Demo Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8

i
DIgSILENT PowerFactory User’s Manual


User Settings 6-1
6.1 General Settings . . . . . . . . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-1
6.2 Graphic Windows Settings . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-2
6.3 Data Manager Settings . . . . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-4
6.4 Output Window Settings. . . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-5
6.5 Functions Settings . . . . . . . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-5
6.6 Directories . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-6
6.7 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-6
6.8 Station Ware . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . .... . . . . . . . . . . 6-7

The PowerFactory Data Model 7-1
7.1 Database, Objects and Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.2 PowerFactory Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.2.1 The Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.2.2 The Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
7.2.3 Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
7.2.4 Study Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
7.2.5 Changed Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
7.3 The Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
7.3.1 Network Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
7.3.2 Network Topology Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
7.3.3 Network Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
7.3.4 Variations and Expansion Stages . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
7.4 The Equipment Type Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19
7.5 The Operational Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20
7.5.1 Circuit Breaker Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21
7.5.2 Demand Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
7.5.3 Faults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
7.5.4 Capability Curves for Generators. . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
7.5.5 Outages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
7.5.6 Running Arrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
7.5.7 Thermal Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30
7.6 The Templates Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
7.7 Parameter Characteristics and Parametric Studies . . . . . . . . . . . . . . . . . . . . 7-31
7.8 DIgSILENT Programming Language (DPL) Scripts . . . . . . . . . . . . . . . . . . . . 7-32

General Information about Analyses in PowerFactory 8-1
8.1 Calculation Commands in PowerFactory . . . . . . . . . . . .. . . . . . . . . . . . . . . . 8-1
8.2 Edit relevant Objects for Calculation . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 8-2
8.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 8-3
8.4 Comparisons Between Calculations . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 8-3
8.4.1 Editing a Set Of Comparison Cases . . . . . . . . . .. . . . . . . . . . . . . . . . 8-4
8.4.2 Update Database . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 8-5

ii
DIgSILENT PowerFactory User’s Manual

Handling

Basic Project Definition 9-1
9.1 Defining and Configuring a Project. . . . . . . . . .... . ......... . . . . . . . . .9-1
9.1.1 The Project Edit Dialogue . . . . . . . . . . .... . ......... . . . . . . . . .9-3
9.1.2 Project Settings . . . . . . . . . . . . . . . . . .... . ......... . . . . . . . . .9-4
9.1.3 Activating and Deactivating Projects . . .... . ......... . . . . . . . . .9-5
9.1.4 Exporting and Importing of Projects . . .... . ......... . . . . . . . . .9-6
9.2 Creating New Grids . . . . . . . . . . . . . . . . . . . .... . ......... . . . . . . . . .9-6

The Graphics Editor 10-1
10.1 Defining Network Models with the Graphical Editor . . . . . . . . . . . . . . . . . .10-1
10.1.1 Adding New Power System Elements . . . . . . . . . . . . . . . . . . . . . . .10-1
10.1.2 Drawing Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
10.1.3 Drawing Branch Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-4
10.1.4 Marking and Editing Power System Elements . . . . . . . . . . . . . . . . .10-5
10.1.5 Interconnecting Power Subsystems . . . . . . . . . . . . . . . . . . . . . . . . 10-6
10.1.6 Working with Substations in the Graphical Editor . . . . . . . . . . . . . . 10-9
10.1.7 Working with Branches in the Graphical Editor . . . . . . . . . . . . . . . 10-10
10.1.8 Working with Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
10.1.9 Defining and Working with Transmission Lines . . . . . . . . . . . . . . . 10-13
10.1.10 Working with Single Phase Elements . . . . . . . . . . . . . . . . . . . . . 10-15
10.2 Graphic Windows and Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . 10-15
10.2.1 Network Diagrams and Graphical Pages . . . . . . . . . . . . . . . . . . . . 10-16
10.2.2 Active Graphics, Graphics Board and Study Cases . . . . . . . . . . . . . 10-17
10.2.3 Single Line Graphics and Data Objects . . . . . . . . . . . . . . . . . . . . . 10-18
10.2.4 Editing and Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19
10.2.5 Creating New Graphic Windows. . . . . . . . . . . . . . . . . . . . . . . . . . 10-21
10.3 Basic Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22
10.3.1 The Page Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22
10.3.2 The Drawing Toolboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23
10.3.3 The Active Grid Folder (Target Folder) . . . . . . . . . . . . . . . . . . . . . 10-23
10.4 Drawing Diagrams with already existing Network Elements . . . . . . . . . . . 10-24
10.4.1 Drawing Existing Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24
10.4.2 Drawing Existing Lines, Switch Gears and Transformers. . . . . . . . . 10-25
10.4.3 Building Single line Diagram from Imported Data . . . . . . . . . . . . . 10-25
10.4.4 Creating a new substation in an Overview Diagram . . . . . . . . . . . . 10-28
10.4.5 Show Detailed Substation Graphic . . . . . . . . . . . . . . . . . . . . . . . . 10-29
10.5 Drawing of Network Components from Templates or Predefined Objects . . 10-29
10.6 Graphic Commands, Options and Settings. . . . . . . . . . . . . . . . . . . . . . . . 10-30
10.6.1 General Commands and Settings . . . . . . . . . . . . . . . . . . . . . . . . . 10-30
10.6.2 Commands and Settings for Block Diagrams and Single Line Graphics10-37
10.6.3 Commands and Settings for Single Line Graphics . . . . . . . . . . . . . 10-38
10.6.4 Graphic Layers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-41
10.6.5 Color Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-45
10.6.6 The Title Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-46
10.6.7 The Legend Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-46
10.6.8 Editing and Changing Symbols of Elements . . . . . . . . . . . . . . . . . 10-46
10.7 Result Boxes-Text Boxes and Labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-47
10.7.1 General Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-47
10.7.2 Editing Result Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48

iii
DIgSILENT PowerFactory User’s Manual

10.7.3 Formatting Result Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-51


10.7.4 Text Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-51
10.7.5 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-51

The Data Manager 11-1
11.1 Using the Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
11.1.1 Moving Around in the Database Tree. . . . . . . . . . . . . . . . . . . . . . . 11-3
11.1.2 Adding New Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
11.1.3 Deleting an Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6
11.1.4 Cut, Copy, Paste and Move Objects . . . . . . . . . . . . . . . . . . . . . . . . 11-6
11.1.5 The Data Manager Message Bar . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
11.1.6 Additional Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
11.2 Defining Network Models with the Data Manager . . . . . . . . . . . . . . . . . . . 11-8
11.2.1 Defining New Network Components in the Data Manager . . . . . . . . 11-9
11.2.2 Connecting Network Components in the Data Manager . . . . . . . . . . 11-9
11.2.3 Defining Substations in the Data Manager . . . . . . . . . . . . . . . . . . . 11-9
11.2.4 Defining Branches in the Data Manager . . . . . . . . . . . . . . . . . . . . 11-10
11.2.5 Defining Sites in the Data Manager . . . . . . . . . . . . . . . . . . . . . . . 11-11
11.2.6 Editing Network Components using the Data Manager . . . . . . . . . 11-11
11.3 Searching for Objects in the Data Manager. . . . . . . . . . . . . . . . . . . . . . . 11-12
11.3.1 Sorting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12
11.3.2 Searching by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13
11.3.3 Using Filters for Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13
11.4 Editing Data Objects in the Data Manager . . . . . . . . . . . . . . . . . . . . . . . 11-16
11.4.1 Editing in Object Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-17
11.4.2 Editing in "Detail'' Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-17
11.4.3 Copy and Paste while Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-19
11.5 The Flexible Data Page Tab in the Data Manager . . . . . . . . . . . . . . . . . . 11-20
11.5.1 Customizing the Flexible Data Page. . . . . . . . . . . . . . . . . . . . . . . 11-21
11.6 The Input Window in the Data Manager. . . . . . . . . . . . . . . . . . . . . . . . . 11-22
11.6.1 Input Window Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-22
11.7 Save and Restore Parts of the Database. . . . . . . . . . . . . . . . . . . . . . . . . 11-23
11.7.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-24
11.8 Spreadsheet Format Data Import/Export . . . . . . . . . . . . . . . . . . . . . . . . 11-25
11.8.1 Export to Spreadsheet Programs (e. g. MS EXCEL) . . . . . . . . . . . . 11-25
11.8.2 Import from Spreadsheet Programs (e. g. MS EXCEL) . . . . . . . . . . 11-26

Grouping Objects 12-1
12.1 Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2 Virtual Power Plants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2.1 Defining and Editing a New Virtual Power Plant . . . . . . . . . . . . . . . 12-2
12.2.2 Applying a Virtual Power Plant . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
12.2.3 Inserting a Generator into a Virtual Power Plant and Defining its Virtual Power
Plant Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
12.3 Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-4
12.4 Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-6
12.5 Feeders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-6
12.6 Network Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
12.7 Network Owners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
12.8 Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9

iv
DIgSILENT PowerFactory User’s Manual

12.9 Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9



Study Cases 13-1
13.1 Creating and Using Study Cases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
13.2 Summary Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3
13.3 Study Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-3
13.4 The Study Case Edit Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-4
13.5 Variation Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-6
13.6 Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6
13.7 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-6
13.8 Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-7
13.8.1 Switching Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
13.8.2 Set Parameter Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
13.8.3 Short-Circuit Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
13.8.4 Intercircuit Fault Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-8
13.8.5 Events of Synchronous Machines . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
13.8.6 Events of Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-9
13.8.7 Outage of Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-9
13.8.8 Save Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-9
13.9 Results Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9
13.10 Variable Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-11
13.11 Triggers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12
13.12 Graphic Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12

The Equipment Type Library 14-1

The Operational Library 15-1
15.1 Circuit Breaker Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
15.2 Demand Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-2
15.3 Fault Cases and Fault Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-3
15.4 Capability Curves (MVAr Limit Curves) for Generators . . . . . . . . . . . . . . . . 15-4
15.4.1 Creating a New Capability Curve Object . . . . . . . . . . . . . . . . . . . . .15-4
15.4.2 Applying a Capability Curve from the Operational Library . . . . . . . . .15-5
15.4.3 Defining an MVAr Limits Curve . . . . . . . . . . . . . . . . . . . . . . . . . . .15-5
15.4.4 Editing a Capability Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-5
15.4.5 Defining a Variation of an MVAr Limits Curve . . . . . . . . . . . . . . . . .15-6
15.4.6 Activating a Variation of an MVAr Limits Curve . . . . . . . . . . . . . . . . 15-6
15.5 Element Outages and Generator Deratings . . . . . . . . . . . . . . . . . . . . . . . . 15-6
15.6 Running Arrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-8
15.6.1 Creating a Running Arrangement. . . . . . . . . . . . . . . . . . . . . . . . . . 15-8
15.6.2 Selecting a Running Arrangement . . . . . . . . . . . . . . . . . . . . . . . . .15-9
15.6.3 Applying and Resetting a Running Arrangement . . . . . . . . . . . . . . 15-10
15.6.4 Assigning a Running Arrangement . . . . . . . . . . . . . . . . . . . . . . . . 15-11
15.7 Thermal Ratings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-11

v
DIgSILENT PowerFactory User’s Manual


Operation Scenarios 16-1
16.1 Operation Scenario Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2
16.2 Storage of Operational Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
16.3 Creating a New Operation Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
16.4 Activating Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-10
16.5 Saving Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-11
16.6 Deactivating Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13
16.7 Performing Actions on Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . 16-13
16.8 Applying Operational Data from Operation Scenarios. . . . . . . . . . . . . . . . 16-14
16.9 Reporting Information about Operation Scenarios . . . . . . . . . . . . . . . . . . 16-15
16.10 Copying a Subset of an Operation Scenario to Another Operation Scenario16-15
16.11 Comparing Two Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 16-16

Network Variations and Expansion Stages 17-1
17.1 Basic Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1
17.2 Creating New Variations and Expansion Stages . . . . . . . . . . . . . . . . . . . . . 17-2
17.3 Activating Variations and Expansion Stages . . . . . . . . . . . . . . . . . . . . . . . 17-3
17.4 Conflicts During Activation of Variations . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
17.5 Deleting an Expansion Stage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
17.6 Displaying the Activation Times of Expansion Stages . . . . . . . . . . . . . . . . . 17-5
17.7 Editing the Activation Times of Expansion Stages . . . . . . . . . . . . . . . . . . . 17-5
17.8 The Recording Expansion Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
17.9 Setting a Expansion Stage as the Recording Stage . . . . . . . . . . . . . . . . . . 17-6
17.10 Displaying the Recording Expansion Stage in the Status Bar. . . . . . . . . . . 17-6
17.11 Checking/Editing the Study Time (Date/Time of the Calculation Case). . . . 17-6
17.12 The Variation Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6
17.13 Comparing Variations and Expansion Stages . . . . . . . . . . . . . . . . . . . . . . 17-8
17.14 Splitting Expansion Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-9
17.15 Applying Expansion Stages Changes . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10
17.16 Consolidation of Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10
17.17 Coloring Variations and their Changes from within the Single Line Graphic17-10

Parameter Characteristics 18-1
18.1 Defining Scalar Characteristics . . . . . . . . . . . . . . . . ....... . . . . . . . . . 18-1
18.2 Defining Discrete Time Characteristics . . . . . . . . . . . ....... . . . . . . . . . 18-2
18.3 Defining Discrete Parameter Characteristics . . . . . . . ....... . . . . . . . . . 18-3
18.4 Defining Continuous Parameter Characteristics . . . . . ....... . . . . . . . . . 18-5
18.5 Defining Frequency Parameter Characteristics . . . . . ....... . . . . . . . . . 18-7
18.6 Defining Time Parameter Characteristics . . . . . . . . . ....... . . . . . . . . . 18-7
18.7 Defining Two-dimensional Parameter Characteristics . ....... . . . . . . . . . 18-8
18.8 Importing Parameter Characteristics from Files . . . . . ....... . . . . . . . . 18-10
18.9 Handling Scales and Characteristics . . . . . . . . . . . . . ....... . . . . . . . . 18-11

Defining Variable Sets 19-1
19.1 The Variable Set Monitor Dialogue. . . . . .. . . . . . . .. . . . . . . . . . . . . . . . 19-1
19.2 Searching the Variables to Monitor . . . . .. . . . . . . .. . . . . . . . . . . . . . . . 19-3
19.3 Examples of Variable Selection . . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . 19-4
19.4 Selecting the Bus to be Monitored . . . . . .. . . . . . . .. . . . . . . . . . . . . . . 19-10

vi
DIgSILENT PowerFactory User’s Manual


Reporting Results in PowerFactory 20-1
20.1 Virtual Instruments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1
20.1.1 Virtual Instrument Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-3
20.1.2 Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
20.1.3 The Vector Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-19
20.1.4 The Voltage Profile Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-22
20.1.5 Schematic Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-24
20.1.6 The Waveform Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-25
20.1.7 The Curve-Input Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-27
20.1.8 Embedded Graphic Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-30
20.1.9 Tools for Virtual Instruments. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-31
20.1.10 User-Defined Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-41
20.2 Results, Graphs and Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-45
20.2.1 Result Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-45
20.2.2 The Form Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-48
20.2.3 The DIgSILENT Output Language . . . . . . . . . . . . . . . . . . . . . . . . 20-50
20.2.4 The Output of Device Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-57
20.2.5 Output of Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-60

Data Management 21-1
21.1 Project Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1
21.1.1 Creating a New Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-2
21.1.2 Rollback Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-3
21.1.3 Checking Dependencies of a Version . . . . . . . . . . . . . . . . . . . . . . . 21-3
21.1.4 Deleting a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-3
21.2 Derived Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-4
21.3 Comparing and Merging Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-7
21.4 Project Baselining. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
21.5 Sharing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10

Power System Analysis Functions



Load Flow Analysis 22-1
22.1 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-2
22.1.1 Network Representation and Calculation Methods . . . . . . . . . . . . . .22-2
22.1.2 Active and Reactive Power Control. . . . . . . . . . . . . . . . . . . . . . . . . 22-5
22.1.3 Load Flow Analysis of Low Voltage Systems . . . . . . . . . . . . . . . . . .22-6
22.2 Executing Load Flow Calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-6
22.3 Load Flow Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-7
22.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-7
22.3.2 Active Power Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-9
22.3.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-10
22.3.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-12
22.3.5 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-13
22.3.6 Low Voltage Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-14
22.3.7 Advanced Simulation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-15
22.4 Troubleshooting Load Flow Calculations . . . . . . . . . . . . . . . . . . . . . . . . . 22-16

vii
DIgSILENT PowerFactory User’s Manual

22.5 Load Flow Sensitivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-17


22.5.1 Load Flow Sensitivities Options . . . . . . . . . . . . . . . . . . . . . . . . . . 22-18
22.5.2 Load Flow Sensitivities Execution and Results. . . . . . . . . . . . . . . . 22-19
22.5.3 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-20

Short-Circuit Analysis 23-1
23.1 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . 23-1
23.1.1 The Complete Method . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . 23-3
23.1.2 The IEC 60909/VDE 0102 Method . . . . . . . . . . . . .... . . . . . . . . . 23-5
23.2 Executing Short-Circuit Calculations . . . . . . . . . . . . . . . . .... . . . . . . . . . 23-7
23.2.1 Toolbar/Main Menu Execution. . . . . . . . . . . . . . . .... . . . . . . . . . 23-7
23.2.2 Context-Sensitive Menu Execution. . . . . . . . . . . . .... . . . . . . . . . 23-8
23.2.3 Faults on Busbars/Terminals. . . . . . . . . . . . . . . . .... . . . . . . . . . 23-8
23.2.4 Faults on Lines and Branches . . . . . . . . . . . . . . . .... . . . . . . . . . 23-9
23.2.5 Multiple Faults Calculation . . . . . . . . . . . . . . . . . .... . . . . . . . . 23-10
23.3 Short-Circuit Calculation Options . . . . . . . . . . . . . . . . . . .... . . . . . . . . 23-12
23.3.1 Basic Options (All Methods) . . . . . . . . . . . . . . . . .... . . . . . . . . 23-12
23.3.2 Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . 23-15
23.3.3 Basic Options (IEC 60909/VDE 0102 Method). . . . .... . . . . . . . . 23-16
23.3.4 Advanced Options (IEC 60909/VDE 0102 Method) .... . . . . . . . . 23-17
23.3.5 Basic Options (ANSI C37 Method) . . . . . . . . . . . . .... . . . . . . . . 23-20
23.3.6 Advanced Options (ANSI C37 Method). . . . . . . . . .... . . . . . . . . 23-22
23.3.7 Basic Options (Complete Method) . . . . . . . . . . . . .... . . . . . . . . 23-23
23.3.8 Advanced Options (Complete Method). . . . . . . . . .... . . . . . . . . 23-25
23.3.9 Basic Options / Advanced Options (IEC 61363) . . .... . . . . . . . . 23-26

Harmonics Analysis 24-1
24.1 Harmonic Load Flow. . . . . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-2
24.1.1 Basic Options . . . . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-2
24.1.2 Advanced Options . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-4
24.2 Frequency Sweep . . . . . . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-4
24.2.1 Basic Options . . . . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-5
24.2.2 Advanced Options . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-6
24.3 Filter Analysis . . . . . . . . . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-6
24.4 Modelling Harmonic Sources . . . . . . . . . . ... . . . . . ....... . . . . . . . . . 24-8
24.4.1 Harmonic Distortion Results . . . . . ... . . . . . ....... . . . . . . . . . 24-9
24.4.2 Magnitudes and Phase values . . . . ... . . . . . ....... . . . . . . . . 24-11
24.4.3 Frequency Dependent Parameters. ... . . . . . ....... . . . . . . . . 24-12
24.4.4 Waveform Plot . . . . . . . . . . . . . . ... . . . . . ....... . . . . . . . . 24-14
24.5 Definition of Result Variables . . . . . . . . . ... . . . . . ....... . . . . . . . . 24-15

Stability and EMT Simulations 25-1
25.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . . . . 25-2
25.2 Calculation Methods . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . . . . 25-3
25.2.1 Balanced RMS Simulation . . . . . . . . . . . . . . . .... . . . . . . . . . . . . 25-3
25.2.2 Three-Phase RMS Simulation . . . . . . . . . . . . .... . . . . . . . . . . . . 25-3
25.2.3 Three-Phase EMT Simulation . . . . . . . . . . . . .... . . . . . . . . . . . . 25-4
25.3 Setting Up a Simulation . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . . . . 25-4
25.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . . . . 25-6
25.3.2 Step Sizes. . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . . . . 25-7

viii
DIgSILENT PowerFactory User’s Manual

25.3.3 Step Size Adaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25-8


25.3.4 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-9
25.3.5 Noise Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-11
25.3.6 Advanced Simulation Options - Load Flow . . . . . . . . . . . . . . . . . . 25-12
25.4 Result Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-13
25.4.1 Saving Results from Previous Simulations. . . . . . . . . . . . . . . . . . . 25-14
25.5 Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-15
25.5.1 Switch Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-18
25.5.2 Parameter Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-18
25.5.3 Short-Circuit Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-18
25.5.4 Intercircuit Fault Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-19
25.5.5 Events of Synchronous Machines . . . . . . . . . . . . . . . . . . . . . . . . . 25-19
25.5.6 Events of Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-19
25.5.7 Outage of Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-19
25.5.8 Save Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-20
25.5.9 Set Integration Step Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-20
25.5.10 Tap Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-20
25.6 Running a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-20
25.7 Models for Stability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-21
25.7.1 System Modelling Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-21
25.7.2 The Composite Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-26
25.7.3 The Composite Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-29
25.7.4 The Common Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-32
25.7.5 The Composite Block Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 25-36
25.7.6 Drawing Composite Block Diagrams and Composite Frames . . . . . . 25-37
25.8 User Defined (DSL) Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-43
25.8.1 Modeling and Simulation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 25-45
25.8.2 DSL Implementation: an Introduction . . . . . . . . . . . . . . . . . . . . . 25-46
25.8.3 Defining DSL Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-50
25.9 The DIgSILENT Simulation Language (DSL) . . . . . . . . . . . . . . . . . . . . . . 25-54
25.9.1 Terms and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-54
25.9.2 General DSL Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-55
25.9.3 DSL Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-55
25.9.4 DSL Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-56
25.9.5 Definition Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-56
25.9.6 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-57
25.9.7 Equation Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-60
25.9.8 Equation Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-60
25.9.9 DSL Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-61
25.9.10 Events and Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-62
25.9.11 Example of a Complete DSL Model. . . . . . . . . . . . . . . . . . . . . . . 25-63
25.10 Matlab Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-64
25.10.1 Implementation of Voltage Controller - Example . . . . . . . . . . . . . 25-64
25.10.2 Implementation with Built-In Model . . . . . . . . . . . . . . . . . . . . . . 25-65
25.10.3 Implementation with Matlab Model . . . . . . . . . . . . . . . . . . . . . . 25-66
25.10.4 The Matlab File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-69
25.10.5 Additional notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-70

ix
DIgSILENT PowerFactory User’s Manual


Modal Analysis / Eigenvalue Calculation 26-1
26.1 Theory of Modal Analysis . . . . . . . . . . . . . . . . . . . . ....... . . . . . . . . . 26-1
26.2 Performing an Eigenvalue Analysis . . . . . . . . . . . . . ....... . . . . . . . . . 26-4
26.3 Visualization of Modal Analysis Results . . . . . . . . . . . ....... . . . . . . . . . 26-5
26.3.1 Output Window . . . . . . . . . . . . . . . . . . . . . . ....... . . . . . . . . . 26-5
26.3.2 Modal Analysis Plots . . . . . . . . . . . . . . . . . . ....... . . . . . . . . . 26-7
26.3.3 Data Browser . . . . . . . . . . . . . . . . . . . . . . . ....... . . . . . . . . 26-10

Model Parameter Identification 27-1
27.1 Target Functions and Composite Frames . . . . . . . . .... . . . . . . . . . . . . . 27-2
27.1.1 The Measurement File Slot . . . . . . . . . . . . . .... . . . . . . . . . . . . . 27-3
27.1.2 Power System Element Slot . . . . . . . . . . . . .... . . . . . . . . . . . . . 27-3
27.1.3 Comparison Slot . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . . . . . 27-4
27.2 Creating The Composite Identification Model . . . . . .... . . . . . . . . . . . . . 27-4
27.2.1 The Comparison Object . . . . . . . . . . . . . . . .... . . . . . . . . . . . . . 27-5
27.3 Performing a Parameter Identification . . . . . . . . . . .... . . . . . . . . . . . . . 27-6
27.4 Identifying Primary Appliances . . . . . . . . . . . . . . . .... . . . . . . . . . . . . . 27-8

Contingency Analysis 28-1
28.1 Single Time Phase Contingency Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 28-1
28.2 The Single Time Phase Contingency Analysis Command . . . . . . . . . . . . . . 28-3
28.2.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-4
28.2.2 Effectiveness. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-8
28.2.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-8
28.2.4 Representing Contingency Situations - Contingency Cases. . . . . . . . 28-9
28.3 Multiple Time Phase Contingency Analysis . . . . . . . . . . . . . . . . . . . . . . . 28-12
28.4 The Multiple Time Phase Contingency Analysis Command . . . . . . . . . . . . 28-13
28.4.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-14
28.4.2 Effectiveness. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-15
28.4.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-16
28.4.4 Defining Time Phases for Contingency Analyses . . . . . . . . . . . . . . 28-16
28.4.5 Representing Contingency Situations with Post-Fault Actions . . . . . 28-17
28.5 Creating Contingency Cases Using Fault Cases and Groups . . . . . . . . . . . 28-19
28.5.1 Browsing Fault Cases and Fault Groups . . . . . . . . . . . . . . . . . . . . 28-20
28.5.2 Defining a Fault Case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-21
28.5.3 Defining a Fault Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-21
28.6 Creating Contingency Cases Using the Contingency Definition Command . 28-22

Reliability Assessment 29-1
29.1 Network Reliability Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-1
29.1.1 Probabilistic Reliability Assessment - Technical Background . . . . . . . 29-2
29.1.2 The Reliability Assessment Command . . . . . . . . . . . . . . . . . . . . . . 29-6
29.1.3 Calculated Results for Reliability Assessment . . . . . . . . . . . . . . . . 29-13
29.1.4 Failure Models for Reliability Assessment . . . . . . . . . . . . . . . . . . . 29-17
29.1.5 Load Modeling for Reliability Assessment . . . . . . . . . . . . . . . . . . . 29-25
29.1.6 System State Enumeration in Reliability Assessment . . . . . . . . . . . 29-30
29.1.7 Failure Effect Analysis in Reliability Assessment . . . . . . . . . . . . . . 29-33
29.2 Voltage Sag Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-39

x
DIgSILENT PowerFactory User’s Manual

29.2.1 Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-39


29.2.2 Performing a Voltage Sag Table Assessment. . . . . . . . . . . . . . . . . 29-42
29.3 Compact Reliability Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-45

Optimal Power Flow 30-1
30.1 AC Optimization (Interior Point Method) . . . . . . . . . . . . . . . . . . . . . . . . . . 30-1
30.1.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30-1
30.1.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-15
30.1.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-16
30.1.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-16
30.1.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-18
30.2 DC Optimization (Linear Programming). . . . . . . . . . . . . . . . . . . . . . . . . . 30-20
30.2.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-21
30.2.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-25
30.2.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-26
30.2.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-27
30.3 Contingency Constrained DC Optimization (LP Method) . . . . . . . . . . . . . . 30-28
30.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-29
30.3.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-35
30.3.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-35
30.3.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-35
30.3.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-35

Optimization Tools for Distribution Networks 31-1
31.1 Optimal Capacitor Placement . . ... . . . . . ........... . . . . . . . . . . . . . 31-1
31.1.1 Objective Function . . . . ... . . . . . ........... . . . . . . . . . . . . .31-1
31.1.2 Optimization Procedure ... . . . . . ........... . . . . . . . . . . . . .31-4
31.1.3 Basic Options Page . . . ... . . . . . ........... . . . . . . . . . . . . . 31-5
31.1.4 Advanced Options Page ... . . . . . ........... . . . . . . . . . . . . .31-7
31.1.5 Results . . . . . . . . . . . . ... . . . . . ........... . . . . . . . . . . . . 31-10
31.2 Open Tie Optimization . . . . . . ... . . . . . ........... . . . . . . . . . . . . 31-10
31.2.1 Optimization Procedure ... . . . . . ........... . . . . . . . . . . . . 31-10
31.2.2 Options Page. . . . . . . . ... . . . . . ........... . . . . . . . . . . . . 31-11
31.3 Cable Size Optimization. . . . . . ... . . . . . ........... . . . . . . . . . . . . 31-12
31.3.1 Objective Function . . . . ... . . . . . ........... . . . . . . . . . . . . 31-13
31.3.2 Optimization Procedure ... . . . . . ........... . . . . . . . . . . . . 31-13
31.3.3 Basic Options Page . . . ... . . . . . ........... . . . . . . . . . . . . 31-13
31.3.4 Advanced Options Page ... . . . . . ........... . . . . . . . . . . . . 31-15

Protection 32-1
32.1 Creating a Protection Device . . . . . . . . . . . .......... ..... . . . . . . . .32-1
32.1.1 Example: a Time-Overcurrent Relay. .......... ..... . . . . . . . . 32-2
32.1.2 Editing the Relay Elements . . . . . . . .......... ..... . . . . . . . .32-7
32.2 Basic Protection Devices . . . . . . . . . . . . . . .......... ..... . . . . . . . 32-10
32.2.1 The Current Transformer . . . . . . . . .......... ..... . . . . . . . 32-10
32.2.2 The Voltage Transformer . . . . . . . . .......... ..... . . . . . . . 32-12
32.2.3 The Relay Model . . . . . . . . . . . . . . .......... ..... . . . . . . . 32-16
32.2.4 Directional Relay . . . . . . . . . . . . . . .......... ..... . . . . . . . 32-17
32.2.5 The Frequency Measurement Unit . . .......... ..... . . . . . . . 32-19
32.2.6 The Frequency Relay . . . . . . . . . . . .......... ..... . . . . . . . 32-19

xi
DIgSILENT PowerFactory User’s Manual

32.2.7 The Fuse Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-20


32.2.8 The Instantaneous Overcurrent Relay . . . . . . . . . . . . . . . . . . . . . 32-21
32.2.9 The Logic Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-22
32.2.10 The Measurement Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-23
32.2.11 The Time Overcurrent Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-24
32.2.12 Under-/Overvoltage Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-26
32.3 Path Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-26
32.4 Protection Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-27
32.4.1 Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-27
32.4.2 Results in Single Line Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-27
32.4.3 Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-27
32.5 Short-Circuit Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-28
32.5.1 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-28
32.5.2 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-29
32.6 Time-Overcurrent Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-30
32.6.1 Changing Tripping Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 32-31
32.7 The Time-Distance Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-38
32.7.1 The Path Axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-40
32.7.2 Methods for calculation of tripping times . . . . . . . . . . . . . . . . . . . 32-40
32.7.3 Short-Circuit Calculation Settings . . . . . . . . . . . . . . . . . . . . . . . . 32-41
32.7.4 The x-Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-42
32.7.5 The Reference Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-42
32.7.6 Double-Click Positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-42
32.7.7 The Context Sensitive Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-43
32.7.8 Set Relays Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-43
32.8 Relay Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-43
32.8.1 Modifying the Relay Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-45
32.9 The Protection Coordination Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-47
32.9.1 Starting the Protection Coordination Wizard . . . . . . . . . . . . . . . . . 32-47
32.9.2 The Protection Coordination Wizard Dialogue Window. . . . . . . . . . 32-49

Network Reduction 33-1
33.1 Network Reduction Example . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . 33-1
33.2 Executing the Reduction Process . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . 33-3
33.3 Network Reduction Command . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . 33-5
33.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . 33-5
33.3.2 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . 33-7
33.3.3 Advanced Options . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . 33-8
33.3.4 Verification . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . 33-9
33.4 Technical Background . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . 33-10
33.4.1 Network Reduction for Load Flow . . . . . . . . . ... . . . . . . . . . . . . 33-10
33.4.2 Network Reduction for Short-Circuit . . . . . . . ... . . . . . . . . . . . . 33-10
33.4.3 Handling of Slack Bus . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . 33-10

State Estimation 34-1
34.1 Objective Function . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . 34-2
34.2 Components of the PowerFactory State Estimator . . . .. . . . .. . . . . . . . . . 34-2
34.2.1 Plausibility Check. . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . 34-4
34.2.2 Observability Analysis . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . 34-4
34.2.3 State Estimation (Non-Linear Optimization) . . .. . . . .. . . . . . . . . . 34-5

xii
DIgSILENT PowerFactory User’s Manual

34.3 State Estimator Data Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-5


34.3.1 Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-6
34.3.2 Activating the State Estimator Display Option . . . . . . . . . . . . . . . . 34-11
34.3.3 Editing the Element Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-12
34.4 Running SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-14
34.4.1 Basic Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-14
34.4.2 Advanced Setup Options for the Plausibility Check . . . . . . . . . . . . 34-18
34.4.3 Advanced Setup Options for the Observability Check . . . . . . . . . . . 34-18
34.4.4 Advanced Setup Options for Bad Data Detection . . . . . . . . . . . . . . 34-18
34.4.5 Advanced Setup Options for Iteration Control . . . . . . . . . . . . . . . 34-19
34.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-21
34.5.1 Output Window Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-21
34.5.2 External Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-22
34.5.3 Estimated States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-23
34.5.4 Color Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-25

Appendix

Glossary A-1

Hotkeys References B-1
B.1 Graphic Windows Hotkeys . . . . . . . . . . . . . . .... . .. . . . . . . . . . . . . . . . B-2
B.2 Data Manager Hotkeys . . . . . . . . . . . . . . . . . .... . .. . . . . . . . . . . . . . . . B-4
B.3 Dialogue Hotkeys . . . . . . . . . . . . . . . . . . . . . .... . .. . . . . . . . . . . . . . . . B-6
B.4 Output Window Hotkeys . . . . . . . . . . . . . . . . .... . .. . . . . . . . . . . . . . . . B-7

Elements Reference C-1
C.1 2-Winding Transformers (ElmTr2/ElmTr2n) . . . . . . . . . . . . . . . . . . . . . . . . C-1
C.2 3-Winding Transformer (ElmTr3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7
C.3 Asynchronous Machine (ElmAsm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-11
C.4 Booster Transformer (ElmTrb). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-13
C.5 Cable System (ElmCabsys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-14
C.6 Common Impedance (ElmZpu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-16
C.7 DC/DC Converter (ElmDcdc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-18
C.8 Doubly Fed Induction Machine (ElmAsmsc) . . . . . . . . . . . . . . . . . . . . . . . .C-18
C.9 External Network (ElmXnet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-20
C.10 Line (ElmLne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-23
C.11 Line Sub-Section (ElmLnesec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-26
C.12 Load General (ElmLod) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-27
C.13 Load Low Voltage (ElmLodlv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-30
C.14 Load Partial (ElmLodlvp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-31
C.15 Motor Driven Machine (ElmMdm__X ) . . . . . . . . . . . . . . . . . . . . . . . . . . .C-33
C.16 Neutral Earthing Element (ElmNec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-36
C.17 PWM AC/DC Converter - 1 DC Connection (ElmVscmono). . . . . . . . . . . . . .C-38
C.18 PWM AC/DC Converter - 2 DC Connections (ElmVsc) . . . . . . . . . . . . . . . . .C-40
C.19 Rectifier/Inverter 1-DC Connection (ElmRecmono) . . . . . . . . . . . . . . . . . .C-42
C.20 Rectifier/Inverter 2-DC Connection (ElmRec) . . . . . . . . . . . . . . . . . . . . . .C-44
C.21 Series Capacitances (ElmScap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-46

xiii
DIgSILENT PowerFactory User’s Manual

C.22 Series Reactance (ElmSind) . . . . . . . . . . . . . . . .......... . . . . . . . . . C-47


C.23 Shunt/Filter Element (ElmShnt) . . . . . . . . . . . . . .......... . . . . . . . . . C-49
C.24 Soft Starter (ElmVar) . . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-52
C.25 Static Generator (ElmGenstat) . . . . . . . . . . . . . .......... . . . . . . . . . C-54
C.25.1 Basic Data . . . . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-54
C.25.2 Load Flow Data . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-55
C.25.3 VDE/IEC Short-Circuit Data . . . . . . . . . . .......... . . . . . . . . . C-56
C.25.4 Full Short-Circuit Data . . . . . . . . . . . . . . .......... . . . . . . . . . C-56
C.25.5 Optimization Data . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-56
C.25.6 RMS- / EMT-Simulation Data . . . . . . . . . .......... . . . . . . . . . C-56
C.26 Static Var System (ElmSvs). . . . . . . . . . . . . . . . .......... . . . . . . . . . C-57
C.27 Station Controller (ElmStactrl). . . . . . . . . . . . . . .......... . . . . . . . . . C-59
C.28 Synchronous Machine (ElmSym) . . . . . . . . . . . . .......... . . . . . . . . . C-59
C.29 Tower Line Coupling (ElmTow) . . . . . . . . . . . . . .......... . . . . . . . . . C-62
C.30 AC Voltage Source (ElmVac) . . . . . . . . . . . . . . . .......... . . . . . . . . . C-64
C.31 DC Voltage Source (ElmVdc). . . . . . . . . . . . . . . .......... . . . . . . . . . C-65
C.32 Current Measurement (StaImea) . . . . . . . . . . . . .......... . . . . . . . . . C-66
C.33 Power Measurement (StaPqmea) . . . . . . . . . . . .......... . . . . . . . . . C-66
C.34 Voltage Measurement (StaVmea) . . . . . . . . . . . .......... . . . . . . . . . C-66
C.35 Digital Clock (ElmClock) . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-66
C.36 Fast Fourier Transform (ElmFft) . . . . . . . . . . . . .......... . . . . . . . . . C-67
C.37 File Object (ElmFile). . . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-68
C.38 Fourier Source (ElmFsrc) . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-69
C.39 Phase Measurement Device (Phase Locked Loop, ElmPhi__pll). . . . . . . . . . C-71
C.40 Digital Register (ElmReg) . . . . . . . . . . . . . . . . . .......... . . . . . . . . . C-71
C.41 Sample and Hold Model (ElmSamp). . . . . . . . . . .......... . . . . . . . . . C-72
C.42 Trigger Model (ElmTrigger). . . . . . . . . . . . . . . . .......... . . . . . . . . . C-73

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

Reference to the use of Symbols in PowerFactory E-1
E.1 The Symbol General Definitions . . . . . . . . . . . . . . . . ....... . . . . . . . . . . E-1
E.2 Geometrical Description . . . . . . . . . . . . . . . . . . . . . . ....... . . . . . . . . . . E-2
E.2.1 Geometrical Primitives . . . . . . . . . . . . . . . . . . ....... . . . . . . . . . . E-2
E.2.2 Showing self defined pictures in symbols . . . . . ....... . . . . . . . . . . E-4

xiv
DIgSILENT PowerFactory User’s Manual


Interfaces with Other Programs F-1
F.1 DGS Interface . . . . . . . . . . . . . . . . . . . . . . . ......... ..... . . . . . . . . .F-1
F.2 Converting PSS/E Files . . . . . . . . . . . . . . . . . ......... ..... . . . . . . . . .F-1
F.2.1 Importing PSS/E Steady-State Data . . . ......... ..... . . . . . . . . .F-1
F.2.2 Import of PSS/E file (Dynamic Data) . . ......... ..... . . . . . . . . .F-5
F.2.3 Exporting a project to a PSS/E file . . . . ......... ..... . . . . . . . . .F-7
F.3 StationWare Interface. . . . . . . . . . . . . . . . . . ......... ..... . . . . . . . . .F-9
F.3.1 About StationWare. . . . . . . . . . . . . . . ......... ..... . . . . . . . . .F-9
F.3.2 Component Architecture . . . . . . . . . . . ......... ..... . . . . . . . . F-10
F.3.3 Fundamental Concepts . . . . . . . . . . . . ......... ..... . . . . . . . . F-11
F.3.4 Configuration . . . . . . . . . . . . . . . . . . ......... ..... . . . . . . . . F-17
F.3.5 Getting Started . . . . . . . . . . . . . . . . . ......... ..... . . . . . . . . F-17
F.3.6 Reference . . . . . . . . . . . . . . . . . . . . . ......... ..... . . . . . . . . F-25
F.3.7 Technical Reference. . . . . . . . . . . . . . ......... ..... . . . . . . . . F-32

The DIgSILENT Programming Language - DPL G-1
G.1 The Principle Structure of a DPL Command . . . . . . . . . . . . . ... . . . . . . . . G-1
G.2 The DPL Command Object . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-2
G.2.1 Creating a new DPL Command . . . . . . . . . . . . . . . . . ... . . . . . . . . G-3
G.2.2 Defining a DPL Commands Set . . . . . . . . . . . . . . . . . ... . . . . . . . . G-3
G.2.3 Executing a DPL Command . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-4
G.2.4 DPL Advanced Options. . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-4
G.2.5 DPL Script Page . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-5
G.3 The DPL Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-5
G.4 The DPL Script Language . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-6
G.4.1 Variable Definitions . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-6
G.4.2 Constant parameters . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-7
G.4.3 Assignments and Expressions . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-7
G.4.4 Standard Functions . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-7
G.4.5 Program Flow Instructions . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . G-9
G.4.6 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . G-10
G.5 Access to Other Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . G-11
G.5.1 Object Variables and Methods . . . . . . . . . . . . . . . . . ... . . . . . . . G-12
G.6 Access to Locally Stored Objects . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . G-12
G.7 Accessing the General Selection . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . G-13
G.8 Accessing External Objects . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . G-14
G.9 Remote Scripts and DPL Command Libraries . . . . . . . . . . . . ... . . . . . . . G-15
G.9.1 Subroutines and Calling Conventions. . . . . . . . . . . . . ... . . . . . . . G-16
G.10 DPL Functions and Subroutines . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . G-17

DPL Reference H-1
H.1 General Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1
H.2 Input / Output Functions and Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . H-5
H.2.1 Writing into the Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . H-5
H.2.2 Additional Functions related to input/output. . . . . . . . . . . . . . . . . . . H-9
H.2.3 Writing to Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-11
H.2.4 SetDesktop Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-15
H.3 String Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-20
H.4 Project Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-27

xv
DIgSILENT PowerFactory User’s Manual

H.5 Study Case Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-29


H.5.1 General Functions and Methods related to Study Cases . . . . . . . . . . H-29
H.5.2 SetTime Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-31
H.6 General Object Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . H-33
H.6.1 Functions related to Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-33
H.6.2 General Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-35
H.7 Set Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-49
H.7.1 Functions related to Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-50
H.7.2 General Set Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-51
H.7.3 SetFilt Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-58
H.7.4 SetSelect Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-59
H.7.5 Feeder (SetFeeder) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-67
H.7.6 Path (SetPath) Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-68
H.8 Analysis Command Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . H-72
H.8.1 General Analysis Command Functions and Methods . . . . . . . . . . . . . H-72
H.8.2 Load Flow Simulation (ComLdf) Functions and Methods . . . . . . . . . . H-75
H.8.3 Short-Circuit Calculation (ComShc) Functions and Methods . . . . . . . . H-76
H.8.4 Time-Domain Simulation Functions and Methods . . . . . . . . . . . . . . . H-77
H.8.5 Result Export (ComRes) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . H-78
H.8.6 Contingency Case (ComOutage) Methods . . . . . . . . . . . . . . . . . . . . H-79
H.8.7 Contingency Analysis (ComSimoutage) Methods . . . . . . . . . . . . . . . H-81
H.8.8 Contingency Definition (ComNmink) Methods . . . . . . . . . . . . . . . . . H-84
H.8.9 Reliability Assessment (ComRel3) Methods . . . . . . . . . . . . . . . . . . . H-85
H.8.10 DPL Command (ComDpl) Methods . . . . . . . . . . . . . . . . . . . . . . . . H-88
H.8.11 ComEcho Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-88
H.9 Specialized Methods for Elements and Types . . . . . . . . . . . . . . . . . . . . . . . H-89
H.9.1 Grid (ElmNet) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-90
H.9.2 Induction Machine Type (TypAsm) Methods . . . . . . . . . . . . . . . . . . H-90
H.9.3 Induction Machine Type (TypAsmo) Methods . . . . . . . . . . . . . . . . . H-91
H.9.4 Feeder (ElmFeeder) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-91
H.9.5 Composite Model (ElmComp) Methods . . . . . . . . . . . . . . . . . . . . . . H-94
H.9.6 Breaker/Switch (ElmCoup) Methods . . . . . . . . . . . . . . . . . . . . . . . . H-95
H.9.7 Line (ElmLne) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-97
H.9.8 Line Route (ElmLneroute) Methods. . . . . . . . . . . . . . . . . . . . . . . . H-101
H.9.9 Line Type (TypLne) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-102
H.9.10 Result Object (ElmRes) Methods. . . . . . . . . . . . . . . . . . . . . . . . . H-103
H.9.11 Zone (ElmZone) Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-110
H.9.12 Switch (StaSwitch) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-113
H.10 Methods for Virtual Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-115
H.10.1 SetVipage Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-115
H.10.2 VisPlot/VisPlot2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-124
H.10.3 VisFft Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-143
H.10.4 IntPlot Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-144
H.11 Methods for Additional Objects (Int*) . . . . . . . . . . . . . . . . . . . . . . . . . . H-147
H.11.1 IntVariant Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-148
H.11.2 IntMon Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-148
H.11.3 IntMat Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-151
H.11.4 IntVec Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-155
H.11.5 IntForm Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-157
H.12 DDE Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-159

xvi
DIgSILENT PowerFactory User’s Manual


DSL Reference I-1
I.1 DSL Standard Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-1
I.2 DSL Special Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-2

Index J-1

xvii
DIgSILENT PowerFactory User’s Manual

xviii
DIgSILENT PowerFactory
General Information


DIgSILENT PowerFactory Welcome

Chapter 1
Welcome

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


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

1-1
DIgSILENT PowerFactory Welcome

selves at sea when using PowerFactory. The program is also friendly to the basic user.
Users who are learning about power systems are able to easily and quickly perform load-
flows and short-circuit calculations, without needing to immediately master the mathe-
matical intricacies of the calculations.
The program is shipped with all of the engines and algorithms that are required for high-
end use. The functionality that has been bought by a user is configured in a matrix, where
the licensed calculation functions, together with the maximum number of busses, are list-
ed as coordinates. In addition, there are options available which will allow the configura-
tion and fine-tuning of the software according to the user's needs, for some of the
functions.
In this manner, not every PowerFactory license contains all functionality described in
this manual, but only those actually required, thereby reducing the complexity of the out-
set. As requirements dictate further functionality can be added to the license. The user
thus does not have to learn a whole new interface for new functions, but merely uses new
commands within the same environment. In addition, the original network data is used
and only extra data, as may be required by the new calculation function, needs to be add-
ed.

1-2
DIgSILENT PowerFactory DIgSILENT Contact and Support

Chapter 2
DIgSILENT Contact and Support

For further information about the company DIgSILENT, our products and services
please visit our web page www.digsilent.de or contact us at:
DIgSILENT GmbH
Heinrich-Hertz-Straße 9
72810 Gomaringen / Germany
www.digsilent.de
General Information:
If you are looking for general information about DIgSILENT or your PowerFactory li-
cense, please contact us via:
Phone: +49-(0)7072-9168-0
Fax: +49-(0)7072-9168-88
E-mail: mail@digsilent.de
Technical Support:
If you need technical support concerning PowerFactory, DIgSILENT experts offer di-
rect assistance to users with valid maintenance agreements via:
Phone: +49-(0)7072-9168-50
E-mail: support@digsilent.de
Adding your company affiliation and the build number of your PowerFactory version to
your query will help us to answer your questions faster. The build number is in "Help ->
About PowerFactory..." on the main menu. Here you also will find an abbreviation con-
taining of three letters, which is helpful for us ("This Program is Licensed to XXX"). Addi-
tionally, if you send us an *.dz or *.pfd file concerning to your query, it is often easier for
us to reproduce your reported items.

2-1
DIgSILENT PowerFactory DIgSILENT Contact and Support

2-2
DIgSILENT PowerFactory About this Guide

Chapter 3
About this Guide

This chapter will give you information about how to use this documentation, the used con-
ventions and information about additional documentations.

3.1 The PowerFactory User’s Manual


This User’s Manual is intended to be a reference for users of the DIgSILENT Power-
Factory software. In the first part, the PowerFactory interface and the basic program
settings are discussed. Then a data model approach is used to describe how to represent
power systems in PowerFactory and how to manage studies over them.
Following the discussion about the program handling, comes the presentation of the avail-
able calculation functions. Each chapter deals with a different calculation, presenting the
most relevant theoretical aspects, the PowerFactory approach and the corresponding
interface. Additional tools such as the DIgSILENT Programming Language (DPL), the
reporting functions, and the communication interfaces with other programs are presented
in the final part.
The online version of this manual includes a especial section dedicated to the mathemat-
ical description of the models and their parameters. The section comprises a set of Tech-
nical Reference Papers, each one corresponding to a specific component of a power
system. To facilitate its portability, visualization, and printing, the papers are attached to
the online help as PDF documents. They are downloaded by clicking on the indicated links.
References for the functions of the DIgSILENT Programming Language (DPL) and the
DIgSILENT Simulation Language (DSL), are also included as appendixes of the online
version.
This Reference User’s Manual is written for end users involved in the analysis of electrical
power systems. It is assumed that the program has been installed and the user has a ba-
sic understanding of the PowerFactory work environment.
Before starting with this guide, new users are recommended to read the information and
complete the hands-on Tutorial from the Getting Started Manual.

3-1
DIgSILENT PowerFactory About this Guide

3.2 Used Conventions


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

3-2
DIgSILENT PowerFactory About this Guide

numbered they will be associated with a graphic in which the numbers


appear.
left-clicking, right-clicking, clicking, double-clicking, etc.
Wherever the instruction clicking or double-clicking appears it should
be taken to mean clicking and double-clicking using the left mouse
button. When the right mouse button is to be used it will be explicitly
stated.

3.3 The PowerFactory Help System


DIgSILENT PowerFactory is provided with a complete help package to support users
at all levels of expertise. Documents with the basic information on the program and its
functionality are combined with references to advanced simulation features, mathemati-
cal descriptions of the models and of course application examples.
PowerFactory offers the following help resources:
• Installation Manual: PowerFactory installation guide, describes the procedures
followed to install and set the program. It is available in the PowerFactory
installation CD and the DIgSILENT Support Area (PDF file). Licensed costumers
receive a hard copy.
• Getting Started Tutorial: Basic Information for new users and hands-on tutorial.
Access via Help menu (CHM file) of PowerFactory, and the DIgSILENT Support
Area (PDF file). Licensed users receive a Hard copy.
• User's Manual: This document. Access via Help menu (CHM file) of PowerFactory,
and the DIgSILENT Support Area (PDF file). Licensed users receive a Hard copy.
• Technical References: Description of the models implemented in PowerFactory
for the different power systems components. The technical reference documents are
attached to the online help (Appendix C: Elements Reference, and Appendix D: Types
Reference). Additionally they can be downloaded from the DIgSILENT Support Area.
• Context Sensitive Online Help: Pressing the key F1 while working with
PowerFactory will lead you directly to the related topic inside the User's Manual.
• Examples on the Demo account: The Demo account is a special user account set
with every installation of the program. It contains several application examples of
PowerFactory calculation functions.
• FAQs: Users with a valid maintenance agreement can access the DIgSILENT
Support Area and its FAQ section, which contains interesting questions and answers
regarding specific applications of PowerFactory.
• Support: Users with a valid maintenance agreement will get individual support from
DIgSILENT experts via:
Phone: +49-(0)7072-9168-50
E-mail: support@digsilent.de 
DIgSILENT Support Area: http://www.digsilent.de -> Support Area
All new versions and builds of the program include Release Notes documenting the imple-
mented changes.

3-3
DIgSILENT PowerFactory About this Guide

3-4
DIgSILENT PowerFactory PowerFactory Overview

Chapter 4
PowerFactory Overview

4.1 General Concept


The general concept behind the program design and application can be described by
means of the three basic integration characteristics that contribute to make PowerFactory
a unique power system analysis tool:
 Functional Integration
DIgSILENT PowerFactory software is implemented as a single executable pro-
gram, and is fully compatible with Windows 2000/XP/Vista and Windows 7. The pro-
gramming method employed allows for a fast 'walk around' the execution
environment, and eliminates the need to reload modules and update or transfer re-
sults between different program applications. As an example, the power flow, fault
analysis, and harmonic load flow analysis tools can be executed sequentially without
resetting the program, enabling additional software modules and engines or reading
external data files.
 Vertical Integration
A special feature of the DIgSILENT PowerFactory software is the unique verti-
cally integrated model concept. This allows models to be shared for all analysis func-
tions and more importantly, for categories of analysis, such as “Generation”,
“Transmission”, “Distribution” and “Industrial”. No longer are separate software en-
gines required to analyze separate aspects of the power system, as DIgSILENT
PowerFactory can accommodate everything within one integrated frame and one
integrated database.
 Database Integration
DIgSILENT PowerFactory provides optimal organization of data and definitions
required to perform any type of calculation, memorization of settings or software op-
eration options. There is no need in tedious organization of several files for defining
the various analysis aspects. The PowerFactory database environment fully inte-
grates all data required for defining cases, operation scenarios, single-line graphics,
outputs, run conditions, calculation options, graphics, user-defined models, etc.
There is no need to keep and organize hundreds of files on hard disc, every thing
you require to model and simulate a power system is integrated in a single database!
Single Database Concepts: all data for standard and advanced functions are or-
ganized in a single, integrated database. This is applied also for graphics, study case
definitions, outputs, run conditions, calculation options, fault sequences, monitoring
messages as well as user defined models.

4-1
DIgSILENT PowerFactory PowerFactory Overview

Project Management: All the data that defines a power system model and allows
its calculation is stored in so called 'Project' folders within the database. Inside a
'Project', folders called 'Study Cases' are used to define different studies of the sys-
tem considering the complete network, only parts of it or variations on its current
state. This 'project and study case' approach to define and manage power system
studies is a unique application of the object-oriented software principle. Standard
software packages often require the user to create a large number of similar saved
cases, with multiple nested directories for large complex networks and studies. How-
ever, DIgSILENT PowerFactory has taken a totally new approach, and intro-
duced a structure that is both easy to use while avoiding redundancy.
Multi-User Operation: Multiple users each holding its own projects or working
with data shared from other users are supported by a 'Multi-user' database opera-
tion. In this case the definition of access rights, user accounting and groups for data
sharing are managed by a database administrator.

4.2 PowerFactory Simulation Functions


PowerFactory incorporates a comprehensive list of simulation functions including
among others:
• Load Flow Analysis, allowing meshed and mixed 1-,2-, and 3-phase AC and/or DC
networks (Chapter 22: Load Flow Analysis)
• Low Voltage Network Analysis (Section 22.1.3: Load Flow Analysis of Low Voltage
Systems)
• Short-Circuit Analysis, allowing meshed and mixed 1-,2-, and 3-phase AC networks
(Chapter 23: Short-Circuit Analysis)
• Harmonic Analysis (Chapter 24: 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:
Stability 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)
• Optimal Power Flow (Chapter 30: Optimal Power Flow)
• Distribution Network Optimization (Chapter 31: Optimization Tools for Distribution
Networks)
• Protection Analysis (Chapter 32: Protection)
• Network Reduction (Chapter 33: Network Reduction)
General information about calculation commands is available in Section 8.1 (Calculation
Commands in PowerFactory).

4-2
DIgSILENT PowerFactory PowerFactory Overview

4.3 General Design of PowerFactory


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

Fig. 4.1: Main PowerFactory windows

As users progress and become more adept with the program, data will be manipulated by
using a data viewer called the Data Manager. The two means of accessing the data are
thus via the graphics page/s and via the Data Manager.
Data is accessed from the graphics page by double-clicking on an object. An input dia-
logue pops up and the user may then edit the data for that object.
All of the data that is entered for such objects is hierarchically structured in folders to al-

4-3
DIgSILENT PowerFactory PowerFactory Overview

low the user to navigate through it. To view the data and its organization, a "Data Man-
ager" is used. Figure 4.2 shows the Data Manager Window. The data manager is similar
in appearance and working to a Windows Explorer.
As mentioned, data pertaining to a study is organized into several folders. Before exam-
ining this structure we should understand the philosophy behind this arrangement.

Fig. 4.2: PowerFactory Data Manager window

4.4 Data Arrangement


Firstly, it is clear that, for the study of any system, there are two distinct sets of informa-
tion that can be defined:
• Data that pertains directly to the system under study, that is, electrical data.
• Study management data, for example, which graphics should be displayed, what
options have been chosen for a load flow, which 'areas' of the network should be
considered for calculation, etc.
The electrical data itself can also be further divided into logical sets. When we construct
a power system we make use of standardized materials or components - a roll of cable
for example. In simple terms we can describe the cable electrically by its impedance per
km length whilst it is still on the cable drum; in other words, generic information about
this cable, is called "Type" data.
When we cut a length of the cable for installation the type data is retained in a modified
way, as follows:
600m of cable that has a Type impedance of 'Y' Ohms/ km will now have an impedance
of '0.6*Y' Ohms.
We can thus see that the length of the cable, 0.6 km, can be seen as a separate set of
information. This set will contain all of that information particular to the specific installa-
tion or application of the piece of cable we are considering. Information such as the der-
ating factor of the installed cable, its local name, the nodes that it is connected to at either
end; in other words, all information that is non-generic, will fall into this information set.
In PowerFactory we call this "Element Data".
Within the element data, there is information related to the operational point of a devise
but not to the devise itself i.e. the tap position on a transformer or the active power dis-
patch of a generator. These kind of data, which is subject to frequent changes during a

4-4
DIgSILENT PowerFactory PowerFactory Overview

study and may be used to simulate different operation scenarios of the same network, is
further grouped inside the element data set in a subset called "Operational Data".
This means that there are now four distinct sets that we need to arrange the data into.
In 'data base' terms this means four folders, which, in PowerFactory, we call:
• ''Network Data'' folder: Holds all the element data.
• ''Operation Scenario'' folder: Holds the operational data defining a certain
operational point.
• ''Equipment Type'' folder: Holds all the type data
• ''Study Case'' folder: Holds all the study management data.
For an optimal advantage of the flexibility offered by this data arrangement approach, the
aforementioned folders should be hierarchically organized within a higher directory. In
PowerFactory this higher directory is called ''Project''. Besides the described data sets,
a project stores all the additional database ''objects'' required to model, simulate, analyze
and visualize a particular power system.
The PowerFactory database supports multiple users (as mentioned in 4.1) and each
user can manage several projects. ''User Account'' folders with access privileges only
for their owners (and other users with shared rights) must then be used. User accounts
are of course in a higher level than projects.

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

Figure 4.3 shows a snapshot from a database as seen by the user in a data manager win-
dow.The folders listed contain the following type of data:
User Folder
Three user accounts (Demo, Manual and Peter) containing different
projects are shown.
Project
In this case named Simple Power System. This folder is the frame for
all project subfolders.
Equipment Types
Holds all the type data.

4-5
DIgSILENT PowerFactory PowerFactory Overview

Network Model
Holds the Network Data folder containing the element data. The
Network Model folder also contains the graphical objects folders
(Diagrams), storing network diagrams and the network modifications
folders (Variations) storing expansions or topological changes to be
applied in the original networks.
Operation Scenarios
Holds sets of operational data.
Study Cases
Contains the study Management Data - the 'tools' and 'tool settings'
that are used to perform the calculations and the visualization of the
results.
All the aspects related to the use and management of the project folder, including the
subfolders listed above is given in chapters:
For information about user accounts please refer to Chapter 5 (Program Setting, Logging
on and User Accounts).

4.5 User Interface


The PowerFactory windows are the users interface to the program and the means to
enter or manipulate data and/or graphics. DIgSILENT PowerFactory uses several
kinds of windows some of which have been shown previously. To follow the explanation,
please see Figure 4.4:
• The main PowerFactory window is described in the title bar- "DIgSILENT
PowerFactory 14.0" .
• The main menu bar contains the drop down menu selections .
• The Graphical Editor  displays single line diagrams, block diagrams and/or
simulation plots of the current project. Studied networks and simulation models can
be directly modified from the graphical editor by placing and connecting elements.
• The "Data Manager"  is the direct interface with the database. It is similar in
appearance and working to a Windows Explorer. 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.
• When an object is right clicked (in the graphical editor or in the data manager) a
context sensitive menu with several possible actions appears .
• When an object is double clicked its edit dialogue pops up . The edit dialogue is the
interface between an object and the user. The parameters defining the object are
accessed trough this edit dialogue. Normally an edit dialogue is composed of several
'pages' (also called tabs). Each tab groups parameters that are relevant to a certain
function. In the example of Figure 4.4 the 'Load Flow' tab of a generator is shown,
therefore only the generator parameters relevant to a load flow calculation are
available.
• At the bottom of the PowerFactory window, an output window  with its own
toolbar is shown.

4-6
DIgSILENT PowerFactory PowerFactory Overview

Fig. 4.4: PowerFactory initial appearance

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

4-7
DIgSILENT PowerFactory PowerFactory Overview

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

The icon "Maximize Output Window'' ( ) on the main toolbar will enlarge the output
window to almost full-screen. Left click the button again to switch back to the small output
window.
On the right of the title bar of any window or sub-window there are three buttons that
are used to "Minimize", "Maximize"/"Restore Down" or "Close" the window.

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

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

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

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

Re-sizing sub-windowsThe following sections provide further information about the Pow-
erFactory windows and their tool bars. Because the Graphical Editor and the Data Man-
ager are main interfaces and their use is fundamental in the definition and analysis of

4-8
DIgSILENT PowerFactory PowerFactory Overview

power systems with PowerFactory, they are explained in separate chapters (11 (The Data
Manager) and 10 (The Graphics Editor)).

4.5.1 Menu Bar


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

Fig. 4.5: The help menu on the Menubar

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

4.5.2 Main Toolbar


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

Fig. 4.6: The main toolbar

All command icons are equipped with balloon help text which pop up when the cursor is
held still at the icon for a moment, and no key is pressed.
 Find the icon for User Settings by using the balloon help. Do not use the mouse keys:
just point at the icons, hold still, and a balloon text will pop up. Scan all icons until you
find the right one.
Using a command icon couldn't be easier: just click on it with the left mouse icon. Those
icons that perform a task will automatically jump back when that task is finished. Some
command icons however will switch between two modes, for instance the one which will

4-9
DIgSILENT PowerFactory PowerFactory Overview

reserve more place for the output window on the workspace ( ). This icon will stay
down to show the activated mode. Click the command icon again to switch back to the
normal view.
When PowerFactory has just been started, the toolbar shows only the general com-
mand icons. The 'toolbar select' icon ( ) can be clicked to select additional command
icons.

Main Toolbar Definitions


The main PowerFactory toolbar provides the user with quick access to the main com-
mands available in the program. This section provides a brief explanation of the purpose
of the icons found on this toolbar. More detailed explanations for each of the functions
that the icons command are provided in the other sections of the manual. The main tool-
bar is depicted in two parts in Figure 4.7 and Figure 4.8. The icons from the lower part of
figures 4.7 and 4.8 correspond to the options of the Graphic Window and are presented
in Section 10.6.1.

Fig. 4.7: Main Toolbar, left part

Fig. 4.8: Main Toolbar, right part

New Database Manager


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

Edit Relevant Objects for Calculation


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

4 - 10
DIgSILENT PowerFactory PowerFactory Overview

Date/Time of Calculation Case


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

Edit Trigger
Displays a list of all triggers that are in current use by the active study
case. These triggers can be edited in order to change the values for
which one or more characteristics are defined. These values will be
modified with reference to the new trigger value. All triggers for all
relevant characteristics are automatically listed. If required, new
triggers will be created in the study case. For more information, see 7.7
(Parameter Characteristics and Parametric Studies).

Calculate Load-Flow
Activates the load-flow command dialogue. For more information about
the specific settings, please refer to Chapter 22 (Load Flow Analysis).

Calculate Optimal Power Flow


Activates the optimal power flow command dialogue.

Calculate Short-Circuit
Activates the short-circuit calculation command dialogue. For more
information, please refer to Chapter 23 (Short-Circuit Analysis).

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

Execute DPL Scripts


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

Output Calculation Analysis


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

4 - 11
DIgSILENT PowerFactory PowerFactory Overview

Documentation of Device Data


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

Comparing of Results On/Off


Compares the differences between two or more calculation results, for
example, where certain settings or designs options of a power system
have been changed from one calculation to the next. For more
information please refer to 8.4 (Comparisons Between Calculations).

Edit Comparing of Results


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

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

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

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

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

Maximize Graphic Window


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

Maximize Output Window


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

4 - 12
DIgSILENT PowerFactory PowerFactory Overview

Current Study Case


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

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

4.5.3 The Output Window


All textual output of DIgSILENT PowerFactory will be written to the output window.
This includes all error messages or warnings, command messages, device documentation,
result of calculations, generated reports, etc.
The output window, at the bottom of the screen, is always there; it cannot be closed al-
though it can be minimized. The output window can be "docked'', that is: fixed to a loca-
tion on the bottom of the main window. The docked state is the default, as shown in
Figure 4.9.

Fig. 4.9: The PowerFactory output window

When clicking the right mouse button, when the cursor is in the output window area, the
context sensitive menu of the output window appears. The output window can then be
undocked by deselecting the "Docking View'' (by clicking the mouse onto "Docking View"
to 'untick' it). The undocked output window is still confined to the main window, but now
as a free floating window.

Note This sometimes occurs 'accidentally' when the user left clicks the
tool bar for the output window and drags the mouse (keeping the
mouse button down) to somewhere outside of the output window
boundaries. To rectify this simply left click in the title bar of the un-
docked window and drag it down to the bottom of the screen,
where it will dock once more (if you have right-clicked 'unticked'
"Docking View" to right-click and select "Docking View" once more.

The undocked state is not a normal situation for the output window. Because the output
messages that appear in this window are important at any stage while using the program,
the docked state is the best place because it will be visible then and easy to locate.
The upper edge of the output window shows a splitter bar which is used to change the

4 - 13
DIgSILENT PowerFactory PowerFactory Overview

size of the output window. The 'drag' cursor, appears automatically when the cursor is
placed on the splitter bar. The left mouse button can be pressed when the 'drag' cursor
is visible. This will turn the splitter bar to grey and the output window can now be resized
by holding down the mouse button and moving the mouse up or down.
The output window may be moved and resized by:
• Dragging the splitter bar as shown in Figure 4.9, when the output window is in the
'docking' mode
• Double-clicking the frame of the output window to dock/undock it from the main
window.

• Pressing the on the main toolbar, which enlarges the graphics board by hiding
the output window.

• Pressing the icons on the main toolbar, which enlarges the output window
The contents of the output window may be stored, edited, redirected, etc., using the fol-
lowing icons:

Opens an editor and pastes any selected or complete text from the
output window

Opens a different output file

Either saves the selected text to an ASCII file, or the complete contents
of the output window if no selection was made

Copies the selected text to the Windows Clipboard for use in other
programs

Clears the output window by deleting all messages

Searches the text in the output window for the occurrences of a given
text. A "?'' wild cart may be used

Changes the font used in the output window

Redirects everything to a file on disk. The output window will stop


displaying messages while this icon is down

Acts like "redirect to disk", but all messages will now be printed directly

Pre-sets the option for the print dialogue. Either chooses printing of the
selected text or all buffered text if no selection was made

4 - 14
DIgSILENT PowerFactory PowerFactory Overview

Using the Output Window


The output window is more than just a dumb message viewer. It is an interactive tool,
which helps in preparing your data for calculations and it improves any search for errors
or bugs in your projects.
Every line in the output window with a full folder and object name can be double-clicked
with the left mouse button. This will open the appropriate edit dialogue for the shown
object. See the example in Figure 4.10.

Fig. 4.10: The interactive output window

In this example, a calculation function reported an error because a transformer element


has not been assigned a transformer type. Double-clicking the error message opens the
edit dialogue of the transformer.

Context Sensitive Menu inside the Output Window


It is also possible to press the right mouse button while pointing at the object name. The
context sensitive menu will pop-up and show entries to easily find and edit objects, if the
printed object name was found to be an existing object in the database tree.
These option are

4 - 15
DIgSILENT PowerFactory PowerFactory Overview

Edit Object will open the edit dialogue of the printed object, which is i.e. the reason
for the error message
Edit and Browse Object
will open the data manager and show the element and its parameters
there.
Mark in Graphic
will mark the clicked element in the single line diagram and zoom into
the region of its place. The interactive feature of the output window is
extremely convenient when 'debugging' a new or changed power
system design. Faulty elements don't have to be searched for in order
to correct their parameters.

Output Window Legend


The output window uses colors and other formatting to distinguish between different
types of messages or for specials like bar diagrams.
Text messages formats:
DIgSI/err - ... Error messages. Format: red colored.
DIgSI/info - ....Information messages. Format: green colored.
DIgSI/wrng - ...Warning message. Format: brown colored.
DIgSI/pcl - ...' Protocol message. Format: blue colored.
Text only Output text. Format: black colored.
Reports of calculation results may contain bar graph information. The "voltage profiles''
report after a load-flow command, for instance, produces bar graphs of the per-unit volt-
ages of busbars. These bars will be colored blue, green or red if the "Verification'' option
in the load-flow command dialogue has been enabled. They will be hatch-crossed if the
bars are too large to display.
An part of a bar graph output is shown in Figure 4.11. The following formatting is visible:

Fig. 4.11: Output window bar diagram

4 - 16
DIgSILENT PowerFactory PowerFactory Overview

Green Solid Bar


Used when the value is in the tolerated range.
Blue Solid Bar Used when the value is too low.
Red Solid Bar Used when the value is too high
Hatch-crossed Bar
Used when the value is out of reach and cannot be displayed correctly.

Copying from the output window


The contents of the output window, or parts of its contents, may be copied to the build-
in editor of PowerFactory or to any other program.
Normally, not all selected lines will be copied and the format of the copied text may un-
dergo changes. The latter is caused by the fact that the PowerFactory output window
uses special formatting 'escape sequences'. Other programs may not be capable of deal-
ing with these formatting commands.

Fig. 4.12: The output window Info Message

Which lines will be copied is determined by the output window settings. See Section 6.4
for more information. When text from the output window is about to be copied, an info
message will pop up, informing the user about the current settings. See Figure 4.12. A
button is supplied which brings the user directly to the user settings dialogue. The info
message may be disabled, in which case it will never show up again.

4 - 17
DIgSILENT PowerFactory PowerFactory Overview

4.6 Getting Help


The PowerFactory software comes with a number of help facilities (see also Section 3.3:
The PowerFactory Help System):
1 The licensed version comes with a printed hard copy of the User’s Manual and the
Getting Started Tutorial.
2 An on-line version of the Users Manual and the Getting Started Tutorial, which can
be opened from the Help option on the main menu (see Figure 4.5).
3 A context sensitive help which will directly jump to the right page of the on-line
Users Manual when the F1 key is pressed.
4 Balloon help which will give the names of command icons, or input parameters, if
the cursor is positioned over these items and held still for about half a second. The
graphical elements for which balloon help is provided are:
1 Buttons/icons (available for all command icons).
2 Class-icons.
3 Parameter fields.
Command buttons/icons are sometimes referenced by their name, instead of by their im-
age. For large buttons, this is normally the case. The name of a button is either the name
on the button itself (OK, Cancel), or the name that appears in the balloon help (e. g.
= User Settings).

4 - 18
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

Chapter 5
Program Setting, Logging on and User
Accounts

This chapter provides reference information on how to configure the program, how to log
on and how to create and manage user Accounts. More Detailed descriptions of the pro-
cess introduced here can be found in the PowerFactory Installation Manual.

5.1 Program Configurations and Settings


In general there are 3 main questions to be answered before installing the software, the
answers to these questions will determine the installation settings:
• License: Where should the license key(s) reside?
• Installation: Where should PowerFactory be installed?
• Database: Where should the database reside?
Once PF 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 dia-
logue, 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 alter-
natives is given in the PowerFactory Installation Manual. The next section provides
reference information about the Log-on dialog.

5.2 The Log-on Dialogue


The application of PowerFactory is carried out within a user session. Since an account
system is used, it is necessary to log on when starting a session. Immediately after open-
ing the program a 'Log-on' dialogue is presented, there the user must specify his/her cre-
dentials. As indicated in Section 5.1 the Log-on dialogue also serves as interface to the
program settings.
To start a session, the user must always provide the corresponding name and password
(credentials). Unless they have changed, the installations settings do not need to be up-
date every time a session starts.
In the next subsections a description of the fields presented in the log-on dialogue is giv-
en.

5-1
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

Note: A user account is the working space of a specific user (the account
owner) within the DB. It is the object where the user stores his
projects and settings. To access a specific account the correspond-
ing user name and password must be given. Information on the ac-
count management system and how to share information with
other users is given in Chapter 21 (Data Management). The de-
scription on how data is arranged within PF is given in Chapter 7
(The PowerFactory Data Model).

5.2.1 Log On Configuration

Fig. 5.1: The Log-on Dialogue, User Credentials

Once the PF installation had been set, a name and a password must be given in order to
access an account and start to use the program. Two special accounts are created when
installing PF, the Demo and the Administrator. The Demo account is used to access and
run the examples provided with the program. The administrator (database administrator)
account is used to create and manage user's accounts in a multi-user environment (see
Section 5.3). To log on as Demo, just select the corresponding option on the users name
drop down menu (Figure 5.1), no password is required. To log on as administrator, select
the Administrator name from the menu and use the assigned password. By default the
administrator account password is Administrator.
Users other than the Administrator and the Demo, require their own name and password
to log on. If you are using a stand alone installation, you can create a new user account
by typing in a new name and a password of your choice (an empty password is also ac-
cepted). After creating the new account the 'Do you really want to create a new user ac-
count' message will pop up, click Ok to continue. In a multi-user installation (see
Section 5.3) new accounts and passwords are created by the administrator.
For further information about the roll of the database administrator please refer to
Section 5.3.2. Further information about the Demo account is given in Section 5.3.5.

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

5-2
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

5.2.2 License Settings

Fig. 5.2: Log-on Dialogue License Settings

In order to run the program, users require access to a license key (also known as dongle
or hardlock). By means of the interface described below (License tab of the Log-on dia-
logue), this access is defined.

License Key
In the License Key field, the installed license key setting must be selected. PowerFacto-
ry offers four choices to install the license key:
not available (Demo)
No local key is installed, only Demo version of PowerFactory can be
run.
on local port
A valid PowerFactory license key ('hardlock') must be connected to a
USB or parallel port.
in network (file based communication)
A connection to a network computer, which has the PowerFactory
network license service running must be available. The communication
between the user and the license server is done trough shared
directories.
in network (protocol based communication)
A connection to a network computer, which has the PowerFactory
network license service running must be available. The communication
between the user and the license server is done trough a protocol.
A detailed description of the different license key settings is given in the PowerFactory
Installation Manual. Demo users (those without licence) should select 'not available
(Demo)'.

Serial Number
Your serial number must be provided in the 'Serial Number' field. It can be found on the

5-3
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

page 2 of the license agreement.

License Server
If the you are using a network key with file based communication, the path to the Pow-
erFactory working directory of license server must be provided. This path is usually
mapped on the client machine.
If you are working with a protocol based communication key, you are required to specify
the computer name or the IP network address (as in Figure 5.2) of the license server.

Advanced RPC-Settings
If a network license key with protocol based communication is used, the 'Advanced RPC-
Settings' must be given. To reach these fields, press the arrow button ( ) on the first
page of the License tab.
The 'RPC' settings must be the ones specified in the license server. For detailed informa-
tion consult your network management or see Section 3.2.3 of the PowerFactory In-
stallation Manual.

NOTE: If you are not sure about your license key setting please refer to
your network administrator. File based communication is only rec-
ommended for old versions of PowerFactory that don’t support
protocol based. For further information on the license key config-
uration refer to the Installation Manual.

5.2.3 Network Settings


The PowerFactory installation directory contains the application’s 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:
on local machine
Locally installed on individual computers.
on file server
Only the working directory of each client resides on the local hard disk.
on an application server (e.g. Terminal Server)
The installation and working directories reside on a server.
A detailed description of the different installation methods is given in the PowerFactory
Installation Manual.

Note: If you are not sure about your installation type please refer to your
network administrator. For detailed information about the installa-
tion types see the installation manual Chapter 5.

5-4
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

5.2.4 Database Configuration


In this tab it is specified how the database is going to be used. You can select among:
• A single-user database which resides locally on each computer.
• 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 sys-
tems:
• Oracle.
• Microsoft SQL Server.
For further information about the database configuration please refer to the PowerFac-
tory Installation Manual.

5.2.5 Advanced Settings


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

5.2.6 Appearance Settings


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

5.3 User Accounts and User Groups


The user account philosophy of PowerFactory basically works in the same way as is usu-
al for larger computer systems. The first objectives of the user account managing system
are:
• To protect the 'system' parts of the database from changes by normal users.
• To protect the part of the databases which belongs to user ''A'' from being changed by
user ''B''.
• To allow users to share data.
The user account managing system provides each user with his/her own ''private'' data-
base 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 some of his/her
'private' data.
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 data-
base.

5-5
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

5.3.1 PowerFactory Database Overview


A brief introduction to the top level structure of the PowerFactory database is conve-
nient 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.
User account folders
Contain the project folders and all other folders in which the normal
user defines her/his power systems and all accompanying objects and
settings. Project folders are the housing for the data model that allows
the definition and analysis of a power system: Chapter 7 (The
PowerFactory Data Model) is dedicated to them.
The top level structure described above can be seen in the Data Manager’s screen shot
from Figure 5.3.

Fig. 5.3: Basic database structure

5.3.2 The Database Administrator


A database administrator account is created with the PowerFactory installation. The
main functions of the administrator are:
• Creation and management of user accounts.
• System database maintenance under the guidance of the DIgSILENT customer
support.

5-6
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

Under a multiuser database environment, the administrator is the only user with the rigth
to:
• Add and delete users.
• Define users groups.
• Set individual user rights.
• Restrict or allow calculation functions.
• Set/reset user passwords.
The administrator is also the only user that can modify the main library and the system
folders. Although the administrator has access to all the projects of all the users, it does
not have the rigth to perform any calculation.
To log on as administrator, select the 'Administrator' user from the drop down menu of
the 'Log on' page from the Log-on dialogue and write the corresponding password. By
default the administrator password is Administrator.
For further information about the administrator roll, please refer to the PowerFactory
Installation Manual (Chapter 6).

5.3.3 Creating and Managing User Accounts


In the case of an installation with a local database, the simplest way to create a new user
account is to enter an unknown account name and an arbitrary password in the Log-on
dialogue (see Section 5.2.1). In this case the program will automatically create and acti-
vate 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.
To create a new user:
 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.
The User edit dialogue will pop up:
 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 dialogue will pop up.
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.

5-7
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

Note: The administrator is the only one who may delete a user account.
Although users can delete all projects inside their account folder,
they cannot delete the account folder itself or the standard folders
that belong to it (i.e. the 'Recycle Bin' or the 'Settings' folder).

5.3.4 Creating User Groups


Any project or folder in a user account may be shared. This action can performed selec-
tively by sharing only with certain user groups. User groups are created by the adminis-
trator via the User Manager. To create a new user group:
 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 pops up 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 correspond-
ing edit dialogue (rigth clicking on it and selecting Edit from the context sensitive menu).
Via the context sensitive menu, groups can also be deleted.
The administrator can add users to a group by:
 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.
The last action is carried out by: Right-clicking the user group and selecting Paste Short-
cut from the context sensitive menu.
Users are taken out of a group by deleting their shortcut from the corresponding group.
For information about sharing projects please refer to Chapter 21 (Data Management).

5.3.5 The Demo Account


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
account folder is filled with numerous demonstration projects. These projects are accom-
panied by demonstration command scripts which can automatically activate a demo
project and perform commands such as load-flow, short-circuit or transient analysis. Ex-
ecution 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. Selecting a demonstration will start the appropriate com-
mand script.

5-8
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

Note: The menu option File  Examples is only available when one is
logged into the Demo account.

The ''Demo'' projects may also be activated and observed in the manner normally em-
ployed by PowerFactory. To learn how this is achieved it is best to work through the
on-line tutorial that is provided.
A demo user has read and write permissions for all demonstration projects. However, cal-
culations will only be permitted for the demonstration networks as long as they have not
been changed in a topological sense. This means that adding or deleting lines, transform-
ers, loads, machines, etc., will lead to error messages.
Licensed users may log on as demo users, change the demonstration projects in any way,
and still be able to start a calculation (as long as their hardlock is available to PowerFac-
tory). However licensed users are recommended to copy and paste into their own ac-
count the ''Demo'' projects of their interest.
As long as a user does not make any topological changes, these demonstration projects
may be used to experiment with PowerFactory. Such experimentation may include:
• Changing and executing commands such as load-flow, short-circuit or transient
analysis.
• Changing power system elements such as selecting other line types, changing
generator settings, etc.
• Creating new calculation cases
• Changing the appearance of the single line graphics except for adding or deleting
power system elements.
• Creating or changing virtual instruments panels such as defining graphs or changing
bar diagrams.

5-9
DIgSILENT PowerFactory Program Setting, Logging on and User Accounts

5 - 10
DIgSILENT PowerFactory User Settings

Chapter 6
User Settings

The User Settings dialogue, shown in Figure 6.1, offers options for many global features
of PowerFactory. This chapter is dedicated to describe this options. The User settings
dialogue may be opened either by clicking the User Settings icon ( ) on the main
tool bar, or by selecting the Options  User Settings... menu item from the main menu.

6.1 General Settings

Fig. 6.1: User Settings dialogue

The general settings include (Figure 6.1):


Confirm Delete Activity
Pops up a confirmation dialogue whenever something is about to be
deleted.
Open Graphics Automatically
Causes the graphics windows to re-appear automatically when a
project is activated. When not checked, the graphics window must be
opened manually.
Beep on user errors
May be de-selected to suppress sounds.
Use Multiple Data Manager
When enabled, more than one data manager dialogue can be opened
at a time. When disabled only one data manager may be opened at a

6-1
DIgSILENT PowerFactory User Settings

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

6.2 Graphic Windows Settings


The graphic windows has the following settings.

Cursor settings
Defines the cursor shape:
Arrow
A normal, arrow shaped cursor.
Crosshair
A large, full screen cross.

6-2
DIgSILENT PowerFactory User Settings

Tracking cross
A small cross.

General Options
Valid for all graphs:
Show Grid only if stepsize will be least
Grid points smaller than the selected size will not be shown.
Show Text only if height will be least
Text smaller than the selected size will not be shown.
No. of columns in graphics floater
Specifies the width of the graphics toolbar when this is a floating
window.
No. of columns in graphics docker
Specifies the width of the graphics toolbar when it is docked on the
right side of the drawing space.
Line factor when printing
The width of all lines in the graphics will be multiplied by the specified
percentage when printing.

Coordinate Output at statusbar in mm


Specifies that the status bar will display the cursor position in millimeters.

Update Hidden pages always


Results in all graphical pages on a graphics board being updated, even when they are not
visible. Note that this can slow the processing speed considerably. The advantage is that
no updating is required when a different graphics page is selected.

Exclude Feeder Colors


May be used to exclude colors, by number code, which are to be used for feeder defini-
tions. This is used to prevent the use of colors which are already used for other purposes.
Ranges of color numbers are entered as '2-9'. Multiple ranges of colors must separated
by commas, as in '2-9;16-23'.

Update Graphic while Simulation is running

Use own background color for single line graphics


If the option is enabled, the user can define the background color of the single line graph-
ics by using the pop up menu and then pressing OK.

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

6-3
DIgSILENT PowerFactory User Settings

Allow Resizing of branch objects


If the option is enabled, the user can left click a branch element within the single line
graphic and then resize it.

Edit Mode Cursor Set


Allows the selection of the mouse pointer shape.

Mark Objects in Region


Defines how objects within an user defined region of the single line graphic (defined by
left clicking and then drawing a rectangle) are selected:
Complete
Only the objects, that are completely enclosed in the defined region,
are selected.
Partial
All the objects within the defined area are selected.

Show balloon Help


Enables or disables the balloon help dialogues.

For information about the Graphic Window refer to Chapter 10 (The Graphics Editor).

6.3 Data Manager Settings


The data manager tab specifies which object types will be displayed or hidden in the tree
representation, and whether confirmation prompts will appear when objects or data is
changed in the data manager itself.

Show in Treelist
Object classes that are selected will be displayed in the database tree.

Browser
Save data automatically
The data manager will not ask for confirmation every time a value is
changed in the data browser when this option is selected.
Sort Automatically
Specifies that objects are automatically sorted (by name) in the data
browser.

Operation Scenario
If the Save active Operation Scenario automatically is enabled, the period for automatic

6-4
DIgSILENT PowerFactory User Settings

saving must be defined.

Export/Import Data
Configures the export and import of PowerFactory 'DZ'-files, as follows:
Binary Data
Saves binary data, such as results in the result folders, to the 'DZ'
export files according to selection.
Export References to Deleted Objects
Will also export references to objects which reside in the recycle bin.
Normally, connections to these objects are deleted on export.
Enable export of activated projects
Will permit the export of an activated project.

Folders for Global Library


The default global type folder is the System\Library\Types folder. This default folder
contains many predefined object types, but objects within this folder may not be changed
by the user (read-only access). This option allows the user to specify a different ''Global
Type Folder'', possibly a company specific and defined type library.
For information about the Power Factory Database Manager refer to Chapter 11 (The
Data Manager).

6.4 Output Window Settings


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

6.5 Functions Settings


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

6-5
DIgSILENT PowerFactory User Settings

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

6.7 Editor
The editor which is used to enter large pieces of text (such as DPL scripts, objects de-
scriptions, etc.) can be configured on this page.

Options
Enable Virtual Space
Allows the cursor to move into empty areas.
Enable Auto Indent
Automatically indents the next line.
Enable Backspace at Start of Line
Will not stop the backspace at the left-most position, but will continue
at the end of the previous line.
View blanks and tabs
Shows these spaces.
Show Selection Margin
Provides a column on the left side where bookmarks and other
markings are shown.
Show line Numbers
Shows line numbers.
Tab Size
Defines the width of a single tab.

Tabs
Toggles between the use of standard tabs, or to insert spaces when the tab-key is used.

Language coloring
Defines the syntax-highlighting used when the type of text is not known.

ShortCuts
Opens the short-cut definition dialogue.

6-6
DIgSILENT PowerFactory User Settings

6.8 Station Ware


When working with DIgSILENT’s StationWare, connection options are stored in the
user settings.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.

6-7
DIgSILENT PowerFactory User Settings

6-8
DIgSILENT PowerFactory The PowerFactory Data Model

Chapter 7
The PowerFactory Data Model

Up to this point, information regarding the general structure of the database, the user
interfaces and the administration of users’ accounts has been given. Now it is time to
describe how the data is organized to model and analyze a power system. The set of
folders and objects hierarchically organized to model and perform calculations on a power
system will be referred to here as the data model.

7.1 Database, Objects and Classes


As explained in Chapter 4 (PowerFactory Overview), PowerFactory uses a hierarchical,
object-oriented database. All the data, which represents power system elements, single
line diagrams, study cases, system operation scenarios, calculation commands, program
settings etc., are stored as objects inside a hierarchical set of 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 the class
defined for synchronous machines (called ElmSym in PowerFactory); whereas an object
storing the settings for a load flow calculation belongs to a class defined to set and
execute load flows (called ComLdf ), and so on.
Analogous to Windows, classes may be seen as the file extensions of the objects. Each
object belongs to a class and each class has a specific set of parameters that defines the
objects which it represents. As explained in Section 4.5 (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.
This information may seem somewhat academic to the user at first, as PowerFactory will
assign objects automatically. However it is useful for the reader to have some under-
standing of this arrangement before the data model and its management tools are
described. The PowerFactory database philosophy can thus be summarized by one
'golden' rule:
'Everything is an object, all the objects belong to a class and are stored
according to a hierarchical arrangement in the database tree'
The following sections describe the arrangement of folders in the database and the
objects that are used to represent and analyze power systems with PowerFactory.

7-1
DIgSILENT PowerFactory The PowerFactory Data Model

7.2 PowerFactory Project Structure


Projects are used in PowerFactory to manage the studies of power systems. They
include all of the networks for analysis with their corresponding variations and graphics,
the definitions of the calculations performed, the results, etc. When defining and studying
a system, the user always works on an active project, creating/modifying networks,
performing calculations or analyzing results.
From a database point of view, a project is a directory which stores:
• All the objects that collectively define a power system and its changes over time.
• Objects that the define the graphical representations of the system.
• Objects that define the calculations performed on the system.
• Objects that contain the results of the calculations.
The objects mentioned above are stored in folders according to their functionality. These
folders are hierarchically arranged within the project in order to facilitate the definition of
the studies and optimize the use of the tools provided by the program.
To understand the structure of the 'project folder' it is useful to examine which kind of
information is represented by the data and what it is used for. This will lead us to Power-
Factory’s data model, which is organized in folders as illustrated in Figure 7.1.
In PowerFactory Version 14, all changes in the projects are tracked: the date (day and
time) of each change and the user who made the change are stored inside the database.

7-2
DIgSILENT PowerFactory The PowerFactory Data Model

Fig. 7.1: Data Arrangement Inside a Project (Default Structure of a Project Folder)

The default project structure (the data model described above) is shown in Figure 7.1.
The remaining sections of this chapter deal with the description of the objects/folders
shown above. For information on how to create and configure a new project please refer
to Section 9.1 (Defining and Configuring a Project).

7.2.1 The Library


The library contains the equipment types (as in older versions of PowerFactory), special
operational information, DPL scripts, templates and user-defined models. To make the
library simple to navigate, PowerFactory Version 14 stores equipment types in a special
subfolder called Equipment Type Library.
Equipment Type Library
It is convenient to store all manufacturer-specific data in the same
location and organize it in such a way that it can be easily accessed
when defining power system elements. Within the data model this

7-3
DIgSILENT PowerFactory The PowerFactory Data Model

information corresponds to the above mentioned type data and is


stored inside the Equipment Type Library folder.
An equipment type object holds the essential electrical information for
each class of network component. This information is usually provided
in manufacturers’ data sheets. Within the project structure, the type
objects are stored inside the Equipment Type Library. Type objects
may be sorted by class using library subfolders, i.e. a subfolder for
generator types, a subfolder for line types etc.
Operational Library
It is often desired to change the operation point of a network in order
to analyze the effects of different loading levels, changed maintenance
schedules or operational limits. An Operational Library folder, which
contains sorted operational alternatives, is part of the approach used
by PowerFactory to manage this task.

Fig. 7.2: The Operational Library

To create a new element in one of these folders, first select the folder
by clicking once on it. Then press the ‘New Object’ button ( ), and
select the desired element.
The network may need to be analyzed at different times of the day, week or year, where
changed load conditions and different component ratings are considered. As described
above, Operational Library objects and Operation Scenarios facilitate this analysis by
allowing the definition of different operational data. The Parameter Characteristics tool is
designed to extend this flexibility of analysis via the use of characteristics. Characteristics
are defined by a range of values, as opposed to a single fixed value, which are assigned
to the parameters of selected power systems elements. Within this range, the selection
of the appropriate value for the parameter is carried out according to a user-defined
trigger. For example, the active power demand of a load can be modeled by means of a
characteristic with 12 values, each one corresponding to a month of the year. If the
trigger is set to January (triggers are user-defined), then the value used by the program
to perform the calculations will be the first value of the characteristic; if the trigger is set
to December, the last value of the characteristic will be used.
Additional objects which support the calculations and the modeling of the system are also
stored inside the Library folder. These objects include: automation commands developed

7-4
DIgSILENT PowerFactory The PowerFactory Data Model

with the DIgSILENT Programming Language (DPL) and user-defined templates for
composite network elements.

7.2.2 The Network Model


It would be convenient to have simultaneous access to all electrical and graphical data
relating to the network to be analyzed (i.e. all objects that define the analyzed system
and its graphical representation). This is achieved by storing all network data in the
Network Model folder. The Network Model contains the electrical and graphical infor-
mation for the grid. To further enhance manageability, this information is split into two
subfolders: Diagrams and Network Data. An additional subfolder, Variations,
contains all expansion stages for planning purposes. Together with Operation Scenarios
(see Section 7.2.3) the concept of Variations takes place of the earlier system stage
concept in PowerFactory.
Network Data
The electrical data may be sorted according to logical, organizational
and/or geographical areas; therefore within any project, one or more
Grid objects may be defined. All Grids are by default contained within
the Network Data folder.
Diagrams
When drawing a grid, all graphic information is automatically stored in
this folder.
Variations
In order to plan or assess the network under different topological
configurations, it is useful to be able to create variations of the current
network. These variations are linked to the original network data, so
that changes made to the original network are automatically
transferred to the variation. Additionally, these variations should be
placed in a time frame, in order to allow scheduled expansion plans.
PowerFactory uses objects called Expansion Stages to model these
time-dependant variations. Expansion stages are stored inside
Variation objects. Variations can be seen as expansion plans
composed of different expansion stages, which are chronologically
activated. Variations, like all other network data, are stored inside the
Network Model folder. Expansion Stages (of an active Variation) are
activated automatically by PowerFactory, if you set the date and time
of the calculation case to a value, which is equal to or higher than the
Activation Time of the expansion stage.
The concepts of Variations and Expansion Stages are complemented by
Operation Scenarios, which are stored on the same hierarchical level as
the network model, because these scenarios don't model the grid itself,
only its operation.

7.2.3 Operation Scenarios


Storing recurrent operation points and being able to activate or deactivate them when
required, accelerates the analyses of the network under different operative conditions,
e.g. different dispatch programs, low or high load periods, etc. PowerFactory can store
complete operation points in objects called operation scenarios. This kind of data, which

7-5
DIgSILENT PowerFactory The PowerFactory Data Model

is subject to frequent changes during a study and may be used to simulate different
operation scenarios of the same network, is further grouped into subsets. Within the
project folder, operation scenarios are stored inside the Operation Scenarios folder.

Fig. 7.3: Operation Scenarios

We may need to analyze the network at different times during the day, week or year,
where changed loading conditions and different component ratings are considered. As
described above, Operational Library objects and Operation Scenarios facilitate this
feature by allowing the definition of different operation points. Scenarios facilitate this
analysis by allowing the definition of different operational data. The Parameter Charac-
teristics tool is designed to extend this flexibility of analysis via the use of characteristics.
Characteristics are defined by a range of values, as opposed to a single fixed value, which
are assigned to the parameters of selected power systems elements. Within this range,
the selection of the appropriate value for the parameter is carried out according to a user-
defined trigger. For example, the active power demand of a load can be modeled by
means of a characteristic with 12 values, each one corresponding to a month of the year.
If the trigger is set to January (triggers are user-defined), then the value used by the
program to perform the calculations will be the first value of the characteristic; if the
trigger is set to December, the last value of the characteristic will be used.

7.2.4 Study Cases


Once the network data has been entered and configured, users may wish to perform
network studies, including load-flow, various short-circuits, time-dependant simulations,
etc. It would be useful if the results of these studies could also be stored for review or
repeated later. The concept of the Study Case is the same as it was in previous versions
of PowerFactory. In PowerFactory Version 14 all study cases are stored inside a folder
called Study Cases.

7.2.5 Changed Settings


Project settings such as user-defined diagram styles for example, which differ from global
settings, are stored inside the Changed Settings folder.

7-6
DIgSILENT PowerFactory The PowerFactory Data Model

7.3 The Network Model


As introduced in Section 7.2.2, the Network Model folder contains the all graphical and
electrical data which defines the networks and the single line diagrams of the power
system under study. This set of data is referred as the network data model. The following
folders are defined inside the Network Model folder:
Network Diagrams ( )
Contains all objects pertaining to graphical information (single line
diagrams) from the networks defined in the project.
Network Data ( )
Contains all network components of the power system: generators,
busbars, transformers, lines, switches, controller models, etc. These
network components are stored in this folder, in accordance with
PowerFactory’s handling of network topologies (7.3.2 (Network
Topology Handling))
Variations ( )
This folder, as introduced in Section 7.2.2, contains the objects which
represent variations of the defined networks, such as topological
changes, installation or retirement of network components, etc. Time
stamps of these variations can be set in order to make the variations
time-dependant.
The following subsections describe how the network data model is organized in these
folders. Before any explanation of the Network Data folder is given, a subsection
explaining PowerFactory’s handling of network topology is presented. For an improved
understanding of the following subsections, the key concepts related to the modeling of
electric power systems with PowerFactory are recapped:
• Data model: The hierarchical set of objects from the database which are used to
model and analyze a power system. All objects which comprise the data model are
stored in the project folder.
• Network data model: The hierarchical subset of objects, within the data model,
which are used to represent and model the electrical networks of the power system
under analysis. Most objects from the network data model correspond to: electrical
network components; graphical representations of the electrical components and sets
of electrical components, grouped for analysis purposes. The objects comprising the
network data model are stored inside the Network Model folder, within the Project
folder.
• Network topology handling: The approach used by the data model to represent and
connect the nodes and branches of real networks. This is achieved using by single
electrical network components and sets of them.
• Electrical network components (or simply network components or
elements): Are the objects used to represent real network elements, i.e. generators,
switches, lines, etc. Each of these objects contains a model that DIgSILENT has
developed to reproduce the static and dynamic behavior of the represented element.
The theoretical information about the models and the relation among their
parameters are given in the corresponding technical reference documents, which are
attached to the sections of Appendix C and D. Like all objects in PowerFactory,
components can be identified by their class, for example ElmLod (for loads), ElmLne
(for transmission lines), etc. Each element class has a symbol that helps to distinguish

7-7
DIgSILENT PowerFactory The PowerFactory Data Model

it within the database, for example the symbol used to represent a load is ( ), and
that used to represent a transmission line is ( ).

7.3.1 Network Diagrams


Single line diagrams 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 (see database tree in Figure 7.4).
Single line diagrams are composed of graphical objects, which represent components of
the networks under study. Each graphical object is related (by means of a reference) to
the network component that it is representing; additionally it uses a reference to a symbol
object (IntSym, Appendix E), which defines its graphical appearance.
Figure 7.4 illustrates the information given above. It shows the Network Diagrams folder
of a project, containing two single line graphics: North Grid and South Grid. The content
of North Grid (graphical objects related to network components) is displayed in the right
pane of the Data Manager.

Fig. 7.4: Network Diagrams

The relation between graphical objects and network components allows the definition and
modification of the studied networks directly from the single line diagrams. In addition to
this, the network components can be represented by more than one graphical object
(manyIntGrf objects can refer to the same network component). Therefore, one
component can appear in several diagrams. Thanks to the relation described above,
several diagrams for one network can be defined. Diagrams displaying components from
different networks are also possible.
These diagrams are managed by the active Study Case, and specifically by an object
called the Graphics Board. If a reference to a network diagram is stored in a Study Case’s
Graphics Board, every time the study case is activated, the diagram is automatically
opened. As with any other object, diagrams can be added/deleted from the Graphics
Boards.
Each diagram is related to a specific grid (ElmNet). When a grid is added to an active
study case, the user is asked to select (among the diagrams pointing to that grid) the

7-8
DIgSILENT PowerFactory The PowerFactory Data Model

diagrams that s/he wants to display. References to the selected diagrams are then
automatically created in the corresponding Graphics Board.
Chapter 10 (The Graphics Editor), explains how to define and work with single line
graphics. Additional information about the relation between graphical objects and
network components is given below in Section 7.3.2 (Network Topology Handling). For
further information about symbols and the appearance of graphical objects, please refer
to Appendix E (Reference to the use of Symbols in PowerFactory).

Single Line Graphics and Data Objects


In a simple network there may be a 1:1 relationship between data objects and their
graphical representations, i.e. every load, generator, terminal and line is represented
once in the graphic. However, in this regard, PowerFactory provides additional flexibility
Data objects may be represented graphically on more than one graphic, but only once per
individual graphic. Thus a data object for a single terminal can be represented graphically
on two or more graphics. Both graphical representations contain the link to the same
network component (i.e. the terminal element).
Furthermore, graphical symbols may be moved without losing the link to the data object
(network component) that they represent. Likewise, data objects may be moved without
affecting the graphic.
The graphics themselves are saved in the database tree. This makes finding the correct
single line graphic representation of a particular grid easy, even in the case where there
are several graphical representations of one grid.
When PowerFactory’s drawing tools are used to place a new component (i.e. a line, trans-
former, bar graph, etc.) a new data object is also created in the database tree (in a target
Grid folder). A Single Line Graphic object therefore has a reference to a target Grid folder.
The new data objects are stored in the 'target' folders that the graphics page is associated
with.
Since data objects may have more than one graphical representation, the deletion of a
graphic object should not mean that the data object will also be deleted. Hence the user
may choose to delete only the graphical object (context sensitive menu --> Delete
Graphical Object Only). In this case the user is warned that the data object will not be
deleted.
This suggests that a user may delete all graphical objects related to a data object, with
the data object still residing in the database and being considered for calculation. This is
indeed what will occur, when this kind of graphical deletion is performed.
When an element is deleted completely (context sensitive menu --> Delete Element) a
warning message will request confirmation of the deletion. This warning may be switched
off - see User Settings on the main menu, General tab, and untick Always confirm deletion
of Grid Data).

Note: A graphical object represents an electrical element from the data-


base but is not the element itself. PowerFactory allows the gener-
ation of single line graphics containing any of the defined graphical
objects. Therefore single line graphics containing objects not nec-
essarily stored in the same grid or substation can be created.

7-9
DIgSILENT PowerFactory The PowerFactory Data Model

7.3.2 Network Topology Handling


Network components can be classified as node elements or branch elements. Branch
elements can be further separated single connection elements (generators, motors,
loads, etc.), two connections elements (transmission lines, transformers, etc.) and three
connections elements (three winding transformers, AC/DC converters with two DC
terminals, etc.).
Simple networks are easily modeled in PowerFactory by defining and connecting nodes
and branch elements. For larger networks, in order to achieve a more realistic represen-
tation and facilitate their analysis, basic components may need to be grouped into higher-
level hierarchical objects to represent electrical substations and composite branches (for
example). Furthermore, substations, branches and any other network component can be
grouped within Site objects to represent geographical areas of a system.
The following subsections provide further information regarding the PowerFactory
representation of network topological components.

Nodes
In circuit theory, the junction points connecting lines, generators, loads, etc. to the
network are generally termed ‘nodes’. In PowerFactory, nodes are modeled by means
of objects called 'terminals' (ElmTerm). Depending on their usage within the power
system, terminals can represent busbars, junctions or simply internal nodes (their usage
is defined by a drop down menu found in the Basic Data tab of the terminal dialogue).
According to the selected usage, different calculation functions are enabled; for example
the short-circuit calculation can be performed only for busbars or for busbars and internal
nodes, and so on.
When any branch element is directly connected to a terminal, PowerFactory uses a
'cubicle' (StaCubic) to define the connection. Cubicles may be visualized as the panels
on a switchgear board, or bays in a high voltage yard, to which the branch elements are
connected.
Normally a cubicle is created automatically when an element is connected to a node. In
this case the switch configuration of the new cubicles has been previously defined by the
user and is carried out using simple switches of class StaSwitch (for further information
about defining cubicles refer to Section 11.2: Defining Network Models with the Data
Manager).
PowerFactory also offers the possibility to create more detailed cubicle connections (in
order to model complex busbar-substation configurations) by using switches of class
ElmCoup, whose usage can be set to circuit breaker, disconnector, switch disconnector
or load switch. In this case the branch elements are connected to the terminals (busbars)
through ElmCoup objects. The connection of an ElmCoup to a terminal is carried out by
means of automatically generated cubicles without any additional switch (StaSwitch)
object.
For further information regarding how to connect nodes with branch elements using
circuit breakers (ElmCoup objects) please refer to Section 11.2 (Defining Network
Models with the Data Manager).

7 - 10
DIgSILENT PowerFactory The PowerFactory Data Model

Note: The use of ElmCoup objects also allows the representation of


complex busbar systems by connecting several terminals together.
Additionally they allow the application of running arrangements
(7.5.6: Running Arrangements).

Branch Elements
As explained earlier, branch elements are connected to nodes via cubicles. A connection
between two nodes is made by two-port elements like transformers, switches or lines.
Three-port elements require a connection to three different nodes.
Generally, branch elements are single components whose connection to the network is
automatically set when selecting the connected terminals. From the data model point of
view, the case of transmission lines (and cables) is interesting, because they can be
defined as a one-to-one connection between two nodes, or as folders containing line
sections that together connect two nodes.
The purpose of sectionalizing the line into parts is so that different line types may be used
for the different sections (such as when a cable connecting two nodes uses different types
in different sections, or when a line uses two or more different tower types, or when
manual transpositions should be modeled - since the Transposed option in the type object
is a perfect, balanced, transposition).
For information about how to define transmission lines (and cables) and sections please
refer to Section 10.1 (Defining Network Models with the Graphical Editor). For technical
information about the transmission line and cable model, please refer to Appendix C.10
(Line (ElmLne)).

Substations
Detailed representations of electrical substations can be achieved in PowerFactory by
connecting and storing terminals and switches together, under one 'Substation' object
(ElmSubstat ). Substations can also be used to model composite busbar systems,
by storing terminal and switch arrangements under the same object. Separate single line
diagrams of individual substations can be created. Substation objects allow the use of
running arrangements to store/set a certain status of the station circuit breakers
(ElmCoup objects) (see 7.5.6: Running Arrangements).
For information about how to define substations please refer to Section 10.1 (Defining
Network Models with the Graphical Editor) and 11.2 (Defining Network Models with the
Data Manager).

Branches
Similar to substations, PowerFactory allows nodes and branch elements to be stored
under the same object (the branch object, ElmBranch ) in order to represent
branched-off connections between two terminals or substations. Branches are 'composite'
two-port elements that may be connected at each end to a node. One typical application
is a distribution line with branched-off loads along the connection: transmission lines,
loads and the corresponding terminals can be stored together under the same branch,
and the two ends of the line correspond to the branch connections with the grid. As in the
case of substations, separate single line graphics for branches can be created with the

7 - 11
DIgSILENT PowerFactory The PowerFactory Data Model

graphical editor.
For information about how to define branches please refer to Section 10.1 (Defining
Network Models with the Graphical Editor) and 11.2 (Defining Network Models with the
Data Manager).

Sites
Substations, branches and any other network component can be stored together under
the same 'Site' object in order to represent and analyze a network according to its
geographical (topological) regions.
Sites are high-level hierarchical objects that can store any defined component within a
network. For information about how to define sites please refer to Section 11.2 (Defining
Network Models with the Data Manager).

7.3.3 Network Data


The Network Data folder contains all components which make up the electrical networks
of the power system being analyzed. As introduced in Section 7.2, the electrical data may
be sorted according to logical or organizational and/or geographical areas. Consequently
different networks may arise. These networks are made up of electrical components
which conform to the PowerFactory topology handling approach (explained in the
previous section).
In PowerFactory, electrical networks (as defined above) are stored in 'Grid' folders
(ElmNet ). A power system may have as many grids as defined by the user. These
grids may or may not be interconnected. As long as they are active, they are considered
by the calculations.
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.
Figure 7.5 shows a network model with two grids: North and South. Both networks are
active (red-colored icons). The left pane in the Data Manager shows the hierarchical
organization of the components in the North grid (only objects containing other elements
are shown). The right pane shows the contents of highest hierarchical level of the North
Grid.

7 - 12
DIgSILENT PowerFactory The PowerFactory Data Model

Fig. 7.5: Network Data - Grid folders

Additionally to grids, the Network Data folder contains a set of special objects that allow
the further grouping of network components. This additional grouping of elements is
carried out in order to allow further analysis and calculations of the power system.
By default, when a new project is created, new empty folders to store these special
objects are created inside the Network Model folder. The left pane shown in Figure 7.6
illustrates the complete structure of the Network Data folder from the example shown in
Figure 7.5. Besides the two defined grids (North and South), folders to store the grouping
objects are created. The user can define any of the corresponding grouping objects inside
each of these folders. The right pane shown in Figure 7.6 shows the contents of the
'Feeders' subfolder, which contains a 'Feeder' object named F1.

Fig. 7.6: The Network Data folder

Descriptions of the above mentioned grouping objects and a component's parameter


characteristics is given in the following subsections. The user can define any of these

7 - 13
DIgSILENT PowerFactory The PowerFactory Data Model

additional grouping objects via the use of references to relevant network components
stored in the grid folders.
For information about defining grids please refer to Section 9.2 (Creating New Grids).

Note: A grid (and in general any object comprising the data model) is
active when it is referred to by the current study case. Only objects
referred in the current (active) study case are considered for cal-
culation. An active object can be distinguished in the data manager
because of the red color seen on its icon.

Areas
To facilitate the visualization and analysis of a power system, elements may be allocated
into areas (ElmArea ). The single line graphics can then be colored according to
these areas and special reports after load flow calculations ('Area summary report' and
'Area interchange report') can be generated. Area objects are stored inside the Areas
folder ( ) in the Network Data directory.
For information about defining an Area please refer to Chapter 12 (Grouping Objects).
For information concerning the visualization of areas within the single line Graphic please
refer to 10.6.3 (Commands and Settings for Single Line Graphics). For information about
reporting Area results please refer to Chapter 20 (Reporting Results in PowerFactory).

Virtual Power Plants


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.
For information regarding how to define a Virtual Power Plant, please refer to Chapter 12
(Grouping Objects).

Boundaries
Boundaries are objects used in the definition of network reductions and in summation
reports after a load flow calculation (to report the active and reactive power flow along
the boundary). Boundary objects (ElmBoundary ) may define topological regions by
specifying a topological cut through the network.
New boundaries are created by specifying the cubicles that define the cut through the
network. An interior region, corresponding to the boundary cut, is defined by specifying
a direction for each cubicle. Interior regions and boundaries can be colored in the single
line graphic.

7 - 14
DIgSILENT PowerFactory The PowerFactory Data Model

New boundaries are stored in the Boundaries folder within the Network Data folder. For
information on the definition and functionality of boundaries please refer to Chapter 12
(Grouping Objects). For information on coloring options for boundaries and interior points
please refer to Section 10.6.3 (Commands and Settings for Single Line Graphics).

Circuits

Circuits are objects of class ElmCircuit ( ), and are used to group branches in order
to clarify which branches are connected galvanically. Each branch (ElmBranch) can have
a reference to any defined circuit object. This feature allows branches to be sorted
according to the circuit to which they belong.
For information regarding the definition of circuits and the assignment of branches to a
circuit, please refer to Chapter 12 (Grouping Objects).

Feeders
When analyzing a system it is often useful to know where the various elements are
receiving their power supply from. In PowerFactory this is achieved using Feeder Defini-
tions (ElmFeeder ).
A feeder is defined at a line or transformer end, and then the feeder definition algorithm
searches the system from the definition point to determine the extent of the feeder. The
feeder ends when:
• An open breaker is encountered; or
• The end of a line of supply is encountered; or
• ‘Terminate feeder at this point’ is enabled in a cubicle (optional); or
• A higher voltage is encountered (optional).
Once a feeder has been defined it may be used to scale the loads connected along it
according to a measured current or power, to create voltage profile plots or to select
particular branches and connected objects in the network. Following load flow calcula-
tions, special reports can be created for the defined feeders. To distinguish the different
feeder definitions, they can be colored uniquely in the single line graphic. All feeder
objects are stored in the Feeders folder ( ) in the Network Data folder.
For information regarding the definition of feeders and load scaling please refer to
Chapter 12 (Grouping Objects). For information about coloring the single line graphic
according to feeder definitions please refer to Section 10.6.3 (Commands and Settings for
Single Line Graphics). For information about voltage profile plots, please refer to
Chapter 20 (Reporting Results in PowerFactory).

Operators
For descriptive purposes, it is useful to sort network components according to their
operators. Additionally, system operators may find it advantageous to generate summary
reports of the losses, generation, load, etc. according to their designated region(s).
PowerFactory allows the definition of operators, the assignment of network compo-
nents to these operators, and the identification of operators on single line diagrams by
means of Operator objects.
The Operator objects (ElmOperator, ) are stored in the Operators folder ( ) in the

7 - 15
DIgSILENT PowerFactory The PowerFactory Data Model

Network Model directory.


Further information about the definition and functionality of Operator objects is given in
Chapter 12 (Grouping Objects).

Owners
For descriptive purposes it is useful to sort network components according to their
owners. Additionally, for network owners it may prove advantageous to generate
summary reports of the losses, generation, load, etc. for their region(s). Similar to
Operators, PowerFactory allows the definition of network owners, and the assignment
of network components to them, by means of Owner objects.
The Owner objects (ElmOwner, ) are stored in the 'Owners' folder ( ) in the
Network Model directory.
Further information regarding the definition and functionality of Owner objects is given in
Chapter 12 (Grouping Objects).

Paths

A path (SetPath, ) is a set of two or more terminals and their interconnected objects.
This is used primarily by the protection module to analyze the operation of protection
devices within a network.
The defined paths can be colored in a single line graphic using the coloring function. New
paths are stored inside the Paths folder ( ) in the Network Data directory.
For information regarding how to define a path please refer to Chapter 12 (Grouping
Objects). For information about the coloring function please refer to Section 10.6.3
(Commands and Settings for Single Line Graphics). For information about the use of the
path definitions for the analysis of the protective devices, please refer to Chapter 32
(Protection).

Routes
Routes are objects which are used to group line couplings (tower elements). Each
coupling (ElmTow) can have a reference to any defined route (ElmRoute, ). Each
route has a color that can be used to identify it in single line diagrams, when the corre-
sponding coloring function is enabled.
For information regarding line couplings please refer to the technical reference for the
transmission line model (Appendix C.10 (Line (ElmLne))); for information about the
definition of routes and the assignment of couplings to a route, please refer to Chapter 12
(Grouping Objects). For information about coloring functions in single line diagrams,
please refer to Section 10.6.3 (Commands and Settings for Single Line Graphics).

Zones

Components of a network may be allocated to a zone object (ElmZone, ) in order to


represent geographical regions of the system. Each zone has a color which can be used
to identify the 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

7 - 16
DIgSILENT PowerFactory The PowerFactory Data Model

can be quickly scaled from the zone edit dialogue. Reports for the defined zones can be
generated following calculations.
Upon being defined, zones are by default stored inside the Zones folder ( ) in the
Network Data folder. For information regarding the definition of a zone and its function-
ality, please refer to Chapter 12 (Grouping Objects).

7.3.4 Variations and Expansion Stages


During the planning and assessment of a power system it is necessary to analyze different
variations and expansion alternatives of the original networks. In PowerFactory these
variations are modeled by means of 'Variations', which are objects that can store and
implement the changes which are expected on a network without affecting the original
model. The use of variations allows the user to conduct studies under different network
configurations in an organized and simple way. The user only needs to define (by means
of Variations) the changes that s/he wants to implement and then activate or deactivate
them according to her/his studies.
Different variations can be independently applied (activated) at the same time to the
same network, which further facilitates the user. The changes can also be implemented
gradually according to the study time in order to allow the representation of scheduled
expansion plans.
Variations objects (IntScheme, ) are stored inside the Variations folder ( ) which
resides in the Network Model folder. As introduced in Section 7.2, 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. 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
variation 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. The changes contained in an expansion stage can be classified as:
• Changed parameters of network components;
• Additions; i.e. objects added to the network.
• Deletions; i.e. objects removed from the network.
The example shown in Figure 7.7 illustrates the concept of variations and expansion
stages. Variation 1 is composed of expansion stages: Stage 1, Stage 2 and Stage 3.
Assume that the activation time of each of the expansion stages is t1, t2 and t3, respec-
tively. With Variation 1 active and a study time between t1 and t2, the changes stored in
Stage 1 apply to the original network. For a study time between t2 and t3, the changes
from Stage 1 and Stage 2 apply. Similarly, for a study time greater than t3, changes from
Stage 1 to Stage 3 apply. In this case, the red coloring of Variation 1 indicates that it is
activated and that the changes included in its expansion stages are considered. The dark
red color on Stage 1 means that the stored changes were already applied (the study time

7 - 17
DIgSILENT PowerFactory The PowerFactory Data Model

precedes t1). The red color on Stage 2 means that this is the current stage (the study
time is between t2 and t3). The changes inside it have been applied and modifications
carried out on the network will be stored inside this stage. The black color on Stage 3
means that the study time precedes t3; therefore the included changes have not yet been
applied.

Fig. 7.7: Variations and expansion stages

Within an active variation, all changes applied to the actual network (i.e original network
plus changes of preceding expansion stages) are recorded in the current expansion stage.
Therefore, it is important to note that the current expansion stage is also the "recording"
expansion stage. It may be possible to have two (or more) active variations and therefore
two (or more) current expansion stages; only one of them can be set as the recording
expansion stage (changes can only be stored in one of the actual expansion stages). In
such cases the user must set one of the current expansion stages as the recording stage.
In the example shown in Figure 7.7, if it assumed that Variation 1 is the only active
variation: the recording expansion stage for a study time between t1 and t2 is Stage 1;
for a study time between t2 and t3 it is Stage 2 (as illustrated in the figure); for a study
time greater than t3 it is Stage 3. The study time may be changed to store modifications
in a different expansion stage. It is also possible (and recommended) to directly set the
desired stage as the recording expansion stage. This last action will automatically change
the study time.
Variations and expansion stages are not only used to record time-dependant modifica-
tions to the network model. Time dependencies of operational objects can also be
modeled by means of them, in this case they are known as 'Variations'.
For information about defining, setting, activating and working with Variations and
Expansion Stages, please refer to Chapter 17 (Network Variations and Expansion Stages).
For information about Study Cases and the Study Time please refer to Section 13.3 (Study
Time).

Note: Operational parameters can only be changed if there is no active


operation scenario.

7 - 18
DIgSILENT PowerFactory The PowerFactory Data Model

7.4 The Equipment Type Library


A type object holds the essential electrical information for each class of network
component. This information is usually provided in manufacture's data sheets. Within the
project structure the type objects are stored inside the Equipment Type Library. Type
objects may be sorted by class using library subfolders ( ). Figure 7.8 shows the
equipment library of a project containing generator, load and transformer types, all sorted
using library subfolders.

Fig. 7.8: The Equipment Library

Unlike the Global Library (Section 5.3: User Accounts and User Groups), which is acces-
sible to all users, the local Equipment Type Library can only be used by the project owner
and those with which the project is shared. It is used to define types that are going to be
used in the specific project.
When defining a new network component, the user is asked for a type object. There s/
he can choose among a 'Global Type' (from the Global Library), a 'Project Type' (from the
project Equipment Library) or a New Project Type (Figure 7.9). If the latter option is
selected, a new type will be defined and automatically stored in the local Equipment Type
Library.

Notice: The local Equipment Type Library is generated automatically with


a project. By default the equipment libraries include the 'Scales'
folder (IntScales), which is used to store time scales (for further
information please refer to Chapter 18: Parameter Characteristics).

Fig. 7.9: Defining the type for a generator element

Inside the equipment libraries, the user can define new suitable types for her/his project

7 - 19
DIgSILENT PowerFactory The PowerFactory Data Model

or simply copy types from the Global Library or other folders. If the types inside the
Equipment Type Library are to be sorted according to their class, the user must create
new folders for each class.
For information regarding how to set the equipment library please refer to Chapter 14
(The Equipment Type Library). For an explanation about type data please refer to
Section 4.4 (Data Arrangement).

7.5 The Operational Library


Network components use references to type objects in order to set parameters related to
the equipment itself and avoid data redundancy. For example, two generators defined in
a network model (let’s call them G1 and G2) may refer to the same generator type (let’s
call it ‘G 190M-18kV’) to set their manufacturer equipment related data, i.e. nominal
voltage, nominal power, impedances, etc. G1 and G2 will have the same equipment data
but may be operated at different points or may be connected to ground in a different way.
That is, they may have the same type data, but different operational and element data.
As mentioned, certain parameters of network components do not depend on the
equipment itself but on the operational point. These parameters are grouped under the
operational data set of the element. In the previous example considering synchronous
generators, the active power dispatch or the reactive power limits are part of this opera-
tional data.
In order to analyze a network under different operational points, operational data may
change frequently during a study. Considering that different network components may
have identical operational parameters (for example 2 generators with the same MVAr
limits or various circuit breakers with the same ratings for short-circuit currents); refer-
ences to objects storing operational data would facilitate the definition of different
network operational points. Similar to types, the use of objects containing operational
data avoids redundancy.
The Operational Library is the folder where objects containing operational data are stored.
The description of these objects and their hierarchical organization within the Operational
Library is the subject of the following subsections. Figure 7.10 shows how the Operational
Library looks from its uppermost hierarchical level.

7 - 20
DIgSILENT PowerFactory The PowerFactory Data Model

Fig. 7.10: Operational Library

Note: Please note that fault conditions of network components are also
considered part of the operational data.

7.5.1 Circuit Breaker Ratings

Circuit Breaker Rating objects (IntCbrating ) contain information that defines the
rated short-circuit currents for circuit breakers (objects of class ElmCoup). They are
stored inside the CB-Rating folder ( ) in the Operational Library. Any circuit breaker
(ElmCoup) defined in the Network Model can use a reference to a Circuit Breaker Rating
object in order to change its current ratings. Originally these ratings are defined in the
type of the circuit breaker element.
The right side of Figure 7.11 shows the edit dialogue of the IntCbrating object. The left
side shows the edit dialogue of a circuit breaker where a reference to an IntCbrating
object called Rating 1 is created.

7 - 21
DIgSILENT PowerFactory The PowerFactory Data Model

Fig. 7.11: CB-Rating

As shown in Figure 7.11, the parameters defined by a circuit breaker rating are:
• Three phase initial peak short circuit current
• Single phase initial peak short circuit current
• Three phase peak break short circuit current
• Single phase peak break short circuit current
• Three phase RMS break short circuit current
• Single phase RMS break short circuit current
• DC time constant
For information about how to define new circuit breaker ratings please refer to
Section 15.1 (Circuit Breaker Ratings).

Note: Circuit breaker elements (ElmCoup) must be distinguished from


Switch objects (StaSwitch); the latter are automatically created in-
side cubicles when connecting a branch element (which differs to
a circuit breaker) to a terminal. StaSwitch object employ referenc-
es to Circuit Breaker Rating objects.

7.5.2 Demand Transfer


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

7 - 22
DIgSILENT PowerFactory The PowerFactory Data Model

of Load Demand Transfers (objects of the class IntOutage). This transfer only takes
place if it is applied during a validity period defined by the user (i.e. if the current study
time lies within the validity period).
Figure 7.12 shows the edit dialogue of a Load Demand Transfer. In this case the user will
transfer 13 MW from a load called Load A to a load called Load B (the active power
demand of Load of A will be reduced by 13 MW, which will be added to the demand of
Load B).

Fig. 7.12: Load Demand Transfer

The demand transfer can be defined with absolute values (MW and MVA) or with relative
(percent) values. For information regarding how to define and how to apply Load Demand
Transfers, please refer to Section 15.2 (Demand Transfers).

7.5.3 Faults
The calculation commands provided by the reliability assessment function of Power-
Factory use objects called Contingencies (ComContingency and ComOutage) to
simulate the outage (and subsequent recovery) of one or more system elements. In order
to facilitate the definition of these Contingencies and to avoid data redundancy, objects
called Fault Cases (class IntEvt) are defined in the Operational Library.
Whenever it is required, the user can create new Contingencies based on the defined fault
cases. Fault cases can be considered to be fault scenarios that determine the outage of
one or more system elements. They are comprised of a collection of events (i.e. short-
circuits, switching) that define how the elements are taken out of service.
Fault cases are stored inside the Faults folder within the Operational Library. Besides fault
cases, other objects which facilitate the management of fault scenarios and the creation
of contingencies are stored in the Faults folder.
This section focusses on the data structure of the Faults folder and the objects that
comprise it. The actual functionality of these objects will be presented in Chapter 29

7 - 23
DIgSILENT PowerFactory The PowerFactory Data Model

(Reliability Assessment).
The 'Faults' folder ( ) can store two kinds subfolders:
1 Fault Cases folders (IntFltcases ): stores objects that represent fault
scenarios (fault cases IntEvt )
2 Fault Groups folders (IntFltgroups, ): stores objects called Fault Groups
(IntFaultgrp ), which in-turn store references to fault cases.
The user can define as many subfolders (fault cases-IntFltcases and fault groups-
IntFltgroups) and objects (fault cases-IntEvt and fault groups-IntFaultgrp) as s/he
needs.
The uppermost window in Figure 7.13 shows the Faults folder in a project. Two Fault
Cases subfolders (Cases North and Cases South) have been defined; and a Fault Groups
subfolder, called Grouping Faults is also contained. The middle window in Figure 7.13
shows the content of Cases South, which stores three fault cases: namely Bus 1, G1 and
T1. In the bottom window of Figure 7.13, a fault group called Fault Group has been
defined inside Grouping Faults which contains references to the fault case Line2-Line5
(defined in the Cases North).

7 - 24
DIgSILENT PowerFactory The PowerFactory Data Model

Fig. 7.13: The Faults Folder

In the following subsections more detailed descriptions of the fault case object and the
fault group object are given. For information on how to define new objects in the Faults
folder, please refer to Section 15.3 (Fault Cases and Fault Groups).

Fault Cases
Fault cases are objects of class IntEvt (in PowerFactory terminology IntEvt objects
are called Simulation Events/Faults) which are used to model fault scenarios as explained
in the previous section. They are comprised of objects called Events, which represent the

7 - 25
DIgSILENT PowerFactory The PowerFactory Data Model

specific events taking place on the network and leading to the unintended outage of the
elements.
A fault case can of course represent a fault in more than one component; in this case
more than one event would be defined. The fault case Line 2-Line 5 shown in Figure 7.13,
represents a short-circuit fault in transmission lines Line2 and Line 5 of the sample
network. Line 2-Line 5 is therefore made of short-circuit events for the two corresponding
components.
There are two types of Fault Cases:
1 Fault cases without switch events (Type 1): Independent of the current
topology and only stores the fault locations. The corresponding switch events are
automatically generated by the contingency analysis tools. For further information
please refer to Chapter 29 (Reliability Assessment).
2 Fault Case with at least one switch event (Type 2): A Fault Case of Type 2
predefines the switch events that will be used to clear the fault. No automatic
generation of switch events will take place. For further information please refer to
Chapter 29 (Reliability Assessment).

Note: Event objects can generate more than short-circuits. PowerFac-


tory offers several kinds of events for contingency analysis and
time-domain simulations, a detailed description of each event class
is given in Section 13.8 (Events). In the case of fault representa-
tions in the Operational Library by means of fault cases, only short-
circuit and switching events are relevant.

For information on how to define fault cases and how the events of the defined faults are
created please refer to Section 15.3 (Fault Cases and Fault Groups).

Fault Cases and The Contingency Analysis Tool


The main purpose of defining fault cases in the Operational Library is to facilitate the
definition of reliability analyses on complex networks. From the contingency analysis
command (ComSimoutage), the user makes references to the desired fault cases and
the program automatically generates the contingencies for the corresponding compo-
nents. There is no need to redefine the same contingencies each time a contingency
analysis of the network (regardless of its operational point or current configuration) is
required.
This is demonstrated by performing a contingency analysis of the critical components T1,
G1 and Bus 1 in the network South in Figure 7.13. Once the fault cases G1, T1 and Bus 1
have been created, the user can call them from the contingency analysis command every
time s/he needs to analyze the network, considering the contingencies of these compo-
nents.
For further information regarding the use of fault cases to create outages for Power-
Factory’s contingency analysis tools please refer to Chapter 29 (Reliability Assessment).

7 - 26
DIgSILENT PowerFactory The PowerFactory Data Model

Note: The use of IntEvt objects extends beyond PowerFactory’s reliability


analysis functions. Time domain simulations (EMT/RMS) make ref-
erence to IntEvt objects, in order to include simulation events
which take place during runtime. In this case the execution time
sequence of the events must be defined by the user.

Fault Groups
A fault group object (IntFaultgrp) as introduced in 7.5.3 can store references to different
fault cases; therefore they may be considered as 'sets' of faults. Like fault cases, fault
groups can be referred to by the contingency analysis command (ComSimoutage); in
this case all the faults contained in the set will be considered.
For the use of fault cases to create outages for the contingency analysis tools please refer
to Chapter 29 (Reliability Assessment).

7.5.4 Capability Curves for Generators

The Capability Curve objects (IntQlim, ) allow the consideration of distinct


minimum /maximum values of the reactive power, at different levels of active power
injection. Capability curves are stored inside the Mvar Limit Curves folder ( ) in the
Operational Library. 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 a capability curve is used, the
dispatch of the generator always stays within its minimum and maximum range.
For information regarding how to define new capability curves for generators, please refer
to Section 15.4 (Capability Curves (MVAr Limit Curves) for Generators). For information
about the dispatch of synchronous generators, please refer to the corresponding technical
reference (C.28: Synchronous Machine (ElmSym)). For information about Load Flow
calculations and reactive power limits please refer to Chapter 22 (Load Flow Analysis).

7.5.5 Outages
Outages are objects which are used to check and/or apply programmed actions
(programmed outages or generator deratings) over a set of network components. An
outage object requires the definition of the outage period (start and end time), the actions
that are taken during that period (outage type), and the network components affected by
these actions.
The outages (objects of class IntOutage) are stored in the Outages folder inside the
Operational Library. According to the actions performed on the selected elements, the
outages can be of two different types: Outage of an Element or Generator Derating.

Outage of Element
Outages of elements are used to intentionally take certain network components out of
service according to programmed actions (i.e. because of maintenance). In this case,
references to network components which should be out of service during the defined
period, are stored inside the outage object. If the Check button of the outage dialogue is

7 - 27
DIgSILENT PowerFactory The PowerFactory Data Model

pressed, the program looks for the current state of the referred-to elements. If, according
to the current study time (and the outage period), a referred-to component is out of
service but still energized, a warning message is shown in the output window. The
fulfillment of programmed outages can also be checked using the single line graphic
coloring functions. If the Apply button is pressed, the program automatically executes
the outage (which can also be manually carried out by the user) of the referred-to
element(s), as long as the study time lies within the outage period. The outage of an
element consists of the disconnection (deenergizing) and the earthing of the target
component.
Figure 7.14 (front) shows the edit dialogue of the outage object called Planned Outage.
The Outage Type selected is ‘Outage of Element'. The outage period starts on 01.01.2007
and ends on 01.10.2007. The outage contains references to the network components G2
and Line 3 (back, right pane of Data Manager window). If the current study time lies
between the start and the end of the outage, both G2 and Line 3 must be out of service
during this period. This condition may be checked by pressing the Check button or by
setting the coloring mode of the single line graphic to ‘Outage Check’.

Fig. 7.14: Outage of an Element

For information on defining Outages please refer to Section 15.5 (Element Outages and
Generator Deratings). For information regarding the single line graphic coloring function
please refer to Section 10.6.3 (Commands and Settings for Single Line Graphics).

Generator Derating
In this case, a reference to the generator which is to be derated and the amount of MW
reduction is given. Similar to Outage of Element, the fulfillment of the derated condition,
according to the outage period and the current study time, can be known via the Check
button or by setting the coloring function of the single line graphic. The Apply button
automatically executes the derating of the generator (according to the outage period).
For information on defining Outages please refer to Section 15.5 (Element Outages and

7 - 28
DIgSILENT PowerFactory The PowerFactory Data Model

Generator Deratings). For information regarding the single line graphic coloring function
please refer to Section 10.6.3 (Commands and Settings for Single Line Graphics).

Load Demand Transfer


Please refer to Section 7.5.2 (Demand Transfer).

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 de-
fined in the Demand transfer folder, only the outage type Demand
Transfer is enabled.

7.5.6 Running Arrangements

Running Arrangements (IntRunarrange ) are operational data objects that store


statuses of switches (open or closed) of one substation. As shown in Figure 7.15, a
running arrangement uses a reference to the substation object (ElmSubstat) whose
switch statuses are stored. An application period (start and end time) is used to discrim-
inate the use of a running arrangement, according to the study time. Running arrange-
ments are stored in the Running Arrangements folder in the Operational Library ( ).

Fig. 7.15: RA object dialogue

Different configurations of the same substation can be defined by storing the corre-
sponding switch statuses in running arrangements. During the study, the user can apply
any of the stored statuses simply by selecting the corresponding running arrangement. If
a running arrangement is selected for a substation, the status of the switches cannot be
modified (i.e. they become read-only). If there is no setting for a switch in a running
arrangement (i.e. the running arrangement is incomplete), the switch will remain
unchanged but its status will also be set to read-only. If the current running arrangement
is deselected, the switches recover the status that they had before the running
arrangement was selected (and therefore resume their write access status).
Running arrangements can be defined and selected in the substation object dialogue
(Figure 7.16). For information regarding defining, selecting and working with running
arrangements please refer to Section 15.6 (Running Arrangements).

7 - 29
DIgSILENT PowerFactory The PowerFactory Data Model

Fig. 7.16: Definition of a running arrangement via the station object dialogue

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.

7.5.7 Thermal Ratings

Thermal Ratings objects (IntThrating, ) allow the definition of post-fault operational


ratings for certain branch elements, depending on the fault duration and the loading
before the fault. IntThrating objects are stored in the Thermal Rating folder in the
Operational Library ( ). Basically they are two-dimensional matrices whose cells
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).
The components in the Network Model that can use references to thermal ratings are:
transmission lines (ElmLne), 2- and 3-winding transformers (ElmTr2 and ElmTr3),
series reactors (ElmSind) and series capacitors (ElmScap).
Please 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 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 contin-
gency analysis is then performed using a load flow command, where the post-contingency
duration is specified.
For information on how to define thermal rating objects, please refer to Section 15.7
(Thermal Ratings). For information about the contingency analysis command in Power-
Factory please refer to Chapter 29 (Reliability Assessment).

7 - 30
DIgSILENT PowerFactory The PowerFactory Data Model

7.6 The Templates Library


Templates of existing network components (or groups of components) can be defined in
PowerFactory in order to facilitate the further construction of network models. Once a
template has been defined, the user can create new components (or groups of compo-
nents) based on this template. The result is a new component (or group of components)
with the same parameters and configuration as the original one.
Components from templates are created using the graphical editor. Four 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 Branch template (composite branch): New branches with the same configuration as
the original branch (including its diagram).
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 10.1
(Defining Network Models with the Graphical Editor).

7.7 Parameter Characteristics and Parametric Studies


In PowerFactory any parameter may be assigned a range of values that will be
selectable by date and time, or by a user-defined trigger (Section 13.11: Triggers).
Examples include ambient temperature, temporary overload limit, etc.
These kinds of ranges of values are known as characteristics. The range of values may
be in the form of a one-dimensional vector or a two-dimensional matrix. The assignment
of a characteristic may be made either individually to a parameter or to a number of
parameters. If the characteristic is to be applied to parameters across multiple objects
(i.e. active power of all loads), then a reference characteristic is used. Studies which utilize
characteristics are known as parametric studies.
The parametric techniques available in PowerFactory use the flexible, generic 'charac-
teristic vector' (ChaVec, ) or the generic 'characteristic matrix' (ChaMat, ). Both
of these characteristics use some sort of scale with which the target parameter is varied.
Four types of parameter scale are available:
1 Continuous Scale: A continuous function, such as a temperature scale from 0 to
45 degrees.
2 Discrete Scale: A discrete 'case' function, such as 'Temporary Overload' and
‘Emergency Overload'.

7 - 31
DIgSILENT PowerFactory The PowerFactory Data Model

3 Continuous Time Scale: A continuous time-dependent function.


4 Discrete Frequency Scale: A continuous frequency-dependent function.

When the scale is created, a means to 'set' the scale, and thereby to set the parameter
to the corresponding value, is required. This is called a trigger (SetTrigger, ). New
scales are normally defined in the Scales folder of the Equipment Type Library. After a
new scale has been defined, a trigger is automatically created in the active study case
folder (see also Section 13.11: Triggers).
When a trigger is edited and a 'current' value is set (the triggers are accessed by pressing
the in the main toolbar) the scale is set and the parameter value is changed.
When a different study case is activated, or a new study case is created, and a load-flow
is performed, all relevant triggers are copied into the study case folder and may be used
in the new study case.
For information about the different kinds of scales and characteristics and how are they
defined, please refer to Chapter 18 (Parameter Characteristics).

7.8 DIgSILENT Programming Language (DPL) Scripts


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, the
user can define her/his own automation commands (or ‘scripts’) to perform iterative or
repetitive calculations on target networks, and post-process the results. Such user-
defined scripts can be used in all areas of power system analysis, such as:
• Network optimization
• Cable-sizing
• Protection coordination
• Stability analysis
• Parametric sweep analysis
• Contingency analysis
DPL scripts may include any/all of the following:
• Program flow commands such as 'if-else´ and 'do-while'
• PowerFactory commands (i.e. load-flow or short-circuit commands: ComLdf,
ComShc)
• Input and output routines
• Mathematical expressions
• PowerFactory object procedure calls
• Subroutine calls
DPL command objects (ComDpl, ) contain the DPL script itself (amongst other
things). 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,

7 - 32
DIgSILENT PowerFactory The PowerFactory Data Model

pass these to functions or subroutines, and may then output results. This process takes
place following the execution of the object’s corresponding DPL script. DPL scripts are
written by the user utilizing the DPL editor which resides inside the DPL command object.
DPL commands are stored inside the Scripts folder ( ) in the project directory. For
further information about DPL commands and how to write and execute DPL scripts
please refer to Chapter G (The DIgSILENT Programming Language - DPL) and Appendix
H (DPL Reference) (only available in the online help).

7 - 33
DIgSILENT PowerFactory The PowerFactory Data Model

7 - 34
DIgSILENT PowerFactory General Information about Analyses in PowerFactory

Chapter 8
General Information about Analyses in
PowerFactory

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


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

8.1 Calculation Commands in PowerFactory


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

Calculate Load-Flow (Chapter 22: Load Flow Analysis)

Calculate Optimal Power Flow (OPF, Chapter 30: Optimal Power Flow)

Calculate Short-Circuit (Chapter 23: Short-Circuit Analysis)

Break

Reset Calculation

8-1
DIgSILENT PowerFactory General Information about Analyses in PowerFactory

Undo (to reverse the last changings)


Other command icons are grouped together in sub-toolbars which are selected by the
toolbar selection list. If you press the 'Select Toolbar' button ( ), the options for the
different toolbars are depicted by their icons. If you have selected a toolbar different from
the 'Stability' toolbar, the icon for the 'Select Toolbar' button changes.

Fig. 8.1: Available additional toolbars in the main icon bar

The toolbar selection icon (this icon differs in dependence of the


selected toolbar).

Stability analysis commands (Chapter 25: Stability and EMT


Simulations)

Modal analysis commands (Chapter 26: Modal Analysis / Eigenvalue


Calculation)

Contingency analysis commands (Chapter 28: Contingency Analysis)

Reliability analysis commands (Chapter 29: Reliability Assessment)

Harmonics analysis commands (Chapter 24: Harmonics Analysis)

Protection tools (Chapter 32: Protection)

Additional tools (sensitivity analysis, network reduction, cable


reinforcement optimization etc.)

Optimal capacitor placement commands (Chapter 31.1: Optimal


Capacitor Placement)

User defined tools

8.2 Edit relevant Objects for Calculation

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

Pressing the icon will present a menu listing the icons of all classes of objects cur-

8-2
DIgSILENT PowerFactory General Information about Analyses in PowerFactory

rently used for the calculations, as depicted in Figure 8.2. Pressing a class icon will pop
up an object filter browser, filled with all the objects of the selected class, which are con-
sidered by the calculation.
Pressing the line icon, for instance, will open a filter browser which contains a list of all
lines. Pressing the transformer icon gives the list of all transformers, etc. The filter brows-
er can be used to inspect, select or edit selected objects. Normally, the filter browser is
closed after performing any of these actions. It is possible to open more filter browser at
the same time, by repeatedly pressing the icon.

Fig. 8.2: Selecting calculation relevant objects

8.3 Results
Following calculations some messages are printed to the output window. These generally
consist of errors, warnings or information that may be useful when interpreting the cal-
culated data. The load-flow calculation function, for example, will provide the following
message when the power system under analysis is has 2 separated areas:
DIgSI/wrng - 1 area(s) are unsupplied.
DIgSI/info - Grid split into 2 isolated areas
More extensive output is given in the output window, for example, by the (N-1) outage
calculation, which is an option in the load-flow command dialogue. The output given by
that calculation is a list of load-flow calculations that were performed, each with a table
in which the element on outage and all overloaded elements are provided.
The usual place, however, to visualize load-flow or short-circuit calculation results is in
the single line graphics, or the data manager and object filter (when tabulated results are
required). The results on view may configured using the highly flexible, user-definable,
variable sets. These are accessed from the results boxes or flexible data tab. See
Chapter 19 (Defining Variable Sets) for more information.
Some calculations offer additional results in the form of bar-graphs, vector diagrams or
other graphical output. All such outputs are presented by so-called virtual instruments,
which are placed on a virtual instruments page in the current graphics board.

8.4 Comparisons Between Calculations


At many stages in the development of a power system design, the differences between
certain settings or design options become of interest.
For a single calculation, the 'absolute' results are shown in the single line graphics. The
variables that are shown may be specified by the user by altering the result-box defini-
tions.
When comparing two cases, the results of the first calculation are 'frozen'. All subsequent
calculations will then show their results as deviations from the first calculation made. The
subsequent calculation results are stored together with the first result. This allows the

8-3
DIgSILENT PowerFactory General Information about Analyses in PowerFactory

user to re-arrange the comparisons as desired by pressing the icon (see the next Sec-
tion).
The differences between cases are colored according to the severity of the deviation,
making it possible to recognize the differences between calculation cases very easily. The
coloring and severity ranges may be set in the Edit Comparing of Results... menu option,

found by pressing (see the next section).


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

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

8.4.1 Editing a Set Of Comparison Cases


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

8-4
DIgSILENT PowerFactory General Information about Analyses in PowerFactory

Fig. 8.3: The Compare dialogue

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

8.4.2 Update Database


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

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


written by the calculated values.

Updating the database may be performed for:


• Scaling factor of loads
• Transformer taps
• Capacitive Steps of Shunts/Filter
• P,Q of Loads
• P,Q of asynchronous machines

Example:
A load-flow is calculated with the options "Automatic Tap Adjust of Transformers" and

8-5
DIgSILENT PowerFactory General Information about Analyses in PowerFactory

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

8-6
DIgSILENT PowerFactory
Handling


DIgSILENT PowerFactory Basic Project Definition

Chapter 9
Basic Project Definition

The basic database structure in Power Factory and the data model used to define and
study a power system are explained in chapters 4 and 9 respectively. The users are
recommended to familiarize themselves with those topics before continuing with this
chapter. In this section the information about the definition of the data model objects,
stored inside the project folder, is given. The aspects related to the definition of the
networks to be analyzed in a project are given in Chapter 12 (Grouping Objects).

9.1 Defining and Configuring a Project


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.

Method 1 - Using the Main Menu:


• 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:

• In the Data Manager press on the 'New Object' button ( ).


• In the field at the bottom of the New Object window type "IntPrj" (after selecting the
option 'Others' in the Elements field). Note that the names in PowerFactory are
case-sensitive.
• Press Ok. The window that opens next is the edit dialogue of the project folder. Press
Ok.

Method 3 - Direct from the Data Manager:


• Locate the active user in the left-hand portion of the Data Manager.
• Place the cursor on the icon of the active user or a folder within the active user
account and right-click.

9-1
DIgSILENT PowerFactory Basic Project Definition

• From the context sensitive menu choose New -> Project. Press Ok. The window that
opens next is the edit dialogue of the project folder. Press Ok.

Note: The ComNew command is used to create objects of several class-


es. 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 Figure 9.1. Although
a grid folder and a study case are enough to define a system and perform calculations,
the new project may be expanded by creating library folders, extra grids, variations,
operation operation scenarios, operational data objects, extra study cases, graphic
windows, etc.
Projects can be deleted by right clicking on the project name on the data manager and
selecting Delete from the context sensitive menu. Only non active projects can be deleted.

Note: The default structure of the Project folder is arranged to take ad-
vantage of the data model structure and thus the user is advised
to keep to this pre-determined data structure, at least at first until
sufficient experience in using PowerFactory is gained. As may be
inferred, the user is not limited to the pre-determined structure
and may create, within certain limits, their own project structure
for advanced or particular studies.

9-2
DIgSILENT PowerFactory Basic Project Definition

Fig. 9.1: Default Project Structure

9.1.1 The Project Edit Dialogue


The project dialog of Figure 9.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 calculation settings (the base apparent power and the minimal value
of the resistances and conductances in p.u) are defined.
• Pressing the New Grid button will create a new grid and will open the grid edit
dialogue. A second dialogue will ask for the study case to which the new grid folder
will be added. For additional information about creating a new grid please refer to
Section 9.2 (Creating New Grids).
• The New Study Case button will create a new study case and will open its dialogue.
The new study case will not be activated automatically. For further information about
creating study cases please refer to Section 13.1 (Creating and Using Study Cases).
• When a project is created, its settings (i.e.the result box definitions, the reports
definitions, the flexible page selectors, etc.) are defined by the 'default settings' from
the system library. If these settings are changed, the changes are stored in the
Settings folder of the project. The settings from another project or the original
(default) ones can be taken by using the buttons Take from existing Project or

9-3
DIgSILENT PowerFactory Basic Project Definition

Set to default in the 'Changed Settings' field of the edit dialogue. The settings can
only be changed when a project is inactive.
• The name of the active study case is shown in the lower part of the dialog window
under the 'Active Study Case' assignment, it's edit dialog can be opened by pressing
the button.

Fig. 9.2: The project dialogue

• Pressing the Contents button on the dialog will open a new data browser displaying
all the folders included in the current project directory.
The 'Sharing' page of the dialogue allows the definition of the project sharing rules. This
function is especially suitable when working in a multiple user database environment,
further information is given in Chapter 21 (Data Management).
The 'Storage' page provides information about the stored data inside the project.
The 'Description' page, like all object's description pages is used to add user comments
and the approval status.

9.1.2 Project Settings


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.

9-4
DIgSILENT PowerFactory Basic Project Definition

The Validity Period of the Project


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 validy 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 9.2).
The Study Case has got a Study Time, which has to be inside the Validity Period of the
Project.
To specify 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 button with the blue
right arrow). 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.

Advanced Calculation Parameters


• 'Calculation of symmetrical components for untransposed lines'
The selection of one of these methods defines how the sequence components of lines
in PowerFactory will be calculated:
- Method 1: apply the 012 transformation (irrespective of line transposition). This is
the standard method used;
- Method 2: first calculate a symmetrical transposition for untransposed lines, and
then apply the 012 transformation.

9.1.3 Activating and Deactivating Projects


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.

Note: Only one project can be activated at a time.

9-5
DIgSILENT PowerFactory Basic Project Definition

9.1.4 Exporting and Importing of Projects


Projects (or any folder in the data base) can be exported using the *.dz or the *.pfd
(PowerFactory 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.

9.2 Creating New Grids


Electrical networks can be defined in PowerFactory using the Graphical Editor or the
Data Manager. 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 represented 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 connected). 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 becomes 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 description 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 Man-
ager and the Graphical Editor. A good practice is to create and con-
nect the network components in the single line graphic and multi
edit them in the Data Manager.

The concept and the application context of grid folders are presented in Section 7.3.3
(Network Data). The procedure used to define new grids is given in this section.
To add a grid folder to the current network model, various methods may be employed:

9-6
DIgSILENT PowerFactory Basic Project Definition

1 Select Edit --> Project on the main menu. This will open the dialogue of the project
that is currently active. Press the New Grid button.
2 Right-click the project folder in a data manager and select Edit. Press the New Grid
button.
3 Right-click the Network Data folder (of the active project) in a data manager window
and select New --> Grid from the context sensitive menu.
The dialogue to create a new grid will pop up after the indicated actions are performed.
There the grid name, the nominal frequency and a grid owner (optional) may be specified.
A second dialogue will appear after the Ok button has been pressed, here the study case
that the grid will be linked to must be selected. Three options are presented:
1 add this Grid/System Stage to active Study Case: Only available when a
study case is active.
2 activate a new Study Case and add this Grid/System Stage: Creates and
activates a new study case for the new grid.
3 activate an existing Study Case and add this Grid/System Stage: Add
the new grid folder to an existing, but not yet active study case.
After the Ok button of the second dialogue is pressed, the new grid is created in the
Network Model folder and a reference in the Summary Grid object of the selected study
case is created. Normally, the second option is preferred because this creates a new study
case, dedicated to the new grid only. In that way, the new grid may be tested separately
by load-flow or other calculations. To analyze the combination of two or more grids, new
study cases may be created later on, or the existing ones may be altered.
As indicated in Chapter 13 (Study Cases), grids can be added or removed from the active
study case afterwards by right clicking and selecting Add/Remove from Active study case.

9-7
DIgSILENT PowerFactory Basic Project Definition

9-8
DIgSILENT PowerFactory The Graphics Editor

Chapter 10
The Graphics Editor

PowerFactory works with three different classes of graphics: Single Line Diagrams,
Block Diagrams, and Virtual Instruments (see 10.2.2 for more information). They
constitute the main tools used to design new power systems, controller block diagrams
and displays of results.

10.1 Defining Network Models with the Graphical Editor


In this section it is explained how the tools of the Graphical Editor are used to define and
work with network models.

10.1.1 Adding New Power System Elements


Drawing power system elements is a simple matter of choosing the required element
representation in the Drawing Toolbox. Input parameters of the element are edited
through the element and type dialogs. Complete information about the element and type
parameters is 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 ( ). As the cursor is positioned over the drawing
surface, it will have a symbol of the selected tool 'attached' to it, showing that the cursor
is, for example, in 'Terminal' drawing mode (to reset the mode either press the cursor
button at the bottom of the toolbox or right-click).
Power system elements are placed and 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 default 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.

10 - 1
DIgSILENT PowerFactory The Graphics Editor

3 By first left clicking on an empty place, consequently clicking on the drawing surface
to define a non-straight connection line and finally clicking on a terminal to make the
connection.

Note: To place a branch element in a single line diagram the nodes where
it is going to be connected must be already defined. No ''connec-
tion free' branch elements are allowed.

Figure 8.SLG1 shows an example of a generator placed according to the first method (left
generator), one placed according to the second method (middle generator), and one
placed according to the third method (right generator with long connection).

Fig. 10.1: Three graphical objects

If a load or machine is connected to a terminal using the first method (single left click on
busbar), but a cubicle already exists at that position on the busbar, the load or machine
symbol will be automatically positioned on the other side of the terminal, if possible.
By default all power system elements are positioned ''bottom down''. However, if the Ctrl
key is pressed when the graphic symbol is positioned onto the drawing surface, it will be
positioned either turned 90 degrees (terminals) or 180 degrees (edge elements). If the
element has already been placed and the user wishes to flip it to the other side of the
terminal, then he/she must right-click the element -> Flip At Busbar.
If wishing to first place a symbol and then rotate or mirror it then click on the graphic to
place the symbol and then press the Tab key on the keyboard. This will ''jump'' the
''rubber band'' to the next connection point (or port) of the element. Continual pressing
of the Tab key will leave the symbol placed on the graphic (and the data element in the
database, without being connected. Manipulate the symbol as required and then right-
click it -> Connect Element.
If the element has already been connected it must first be disconnected in order to rotate
or mirror it (right-click the symbol -> Disconnect Element. Figure 10.2 shows an example
of rotated and flipped power system elements.

10 - 2
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.2: Flipped and rotated power system elements

As explained in 7.3.2 (Network Topology Handling), 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 corresponding 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. You can edit these Cubicle Parameters to change the
configuration of newly created cubicles; it is done by clicking on the 'Station feeder
Options' icon ( ) of the main toolbar.

Note: When connections to terminals are defined with switch elements of


the class ElmCoup (circuit breakers), cubicles without any addition-
al switch (StaSwitch) are generated. In this case the user is free to
define the configuration that he wishes by connecting terminals
and circuit breakers.

10.1.2 Drawing Nodes


When starting to draw your system it is natural to first draw the nodes that are required.
The basic node representation in PowerFactory is done by means of terminals
(ElmTerm). There are seven different terminals symbols in the drawing toolbox that may
be used.

Terminal
This is the most common representation of a node.

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

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

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

10 - 3
DIgSILENT PowerFactory The Graphics Editor

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

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

Polygonal-Terminal
Typically used for reticulation and/ or distribution networks.
Terminals should be placed in position and then, once the cursor is reset, dragged,
rotated and sized as required. Re-positioning is performed by first left clicking on the
terminal to mark it, and then click once more so that the cursor changes to . Hold the
mouse button down and drag the terminal to a new position. Re-sizing is performed by
first left clicking on the terminal to mark it. Sizing handles appear at the ends

10.1.3 Drawing Branch Elements


Single port elements (loads, machines, etc.) can be positioned in two ways. The simplest
one is to select the symbol from the toolbar and then left click the busbar where the
element is going to be placed. This will draw the element at a default distance under the
busbar. In case of multi busbar systems, only one of the busbars need be left-clicked. The
switch-over connections to the other busbars will be drawn automatically.
The 'free-hand' method first places the element symbol wherever desired, that is, first
click wherever you wish to place the symbol. The cursor now has a 'rubber band'
connected to the element, when the cursor is left clicked onto a node it will be connected.
To create corners in the joining line left click on the graphic. The line will snap to grid, be
drawn orthogonally, as determined by the "Graphic Options" that have been set.
Double port elements (lines, transformers, etc.) are positioned in a similar manner to
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 (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
elements.

10 - 4
DIgSILENT PowerFactory The Graphics Editor

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

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

10.1.4 Marking and Editing Power System Elements


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

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

Astute users may notice that the element is highlighted using a different pattern,
depending on whether the graphic has been frozen or not, as seen in Figure 10.3, where
(a) is the when the freeze mode is engaged and (b) when 'un-frozen.'
There are different ways to mark several objects at once:

• To mark all graphical elements, press the All-button ( ). The keyboard short cut
Ctrl+A may also be used.
• To mark a set of elements at the same time click on a free spot in the drawing area,
hold down the mouse key and move the cursor to another place where you release
the mouse button. All elements in the so defined rectangle will now be marked. A

10 - 5
DIgSILENT PowerFactory The Graphics Editor

setting, found in the User Settings dialogue under the 'Graphic Windows' tab (on the
second page of this tab press the button), can alter the manner in which objects
are marked using this marking method, as either 'Partial' or 'Complete'. 'Complete'
means that the whole object marked must lie inside the rectangle.
• To mark more than one object, hold down the Ctrl key whilst marking the object.
• Clicking once on an element belonging to a multiple busbar system will only mark the
chosen object. When clicking on this object again all elements that belong to this
section will be marked. A third click on this object will mark the whole busbar system.
• When clicking on an element and clicking on this element a second time whilst holding
down the Alt key will also mark all the elements connected to the first element.
• If the CtrL+Alt key are pressed simultaneously whilst moving and element then
elements connected to it will also be moved.
The data of any element (its edit dialogue) may be viewed and edited by either double-
clicking the graphic symbol under consideration, or by right-clicking it and selecting Edit
Data.
When multiple objects are selected, their data can be viewed and edited trough a data
browser by right-clicking the selection and choosing Edit Data from the context sensitive
menu.

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


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

10.1.5 Interconnecting Power Subsystems


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

10 - 6
DIgSILENT PowerFactory The Graphics Editor

• In this example we will use an autotransformer. Select an autotransformer drawing


tool from the toolbar and create the first connection as normal by left clicking a node
(see Figure 10.4).
• 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 10.5).
• Once in the second graphic left click to place the transformer symbol (see Figure 10.6)
and then left click on the second node.

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


a Jump to next page option.

Fig. 10.4: First step to interconnecting

10 - 7
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.5: Second step to interconnecting

Fig. 10.6: Third step to interconnecting

10 - 8
DIgSILENT PowerFactory The Graphics Editor

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


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

10.1.6 Working with Substations in the Graphical Editor


New substations are created in the Data Manager, using the procedure described in
Section 11.2.3 (Defining Substations in the Data Manager). The definition and connection
of the substation components can be carried out in the associated single line diagram,
which is automatically generated after the creation of the new substation. All the proce-
dures explained in the previous subsections to create and connect components in the
graphical editor can be used here. The connections of the substation with the grid are
carried out following any of the procedures described in10.1.5 (Interconnecting Power
Subsystems).
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
the substation single line diagram and selecting Add to template library from the context
sensitive menu. This action will copy the substation together with all of its contents
(including its diagram even if it is not stored within this substation) in the Templates
folder.
Substations from previously defined templates are created using the network diagrams.
The substations are represented in these diagrams by means of composite node symbols.
To create a new substation from a template:

• Click on the symbol of the composite node ( or ) listed among the symbols on
the right-hand drawing pane.
• From the second row of the toolbar menu on the top of the graphic window click on
the 'Copy from Templates' icon ( ) to see the list of available templates (from the
Templates library) for substations. From this list choose the template that you want to
create a substation from.
• Click on the single line diagram to place the symbol.
• The substation is automatically created in the corresponding grid folder.
• Close the window of the templates and press Esc to get the cursor back.
A diagram of the newly created substation can be opened by double clicking at the
composite node symbol. In the new diagram it is possible to rearrange the substation
configuration and to connect the desired components to the grid.
For further information on templates please refer to 7.6 (The Templates Library). For infor-
mation about the substation single line diagrams please refer to 7.3.1 (Network
Diagrams).

10 - 9
DIgSILENT PowerFactory The Graphics Editor

10.1.7 Working with Branches in the Graphical Editor


New branches are created in the Data Manager, using the procedure described in
Section 11.2.4 (Defining Branches in the Data Manager). The definition and connection
of the branch components can be carried out by in the associated single line diagram,
which is automatically generated after the creation of the new branch. All the procedures
explained in the previous subsections to create and connect components in the graphical
editor are supported here. The two connections of the branch with the grid are carried
out following any of the procedures described in10.1.5 (Interconnecting Power
Subsystems).
Existing branches can be used as ''models'' to define templates, which may be used later
to create new branches. A new branch template is created by right clicking on the branch
single line diagram and selecting Add to template library from the context sensitive menu.
This action will copy the branch together with all of its contents (including its diagram) in
the Templates folder.
Branches from previously defined templates are created using the network diagrams. The
branches are represented in these diagrams by means of the composite branch symbols
( ). To create a new branch from a template:

• Click on the symbol of the composite branch ( ) listed among the symbols on the
right-hand drawing pane.
• From the second row of the toolbar menu on the top of the graphic window click on
the 'Copy from Templates' icon ( ) to visualize the list of available templates (from
the Templates library) for branches.
• From this list choose the template that you want to create a branch from.
• If the branch is to be connected with terminals of the same single line graphic, simply
click once on each terminal.
• If the branch is to be connected with a terminal from another single line diagram, you
have to 'Paste graphically' one of the terminals on the diagram where you want to
represent the branch.
• If the branch is to be connected with terminals from a substation, click once on each
composite node to which the branch is to be connected. You will be automatically
taken inside each of those composite nodes to make the connections. In the
substation graphic click once on an empty spot near the terminal where you want to
connect the branch end, and then on the terminal itself. If the target substation/s is/
are not represented in the grid diagram (by means of a composite model), you have
to connect the branch end/s with the target terminal/s in the substation single line
graphic, using any of the procedures described in 10.1.5 (Interconnecting Power
Subsystems).
A diagram of the newly created branch can be opened by double clicking at the composite
branch symbol. In the new diagram it is possible to rearrange the branch configuration
and to change the branch connections.
For further information on templates please refer to 7.6 (The Templates Library). For infor-
mation about the branch single line diagrams please refer to 7.3.1 (Network Diagrams).

10 - 10
DIgSILENT PowerFactory The Graphics Editor

10.1.8 Working with Templates


The general information and the applications of 'Templates' are presented in 7.6 (The
Templates Library). This section explains how to create and use these templates.
Any kind of single network component (lines, transformers, terminals,) can be used to
define an ''Element'' template; this is done by right clicking the desired element on a single
line graphic and selecting Add to Template Library 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.
To define a new ''Group'' template, select a group of elements in the single line graphic,
right on one of the selected elements to open the context sensitive menu and select Add
to Template Library. Give the name of the new template in the dialogue that pops up and
press the Ok button. A new 'template' folder ( ) storing the objects from the group
together with their graphical information is created. If a group of elements containing
substation and branches has been selected these substations and branches are not
copied.
To define a new substation template, right click on the substation single line graphic and
select Add to Template Library from the context sensitive menu. Give the name of the
new template in the dialogue that pops up and press the Ok button. A copy of the target
substation with all of its contents (including its diagram even if it is not stored within the
substation) is created in the Templates folder. The same procedure described above can
be used to define new Branch templates.

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).

To be able to copy objects from the template library the icon Copy from template ( )
has to be pressed. A new window pops up listing the elements of certain template types
depending on the symbol selected in the drawing toolbox (i.e. if you selected a 2 winding
transformer symbol from the toolbox and then clicked on the ( icon, only templates
for 2 winding transformers will be shown). With the drawing cursor active all elements
which can be copied from the template folder will be listed. If no template had been
created before, the list will be empty.
Adding objects from the template folder other than a group template will result in a copy
of them (together with all including objects) in the grid which is referenced in the graphic
where the object is dropped.
Dropping a group template will only make a copy of its containing data elements not of
the folder object (IntTemplate) itself. Here only the graphical objects located in the
graphic will be copied, not the graphic itself.
To apply an element template:
• Select the symbol of the target element on the drawing toolbox.

• Click on the "Copy from template" ( ) icon and select the desired template.

10 - 11
DIgSILENT PowerFactory The Graphics Editor

• Insert the new element in the single line graphic, following the same procedures
described to draw and connect new power system elements.
• Close the window of the templates and press Esc to get the cursor back.
To apply a group template:

• Select the symbol of the 'General Templates' ( ) on the drawing toolbox.

• Click on the "Copy from template" ( ) icon and select the desired Group template.
• Left click on the canvas to show a ghost image with the shape of the object to insert.
• Drop the ghost image by another left mouse click at the desired position. If the line
ends of the ghost image are positioned on an existing terminal, an automatic
connection will be performed.
• Close the window of the templates and press Esc to get the cursor back.
To apply a substation template:

• Select the symbol of the 'Composite Node' (( or )) on the drawing toolbox.

• Click on the "Copy from template" ( ) icon and select the desired substation
template.
• The new substation will be represented in the single line diagram by means of the
selected composite node symbol. Click on the single line diagram to place the symbol.
• Close the window of the templates and press Esc to get the cursor back. ´
• A single line diagram of the substation can be open by double clicking on the
'Composite Node' symbol.
To apply a branch template:

• Select the symbol of the 'Composite Branch' ( ) on the drawing toolbox.

• Click on the "Copy from template" ( ) icon and select the desired Branch template.
• The new branch will be represented in the single line diagram by means of the
selected 'Composite Branch' symbol.
• "Close the window of the templates and press Esc to get the cursor back.

Note: The use of Substation templates is recommended for diagrams of


networks, where components are grouped in branches and substa-
tions. In this case the composite nodes can be graphically connect-
ed with the composite branch, forming an overview diagram of the
complete network.

10 - 12
DIgSILENT PowerFactory The Graphics Editor

10.1.9 Defining and Working with Transmission Lines


Due to the specific features of the transmission lines model in PowerFactory, this special
section has been written. Here the aspects related to the handling of the data model are
explained. The technical description is given, along with all the other models of Power-
Factory, in Appendix D and C.
In PowerFactory, transmission lines and cables are treated alike, they are both
instances of the generalized 'transmission line' element ElmLne. A transmission line may
be modeled simply as a one-to-one connection between two nodes and will refer to a line
(TypLne), tower (TypTow), a tower geometry (TypGeo) type, a line coupling
(ElmTow) or a cable system coupling (ElmCabsys). Alternatively, lines may be subdi-
vided into sections referring to different types.

Note: Anywhere that 'transmission line' or simply 'line' is written in this


section, 'lines and/or cables' may be read, unless otherwise speci-
fied.

The two basic line configurations are depicted in Figure 8.TL1:


"Top line: the simplest transmission line is a single line object (ElmLne).
"Bottom line: such a single line may be subdivided into line section objects (ElmLnesec)
at any time/location. No terminals are allowed between two sections, but the sections
may have different line types.

Fig. 10.7: Basic line configurations

The purpose of separating lines into sections is to obtain different line parts, with different
types (such as when a line uses two or more different tower types, or when manual trans-
positions should be modelled - since the "Transposed" option in the type object is a
perfect, balanced, transposition).

Creating a Transmission Line


The simplest line model is a one-to-one 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.

10 - 13
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.8: Editing a transmission line

The dialogue shows the two cubicles to which the transmission line is connected ('terminal
i' and 'terminal j'). The example in Figure 10.8 shows a line which is connected between
the nodes called 'Line End Terminal' and 'Line Feeder Bus' from a grid called ' North'. The
line edit dialogue shows the name of the node (in red) in addition to the name of the
cubicle (in blue). The actual connection point to the node is the cubicle and this may be
edited by pressing the edit button ( ). The cubicle may be edited to change the name
of the cubicle, or to add/remove the breaker.

The type of the line is selected by pressing the ( ) next to the type field. Line types for
a line/ line route are:
• The straight forward TypLne object type, where electrical parameters are directly
written (the user can select if the type is defined for an overheat line or a cable).
• Tower types (TypTow and TypGeo) where the geometrical coordinates and
conductor parameters are specified and the electrical parameters are calculated from
this data.
Once the lines (or cables) had been created it is possible to define couplings between the
circuits that they are representing by means of line coupling elements ElmTow (for
overheat lines) and cable system coupling elements ElmCabsys (for cables). Further

10 - 14
DIgSILENT PowerFactory The Graphics Editor

information about line/cable modeling is given in the corresponding the Technical


Reference.

Creating Line Sections


To divide a line into sections:
• Press the Routes/Cubicles/Sections button in the line dialogue. This will open a
data browser showing the existing line sections (if the line has not been sectioned, it
should 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 you have to define the
type and length for the new section.

10.1.10 Working with Single Phase Elements


For a lot of element you can define the phase technology, or at least whether they shall
be three-phase or single-phase elements.
To specify, on which phase a single-phase element shall be connected:
• Open the dialogue window of the element (by doubleclicking on the element).
• Press the Figure >> button to display a little figure of the elements with its
connections on the bottom of the dialogue window.
• Doubleclick on the dark-red names for the connections inside this figure.
• Specify the phase(s).
It is possible to color the grid according to the phases (System Type AC/DC and Phases).
For more information about the coloring please refer to Section 10.6.5 (Color Represen-
tation).

10.2 Graphic Windows and Database Objects


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'; in
other words, PowerFactory evaluates where the tip of your cursor is, and then presents
a menu that is appropriate to the cursor location. Thus cursor position is important when
selecting various menu options. It is important to keep the cursor in place when right-
clicking, as the menu presented is determined from cursor position primarily, and not from
the selected or marked object.

10 - 15
DIgSILENT PowerFactory The Graphics Editor

10.2.1 Network Diagrams and Graphical Pages


Four types of graphical pages are used in PowerFactory:
• Single Line Diagrams (network diagrams) for entering power grid definitions and for
showing calculation results
• Detailled graphics of substations or branches (a kind of network diagrams, too) for
showing busbar (nodes) topologies and calculation results
• Block Diagrams for designing logic (controller) circuits and relays
• Virtual Instrument Pages for designing (bar) graphs, e.g. for the results of a stability
calculation, bitmaps, value boxes, etc...

The symbol for graphical pages is inside the Data Manager. Grids, substations,
branches, and controller types (common and composite types in PowerFactory termi-
nology) each have a graphical page. In order to see the graphic on the screen, open a
Data Manager and locate the graphic page object you want to show, click on the icon next
to it, right-click and select Show Graphic. The "Show Graphic" option is also available
directly from each of the above objects themselves. So for example you can select a grid
in the data manager, right-click, and show the graphic. The graphic pages of grids and
substations are to be found in the subfolder "Diagrams" ( ) under the "Network Model"
folder.

Fig. 10.9: The Diagrams folder inside the Data Manager

10 - 16
DIgSILENT PowerFactory The Graphics Editor

10.2.2 Active Graphics, Graphics Board and Study Cases


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, much like the 'Summary Grid' folder, is 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 automat-
ically 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 in/ for a grid, either to display the different grid elements over
several pages, or to display the same grid elements in different graphical arrangements.
Consider the 'Nine Bus System' project that is shown in Figure 10.10. 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 (Not only Single Line
Graphics!).

10 - 17
DIgSILENT PowerFactory The Graphics Editor

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

10.2.3 Single Line Graphics and Data Objects


In a simple network there may be a 1:1 relationship between data objects and their
graphical representations, i.e. every load, generator, terminal and line is represented
once in the graphics. However, PowerFactory provides additional flexibility in this
regard. Data objects may be represented graphically on more than one graphic, but only
once per graphic. Thus a data object for one terminal can be represented graphically on
two or more graphics. Both graphical representations contain the link to the same data
object.
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 deafult in the Diagrams folder
of the Network Model. This makes finding the correct Single Line graphic representation
of a particular grid, even in the case where there are several graphic representations for
one grid, easy.
When the drawing tools are used to place a new component (i.e. a line, transformer, bar
graph, etc.) a new data object is also created in the database tree. A Single Line Graphic
object therefore has a reference to a grid folder. The new data objects are stored into the
'target' folders that the graphics page is associated with (this information may be deter-
mined by right-clicking the graphic  Graphic Options see Section 11.4 (Editing Data
Objects in the Data Manager) for more information).

10 - 18
DIgSILENT PowerFactory The Graphics Editor

Since data objects may have more than one graphic representation the deletion of a
graphic object should not mean that the data object will also be deleted. Hence the user
may choose to delete only the graphical object (right-click menu  Delete Graphical
Object only. In this case the user is warned that the data object will not be deleted.
This suggests that a user may delete all graphical objects related to a data object, with
the data object still residing in the database and being considered for calculation. This is
indeed what will occur, when such graphical deletion is done.
When an element is deleted completely (right menu option  Delete Element) a warning
message will confirm the action. This warning may be switched off - see User Settings,
General, "Always confirm deletion of Grid Data").

10.2.4 Editing and Selecting Objects


Once elements have been drawn on the graphic the data for the element may be viewed
and edited by either double-clicking the graphic symbol under consideration, or by right-
clicking it 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 11.4 (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
11 (The 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
Figure 10.11. The menu will be different to that seen when selecting an individual field,
as shown in Figure 10.12.

10 - 19
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.11: Selecting an object correctly

Fig. 10.12: Selecting an object incorrectly

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

10 - 20
DIgSILENT PowerFactory The Graphics Editor

10.2.5 Creating New Graphic Windows


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

• By pressing the icon.


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

10 - 21
DIgSILENT PowerFactory The Graphics Editor

10.3 Basic Functionality


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

10.3.1 The Page Tab


The page tab of the graphic window displays the name of the graphics in the graphics
board. The sequence of the graphics in the graphics board may be changed by the user.
A page tab is clicked and moved by dragging and dropping. An arrow marks the insert
position during drag and drop. Another way to change the order of the graphics is to
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
available only for virtual instrument panels.

10 - 22
DIgSILENT PowerFactory The Graphics Editor

10.3.2 The Drawing Toolboxes


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

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

The toolboxes have:


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

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

10.3.3 The Active Grid Folder (Target Folder)


Inside the status bar of PowerFactory, the active grid folder is displayed on the leftmost
field. Any changes you make in the network diagram refering the data of the grid are
stored inside this grid folder. To change the active grid folder (the target folder), double-
click this field, a window opens in which you can select the new active grid folder.

10 - 23
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.14: The Status Bar

10.4 Drawing Diagrams with already existing Network


Elements
This chapter provides information about how to draw network components from already
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, and sometimes even necessary, to work the other way around. In
that case, new data objects are first created and edited in the database manager, and
subsequently used in one or more single line diagrams, or imported from other programs.
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 kind of object that is to be drawn in the
graphic.
2 Enable the drag & drop feature in the data manager by double-clicking the drag &
drop message in the message bar.
3 Select the data object in the data manager by left clicking the object icon.
4 Hold down the left mouse button and move the mouse to the graphic drawing area
(drag it).
5 Position the graphical symbol in the same way as is done normally.
6 A new graphical symbol is created, the topological data is changed, but the
graphical symbol will refer to the dragged data object. No new data object is
created.
Dragging objects in this manner is supported, however, it is easier to use the 'Draw
Existing Net Elements' tool to perform this action, as described in the next sections.

10.4.1 Drawing Existing Terminals

Click on the button 'Drawing existing Net Elements' ( ) and a window with a list of all
the terminals in the network, that are not visualized in the active diagram appears.

Click on the symbol for terminals ( ) in the drawing toolbox. The symbol of the terminal

10 - 24
DIgSILENT PowerFactory The Graphics Editor

is now attached to the cursor.

If the list is very large, press the button 'Adjacent Element Mode' ( ). This activates the
selecting of distance (number of elements) from elements in the active diagram. Select
the Distance of 1 in order to reduce the number of terminals shown.
The marked or selected element can now be visualised or drawn by clicking somewhere
in the active diagram. This element is drawn and disappears from the list.
Note that the number of elements in the list can increase or decreases depending on how
many elements are a distant away from the element lastly drawn. Scroll down the list, in
case only certain elements have to be visualised.
Close the window and press Esc to return the Cursor to normal. The drawn terminals can
be moved, rotated or manipulated in various ways.

10.4.2 Drawing Existing Lines, Switch Gears and Transformers

Similar to the terminals ( ), elements like lines and transformers connecting the
terminals in the substation can be drawn.

Press the button 'Drawing existing Net Elements' ( ). For lines select the symbol
from the drawing toolbox, for transformers select the symbol , and so on.
Similar to terminals a list of all the lines (or transformers, or elements which you have
chosen) in the network, that are not in the active diagram are listed. Reduced the list by
pressing the button 'Elements which can be completely connected' ( ) at the top of the
window with the list. A list of lines with both terminals in the active diagram is pre-
selected. If the list is empty, then there are no lines connecting any two unconnected
terminals in the active diagram.
For each selected line (or transformers...) a pair of terminals, to which the line is
connected is marked in the diagram. Click on the first terminal and then on the second.
The selected line is drawn und is removed from the list of lines.
Continue drawing all lines (or transformers...), until the list of lines is empty or all the lines
to be drawn have been drawn.

10.4.3 Building Single line Diagram from Imported Data


When a power system design is imported from another program, only the non-graphical
information is regarded (only some of the converters that are provided in PowerFactory
will also import graphics files). Although this includes the connection data in the form of
'from-to' data fields, the graphical single line diagrams are usually not be imported. After
the import, a new single line diagram may be built using the imported database infor-
mation (note that this does not mean that the user will not be able to perform load-flows
and other calculations immediately after import; this may be done).
This is done by first creating a new single line graphic 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 10.6 for more information.

10 - 25
DIgSILENT PowerFactory The Graphics Editor

As soon as the correct folder has been set, and OK has been pressed, the single line
graphic object ( ) is created and a blank graphic page, appropriately named, pops up.
The Draw Existing Net Elements ( ) icon on the graphics toolbar may now be
pressed. This opens a database browser listing all elements considered by the active study
case (see Figure 10.15) and which have not yet been inserted into the new single line
graphic.
This list may be filtered to show only particular grids or all grids by using the drop down
window (Figure 10.15 b, red circle) provided. Once a drawing tool is chosen, in this case
the Terminal tool, the list is further filtered to show only terminals, as can be seen in the
example. When the user now clicks on the graphic the highlighted terminal (in the
browser, Figure 10.15 b) will be removed from the list and placed onto the graphic, and
the next terminal down will be highlighted, ready for placement. In the example three
terminals have already been placed in the graphic.
After all busbars have been inserted into the single line graphic, branch elements may be
selected in the graphic toolbox. In Figure 10.16 a, the transmission liner tool has been
selected. The database browser will now show all lines which have not been inserted into
the graphics. When one of these lines is selected in the browser (Figure 10.16 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:
Drawing Existing Terminals
Drawing Existing Lines, Switch Gears and Transformers

a)

10 - 26
DIgSILENT PowerFactory The Graphics Editor

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

a)

b)
Fig. 10.16: Placing a transformer

10 - 27
DIgSILENT PowerFactory The Graphics Editor

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

10.4.4 Creating a new substation in an Overview Diagram


Overview diagrams are single line diagrams without detailed graphical information of the
substations. Substations are illustrated as "Composite Nodes", which can be coloured to
show the connectivity of the connected elements ("Beach Ball"). 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.
To draw a substation from a template in an overview diagram:

• Click on the symbol of the composite node ( or ) listed among the symbols on
the right-hand drawing pane.

• Then click on the 'Copy from Templates' button ( ) in the icon bar of the graphic
window in order to see the list of available templates for substations (from the
Templates library). From this list choose the template that you want to create a
substation from.
• Click on the overview single line diagram to place the symbol. The substation is
automatically created in the active grid folder.
• Right click the substation, select Edit Substation, and rename the substation
accordingly.
• Close the window with the templates.
• Press Esc to get the cursor back.
• Resize the substation symbol in the overview diagram to the desired size.
A diagram of the newly created substation can be opened by double clicking at the
composite node symbol. In the new diagram it is possible to rearrange the substation
configuration and to connect the desired components to the grid.
Existing substations can be used as ''models'' to create user-defined templates, which
may be used later to create new substations. A new substation template is created by
right clicking on the substation single line diagram and selecting Add to template library
from the context sensitive menu. This action will copy the substation together with all of
its contents (including its diagram even if it is not stored within this substation) in the
Templates folder.
To resize a composite node:
• Click once on the composite node you want to resize.

10 - 28
DIgSILENT PowerFactory The Graphics Editor

• When it is highlighted, place the cursor on one of the black squares at the corners and
hold down the left mouse button.
• A double-arrow symbol appears and you can resize the figure by moving the mouse.
For a rectangular composite node you can also resize the shape by placing the cursor
on one of the sides.
To show the connectivity inside a composite node:

Press the button to open the colouring dialog. Select the colouring mode. Change the
data, if required, for the selected mode. To show the station connectivity by the colouring
select 'Station Connectivity' (Figure 10.17). It is possible to colour the beach balls
according to the station connectivity in spite of selecting a different mode by enabling the
option 'Always show station connectivity colour for beach balls'.
Enabling the option "Show Colour Legend" will create a legend in the active single-line
diagram. You can move and resize the legend by using the graphics cursor.
If the option 'Always show station connectivity colour for beach balls' is active, it is not
possible to show the selected colour option. By deactivating this option and pressing the
Button OK, the selected colouring option will be showed. In this case beach balls are not
coloured any more according to "station connectivity" but according to the selected
colouring.

Fig. 10.17: Options for colouring graphics of single-line diagram

The button "apply to all graphics" will change the colouring mode not only for the active
diagram, but for all diagrams in the active graphics board.

10.4.5 Show Detailed Substation Graphic


There are two ways to open the graphic page of a substation. First is to double-click on
the corresponding composite node in the overview diagram. Second is to go to the graphic
object of the substation in the data manager, right-click on it and choose Show Graphic.

10.5 Drawing of Network Components from Templates


or Predefined Objects
This chapter provides information about how to draw network components from
templates or predefined objects.

10 - 29
DIgSILENT PowerFactory The Graphics Editor

Creating a Composite Branch from Template


Go to the single-line (overview) diagram of the network. Click on the symbol of the
composite branch ( ) listed among the symbols on the right-hand drawing pane.
Then from the second row of the toolbar menu on the top of the graphic window click on
the 'Copy from Templates' button ( ) to see the list of available templates for branches.
From this list choose the template that you want to create a branch from. On the overview
diagram click once on each composite node to which the branch is to be connected. You
are 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. Do the same for the other end.

10.6 Graphic Commands, Options and Settings


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

10.6.1 General Commands and Settings


The following basic options are available in all graphic windows.

Zooming

Zoom In:

Zoom Out:

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

10 - 30
DIgSILENT PowerFactory The Graphics Editor

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

Print Graphic
Main Menu: File  Print
Keyboard: Ctrl + P

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

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

Rebuild
Right-Click: Drawing Rebuild

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

Insert New Page


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

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

Insert Existing Page


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

Icon:
Inserts existing graphics, which may be one of the following:

10 - 31
DIgSILENT PowerFactory The Graphics Editor

• 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.

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

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

Graphic Options
Right-Click Drawing:Graphic Options

Icon:
Each graphic window has its own settings, which may be changed using the graphic
options function. This function presents a dialogue for the following settings. See Figure
10.18.
Basic Attributes tab:
Name
The name of the graphic
Current Grid Data
The reference to the database folder in which new power system
elements created in this graphic will be stored.
Write protected
If enabled, the single line graphic can not be modified. The drawing
toolboxes are not displayed and the 'freeze' icon becomes inactive.

10 - 32
DIgSILENT PowerFactory The Graphics Editor

Snap
Snaps the mouse onto the drawing raster.
Grid
Shows the drawing raster using small points.
Ortho-Type
Defines if and how non-orthogonal lines are permitted:
- Ortho Off: Connections will be drawn exactly as their line points were set.
- Ortho: Allow only right-angle connections between objects.
- Semi Ortho: The first segment of a connection that leads away from a busbar or
terminal will always be drawn orthogonally.
Line Style for Cables
Is used to select a line style for all cables.
Line Style for Overhead Lines
Is used to select a line style for all overhead lines.
Offset Factor for Branch Symbols
Defines the length of a connection when a branch symbol is drawn by
clicking on the busbar/terminal. This is the default distance from the
busbar/terminal in grid points.
Show Bus Couplers
Can be used to see all couplers, or to hide them.
Allow Individual Line Style
Permits the line style to be set for individual lines. The individual style
may be set for any line in the graphic by right-clicking the line  Set
Individual Line Style. This may also be performed for a group of
selected lines/cables in one action, by first multi selecting the elements.
Allow Individual Line Width
As for the individual line style, but may be used in combination with the
"Line Style for Cables/Overhead Lines" option. The individual width is
defined by selecting the corresponding option in the right mouse menu
(may also be performed for a group of selected lines/cables in one
action).
Equidistant Insertion of Terminals on Lines
Is used when an existing line with line-routes is drawn. The terminals
between the line-routes can then be drawn either with distances
according to the relative length of the routes, or, when this option is
enabled, at equidistant positions along the line. This has no effect on
the electrical models, only on the graphical representation.
'Additional Attributes' and 'Coordinates' tabs: these should only be configured with the
assistance of DIgSILENT support staff.

10 - 33
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.18: Graphic options editor

Text Boxes tab:


Boxes of Object Names - Background
Specifies the transparency of object names boxes:
- 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 object names).
Always show result boxes of detailed couplers
Self-explanatory.

10 - 34
DIgSILENT PowerFactory The Graphics Editor

Space saving representation of result boxes on connection lines


Self-explanatory.
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:
- Enabled:The default reference will be used.
- Disabled:The user defined reference will be used.
when the Reset settings option in the right-click menu for moved result
boxes is selected.
Switches tab:
Cubicle representation
Selects the switch representation (see Figure 10.19):
- 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).

Fig. 10.19: Cubicle representations

Display Frame around Switches


Draws a frame around the switch itself (Breakers, Disconnectors, etc.).
This only applies to user-drawn breakers and disconnectors.
Create switches when connecting to terminal
Self-explanatory.
Show connected busbars as small dots in simplified substation representation
Defines how the connection points on busbars are represented in
busbar systems.

10 - 35
DIgSILENT PowerFactory The Graphics Editor

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

Page Setup for Drawing and Printing


The drawing area for single line diagrams, block diagrams and virtual instruments is
selected in the "Drawing Format" dialogue ( icon on the graphics window). One of the
predefined paper formats can be selected, each of which can be edited, and new formats
can be defined. The selected paper format has 'Landscape' orientation by default and can
be rotated by 90 degrees by selecting 'Portrait'. The format definitions, which are shown
when an existing format is edited or when a new format is defined, also show the
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).
If no 'Subsize for Printing' format has been selected, then, at printing time, the drawing
area will be scaled to fit the paper size of the printer. If, for instance, the drawing area is
A3 and the selected paper in the printer is A4, then the graphs/diagrams will be printed
at 70% of their original size.
By selecting a subsize for printing, the scaling of the drawing at printing time can be
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:
• The drawing area has been selected as A2 landscape.
• The subsize for printing has been selected as A3 portrait. The A2 drawing is thus to be
printed across two pages.
• Suppose that the selected printer only has A4 paper. The original A2 drawing is then
scaled down to 70% and printed on two A4 sheets of paper.

Mark All

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

10 - 36
DIgSILENT PowerFactory The Graphics Editor

also be used to perform this action.

10.6.2 Commands and Settings for Block Diagrams and Single


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

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

Icon:
This option lets the user edit the device data of all marked objects in the drawing. If only
one object is marked, then this object's edit dialogue will pop up directly. When more than
one object is marked, a Data Manager window will show the list of marked objects. As
with a normal Data Manager, these objects can be double-clicked to open their edit
dialogues. See Chapter 11 (The Data Manager) for more information.

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

Delete
Right-Click Selection:Delete Element
Keyboard: Del

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

Delete Graphical Object only


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

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

10 - 37
DIgSILENT PowerFactory The Graphics Editor

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

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

Icon:
Copies all objects from the clipboard and pastes them into the current drawing. The
objects are pasted at the current graphical mouse position. Objects that are copied and
so pasted create completely new graphic and data objects in the graphic that they are
pasted into.
If you wish to copy and paste just the graphic, then choose Paste Graphic Only from the
right-click menu. Similar results are obtained when using the "Draw Existing Net
Elements" tool (see Section 10.4 "Drawing Diagrams with already existing Network
Elements").

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

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

Define Graphics Attributes

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

10.6.3 Commands and Settings for Single Line Graphics


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

10 - 38
DIgSILENT PowerFactory The Graphics Editor

Copy from Templates

Icon:
Opens a data browser displaying the available templates. For information about the
definition and the use of templates in network models please refer to Section 10.1
(Defining Network Models with the Graphical Editor)

Draw Existing Net Elements

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

Set Individual Color


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

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

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

Reconnect Element
Right-Click Selection:Reconnect Element

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

10 - 39
DIgSILENT PowerFactory The Graphics Editor

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

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

Edit Line Points


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

Fig. 10.20: Editing line points

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

10 - 40
DIgSILENT PowerFactory The Graphics Editor

Hand Tool

Icon:
Hand tool to drag the single line graphic area.
Further single line graphic functionalitiy (Graphic Layers, Color Representation, The Title
Block and The Legend Block) is described in the following sections.

10.6.4 Graphic Layers


The single line graphic and the Block diagram graphic windows use transparent layers of
drawing sheets on which the graphical symbols are placed. Each of these layers may be
set to be visible or not. The names of objects that have been drawn, for example, are on
a layer called 'Object Names' and may be made visible or invisible to the user.
Which layers are visible and exactly what is shown on a layer is defined in the 'Graphical
Layers' dialogue. This dialogue can be opened by pressing the icon on the local
toolbar, or by right-clicking on an empty spot of the graphic area  Show Layer. The
layers dialogue has a "Visibility" tab to determine which layers will be visible, and a
"Configuration" tab to define various attributes for the layers. See Figure 10.21.
In Figure 10.21, 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.

10 - 41
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.21: Graphical layers dialogue (SetLevelvis)

The layers existing in PowerFactory are described in Table 10.1.


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

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

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

10 - 42
DIgSILENT PowerFactory The Graphics Editor

Fig. 10.22: Graphical layers configuration page

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.

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


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

10 - 43
DIgSILENT PowerFactory The Graphics Editor

Layer Content Configuration Diagram Type


Options SL Single Line
B Block

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


grid

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

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

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


Points edges and buses/terminals and
signal connections to blocks

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


the device symbol

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


elements hidden by default

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


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

Numbers of Number of lines for each None SL


connection lines connection

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


Line Loads sections and/or where line loads
are connected

Connection Double-Arrow at connections where None SL


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

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


transformers

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


and transformers

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


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

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


shown as parallel lines

Connection Index of each possible block Text/Box Format B


Numbers connection point

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


Names a block

Signals Name of the signal transmitted Text/Box Format B

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

Table 10.1: Diagram Layers of PowerFactory

10 - 44
DIgSILENT PowerFactory The Graphics Editor

10.6.5 Color Representation

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

10 - 45
DIgSILENT PowerFactory The Graphics Editor

10.6.6 The Title Block

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

Fig. 10.23: Single line title mask

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

Set Title dialogue


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

10.6.7 The Legend Block

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

10.6.8 Editing and Changing Symbols of Elements


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.
• Select Edit Graphic Object from the context sensitive menu in order to edit the symbol
of the element.

10 - 46
DIgSILENT PowerFactory The Graphics Editor

• Select Change Symbol from the context sensitive menu in order to use a different
symbol for the element. PowerFactory supports user-defined symbols as Windows-
Metafile (*.wmf) and Bitmap (*.bmp) files.
For additional information please refer to appendix E (Reference to the use of Symbols in
PowerFactory).

10.7 Result Boxes-Text Boxes and Labels

10.7.1 General Concept


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

Fig. 10.24: Result boxes balloon help

A result box is connected to the graphical object for which it displays the results by a
'reference point'. Figure 10.25 shows the default reference points for the resultbox of a
terminal. A reference point a connection between a point on the result box (which has 9

10 - 47
DIgSILENT PowerFactory The Graphics Editor

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

Fig. 10.25: Reference points of a result Box

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

10.7.2 Editing Result Boxes


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

10 - 48
DIgSILENT PowerFactory The Graphics Editor

If the user wants to create a specific format that is different from the pre-defined ones,
the Edit Format for Edge Elements (or Node Elements) option should be used. Note that
the new format will be applied to the entire group of objects (edge or node objects).
If a created format is expected to be used for just one specific element, then the Create
Textbox option should be used. An additional results box/ textbox will be created, using
the current format for the object. This may then be edited. Information about text boxes
is given in 10.7.4.
When the Edit Format option has been selected the user is presented with the form
manager dialogue (Figure 10.26). A name for the new form may be entered in the Name
field. Various options for the results box may be set and the drop down lists of pre-defined
variables are used to configure the desired format (section Lines). Once the format has
been set and chosen the format may be saved for future use by pressing the To Library
button. The format is saved to Settings \ Project \ Changed Settings \ Formats \ Grf \
Result in the user folder and is available for use in any project in the user folder (when
right-clicking a results box for the same calculation functionality the new format will be
seen in the listing of formats).

Fig. 10.26: The form manager

If the list of pre-defined variables do not contain the required variables, the Input Mode
should be pressed. A dialogue with three possible input modes will pop up. The available
options are:
1 Predefined Variables: This first option is the one presented by default and also
shown in Figure 10.26. The user has maximum three lines available where the
calculation results to be shown in the diagram can be selected. Out of all available
calculation results a limited but useful selection is pre-defined. This facilitates the
configuration work for less advanced users.
2 User Selection:This option allows the selection of the variables to be displayed in
the single line diagram out of the full set of available magnitudes. The "User

10 - 49
DIgSILENT PowerFactory The Graphics Editor

Selection" mode changes the appearance of the form manager slightly so that a
Select Variables appears in place of the pre-defined variables drop down
listings. Press this button to access the variable set (IntMon) dialogue. The
selection and use of variables is fully described in Chapter 19 (Defining Variable
Sets).
3 Text Editor:Unlocks the text editor page for manual configuration of the variables
and their format; this should only be used by advanced users. The text editor page
is found on the "View" tab page (Figure 10.27).
The final option is using DIgSILENT Output Language, the fully configurable format
description language of PowerFactory. As opposed to the preceding options, it offers
the following advantages:
• More than one variable per line
• Different formats for variables
• User-defined text for individual comments
To modify the text format it is necessary to change to the tab page "view". Then a
dialogue page appears similar to the one shown in Figure 10.27. A detailed overview over
the syntax of the DIgSILENT Output Language can be found in 20.2.3 (The DIgSILENT
Output Language).

Fig. 10.27: Editing result boxes using the text editor

10 - 50
DIgSILENT PowerFactory The Graphics Editor

10.7.3 Formatting Result Boxes


By means of the context sensitive menu (right-clicking the desired result box) it is possible
to set the appearance of the result boxes. The available options include:
• Rotate the result box.
• Hide the selected box.
• Change the layer (see 10.6.4).
• Change the font type and size of the text.
• Change the width.
• Set the text alignment.
• Set the default format (Reset Settings).

10.7.4 Text Boxes


As mentioned in 10.7.2, 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
procedure described in 10.7.2. In this case after right-clicking the text box, the option Edit
Format should be selected.
The text box format can be set following the same procedure from 10.7.3. By default the
text boxes are graphically connected to the referred object 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 (10.6.1, Figure 10.18) is
disabled.

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

10 - 51
DIgSILENT PowerFactory The Graphics Editor

10 - 52
DIgSILENT PowerFactory The Data Manager

Chapter 11
The Data Manager

To manage/ browse the data in PowerFactory, a Data Manager is provided. The objec-
tive of this chapter is to provide detailed information on how this Data Management tool.
Before starting, users should ensure that they are acquainted with Section 4.4 (Data
Arrangement) and Chapter 7 (The PowerFactory Data Model).

11.1 Using the Data Manager


The Data Manager provides the user with all the features required to manage and main-
tain 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 6.3: Data Manager Settings).
The data manager window has the following parts (see Figure 11.1):
• The title bar, which shows the name and path of the of the folder currently selected in
the database [1].
• The data manager local tool bar [2].
• In the left upper area the database window, which shows a symbolic tree
representation of the complete database [3].
• In the left lower area the input window. It may be used by more experienced users to
enter commands directly, instead of using the interactive command buttons/
dialogues. By default it is not shown. For further information see Section 11.6 (The
Input Window in the Data Manager) [4].
• Between the database window and the input line, it shows the history list, which can
be used to perform calculations in batchmode [5]. The input window and history list
are opened and closed by the command icon.
• On the right side is the database browser that shows the contents of the currently
selected folder [6].

11 - 1
DIgSILENT PowerFactory The Data Manager

• Below the database browser and the input window is the message bar, which shows
the current status and settings of the database manager (for further information see
Section 11.1.5).
There are some special features of the database browser which can be accessed at any
time when the content of a folder is shown:
• Balloon text: this is not only available for the buttons in the tool bar and the active
parts of the message bar or the browser window, but also for the data fields [a].
• Active Title buttons of each column; click on any title button to sort the items in the
column; first click- items are sorted in ascending order; second click - items are sorted
in descending order [b].
• Object buttons showing the object standard icon in the first column of the database
browser: each object is represented by a button (here a line object is shown). One
click selects the object and a double-click presents the edit dialogue for the object [c].

Fig. 11.1: The data manager window

PowerFactory makes extensive use of the right mouse button. Each object or folder
may be 'right-clicked' to pop up a context sensitive menu. For the same object the menu
presented will differ depending on whether the object is selected in the left or right hand
side of the data manager (this is known as a 'context sensitive' menu). Generally, the left
hand side of the data manager will show object folders only. That is, objects that contain
other objects inside them. The right hand side of the data manager shows object folders
as well as individual objects.

11 - 2
DIgSILENT PowerFactory The Data Manager

Fig. 11.2: Context sensitive menus in the data manager

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

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

11.1.1 Moving Around in the Database Tree


There are several ways to ''walk'' up and down the database tree:
• Use the mouse: all folders that have a "+" sign next to them may be expanded by
double-clicking on the folder, or by single clicking the "+" sign.
• Use the keyboard: the arrow keys are used to walk up and down the tree and to open
or close folders (left and right arrows). The Page Up and Page Down keys jump up
and down the tree in big steps and the "-" and "+" keys may also be used to open or
close folders.
• Use the toolbar in combination with the browser window. Double-click objects (see "c"
in Figure 11.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).

11 - 3
DIgSILENT PowerFactory The Data Manager

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

11.1.2 Adding New Items


Generally, new network components are added to the database via the graphical user
interface (see Section 10.1: 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 Figure 11.3.
To simplify the selection of the new objects, a filter is used to sort the object list. This
filter determines what sort of list will appear in the drop-down list of the 'Element' field.
If "Branch Net Elements'' is first selected, the selection of, for instance, a 2-winding trans-
former is accomplished by then scrolling down the element list.
The Element field is a normal edit field. It is therefore possible to type the identity name
of the new element, like "ElmTr3'' for a three-winding transformer, or "TypLne" for a line
type directly into the field.
The possible list of new objects is therefore context sensitive and depends on the type or
class of the originally selected folder.

11 - 4
DIgSILENT PowerFactory The Data Manager

Fig. 11.3: The element selection dialogue

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

As any other object, folders can be created either by using the context sensitive menu or
by using the icon. Common folders (IntFolder objects) may have an owner name
entered, for documentation or organizational purposes. In this way it should be clear who
has created the data. Descriptions may also be added. An existing folder may be edited
by using the "Edit" icon ( ) on the toolbar or by using the right mouse button.
Each folder may be set to be read-only, or to be a PowerFactory system folder. The
folder may be a "Common" or "Library" folder. These attributes can be changed in the
edit-folder dialogue. These settings have the following meaning:
• Common folders are used for storing non-type objects: electric elements, command
objects, settings, projects, etc.
• Type folders are used as 'libraries' for type objects.
• System folders, which are read only folders
The use of read-only folders is clear: they protect the data. In addition, folders containing
data that is not normally accessed may be hidden. Selecting the kind of folders that the
user/administrator wants to be hidden is done in the user settings dialogue see Chapter
6 (User Settings).

11 - 5
DIgSILENT PowerFactory The Data Manager

(for complete information see refer to Chapter 7 (The PowerFactory Data Model)):

11.1.3 Deleting an Item


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

11.1.4 Cut, Copy, Paste and Move Objects

Cut, Copy and Paste


Cutting, copying and pasting may be achieved in four different manners:
1 By using the data manager tool bar buttons.
2 By using the normal 'MS Windows' shortcuts:
- Ctrl-X will cut a selection,
- Ctrl-C will copy it,
- Ctrl-V will paste the selection to the active folder.
Cutting a selection will color the item-icons gray. The cut objects will remain in their
current folder until they are pasted. A cut-and-paste is exactly the same as moving the
object, using the context sensitive menu. All references to objects that are being moved
will be updated.
Cancelling a cut-and-paste operation is performed by pressing the Ctrl-C key after
the Ctrl-X key has been pressed.
3 By using the context sensitive menu. This menu offers a Cut, a Copy and a Move
item. The move item will pop up a small second database tree in which the target

11 - 6
DIgSILENT PowerFactory The Data Manager

folder can be selected. When the selected objects have been Cut or Copied, the
context sensitive menu will then show a Paste, Paste Shortcut and a Paste Data
item.
- Paste will paste the selection to the focused folder.
- Paste Shortcut will not paste the copied objects, but will create shortcuts to these
objects. A shortcut object acts like a normal object. Changes made to the shortcut
object will change the original object. All other shortcuts to this original object will
reflect these changes immediately.
- Paste Data is only be available when just one object is copied, and when the
selected target object is the same kind of object as the copied one. In that case,
Paste Data will paste all data from the copied object into the target object. This will
make the two objects identical, except for the name and the connections.
4 By dragging selected objects to another folder. The 'Drag & Drop' option must be
enabled first by double-clicking the 'Drag & Drop: off' message on the data
manager's message bar. When the drag & drop option is on, it is possible to copy or
move single objects by selecting them and dragging them to another folder.
Dragging is done by holding down the left mouse button after an object has been
selected and keeping it down while moving the cursor to the target/destination
folder, either in the database tree or in the database browser window.

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

11.1.5 The Data Manager Message Bar


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

11.1.6 Additional Features


Most of the data manager functionality is available through the context sensitive menus
(right mouse button).

11 - 7
DIgSILENT PowerFactory The Data Manager

The following items can also be found in the context sensitive menus:
Show Reference List (Output...  Reference List)
Produces the list of objects that have links, or references (plus the
location of the linked object), to the selected object. The list is printed
to the output window. In this manner for example, a list of elements
that all use the same type can be produced. The listed object names
can be double- or right-clicked in the output window to open their edit
dialogue.
Select All
Selects all objects in the database browser.
Mark in Graphic
Marks the highlighted object(s) in the single line graphic. This feature
can be used to identify an object.
Show  Station
Opens a detailed graphic (displaying all the connections and switches)
of the terminal to which the selected component is connected. If the
component, is connected to more than one terminal, as might be in the
case of lines or other objects, a list of possible terminals is shown first.
Goto Busbar
Opens the folder in the database browser that holds the busbar to
which the currently selected element is connected. If the element is
connected to more than one busbar, a list of possible busbars is shown
first.
Goto Connected Element
Opens the folder in the database browser that holds the element that is
connected to the currently selected element. In the case of more than
one connected element, which is normally the case for busbars, a list of
connected elements is shown first.
Calculate
Opens a second menu with several calculations which can be started,
based on the currently selected objects. A short-circuit calculation, for
example, will be performed with faults positioned at the selected
objects, if possible. If more than one possible fault location exists for
the currently selected object, which is normally the case for station
folders, a short-circuit calculation for all possible fault locations is
made.
Other useful features:

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

11.2 Defining Network Models with the Data Manager


In this section it is explained how the tools of Data Manager are used to define network
models.

11 - 8
DIgSILENT PowerFactory The Data Manager

11.2.1 Defining New Network Components in the Data Manager


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.

11.2.2 Connecting Network Components in the 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 di-
rectly from the single line graphics. The procedures described
above are intended for advanced users.

11.2.3 Defining Substations in the Data Manager


The concept and the application context of substations are presented in Section Substa-
tions of Chapter 7.3.2 (Network Topology Handling). 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 10.1
(Defining Network Models with the Graphical Editor).
To define a new substation from the Data Manager do the following:
• 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
running 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 recom-

11 - 9
DIgSILENT PowerFactory The Data Manager

mended. For the second option, a data browser with the content of the substation will
pop up after pressing the Contents button; there you can use the New Object icon to
create the new components.
Components of a substation can of course be connected with components of the corre-
sponding grid or even with components of other networks. The connection in the Data
Manager is carried out following the same procedure discussed in the previous section.
For information about working with substations in the graphical editor please refer to
Section 10.1 (Defining Network Models with the Graphical Editor). For information about
the definition of Running Arrangements please refer to Section 15.6 (Running Arrange-
ments).

11.2.4 Defining Branches in the Data Manager


The concept and the application context of branches are presented in Section Branches
of Chapter 7.3.2 (Network Topology Handling). Next a description of the procedure used
to define new branches from within the Data Manager is given. A description about how
to define branches from within the diagram is given in Section 10.1 (Defining Network
Models with the Graphical Editor).
To define a new branch from the Data Manager do the following:
• 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 --> Branch from the
context sensitive menu.
• The new branch edit dialogue will pop up. There you can define the name of the new
branch and a circuit to which the branch belongs. The fields 'Connection 1' and
'Connection 2' define the branch elements that are going to be connected with
external elements. Once the user has defined the internal branch elements, he/she
can access and change the connecting components (i.e the components referred in
'Connection 1' and 'Connection 2').
• After pressing Ok the new branch and an associated diagram (with the same name of
the branch) will be created.
The components of the new branch 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 branch will pop up after pressing
the Contents button; there you can use the New Object icon to create the new compo-
nents.
Components of a branch can of course be connected with components of the corre-
sponding grid or even with components of other networks (remember that the maximal
number of connections for a branch is 2). The connection in the Data Manager is carried
out following the same procedure discussed in Section Connecting Network Components
in the Data Manager. Once the external connections of the branch have been established,
the user can use the Jump button on the edit dialogue to open the edit dialogue of the
grid elements connected to it.
For information about working with branches in the graphical editor, please refer to
Section 10.1 (Defining Network Models with the Graphical Editor).

11 - 10
DIgSILENT PowerFactory The Data Manager

11.2.5 Defining Sites in the Data Manager


The concept and the application context of sites are presented in the Section Sites of
Chapter 7.3.2 (Network Topology Handling). Next a description of the procedure used to
define new sites is given.
To define a new site from the Data Manager do the following:
• 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.

Note: Advanced users would notice that it is possible to move objects


from a grid to a Substation, Branch, Site, etc. and vice versa.

11.2.6 Editing Network Components using the Data Manager


Each component can be individually edited by double clicking on it to open the corre-
sponding dialogue. The class dialogue is composed of several tabs each corresponding to
a calculation function of PowerFactory. The parameters required by a determined calcu-
lation are always available on the corresponding tab. The description of the network
component's models, explaining the relations among the input parameters is given in the
technical reference papers attached to the Chapters D and C (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 ("Relative'').
• Increase or decrease them by multiplication with a scale factor with respect to the
sum of values selected ("Relative to Sum'').

11 - 11
DIgSILENT PowerFactory The Data Manager

• 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 nomi-
nal frequencies simultaneous, even if they would happen to take
the same value or would have to be raised with the same percent-
age.

For further information please refer to 11.4 (Editing Data Objects in the Data Manager).

11.3 Searching for Objects in the Data Manager


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

11.3.1 Sorting Objects


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

( ).
 Include, in the 'Flexible Data' page tab, the terminal voltage and nominal voltage (see
11.5).
 In the table ('Flexible Data' page tab), click on the title 'u, Magnitude p.u' to sort all
terminals from highest to lowest calculated voltage.
 Then click on the title 'Nom.L-L Volt kV' to sort by nominal voltage level.

11 - 12
DIgSILENT PowerFactory The Data Manager

 Now you will have all terminals first sorted by voltage level and then by rated terminal
voltage.

11.3.2 Searching by Name


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).
 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

11.3.3 Using Filters for Search

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 11.4:
Name:
Name of filter.
Object filter:
This field defines either the complete or a part of the search criteria,
and is optional. Examples are as follows:
- *.ElmSym: Include element objects of the class synchronous machines.
- *.TypSym: Include type objects of the class synchronous machines.
- Lahney.*: Include all objects with the name Lahney.
- Lahney.Elm*: Include all element objects with the name Lahney.
- D*.ElmLod: Include all load element objects whose names start with D.

- A drop down list providing various object classes can be accessed with ( ).

11 - 13
DIgSILENT PowerFactory The Data Manager

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

Fig. 11.4: General Filter dialogue

The OK button will close the search dialogue, but save the filter object to the Changed
Settings\Filters folder. This makes it available for further use. The CANCEL button will
close the dialogue without saving the changes. This button is useful if a search criterion
(filter) will only be used once.The APPLY button starts the actual search. It will scan the
relevant folders and will build a list of all objects that match the search criteria.
Once the search is complete a list of results is returned in the form of a new data browser
window. From this browser, the returned objects can be marked, changed, deleted,
copied, moved, etc...
Advanced search options allow more sophisticated expressions as search criteria. These
are specified in the "Advanced" tab of the General Filter dialogue (Figure 11.5). The filter
criterion is defined in terms of a logical expression, making use of parameter names.
Objects will be included in the data browser if, for their parameters, the logical expression
is determined to be true. An example of a logical expression is 'dline>0.7'. The variable
dline refers to the length of a transmission line, and the effect of such a filter criterion is
to limit the data in the browser to transmission lines having a length exceeding 0.7 km.
The logical expressions can be expanded to include other relations (e.g. >=), standard
functions (e.g. sin()), and logical operators (e.g. .and.).

11 - 14
DIgSILENT PowerFactory The Data Manager

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


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

I
Fig. 11.5: Filter dialogue - Advanced

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

Fig. 11.6: Searching literally

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

11 - 15
DIgSILENT PowerFactory The Data Manager

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

11.4 Editing Data Objects in the Data Manager


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 repre-
sentation of an element in the graphic window.

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

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

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

11 - 16
DIgSILENT PowerFactory The Data Manager

spreadsheet, where the user can edit and browse the data at the same time. The browser
window has two modes in which objects can be edited,
• Object mode
• Detail Mode
which are described in the following sections.

11.4.1 Editing in Object Mode


In the general case the icon, the name, the type and the modification date (with its autor)
of the objects are shown in the 'object' mode (see Figure 11.8). Certain objects, for
example network components, show additional fields like the ''Out of Service'' field.

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

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

11.4.2 Editing in "Detail'' Mode

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

11 - 17
DIgSILENT PowerFactory The Data Manager

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

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

Fig. 11.10: Modify values dialogue

11 - 18
DIgSILENT PowerFactory The Data Manager

Fig. 11.11: Modify values dialogue

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

11.4.3 Copy and Paste while Editing


One of the great advantages of editing data fields in the data manager's browser window
is the possibility to copy data from one object to another. This is done by selecting one
or more objects or object fields, copying this selection to the clipboard, and pasting the
data back in another place.
To copy one or more objects,
1 Open the Data Manager and select the grid folder where you find the objects to be
copied. Please do not open the icon for the Objects relevant for the calculation ,
as this is a filter view collecting objects stored at various locations.
2 Select them (see Figure 11.12).

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

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

11 - 19
DIgSILENT PowerFactory The Data Manager

Fig. 11.12: Copying an object in the browser

Fig. 11.13: Result of copying the object

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

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

11.5 The Flexible Data Page Tab in the Data Manager


The data browser (this will be seen in the data manager when the 'Detail Mode' has been
engaged) has page tabs for all calculation functions. These tabs are used to view or edit
object parameters which are categorized according to a calculation function and have a
fixed format.
The 'Flexible Data' tab, normally used to display calculation results, allows the user to
define a custom set of data to be displayed.
The default format for the calculation results displayed in the flexible page depends on
the calculation performed: Following a load-flow calculation, the default variables for
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 11.14 shows an example of the flexible data page tab.

11 - 20
DIgSILENT PowerFactory The Data Manager

Fig. 11.14: The Flexible Data page tab

11.5.1 Customizing the Flexible Data Page


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 calcu-
lation function. For example, the object ElmTr2 may have two variable sets for symmet-
rical 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 11.15. This dialogue is opened by
pressing the ( ) icon on the data manager toolbar. The Flexible Page Selector has tabs
for the different calculation functions. It opens with the tab corresponding to the most
recent calculation. Pressing the button next to the field 'Variables' allows the user to
select a Variable Set or to generate a new Variable Set. If a new Variable Set is generated,
the edit dialogue of Figure 19.1 pops up. The edit dialogue of the selected Variable Set
pops up if the button next to 'Variables' is pressed. The selection of variables within
Variable Sets is presented in detail in Chapter 19 (Defining Variable Sets).

Note: Variable Sets are objects of class IntMon, within PowerFactory they
have multiple uses. This section only presents their use in conjunc-
tion with Flexible Data. For further information please refer to
Chapter 19 (Defining Variable Sets).

11 - 21
DIgSILENT PowerFactory The Data Manager

Fig. 11.15: The Flexible Page Selector

11.6 The Input Window in the Data Manager


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

11.6.1 Input Window Commands


In principle, everything that can be done in DIgSILENT PowerFactory, can be done
from the command line in the input window. This includes creating objects, setting
parameters, performing load-flow or short-circuit calculations.
Some commands that are available are typically meant for command line use or for batch
commands. These commands are rarely used in another context and are therefore listed
here as "command line commands'', although they do not principally differ from any other
command.
Cd Command
Moves around in the database tree by opening another folder at a
relative position from the currently open folder.
Example:
cd...\gridB\Load1
Cl Command
Stops the redirection of the output window to either a file or to a
printer. All following messages will again be shown only in the output
window.
cl/out stops redirection to a file
cl/prn stops redirection to a printer

11 - 22
DIgSILENT PowerFactory The Data Manager

Cls Command
Clears the output or input window.
cls/out clears output window
cls/inp clears input window completely
cls/inp/done clears only previously executed commands
.../y asks for confirmation
Dir Command
Displays the contents of a folder.
Example:
dir Study Case
Ed Command
Pops up the dialogue of a default command, i.e. "ldf'', "shc'', etc.
Example:
ed ldf
Exit Command
Exits the program immediately without further confirmation.
Man Command
Queries or sets a variable.
Example:
man/set obj=Load_1.elmlod variable=plini value=0.2
Op CommandC
Redirects output to either a file or a printer.
Example:
op/out f=train3.out
Pause Command
Interrupts the execution of the command pipe until a next pause
command is executed.
Pr Command
Prints either the contents of the output window or the currently active
graphics window.
Rd Command
Opens and reads a file.
Stop Command
Stops the running calculation.
Wr Command
Writes to a file.

11.7 Save and Restore Parts of the Database


A selected part of the database can be written to a "DZ'' Import/Export file with the button
Export Data... ( ). This will bring a 'File Save' dialogue where a filename must be
specified.
Alternatively, the folder or object that is to be exported can be right-clicked in the data-

11 - 23
DIgSILENT PowerFactory The Data Manager

base tree, after which the option Export... is selected.


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

11.7.1 Notes
By exporting a folder from the database, only the information in that folder and all its
subfolders will be stored. If the exported objects use information (e.g. power system
types like line or transformer types) that is saved somewhere else, then that information
will not be stored. Make sure that the used power system types and all other referenced
information is exported too.
When importing a file that contains objects which use data outside the import-file, a
search for that data is started.
For instance, assume a project is exported. One of the line-models uses a type from a
library outside the project. When exporting, the path and name of this type is written in
the export-file, but the type itself is not exported, as is does not reside in the exported
project.
At importing, the stored path and name of the 'external' type is used to find the type again
and to restore the link. However, if the 'external' type is not found, then it will be created,
using the stored path and name. Of course, the created object has default data, as the
original data was not exported. Additionally, an error message is written to the output
window.
Suppose that you are working with a large library, which is stored in a special user-
account to make it read-only. The library is made accessible by sharing it to all users.
When export the projects, the objects from the external library are not exported.
However, a colleague which has access to the same library may still import your projects
without problems. The external objects used in your projects will be found in the same
location, and the links to these objects will be correctly restored.

11 - 24
DIgSILENT PowerFactory The Data Manager

11.8 Spreadsheet Format Data Import/Export


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

11.8.1 Export to Spreadsheet Programs (e. g. MS EXCEL)


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.
• Now you have different options:
- If you want to copy the content of the marked cells only, simply select Copy from
the context-sensitive menu.
- If you want to copy the content of the marked cells together with a description
header, select the Spread Sheet Format option. This opens a second menu which
offers the choice between writing the Spreadsheet export to a file (Write to File), or
to put it on the Windows Clipboard (Copy (with column headers)). See Figure
11.16.
• The exported data can now be imported into a Spreadsheet program. When the
Clipboard was used, using the Paste option of the spreadsheet program or pressing
Ctrl-V will Paste the data into the spreadsheet.
• The imported data may now be edited, or additional calculations may be made. The
PowerFactory data is imported as numbers and descriptions. The example in Figure
11.17 calculates a mean value from a range of line loading percentages.

11 - 25
DIgSILENT PowerFactory The Data Manager

Fig. 11.16: Exporting a range of data

Fig. 11.17: Imported data in a spreadsheet program

11.8.2 Import from Spreadsheet Programs (e. g. MS EXCEL)


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.

11 - 26
DIgSILENT PowerFactory The 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.

Spreadsheet Import of Values


The import of values (anonymous variables), i. e. cells of a table, is explained by the
following example.
In Figure 11.18, a range of active and reactive power values is copied in a spreadsheet
program. In Figure 11.19, 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 11.20.
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.

Fig. 11.18: Copying a range of spreadsheet data

Fig. 11.19: Pasting spreadsheet data from clipboard

11 - 27
DIgSILENT PowerFactory The Data Manager

Fig. 11.20: Database browser with imported data

Spreadsheet Import of Objects and Parameters


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.
This is shown in Figure 11.21.

Fig. 11.21: Excel required format

Figure 11.22 shows an example of valid spreadsheet data of some line types and some
2-winding transformer types.

Fig. 11.22: Example of valid spreadsheet data

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

11 - 28
DIgSILENT PowerFactory The Data Manager

• Select the header line and one or more objects lines.


• Copy the selection. See Figure 11.23 for example.
• Right-click the folder browser in the database manager to which the objects are to be
imported. Select 'Spread Sheet Format  Import Objects from Clipboard '. See
Figure 11.24 for example.

Fig. 11.23: Selecting object data in spreadsheet

Fig. 11.24: Importing objects from clipboard

The result of the object import depend on whether or not objects of the imported class
and with the imported names already exist or not in the database folder. In the example
of Figure 11.25, none of the imported objects existed in the database an all were created
new therefore. The example shows the database in detail mode.

11 - 29
DIgSILENT PowerFactory The Data Manager

Fig. 11.25: Result of spreadsheet object import

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
*?=",\~|
Default Data
When an imported object is created newly, the imported data is used to
overwrite the corresponding default data. All parameters that are not
imported will keep their default value.
Units
The spreadsheet values are imported without units. No conversion from
MW to kW, for example, will be possible. All spreadsheet values
therefore have to be in the same units as used by PowerFactory.

11 - 30
DIgSILENT PowerFactory Grouping Objects

Chapter 12
Grouping Objects

In Section 7.3.3, the concept and the application context of the objects that can be
defined in PowerFactory to group network components were introduced. In this section
the definition, management and functionality of these objects is discussed.

12.1 Areas
To define a new area:
• Multi select the components belonging to the new area (in the Data Manager or in a
single line diagram).
• Right click on the selection and select Define --> Area from the context sensitive
menu.
• After the area has been defined, terminals can be added to it by selecting Add to...-->
Area… in their context sensitive menu.
In the edit dialogue of the new area you must select a color to represent the area in the
single line diagrams. Using the Edit Elements button you can have access to all the
element belonging to that area in a data browser, then you can edit them. The Mark in
Graphic button may be used to locate the components of an Area in a single line
diagram.

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.

For information about the color representation in the single line graphic please refer to
10.6.5 (Color Representation).

12.2 Virtual Power Plants


As explained in Section "Virtual Power Plants" from Chapter 7 (The PowerFactory Data
Model), Virtual Power Plants are used to group generators of the defined network model
in such a way that the total dispatched active power is set to a target value. The dispatch
of each generator (variable pgini available on the 'Load Flow' tab of the generators
dialogue) is scaled according to the Virtual Power Plant rules (must run, merit of order,
etc., as described below), in order to achieve the total target value.
Virtual Power Plant objects (ElmBmu) are stored inside the 'Virtual Power Plants' folder

12 - 1
DIgSILENT PowerFactory Grouping Objects

within the Network Data directory.

12.2.1 Defining and Editing a New Virtual Power Plant


A new Virtual Power Plant is created by:
• 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.

Fig. 12.1: Defining a Virtual Power Plant

Alternatively you can create a new empty Virtual Power Plant by using the Data Manager:
• Open a data manager.

• Find the Virtual Power Plant folder ( ) and click on it.

• Press the icon for defining new objects ( ).


• select "Others".
• Then select "Virtual Power Plant (ElmBmu)" in the list box.
• Assign a suitable name to the Virtual Power Plant.
• Press OK.

The rules which determine the dispatch of the selected generators are set in the Virtual
Power Plant dialogue. The total active power to be dispatched is set in the field 'Active
Power'. The dispatch of the belonging generators (variable pgini from the Load Flow tab

12 - 2
DIgSILENT PowerFactory Grouping Objects

of the generator) is set by pressing the Apply button. If the 'Maximal active power sum'
of the included generators (sum of the maximal active power operational limit of the
generators) is smaller than the active power to be dispatched, an error message pops up.
Otherwise the dispatch is set according the user defined 'Distribution Mode':
According to merit order
Distribution of the dispatched active power is done according to the
priorities given to each generator in the Merit Order column of the
'Machines' table (this value can also be set in the Optimization tab of
the generators dialogue). Lower values have higher priority. Generators
with the option 'Must Run' checked are dispatched even if they have
low priority (high value). It is assumed that the merit of order of all
generators in the Virtual Power Plant is different. If not an error
message appears after the 'Apply' button is pressed.
According to script
The rules for the dispatch are set in user defined DPL scripts, which are
stored inside Virtual Power Plant object. To create new scripts or to edit
the existing ones you must open a data browser with the 'Scripts'
button.

Note: The Virtual Power Plant active power is part of the operation sce-
nario subsets and therefore is stored in the active operation sce-
nario (if available). The active power is stored in the active
expansion stage (if available) if no active operation scenario is ac-
tive. Virtual Power Plants that are created/deleted when a record-
ing expansion stage is active; become available/non available only
if the corresponding variation is active and the expansion stage ac-
tivation time is earlier than the current study time.

12.2.2 Applying a Virtual Power Plant


Check that the active power set for the Virtual Power Plant is less than or equal to the
maximum power. Press the Apply button.

12.2.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
'Optimization' 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.
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.

12 - 3
DIgSILENT PowerFactory Grouping Objects

Fig. 12.2: Virtual Power Plant

12.3 Boundaries
As explained in the Section Boundaries of Chapter 7.3.3 (Network Data), Boundaries are
objects used to define internal regions that later may be reduced by means of the Network
Reduction function of PowerFactory. Boundaries themselves are defined by a user
selected set of cubicles, the terminals connected to them and a selected orientation.
The cubicles in the boundary element define a cut through the network, that together with
the orientations are used to define the corresponding "Interior Region". Topologically, the
interior region is found searching through the network starting at each selected cubicles
towards the given direction. The topological search continues until either an open switch
or a cubicle that is part of the boundary list is found. Any open switch that is found by
this search is considered to be part of the interior region.
To define a new Boundary:

12 - 4
DIgSILENT PowerFactory Grouping Objects

• Multi select a set of cubicles and terminals in the single line diagram, which will define
the boundary. For doing this: freeze (!) the network diagram and click on the
corresponding ends of lines, transformers etc., and on one busbar to define the
orientation of the boundary.
• Then click with the right mouse button on the selection.
• Choose in the context sensitive menu Define… --> Boundary…. The dialogue of the
new Boundary will pop up.
• By pressing OK the new Boundary object is created in the Boundaries folder of the
Network Model.
To add cubicles to an existing Boundary:
• In the Boundary dialogue, right click on the table (on the number of a row) that lists
the included cubicles.
• Select Insert rows, Append rows or Append n rows from the context sensitive menu.
• Double click on the Boundary Points cell of the new line.
• Select the target cubicle using the data browser that pops up.
After selecting the desired cubicle, the terminal and the branch element connected to it
are added to the 'Terminal' and 'Components' cells on the table. By default the 'Orien-
tation' (direction used to determine the interior region) is set to the branch; you can
change it in order to direct the definition of the internal region to the connected terminal.
Cubicles can be retired from a Boundary by selecting 'Delete rows' from the context
sensitive menu of the table in the element dialogue.

The selected color at the bottom of the dialogue is used to represent the boundary in the
single line diagrams ( ). Each element in the graphic is colored according to the
following criteria:
• If it uniquely belongs to one interior region of a boundary to be drawn, its color will be
assigned to that specific boundary color.
• If it belongs to exactly two of the interior regions of the boundaries to be drawn, its
will be represented with dashed lines in the specific boundary colors.
• If it belongs to exactly more than two of the interior regions of the boundaries to be
drawn, its will be represented with dashed lines in black and the color selected for
multiple intersections.
The Edit Interior Elements button can be used to list in a data browser all the
components included in the internal region. The Mark Interior Region button marks
all the components of the interior region in the selected network diagram.
Topological changes in the network that affect the defined interior regions are automati-
cally detected by the program.

Note Boundaries that are created or deleted when a recording expan-


sion stage is active; become available/not available only if the cor-
responding variation is active and the expansion stage activation
time is earlier than the current study time.

12 - 5
DIgSILENT PowerFactory Grouping Objects

12.4 Circuits
To create a new Circuit:
• In the Data Manager open the Circuits folder from the Network Model.
• Click on the New Object icon.
• The edit dialogue of the new Circuit pops up. Give a name to the new object and
press Ok.
Branches are added to a circuit using the pointer from the 'Circuit' field of the branch
dialogue. The button Branches in the Circuit dialogue opens a data browser listing the
branches that refer to that circuit.

Note: Circuits that are created or deleted when a recording expansion


stage is active; become available/not available only if the corre-
sponding variation is active and the expansion stage activation
time is earlier than the current study time.

12.5 Feeders
The concept and application context of feeders (ElmFeeder) was presented in Section
(Feeders) from Chapter 5. In this section the aspects related with their definition and
functionality are discussed.
A new feeder is created by right-clicking on a cubicle (that is, when the cursor is held just
above the breaker in the single line diagram) and selecting Define -> Feeder.... Once the
option Feeder has been selected, the Feeder dialog pops up. There you can define the
desired options for the new object. After pressing Ok, the new Feeder is stored in the
Feeders folder of the Network Model.
Any existing Feeder can be edited using its dialogue (double click the target Feeder on a
data browser). The Feeder dialogue presents the following fields:
Name
Cubicle
Is a reference to the cubicle where the Feeder was created. It is
automatically set by the program once the Feeder is created.
Zone
Reference to the Zone (if any) to which the feeder belongs. A Feeder is
assigned to the zone of the local busbar/terminal.
Color
Sets the color be used when the Feeder Definitions coloring mode
( ) is engaged in the single line diagram.
Terminate feeder when…
A feeder will, by default, terminate when a higher voltage level is
encountered, however, this may not always be desirous. This may be
prevented by un-checking this option. The feeder will now continue
'past' a higher voltage level and may be terminated at a user defined
cubicle if desired. To manually terminate a feeder right-click a branch

12 - 6
DIgSILENT PowerFactory Grouping Objects

element above the breaker (to select the desired cubicle where the
feeder is going to end) and select Edit Cubicle. The dialogue of the
cubicle dialogue will be presented, and the 'Terminate feeder at this
point' option may be checked.
Orientation
The user may select the direction towards the feeder is defined.
'Branch' means that the feeder starts at the cubicle and continues in
the direction of the connected branch element. 'Busbar' means that the
Feeder is defined in the direction of the connected Terminal.
Load Scaling
In any system some loads values may be accurately known whilst
others are estimated. It is likely that measurement points exist for
feeders in the system as well, and thus the power that is drawn
through this feeder is also known. The load scaling tool assists the user
in adjusting these estimated load values by scaling them to match a
known feeder power or current that has been measured in the real
system. More information about the use of the Load Scaling Function is
given below.
Elements
The Mark in Graphic button may be used to select all the elements
of a Feeder in the desired single line diagram. The Edit button is used
to list all the elements belonging to a Feeder in a data browser.
To use the Load Scaling tool first define which loads may be scaled by enabling the
'Adjusted by Load Scaling' option on the Load-Flow tab of the load dialogue. All of the
loads in a feeder may also be quickly viewed by editing the feeder from the feeders folder.
Load scaling is now performed by the load-flow calculation function when:
• At least one feeder is defined with load scaling according to a current or power.
• The option 'Feeder Load Scaling' is enabled in the load-flow command dialog (basic
options).
• At least one load exists in the feeder area for which
- A change in operating point affects the load-flow at the feeder position
- The option 'Adjusted by Load Scaling' has been enabled.
The load-flow calculation will then adjust the scaling of all adjustable loads in the feeder
areas in such a way that the load-flow at the feeder equals the current or power setpoint.
The feeder setpoint is influenced by the zone scaling. This means that the current or
power flow as calculated by the load-flow could differ from the setpoint in the feeder
dialog when the busbar where the feeder is defined is part of a zone.
For instance, a feeder has a setpoint of 1.22 MVA. The busbar is in a zone and the zone-
scale is set to 0.50. The flow at the feeder position will thus be 0.61 MVA.

12 - 7
DIgSILENT PowerFactory Grouping Objects

Note: The Load Scaling options are part of the operation scenario sub-
sets; therefore they are stored in the active operation scenario (if
available). The Load Scaling options are stored in the active expan-
sion stage (if available) if no active operation scenario is active.
feeders that are created or deleted when a recording expansion
stage is active; become available/not available only if the corre-
sponding Variation is active and the expansion stage activation
time is earlier than the current study time.

12.6 Network Operators


To create a new operator:
• In the Data Manager open the Operators folder from the Network Model.
• Click on the 'New Object' icon.
• The edit dialogue of the new operator pops up:
- Give a name to the new object.
- Select a color to represent the operator se in the corresponding coloring mode of
the single line diagram-
- Press Ok.
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 corre-
sponding variation is active and the expansion stage activation
time is earlier than the current study time

12.7 Network Owners


Owners are created on the Owners folder of the Network Model, 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 corre-
sponding variation is active and the expansion stage activation
time is earlier than the current study time

12 - 8
DIgSILENT PowerFactory Grouping Objects

12.8 Paths
To create a new Path:
• In a single line diagram select a chain of two or more terminals and their inter-
connecting objects.
• Right click on the selection.
• Select the option Path --> New from the context sensitive menu.
• The dialogue of the new path pops up, give a name and select the desired color for
the corresponding color representation mode in the single line diagram. The
references to the objects defining the Path (First/Last Busbar First/Last Branch) are
automatically created by the program, according to the selection.
• After pressing Ok the new path is stored in the Paths folder of the Network Model.
By using the Elements button of the Path dialogue you can have access to all the element
belonging to the path in a data browser, there you can edit them. The Select button may
be used to locate the components of the path in a single line diagram. With the Toggle
button you can invert the order of the objects limiting the path (First/Last Busbar First/
Last Branch). This order is relevant when evaluating directional protective devises.
New objects can be added to a path by marking them in a single line diagram (including
one end of the target path and a busbar as the new end) right clicking and selecting Path
--> Add to from the context sensitive menu. Objects can be removed from a Path
(regarding that the end object of a Path must be always a busbar) by marking them in
the single line diagram, right clicking and selecting Path --> Remove Partly from the
context sensitive menu. The Remove option of the Path context sensitive menu will
remove the firstly found path definition of which at least one of the selected objects is a
member
As explained in Chapter 5, the functionality of this objects is related to the protection
functions of PowerFactory, for further information on the use of Paths please refer to
Chapter 32 (Protection).

Note: Paths that are created or deleted when a recording expansion


stage is active; become available/not available only if the corre-
sponding variation is active and the expansion stage activation
time is earlier than the current study time

12.9 Zones
Elements in a system may be allocated to a zone and the graphic may be colored to show
these zones. All of the loads may be quickly scaled in a zone and the elements of a zone
may be listed in a browser format for gang editing.
Zones are created by multi-selecting elements, right-clicking and choosing Define -->
Zone... from the context sensitive menu. The option Add to --> Zone... can be selected
when a zone(s) have already been defined.

12 - 9
DIgSILENT PowerFactory Grouping Objects

12 - 10
DIgSILENT PowerFactory Study Cases

Chapter 13
Study Cases

Study Cases (IntCase, ) define the studies to be performed in the modeled system.
They store all the definitions created by the user to perform calculations, allowing the
easy reproduction of results even after the deactivation of the project. By means of the
objects stored inside them objects the program recognizes:
• The parts of the network model (grids and expansion stages) to be consider for
calculation.
• The calculations (and their settings) to be performed over the selected parts of the
network.
• The study time.
• The active variations.
• The active operation scenario.
• The calculation results to be stored for reporting.
• The graphics to be displayed during the study.
A study case with a reference to at least one grid or expansion stage has to be activated
in order to enable calculations. A project that contains more than one grid, which has
several expansion stages for design alternatives, or which uses different operation
scenarios to model the various conditions under which the system should operate,
requires multiple study cases. All the study cases of a project are stored inside the 'Study
Cases' folder ( ) in the project directory.

Note: Only one study case can be active. When activating a study case,
all the grids, variations and operation scenarios that it refers be-
come active.

Without study cases, it would be necessary to manually activate the correct grid and/or
expansion stage over and over again in order to analyze the resulting power system
configuration. Similarly, it would be necessary to define over and over again the same
calculation command setup used to analyze the behavior of the selected network.
Besides storing the objects that define a network study, study case objects set the output
units for the performed calculations and allow the definition of certain calculation options
for the solving algorithms.
The following subsections describe the main objects stored inside the study cases, as
mentioned before they are used to define the network studies. For information about
defining and working with study cases please refer to Section 13.1 (Creating and Using
Study Cases).

13 - 1
DIgSILENT PowerFactory Study Cases

13.1 Creating and Using Study Cases


The Study Cases were introduced in Section 7.2.4 (Study Cases), following are the
instructions on how to create, edit and activate them.
When a new project is created, a new empty study case is automatically generated and
activated. The new study case is assigned the default settings of PowerFactory. The
user can later edit them using the study case dialogue (Figure 13.2).
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 calculation 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 13.2) 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 13.1).

Fig. 13.1: Activating a study case from the main toolbar

A study case can have more than one grid. Only the objects in the active grids will be
regarded in the calculations. To add an existing grid to the active study case:
• Open the data manager and go to the Network Data folder. Right-click the grid you
want to add to your calculation and select Add to Study Case from the context
sensitive menu. The grid will be activated and graphics will be opened (after a
selection by the user). To remove an active grid, select Remove from Study Case.
Variations are considered by a study case when they are activated. The expansion stages
are applied according to the study case time, which is set by the time trigger stored inside
the study case folder. More than one variation can be active for a study case. However
there will always be only one recording stage. For further information, please refer to
Chapter 17 (Network Variations and Expansion Stages). To add (activate) a variation to
the active study case:
• Right-click on it and select Activate from the context sensitive menu. The variation will
be activated and stages will be highlighted depending on the study time.
An operation scenario can be (de)activated via context menu or using the option File -->
Activate Operation Scenario/ Deactivate Operation Scenario from the main menu. On
activation, a completeness check is done (check if operational data is available for all
components). This is reported in the PowerFactory output window. If an operation

13 - 2
DIgSILENT PowerFactory Study Cases

scenario is active, all operational data attributes in property sheets or in data manager
are highlighted in a blue color. This indicates that changes of these values will not modify
the base component (or variation) but are recorded by the active operation scenario. On
deactivation, previous operational data are restored. If the operation scenario was
modified, a user confirmation is requested whether to save the changes or to discard
them. For further information about working with operation scenarios, please refer
Chapter 16 (Operation Scenarios).

Note: Only one study case can be activated at a time. Although network
components and diagrams can be edited without an active study
case, calculations can not be performed unless a study case is ac-
tivated. Variations and operation scenarios used by a study case
are automatically activated with the corresponding study case.

13.2 Summary Grid


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.

13.3 Study Time


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
analyse.
The Study Time must be inside the Validity Period of the Project, which specifies the time
span the Project is valid for (see Section : The Validity Period of the Project). PowerFactory
will use the Study Time in conjunction with time-dependent network expansions (Varia-
tions, Expansion Stages, see Chapter 17: 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 analyse 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.
The most easy way to change the Study Time is:
• Double click on the Study Time shown in the status bar of PowerFactory.

13 - 3
DIgSILENT PowerFactory Study Cases

• Enter the date and time or press the button -> Date and -> Time in order to set the
Study Time to the current time of your computer.
• Press OK to accept the changes and close the window.
There are several alternative ways to edit the Study Time.
Alternative 1: Edit the Study Time like a Trigger:
• Press the button "Date/Time of Calculation Case" in the main toolbar of PowerFactory.
• Enter the date and time or press the button -> Date and -> Time in order to set the
Study Time to the current time of your computer.
• Press OK to accept the changes and close the window.
Alternative 2: Edit the Study Case from within the Study Case dialogue:
• Activate the project and browse for the Study Case in the Data Manager.
• Right click on the Study Case and select Edit from the context sensitive menu.
• On the Basic Data tab page press the button with the three dots beneath the entry for
the Study Time
• Set the Study Time according to your needs.
• Press OK to accept the changes and close the window.

13.4 The Study Case Edit Dialogue


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 13.2 will appear.

13 - 4
DIgSILENT PowerFactory Study Cases

Fig. 13.2: Study Case edit dialogue

In the 'Basic Data' page, the user can define the name and an owner to the study case.
The output units of the calculated variables are defined in the 'Output Variables' field. The
grids that are linked to a study case may be viewed by pressing the Grids/System
Stages button. The study time can be edited by pressing the ( ) button; this will open
the edit dialogue of the study case time trigger (see Section 13.3: Study Time). Please

13 - 5
DIgSILENT PowerFactory Study Cases

regard that the study time can also change as a result of setting the recording expansion
stage explicitly (see Chapter 17: Network Variations and Expansion Stages).
The 'Calculation Options' tab is used to set the solving algorithm for the case calculations.
The change of the default options is only recommended under the supervision of the
DIgSILENT support experts.
The Description page, like all object's description pages is used to add user comments

Note: To edit the study time you can alternatively, press on the "Date/
Time of Calculation Case" button ( ). This will open the study
case time trigger window. Also, at the lower right corner of the
screen the time of the simulation case is displayed. By double-click-
ing on this field you are taken to the same window.

13.5 Variation Configuration


Similarly to the Summary Grid object, the Variation Configuration object (IntAcvariation
) holds references to the active variations.

13.6 Operation Scenarios


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.

13.7 Commands
In PowerFactory a calculation (i.e load flow ( ), short circuit ( ), initial conditions
of a time domain simulation ( ), etc.) is performed via 'Calculation Commands', which
are the objects that store the calculation settings defined by the user. Each study case
stores its own calculation commands, holding the most recent settings. This ensures
consistency between results and calculation commands and enables the user to easily
reproduce the same results at a later stage. When a calculation is performed in a study
case for the first time, a calculation command of the corresponding class is automatically
created inside the active study case. Different calculation commands of the same class
(i.e different load flow calculation commands: objects of the class ComLdf or
different short circuit calculation commands: objects of the class ComShc ) can be
stored in the same study case. These approach allows the user to repeat any calculation,
with all the settings (such as fault location, type, fault impedance, etc.) as last performed
in the study case. Of course the calculations are performed only over the active grids
(expansion stages).
Figure 13.3 shows a study case called Study 1 witch contains two load flow calculation

13 - 6
DIgSILENT PowerFactory Study Cases

commands ( , Ldf 1 and Ldf2), one command for an OPF calculation ( ), one
command for the calculation of initial conditions , and one transient simulation ( ).
The edit dialogue of each one of the calculation commands existing in PowerFactory is
described in the chapter corresponding to that calculation function.

Fig. 13.3: Calculation Commands in a Study Case

Actions such as generating a report of the actual calculation results or the state of the
defined network components are carried out via command objects (in this case ComSh
and ComDocu objects respectively). For information about reporting commands please
refer to Chapter 20 (Reporting Results in PowerFactory).

Note: Command objects basically consist of the data set that configures
the calculation, and the Execution function to perform the compu-
tations. Like any other object calculation commands can be copied,
pasted, renamed and edited.

13.8 Events
The time domain simulations as well as certain steady state calculations make use of
objects called Events, in order to specify the situations that lead to changes in the system
during the simulation/calculation time. PowerFactory offers several kinds of events:
• Control switch events (EvtSwitch)
• Set parameter events (EvtParam)
• Short-circuit events (EvtShc)
• Intercircuit fault events (EvtShcll)
• Events of synchronous machines (EvtSym)
• Events of loads (EvtLod)
• Outage of element (EvtOutage)
Each simulation event requires the definition of the target network components (i.e. short
circuited terminals, etc.) and an event time (when does the event occur). Within study
cases, the simulation events are stored inside an Event object (IntEvt ). The calcu-

13 - 7
DIgSILENT PowerFactory Study Cases

lation commands that require simulation events, point to the Event object containing the
set of events defined for that calculation.
The use and the definition of events are presented through the chapters explaining the
calculation function that require them. Further information about each specific simulation
event is given in the proceeding subsections.

13.8.1 Switching Events


Switching events (EvtSwitch) are used to open/close switches (StaSwitch, ElmCoup)
in the studied network. Any switch may be selected, thus enabling the switching of lines,
generators, motors, loads, etc. Here the user is free to select the switches/breakers of all
phases or only of one or two phases.

13.8.2 Set Parameter Events


With this event (EvtParam) an input parameter of any element or DSL model can be set
or changed during the simulation. A time of occurrence, an active network component and
the target parameter (input signals of the dynamic models) must be specified.

13.8.3 Short-Circuit Events


This event (EvtShc) causes a short-circuit on the selected busbar, terminal or specified
point of a transmission line. The fault type (three phase, two phase or single phase faults)
can be specified as well as the fault resistance and reactance and the phases which are
affected.
There is no possibility to define the duration of the fault. To clear the fault, another short-
circuit event can be defined, which will clear the fault in the same place.

13.8.4 Intercircuit Fault Events


This event (EvtShcll) is similar to the short-circuit event described before. Two different
elements and their phase can be chosen between which the fault occurs. Equal to the
EvtShc four different elements can be chosen:
• a busbar (StaBar)
• a terminal (ElmTerm)
• a overhead-line or cable (ElmLne)
• a line routes (ElmLnerout)

13.8.5 Events of Synchronous Machines


For synchronous machines there is a special event (EvtSym) to easily change the
mechanical torque of the machine. A point in time in the simulation and an active
synchronous machine ElmSym has to specified. Then one can define the additional
mechanical torque supplied to the generator. The torque can be positive or negative and
is entered in per unit values.

13 - 8
DIgSILENT PowerFactory Study Cases

13.8.6 Events of Loads


The value of the active/reactive? power of a load (ElmLod, ElmLodlv or ElmLodlvp)
can be altered using the load event (EvtLod). There are three different ways to carry out
the desired changes:
• Incremental Change: Adds additional power (positive or negative) to the current value
in % of the nominal power of the load.
• Absolute Change: Changes the current value of the power to the given value in % of
the nominal power of the load.
• Nominal Change: Changes current and nominal value of the power to the specified
value in % of the nominal power of the load.

13.8.7 Outage of Element


This event (EvtOutage) can only be used in steady state calculations, when an element
shall be put out of service at a certain point in time. Then the option "take element out
of service" is to be used. It is not possible to bring back the outaged elements into service
in the transient simulation. This option is active only in steady-state calculation functions,
e.g. short-circuit calculation or reliability assessment. In time-domain simulation the
following error message will occur in the output window:

DIgSI/err (t=000:000 ms) - Outage Event in Simulation not available.


Use Switch-Event instead!

13.8.8 Save Results


This event (EvtTrigger) is only used in the PowerFactory Monitor part of the
program. It can't be used during time-domain simulations

13.9 Results Objects


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.
An example of the result object dialogue is depicted in Figure 13.4.

13 - 9
DIgSILENT PowerFactory Study Cases

Fig. 13.4: The Results Object Dialogue

The result object shows the following fields:


Name
The name of the result object
Database ID
Its database ID and the date, when it was changed the last time
Default for
Its default use
Info
Information about the currently stored data, ie.e the time interval, step
sizes, number of variables, etc.
Trigger-Times
Trigger times (in case of a Triggered default use)
The information about the stored data shows:
• The time interval.
• The average time step.
• The number of points in time.
• The number of variables.
• The size of the database result-file.
The Update button will recalculate these parameters and update the shown information
if necessary. The Clear Data will clear all result data (only available if calculation results
are stored).

Note: Clearing the data will delete the result-file and will reset the data-
base ID. This will destroy all calculated or measured data in the re-
sult file. It will not be possible to restore the data.

13 - 10
DIgSILENT PowerFactory Study Cases

When the Protocol Output button is pressed, all events that happened during the
simulation, recorded by the result object, will be written again into the output window. So
one can check what events took place during the last simulation.
The content of a result object (the variables whose results are stored) is determined by
sets of selected variables called Monitor Variable Sets (IntMon ). Each Monitor
Variable Set stores the results of the selected variables for one network component.
These monitor objects can be edited by pressing the Contents button. This will show the
list of monitor sets currently in use by the result object.

Note: Selecting a set of result variables, trough the use of monitor ob-
jects is necessary because otherwise all available variables would
have to be stored, which is practically impossible.

For information about exporting results, please refer to 20.2.1 (Result Objects).

13.10 Variable Sets


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.
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 5.29 red circle, in this case a transformer called T1). 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' page (Figure 5.29, 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 5.29 blue circle).

13 - 11
DIgSILENT PowerFactory Study Cases

Fig. 13.5: Monitor Variable Set Dialogue

For further information about the definition of Monitor Variable Sets please refer to
Chapter 19 (Defining Variable Sets).

13.11 Triggers
As introduced in Section 7.7 (Parameter Characteristics and Parametric Studies),
parameter characteristics are used to define parameters as ranges of values instead of
fixed amounts. The parameter characteristics are set over user defined scales. The actual
value of the parameter is at the end determined by a trigger object (SetTrigger object,
), which sets an actual value on the corresponding scale. For example if the value of
certain parameter depends on the temperature, a characteristic over a temperature scale
is set. The actual value of the temperature is defined by the trigger. The actual value of
the temperature determines the actual value of the parameter, according to the defined
characteristic.
Once a parameter characteristic and its corresponding scale are set, a trigger pointing to
the scale is automatically created in the active study case. The user can access the trigger
object and change its actual value every time that he/she requires.
PowerFactory offers different types of characteristics and scales; each scale (by default
scales are stored in the Scales folder of the Equipment Library) points to a trigger from
the active study case. Information about the use and definition of characteristics, scales
and triggers is given in Section 7.7 (Parameter Characteristics and Parametric Studies).

13.12 Graphic Board


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

13 - 12
DIgSILENT PowerFactory Study Cases

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.

13 - 13
DIgSILENT PowerFactory Study Cases

13 - 14
DIgSILENT PowerFactory The Equipment Type Library

Chapter 14
The Equipment Type Library

In Section 7.4 (The Equipment Type Library), the description of the Equipment Types
Library and the definition of types for network components was given. Here, in this
chapter it is explained how to work with the objects of the Equipment Library, in order to
define and manage the types to be used in a project.
Once a new project is created, an Equipment Types Library is automatically set by the
program. This default equipment library contains the following folders:
• Generators
• Lines
• Loads
• Transformers
• Scales
The first four folders are objects of the class IntPrjfolder (Project folder) that allow the
filtering of the types to be stored inside them. By default only synchronous generator
types (TypSyn) are allowed in the Generators folder, only line types (TypLne) in the
Lines folder, only general load types (TypLod) in the Loads folder and only two winding
transformer types (TypTr2) in the Transformers folder. New type objects are created in
these folders using the new object icon ( ) and selecting the appropriate type class; if
a class that is not allowed by the filter is selected, an error message pops up. Alternatively
types from other projects or the global library can be copied and pasted in these folders;
again if the type class does not match the folder filter, an error message is generated.
The filters in the default folders are set to facilitate organization of the Equipment Library;
of course types for components other than synchronous generators, lines, loads and two
winding transformers can be stored. To define types different than the already mentioned
the user can:
1 Create new folders for other type classes.
2 Edit the existing folders to allow the definition of other types.
3 Create new types in the main directory (Equipment Library).
To create a new project folder in the Equipment Types Library:
• Right click on the Equipment Types Library folder in the left pane of the Data
Manager.
• Select New --> Project Folder from the context sensitive menu.
• In the project folder edit dialogue that pops up:
- Write the name of the new folder.
- Select the Generic folder type.

14 - 1
DIgSILENT PowerFactory The Equipment Type Library

- On the Filter Class field write the name of the type class (classes) to be allowed in
the folder. If more than one class is to be allowed, write the class names (case
sensitive) separated by a coma.
- Select 'Library' in the icon field.
To edit the filter of an existing folder:
• Right click on the target folder.
• Select Edit from the context sensitive menu.
• In the 'Filter Class' field write the name of the desired classes (case sensitive)
separated by a coma. The '*' character means that all classes are allowed.
To create new types directly in the in Equipment Types Library folder:
• Open the Equipment Types Library folder.

• Click on the New Object icon ( ) and select the desired type class from the
dialogue.
Notice that any type class can be copied in the Equipment Types Library folder.
The Scale folder, which is also created by default in the Equipment Types Library is used
to store the scales used by the parameter characteristics. Information about Scales and
the Data Model is given in Section 7.7 (Parameter Characteristics and Parametric Studies).
Information about the definition of Scales is given in Chapter 18 (Parameter Character-
istics).

Note: By default new block definitions (used by dynamic models) created


from block diagrams are also stored in the Equipment Types Li-
brary. Chapter 25 (Stability and EMT Simulations) provides all the
information related with dynamic modeling and block definitions.

14 - 2
DIgSILENT PowerFactory The Operational Library

Chapter 15
The Operational Library

Network components use references to type objects in order to set equipment-related


parameters and to avoid data redundancy. For example, two generators defined in a
network model (let’s call them G1 and G2) may refer to the same generator type (let’s
call it G 190M-18kV) to set their manufacturer-related data, i.e. nominal voltage, nominal
power, impedances, etc. G1 and G2 will have the same equipment data but may be
operated at different points, or may be grounded differently. That is, they may have the
same type data, but different operational and element data.
As mentioned, certain parameters of network components do not depend on the
equipment itself but on the operational point. These parameters are grouped under the
operational data set of the element. In the previous example of the synchronous gener-
ators, the active power dispatch or the reactive power limits are part of this operational
data.
In order to analyze a network under different operating points, operational data may
change frequently during a study. Considering that different network components may
have identical operational parameters (for example 2 generators with the same MVAr
limits, or various circuit breakers with the same ratings for short circuit currents), refer-
ences to objects storing operational data facilitate the definition of different network
operational points. Similar to types, the use of objects containing operational data avoids
redundancy.
The Operational Library is the Data Model project folder, where objects containing opera-
tional data are stored. As explained in Chapter 7.5, PowerFactory allows the definition
of several objects to store operational data. Figure 7.10 shows how the operational library
looks for its higher hierarchical level.
This section describes these objects and their hierarchical organization within the Opera-
tional Library, and explains how these objects are defined and applied to network compo-
nents.

15.1 Circuit Breaker Ratings


To create a new circuit breaker rating in the operational library:
• In the data manager open the CB Ratings folder.

• Click on the New Object icon ( ).


• 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.

15 - 1
DIgSILENT PowerFactory The Operational Library

To assign a circuit breaker rating to a circuit breaker (ElmCoup object) from the network
model:
• Go to the Complete Short-Circuit tab of the element's dialogue.

• In the Ratings field click on the button to select the desired rating from the CB
Ratings folder.
The parameters defined in the circuit breaker ratings can be made to be time-dependant
by means of variations and expansion stages stored inside the CB Ratings folder. This
feature is better explained by the following example:
Suppose that a circuit breaker (named CB) in a substation operates with different ratings,
depending on the time of the year. From 1st January to 1st June it will operate according
to the ratings defined in a set of parameters called CBR1. From 1st June to 31st
December it will operate with the ratings defined in a set of parameters called CBR2. This
operational procedure can be modelled by defining (in the CB Ratings folder) a circuit
breaker rating (let's call it CBR), and a variation (let's call it CB_Sem_Ratings) containing
two expansion stages. The first expansion stage should activate on the 1st January and
the second on the 1st June. The first task should be the definition of the time-dependant
circuit breaker rating (CBR):
To set the parameters of CBR for the first period:
• Set a study time before the 1st June to activate the first expansion stage (the
Variation CB_Sem_Ratings must be active);
• Edit the parameters of CBR (previously defined) according to the values defined in
CBR1. The new parameters will be stored in the active expansion stage.
To set the parameters of CBR for the second period:
• Set a study time after the 1st June, to activate the second expansion stage;
• Edit CBR according to the values of CBR2. The new parameters will be stored in the
active expansion stage.
Once the ratings for the two expansion stages have been set, and the circuit breaker
rating CBR has been assigned to the circuit breaker CB; the study time can be changed
from one period to the other to obtain different ratings for CB (note that the variation
must be active).
For information regarding short-circuit calculations, please refer to Chapter 23. For further
information regarding circuit-breaker ratings, please see Section 7.5.1. For further infor-
mation about variations and expansion stages, please refer to 7.3.4.

Note: The variations act 'locally'. The variations from the CB Rating folder
will only affect the circuit breaker ratings stored inside it. The vari-
ations of the Network Model will only affect the network compo-
nents from the grids.

15.2 Demand Transfers


To create a new load demand transfer:
• In the data manager, open the Demand Transfer folder.

15 - 2
DIgSILENT PowerFactory The Operational Library

• Click on the New Object icon ( ).

• In the Element Selection dialogue select Planned Outage (IntOutage) and press Ok.
• Set the validity time, the source and target loads/feeders and the expected amount of
power.

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.

A demand transfer is only possible if an active operation scenario (to record the changes)
is available. The Apply all button will automatically apply all transfers that are stored
in the current folder and which fit into the current study time. Before execution, the user
is asked if the current network state should be saved in a new operation scenario.
The same demand transfers can be applied as many times as desired during the validity
period. If a power transfer has been executed (with an amount <> 0) and the source's
power is less than 0, a warning is printed to the output window indicating that the power
limit was exceeded. The applied transfers can be reverted by using the Reset all
button.
As can be inferred from the information above, when the current operation scenario is
deactivated, all load transfers executed (while the operation scenario was active) will be
reverted.
For information about operation scenarios please refer to Chapter 16. Further information
about demand transfer is given in Section 7.5.2.

15.3 Fault Cases and Fault Groups


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).
To create new fault case (object of class IntEvt):
• Multi-select the target components on a single line diagram;
• Right-click and select Define --> Fault Cases from the context-sensitive menu;
• A submenu with the following entries pops up:

- Single Fault Case: This creates a single simultaneous fault case including all
selected elements. A dialog box containing the created fault case is opened to allow
the user to specify a name for the fault case. If the user presses Cancel, the fault
case will not be created in the database. Ok closes the dialog and saves the new
fault case.
- Multi fault Cases, n-1: This creates an n-1 fault case for each selected
component. Therefore the number of fault cases created is equal to the number of
components selected. This menu entry is only active if more than one component is
selected. The fault case is automatically created in the database after selection.

15 - 3
DIgSILENT PowerFactory The Operational Library

- Multi fault Cases, n-2: This creates an n-2 fault case for each unique pair among
the selected components. Therefore the number of fault cases is ( b   b – 1   2 )
where b is equal to the number of selected components. This menu entry is only
active if more than one component is selected. If only one component was clicked,
then no fault case will be created. The fault case is automatically created in the
database after selection.
• Select the desired outage level.
• Select the target Fault Cases folder from the data browser that pops up and press Ok.
The fault cases created will consist of short-circuit events applied to the selected compo-
nents. All breakers (except for circuit breakers, which are used to model a circuit breaker
failure) will be ignored.
• If only breakers are included in the selection, an error message will be issued.
• If a simple switch (not a circuit breaker) is included in the selection, a warning
message will be issued that this switch will be ignored.
• If a circuit breaker is contained in the selection, then an Info message will be issued,
that the CB will be used for modelling a CB failure and will not be handled as a fault
location.

Note: In the case that a branch is selected, the short-circuit event is gen-
erated for a (non-switch device with more than one connection)
component of the branch. The component used in the event is:
"Connection 1" if suitable, otherwise "Connection 2" if suitable,
otherwise a suitable random component of the branch (line, trans-
former….).

New Fault Groups (IntFltgroups) are created in the data manager by opening the target
Fault Groups folder and using the New Object icon ( ). The edit dialogue of the new
Fault Group pops up. In this dialogue a name can be specified, and cases (IntEvt objects)
can be added using the Add Cases button. The Cases button opens a data browser
displaying the fault cases which are referred by the group.
For information regarding the functionality of fault cases and fault groups in contingency
analysis tools please refer to Chapter 28. For further information about the concepts and
applications of fault cases and groups please refer to 7.5.3.

15.4 Capability Curves (MVAr Limit Curves) for


Generators
For further information about the concepts and applications of Capability Curves (MVAr
Limit Curves) please refer to Section 7.5.4.

15.4.1 Creating a New Capability Curve Object


To create a new generator capability curve (object of class IntQlim):
• Open the folder Mvar Limit Curves ( ) from the Operational Library.

15 - 4
DIgSILENT PowerFactory The Operational Library

• Click on the New Object icon ( ) and select Capability Curve (IntQlim). The new
capability curve dialogue pops up.
• Define the generation limits as described in Section 15.4.3.
• Press OK.

Alternatively, press the button on the Load Flow tab of the synchronous machine's
element dialogue. Then select User defined Capability Curve and enter the curve as a
series of points in the table. Right-click on the rows to append, delete or insert new rows.

15.4.2 Applying a Capability Curve from the Operational Library


To apply an existing generator 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 to look for a suitable curve in the Mvar Limit Curves folder in the
Operational Library folder.
• Select a capability curve.
• Press OK.

15.4.3 Defining an MVAr Limits Curve


In the capability curve dialogue, right-click on the empty rows and choose Append rows
or Append n rows, in order to add the required number of rows to the table. Construct
the curve as a series of points. Insert data as required to define the shape of the curve.

15.4.4 Editing a Capability Curve


The values of a capability curve can be changed at any time by double-clicking on it to
open the corresponding dialogue. Similar to circuit breaker ratings, capability curves can
become time-dependant by means of variations and expansion stages stored inside the
Mvar Limit Curves folder (refer to Section 15.1 for an explanation on how to define time-
dependant operational objects).
Capability curves are assigned using the reference contained on the Load Flow tab of a
synchronous generators dialogue. They 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 assignment/reset of the curve is reverted. For information on
working with operation scenarios, please refer to Chapter 16.

15 - 5
DIgSILENT PowerFactory The Operational Library

15.4.5 Defining a Variation of an MVAr Limits Curve


Find the MVAr Limits Curves folder in the left pane of a data manager window. Right-click
on it and select New -> Variation. Provide a suitable name and select OK. Now right-click
on the new variation and select New -> Expansion Stage. Edit the expansion stage and
press OK. For general information about variations and expansion stages please refer to
Chapter 17.

15.4.6 Activating a Variation of an MVAr Limits Curve

Open a data manager. Locate the Variation object in the Mvar Limits Curves folder
inthe Operational Library. Right-click on this object and select Activate.

15.5 Element Outages and Generator Deratings

To create a new outage of the type Element Outage or Generator Derating:


• In the data manager, open the Outages folder.

• Click on the New Object icon ( ).

• In the Element Selection dialogue select Planned Outage (IntOutage) and press Ok.
• The IntOutage dialogue will pop up. In the Outage Type section, the options Outage
of an Element and Generator Derating will be enabled. Set the validity time, select the
desired type, and define the outage accordingly (further information is given below).
The definition of an Outage of an Element requires references to the network compo-
nents to be taken out of service. These references can be created by pressing the
Contents button of the outage object, and in the data browser that pops up, creating a
reference to the target element with the New Object icon:
• After clicking on the New Object icon, the dialogue of the reference object (IntRef )
pops up. Give a name to the new reference.

• Press the ( ) button in the Reference field to select the target element in the
browser that pops up.
• After pressing Ok in the data browser, the selected element is added to the reference.
Press Ok.
The definition of a Generator Derating requires a reference to the target generator (note
that only one generator per IntOutage object is allowed), using the button from the
Derated Generator section of the dialogue. The derated power in MW (which will be
subtracted to the maximal active power of the generator) is entered in the MW reductions
field.
The actions defined in the outages can be automatically applied using the Apply button.
In order to carry out these actions an active operation scenario, to record the changes, is
required.

15 - 6
DIgSILENT PowerFactory The Operational Library

• For the Outage of Element type, the program automatically isolates the contained
components. The switches connecting the target elements with the other network
components are open and the terminals connected to the elements are earthed (the
Earthed option in the terminal (ElmTerm) dialogue is checked). Notice that the target
element can only be earthed if it is directly connected (without switches in the
cubicle) to terminals, which are then connected through switches to the network
terminals.
• For the Generator Derating the maximal active power that can be dispatched (defined
on the Load Flow tab of the generator element dialogue, in the section Active Power
Operational Limits) is recalculated as the difference between the maximal active
power (section Active Power: Ratings) and the MW reductions.
Note that the Apply button is only available if the study time lies within the outage period.
Applied outages and generator deratings can be reset using the Reset button. Note that
the programmed actions can also be manually carried out.
The Check All button in the outage object is used to verify if the actions (outage or
derating) defined for the target elements have been performed. Only the outages within
a valid period are considered. Outages market as Out of Service are not regarded (even
if the study time lies within the outage period).
• In the case of Outage of Element, the program looks for the current state of the
referred elements. If, according to the current study time (and the outage period), a
referred component should be out of service, but it is still connected to the network
(energized) or not earthed, a warning message is printed to the output window.
• In the case of a Generator Derating, if the maximal operational active power is not the
difference between the maximal rated active power and the MW reductions (values
defined on the Load Flow tab of the generator element dialogue), a warning message
is generated.
In the outages’ respective Check functions, the energizing state is always determined by
a connectivity analysis. Any component that is connected to a reference external net or a
reference generator is considered to be energized. All others are considered to be deener-
gized (if circuit breakers are open). A deenergized component is earthed if a topological
connection to a grounding switch or an earthed terminal exists (terminal with the Earthed
option checked).

Note: If the outaged element is a branch element (ElmBranch), all con-


tained elements are checked. If any of these elements is not cor-
rectly 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 repre-
sentation function available within the single line graphic. To do this, set the Colouring
option to Outage Check from the color representation dialogue ( ). The following states
are colored, according to user preferences:
• Components that are energized, but should be outaged.
• Components that are deenergized and not earthed, but should be outaged.
• Components that are deenergized and earthed, but should NOT be outaged.
• Components that are deenergized, not earthed and should be outaged.

15 - 7
DIgSILENT PowerFactory The Operational Library

• Generators that are not derated, but should be outaged.


• Generators that are derated, but should NOT be outaged.

15.6 Running Arrangements


The basic concept and application of the Running Arrangement (RA, objects of class
IntRunarrange) were introduced in 7.5.6. In this section, information concerning the
definition, management and functionality of these objects is given.

15.6.1 Creating a Running Arrangement


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):
• Click on an empty place in the substation graphic, and from the context-sensitive
menu choose Edit Substation. Open the substation dialogue.
• Press the Save as button (shown in Figure 15.1). This action stores the switch
settings of the substation as a new RA. This button is only available if there is
currently no Running Arrangement selection active.
• The new RA dialogue pops up, where a name and a period can be specified. 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.

15 - 8
DIgSILENT PowerFactory The Operational Library

Fig. 15.1: Running Arrangement in a Substation Dialogue

15.6.2 Selecting a Running Arrangement


A Running Arrangement (RA) can be selected in the Basic Data tab of a substation
dialogue (ElmSubstat, see Figure 15.2):
• Open the substation dialogue.

• Press the Select button ( ) in the Running Arrangement section. A list of all RAs
for the current substation is displayed.
• Select the desired RA. This selection is immediately reflected in the graphic (preview).
While an RA is selected, the switch statuses of a substation are determined by this RA and
cannot be changed by the user (i.e. they are read-only).
If there is no setting for a switch in an RA (i.e. the RA is incomplete), such a switch will
remain unchanged but its status is also set to read-only.
Furthermore, there is a button Select by Study Time (also available via the context-
sensitive menu when right-clicking on the data manager), which selects a valid RA
automatically according to the study time. If there are multiple RAs valid for the current
study time, or if there is no valid one, a warning is printed to PowerFactory's output
window (nothing is selected in this case).

15 - 9
DIgSILENT PowerFactory The Operational Library

15.6.3 Applying and Resetting a Running Arrangement


An active Running Arrangement (RA) can be applied to the corresponding 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 substation’s selected RA, using the Assign button (from within the RA dialogue).

Fig. 15.2: Apply & Reset a Running Arrangement

The following functional aspects must be regarded when working with running arrange-
ments:
• An RA can be selected for each substation. If an operation scenario is active, the
selection of an RA in a substation is recorded in the operation scenario (i.e. the RA
selection is part of the operational data included in the operation scenario subset).
• If a variation is active (and there is no active operation scenario), the selection of the
RA is stored in the recording expansion stage.
• While an RA is selected, the switch statuses of the corresponding substation are
determined by the RA and can not be modified. Any attempt to change such a switch
status will be rejected and a warning message will be printed to the output window.
The switch statuses preceding the activation of an RA remain unchanged and are
restored when deselecting the RA.
• The switch statuses stored in the RA could be incomplete due to the activation of a
variation or a modification made to the network model. For example, if an RA was
defined and then deactivated, and then later new switches were added to a

15 - 10
DIgSILENT PowerFactory The Operational Library

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.
• It is not possible to add a new switch to a substation while a running arrangement is
selected. Additionally, it is not possible to delete an existing switch from this
substation. In both cases the action is blocked and an error message is issued.
For information regarding substations please refer to Section "Substations" of
Chapter 7.3.2. For information regarding operation scenarios and their application please
refer to Section 16.

15.6.4 Assigning a Running Arrangement


The Assign button contained in the running arrangement (RA) dialogue makes it possible
to set this 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.

Fig. 15.3: Running Arrangement Dialogue

15.7 Thermal Ratings


To create a new Thermal Rating (IntThrating) object, open the folder Thermal Ratings
from the Operational Library, click on the New Object icon and select Thermal
Ratings. The new object dialogue pops up.
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:

15 - 11
DIgSILENT PowerFactory The Operational Library

• Introduce the increasing values for the pre-fault loading axis (Prefault %). By default,
values between 0% and 80%, with increments of 5%, up to 84% are set.
• Introduce the fault duration in minutes. Default values are: 360min, 20min, 10min,
5min, 3 min).
The pre-fault continuous rating (used as the base to calculate the loading before the fault)
and the post-fault continuous rating (assumed as the branch element pos-fault rating if
the fault duration is larger than the largest duration time defined in the table) are defined
on the Ratings tab.
The values of a thermal rating object can be edited at any time by double-clicking on it
to open the corresponding IntThrating dialogue. Similar to circuit breaker ratings and
capability curves, thermal rating objects can be made to be time-dependant by means of
variations and expansion stages stored inside the Thermal Ratings folder (please refer to
the Circuit Breaker Ratings section for an explanation on how to define time-dependant
operational objects).
The branch elements that can use thermal ratings are:
• Transmission lines (ElmLne);
• 2 and 3 winding transformers (ElmTr2 and ElmTr3);
• Series reactors (ElmSind);
• Series capacitors (ElmScap).
The reference to the thermal ratings is defined on the Basic Data tab of the dialogue of
the target branch elements.
When a contingency analysis (ComSimoutage) is configured, the user can define a post-
contingency time. According to the pre-fault loading found by the load flow used to
calculate the base case, and the post-contingency time (if specified), the ratings to be
used in the contingency load flow are determined (based on the referred Thermal Rating
object). The loading of the branch elements after the contingency load flow are calculated
with respect to the new ratings.
For further information about thermal ratings, please refer to Section 7.5.7. For infor-
mation about contingency analysis please refer to Chapter 28.

15 - 12
DIgSILENT PowerFactory Operation Scenarios

Chapter 16
Operation Scenarios

As introduced in Section 7.2 (PowerFactory Project Structure), the operational data of


network components defines the operational point of a system. Storing recurrent
operation points of a network and being able to activate or deactivate them when required
accelerates the analyses of the network under different operating conditions, i.e. different
dispatch programs, low or high load periods, etc. PowerFactory can store complete
operational points in objects called Operation Scenarios (IntScenario, ).
Operation scenarios are formed by data subsets, which group the operational data of the
active network components according to their type. Examples of operation scenario
subsets include: demand data; storing the active and reactive power of all loads or
running arrangement (RA) selections; and storing references to the RA selected in the
network substations.
Operation scenarios are stored inside the Operation Scenarios folder ( ) in the project
directory. The user can define as many operation scenarios as required; each operation
scenario should represent a different operational point. Figure 16.1 shows a project
containing two operation scenarios (Operation Scenario 1 and Operation Scenario 2, in
the left pane of the data manager window); the content of Operation Scenario 2 (i.e. its
subsets) is shown in the right pane of the data manager.

Fig. 16.1: Operation Scenarios and Operation Scenarios Subsets

A new operation scenario is defined by saving the current operational data of the active
network components. Once they have been created, operation scenarios can be activated
in order to load the corresponding operational data. If an operation scenario is active and
certain operational data is changed, these changes are stored in the corresponding
operation scenario subsets (if the user decides to store the changes). If the current
operation scenario is deactivated, the active network components reassume the opera-
tional data that they had before activating the operation scenario (this is the 'default'

16 - 1
DIgSILENT PowerFactory Operation Scenarios

operational data). Clearly, changes made to the 'default' operational data do not affect
operation scenarios.
When working with active operation scenarios and active expansion stages, modifications
on the operational data are stored in the operation scenario subsets. The expansion stage
keeps the default operational data. If no operation scenarios are active and new compo-
nents are added by the current expansion stage, the operational data of the new compo-
nents will be added to the corresponding operation scenario subsets, when activated.
The following section explain how these objects are defined, managed and applied in
network models.

Note: When an operation scenario is active, the operational data is dis-


tinguished in the network component dialogs because it is written
using a blue font colour.

16.1 Operation Scenario Subsets


As mentioned in the previous section, the operational data stored in an operation scenario
is organized into subsets according to the type of the data (i.e. virtual power plant data,
load data, generation pattern data, etc.). Table 16.1 and onwards summarize the
operation scenario subsets and the data that they contain for the corresponding network
components. Note that the names of the internal variables that represent the listed data
are written in italics. It is important to note that the operation scenario subsets are
automatically created after the definition of a new operation scenario, according to the
operational data that is stored; i.e. if no running arrangements are selected for the
network substations, no running arrangement selection subset is created. Similarly when
saving an active operation scenario, the operational data is automatically organized in the
corresponding subsets.

Table 16.1:Subset: Virtual Power Plant Data


Network Component Stored operational data
Virtual Power Plant Total Power (Ptot)
(ElmVirtual Power Plant)

Table 16.2:Subset: Demand Data


Network Component Stored operational data
Load (ElmLod) Active Power in MW (plini)
Reactive Power in Mvar (qlini)
Scaling Factor (scale0)

16 - 2
DIgSILENT PowerFactory Operation Scenarios

Table 16.2:Subset: Demand Data


Network Component Stored operational data
LV-Load (ElmLodlv) Apparent Power (slini)
Active Power (plini)
Current (ilini)
Power Factor (coslini)
Reactive/capacitive (pf_recap)
Scaling factor (scale0)
Night Storage Heater (pnight)
DC Machine (ElmDcm) (if Active Power (pini)
motor)

Table 16.3:Subset: Generation Pattern


Network Component Stored operational data
Synchronous Generator Active power in MW (pgini)
(ElmSym) Reactive power in Mvar (qgini)
Voltage setpoint in p.u. (usetp)
Angle in deg (phiini)
Primary Frequency Bias (Kpf )
Mvar capability limit (Qmin/Qmax or reference to curve) (q_min,
q_max, pQlimType)
MW-limit (operational limit only) (Pmax_uc, Pmin_uc,
pmaxucratf )
Control mode (iv_mode)
Reference-Machine-Flag (ip_ctrl)
Operator Comment (sOpComment)
Asynchronous Generator Bus Type (bustp)
(ElmAsm) Active Power (pgini)
Reactive Power (qgini)
Remote Control (i_rem)
Controlled Branch (p_cub)
Doubly-Fed Induction Machine (ElmAsmsc):
Active Power (pgini)
Reactive Power (qgini)
Controlled Flow (p_pctrl)
Slip (slip_set)
DC Machine (ElmDcm) (if Active Power (pini)
generator)

16 - 3
DIgSILENT PowerFactory Operation Scenarios

Table 16.3:Subset: Generation Pattern


Network Component Stored operational data
External Network Bus Type (bustp)
(ElmXnet) Active Power (pgini)
Reactive Power (qgini)
Voltage (usetp)
Angle (phisetp)
Reference busbar (p_uctrl)
Primary Frequency Bias (Kpf )
Secondary Frequency Bias (K)
Operator Comment (sOpComment)

Table 16.4:Subset: Local Switch Statuses


Network Component Stored operational data
Circuir Breakers, Switches Switch state (on_off )
(ElmCoup and StaSwitch)
Fuse (RelFuse), Switch state (on_off )
ElmGndSwt
Bus Bar/Terminal Earthing flag
(ElmTerm)

Table 16.5:Subset: RA Selection


Network Component Stored operational data
Sub-station (ElmSubstat) Reference to running arrangement

16 - 4
DIgSILENT PowerFactory Operation Scenarios

Table 16.6:Subset: Tap Settings


Network Component Stored operational data
2-Winding Transformer Actual tap position (nntap)
(ElmTr2) Automatic tap changing (ntrcn)
Controlled node (t2ldc)
Control mode (imldc)
Remote control (i_rem)
Controlled node (p_rem)
Phase (ilcph)
Controlled branch (p_cub)
Voltage setpoint (usetp)
Lower voltage bound (usp_low)
Upper voltage bound (usp_up)
Controller time constant (Tctrl)
Active Power setpoint (psetp)
Lower active power bound (psp_low)
Upper active power bound (psp_up)
Controller Sensitivity (Kpctrl)
Reactive power setpoint (qsetp)
Lower reactive power bound (qsp_low)
Upper reactive power bound (qsp_up)
Constroller sensitivity dv/dQ (Kqctrl)
Line drop compensation (ildc)
CT Rating (ldcct)
VT Rating (ldcpt)
Rset (ldcrs)
Xset (ldcxs)
External LDC (pldc)
Operator Comment (sOpComment)

16 - 5
DIgSILENT PowerFactory Operation Scenarios

Table 16.6:Subset: Tap Settings


Network Component Stored operational data
3-Winding Transformer Actual Tap Position (n3tap_h)
(ElmTr3) Actual Tap Position (n3tap_m)
Actual Tap Position (n3tap_l)
Tap control for side (ictrlside)
Automatic tap changing (ntrcn)
Controlled node (t3ldc)
Control Mode (imldc)
Remote Control (i_rem)
Controlled node (p_rem)
Voltage setpoint (usetp)
Lower voltage bound (usp_low)
Upper voltage bound (usp_up)
Controller time constant (Tctrl)
Controlled branch (p_cub)
Active power setpoint (psetp)
Lower active power bound (psp_low)
Upper active power bound (psp_up)
Controller time constant (Tctrl)
Controller sensitivity dv/dP (Kpctrl)
Reactive power setpoint (qsetp)
Lower reactive power bound (qsp_low)
Upper reactive power bound (qsp_up)
Controller sensitivity dv/dQ (Kqctrl)
Line drop compensation (ildc)
External LDC (pldc)
Operator Comment (sOpComment)

Table 16.7:Subset: Reactive Power Compensation


Network Component Stored operational data
Shunt (ElmShnt) Actual number of steps (ncapa)
Flag "Switchable" (iswitch)
Control mode (imldc)
Upper voltage limit (usetp_mx)
Lower voltage limit (usetp_mn)
Orientation (iQorient)
Upper reactive power limit (qsetp_mx)
Lower reactive power limit (qsetp_mn)
Upper power factor setpoint limit (pfsetp_mx)
Inductive/capacitive (pf_recap_mx)
Lower power factor setpoint limit (pfsetp_mn)
Inductive/capacitive (pf_recap_mn)
Flag Remote Control (i_rem)
Controlled Branch (Cubicle) (p_cub)
Operator Comment (sOpComment)

16 - 6
DIgSILENT PowerFactory Operation Scenarios

Table 16.7:Subset: Reactive Power Compensation


Network Component Stored operational data
SVS (ElmSvs) Load Flow Control (i_ctr)l
Remote Control (i_rem)
Controlled Node (p_rem)
Voltage Setpoint (usetp)
Enable droop (i_droop)
Qdroop
Controlled phase (ivcop)
Controlled Branch (p_cub)
Q Setpoint (Qsetp)
Act. Value of TCR (tcrqact)
Act number of capacitors (nncap)
Operator Comment (sOpComment)
Shunt Controller Control Mode (imldc)
(ElmShntctrl) Phase (ilcph)
Controlled Node (rembar)
Upper voltage limit (usetp_mx)
Lower voltage limit (usetp_mn)
Controller Time constant (Tctrl)
Controller Sensitivity (Kctrl)
Operator Comment (sOpComment)

Table 16.8:Subset: Voltage Profile


Network Component Stored operational data
Bus Bar/Terminal Target voltage (vtarget)
(ElmTerm) Min voltage (dvmin)
Max voltage (dvmax)
Station Controller Load Flow Control (i_ctrl)
(ElmStactrl): Controlled Bar (rembar)
Voltage Setpoint (usetp)
Controlled Phases (i_phase)
Control Mode (imode)
Operator Comment (sOpComment)

16 - 7
DIgSILENT PowerFactory Operation Scenarios

Table 16.9:Subset: Feeder Scaling Factor


Network Component Stored operational data
Feeder (ElmFeeder) Magnitude (i_scale)
Active Power (Pset)
Apparent Power (Sset)
Current (Iset)
Scaling factor (scale0)
Reactive power scaling (i_scalepf )
Reactive Power Setpoint (Qset)
Power Factor (cosphiset)
Ind/cap (pf_recapset)

Table 16.10:Subset: Zone Scaling Factor


Network Component Stored operational data
Zone (ElmZone) Load Scaling Factor (curscale)

16.2 Storage of Operational Data


As explained above, operation scenarios are used to store sets of operational data
according to the defined operation scenario subsets. Depending on the availability of an
active operation scenario, operational data is stored in an operation scenario, or in the
recording expansion stage, or directly in the network model:
• If no operation scenario is active, modifications made to operational data lead to
changes to the "default" operational data values. Depending on whether a variation is
active or not, the data modifications are recorded by the 'recording' expansion stage.
• If an operation scenario is active and the modified object is in an active grid folder or
active expansion stage, the modifications made to operational parameters are
recorded by the operation scenario. The modifications apply to the corresponding
operation scenario subset.
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 ( ). The modified operation scenario is not immedi-
ately stored in the database. The changes are made in RAM, with no database transac-
tions, and are stored after the operation scenario is saved.

16.3 Creating a New Operation Scenario


In order to create a new (empty) operation scenario:
• In the data manager, right-click on the Operation Scenarios folder in the active
project.

16 - 8
DIgSILENT PowerFactory Operation Scenarios

• Select New --> Operation Scenario from the context-sensitive menu as shown in
Figure 16.2.
• The dialogue of the new operation scenario pops up, where the name can be entered.
Press Ok.
Alternatively, an operation scenario can be created by saving the operational data of the
current active network components. This is done by going to the PowerFactory main menu
File --> Save Operation Scenario as... (see Figure 16.3). In this case the new operation
scenario is automatically activated.

Fig. 16.2: Creating a New Operation Scenario Object using the Data Manager

Fig. 16.3: Using the Main Menu to Save as a New Operation Scenario

16 - 9
DIgSILENT PowerFactory Operation Scenarios

16.4 Activating Operation Scenarios


An operation scenario is activated by right-clicking on it (in the data manager) and
selecting Activate from the context-sensitive menu. Alternatively, the option Activate
Operation Scenario from the main menu can be used. If another operation scenario is
active, the active operation scenario is first deactivated; the user is asked if she/he wants
to save the changes (if any) and the new operation scenario is activated. When an
operation scenario is activated, a reference is created in the current study case.
Upon activation, a completeness check is done, to check the following:
• If operational data is available for all components.
• If all defined operational data from the new operation scenario subsets can be applied
to the network model.
The results of the check are reported as messages in the output window. When an
operation scenario is incomplete at activation, the 'default' operational data is set for the
'incomplete' elements, modifying the operation scenario.
If an operation scenario is active, all operational data attributes in property sheets or in
data manager are highlighted in a blue color. This indicates that changes of these values
will not modify the base component (or variation) but are recorded by the active operation
scenario.

Note: The active operation scenario is displayed in the status bar

Fig. 16.4: Blue Highlighted Operational Data in an Element Dialogue

16 - 10
DIgSILENT PowerFactory Operation Scenarios

Fig. 16.5: Blue Highlighted Operational Data in a Browser Window

16.5 Saving Operation Scenarios


A new operation scenario may be created by selecting from the main menu File -> Save
Operation Scenario as… .
If any operational data (of a network component) is changed while an operation scenario
is active, that scenario is considered to be modified. The modifications are not saved; this
unsaved status is indicated by an asterisk (*) next to the icon for the operation scenario.
Further, an incomplete operation scenario is also considered modified (because data will
be completed on saving).

Fig. 16.6: An Asterisk Indicates Unsaved Changes in Operation Scenarios

A modified operation scenario can be saved to database by:


• The menu entry Save Operation Scenario in PowerFactory's main menu (see
Figure 16.3).
• The button Save in the dialogue window of the operation scenario (see Figure 16.10).

• The button Save Operation Scenario ( ) in the main icon bar (see Figure 16.7).
• The context-sensitive menu (right mouse button) entry Action -> Save of the
Operation Scenario (see Figure 16.8).
The button Save as from the operation scenario dialogue (only available for active
operation scenarios) can be used to save the current operational data as a new operation
scenario. The new operation scenario is automatically activated upon being created.

16 - 11
DIgSILENT PowerFactory Operation Scenarios

Fig. 16.7: The Save Operation Scenario Button in the Main Icon Bar

Fig. 16.8: Saving an Operation Scenario Using the Context-Sensitive Menu

Additionally, an auto-save for operation scenario data is available which will always save
a modified operation scenario automatically. This option can be enabled in the Power-
Factory User Settings ( icon on the main toolbar; Data Manager tab). This is done by
setting the Save Interval is set to '0 minutes', meaning that each modification will immedi-
ately be saved to database.

16 - 12
DIgSILENT PowerFactory Operation Scenarios

Fig. 16.9: The Auto-Save Option for Operation Scenarios in the User Settings
Dialogue

16.6 Deactivating Operation Scenarios


An operation scenario can be deactivated via the main menu File -> Deactivate Operation
Scenario or via the context-sensitive menu of the active operation scenario. On deacti-
vation, previous operational data (i.e. the 'default' operational data) is restored. If the
operation scenario was modified, a user confirmation is requested as to whether to save
the changes or to discard them.

16.7 Performing Actions on Operation Scenarios


In the operation scenario dialogue, the following buttons are available, as shown in Figure
16.10:

16 - 13
DIgSILENT PowerFactory Operation Scenarios

Save Saves modified scenario to database (only active if scenario was


modified).
Save as Saves current operational data of network components as a new
scenario. The new scenario will be activated automatically afterwards.
Reporting Checks if operational data stored in the scenario is complete (available
for all currently active components) and whether it refers to valid
components. Inconsistencies are reported to the PowerFactory
output window.
Apply Copies all operational data stored in the scenario to the network
components without activating the scenario. If another scenario or a
variation is active, it will record these values. Otherwise, the base
model is changed.
Compare Compares two scenarios and prints a comparison report to the output
window. (Only inactive scenarios can be compared).
Reporting RA Non-default running arrangement selections will be reported (only
enabled if scenario is active).
Most of these actions are also available in the context-sensitive menu when right-clicking
on an operation scenario.

Fig. 16.10: Operation Scenario Dialogue

16.8 Applying Operational Data from Operation


Scenarios
The operational data from a non-active operation scenario can be applied to the operation
scenario subsets of the active operation scenario or directly to the components of the

16 - 14
DIgSILENT PowerFactory Operation Scenarios

Network Data folder:


• If no active operation scenario is available, the source operational data is copied
directly to the components of the active networks, altering the 'default' operational
data.
• If an operation scenario is activated, the data is copied to the corresponding subsets.
It is possible to apply all operational data from the ''source'' operation scenario, or just
the selected subsets. This can be done via either the context-sensitive menu, or by
clicking on the Apply button in the operation scenario dialogue (only to apply the
complete operation scenario).

16.9 Reporting Information about Operation Scenarios


In operation scenario dialogue, the following reporting options are available:
• Reporting: Checks if operational data stored in the operation scenario is complete
(available for all currently active components) and whether it refers to valid
components. Inconsistencies are reported to the PowerFactory output window.
• Compare: Compares two operation scenarios and prints a comparison report to the
output window. (Only inactive operation scenarios can be compared).
• Reporting RA: Non-default running arrangement selections will be reported (only
enabled if operation scenario is active).
To generate any of these reports, the corresponding button must be pressed in the
operation scenario dialogue (as shown in Figure 16.10). In the case of a comparison, the
user must select the operation scenario to compare, from a data browser that pops up
immediately after the Compare button is pressed. Once the Ok button in the data browser
is pressed, the report is generated in the output window.

Note: Most of these actions are also available in context-sensitive menu


when right-clicking on an operation scenario (Action -> …).

16.10 Copying a Subset of an Operation Scenario to


Another Operation Scenario
The operational data is recorded in several subsets inside an operation scenario. The data
of each subset can be transferred from one operation scenario to another. As an example,
suppose that the "Running Arrangement Selections" from "Operation Scenario Low Load"
must be applied to "Operation Scenario High Load". First, activate the target operation
scenario (in this case, "Operation Scenario High Load"). Then, display the subsets of the
source operation scenario (in this case, "Operation Scenario Low Load") in the right-hand
pane of a data manager window. Right-click on the subset to be applied (in this case, "RA
Selections"), and choose Apply (see Figure 16.11).

16 - 15
DIgSILENT PowerFactory Operation Scenarios

Fig. 16.11: Applying Subsets from One Operation Scenario to Another

16.11 Comparing Two Operation Scenarios


If one of the operation scenarios to be compared is currently activate, deactivate it. Right-
click on one of the operation scenarios and select "compare" from the context-sensitive
menu. A window opens, from which we can select the other operation scenario to which
we want to compare (see Figure 16.12). PowerFactory prints the differences between
both operation scenarios in the output window.

Fig. 16.12: Selecting Operation Scenarios for Comparison

16 - 16
DIgSILENT PowerFactory Network Variations and Expansion Stages

Chapter 17
Network Variations and Expansion Stages

It is often necessary to make topological changes to a network model for a study. Use of
Variations in PowerFactory ensures that these changes are recorded separately, and
that the original network remains intact. A variation object is created in the Variations
folder within the Network Model folder, as shown in Figure 17.1. The concept and the
applications of variations and expansion stages were presented in Section 7.3.4 (Varia-
tions and Expansion Stages). This section explains how these objects are defined,
managed and applied within network models.

Fig. 17.1: Variations Folder with Expansion Stages

17.1 Basic Functionality


As introduced in Section 7.3.4 (Variations and Expansion Stages), expansion stages store
changes made to the Network Data and its subfolders. Four kinds of changes are
recorded:
• System parameter changes
• Operational data changes
• Adding a new object
• Deleting an object
The changes (except operational data if an operation scenario is activated) are recorded
and stored in the corresponding latest active expansion stage (the 'recording' expansion
stage). If an operation scenario is active, the operational data changes are stored inside
the corresponding operation scenario subsets. Objects cannot be renamed while a
variation is active, except for objects added in the active 'recording' expansion stage.

17 - 1
DIgSILENT PowerFactory Network Variations and Expansion Stages

Note: When stored inside Operational Library folders, variations (Varia-


tions) only affect the objects at the same hierarchical level or be-
low.

17.2 Creating New Variations and Expansion Stages


To create a new variation, right-click on the Variations folder ( ) in the data manager
and select New -> Variation from the context-sensitive menu. Alternatively, select the
Variations folder and click on the New Object button ( ) on the data manager’s icon
bar. Make sure that the Element field is set to Variation (IntScheme), and press Ok. The
new variation dialogue will then open.
In the variation dialogue, the name of the object can be edited, and a color set to
represent (in the single line diagrams) the modifications introduced by this variation. The
activation time of the variation is automatically set according to the expansion stages
stored inside (the 'starting' time is the activation time of the earliest expansion stage; the
'complete' 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. The Contents
button can be used to list the expansion stages stored inside the variation, in a data
browser. A variation can be copied within the current active project or in other projects;
it can only be deleted when it is inactive.
To create a new expansion stage, right-click on the target variation and select New -->
Expansion Stage. Alternatively, select the target variation and click on the New Object
button ( ) in the data manager’s icon bar. Set the 'Element' field to Expansion Stage
(IntStage). Press Ok. The dialogue of the new expansion stage is opened. In this dialogue
the name of the new expansion stage can be defined, and the activation time set. The
option Exclude from activation can be enabled in order to put the expansion stage ''out
of service''. If the parent variation is active, the user is asked (after pressing Ok in the new
expansion stage dialogue) if the new expansion stage should be set as the recording
expansion stage. An affirmative answer automatically adapts the study time to the
activation time of the expansion stage. As many expansion stages as are required for the
study can be created. The expansion stages are by default sorted according to their
activation time, in ascending order.
Once an expansion stage has been created, its activation time and the Exclude from
activation option can only be edited if the parent variation is not active. If the Contents
button of the expansion stage dialogue is pressed, a data browser listing the changes
introduced on the network model pops up. The Split button can be used to assign
changes from the recording expansion stage to a target (for more information, please
refer to Section 17.14 (Splitting Expansion Stages)). The Apply button (only available if
the parent variation is inactive) is used to apply the changes of an expansion stage.
Changes are applied to the Network Model or to the recording expansion stage (for further
information, please refer to 17.15 (Applying Expansion Stages Changes)).
Expansion stages can be copied and added/pasted into other variations. The copying and
pasting of expansion stages to the same variation is not allowed. An expansion stage can
only be deleted if it is inactive.

17 - 2
DIgSILENT PowerFactory Network Variations and Expansion Stages

Note: The user is free to create as many variations and expansion stages
as required for the study. The expansion stages are by default sort-
ed according to their activation time in ascending order. It should
be noted that a variation cannot be renamed or deleted when ac-
tivated.

17.3 Activating Variations and Expansion Stages


A study case can have as many active variations as required. To activate a variation: right-
click on it and select Activate from the context-sensitive menu. The variation and its
expansion stages will be activated based on their activation times and the current study
case time. The expansion stages will be highlighted depending on the study time,
indicating their activation status.
Figure 17.2 is an example which shows how expansion stages are colored according to
the specified times. The study time of "Study Case A" is set to a time between the
activation time of "Expansion stage 2" and "Expansion stage 3". Consequently, "Expansion
stage 1" is colored dark red, indicating that the changes introduced into the network in
that stage are effective. "Expansion stage 2" is colored light red indicating that the
changes introduced in this stage are effective, and additionally, that any other changes
made to the network will be recorded in this expansion stage. In other words, it is the
'Recording' Expansion Stage. "Expansion stage 3" is not colored meaning that for this
study case it is unused.

Note: More than one variation can be active for a study case. However,
there will always be only one recording stage.

17 - 3
DIgSILENT PowerFactory Network Variations and Expansion Stages

Fig. 17.2: Example Showing the Coloring of Expansion Stages According to the
Activation Time

Single or multiple variations can be deactivated by selecting them and choosing


Deactivate from the context sensitive menu (after right-clicking the selection). The corre-
sponding expansion stages are automatically deactivated and the changes that were
made to the network model are reverted.

Note: The 'Variation Configuration' object of the Study Cases, stores ref-
erences to active variations. When a variation is activated/deacti-
vated, the corresponding reference is created/deleted in the
Variation Configuration of the active Study Case. When a Study
Case is activated, the variations referred to in the Variation Config-
uration are automatically activated.

17.4 Conflicts During Activation of Variations


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 time. If PowerFactory detects dependent expansion
stages during the activation of a variation, an error message is displayed in the output
window and the activation process is cancelled.
Other conflicts that may arise during the activation of a variation:
• 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.

17 - 4
DIgSILENT PowerFactory Network Variations and Expansion Stages

• An already deleted object is deleted. In this case the deletion is ignored and a warning
message is displayed in the output window.
• An object is changed or deleted in a expansion stage but it does not exist. In this case
the change is ignored and a warning message is displayed in the output window.
• A deleted object is changed in a expansion stage. In this case the change is applied to
the deleted target object and a warning message is displayed in the output window.

17.5 Deleting an Expansion Stage


To delete an expansion stage, first deactivate the variation. Right-click the expansion
stage and select Delete. Note that the elements are deleted to the PowerFactory
Recycle Bin. They are not completely deleted until the Recycle Bin is emptied. In the case
that the expansion stage was used to create data using a DPL script, then re-running this
script might require the deleting of the corresponding expansion stage elements in the
Recycle Bin.

17.6 Displaying the Activation Times of Expansion


Stages
To check the activation time of an expansion stage, go to the corresponding variation in
the data manager. If the variation is selected in the left window of the data manager, a
list of expansion stages is displayed in the right panel and the corresponding activation
time for each stage is listed there.

17.7 Editing the Activation Times of Expansion Stages


To edit the activation time of an expansion stage, go to the corresponding variation in the
data manager. First the complete variation must be deactivated. If the variation is selected
in the left window of the data manager, the list of expansion stages can be seen in the
right panel.

Double-click a desired stage for editing to open the corresponding dialog. The button
can be used to alter the activation time for the stage. It is also possible to exclude the
stage from activation.

17.8 The Recording Expansion Stage


The recording expansion stage is the stage in which the latest changes by the user are
saved. Only one recording expansion stage is allowed per study case. When a variation is
activated, the activation times of the expansion stages are compared to the time of the
study case, and the stage with the most recent activation time (but earlier than or equal
to the study time) is automatically selected as the recording stage.
If the activation times of various expansion stages are the same and they correspond to
the time of the recording expansion stage, the user must select only one of the stages for
recording. The changes included in the remaining expansion stages become effective and
are colored in dark red.

17 - 5
DIgSILENT PowerFactory Network Variations and Expansion Stages

The user has the possibility to explicitly set the recording stage by right-clicking on the
target expansion stage and selecting Set 'recording' expansion stage. In this case the
study time will be changed to the activation time of the corresponding stage.
If variations are active and the study time is changed, the recording expansion stage is
automatically set according to the conditions described above.
The recording expansion stage is displayed in the 'Status Bar' (bottom of the screen,
below the output window), to inform the user.

17.9 Setting a Expansion Stage as the Recording Stage


The recording expansion stage is the stage in which the latest changes made by the user
are saved. When a variation is activated for a study case, the activation times of the
expansion stages are compared with the time of the study case, and the stage with the
most recent activation time (but which is earlier than or equal to the study time) is
automatically selected as the recording stage. The user can set the recording stage
explicitly by right-clicking on the expansion stage and selecting Set 'recording' Expansion
stage, in which case the study time will be changed to the activation time of the corre-
sponding stage.

17.10 Displaying the Recording Expansion Stage in the


Status Bar
The status bar is at the very bottom of the screen below the output window. To display
the recording expansion stage in the status bar, right-click on the status bar’s right-most
field, and choose Display Options -> 'Recording' Expansion stage.

17.11 Checking/Editing the Study Time (Date/Time of


the Calculation Case)
Double-click the study case or open the Edit dialog by right-clicking. Use the button
to change the activation time for the study case. Alternatively, press on the "Date/Time
of Calculation Case" button, . This will open the same window where the time can be
set. Lastly, 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. The study
time can change the recording expansion stage explicitly.

17.12 The Variation Scheduler


The default activation of expansion stages is carried out according to their study time, as
described at the beginning of Chapter 17. The Variation Scheduler can be used as an
alternative method to manage this activation order. The variation scheduler (objects of
class IntSscheduler) stores references to the existing stages in a variation and manages
different activation times and “out of service” (Exclude from activation) options. The
variation scheduler is an object inside the variation that, when activated, is able to modify
the activation time of expansion stages so that the order in which they take effect in the

17 - 6
DIgSILENT PowerFactory Network Variations and Expansion Stages

model is changed. The activation times of the stages return to their original values when
the variation scheduler is deactivated.
The user can define a variation scheduler which includes all the stages in the variation,
setting different activation times and not considering certain stages. If the scheduler is
activated, the activation order of the stages will be determined by the study time and the
activation times set in the scheduler, regarding the out of service options from the
Scheduler. In this case the settings from the expansion stages objects (IntStage) are
ignored.
The user can define as many variation schedulers as required in a variation, but only one
can be activated at a time.
In order to create a variation scheduler, open a data manager to display in the left-hand
pane the variation in which the scheduler must be inserted. Right-click on the variation
and select New -> Variation Scheduler. Alternatively, click on the New Object button ( )
and select Variation Scheduler (IntScheduler). The dialogue of the new Scheduler will
pop up. The stages from the variation will be automatically referred to by the new
scheduler. Press the Contents button to open a data browser listing the included stages
with their activation times and their out of service options.
The activation time and the 'out of service' option of the stages within a scheduler can
only be changed in non-active schedulers, by pressing the Contents button and writing
the desired values in the data browser. These changes of course do not affect expansion
stage objects and only are effective when the scheduler is active. Variation schedulers are
activated or deactivated via the context-sensitive menu on the data manager.

Note: The references to the existing expansion stage are automatically


updated in a scheduler.

Figure 17.3 shows the state in which the activation times of the stages can be edited
inside the scheduler. The variation must be active and the scheduler inactive. Display the
contents (references to expansion stages) of the scheduler in the right-hand pane of the
data manager. The activation time of a stage can be edited by double-clicking on the
reference to it in the right-hand window.

Fig. 17.3: The Variation Scheduler inside a Variation

17 - 7
DIgSILENT PowerFactory Network Variations and Expansion Stages

17.13 Comparing Variations and Expansion Stages


Variations and expansion stages can be compared, as can any other kind of object in
PowerFactory, by means of the Merge Tool. To carry out the comparison, a 'base object'
and an 'object to compare' must be selected using the context-sensitive menu. Once the
objects to be compared are selected, the comparison is performed by the Merge Tool. The
comparison results are presented in a data browser window (the Merge Tool window, as
illustrated in Figure 17.4). This browser window contains a special toolbar to facilitate the
visualization, sorting, and possible merging of the compared objects.

Fig. 17.4: Merge Tool Window

In the data browser window containing the comparison results, a list of the objects stored
inside the 'base object' and the 'object to compare' is presented. A comparison result
symbol, indicating the differences found on each object from the list, is displayed in the
column labelled 'Mod 1' (Figure 17.4). The symbols are defined as follows:
• The object exists in the 'base object' but not in the 'object to compare';
• The object exists in the 'object to compare' but not in the 'base object';
• The object exists in both sets but the parameters’ values differ;
• The object exists in both sets and has identical parameter values.
It is important to note that only objects from non-active projects can be compared. To
compare two variations or expansion stages, proceed as follows:
• Right-click on a variation or expansion stage from a non-active project and select
Select as Base to Compare in the context-sensitive menu.
• Right-click on the variation or expansion stage to compare and select Compare to
'Name of the base object' in the context-sensitive menu.
• The Merge Tool dialogue command (ComMerge) pops up. By default, all of the
contained elements are compared; the 'Compare' field can be configured however, to

17 - 8
DIgSILENT PowerFactory Network Variations and Expansion Stages

compare only the objects or selected subfolders (for further information please refer
to The Merge Tool Manual).
• Once the 'Compare' option is set, press the Execute button to perform the
comparison.
• The Merge Tool window with the corresponding results, as explained above, opens.

Note: In the case of expansion stages (or variations with the 'Compare'
option set to 'All Contained Elements') objects representing chang-
es in the Network Data are compared.

For further information on the Merge Tool and its applications please refer to The Merge
Tool Manual.

17.14 Splitting Expansion Stages


The changes stored in the recording expansion stage can be split within the same
variation, using a special Merge Tool function. In this case all the changes introduced in
the recording stage are listed in the Merge Tool window (not as changes but as the
modified objects with a icon if the object was added; if the object was deleted;
and if a parameter was changed). The user selects which changes she/he wants to
move to the 'target stage' and performs the split.

Note: The list generated in the Merge Tool window also displays the par-
ents of the modified objects (when the Show all Elements icon
( ) is clicked). Usually they are shown by the icon, indicating
that the objects themselves have not changed.

To split an expansion stage, proceed as follows:


• Open the dialogue of the expansion stage to be split (the recording expansion stage)
and press the Split button. Alternatively, use the right-mouse context-sensitive
menu.
• A data browser listing the remaining stages from the parent variation pops up.
Double-click on the target expansion stage.
• The Merge Tool window, listing all changes from the compared expansion stages,
pops up.
• Select the changes to be moved to the 'target stage' by double-clicking on the
Assignment cell of each row and selecting Move or Ignore. Alternatively use the icons
on the Merge Tool toolbar (see The Merge Tool Manual) to facilitate the selection.
• Press the Split button. All the changes marked as Move will be moved to the target
expansion stage; the changes market as Ignore will remain in their original stage.
• After pressing Split the variation will be deactivated.

Note: It is possible to merge two expansion stages by moving all the


changes from one stage to a target stage.

17 - 9
DIgSILENT PowerFactory Network Variations and Expansion Stages

17.15 Applying Expansion Stages Changes


The changes stored in a non-active expansion stage (modifications, deletions or
additions) can be applied to the Network Data folder or to the recording expansion stage.
To apply the changes, press the Apply button in the stage dialogue or right-click on it (in
the data manager) and select Apply from the context-sensitive menu. If a recording
expansion stage is activated, the changes are applied to it. If there is no active variation
available, the changes are directly applied to the Network Data folder. Before the changes
are applied, the user is asked for confirmation.

17.16 Consolidation of Variations


The changes recorded in all the active variations (expansion stages) 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, and empty active variations are deleted also.
To consolidate the active variations:
• Right-click on the active study case and select Consolidate Network Variation (option
only enabled if active variations are available) from the context-sensitive menu.
• A confirmation message listing the variations that are going to be consolidated pops
up. Press Yes to implement the changes.
Once the consolidation process has ended, an ASCII report listing the consolidated varia-
tions and expansion stages is printed to the output window.

Note: For Operational Library objects, active variations have to be con-


solidated in separate actions via the context-sensitive menu.

17.17 Coloring Variations and their Changes from within


the Single Line Graphic

The single-line graphic coloring function ( ) offers three modes which may be used to
identify changes from variations and expansion stages:
1 Coloring according to Grids/Original Locations: The object is shown in the
color of the grid or the variation in which the object is added.
2 Coloring according to Modifications: The object is shown in the color of the
variation in which the object is last added or modified.
3 Coloring according to Recording expansion stage: Three colors are
supported:
- Default color: for all objects not modified or added in the active recording
expansion stage;
- Modified color: for objects modified in the active recording expansion stage;
- Add color: for objects added in the active recording expansion stage.

17 - 10
DIgSILENT PowerFactory Parameter Characteristics

Chapter 18
Parameter Characteristics

The basic concept and the application of parameter characteristics and scales were
explined in Section 7.7 (Parameter Characteristics and Parametric Studies). Now, in this
chapter the information about the definition and the use of the different scales and
characteristics is given.

18.1 Defining Scalar Characteristics


Scalar characteristics are used when a parameter should vary according to a mathe-
matical relationship, with reference to a scale value. In Figure 18.1 the relationship "2x +
3" has been defined, and a scale (only the *.TriVal scale object may be used here) has
been chosen, where "x" refers to the scale variables. Thus, if the 'Global Temperature'
scale has been set to 15 deg by the trigger then the parameter that this characteristic is
applied to will thus be multiplied by 2*15+3=33.

Fig. 18.1: The scalar characteristic dialogue

To define a scalar characteristic for a parameter:


• In the edit dialogue of the target network component right click on the desired
parameter.
• Select New Characteristic ' Scalar Value… (Figure 18.2)
• The edit dialogue of Figure Fig. 18.1 pops up, select the corresponding scale (scales
to be used in the new characteristics must be previously defined), define the
characteristic and press Ok.

18 - 1
DIgSILENT PowerFactory Parameter Characteristics

Fig. 18.2: Creating a characteristic for a parameter

As seen in Figure 18.2 characteristics can be edited and reset.


To define a new scale for a scalar characteristic:
• Open the Scales folder from the Equipment Library.
• Click on the 'New Object' button and select Scalar and Trigger (TriVal).
• Set the desired units of the scale, the associated trigger is automatically created in the
current study case.

Note: You can also use the "New Object'' icon (in the data browser) to
create a new scale when selecting a scale for a characteristic.

18.2 Defining Discrete Time Characteristics


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

18 - 2
DIgSILENT PowerFactory Parameter Characteristics

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 … (Figure 18.2)
• The edit dialogue of the Discrete Time Characteristic pops up. Select the
corresponding scale (predefined by the program), define the 'Usage' (see paragraph
above), enter the characteristic values and press Ok.

18.3 Defining Discrete Parameter Characteristics


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. Again the 'Usage' field at the bottom
of the characteristic dialogue specifies how the values entered in the 'Values' column will
be applied:
• Relative in % will multiply the parameter by the percentage value
• Relative will multiply the parameter by the value
• Absolute will replace the current parameter value by the absolute value provided
The approximation field and accompanying polynomial degree field will be disabled
because interpolation cannot be performed for discrete scales. The current percent value
is shown, according to the case that is currently active. The diagram page for the discrete
characteristic shows a bar graph for the available cases. See Figure 18.3 for an example.
The bar for the case that is currently active (set by the trigger) is colored black

18 - 3
DIgSILENT PowerFactory Parameter Characteristics

Fig. 18.3: Discrete parameter characteristic diagram

To define a new discrete parameter characteristic:


• In the edit dialogue of the target network component right click on the desired
parameter.
• Select New Characteristic --> One Dimension Vector…
• The edit dialogue of the one dimension vector characteristic (generic class for one
dimensional characteristics) pops up.
• After selecting the corresponding discrete scale (scales to be used in the new
characteristics must be previously defined), the cases defined by the scale are
automatically show in the list, define the 'Usage' and enter the characteristic values.
• Press Ok.
A discrete scale is a list of cases. These cases are each defined by a short text description.
The scale dialogue offers a text window in which each line defines a new case. See Figure
Fig. 18.4 As soon as at least one case has been defined, the trigger field will be enabled.

18 - 4
DIgSILENT PowerFactory Parameter Characteristics

Fig. 18.4: Example of a Discrete Scale

To create a new discrete scale:


• Open the Scales folder from the Equipment Library.
• Click on the 'New Object' button and select Discrete Scale and Trigger (TriDisc).
• Write the name of the scale cases (one case per line). As soon as at least one is
defined, the trigger field is enabled.

Note: You can also use the "New Object'' icon (in the data browser) to
create a new scale when selecting a scale for a characteristic.

18.4 Defining Continuous Parameter Characteristics


A continuous parameter characteristic is used to set the value of a parameter ('Y' values)
according to the 'X' values set in the continuous scale. The Usage" field at the bottom of
the characteristic dialogue specifies how the values entered in the "Values" column will
be applied:
• Relative in% will multiply the parameter by the percentage value
• Relative will multiply the parameter by the value
• Absolute will replace the current parameter value by the absolute value provided
The scale 'X-Y' points will define a curve which is used to approximate 'Y' values for trigger
values in between, or even outside, the 'X' values. Various approximation functions are
available:
• Constant: holds the Y-value in between X-values
• Linear: uses a linear interpolation.
• Polynomial: uses a polynomial function with user defined degree.
• Spline: uses spline function
• Hermite: uses a Hermite interpolation

18 - 5
DIgSILENT PowerFactory Parameter Characteristics

The approximation curve will be shown in the diagram page. Examples of these approxi-
mation curves are shown in Figure 18.5.

Fig. 18.5: Approximated characteristics

The interpolated Y-value may vary considerably between approximation functions. This is
shown in Figure 18.5 where the linear and constant approximations are drawn on top of
each other. The black crosses, which have been encircled in the figure for clarity, show
the trigger setting and the resulting different Y-values.
To define a new continuous parameter characteristic:
• In the edit dialogue of the target network component right click on the desired
parameter.
• Select New Characteristic --> One Dimension Vector…
• The edit dialogue of the one dimension vector characteristic (generic class for one
dimensional characteristics) pops up.
• After selecting the corresponding continuous scale (scales to be used in the new
characteristics must be previously defined), the 'X' values defined by the scale are
automatically show in the list together with their unit. Define the 'Usage', enter the
characteristic 'Y' values and define the 'Approximation' function.
• Press Ok.
To create a new continuous scale:
• Open the Scales folder from the Equipment Library.
• Click on the New Object button and select Continuous Scale and Trigger (TriCont).
• Enter the unit of the 'X' values.
• Append the required number of rows (right click on the first row of the Scale table and
select Append n rows) and enter the 'X' values.
• Press Ok.

18 - 6
DIgSILENT PowerFactory Parameter Characteristics

Note: You can also use the "New Object'' icon (in the data browser) to
create a new scale when selecting a scale for a characteristic.

An example of a continuous scale is shown in Figure 18.6 where six temperature values
are defined.

Fig. 18.6: Example of a continuous scale

18.5 Defining Frequency Parameter Characteristics


A frequency characteristic may be viewed as a continuous characteristic whose scale is
defined by frequency values in Hz. The definition procedure is similar to that of the
continuous characteristics, here you have to select a Frequency Scale (TriFreq), which is
defined in the same way as a continuous scale (except for the units, which are automat-
ically set to Hz).

18.6 Defining Time Parameter Characteristics


Time parameter characteristics are basically 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 reference). 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

18 - 7
DIgSILENT PowerFactory Parameter Characteristics

respectively, the second, minute and hour of normal daytime.

Figure 18.7 shows an example where four equidistant moments in a year have been
created.

Fig. 18.7: Example of a time scale

For information about the global time trigger please refer to Data Model Time Trigger.

18.7 Defining Two-dimensional Parameter


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

18 - 8
DIgSILENT PowerFactory Parameter Characteristics

Fig. 18.8: Matrix characteristic dialogue

The nature of the characteristic depends on the kinds of scale that are selected. The first
scale, that for columns, must be a discrete scale. The scale for rows may be a discrete or
continuous scale. These scales may have already have been created or will need to be
created (tip: use the New Object' icon when selecting a scale to create a new scale and
read more about scales in the sections following).
The 'Usage' field at the bottom of the characteristic dialogue specifies how the values
entered in the "Values" column will be applied to the parameter that the characteristic is
associated to.
• Relative in % will multiply the parameter by the percentage value
• Relative will multiply the parameter by the value
• Absolute will replace the current parameter value by the absolute value provided
Interpolations between the values are determined by the setting in the 'Approximation'
field (similar to the continuous characteristics). A graph showing the values plotted
against the scale can be seen on the "Diagram" tab.
A column calculator can be used to calculate the column values, as a function of other
columns. This is done by pressing the Calculate... button. In the example of Figure
18.9, the first column is calculated as the average of the other columns. The result is
shown in Figure 18.10.

18 - 9
DIgSILENT PowerFactory Parameter Characteristics

Fig. 18.9: Calculating column values

Fig. 18.10: Result of a column calculation

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

18.8 Importing Parameter Characteristics from Files


When a series of data is available in an external file, such as an Excel file, or tab or space
separated file this data may be utilized as a characteristic if the "Parameter Characteristic
from File" (ChaVecfile object) is used.
The external file must have the scale column for the data series in column 1.
Once the input data dialogue has been generated (see Figure 18.11) a scale and trigger
must be set [1] and the link to the existing data file is created [2].
The column field [3] is used for specialized purposes and should generally be left at the
default figure of '1'.

18 - 10
DIgSILENT PowerFactory Parameter Characteristics

The factor fields, [4] and [5], may be used to adjust or convert the input data. The data
contained in column 2 of the external file will be adjusted by y=ax+b where "x" is the
data in the external file and "y" is what will be loaded into the characteristic.
The "Usage" field at the bottom of the characteristic dialogue [6] specifies how the values
entered in the "Values" column will be applied to the parameter that the characteristic is
associated to.
• Relative in % will multiply the parameter by the percentage value
• Relative will multiply the parameter by the value
• Absolute will replace the current parameter value by the absolute value provided.
Interpolations between the values are determined by the setting in the 'Approximation'
field [7]. A graph showing the values plotted against the scale can be seen on the
'Diagram' tab [8].
Once the file link has been set press the Update button [9] to upload the data from the
external file to the characteristic.

Fig. 18.11: The Parameter Characteristic from File dialogue

18.9 Handling Scales and Characteristics


If only a few characteristics for some parameters are to be defined, the characteristic may
be directly defined using the menu options that are presented when right-clicking a
parameter field. Characteristics that are defined in this manner are stored in that object.
This characteristic is normally hidden in the database browser.

18 - 11
DIgSILENT PowerFactory Parameter Characteristics

If the same characteristic is to be applied to several parameters then it is better to define


the characteristic explicitly beforehand. Parameters may then be ''referred'' to the charac-
teristic. This is what is meant by the New Characteristic -> Reference... option when right-
clicking a parameter.
All ''direct'' characteristics, and all references to characteristics are normally hidden in the
database browser to prevent accidental direct manipulation. A special display mode is
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 18.12
(remember that the browser must be in 'detail' mode to see these tabs).

Fig. 18.12: Browser in 'scales' mode

The browser in 'Scales' mode shows all characteristics defined for the displayed objects,
together with the original value and the current value as determined by the characteristic.
In the example, a one-dimensional characteristic for the active power (parameter 'plini'),
using the scale called 'Loading' has been used for the load 'Load C(1)'. The trigger has set
the scale to a value of 200% and thus the "Current Value" is 100 MW which is 200% of
the input value of 50 MW. The current values will be used in all calculations.
The browser 'Scales' mode is not only used to quickly inspect all defined characteristics,
but may also be helpful in defining new characteristics, or in selecting references. Figure
18.13 shows the context sensitive menu that appears when a characteristic field is right-
clicked.

18 - 12
DIgSILENT PowerFactory Parameter Characteristics

Fig. 18.13: Managing characteristics

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

Fig. 18.14: Selecting a range of characteristics

The 'Scales' tab of the browser will only show the 'Characteristic' column when at least
one of the objects has a characteristic defined for a parameter. It is thus necessary to
define a characteristic for one object prior to using the browser, when the user would like
to assign characteristics, for the same parameter, for a range of other objects. To define
a ''High-Low'' loading characteristic for all loads, for instance, can thus be done by
performing the following steps.
• Create a discrete scale in the grid folder.
• Create a vector characteristic using this scale in the grid folder.
• Edit one of the loads, right-click the active power field and assign the vector
characteristic to the relevant parameter.
• Open a browser with all loads, activate the 'detail' mode and select the 'Scales' tab.

18 - 13
DIgSILENT PowerFactory Parameter Characteristics

• Select the characteristic column (right-click -> Select Column) and then right-click the
selected column.
• Use the Select Characteristic... option and select the vector characteristic.

18 - 14
DIgSILENT PowerFactory Defining Variable Sets

Chapter 19
Defining Variable Sets

Variable Sets (IntMon objects) are used to select and monitor variables associated with
objects of the data model in order to store results. The selection of a variable set, deter-
mines the variables to be recorded during a simulation run, the variables to be displayed
by a "Flexible Page Selector" or a result/text box (results box and Flexible page selector
with link).
Before a calculation is performed or after initial conditions of a time domain simulation
have been calculated, the user can define variable set monitors from the single line
graphic by:
• Right clicking on the target network component.
• Selecting Define -->Variable Set (SIM) from the context sensitive menu.
• This will pop up a data browser listing all the results objects defined in the active
study case. The user must select a target result object by double clicking on it. If no
results object have been defined, PowerFactory will generate a default one, called
'AllCalculations'.
Variable Set Monitors can also be created directly in the target results object using the
Contents button (of the Results object). This will pop up a browser with all the variable
sets that have already been defined. To define a new variable set, the icon in the
browser can be pressed.

19.1 The Variable Set Monitor Dialogue


An example of the variable set object is shown in Figure 19.1. Here the variable set for
the load called 'Load C', which is found in a grid called 'North' 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).

19 - 1
DIgSILENT PowerFactory Defining Variable Sets

Fig. 19.1: Example of a variable set dialogue

In the variable set monitor dialogue the following fields can be seen:
Object
Is the selected object (normally a network component), whose
variables are going to be monitored.
Class Name
If no object has been selected the "Class Name" field becomes active.
This is normally used for more advanced studies and need not be
explained further here.
Display Values during simulation in output window (...)
By checking this box and selecting the option 'Display results variables
in output window' in the simulation command, the values calculated for
the selected variables during a simulation will be displayed in the out
put window.
Filter for
As mentioned previously, there is a large number of variables that may
be observed in PowerFactory. To be able to find and select these
they are sorted into sets. A series of filters allows the user to sort
through the sets. Further information about the selection of variable is
given in the subsection Searching the Variables to Monitor.
Page Tab
The first sorting of the variables is by calculation function (load-flow,
short-circuit, etc.). In the example of Figure 19.1, the RMS tab has
been automatically selected, as a prior RMS calculation was performed.
Available Variables
All of the variables that are available for display are listed here (as
sorted by the filter).
Selected Variables
The selected variables are shown here. Variables are placed here by
highlighting (selecting) them on the "Available Variables" side and then
pressing the ( ) button. Individual variables can also simply be
double-clicked to transfer them from one column to the other.

19 - 2
DIgSILENT PowerFactory Defining Variable Sets

Display as
If this box is checked then all of the selected variables are shown in the
'Selected Variables' area. If it is not checked then the filter will also
apply to the "Selected Variables" area and only those selected variables
in the filtered set will be shown.
The following buttons are available on the right of the dialogue:
• Balanced/Unbalanced: Depending on the type of calculation to be monitored
(balanced or unbalanced), the user can toggle between balanced and unbalanced
variable sets.

• goes to the manual input page for variables- for advanced use.
• Print Values: Prints the current values for all the selected variables to the output
window.
• Variable List: Prints a list of all available variables to the output window.
• Variable List (Page): Prints a list of available variables for the current tab (e.g.
Basic Data) to the output window.

19.2 Searching the Variables to Monitor


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:
Currents, Voltages and Powers
Almost self explanatory- these are the outputs as calculated by a
calculation function. The variable is preceded by "m:" (representing
'monitored' or 'measured') as in "m:P:bus1" for the active power drawn
by the load. The user may select one set for branches and one set for
the nodes, which then is used for each node the edge is connected to.
Bus Results
Variables for the bus/s that the element is connected to (usually
preceded by "n:" 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 models (inputs and outputs). They are preceded by "s:".
These should be used when creating a controller or in a DPL script.
These variables are accessible whilst an iteration is being calculated,
whereas the other variables sets are calculated following an iteration.
Calculation Parameter
Variables that are derived from the primary calculations (i.e. currents,
voltages, power), from input data (i.e. the absolute impedance of a

19 - 3
DIgSILENT PowerFactory Defining Variable Sets

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
Variables that belong directly to the object selected (preceded by "e:").
Type Parameter
Type variables that are linked to the element object under
consideration; for example, the current rating of a line type that a line
element is using.
Reference Parameter
These are variables from objects that are linked or connected to the
object under consideration (preceded by "r:"). For example, a line
element may be part of a line coupling and the reference parameter
will allow us to display the name of the coupling element. The use of
reference parameters is explained following 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.

19.3 Examples of Variable Selection


In this subsection an examples for the use of the above described sets are given. The
procedures 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 TX1 is to be monitored. The following
variables are going to be selected:
• Type name,
• Tap setting,
• Nominal and calculated voltages at the HV node.
The name of the transformer type is entered in the type data so we select the type param-
eters (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
19.2). Notice that the focus object for the variable set object is a transformer.

19 - 4
DIgSILENT PowerFactory Defining Variable Sets

Fig. 19.2: Finding the type name

The tap setting will be found in the element data and the parameter is located on the
load-flow tab (this information is gained as the user becomes more familiar with Power-
Factory and recalls where the data was entered; such recollection directs the user to the
correct variable sub-set). The variables seen in the selected Variables column should now
be:
• t:loc_name
• e:nntap
To be able to see the variables for the HV bus we use the reference parameters. The
reference parameters work like a 'refer to' command. In Figure 19.3 this is illustrated
schematically. We have started by creating a variable set for the object 'TX1' which is an
element object. Using the reference parameter we will refer to the object that the LV side
of the transformer is connected to, which is the cubicle 'Cub_1'. Since the nominal and
calculated voltages of the node are located in the node object itself we will next need to
refer to this node object 'LV'.

19 - 5
DIgSILENT PowerFactory Defining Variable Sets

Fig. 19.3: 'Referring to' with reference parameters

Step by step, the process will be as follows: We first need to refer to or 'jump to' the
cubicle. If we picture the input dialogue for the transformer element we recall that the
connections for the HV and LV sides are listed on the basic data tab, so this is where we
will logically find the 'link' to the connected object (the cubicle). In Figure 19.4 we can see
that this selection has been made (page tab Basic Data). We also notice that the object
that is presently the focus is the transformer element as the object. To affect the jump to
the cubicle we choose the reference parameter set, and then select the object that we
want to jump to, the cubicle connected to the HV side in the Available Variables list.

19 - 6
DIgSILENT PowerFactory Defining Variable Sets

Fig. 19.4: Selecting the parameter to be displayed

Double-clicking on this jumps us to another variable set object whose focus object is the
cubicle that the LV side of the transformer is connected to. It is not immediately obvious
that the jump has occurred as the new variable set object appears directly on top of the
original one. If grabbing the one that appears before you and drag it to one side it will
become more obvious (you can also see this by noting that the name in the "Object" field
has changed), and will look as shown in Figure 19.5.
The second jump must now be affected - to the node that the cubicle is connected to. In
a logical fashion this 'connectivity' is also found on the basic data tab. Figure 19.6 shows
the result of these jumps in PowerFactory. Lastly, the parameter required must be
selected.

19 - 7
DIgSILENT PowerFactory Defining Variable Sets

Fig. 19.5: Jumping to the cubicle using the reference parameter

The parameter we wish to display is the nominal voltage of the connected node. This will
be found on the Basic data tab and we must choose the element parameter set to find
the parameter, as shown in Figure 19.6. The parameter is called:
• uknom kV Nominal Voltage: Line-line
At this point we could also add the calculated voltage for the node. This will be found
under "Currents, Voltages and Powers" on the load-flow tab.
After having clicked Ok until you are back at the original variable set object you will see
that these referenced variables have been added as:
• r:buslv:r:cBusBar:e:uknom
• r:buslv:r:cBusBar:m:U
Which can be read as --> 'jump to the LV bus'- -> 'jump to the connected node' -->
'display the selected variables.'
Once the user is more familiar with this nomenclature this jump may be typed in directly
to the variable set object.

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".

19 - 8
DIgSILENT PowerFactory Defining Variable Sets

Fig. 19.6: Jumping to the node and selecting the parameter

These bus results can only be seen in the calculation function tabs and they are drawn
from an internal node that is not displayed on the single line graphic. An illustration of this
node and its relationship to the cubicle is shown in Figure 19.7.

Fig. 19.7: Internal node

19 - 9
DIgSILENT PowerFactory Defining Variable Sets

19.4 Selecting the Bus to be Monitored


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 element and describes internally which side of the edge element the result box
should access its variables from. That is the 'bus' local to that end.

19 - 10
DIgSILENT PowerFactory Reporting Results in PowerFactory

Chapter 20
Reporting Results in PowerFactory

This chapter presents the tools and options included in PowerFactory to view the results
of the preformed calculations. Key concepts in this topic are Virtual Instruments (VIs), Re-
sults Objects and Variable Sets.

20.1 Virtual Instruments


A virtual instrument is basically a tool for displaying calculated results. The most common
use of a VI is to look at the results of a time-domain simulation like an EMT or RMS sim-
ulation, by defining one or more plotted curves showing the variables changing with time.
But there are various applications of the virtual instruments, for example to graphically
display voltage profiles, FFT plots or the results of a harmonic analysis. This could be in
the form of a bar graph, a plotted curves, single displayed variables, tables of values, etc.
To visualize results from a calculation, two different parts are important:
The Virtual Instrument Panel
The Panel is basically a page in the active graphics board, where different plots or
graphs are stored and displayed. Also the basic information about the included
virtual instruments is stored here.
The Virtual Instruments
The virtual instruments are shown on the VI panel. They display the results of one
or more variables or parameters in various ways. Every VI on a panel can be set up
individually to the need of the variable(s) which is to be displayed.
So all signals, parameters, variables or other magnitudes can be chosen to show in a vir-
tual instrument. These are normally floating point numbers, but there is also the possibil-
ity to show discrete variables as well as binary numbers, like e.g. a binary variable, a "out
of service" flag or the switching operation of a circuit-breaker.
To show these magnitudes there are various designs of virtual instruments available.
These can be divided into several groups, which are described in the sections of this chap-
ter:
Plots
are the 'basic' diagrams to show all sorts of time-domain variables or magnitudes
depending on other variables. The plots can be used in the following ways:
• Subplot (VisPlot)
• Subplot with two y-axis (VisPlot2)
• X-Y plot (VisXyplot)
• FFT plots (VisFft)

20 - 1
DIgSILENT PowerFactory Reporting Results in PowerFactory

Bar Diagrams
are similar to the plots. The results are then not shown as a line, but as single bars
for every data point.
Vector Diagrams
easily show different variables - like voltage, current or power - in a vector diagram
using polar or cartesian coordinates.
Meter Panels
can display variables or parameters using different panels like:
• digital display
• horizontal scale of a meter
• vertical scale of a meter
• measurement VI
• interactive button/switch
Curve Inputs
are used to conveniently convert graphical information (graphs or curves) into a set
of data by scanning and sampling the data points.
Bitmaps
can be inserted as a remark or to provide further information.
Additionally to these options there are further types of diagrams for a specific usage are
e.g. the time-overcurrent plot or the time distance diagram used for protection studies.
These plots are not described in this chapter but directly in the part of the manual dealing
with the individual calculation method.
The usage of the plots and the available tools like labels, constants, etc. for the virtual
instruments can be used in either one of the diagrams described above or below. In the
following list these virtual instruments are described shortly:
VIs for Protection Studies
Time-Overcurrent Plot
When studying overcurrent relays their characteristic is often displayed depending
on the magnitude of the current and the specified tripping time. Here also the
characteristic curves of power system elements which are to be protected can be
inserted into the diagram. See also Section 32.6 (Time-Overcurrent Plot).
R-X Plot
This plot is used specially for showing the characteristics of distance relays. The
tripping characteristic of one or more relays can be visualized in a R-X diagram.
Also the impedance of adjacent elements can be shown graphically inside the
diagram.See also Section 32.8 (Relay Plot).
Time-Distance Diagram
For studying the selectivity of distance protection the time-distance protection is
often used. So PowerFactory provides a convenient method to automatically
show all distance relays in a specified protection path in one specified diagram. See
also Section 32.7 (The Time-Distance Diagram).
Feeder Definitions
Voltage Profile
shows voltage profile of a complete subsystem belonging to a defined feeder in the

20 - 2
DIgSILENT PowerFactory Reporting Results in PowerFactory

power system depending on the distance or the node number. See also Chapter 12
(Grouping Objects).
Schematic Path
With this plot a meshed or a radial network can easily be shown in a brief
schematic way without result boxes but with optical information like colors for
overloading, etc.
Harmonics
Waveform Plot
Using this plot a waveform is generated from the magnitude and the phase angle
of the harmonic frequencies. With this diagram a variable like the voltage or
current, which is defined in a harmonic source e.g. a power electronic device or a
load, can easily be shown as a time dependent variable. So the real shape of the
voltage can be seen and analysed.A more detailed description see 20.1.6 (The
Waveform Plot).
Modal Analysis
Eigenvalue Plot
The Eigenvalue Plot (Viseigen) displays the eigenvalues calculated in the modal
analysis (Chapter 26). Double-clicking any of the displayed eigenvalues, pops-up an
informative dialogue, where the oscillation parameters and the coordinates in
complex and polar representation are given. For a full description of the eigenvalue
plot is see 26.3.2 (Modal Analysis Plots).
Mode Bar Plot
The Mode Bar Plot (VisModbar) displays the participation factors of the system
generators in a selected mode. Full description of the Mode bar Plot is given in
26.3.2 (Modal Analysis Plots).
Mode Phasor Plot
The Mode Phasor Plot (VisModephasor) displays the same information of the
Mode Bar Plot but in a phasor diagram. For further information see 26.3.2 (Modal
Analysis Plots).

20.1.1 Virtual Instrument Panels


Virtual instruments are created and edited on a Virtual Instruments Panel (SetViPage)
which is one of the possible types of pages on a Graphics Board. Other page types are
single line graphics and block diagram or frame graphics.
A new virtual instrument panel can be created by
• selecting the File New option on the main menu and subsequently selecting a
"Virtual Instrument Page" in the ComNew. This will create a new page in the
"Graphics Board" of the currently active study case.

• selecting the "Insert New Graphic" icon on the graphics board's toolbar and
selecting "Virtual Instrument Panel". This will also create a new VI panel in the current
graphics board.
All virtual instrument panels are stored in graphics boards. A graphic board holds default
settings for plots and other diagrams. The icon is clicked or the Edit Actual Virtual
Instrument Panel option is selected from the context sensitive menu to edit the dialogue.

20 - 3
DIgSILENT PowerFactory Reporting Results in PowerFactory

Note If a a new virtual instrument panel is created, while there is no


Graphics Board opened already, a new Graphics Board in will be
added to the current study case.

The dialogue is build of several pages. These are


x-Axis holds the default x-Axis for plots without local axis stored in pages
without local axis.
Advanced holds the advanced settings like the arrangements of the plots or their
specific style.
Results stores a reference to the default results object used by the plots.

Once a VI panel has been created, the "Append new VI(s)" icon ( ) can be clicked or
the option Create VI... from the context menu of the SetVipage can be selected to
add new virtual instruments to the VI panel.
Virtual instrument panels usually set the size and position of new virtual instruments like
plots automatically. But it is possible to turn on user defined moving and resizing of the

plots. In this modes the plots can be moved or resized by the user. Also the and
icons are used to tile the Virtual Instruments horizontal or to arrange the VIs automati-
cally.
A ViPage uses a predefined style which set line-styles, line-width, fonts and other graph-
ical settings. Own styles can be created and selected. A different style can be selected on
each VI panel of a Graphics Boards.
These different options are described in the following sections.

Editing the Virtual Instrument Panel dialogue


There are several ways to access the graphics board dialogue from PowerFactory
• When the panel is empty one can access the dialogue by simply double-clicking the
empty VI panel or an empty area on the panel.
• Right-click the background of the VI panel besides the shown plots and choose Edit
actual Virtual Instrument Panel from the context menu.

• The simplest way to edit the dialogue is to click the icon.

The icon is clicked or the "Edit Actual Virtual Instrument Panel'' option is selected
from the context sensitive menu to edit the dialogue. The dialogue is split into three dif-
ferent pages named:
• x-Axis holds the settings for x-Axis of plots and Waveform Plots.
• Advanced holds graphical settings like Style and Background.
• Results contains the reference to the default results object for plots.

20 - 4
DIgSILENT PowerFactory Reporting Results in PowerFactory

Automatic Scale Buttons

The buttons or are clicked to scale the x-axis respectively the y-axis of all plots
on the virtual instrument panel automatically. Plots on other panels in the same graphics
board are unchanged if their axes are local.
The buttons are inactive, if there are no plots shown at all or if the x or y axes can not be
scaled automatically. That applies e.g. for bar-diagrams showing the distortion after a
harmonics load-flow calculation, where the x-axis is given by the harmonic frequencies.
Different types of plots, like the subplot and the waveform plot, can be scaled simulta-
neously.

With the button "Zoom X-Axis" a certain range of the x-axis or of several x-axes can
be zoomed easily. Click on the icon to activate the function, then click on a plot, hold the
right mouse button and 'drag' the mouse to the right or to the left to mark the desired
range on the x-axis. If the mouse button is released, PowerFactory will then show the
marked x ranged zoomed.

Automatic Arrangement of VIs


Virtual instrument panels usually set the size and position of new virtual instruments like
plots automatically. Then the VIs can not be resized or moved. So the position of these
VIs is set automatically and their size remains unchanged.
There are two different modes for automatically arranging the VIs. The user can choose
to arrange the VIs using either

• "Arrange Subplots on Top of Each Other'' with the icon or

• "Arrange Subplots automatically'' with the icon .


The modes can easily be changed by pressing the one or the other button. In addition the
position of VIs can easily be exchanged. Thereto mark the VI by clicking it. Then 'drag'
the VI onto another plot. Thus the position of the VIs will be exchanged.

Note This option of exchanging the plots by dragging is only possible,


when one of the arrangement buttons are active. If you deactivate
both buttons by unselecting them in the toolbar, the plots can free-
ly be moved by dragging them on the panel. See also "Moving and
Resizing".

Another way to rearrange the VIs is to open the dialogue of the VI panel by pressing the
icon and then use the Arrangement options on the "Advanced" page. Here the option
User defined can be activated. So the VIs will no longer be arranged automatically but
can be resized and moved inside the panel. So the user is free to arrange the VIs 'ad li-

bitum'. This mode is also activated by disabling the selected icon or .

20 - 5
DIgSILENT PowerFactory Reporting Results in PowerFactory

Moving and Resizing


Moving and resizing of VIs in the standard virtual instrument panels is turned off. Both
can be activated by deactivating the 'auto-arrangement' modes by disabling then current-

ly active icon or . Also the option User defined can be activated on the "Advanced"
page of the "edit" dialogue of the VI panel.
A VI is clicked to mark it. The VI is 'dragged' inside the panel by clicking it with the mouse
button pressed. Then the VI can be move across the panel. The mouse is released to set
the new position. A VI is clicked on the border to resize it. A VI is clicked on the border
to resize it.

Note Please note that some VIs can not be resized at all because their
size is set automatically. This applies e.g. for the bitmap VI with
the option "Adapt Size of VI to Size of Bitmap" enabled.

Page Format

The page format is modified using the in the toolbar of the graphics board. VI panels
use the page format set in the graphics board. In addition a local page format can be cre-
ated for each VI panel. The option "Create local Page Format'' is selected in the context
sensitive menu to create a local page format. The VI panel now uses a local page format
independent of the page format set in the graphics board.
"Set default Page Format'' is selected in the context sensitive menu to reset the local page
format. The VI panel now uses the default format of the graphics board again.

Editing Variables of Plots

The icon is clicked to open the "Edit Plots on Page'' dialogue for defining curves of
several plots. If the variables of only one subplot are to be changed, it is suggested to
edit the dialogue of the plot itself by double-clicking it. This procedure is more convenient.
This dialogue gives a very good overview over the diagrams on the VI panel and the vari-
ables, axis and curve styles. Figure 20.1 shows an example of the dialogue.

20 - 6
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.1: Editing all plots on the page

Each line of the table named Curves defines a variable shown on the panel. The variables
definition applies to the plot shown in the first column. When the dialogue is opened the
plots are sorted from left to right and from top to bottom and are numbered accordingly.
All data and settings of each variable is displayed in the table, and the columns are used
exactly like the columns in the table of a plot. To move a variable from one plot to another,
simply change the Plot Nr. of the variable to move.
In this table not only subplots (VisPlot) are shown but also plots with two y-axis
(VisPlot2) can be modified. Here additionally in the column y the y-axis can be defined
to which the variable is related. In Figure 20.1 this can be seen in the to last rows of the
table. Here both variables are shown in one plot number 4 with two different axis. If the
number in this row is grey, only one y-axis is available in this plot.
Like in most tables new rows can be add. Default File for Page is a reference to the results
element of the virtual instrument panel. The Filter... button opens the filter dialogue. The
selected filter will be applied to all plots on the current virtual instrument panel.
Default File for Page is a reference to the default results element of the virtual instrument
panel. This is exactly the same setting like the one displayed on the Results page of the
dialogue box of the virtual instrument panel.

Title Block
All virtual instrument panels in a Graphics Board show the same title by default. The only
difference of the title blocks on the VI-Panels are the panel name and the page number
which are unique for each panel. To create a local title for a VI-Panel simply right-click on
the title and select Create local Title from the context sensitive menu.

Like in the single line graphics the icon in the toolbar is clicked to show or hide the
title block. The title can ba defined or changed by double-clicking on them or use the icon
to modify the title text. For details about the settings of the title object refer to Sec-
tion 10.6.6.

20 - 7
DIgSILENT PowerFactory Reporting Results in PowerFactory

Results
Some VIs like the most frequently used class "subplot" show curves stored in one ore
more result objects (ElmRes). The curves are selected in a table where the result ele-
ment, the element and a variable have to be selected.
The result column of VIs needs not to be set for most calculations. The VI itself will look
for the results element to display automatically. The default results element is either:

1 Results reference on page Results of the VI Panel accessed by pressing the


icon.
2 If 1. is empty the Results reference on the Results page of the Graphics Board will
be used by pressing the icon.
3 If both (1. and 2.) are not empty, the results element used for the last calculation
will be applied. If there is no calculation the appropriate results element in the study
case will be used (if any).

Background
The default background of virtual instrument panels is empty. The background settings
for the panel can be found in the frame Background on the "Advanced'' page of the virtual
instrument panel dialogue.
The Filename defines the background file, which can be either a Windows Metafile
(*.wmf), a Bitmap (*.bmp) or a AutoCad DXF file. If the selected file does not exist, or if
the filename is not set the background remains empty. VIs can be transparent or opaque.
Graphics are transparent must be activated to make all graphics transparent. If an opaque
graphic fills the complete panel area the background will be invisible.

The Context Sensitive Menu


The options in the context sensitive menu of the VI panel may vary depending on the cur-
sor and the settings of the panel. The options are listed below:
• Edit Actual Virtual Instrument Panel opens the virtual instrument panel dialogue.
• Create local Page Format creates a page format for the current panel.
• Paste Text inserts text from the from the clipboard into the panel.
• A VI can be selected from the list shown in the Create VI... option to create a new
VI on the panel.
• Style Select Style is clicked to select a style for the panel.
• Style Create new Style is selected to create a new style for the panel.
• Style Edit Style of clicked Element is selected to modify the style of the selected
element only.
• Select All is selected to mark all VIs.
• Export Results... exports the shown result into e.g. the output window, a ASCII file, a
Comtrade file or the clipboard.

20 - 8
DIgSILENT PowerFactory Reporting Results in PowerFactory

Creating Virtual Instruments

New VIs can easily be created with the "Append New VI(s)" icon . A small dialogue
will pop up, where the class of VI can be selected from the available Object and the num-
ber of VIs to be added to the current VI panel.
Another way to create VIs is to select the option Create VI... from the context menu
of the SetVipage. Then a class of virtual instrument can be selected to be added to the
current VI panel.

The Default Styles


Each virtual instrument panel uses a style where line-widths, fonts, brushes and other
graphical settings are defined. There are six predefined styles available in DIgSILENT
PowerFactory, which are:
• Default - Standard English Text and Symbols
• Gr Default - Greek Symbols
• Tr Default - Turkish Symbols
• Paper
• Gr Paper
• Tr Paper
The "Default" styles uses smaller line-widths and smaller fonts than the "Paper" styles. It
was designed to get nice printouts. The paper style was designed for reports and papers
where meta-files are included in text-programs. In addition to the layout the styles hold
predefined VIs.
There are several ways to select a predefined or user-defined style for the current virtual
instrument panel. The easiest way to change the style is using the toolbar.
• The list-box in the toolbar is clicked and an available style is selected.
• A style is selected from the Style Select Style... in the context sensitive menu of
the VI panel.
• A style is selected in the VI-Style list-box on the "Advanced'' page of the SetVipage
dialogue.
The user-defined styles are described in detail in Section 20.1.10 later in this chapter.

20.1.2 Plots
Plots are the most used diagrams to show all sorts of parameters, states, signals or vari-
ables depending on the time or on another variable. To show these time-domain variables
or to visualize a magnitude depending on other variables, there are the following plots
available:
• SubPlot (VisPlot)
• SubPlot (2y) with two y-axes (VisPlot2)
• X-Y plot (VisXyplot)
• FFT plots (VisFft)

20 - 9
DIgSILENT PowerFactory Reporting Results in PowerFactory

The Subplot
SubPlots are the 'basic' diagrams and are typically used to display one or more plotted
curves from the results of a EMT or RMS simulation. But also bar diagrams used e.g. to
visualize the results of a harmonics calculation are a special type of SubPlots.

A new subplot is created on the current VI panel by pressing the icon and selecting
a Subplot (VisPlot) from the pull down list. More than one subplot may be created at
once by setting the Number of VI(s). The new empty subplots appear with standard set-
tings, as is shown in Figure 20.2.

Fig. 20.2: Creating a new SubPlot (VisPlot)

To edit the subplot either


• right-click it, and select the Edit option from the context sensitive menu
• double-click it.

Editing Subplots
The edit dialogue of a subplot, as shown in Figure 20.3 has pages for the y-axis and x-
axis of the individual subplot as well as an additional Advanced page for auxiliary settings.
The y-axis page is normally used to set the curves in the subplot, while the x-axis normal-
ly, and by default, shows time.

20 - 10
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.3: The SubPlot edit dialogue

The subplot edit dialogue has the following features:


Scale The y-axis may be defined for more than one subplot at the same time,
or, and by default, may be defined as a "local Axis'' format. When the
option Use local Axis is disabled, a reference to the used 'global' axis

type is shown and can be edited by pressing the .


Automatic The color, line style, and line width of all new curves in the subplot will
be set automatically when the corresponding option is enabled. The
Set now button will apply automatic line formats all existing curves
again.
Shown Results This is a reference to the currently active result file (ElmRes). This
object will be used, if no result file is specified in the Curves definition
table.
Curves The definition table for the curves is used to specify the result file
(optional), object and parameter for each of the curves as well as their
representation.
These available options are described in more detail below.

Setting the X-Axis


The x-axes often have to be synchronized for all subplots or for all subplots on one VI

20 - 11
DIgSILENT PowerFactory Reporting Results in PowerFactory

panel, for instance to show the same time-scale in all plots. In order to synchronize the
x-axes without losing the freedom to manually set each subplot, a hierarchy of x-axes is
used in the Graphics Board:
• The Graphics Board contains the basic x-axis definition. This definition is used by
default by each new subplot.
• A VI panel, however, may define a local x-axis definition, which will then be the
default for each new subplot created on that panel.
• The subplot thus uses the Graphics Board or the panel SetViPage definition by
default, but may also use a local x-axis definition.

Note If you change the settings of the x-axis, which uses the definition
stored in the graphics board, all x-axis are changed using the same
definition in the whole project. These are also affected, if the x-axis
is automatically scaled or zoomed.

The following list describes how to edit the definition of the different x-axes:
• For editing the graphics board definition, select the option Graphics Board and go to

the x-Axis page of the edit dialogue of the plot. Using the button the dialogue for
changing the x-axis definition for the complete graphics board can be accessed.

Another way is to click the icon for the graphics board dialogue and then go to
the x-Axis page.
• Similar to the graphics board definition, the x-axis definition of the VI panel is
changed by selecting the option Page. This will open the dialogue of the of the VI
panel (SetVipage).

Another way is to go to the panel dialogue by clicking the icon or selecting Edit
actual Virtual Instrument Panel from the context menu and then go to the x-Axis
page.
• The local x-axis definition is simply accessed by selecting the option Local. Then the
options for specifying the x-axis is shown in this dialogue.
The options available for the x-axis are similar to the one for the y-axis. They are de-
scribed in the following section. The only difference is in selecting the variable of the axis.
For the x-axis there is a list to choose the x-Axis Variable shown in Figure 20.4. The Default
value is depending on the type of simulation and the result object created during the pre-
vious simulation. Then for time-domain simulations different representations of the time
scale are available. For the FFT plot e.g. the x-axis can be scale using the frequency re-
spectively the harmonic order.

20 - 12
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.4: The variable list available for the x-Axis

The option User defined enables the user to choose any variable for the x-axis, which is
selected to be stored in the result object. As shown in Figure 20.4 an element and a vari-
able can be selected for the x-axis. In this way a x-y plot can be created. There is also an
own plot type for a more convenient way to create x-y plot: the VisXyplot is described
in more detail in section .

Setting the Y-Axis


The y-axes are normally not synchronized like the x-axis, because they all show different
parameter values and thus need parameter-specific settings. By default, the Graphics
Board's default plot type is used, but more plot types may be created and used, i.e. plot
types for voltages, power, factors, slip factors, etc. By using the same plot type, different
plots can be compared more easily, without the risk of mis-interpreting a difference in
curve amplitude.
Although the x- and y-scale definitions thus use somewhat other synchronizing variations,
the way a particular axis is set is quite similar. Both the y-axis and the x-axis page in the
subplot edit dialogue have the option to Use local Axis or simply Local.
• If this option is disabled, a reference is shown which points to the used axis definition
as described in the last section.
• If the option is enabled, the axis is defined locally and the edit dialogue changes in
order to do so. See Figure 20.4.

20 - 13
DIgSILENT PowerFactory Reporting Results in PowerFactory

The local definitions of an axis has three parts:


• the axis limits (minimum and maximum)
• the kind of axis (linear, logarithmic)
• the auto scale options
• the settings to adapt the scale to a setpoint.
The axis limits can be given manually, or can be auto scaled by pressing the Scale button.
With this button the limits are defined automatically from the curve shape once.
The options to Auto Scale the plot are
Off Turns any auto scaling function off and will display the results in the
range between the given limits.
On This option will automatically scale the plot at the end of a simulation.
Online This option will automatically scale the plot during the simulation.
The x-axis additionally features a Chart option. If ticked a range and a start value can be
set. This will set the x-axis to the specified range. During the simulation only a x-range,
set in the options, is shown and will 'wander' along with the calculation time.
The Adapt Scale settings are used to force a tick mark on the axis at a particular value.
This is the Offset value. Other tick marks will be drawn at 'nice' distances from this offset.
The default value for both x- and y-axis is an active adapt scale with Trigger equal to zero.
So the main ticks of the axes start at zero.
To see the deviations from the offset, the Show Deviations from Offset option will draw
a second axis on the right, which has its zero baseline at the offset value. The Show De-
viations from Offset option is available for the y-axis only.
An example of two subplots is given in Figure 20.5 where a voltage sag is shown with
both an instantaneous and a RMS value curve. The top curve has the Adapt option dis-
abled, and both axes autoscaled.

Fig. 20.5: Two subplots with different axis definitions

The bottom subplot has a smaller x-axis, to show only the interesting part, and has the

20 - 14
DIgSILENT PowerFactory Reporting Results in PowerFactory

Adapt option set on both axes.


The y-axis has its offset set to the nominal voltage level (11kV) and also shows the devi-
ations from that level in the right vertical axis. From this deviation, it is directly clear that
the RMS voltage initially drops more than 5kV. The x-axis has its offset set to the event
time, which in this case is 100ms when a short-circuit was simulated. From the x-axis, it
is now directly clear that this short-circuit was cleared after 200ms, at t=300ms.

Specifying Curves for Plots


The curves in a subplot must be taken from a result object (ElmRes), which is created
by a power system calculation function like the RMS or EMT simulation. How to create
such a result object is explained in 20.2.1.
The selection of the variables to be plotted in the current plot is done in the y-axis page
of the edit dialogue. This is easily accessed by double-clicking the background of the plot.
The dialogue is shown in Figure 20.6 and Figure 20.7 in detail.

Fig. 20.6: Defining a new curve

Each line in the shown matrix has the definition of a curve.


• The first column states the result object from which the data to plot the curve will be
read. If it is empty, the standard result file will be used defined in the reference
Shown Results in the same dialogue.
• The second column states the power system element (here: the generator "G1d''),
which is selected from the available elements in the result object.
• The third column states the actual variable for the curve ("xspeed''), selected from the
variables in the result object, belonging to the selected element.
• The next columns specify the style of the individual curve.
• With the last two columns the user can norm the values of the variable to a nominal
value given.
A new result object, element or parameter is selected by double-clicking the field or by
right-clicking it and selecting Select Element/Type or Edit from the context sensitive
menu. A list of possible result objects resp. elements or parameters will pop up from which
a new entry can be selected.
The color, line style and line width settings are edited in the same way: double-clicking
or right-clicking and selecting Edit.
New curve definition lines can be created by right-clicking on the column number (on the

20 - 15
DIgSILENT PowerFactory Reporting Results in PowerFactory

far left) (see cursor arrow in Figure 20.6) and selecting Insert Rows or Append (n) Rows.
Marked curve definitions can similarly be deleted from the list by selecting Delete Rows.

Note If you want to see changes between to consecutive simulations,


you can run the first simulation. These results will be stored inside
the result object Results.ElmRes, which can be found in the ac-
tive study case. Copy this object, paste it and rename it to e.g. "old
Results". Then you can add the same variable to a plot twice and
select the "old Results" result object for one of them (as shown in
Figure 20.6). This will show the old and the new results in one plot.

If more than one curve is to be specified for the same result file and element, this may
be done in one action by selecting more than one variable from the variable list. This will
automatically create new entries in the curve definition table for all additionally selected
variables. The entered Result File and Element are copied automatically. This very conve-
nient procedure is shown in Figure 20.7 and Figure 20.8.

Fig. 20.7: Defining subplots with minimum effort, step 1

Fig. 20.8: Defining subplots with minimum effort, step 2

Similarly several elements can be selected. Then PowerFactory will automatically insert
the according number of rows. The variables are then set automatically to the one select-
ed in the first row.

20 - 16
DIgSILENT PowerFactory Reporting Results in PowerFactory

The Subplot with two Y-Axes

A plot with two y-axes can be seen in Figure 20.9. To create this plot the icon has to
be pressed and a Subplot (2y) (VisPlot2) to be selected from the pull down list. This
will add a subplot with two y-axes to the current VI panel.
The second axis can then be defined and curves for this axis can be specified similar to
the 'basic' subplot VisPlot. In the edit dialogue of this plot, as shown in Figure 20.9, there
will now appear a page for y1-Axis and for y2-Axis.

Fig. 20.9: The definition of the second y-axis

On the page for the second y-axis, this additional axis can be deactivated by unticking the
option Use second y-Axis.

The X-Y Plot


A further type of plot is the x-y plot. This plot will show one variable depending on a sec-
ond variable in one diagram. The two variables can be completely independent from each
other and do not have to belong to one element.

To create a x-y plot press the icon and then select a X-Y Plot (VisXYPlot) from the
pull down list. This will add a new x-a plot to the current VI panel.
Figure 20.10 shows the edit dialogue of the plot.

20 - 17
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.10: Defining variables for a X-Y plot

On the variables page the variables for the x- and y-axis are specified. Both variables have
to be stored in one result file of a simulation. To select variables of two different elements
the option Show x-Element in Table has to be activated. The options and the tools for the
curves are similar to the ones described in section (The Subplot).
On the second page Scales of the dialogue the scales of the two axis can be set automat-
ically or global definitions can be used for them.
The plot is drawn for a certain time range. On page Time Range this range can be set to
the whole simulation time. Another way is to select only a specified range to show these
results.

The FFT Plot


The FFT plot (VisFft) is similar to the normal subplot (VisPlot) from the handling point
of view. This plot will not show variables depending on the simulations time but on the
frequency. A time range of signal can be selected and then be transformed from the time
domain into the frequency domain using the Fast-Fourier Transformation (FFT). This then
will shown the harmonic contents of this signal depending on the nominal frequency of
the system.

Like other plots it can be created by using the "Append VI(s)" icon . An much easier
way is to click on a plotted curve and then selecting Create FFT Plot from the context sen-
sitive menu. Then the mouse pointer can be 'dragged' from the selected point on the
curve to the left or right. When holding the mouse still, a quick-help box shows the range,
beginning and end of the curve to be transformed.
By clicking the diagram again, a range for the FFT is set and the FFT is calculated and
shown in a newly created plot.
When entering the "edit" dialogue by double-clicking the plot, the x- and y-axis can be
defined on the different pages similar to the VisPlot. Additional options are:

20 - 18
DIgSILENT PowerFactory Reporting Results in PowerFactory

Calculate This additional option on the page y-Axis modifies the fast-fourier
transformation and the time range of the signal the FFT is applied to.
The button Synchronize will synchronize the time range with the
given frequency.Furthermore the different parts of the variable and the
number of samples for the FFT can be selected.
Unit The unit of the x-axis can be set to Frequency or Harmonic Order. For
the Harmonic Order the nominal frequency can be set different to the
network frequency.
Display On the Advanced page the display of the FFT results can be toggled
between the Spectral Line and a solid Curve.

20.1.3 The Vector Diagram


Using a vector diagram complex values such as voltages, currents and apparent power
can be visualized as vectors in one or more diagrams. A complex variable can be defined
and then shown in two different representations:
• Polar coordinates, i.e. magnitude and phase of the current
• Cartesian coordinates, i.e. active-and reactive power
There are predefined vector diagrams for calculation results. The predefined vector dia-
grams can easily be created using the context menu of a branch:
• right-click a branch in the single line graphic or in the data manager.
• select the option Show Vector Diagram... from the menu
• select one of the predefined variable, i.e. Voltage/Currents
The example in Figure 20.11 shows the voltage and current on one terminal of a line.

20 - 19
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.11: Vector diagram of voltage and current on a line

Note A vector diagram can only be shown when branch elements like
lines, load, transformers, etc. are selected. Then the vectors of the
voltage, current or power across the elements or at the nodes con-
nected to the elements are shown in diagrams.
The vector can be shown after a load-flow calculation or before
and after a transient RMS simulation.

Another way of creating a vector diagram VecVis to the current VI panel is - equal to

adding a subplot - by pressing the icon and selecting a Vector Diagram (VecVis)
from the pull down list. In the edit dialogue the variables can then be shown as described
in Section (The Subplot).
The objects and variables of the vector diagram can be changed manually by editing the
dialogue, which is opened by double-clicking the vector diagram. The more convenient
method is to right-click the diagram and selecting
• Default Vectors... to select a predefined vector from the list.
• Label of Vectors changes the label of the displayed elements shown in the diagram.
• Jump to Element to select one of the elements that is connected to the currently
displayed element.
• Set Origin set the origin of the diagram to the position selected with a mouse-click.
• Center Origin set the origin of the diagram in the middle of the plot.

20 - 20
DIgSILENT PowerFactory Reporting Results in PowerFactory

The X And Y Axes


In most plots, the x and y scale are given by the minimum and maximum value of each
scale. A vector diagram can't be defined using minimum and maximum for each scale be-
cause the x- and the y-ratio must be equal. The ratio for each unit is therefore set as the
parameter units per axis tick. In addition the location of the origin can be defined.
If all shown variables have the same unit, the axis are labelled with values and unit. If
there is more than one unit, the labels show ticks. A legend showing the ratio of the units
is add at the right bottom of the plot. The balloon help of the scale labels always the ab-
solute values for each unit.

Editing the Unit/Tick


To modify the scale of an axis the table Scales in the edit dialogue can be changed. The
column "Unit'' shows the unit, the column "Scale'' shows the ratio in unit per tick. A higher
ratio then shortens the vector.
If the "Auto Scale'' option in the dialogue is turned on, the scales are adapted whenever
a new calculation is ready. Turn off "Auto Scale'' to keep the scale limits.

Setting the Origin


The origin position of the vector plot can be changed either graphically or with the dia-
logue:
• Right-click the vector plot and select Set Origin. This will move the origin to the right-
clicked position.
• Modify the "x-Min.'' and "y-Min.'' values in the plot dialogue to the starting value of
the x-and y scale.

Changing Coordinates
The plot displays the vectors in cartesian or in polar representation. The grid of a polar
plot is shown as circles and can be altered as described in Section (The Subplot). The
representation setting is also used for the mouse position display in the status bar.
The option Polar in the context menu toggles between representation in polar and carte-
sian coordinates. On the Advanced page in the edit dialogue this representation can also
ba changed.

Label of Vectors
In the edit dialogue as well as from the context menu of the plot the label of the vector
can be displayed in the different coordinate representation, so the real and imaginary val-
ue or the magnitude and phase angle can be shown.

Changing the Object


There are two different ways to change the objects for which the vector plot is made by:
• Right-clicking one of the vector plots and select Jump To. This shows a list of all
connected elements from which one can be selected. Here the side of a branch

20 - 21
DIgSILENT PowerFactory Reporting Results in PowerFactory

element is automatically checked. The Jump To option is not available if there is more
than one element shown in the same plot or if there are no calculation results
available.
• The "Element'' column in the variables table in the plot dialogue, as depicted in Figure
20.12, is double-clicked to select a new object.

Fig. 20.12: Variable list of a vector diagram

Changing the Variables


There are two different ways to change the displayed variables:
• Right-click the vector plot and select the Default Variables option. This will show a list
of predefined variables. This option is not available if there is more than one element
shown in the same plot or if there are no calculation results available.
• The "Var. x-Axis'' column in the variables table in the plot dialogue, as depicted in
Figure 20.12 is double-clicked to select a new variable from a list. The variables shown
in the list are either the magnitude or the real-part of the vector. The angle or the
imaginary part are set automatically. The selection list is empty when no calculation
result are available.

20.1.4 The Voltage Profile Plot


This plot VisPath shows the voltage profile of a radial network based on the load-flow
results. It is directly connected to a defined feeder in the network, so it can only be cre-
ated for the part of the system a feeder is assigned to.
The voltage profile plot needs a successful load-flow calculation. It can not be created if
there is no load-flow calculated. The most easy way of creating a voltage path plot is to
define such a plot in the single line graphic.
To create a voltage profile:
• First a feeder for the radial network has to be define, for which a voltage profile is to
be created, by right-clicking on a switch and then select Define Feeder.... A new
feeder object is created.
• A branch of an already defined feeder is right-clicked. The context sensitive menu will
show the option Show Voltage Profile. PowerFactory will then create a new
object VisPath showing the voltage profile for the defined feeder.
• In the 'calculation relevant objects' or in the data manager select the feeder object
which is just created or which is to be shown the voltage profile of. Right-click on it
and select Show Voltage Profile from the context sensitive menu.

Note The option Show Voltage Profile is only available when a load-

20 - 22
DIgSILENT PowerFactory Reporting Results in PowerFactory

flow calculation is performed or the results of the last calculation


are valid.

The voltage profile plot shows the voltage of terminals or busbars along a feeder. The
variable(s) shown by the plot can be changed. If there is no valid load-flow calculation
the plot remains empty. A voltage profile is shown in Figure 20.13.

Fig. 20.13: Example of a voltage profile plot

The curve shown can be clicked and marked at the busbar positions (points). Like most
plots available in DIgSILENT PowerFactory the voltage profile plot can be labelled. See
the context sensitive menu or the description of the result graphs for details.
The plot in the example shows the voltage m:u with the unit "p.u.''. The position of the
busbars (x axis) is shown as the distance from the beginning of the feeder. The unit is
"km''. The variables shown for the busbars can be changed by the user through the edit
dialogue of the plot.
The x-Variable of the voltage profile can be changed by editing the dialogue of the plot.
On the Scales page of the Edit dialogue a list box defines the x-axis variable. There are
two predefined x axis.
Distance shows the distance of the busbar away from the feeder in "km''.
Bus Index numbers the busbars so the distance on the plot between the busses is
constant.
Other prompts for random variable input. Each variable available at all
busbars in the feeder can be input there.

The y-Variable(s) can be user-defined. The predefined variable for the plot is the voltage
m:u with the unit "p.u.''. Any other variable available at all busbars in the feeder can be
set. To change the shown variable, edit the voltage profile dialogue and change the vari-
able name in the table. Resize the table to append variables.
The Branch Coloring settings define a different coloring of the plot. For example the over-

20 - 23
DIgSILENT PowerFactory Reporting Results in PowerFactory

loading of a branch element can be defined and shown in the plot. In Figure 20.13 to line
elements are loaded over 80%, so they are displayed in red. Also either the maximum or
the minimum values of parallel branches can be shown.
On the Advanced page the Coloring of the busnames shown in the plot can be defined
additionally.
Off does not display any bus names.
Black simply shows all names in black font style.
Colored acc. to Feeder
Colors the bus names according to the color of the different feeders.
The context sensitive menu shows now additional functions regarding the voltage profile
plot, when right-clicking on the plot or on the profile:
Edit Feeder
opens the "edit" dialogue of the feeder related to the plot.
Edit Data
opens the "edit" dialogue of the selected line, transformer or other
element.
Edit and Browse
shows the selected element in the data manager.
Mark in Graphic
marks selected element in the single line graphic(s).

20.1.5 Schematic Visualization

Schematic Diagram
Besides the voltage profile the object VisPath can also be used to show the schematic
diagram of a radial network. The usage and the different options available for this plot
are similar to the voltage profile plot in Section 20.1.4.
The diagram shows a schematics of a radial network. It is also directly connected to a
defined feeder in the network, so it can only be created for the part of the system a feeder
is assigned to. It can only be shown or created, if a load-flow is calculated for the system
To create a schematic diagram,
• a feeder has to be defined for the radial network by right-clicking on a switch in the
single line graphic or in the data manager and then select Define Feeder....
• The context sensitive menu of a branch with a defined feeder will now show the
option Show Schematic Visualization Plot. PowerFactory will create a new
VisPath and the schematic diagram showing the profile for radial network.
• In the 'calculation relevant objects' or in the data manager select the feeder object
and select Show Schematic Visualization Plot from the context sensitive menu.
In the plot the terminals and busbars are displayed as well as the electrical elements be-
longing to the feeder depending on the real distance of the network or on the bus index,
where the distance between every node is constant.

20 - 24
DIgSILENT PowerFactory Reporting Results in PowerFactory

Schematic Single Line Diagram


There are further functions to show the schematics of radial networks. These functions
are applied especially when no single line graphics of a network exists and one wants to
let PowerFactory draw the schematic of a radial network automatically in a very conve-
nient way.
These functions can be activated from the context sensitive menu of the branch element
with a defined feeder similar to the voltage plot or the schematic plot described above.
Using the option Show Schematic Visualization... two slightly different operations
can be used:
Distance PowerFactory will draw automatically from the database a single line
diagram for the radial network defined by the feeder. The distances
between the terminals/busbars in "km'' are set automatically according
to the distances specified in the lines.
Bus Index Similar to the schematic diagram the distances between the terminals/
busbars will be neglected and a standard value will be used for all
terminals.

Note Remember to run a load-flow prior to activating these functions.


Otherwise you will not have access to the options.

20.1.6 The Waveform Plot


The waveform plot VisHrm is used to display the waveform of a voltage or current after
a harmonics load-flow calculation. These harmonics are typically emitted by an harmonic
voltage or current source described in 24.4. The waveform is calculated according to the
following formula:
n

ut =  u  i   cos  2f  i   t +   i  


i=1
where
i Index of frequency
n Number of frequencies
t Time
f(i) Frequency at index i
u(i) Magnitude at frequency i
phi(i)Angle at frequency i
For the If a successful harmonic load-flow calculation with the option All Frequencies is
performed, the waveform plot will show the results of any distorted or pure sinusoidal
variable, e.g. voltages or currents, from any element in the network. It can also be cre-
ated if there is no load-flow calculated.

To create a waveform plot on the current VI panel, press the icon and select a Wave-
form Plot (VisHrm) from the pull down list. More than one subplot may be created at

20 - 25
DIgSILENT PowerFactory Reporting Results in PowerFactory

once by setting the Number of VI(s). The new empty subplots appear with standard set-
tings.
Usage, settings and tools of this plot are similar to the subplot. A detailed description can
be found in (The Subplot). Although the definition of the variables is slightly different.
Besides the result object and the element, there can be defined the magnitude of the vari-
able, which is to be shown in the plot, and additionally the angle related to the magnitude
can be inserted when this information is needed.
The appropriate angle is automatically matched to the selected magnitude, if such angle
is available in the results and if the variable is a voltage or a current. When no appropriate
angle is found, one may be selected manually. Nevertheless it is not obligable to insert
an angle to shown the waveform plot.
Figure 20.14 shows an example for defining a variable in the VisHrm.

Fig. 20.14: Defining variables in a waveform plot (VisHrm)

The Waveform Plot Settings


Most other settings/options of the waveform plot act exactly like the settings of the Sub-
plot (VisPlot). See Section (The Subplot) for more information. Additionally to the stan-
dard settings of the plots there are specified settings of the waveform plot. Step size and
range for time t are specified at the waveform plot settings object stored in the "Changed
Settings'' of the active project.
To change the waveform plot settings either press the Calculation button in the dialogue
of the plot or select Calculation in the context menu on the plot. The Settings Waveform
Plot object SetWave holds the Step Size and the Range for the calculation of waveforms
in the Waveform Plots (see Figure 20.15).

Fig. 20.15: The waveform plot settings dialogue

20 - 26
DIgSILENT PowerFactory Reporting Results in PowerFactory

Step Size
The waveforms seen in the plot are calculated by the waveform plot itself. To avoid errors
the Step Size must be smaller than half the period of the highest frequency calculated by
the harmonics load-flow. To guarantee that this criteria is always fulfilled, independent of
the harmonics calculation, the Step Size is entered in Number of Samples in Highest Fre-
quency. The Highest Frequency and the resulting Step Size are shown just for informa-
tion.

Range
To be independent of the basic frequency the time range of the waveform is entered in
Number of cycles of Basic Frequency. Basic Frequency and the resulting Range are shown
just for information.

20.1.7 The Curve-Input Command


The curve input command is used for measuring printed curves. The original curves must
be available in windows metafile (*.wmf) or in bitmap (*.bmp) format. The graphics file
is displayed as background in a curve input plot. This plot then allows for defining plot
points by successive mouse clicks.
The curve input plot (VisDefcrv) allows for measuring and editing single curves of group
of curves at once. The measured curve points are stored in a Matrix object. The positions
of the axis in the curve input plot can be set by the user.
Special functions for groups of curves allow for x-value synchronization and many other
facilities to make their input easier and faster.

Creating a Curve-Input Plot


The special 'Curve Input' virtual instrument plot VisDefcrv is needed for measuring
curves. Such a plot, like al other virtual instruments, is displayed on a Virtual Instrument
Panel. A new virtual instrument panel is created with the new command in the file menu
or the new icon of the graphics window.

A new Curve Input plot is created by right-clicking the empty panel, or by pressing
on the panel button bar and subsequently selecting the Curve-Input (VisDefcrv). The
curve input option dialogue as shown in Figure 20.16 is opened by double-clicking the
curve input plot.

The Input Options


The input options are used to select the graphics file which is to be measured. Only win-
dows metafile (*.wmf) or bitmap (*.bmp) formats are allowed. The x-scale and y-scale
settings are used to set the range and type of the axes of the curves as they are in the
graphics file.

20 - 27
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.16: Editing the curve input plot

Two different types of curves can be input:


Single
Each matrix input defines a single curve. The first column in the matrix holds the x-
values, the second one the y values. Other columns are ignored.
Set of Curves
Only the first matrix is used for input. The first column in the matrix holds the x-
values, the other columns hold the y-values of each curve in the group of curves.
The measured curve is drawn between the measured points by interpolation. This is im-
portant when the measured curve is later used with a specific interpolation. Setting the
correct interpolation mode when measuring the curve causes a better fit while avoiding
excess curve point definitions. Available modes of interpolation:
• Linear
• Cub. Spline
• Polygon
• Hermite

The Context Sensitive Menu


The case sensitive menu is opened by right-clicking the curve input plot. The menu is used
to select the curve for which points are to be measured or edited, to select the measure-

20 - 28
DIgSILENT PowerFactory Reporting Results in PowerFactory

ment mode, to synchronize x-values by interpolation, etc.


Grid Opens the grid layout dialogue
Curves Used to switch from 'single' to 'set of curves' mode.
Interpolation
Selects the interpolation mode
Interpolate All
interpolates undefined y values for all curves for all defined x-values
Interpolate N
interpolates undefined y values of curve N for all defined x-values
Delete Curve N
Removes curve N from the matrix
Add Curve appends a new curve
Set Axis With this option the origin of the axes and the length of the axes can
be adjusted according to the figure imported.
Origin sets the origin of the graph to be inserted.
x-Axis sets the x-axis independent on the y-axis.
x-Axis (y=Origin)
sets the x-axis dependent on the y-axis origin.
y-Axis sets the y-axis independent on the x-axis.
y-Axis (x=Origin)
sets the y-axis dependent on the x-axis origin.
Origin sets the origin of the graph to be inserted.
Input specifies the input mode:
Off switches off the measurement mode
x/y-Pairs each left mouse click adds a point to the curve.
Drag & Drop
turns on the 'edit' mode: all points can be dragged and dropped to
change their y-position or left clicked and deleted with the 'Del' key.
Active Curve sets the curve to modify
How to Scan curve(s) using the curve-input plot:
• Create a virtual instrument panel with a curve input plot
• Open the curve-input dialogue with a double-click and set the following options
- Select the background file
- Select "Single'' or "Set of Curves'' in the "Curves Listbox''
- Select the interpolation mode
- Select on or more Matrix objects in the table named "Curves''. At least two columns
must be already present in the matrix object.
• Close the dialogue.
• Define the axis position to adapt the curve input to the background plot:
- Select the graphic cursor
- Right-click the plot and select Set Axis - Origin. Left click the origin of the plot

20 - 29
DIgSILENT PowerFactory Reporting Results in PowerFactory

- Right-click the plot and select Select Set Axis - x-Axis. Left click the end of the x-
axis of the background plot.
- Right-click the plot and select Select Set Axis - y-Axis. Left click the end of the y-
axis of the background plot.
• Open the curve-input dialogue and adapt the scale of the curve input plot to the scale
of background plot
• Right-click the plot and select the Active Curve option and activate the first curve. The
option is not available when
- There is no Matrix object selected in the 'Curves' table of the dialogue
- One of the matrix object(s) has less than two columns
• Right-click the plot and select the Input option. Select the input mode. With the first
curve, select the with x/y-Pairs option.
• Left click the curve to set x/y values.
• Right-click the plot and select the Input - Off option to finish the definition of the
curve

20.1.8 Embedded Graphic Windows


Some dialogues contain embedded graphic windows to visualize input settings. An exam-
ple is shown in Figure 20.17 for the parameter characteristic dialogue. Many other dia-
logues have also such embedded graphs. An embedded graph shares much of its
functionality and features with the 'normal' graphs in the Virtual Instruments, like the sub-
plot in section .

Fig. 20.17: Example of an embedded graphs

20 - 30
DIgSILENT PowerFactory Reporting Results in PowerFactory

Similar to the plots on a VI page the mouse position in the embedded graphic is shown
in the status bar. The context sensitive menu of the embedded graphs offers commands
for printing and zooming.
Print Picture
This option opens the print dialogue. The default print format for embedded graphs
is A4. The printer orientation is set to the orientation of the embedded graph. The
print dialogue offers to preview the printed area.
Zoom In
This option changes the cursor to a magnifying glass. Drawing a rectangle with the
cursor will enlarge that area.
Zoom Back
This option restores the previous zoom area.
Zoom All
This option zooms out to the complete window.
Change Viewpoint

This option changes the arrow to the move arrow . Press the left mouse button,
hold it down and move the mouse outside the window. This will move the zoomed
area in that direction. Press the right mouse button or Esc to change the cursor
back again.
Additionally there may be a Limits available in the dialogue. Pressing this button will open
a small dialogue where the minimum and maximum of the x-axis can be changed, or the
Scale button will reset the settings and scale the axis automatically.

20.1.9 Tools for Virtual Instruments


Different kinds of plots are used to display calculation results or device data. There are a
lot of tools, which will help the user interpreting and analyzing these data or results of
calculations. Most of them are accessible directly through the "status bar" of PowerFac-
tory or through the context sensitive menu. This is activated by right-clicking on the
curve or an the plot background depending on the function one wants to choose.

Edit Dialogues
The "Edit" dialogue of the plots can be accessed through double-clicking on the back-
ground of each plot or by selecting Edit in the context sensitive menu. A faster way to
access special information of the plot is to double-click directly on the element which is
to be change. This can be the:
Legend
the legend text and representation can be edited directly.
X-Axis
to edit the x-axis limits, scales and variable representation and auto scaling options
of the current graphics board or panel.
Y-Axis
to edit the y-axis limits, scales and variable representation and auto scaling options
as well as the variable to be shown.
A double-click on other positions will open the plot dialogue.

20 - 31
DIgSILENT PowerFactory Reporting Results in PowerFactory

The Status Bar


In the status bar of PowerFactory on the bottom of the program window useful infor-
mation of the data shown in the curves can be obtained.
• First the value of the mouse position in the diagram is displayed in the status bar,
similar to the information shown with an open single line diagram.
• When a curves is clicked and marked with a cross, the cross value is also displayed in
the status bar and remains unchanged until the cross is set to a different position. If
there is no cross on the active page the status bar value is reset and no longer
displayed. Some plots have different scales on one axis, therefore these plots can not
display a value in the status bar.
• The option Curve-Tracking can be found in the status bar, normally in a grey font
style. When double-clicking this option the "Curve-Tracking" mode will be activated.
Then a cross will appear if the mouse arrow will be near a curve. If the mouse is hold
still for one second, the x- and y-value will be shown in a balloon window.

Labelling Plots
There are different styles of labels available for labelling curves and graphics. Setting la-
bels is possible in most of the different plots, although some of the labels are not available
in all kinds of plots. The labels are created the same way.
The label option is available from the context sensitive menu whenever a curve or graphic
was clicked and marked with a cross. The option Label Insert... Label can be selected
for the different labels. In addition there are two icons and in the toolbar, which
can be used to create labels.
After selecting the appropriate label from the sub-option of label, a rubber band from the
cross to the mouse is shown. A click with the left mouse button sets the label, the right
mouse button cancels. The following different labels are available.
The Text and Value Label
The text-label displays an user defined text above and below a line connected to
the curve with a rubber band. Edit the label to change the text shown.
The value-label displays the x/y coordinates of the cross. The label is a text-label
filled with the coordinates. Edit the label to change the text.
The Format Label
The form-label uses a form to print the displayed text. The form is local for each
label or common to all plots of the same type in the active project.

The Text and Value Label


The text and the value label (VisValue) is used to label curves or graphics displayed in
plots. The text of the label is written above and below a horizontal line. The line is con-
nected to the curve/graphic with a 'rubber band'.
After creating the labels, they can freely be dragged across the plot while staying con-
nected to the data point on the curve. The text can also be changed by double-clicking
the label or the rubber band. The edit dialogue of these two labels is depicted in Figure
20.18.

20 - 32
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.18: X/Y value dialogue

Value Value displays the connected curve position of the label. For labels
created as value this position is displayed as label text. "x-Axis''
displays the x axis value, "y-Axis'' the y axis value. "Time'' is visible only
for plots showing a trajectory.
Text on Top Text written above the horizontal line.
Text on BottomText written below the horizontal line.
Delete Label when a new Simulation is started
Some plots show the simulation results. Labels in plots showing
simulation results are deleted when the simulation is started again. To
keep labels in such plots, e.g. to compare curves with the last run, turn
off this option. The default of this option is "on''.

The Format Label


Like the "text/value label'', the format label (VisLabel) is set in plots to label curves or
graphics. This label displays text printed using a form. The form is different for each type
of diagram. It is either defined local at the label or defined for all diagrams of the same
type in the activated project. Its dialogue is shown in Figure 20.19.

20 - 33
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.19: The form-label dialogue

The different information and parameters for this label are described below:
Value Value displays the connected curve position of the label. "x-Axis''
displays the x axis value, "y-Axis'' the y axis value.
Data Object "Data Object'' is a reference to the shown object. If "Data Objectless
not set the label itself is taken as shown object.
Shown Object The object output by the form, see "Data Object'' described above.
Edit Used Format
Shows the used "Form Manager''. The used format is either the local
format or the one defined for all plots of the same type in the active
project.
Create Local Format
Creates a new "Form Manager'' valid for the current label only. The
forms can be edit without influencing other labels in the same plot or in
the active project. The "Create Local Format'' button is replaced by the
"Set Default Format'' when a local format was defined.
Set Default Format
Removes the local format. The format used is the one used for all plots
of the same type in the active project. The "Set Default Format'' button
is replaced by the "Create Local Format'' when the local format was
reset.
Delete Label when a new Simulation is started
Some plots show simulation results. Labels in plots showing simulation
results are deleted when the simulation is started again. To keep labels
in such plots, e.g. to compare curves with the last run, turn off this
option.
From the context sensitive menu of the format labels more options can be selected
Border A simple border of the selected label can be turned on or off.
Form The format options can be directly accessed by Edit used Format and
Create Local Format for the marked format label.

20 - 34
DIgSILENT PowerFactory Reporting Results in PowerFactory

Reconnect with...
Reconnects the format label to another curve or data point.

The Constant Value


The constant label (VisXvalue) is used to display y-values for a constant x-quantity or x-
values for a constant y. In some plots like the overcurrent plot, constant labels are created
and deleted automatically e.g. to visualize the short-circuit current for relays.
The look of constant labels may vary because of different settings like the label location,
the intersection values and other options. The dialogue of the constant label is depicted
in Figure 20.20.

Fig. 20.20: The constant label dialogue

To insert a constant label into a diagram or plot, the option Set constant x-Value or
Set constant y-Value places a constant x- or a constant y-value into the current plot.
Thus the dialogue for constant the VisXvalue object will pop up (shown in Figure 20.20)
and a horizontal respectively vertical line will then be displayed at the value specified in
the dialogue. Also the constant value and (if exist) the value of intersections with the
curves will be shown.
There are different options and styles for the constant label:
Name defines the name of the constant line and will be displayed in the plot.
Style changes the representation of the constant label:
Line Only displays only the solid line and the related label.
Line with Intersections
shows a solid line including label and indicates the values when
intersections with the curves of the plot.
Short Line Only (Left/Right)
indicates the constant value at the bottom/top respectively at the right/
left side of the plot.

20 - 35
DIgSILENT PowerFactory Reporting Results in PowerFactory

Short Line/Intersection (Left/Right)


indicates the constant value at the bottom/top respectively at the right/
left side of the plot and the intersections with curves.
Intersection Only
shows only the intersection points with the curves.
Label defines the position of the constant value label:
None displays no label at all.
Outside of Diagram
creates the label between the border of the VI and the diagram area.
Labels of constant x values are created above the diagram area, labels
of constant y values are created right of the diagram area.
Above Line (right)
shows a label above the line if y is constant, the label will be on the
right hand side.
Below Line (left)
shows the label below the line on the left hand side.
Left of Line (top)
shows a label on the left side of the line if x is constant, the label will be
on the top end.
Right of Line (bottom)
shows the label right of the line on the bottom end.
Value defines the constant value, either X or Y. The dialogue shows if either a
X or Y is set. Also the actual position of the cross will be shown as a x-
respectively y-value. It is not possible to change a constant X into a
constant Y label other than by removing the old and creating the new
one.
Color specifies the color of the line and the labels/intersections.
Linestyle and Width
specifies the line style and line width for the line shown. Invisible if
"Show Values'' is set to "Intersections Only''.
For constant x-values in time-overcurrent diagrams there exist additional options:
x-Value is Displays the type of current displayed. Visible only for constant x values
in time overcurrent diagrams.
Show Values The constant value can be displayed as a line, as intersections with the
curves/graphics or both. "Line Only'' shows a vertical or horizontal line
without labels for the intersections with the curves. "Line with
Intersection'' creates crosses at the intersection of the line with the
curves. For constant x values the y value is displayed at the crossing
ant the other way round. The values and their unit are colored like the
curve crossed.
Intersections Constant x values created automatically in the overcurrent plot are
displaying the short-circuit current. To get the tripping times
"Intersections'' can be set to SHC Currents. "All'' would display the
intersection of the relay curve ignoring the type of current. Visible only
for automatic constant x values showing currents in the time
overcurrent diagrams.

20 - 36
DIgSILENT PowerFactory Reporting Results in PowerFactory

Set User Defined


The button "Set user defined'' is visible for constant values created by
the short-circuit in overcurrent plots. Labels showing this button display
the short-circuit current. The labels are deleted whenever a new short-
circuit was calculated. If one wants to modify and keep the label even if
a new short-circuit was calculated the label must be changed to user
defined.

The Straight Line


There are various ways of inserting lines into a plot. With the option Straight Line...
there can be used a
Set Secant to add a line directly through the selected data point.
Through Point
defines a graphic line through the selected data point with a defined
gradient and gives back the function of the line.
User Defined
defines a line independent from the curves shown with a defined
gradient and y-offset. The function of the inserted line can also be
seen, when holding the mouse arrow over the line for 1 second. The
options of the line dialogue or similar to the options for the constant
value in section .

Curve Filter
Curves shown in the plots and diagram can be filtered using the "Curve Filter". The option
Filter... from the context sensitive menu displays the filters available to be applied to the
data read from the result object. Another way to access this function is from the "edit"
dialogue of the plot. Here the Filter... button can be pressed. The Figure 20.21 shows
the dialogue of the function.

Fig. 20.21: Defining a curve filter

The "Curve Filter'' specifies the type of filter applied to the data read from the result ob-
ject. This object is a filter applied to curves in plots. There are different filter types avail-
able. The following filter settings are available. (N=number of points in the original curve,
K=number of points in the filtered curve)
Disabled No filtering will be performed. K=N.
Average The filtered curve is the running average of the last n points. The first
n-1 points are omitted. K=N-n+1.

20 - 37
DIgSILENT PowerFactory Reporting Results in PowerFactory

Balanced Average
The filtered curve is the running average of the last (n-1)/2 points, the
current point and the next (n-1)/2 points. This filter thus looks ahead of
time. The first and last (n-1)/2 values are omitted, n must be an odd
number. K=N-n+1.
Purge Points by averaging
The filtered curve contains the averages of each block of n values.
K=N/n. This filter may be used to speed up the display of large curves.
Purge Points The filtered curve only contains every n-th value. All other values are
omitted. K=N/n. This filter may be used to speed up the display of
large curves.

Note A curve filter can only be applied at the end of the simulation or
measurement, points added during a simulation or measurement
are not filtered. The option Filter... is not available in all plots.

Border
The option Border in the context sensitive menu will insert or change the border of the
selected plot or diagram. The options available are
• Off
• Simple
• 3D
• 3D with label
The border with 3-dimensional effect and label will insert an additional label on the bot-
tom of the selected plot. This label can now be defined by double-clicking on it. Further-
more the text style can be altered by choosing the option Select Font for Border.

Export of Curve Graphic


The whole diagram or plot can also be exported for further usage in reports. Thereto first
mark the plot which is to be exported to a graphic file. Then select the option File Ex-
port...... from the main menu.
There is the selection between the export into a Windows MetaFile (*.wmf) or into a Bit-
map File (*.bmp).

Export of Curve Data


The export of curve data is available for a single VI or for the variables of the entire VI
panel. Hence there are different ways to access the "ASCII Results Export" command
ComRes of curve data, described in the following paragraph. The export directly from
the result file gives the opportunity to directly export several variables at once and is de-
scribed in more detail in Section (Exporting Results).
Exporting curves of a single VI:
• Press the Export... button in the right side of the dialogue box of a virtual
instrument.

20 - 38
DIgSILENT PowerFactory Reporting Results in PowerFactory

• Right-click on the VI and select Export... from the context sensitive menu.
Exporting curves of the entire VI panel:
• Press the Export Results... button on the "Results" page of the VI panel.
• Right-click on an empty area of the VI panel and select Export Results... from the
context sensitive menu.

Note If in one plot or on one VI panel variables are shown from several
result objects, a dialogue will appear before the export command,
where you have to select one result file from the list.

This function will export the data from the displayed curve with the given time range as
ASCII text to the following programs/files:
• Output Window
• Windows Clipboard
• Measurement File (ElmFile)
• ComTrade
• Textfile
In this dialogue the individual step size can be set, the columns of the result file and the
header for the export as can be seen from Figure 20.22.

20 - 39
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.22: Command dialogue of the ASCII result export

Various VI Tools
Grid This option in the context sensitive menu displays a dialogue to turn
on/off the available grid lines. For both x- and y-axis a main grid and a
help grid can be displayed in the plots. Furthermore - depending on the
type of plot - the representation of the different ticks on the axes can
also be specified.
Autoscale X, Autoscale Y
Changes the autoscale settings of the plot. Off turns off the auto-scale
mode. On performs an auto-scale at the end of the simulation or
calculation. Online is available in simulation plots only and tests the plot
limits after each new simulation point.These settings can also be
defined in the "edit" dialogue of the x- and y-axes.
x-Scale(s), y-Scale(s)
There are two options in the x-scale or y-scale entry. Edit displays a
dialogue to modify the scale settings like minimum, maximum and
other settings. Scale Automatic calculates the minimum and maximum
of the curve and adapts the scale limits.These settings can also be
defined in the "edit" dialogue of the x- and y-axes or by double-clicking
on the corresponding axis.

20 - 40
DIgSILENT PowerFactory Reporting Results in PowerFactory

Show dx/dy Right-click on data point on a curve and select Show dx/dy from the
menu. The two lines will appear, which are connected to the tip of the
mouse pointer. A balloon window will show the x- and y-difference
between the selected data point and the point where the tip of the
mouse pointer is in the diagram. Additionally the gradient is displayed.

20.1.10 User-Defined Styles


Each VI panel, each virtual instrument and every single plot uses a style where line-
widths, fonts, brushes and other graphical settings are defined. These objects normally
use predefined styles. In PowerFactory there are six predefined styles available:
• Default - Standard English Text and Symbols
• Gr Default - Greek Symbols
• Tr Default - Turkish Symbols
• Paper
• Gr Paper
• Tr Paper
These styles can be modified for all VIs or only for single plots. For this user-defined styles
can easily be created and specified. The base for an user defined style is always the pre-
vious default style.
There are several ways to select a predefined or user-defined style or change between
the available styles.
• The easiest way is using the list-box in the toolbar by clicking and selecting one of the
available styles.
• A style can be selected from the Style Select Style... in the context sensitive
menu of the VI.
• A style is selected in the VI-Style list-box on the "Advanced'' page of the VI dialogue.
The user-defined styles are stored in the changed settings element of the active project.
Therefore each project has its own \ Changed Settings\ Styles\ UserStyle\... path and user
defined styles. Only the changed elements are stored in the project, the unchanged ones
are the ones predefined in the default style.
The "changed settings" elements can be seen in the database in Figure 20.23.

Fig. 20.23: The changed settings in the database

20 - 41
DIgSILENT PowerFactory Reporting Results in PowerFactory

Defining Styles for the VI Panel


The Style Create new Style option in the context sensitive menu of the VI panel Set-
Vipage or every plot on the panel is selected to create a new style for the actual virtual
instrument panel. Insert a name for the style to be created in the input dialogue. Then
the new style is added to the predefined styles and is automatically selected for the cur-
rent VI panel. The created style is not set automatically in other VI panels of the project.
If a user-defined style is selected for the current VI panel, the Style Edit Style option
of the context sensitive menu of the panel may be selected to open the dialogue of the
new panel style. Figure 20.24 shows the dialogue for editing the layout of the panel.

Fig. 20.24: Editing the panel style

With the settings shown in Figure 20.24, mainly the layout of the title block of the VI panel
is edited. Here the user can define
• the different font styles for the various entries of the block by clicking on the buttons
• the height and the width of the columns of the title block (see Section 10.6.6)
• the line width of the title block and of the page frame

Defining Styles for the Virtual Instruments


There is the possibility to define the x- and y-axis of the plots inside on one page. These
settings then are valid every plot on panels using this style
To change the styles, right-click on a virtual instrument on the panel and select the option
Style Edit Style in the context menu. Then a dialogue will pop up containing the set-
tings for
• all x-axis of VIs using this style
• all y-axis
• the selected object VIsplot
Double-click on the object which is to be changed. As shown in figures 20.25, the dialogue

20 - 42
DIgSILENT PowerFactory Reporting Results in PowerFactory

of the selected axis will be opened and can then be modified.

Fig. 20.25: Editing the styles of X-axis

In the dialogue the following settings of the axes can be specified for the selected style:
Axis Here the style and width of the axis itself can be changed. Also the
number of small ticks shown between the divisions can be chosen.
Text The number of characters and the digits behind the decimal point as
well as the font type and size can be specified.
Distance between Axis and Text
Arrow The representation can be altered between the normal style and a style
with an arrow at the end of the axis with a certain width and length of
its tip.

Defining Styles for Single Plots


In addition to the axes the presentation of the plot itself can be chosen by the user. These
settings can be accessed through the dialogue shown in 20.26 and then double-clicking
on the settings of the VisPlot object.
Another and simpler way to change the settings of the style is to directly select the option
Style Edit Style of clicked Element from the context sensitive menu. These are the
same dialogues shown in Figure 20.26 and can directly be accessed by right-clicking on
the
• x-axis in the plot to access the settings of the x-axis
• y-axis in the plot to access the settings of the y-axis

20 - 43
DIgSILENT PowerFactory Reporting Results in PowerFactory

• on the plot itself to access the settings plot style, i.e. the grid, legend, etc.

Fig. 20.26: Editing the settings of the plot

Figure 20.26 shows all different settings available for the plots on a VI panel. Thus one can
Grid Options to alter the width, line style and color of the main grid and the
help grid.
Legend Edit the distances from the legend to axis and between the different
legends.
Margins Set spaces between the diagram and the surroundings.

Saving Predefined Styles for Plots


If the settings of the x- and y-axis, of the plot itself as well as the size of a particular plot
shall be saved and then reused for further plots, there is the option Style Save as pre-
defined VI form the context menu of every plot or VI.
This option saves the setting of the plot and stores a new VI in the list of all VIs. Hence
if adding a plot the newly created VI can now be selected from the list by pressing the
icon and selecting the e.g. NewName (VisPlot) from the pull down list or by using
the option Create VI... from the context menu of the SetVipage to add new virtual
instruments to the VI panel. The new empty subplots appear with new defined settings

20 - 44
DIgSILENT PowerFactory Reporting Results in PowerFactory

20.2 Results, Graphs and Documentation


This section presents the set of objects, commands and tools, dedicated to the handling
and presentation of results in PowerFactory.

20.2.1 Result Objects

The result object (ElmRes, ) is used by the PowerFactory program to store tables
of results. The typical use of a result object is in writing specific variables during a tran-
sient simulation, or during a data acquisition measurement. Result objects are also used
in DPL scripts, in reliability calculations, for harmonic analysis, etc.
An example of the result object dialogue is depicted in Figure 20.27.

Fig. 20.27: The result object

The result object shows the following fields:


Name the name of the result object
Database ID its database ID and the date, when it was changed the last time
Default for its default use
Info information about the currently stored data, ie.e the time interval, step
sizes, number of variables, etc.
Trigger-Times trigger times (in case of a Triggered default use)
The information about the stored data shows
• the time interval
• the average time step
• the number of points in time
• the number of variables

20 - 45
DIgSILENT PowerFactory Reporting Results in PowerFactory

• the size of the database result-file


The Update button will recalculate these parameters and update the shown information
if necessary. The Clear Data will clear all result data.

Note Clearing the data will delete the result-file and will reset the data-
base ID. This will destroy all calculated or measured data in the re-
sult file. It will not be possible to restore the data.

The default type settings are used for two purposes:


1 Creating a new result object and setting the default type to Harmonics, for instance,
will cause the harmonics command dialogue to use this result object by default.
2 Setting the Default type to Triggered will cause the calculation module to copy and
temporarily store signals in that copied result object, every time a Trigger Event
becomes active. The Triggered default type enables the trigger time fields.
When the Protocol Output is pressed, all events that happened during the simulation,
recorded by the result object, will be written again into the output window. So one can
check what events took place during the last simulation.
The contents of a result object are determined by one or more monitor variable set (Int-
Mon) objects. These monitor objects can be edited by pressing the Contents button.
This will show the list of monitor sets currently in use by the result object.
Selecting a set of result variables, trough the use of monitor objects is necessary because
otherwise all available variables would have to be stored, which is practically impossible.

Exporting Results
The stored results for the monitored result variables can be exported by pressing the Ex-
port button in the result object. This will activate the "ASCII Results Export'' command
ComRes and will pop up the ASCII-results export dialogue, which allows for exporting to
the output window, to the windows clipboard, to a file or to other export formats.
This command is the same command for exporting curve data form a VI plot. This is de-
scribed further in Section (Export of Curve Data).
In this dialogue the individual step size can also be set, the columns of the result file and
the header for the export as can be seen from Figure 20.28.

20 - 46
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.28: Command dialogue of the ASCII result export

This function will export the data from the displayed curve with the given time range as
ASCII text to the following programs/files:
• Output Window
• Windows Clipboard
• Measurement File (ElmFile)
• ComTrade
• Textfile
The export command allows for exporting an interval of results only and to export every
n-th result. So the user may define an additional step size n for the export. Additionally a
User defined interval for the time/x-scale can be set as the minimum and maximum value
of the first recorded variable (in time domain simulations this is of course the time).
By default, all the results for all monitored variables are exported. But also a selection of
variables can be made by entering column numbers under the section Columns (Vari-
ables). The header of the exported result table can include either the variable name or its
long or short description.

20 - 47
DIgSILENT PowerFactory Reporting Results in PowerFactory

20.2.2 The Form Editor


The form editor within DIgSILENT PowerFactory is used to define text reports, from
very small result boxes, to more complex and comprehensive reports.
For a detailed technical description of the report generating language, see 20.2.3 (The
DIgSILENT Output Language).
The form editor (IntForm) will be used in most cases to change the contents of the result
boxes in the single line graphic. PowerFactory offers three ways in which to change a
result box definition:
• selecting three variables out of three predefined lists
• selecting one or more variables out of all available variables
• writing a new user defined format, using the PowerFactory output format.
Because of all these, the result boxes are used as example to introduce the nature and
use of the form editors.
As explained in Section 10.7, the result boxes may be right-clicked to select a particular
format. When this format is selected, the "Form Select'' edit dialogue pops up which
shows a reference to a form for each calculation function (load-flow, short-circuit, etc.).
Editing the reference will show the Form Editor of the current result box definition. See
Figure 20.29.

Fig. 20.29: The Form editor

This form editor has a page to change the format by selecting variables, and a page to
manually define a format. What is displayed on which page depends on the input mode
of the Form Editor, which can be change using the button Input Mode.

20 - 48
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.30: The Form editor - Selection Moder

As shown in Figure 20.30 the three modes are:


Predefined Variables
This mode lets the user select three variables from three predefined
lists of variables. This is visible in Figure 20.29 as the three listboxes at
the bottom ('Line 1,2,3').
User Selection
This mode lets the user select any amount of parameters out of all
available parameters for the selected object or class of objects. This
includes model parameters as well as calculated values.
Text editor This is the most flexible, but also the most difficult mode. In this mode,
any text and any available variable, in any color, can be entered in the
Form. The highly flexible DIgSILENT output language allows for
highly complex automatic reports. This mode also offers a fast append
of predefined lines. The From List button is used to select a variable
from the list shown in "Predefined Variables'' mode. A standard line
with that variable is appended to the form. The User defined button
acts like the input mode "User Selection'' with one important difference.
Where the "User Selection'' mode is used to redefine the complete form
text, the User defined button appends a line for each selected
variables to the existing form text.

Note To use the "Predefined Variables'' is the easiest way to select vari-
ables, if they are accessible from the pull-down list.
If not only the standard variables should be shown, but also addi-
tional ones shall be defined, the best way is to use the option "User
Selection''.

In Figure 20.29, the editor is in the default 'Predefined Variables' mode. The three listbox-
es show the names of the variables, their units and their description.
The three listboxes used for the 'Predefined Variables' mode are replaced by a Select
Variables button in the 'User Selection' mode. Pressing this button will pop up a 'Monitor
Variable Set' dialogue (IntMon) which is used to define a set of variables. The IntMon
dialogue is explained in the next section.
The example in Figure 20.29 shows that the active and reactive power at the element
Xnet have been selected as well as the loading percentage. This selection will produce
three lines of DIgSILENT output language code. This code can be viewed by selecting
the View page. The text editor in this page will be disabled, because a format is selected
in stead of typing in the codes ourselves. However, it still shows the format of our selec-
tion as:

20 - 49
DIgSILENT PowerFactory Reporting Results in PowerFactory

#.## $N,@:m:P:_LOCALBUS
#.## $N,@:m:Q:_LOCALBUS
#.## $N,@:c:loading
This example shows the basic syntax of the DIgSILENT output language:
• The '#' sign is a placeholder for generated text. In the example, each line has a
placeholder for a number with two digits after the decimal point ('#.##'). The first
'#'-sign stands for any whole number, not necessary smaller than 10.
• The '$N' marks the end of a line. A line normally contains one or more placeholders,
separated by non-'#' signs, but may also contain normal text or macro commands.
• After the '$N', the list of variable names that are used to fill in the placeholders have
to be added. Variable names must be separated with commas. Special formatting
characters, like the '@:'-sign, are used to select what is printed (i.e. the name of the
variable or its value) and how.
The mentioned example will produce an result box like
12.34
4.84
103.56

The form editor offers options for the unit or name of the selected variable. If the Unit-
show option is enabled, a second placeholder for the unit is added:
#.## # $N,@:m:P:_LOCALBUS,@:[m:P:_LOCALBUS
#.## # $N,@:m:Q:_LOCALBUS,@:[m:Q:_LOCALBUS
#.## # $N,@:c:loading,@:[c:loading
The '['-sign encodes for the unit of the variables, in stead of the value.
The same goes for the variable name, which is added as
# #.## $N,@:~m:P:_LOCALBUS,@:m:P:_LOCALBUS
# #.## $N,@:~m:Q:_LOCALBUS,@:m:Q:_LOCALBUS
# #.## $N,@:~c:loading,@:c:loading
Where the `~'-sign encodes for the variable name.With both options on, the produced
format line
# #.## # $N,@:~m:P:_LOCALBUS,@:m:P:_LOCALBUS,@:[m:P:_LOCALBUS
Will lead to the following text in the result box:
P 12.34 MW
Other often used format characters are '%', which encodes for the full variable descrip-
tion, and '&', which decodes for the short description, if available.

20.2.3 The DIgSILENT Output Language


When more than just the variable name, value and unit has to be displayed, if the use
colors is preferred, or other special formats, the DIgSILENT Output Language can be
used.
By selecting the Text Editor input mode, all entries on first page of the Form Editor dis-
appear, except for the form name, and the editor on the second page is activated (see
Figure 20.31).

20 - 50
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.31: The Form text editor

Almost all textual output that is produced in PowerFactory, is defined by a report form.
The use of report forms range from the simple and small result forms that specify the
contents of the single line result boxes to large and complex forms that are used to print
out complete system reports.
In all cases, the text in the editor field of a IntForm object specifies the report that is to
be generated. For result boxes, that text is normally created automatically in the IntForm
dialogue by selecting "Predefined Variables'', or any other set of variables, and some ex-
tra's such as the number of decimals and if an unit or name should be shown. These op-
tions will automatically create a report form. That automatic form is normally used as it
is, but it may be altered manually. This is shown in Figure 20.31, where report format is
changed such that the variable name of the loading factor is deleted and replaced by the
fixed text 'ld', because the variable name "loading'' is felt too long compared with the
names of the other two variables ("P'' and "Q''). The shown format will produce result box-
es like
P 12.34 MW
Q 4.84 Mvar
ld 103.56 %
Defining single line result boxes only asks for a basic understanding of the DIgSILENT
output language. For more complex reports, many different variables from all kinds of ob-
jects have to be printed as listings or tables. Such a report would require macro handling,
container loops, selection of parameters, headers, footers, titles, colors, etc. The DIgSI-
LENT output language offers all this, and more.
The basic syntax, which is primary used for defining result boxes is given in the following
overview.

Format string, Variable names and text Lines


A standard line consists of three parts (see Figure 20.32):
1 A format string, containing placeholders, macros and/or user defined text.
2 An 'end of line' character like '$N', '$E' or '$F'
3 Variable names, separated by commas, which are used to fill in the placeholders.

20 - 51
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.32: Basic parts of the report format

The format string is normally much longer.

Placeholders
A placeholder for strings like variable names or whole numbers is a single '#'-sign. For
real numbers, the placeholder consists of
• a single '#' for the integer part
• a point or comma
• one or more '#'-signs for the fractional part
The number of '#'-signs after the decimal point/comma defines the number of decimals.
The '#'-sign itself can be included in user-defined text by typing '\#'.

Variables, Units and Names


The variable name can be used to display the name of the variable, its value or its unit.
The possible formats are ('xxx' = name of variable):
xxx returns the value
%xxx returns the long variable name, as used in the edit dialogues
&xxx returns the short variable name, as used in the database browser
[xxx returns the unit
xxx the object dependent name of the variable (default name)
"%width.precision,xxx''
uses special formatting.

The special formatting %width.precision is explained by the following examples:


• "%.60,TITLE:sub1z'' outputs TITLE:sub1z 60 column width, left aligned.
• "@:"%1.0,s:nt'' inserts s:nt as an integer at the placeholder's position
• ""%1.3,s:nt'' writes s:nt with 3 digits precision at the placeholder's position
The centering code | may be used in front of the formatting code for centering at the
placeholder, for example "|%.60,TITLE:sub1z''.
The insertion code @ is used to switch to insert mode, for example,
|#|$N,@:loc_name
will output
|aElmSym|.
The cformat string may be used to alternatively reserve place for a value or text. A cfor-
mat of ’%10.3' will reserve 10 characters for a number with 3 decimals. The first number

20 - 52
DIgSILENT PowerFactory Reporting Results in PowerFactory

can be omitted for text: ’%.6' will reserve 6 characters for the text field. The cformat syn-
tax allows for centering text by adding the ’|'-sign to the `%'-sign:
’|%.10' will reserve 10 characters and will center the text.
Free, language dependent text can be defined by use of the format
{E|a text;G|ein Text}. This will produce 'a text' when the user has selected the English
language (see the user settings dialogue), and 'ein Text' when the language has been
chosen to be German.
Special commands for access of Elements
OBJECT(cls)
Gets Element of class cls. Used to access a variable name or unit without actually
accessing such an object. Used in header lines.
argument
cls (obligatory): The name of the class
example:
[OBJECT(StaBar):m:Skss
writes the unit of the busbar variable Skss
EDGE
Gets an arbitrary object with at least one connection, i.e. a Load, a Line, etc. Used
to access a variable name or unit without actually accessing such an object.
example:
%EDGE:m:U1:bus1
writes description of the variable U1
CUBIC(idx)
Returns the cubicle (StaCubic) at bus index idx of branch
argument:
idx: index of branch, the currently set bus index is used when idx<0
example:
CUBIC(0):e:loc_name
returns name of cubicle at busindex 0
TITLE
Gets the title that is set in the output command (ComSh or ComDocu)
example:
TITLE:e:annex
writes annex of title
VARIANT
Gets the active variant in which the current object is stored
example:
VARIANT:e:loc_name
writes the name of the variant
NET
Gets the grid in which the current object is stored
example:
NET:e:loc_name

20 - 53
DIgSILENT PowerFactory Reporting Results in PowerFactory

writes the name of the grid


CMD
Returns the last calculation command, i.e. a Short-Circuit (ComShc), Load-flow
(ComLdf),...
example:
CMD:pabs
writes the short-circuit position on the line after calculation of a short-circuit.
CASE
Returns the currently active calculation case
example:
CASE:e:loc_name
writes the name of the active calculation case
DEF
Returns the default object. The default object depends on the currently processed
output.
example:
DEF:e:loc_name
writes the name of the default object
STALNE
Returns the station if the current object is a busbar. Returns a line if the current
object is a terminal between line routes. Otherwise, nothing is returned, and the
entry will be ignored.
example:
STALNE:e:locname
writes the name of the line or station.
RES
Returns the currently active results object (ElmRes) used by simulation, harmonics
or other calculation modules
example:
RES:e:desc
writes the first line of the description of the results object

Color
A line can be set to another color by adding a '_LCOL(c)' command directly after the '$N,'
marker. This will color the whole line according to the color number c.

a black i gray

b black j light gray

c red k bordeaux

d green l dark red

e blue m dark green

20 - 54
DIgSILENT PowerFactory Reporting Results in PowerFactory

f brown n light green

g cyan o marine

h magenta p dark blue

Table 20.1: Color Codes

iA single item can be colored by using the '_COLOR(Variable name; color code)'.

Advanced Syntax Elements


The advanced syntax is mainly used for writing forms for larger and more complex re-
ports. An example is a short-circuit result form, which lists all the short-circuit parameters
for all busbars and for each busbar for all connected elements.

Line Types and Page Breaks


The character '$' ends a format line. A line without this ending will be interpreted as a
normal '$N' line type. The following line type are available:
'$N' Normal line
'$H' Header on the top of each page
'$F' Footer on the bottom of each page
'$T' Title line, only appears on top of the first page
'$C' Comment line (not used for output)
'$R' Marker that make that the line will only be used when the specified
results are valid
The line type '$H', '$F' and '$T' will be treated as normal ('$N') line types when used inside
a loop command. Line type codes may be made language dependent by adding a 'E', for
English lines or a 'G' for German lines, i.e. '$HG' specifies a German header line.
A report format must at least contain one normal ($N) line.
The following commands are used for page and line controls. They can only be used di-
rectly behind the line type codes '$N', '$F' or '$H'.
_PAGEBREAK
Forces a page break after the current line
_AVAILBREAK
Enables page breaking after the current line (default)
_NOBREAK
Disables page breaking directly after the current line
_LCOL(c) Changes the color of the current line, c is the color code.
_OBJ(ClsNam)
The current line will only be used for objects from the class "ClsNam''.
_BUS(inum) The current line will only be used for objects which connect to exactly
inum nodes
_FIRST The current line will only be used when the loop index is 0 (first
passage)

20 - 55
DIgSILENT PowerFactory Reporting Results in PowerFactory

_NFIRST The current line will only be used when the loop index is not 0 (all but
the first passages)
_IF(boolean expression)
The current line will only be written when the expression is true.
Example: _IF(m:u:bus1>0.95)
_IFNOT(boolean expression)
The current line will only be written when the expression is false.
Example: \IF(m:u:bus1<0.95)
Example:
| #.## # #.## # #.## |$R,_NOBREAK, ..

Predefined Text Macros


The following macros will produce specific names or other texts.
_DATE(c) present date: c='e' give the English format, c='g' the German one.
_TIME present time
_VERSION version number of the DIgSILENT PowerFactory software.
_BUILD build number of the DIgSILENT PowerFactory software.
_VERBUILD combines _VERSION and _BUILD
_ORDER order title, if a title has been defined previously
_CLASS class name of the object
_LINE current line number in page
_ALLLINE current line number in report
_PAGE current page number
_LOCALBUS name of the local busbar
_CALC(c) name of last performed calculation. c=1 returns a long description.
_SHORT short object name
_FSHORT short name of parent object
_CLS class name without the 'Elm', 'Sta', 'Typ', etc. part.
_ANNEX the annex number
_NGB neighborhood depth
_TEXT(E | text;G | Text)
language dependent text (E=English, G=German)

Object Iterations, Loops, Filters and Includes


To create a report that creates a table with the voltages for all busbars, command are
needed to filter the busbar objects and to create a loop that outputs a line of text for each
busbar. A loop or filter command consists of the following parts:
• the keyword "$LOOP'' or "$CLOOP''
• the filter or loop name

20 - 56
DIgSILENT PowerFactory Reporting Results in PowerFactory

• the format text


• the keyword "$END''
Example:
$LOOP,_LROUTES()
| # |,$N,loc_name
$END
This example uses the filter "_LROUTES()'', which filters line route objects (ElmLner-
oute). The format text has one line, which prints the object name.

20.2.4 The Output of Device Data


The ComDocu command ("Output of Device Data'') is used to produce an output of de-
vice data. The output can be used in reports or may help to check the entered data. Re-
ports of calculated results can be made with the ComSh command. See Chapter 20.2.5
(Output of Results) for more information.
There are two types of reports. These are either the "Short Listing'' or the detailed report.
The "Short Listing'' is not defined for all elements.

The Short Listing


The "Short Listing'' reports only the most important device data, using one line for each
single object. This allows a small but clear documentation. Like the "Output of Results''
the "Short Listing'' report uses a form to generate the output. This form can be modified
by the user. When the report form is changed, it is stored in the "Changed Settings'' object
of the active project. This does not influence the reports of other projects. The output of
objects without a defined short listing will produce warnings like:
DIgSI/wrng - Short Listing report for StoCommon is not defined.

The Detailed Report


The detailed report outputs all device data of the elements selected for output. In addi-
tion, type data can be included ("Print Type Data in Element''). Device Data is split into
the different calculation functions like "Load-Flow'' or "Short-Circuit''. The "Basic Data'' is
needed in all the different calculations. "Selected Functions'' shows a list of the functions
whose data will be output. If one wants to report the device data for all functions move
all functions from left to right. If "Selected Functions'' is empty no device data will be out-
put.

20 - 57
DIgSILENT PowerFactory Reporting Results in PowerFactory

Device Data

Fig. 20.33: Device data page

Use Selection
The set of reported elements depends on the "Use Selection'' setting. If "Use
Selection'' is checked one element or a "Set'' object must be chosen for output. If
"Use Selection'' is not checked the "Filter/Annex'' page specifies the set of elements
for the report. This page is described further down. Another way to select object
for the report is to select the objects in the "Data Manager'' or the "Single Line''
graphics and select "Documentation'' in the "Output'' entry of the context menu.
The "Output of Device Data'' command will pop up.
Annex
Each class uses it's own annex. There is either the default annex or the individual
annex. To use the default annex check "Use default Annex''. Changes of the annex
are stored in the "Changed Settings'' of the active project. The local annex is stored
in the "Output of Device Data'' command. To modify the local annex press the
"Change Annex'' button. See Section (The Annex for Documentation) for details.
Title
Most reports display a title on top of each page. The reference "Title'' defines the
contents of the header.

20 - 58
DIgSILENT PowerFactory Reporting Results in PowerFactory

Filter/Annex

Fig. 20.34: Filter/Annex page

If one wants to report elements without defining a set of objects "Use Selection'' on the
"Device Data'' page must not be checked. The objects in the list "Selected Objects'' will
be filtered out of the active projects/grids and reported. "Available Objects'' shows a list
of elements which can be add to the "Selected Objects'' list. The list in "Available Objects''
depends on the "Elements'' radio button. Elements in the left list are moved to the right
by double-clicking them. The text in the "Annex'' input field will be set as default annex
for the selected class.

The Annex for Documentation


The "Annex for Documentation'' stores the annex for the documentation of results. The
annex number and the page number for the first page are unique for each class.

20 - 59
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.35: The annex dialogue

Objects This column shows the different classes with their title.
Annex This column stores the annex number shown in the Annex field of the
report.
First Page This column defines the start page for the class in the report. The first
page number depends on the class of the first element output in your
report. The page number of its class is the page number of the first
page.

20.2.5 Output of Results


The command ComSh ("Output of Results'') is used to produce an output of calculation
results. The output can be used in reports or may help in interpreting the results, as
shown in Figure 20.36. To generate a report with input data use the ComDocu command,
see Section 20.2.4 (The Output of Device Data).
Several different reports, depending on the actual calculation, can be created. The radio
button on the upper left displays the different reports possible for the active calculation
(Figure 20.36 shows a load-flow). Some reports may be inactive, depending on the ob-
ject(s) chosen for output. In Figure 20.36, a station was selected for output. "Used For-
mat'' displays the format(s) used for the report. Some reports are a set of different
outputs. For these reports more than one form is shown. If the form is modified it will be
stored automatically in the "Changed Settings'' folder of the active project. The changed
form does not influence the reports of other projects. If "Use Selection'' is active a set of
objects (selection) or a single object must be chosen. The report is generated only for
these elements. All relevant objects are used if "Use Selection'' is not selected. The rele-
vant objects depend on the chosen report. Most reports display a title on top of each
page. The reference "Title'' defines the contents of the header.
For some reports additional settings are required. These settings depend on the chosen
report, the selected objects for output and the calculation processed before. The calcula-
tion (left top) and the used format(s) (right top) are always shown.

20 - 60
DIgSILENT PowerFactory Reporting Results in PowerFactory

Fig. 20.36: Output of results

20 - 61
DIgSILENT PowerFactory Reporting Results in PowerFactory

20 - 62
DIgSILENT PowerFactory Data Management

Chapter 21
Data Management

The basic elements of project management within the PowerFactory environment were
introduced in Chapter 4 (PowerFactory Overview). They allow the user to generate
network designs and administrate all input information and settings related to Power-
Factory calculations and analyses. The project object is much more than a simple folder
which stores all objects which comprise a power system model; it allows the user to
perform advanced management tasks such as: versioning, deriving, comparing, merging
and sharing. These advanced features simplify the work in multi-user environments while
minimizing the amount of data.

21.1 Project Versions


A Version is a snapshot of a project taken at a certain point in time. By means of versions,
the historic development of a project can be controlled (and even reverted, if required).
A version is used to save a specific state of the project. 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 folder called Versions.
The concept of versions is illustrated in Figure 21.1 (Project Versions). At time t0, the
project SIN is created, and after a time t1, certain changes have been implemented and
the owner decides to make a copy of the project in its current state by means of the
version 'V1'. After a time, t2, the project has changed with respect to 'V1', and a new
version 'V2' is created. The version control continues with time, generating versions with
a periodicity of t.

Fig. 21.1: Project Versions

21 - 1
DIgSILENT PowerFactory Data Management

21.1.1 Creating a New Version


To create a new version of the active project:
• Right click on the active project.
• Select New --> Version from the context sensitive menu. Alternatively use the option
File --> New Version… from the main menu.
The dialogue of the new version pops up. At this point of defining a new version, the
object dialogue offers the following options:
Point in Time
Time of the version definition, to control the historic development of
the project.
Notify users of derived projects
At activation of a project, that has derived from the active project, the
user is informed that this new version is available. Afterwards updates
of the derived project can be carried out (for further information please
refer to 21.2 (Derived Projects)).
• Complete project approval for versioning required
If this option is enabled, the program checks if all the objects in the active project
have been approved ('Description' tab of each object's dialogue). If not approved
objects are found, an error message is printed and the version is not created.
• Set the desired options and press Ok.

Fig. 21.2: Creating a New Project Version

The new version is automatically stored in the Versions folder (which is automatically
created if it doesn’t yet exist).

21 - 2
DIgSILENT PowerFactory Data Management

21.1.2 Rollback Function


The state of a project at a certain version can be recovered by means a function called
'Rollback'. If a 'Rollback' is performed, the project returns to the state it had at the
creation of a selected version (let's called it 'v'). With Rollback, all changes implemented
after 'v' (at v’s point in time) are deleted. It should be noted that all subsequent versions
(i.e. versions newer than 'v') are also removed.
To perform a 'Rollback':
• Deactivate the target project.
• Right click on the 'v' version and select Rollback to this version from the context
sensitive menu.
• "Press Ok on the confirmation message.
Note that a 'Rollback' is not allowed (not enabled in the context sensitive menu) if a
version to be deleted 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.

21.1.3 Checking Dependencies of a Version


To check dependencies of a Version:
• Activate the project.
• Go to the Version folder inside your project.
• Right-click on the version that you want to edit/delete.
• Select the option Action -> Output derived projects
• A list of derived projects will be shown in PowerFactory’s output window.

21.1.4 Deleting a Version


To delete a Version:
• Activate the project.
• Go to the Version folder inside your project.
• Right-click on the version that you want to edit/delete.
• Select the option Action -> Delete Versions
or
• Open the edit dialog of the version.
• Use the button Delete Version to delete the version.

21 - 3
DIgSILENT PowerFactory Data Management

21.2 Derived Projects


At certain stages of a system study, several users may wish to work on the same project.
To avoid the large amount of data duplication required to create a project copy for each
user, DIgSILENT has developed a 'virtual copy' approach called Derived Projects. From
a user’s 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. 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 means of versions, however it should be noted that
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.

- Internally only the data differences between the "Base Project"
and the "Derived Project" are stored in the database.

- This approach avoids the data overhead.

In a multi-user database, the data administrator may publish a "base" project in a public
area of the database. Each user can subsequently create her/his own Derived Project and
work on it like working on the original base project. Changes made by the user are stored
in the Derived Project, so that the base project remains the same for all users.
The purpose of a Derived Project is that all users work with an identical power system
model. The Derived Project always remains connected to the base project.
The concept of derived projects is illustrated in Figure 21.3; here version “Version3” of the
base project (“MasterProject”) was used to create “DerivedProject”. After “DerivedProject”
was created, two versions of it were created.

Fig. 21.3: Principle of Derived Projects

A new derived project is created using the Data Manager as follows:

21 - 4
DIgSILENT PowerFactory Data Management

• Right-click the desired project folder in the right pane of the Data Manager where the
Derived Project is to be created.
• Select New --> Derived Project from the context-sensitive menu.
• Select the source version of the base project from the data browser that pops up. This
will likely be the last available version of a project in a public area, created by the data
administrator.
• Press OK.

Note: The base or master project has to have at least one version before
other projects can be derived from it.

You cannot derive a project from a derived project.

You can check whether a project is derived or not by opening the
Edit dialogue of the project itself.

To create a Virtual Project from a Base Project stored in another
user's account, you require at least read access (see Sharing
Projects).

Once the derived project is created, it can be used like a normal project. At a later stage,
it may be desired to update the derived project using new versions of the base, or to
update the base with your derived project. All of these features are possible, by means
of the Merge Tool, explained in Chapter 21.3 (Comparing and Merging Projects).

Fig. 21.4: Derived Projects in a multi-user database

In the Data Manager a virtual project looks like a normal project. The 'Derived Project' tab
of its dialogue has a reference to the base project and the version used.
Users are notified of changes in base project, if there is a new version of the base project
(newer than the 'used' version) which has the option Notify users of derived projects

21 - 5
DIgSILENT PowerFactory Data Management

enabled, and the option Disable notification at activation disabled. The possibility of
updating the derived project is presented to the user upon activation of the derived
project. The newest version that can be used to update a derived project is referred to (if
available) in the Most recent version field of the dialogue. The users can compare this new
version with their own derived project and decide which changes should be included in
the derived project. For comparing and accepting or refusing individual changes, the
Merge Tool is used. For information about the Merge Tool please refer to Chapter 21.3
(Comparing and Merging Projects).

Fig. 21.5: New version of the base project in a multi-user database

Fig. 21.6: Merging the new version of the base project into the Derived Projects

21 - 6
DIgSILENT PowerFactory Data Management

21.3 Comparing and Merging Projects


Projects can be compared and later merged by means of the Merge Tool. The Merge Tool
compares objects and parameters from a ''modified'' project (internally called Mod1) with
respect to a ''base'' project (internally called Base) and generates a report of the differ-
ences. For this two-way comparison, the changes found in Mod1 can be implemented in
the Base, provided that the user selects Mod1 as the source (Base is by default the
target). Furthermore, a comparison of three projects (one of them can be a copy of Mod1)
can be carried out in order to implement all changes in the third project (Mod2) and create
a merged version of Base and Mod1.
The ''comparing-merging'' process starts with the selection of the Base and the Mod 1
projects by means of the context sensitive menu:
• Right-click an inactive project and choose Select as Base to Compare.
• Right-click a second (also inactive) project and select Compare to "[Name of Base
Project]".
Once the projects have been selected, the dialogue of the Merge Tool command pops up
(Figure 21.7). The Base and the modified project are referred to by the Base Element and
the Modified Element 1 references. If a third project is to be included in the comparison,
the box next to Modified Element 2 must be ticked. Search for the desired Modified
Element 2 project using the icon.
In the Compare field of the command dialogue you can set the desired level of comparison
from a drop-down list. The possible settings are:
Only Chosen Object
Only the selected project objects (IntPrj) are compared, ignoring all
objects contained within the project.
Chosen and contained Objects
The selected project objects (IntPrj) are compared, as are all objects
contained within the project objects. This is normally the most
appropriate option for tracking changes and merging projects.
If the purpose of the comparison is merely the tracking of changes, the option Merge
should be disabled. If the purpose is to compare and further implement changes made in
one project into the other (i.e. to merge), this option should be enabled. If Merge is
enabled and only two projects are compared, the changes are implemented in the Base
project (the base is automatically assumed to be the 'target' for the merging process). In
the case of a 3-way comparison, a 'target' project between the 'Modified Element 1' and
the 'Modified Element 2' must be selected.

21 - 7
DIgSILENT PowerFactory Data Management

Fig. 21.7: Merge Tool Command

Once the Merge Tool command’s options are set, the button Execute is used to start the
comparison. The comparison results are presented in a data browser window (the Merge
Tool window, Figure 21.8), which has a special toolbar to facilitate the visualization,
sorting and further merging of the compared objects.

Fig. 21.8: Merge Tool Window

In the Merge Tool window, a list of the compared objects (according to the selected
comparison level) is presented. A comparison result symbol, indicating the differences
found on each object from the list, is displayed in the columns Mod 1 (and Mod 2 in the
case of a 3-way comparison) as shown in Figure 21.8. These symbols are defined as
follows:

21 - 8
DIgSILENT PowerFactory Data Management

• If the object exists in the 'base object' but not in the 'object to compare'.
• If the object exists in the 'object to compare' but not in the 'base object'
• If the object exists in both sets but the value of the parameters differs.
• If the object exists in both sets and has the same value for the parameters.
If the projects are to be merged (i.e. the Merge option was enabled in the command
dialogue), then the column labelled 'Assignment' is enabled in the results browser. In this
column the source of the changes which are to be implemented in the target project is
defined. All listed objects must have an 'Assignment'. If a certain change is not to be
implemented in the target; then the ''target'' project itself must be selected as the source.
In a comparison of two projects, the only available sources are the Base (which is also
the target) and Mod1. In a 3-way comparison (i.e. where a Mod2 was selected), the
possible sources are 'Base', 'Mod1' and 'Mod2'. The assignment can be made manually by
double-clicking on the corresponding cell and selecting the desired source, however this
task may be tedious in large projects. The toolbar icons can be used to automate this
process.
Once the assignment of all the objects has been performed, the projects can be merged
by pressing the Merge button. The changes are then automatically implemented in the
target project.
As previously mentioned, the objects displayed in the Merge Tool window can be sorted
and organized via the toolbar. In the attached Merge Tool Manual the functionality of each
toolbar icon and the context-sensitive menus available from the toolbar are explained.

Note: The Merge Tool can be used to compare any kind of object in
PowerFactory. The functionality and procedure to follow is simi-
lar to that explained in this section for project comparison and
merging.

21.4 Project Baselining


Baselining is a process which is based on the compare-and-merge functionality, used to
update derived projects according to newer versions of their base, or to update base
projects from derived ones.
If the option Disable notification at activation is disabled in the Derived Project tab of the
project dialogue, and newer versions of the base project have been created (with the
option Notify users of derived projects enabled), at activation of the derived project, the
user is notified of the newer version. The options offered in the notification dialogue are:
Merge new version with my modifications and
The program automatically generates a temporary copy of the derived
project and executes a 3-way comparison with the new version (as the
Base), the derived project (as Mod1) and the temporary copy (as Mod2
and target). In the case of a conflict, one of the following actions will
be taken:
favor none: The Merge Tool browser is displayed, and the user can
then resolve the conflict(s) by defining how the changes should be
assigned.

21 - 9
DIgSILENT PowerFactory Data Management

favor mine: Conflicts are resolved automatically by favoring the user’s


modifications, thereby discarding modifications in the Base.
favor version: Conflicts are resolved automatically by favoring the
Base’s modifications, thereby discarding the user’s modifications.
Get new version and discard my modifications
The derived project is automatically replaced by the new version. All
user modifications will be lost.
Merge manually
Use the Merge Tool to merge the modifications manually. The results of
the comparison are displayed in a Merge Tool 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.
If the Cancel button is used, the project is activated as it was left the previous session.
The notification will appear following the next activation.
Derived projects can be merged directly from their base (without considering new
versions) using the option Merge from base which is available in the project context-
sensitive menu. The merging principle is similar to that described above, with the Merge
Tool configured accordingly. 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 the previous cases, the Merge Tool
is started accordingly.

Note: The button 'Info' from the Merge Tool browser can be used to dis-
play the name and path of the current Base project, Mod1, Mod2
and target.

21.5 Sharing Projects


In PowerFactory, any project may 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 database Admin-
istrator) in order to access shared projects.
Depending on the access level that the owner assigns to a group, other users can:
• Have read-only access to the shared project, which allows the copying of objects and
the creation of derived projects;
• Have read-write access;
• Full access.

21 - 10
DIgSILENT PowerFactory Data Management

To share a project:
• Open the project dialogue and go to the Sharing tab;
• Right-click on the right side of the Sharing information table to insert (or append) a
row;
• Double-click the Groups cell of the new line and select the group with whom the
project is shared, using the data browser;
• Double-click on the Sharing access level to select the desired access level.
A shared project is marked with the symbol in the Data Manager.
For information regarding users groups and the database administrator, please refer to
Section 5.3 (User Accounts and User Groups).

21 - 11
DIgSILENT PowerFactory Data Management

21 - 12
DIgSILENT PowerFactory
Power System Analysis Functions


DIgSILENT PowerFactory Load Flow Analysis

Chapter 22
Load Flow Analysis

Load flow calculations are used to analyze power systems under steady-state and non-
faulted (short-circuit-free) conditions. The load flow calculates the active and reactive
power flows for all branches, and the voltage magnitude and phase for all nodes.

The main areas for the application of load flow calculations are:
• Calculation of branch loadings, system losses and voltage profiles for system planning
and operation (normal and abnormal conditions).
• Contingency analysis, network security assessment (abnormal conditions).
• Optimization tasks, i.e. minimizing system losses, minimizing generation costs, open
tie optimization in distributed networks, etc. (normal or abnormal conditions).
• Verification of system conditions during reliability calculations.
• Automatic determination of optimal system resupplying strategies.
• Optimization of load-shedding (abnormal conditions).
• Calculation of steady-state initial conditions for stability simulations or short-circuit
calculations using the complete superposition method (usually normal conditions).
A distinction should be made regarding the simulation of ''normal'' and ''abnormal'' system
conditions. This distinction affects the modelling of the system. Under normal operating
conditions the generator dispatches as well as the loads are known, and it is therefore
sufficient for the load flow calculation to represent these generator dispatches and to
provide the active and reactive power of all loads. The results of the load flow calculation
should represent a system condition in which none of the branch or generator limits are
exceeded.
The representation of abnormal conditions requires a higher degree of accuracy from the
models. Here it can no longer be assumed that the entire system is operating within limits.
The models must be able to correctly simulate conditions which deviate from the normal
operating point. Hence the reactive power limits of generators or the voltage dependency
of loads must be modelled. Additionally, in many applications, the active power balance
cannot be established with a single slack bus (or machine). Instead, a more realistic
representation of the active and reactive power control mechanisms have to be
considered to determine the correct sharing of the active and reactive power generation.
Besides the considerations regarding abnormal conditions presented above, the
assumption of balanced systems may be inappropriate for certain distribution networks.
State of the art computational tools for power systems analysis must be able to represent
unbalanced networks for load flow calculations.
The calculation methods and the options provided by PowerFactory’s load flow analysis
function allow the accurate representation of any combination of meshed 1-, 2-, and 3-

22 - 1
DIgSILENT PowerFactory Load Flow Analysis

phase AC and/or DC systems. The load flow tool accurately represents unbalanced loads,
generation, grids with variable neutral potentials, HVDC systems, DC loads, adjustable
speed drives, SVSs, and FACTS devices, etc., for all AC and DC voltage levels. With a more
realistic representation of the active and reactive power balance mechanisms, the tradi-
tional requirement of a slack generator is left optional to the user.
For very fast and reliable analysis of complex transmission networks, where only the flow
of active power through the branches is considered, PowerFactory offers an additional
load flow method, namely DC load flow, which determines the active power flows and the
voltage angles within the network.
The following sections introduce the calculation methods and the options provided with
PowerFactory’s load flow tool. This information is a guide to the configuration of the
PowerFactory load flow analysis command ( ).

22.1 Technical Background


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 suffi-
cient background to manage the options presented in the load flow analysis command
dialogue. Further technical details about the models implemented in PowerFactory for
load flow calculations are provided in the Technical References of the corresponding
network components.

22.1.1 Network Representation and Calculation Methods


A load flow calculation determines the voltage magnitude (V) and the voltage angle ()
of the nodes, and 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: constant active power and voltage magnitude are specified. This type of
node is used to represent generators whose active power and voltage magnitude are
controlled, and synchronous condensers. In order to consider 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: active and reactive power are specified. This type of node is used to
represent loads and generators with fixed dispatch. 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.
• Slack bus: voltage magnitude and angle are fixed. In traditional load flow
calculations 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).

22 - 2
DIgSILENT PowerFactory Load Flow Analysis

Note: In traditional load flow calculations, asynchronous machines are


represented by PQ nodes, assuming that the machine operates at
a certain power factor, independent of the busbar voltage. Besides
this traditional representation, PowerFactory offers a more accu-
rate "slip iteration" (AS) representation based on the model equiv-
alent circuit diagrams. For further information please refer to the
corresponding Technical Reference.

In contrast to other power system calculation programs, PowerFactory does not directly
define the node characteristic of each busbar. Instead, more realistic control conditions
for the network elements connected to these nodes are defined (see the Load Flow tab
of each element’s dialogue). For example, synchronous machines are modelled by
defining one of the following control characteristics:
• Controlled power factor (cos()), constant active and reactive power (PQ);
• Constant voltage, constant active power (PV) on the connected bus;
• Secondary (frequency) controller ('slack', SL).
It is also important to note that in PowerFactory the active and reactive power balance
of the analyzed networks is not only possible through a slack generator (or external
network). The load flow calculation tool allows the definition of more realistic mechanisms
to control both active and reactive power. For further information please refer to Section
22.1.2.

AC Load Flow
In PowerFactory the nodal equations used to represent the analyzed networks are
implemented using two different formulations:
• Newton-Raphson (Current Equations)
• Newton-Raphson (Power Equations, classical)
In both formulations, the resulting non-linear equation systems must be solved by an
iterative method. PowerFactory uses the Newton-Raphson method as its non-linear
equation solver. The selection of the method used to formulate the nodal equations is
user-defined, and should be selected based on the type of network to be calculated. For
large transmission systems, especially when heavily loaded, the standard Newton-
Raphson algorithm using the “Power Equations” formulation usually converges best.
Distribution systems, especially unbalanced distribution systems, usually converge better
using the "Current Equations" formulation.
In addition to the Newton-Raphson iterations, which solve the network nodal equations,
PowerFactory applies an outer loop when the control characteristic of automatic trans-
former tap changers and/or switchable shunts is considered. Once the Newton-Raphson
iterations converge to a solution within the defined tolerance (without considering the
setpoint values of load flow quantities defined in the control characteristic of the tap
changers/switchable shunts (see Figure 22.1)), the outer loop is applied in order to reach
these target values. The actions taken by the outer iterative loop are:
• Increasing/decreasing discrete taps;
• Increasing/decreasing switchable shunts; and

22 - 3
DIgSILENT PowerFactory Load Flow Analysis

• Limiting/releasing synchronous machines to/from max/min reactive power limits.


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.

Fig. 22.1: Setting of the Control Mode for an Automatic Tap Changer

In the classical load flow calculation approach, the unbalances between phases are
neglected. For the analysis of transmission networks this assumption is generally admis-
sible. In distribution networks this assumption may be inappropriate depending on the
characteristics of the network. PowerFactory allows for the calculation of both balanced
(AC Load Flow, balanced positive sequence) and unbalanced (AC Load Flow Unbalanced,
3-phase (ABC)) load flows according to the descriptions above.

DC Load Flow
In addition to the ''AC'' load flow calculations presented in this section, PowerFactory
offers a so-called ''DC'' load flow calculation method (applied to AC systems), for fast
analyses of complex transmission networks where only the flow of active power through
branches is considered. In this case the non-linear system resulting from the nodal
equations is simplified due to the dominant relation that exists between voltage angle and
active power flow in high voltage networks. A set of linear equations is thereby obtained,
where the voltage angles of the buses are directly related to the active power flow
through the reactances of the individual components. The DC load flow does not require
an iterative process and the calculation speed is therefore considerably increased. Only
active power flow without losses is considered.

22 - 4
DIgSILENT PowerFactory Load Flow Analysis

22.1.2 Active and Reactive Power Control


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 mecha-
nisms are implemented in the steady-state according to the control processes that follow
the loss of large power stations:
• According to Secondary Control: If an unbalance occurs between the scheduled
active power values of each generation unit and the loads plus losses, primary control
will adapt (increase/decrease) the active power production of each unit, leading to an
over- or under-frequency situation. The secondary frequency control will then bring
the frequency back to its nominal value, re-establishing cost-efficient generation
delivered by each unit. Secondary control is represented in PowerFactory’s load flow
calculations by network components called 'Power Frequency Controllers'
(ElmSecctrl). If the Active Power Control option According to Secondary Control is
selected, the generators considered by the Power Frequency Controllers establish the
active power balance according to their assigned participation factors (for further
information, please refer to the corresponding Technical Reference).
• According to Primary Control: Shortly following a disturbance, the governors of
the units participating in primary control will increase/decrease their turbine power
and drive the frequency close to its nominal value. The change in the generator power
is proportional to the frequency deviation and is divided among participating units
according to the gain (Kpf ) of their primary controllers. 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 having a primary
controller gain (parameter Prim. Frequency Bias from the Load Flow tab of the
synchronous generator), according to the corresponding frequency droop.
• According to Inertias: Immediately following a disturbance, the missing/excess
power is delivered from the kinetic energy stored in the rotating mass of the turbines.
This leads to a deceleration/acceleration and thus to a decrease/increase in the
system frequency. The contribution of each individual generator towards the total
additional power required is proportional to its inertia. If the Active Power Control
option According to Inertias is selected in PowerFactory’s load flow command, the
power balance is established by all generators. Individual contributions to the balance
are proportional to the inertia/acceleration time constant of each generator (defined
on the RMS-Simulation tab of the synchronous generator type’s dialogue).
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 characteristic as introduced in Section 22.1.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 (i.e. generators, 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.27 (Station Controller (ElmStactrl)).

22 - 5
DIgSILENT PowerFactory Load Flow Analysis

22.1.3 Load Flow Analysis of Low Voltage Systems


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:
S max  n  = n  g  n   S max
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  + ---------------
n
The average value of the variable component is:
S av = g   S max

Note: Low voltage loads can be represented in PowerFactory by Low


Voltage Load (ElmLodlv) elements which can be directly connect-
ed to terminals or by Partial Low Voltage Loads (ElmLodlvp)
which are defined along transmission lines/cables (see the Defini-
tion of Line Loads section on the Load Flow tab of transmission
line/cable elements - ElmLne).

22.2 Executing Load Flow Calculations


A load flow calculation may be initiated by:

• Pressing the icon on the main toolbar;


• Selecting the Calculation  Load Flow ... option from the main menu.
An example of the load flow command dialogue is shown in Figure 22.2.

22 - 6
DIgSILENT PowerFactory Load Flow Analysis

Fig. 22.2: Load Flow Command (ComLdf ) Dialogue

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.

22.3 Load Flow Calculation Options


This section describes PowerFactory’s load flow calculation command (ComLdf ).
Further technical background regarding the options presented here is given in Section
22.1.

22.3.1 Basic Options

Calculation Method
AC Load Flow, balanced, positive sequence
Performs load flow calculations for a single-phase, positive sequence
network representation, valid for balanced symmetrical networks. A
balanced representation of unbalanced objects is used (for further
details please refer to Section 22.1.1).
AC Load Flow, unbalanced, 3 Phase (ABC)
Performs load flow calculations for a multi-phase network
representation. It can be used for analyzing unbalances of 3-phase
systems, e.g. introduced by unbalanced loads or non-transposed lines,
or for analyzing all kinds of unbalanced system technologies, such as

22 - 7
DIgSILENT PowerFactory Load Flow Analysis

single-phase- or two-phase systems (with or without neutral return).


For further details please refer to Section 22.1.1.
DC Load Flow (linear)
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 22.1.1).

Reactive Power Control


This option is available only for AC load flow calculations.
Automatic Tap Adjust of Transformers
Adjusts the taps of all transformers which have the option Automatic
Tap Changing enabled 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).
Automatic Shunt Adjustment
Adjusts the steps of all switchable shunts that have the option
Switchable enabled on the Load Flow tab of the shunt’s element
dialogue (for further information please refer to corresponding
Technical Reference).
Consider Reactive Power Limits
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.
Consider Reactive Power Limits Scaling Factor
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 factor (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: maximum/minimum values, 7.5.4, or according to
the generator’s assigned type.

Load Options
Consider Voltage Dependency of Loads
The voltage dependency of loads with defined voltage dependency
factors (Load Flow tab of the general- and complex load types) will be
considered.
Feeder Load Scaling
Scales loads with the option Adjusted by Feeder Load Scaling enabled
on the Load Flow tab of their element dialogue by the Scaling Factor
specified in the Load Scaling section of the feeder element (for
information about feeder elements please refer to Section 7.3.3

22 - 8
DIgSILENT PowerFactory Load Flow Analysis

(Network Data)). In this case, the Scaling Factor specified on the Load
Flow tab of load element dialogue is disregarded.
Consider Coincidence of Low-Voltage Loads
Calculates a 'low voltage load flow' as described in Sections 22.1.3 and
22.3.6, where load coincidence factors are considered (for C.13 and
C.14 objects), so as to produce maximum branch currents and
maximum voltage drops. Since coincidence factors are used, the result
of low voltage analysis will not obey Kirchhoff's current law.
After the load flow has been successfully executed, maximum currents
(Imax), maximum voltage drops (dumax) and minimum voltages
(umin, Umin) are displayed in every branch element and at every
busbar. The usual currents and voltages represent here average values
of voltages and currents. Losses are calculated based on average
values, and maximum circuit loading is calculated using maximum
currents.
Scaling Factor for Night Storage Heaters
This is the factor by which the night storage heater power (as found in
Low Voltage Load elements) is multiplied for all low voltage loads.

22.3.2 Active Power Control

Active Power Control


As explained in Section 22.1.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.
according to Secondary Control:
Power balance is established by all generators which are considered by
a "Secondary Controller" as explained in Section 22.1.2. Active power
contribution is according to the secondary controller participation
factors.
according to Primary Control:
Power balance is established by all generators having a Kpf-setting
defined (on the Load Flow tab of a synchronous machine element
dialogue), as explained in Section 22.1.2. Active power contribution is
according to the droop of every generator.
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 22.3.2.

22 - 9
DIgSILENT PowerFactory Load Flow Analysis

Consider Active Power Limits:


Active power limits for generators (as defined on the element’s Load
Flow tab) participating 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 available when the
Active Power Control option is set to either as Dispatched or according
to Inertias.

Reference Bus and Balancing


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:
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.
P-balancing:
If a Reference Busbar is specified, the load (ElmLod), generator or
static generator (ElmGenstat) connected to the reference busbar will
be selected for balancing active power. Otherwise the "Reference
Machine" will be used.

22.3.3 Advanced Options

Load Flow Method


As explained in Section 22.1.1, the nodal equations used to represent the analyzed
networks are implemented using two different formulations:
• Newton-Raphson (Current Equations)
• Newton-Raphson (Power Equations, classical)
In both formulations, the resulting non-linear equation systems must be solved 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, especially when heavily loaded, the classical Newton-
Raphson algorithm using the Power Equations formulation usually converges best. Distri-
bution systems, especially unbalanced distribution systems, usually converge better using
the Current Equations formulation.

22 - 10
DIgSILENT PowerFactory Load Flow Analysis

Load Flow Initialisation


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.
No Initialisation (no flat-start)
Initializes a load flow from a previously convergent solution (no flat-
start).
Consideration of transformer winding ratio
Sets the manner in which voltage initialisation takes place at nodes.
Reducing the relaxation factor results in 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.
Min. Controller Relaxation Factor
The tap controller time constants are used in the automatic tap
changer calculations to determine the relative speed of the various tap
controllers during the load flow iterations. The relaxation factor can be
used to slow down the overall controller speeds (in case of
convergence problems, set a factor of less than 1.0), or to speed them
up (for a faster load flow, set a factor of greater than 1.0).

Station Controller

Available on the second page ( ) of the Advanced Options tab. The options presented
in this field determine the reactive power flow from generators participating in station
controllers (ElmStactrl). Please refer to Appendix C.27 (Station Controller (ElmStactrl))
for information on station controllers and their control modes.

22 - 11
DIgSILENT PowerFactory Load Flow Analysis

Modeling Method of Towers


with in/output signals
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
Inter-circuit couplings are ignored.
equations in lines
The constant impedance and admittance matrices are calculated by the
tower and used 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.

Use this load flow for initialization of OPF


The results of this load flow calculation are used to initialize the OPF calculation.

22.3.4 Iteration Control


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.

Max. Number of Iterations for


The load flow calculation comprises an inner loop involving the Newton-Raphson method
(see Section 22.1.1), and an outer loop to determine changes to tap settings and to
consider generator 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.
Newton-Raphson Iteration - itrlx
The inner loop of the load flow involves the Newton-Raphson iterations.
This parameter defines the maximum number of iterations (typically
25).
Outer Loop - ictrlx
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 Section 22.1.1). The maximum number of outer loop
iterations (typically 20) is set by this parameter.
Number of Steps - nsteps
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.

22 - 12
DIgSILENT PowerFactory Load Flow Analysis

Max. Acceptable Load Flow Error for


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 Equations - 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 convergence for systems which are otherwise
difficult to solve.
Automatic Model Adaptation for Convergency
The PowerFactory load flow calculation will always first try to find a
solution using non-linear mathematical power system models. If a
solution cannot be found, and this option is enabled, an adaptive
algorithm will change these models slightly to make them more linear,
until a solution is found. Any model adaptations are reported in the
output window.

22.3.5 Outputs
Show Verification Report
Produces a table in the output window with a list of overloaded power
system elements and voltage violations, according to the values
specified in the Check Devices section of the Outputs tab.
Show Convergence Progress Report
Will print detailed reports throughout the load flow calculation, which
may be used to solve convergence problems.
Show 'Outer Loop' messages
Will print reports concerning the outer loop iterations, which may be
used to solve convergence problems.
Calculate Power at Risk
Calculates the SPAR (System Power At Risk) parameter, which is shown
in the 'Total System Summary Report'. The SPAR equals the minimum
amount of power that will be shed in order to make the highest branch
loading equal to the Max. Loading of Edge Element (Check Devices
section). The SPAR calculation uses a linear optimization technique to
calculate the least power that may be shed in order to alleviate all
overloading. This minimum power that will be shed is called the "Power
At Risk".
Output
Displays the report format definition that will be used. The arrow

22 - 13
DIgSILENT PowerFactory Load Flow Analysis

button ( ) can be pressed to edit or inspect the report settings. This


option is only available if Show Verification Report is selected.

Check Devices
Max. Loading of Edge Element
Reference value of the maximum loading used by the 'Verification
Report' and by the 'SPAR' function (only available if Show Verification
Report and/or Calculate Power at Risk are selected).
Lower Limit of Allowed Voltage
Reference value for the minimum allowed voltage used by the
'Verification Report' (only available if Show Verification Report is
selected).
Higher Limit of Allowed Voltage
Reference value for the maximum allowed voltage used by the
'Verification Report' (only available if Show Verification Report is
selected).

22.3.6 Low Voltage Analysis


As explained in Sections 22.1.3 and 22.3.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 dialogue (i.e. globally), and in the load types’ dialogues (i.e. locally)
according to the settings defined below.

Definition of Fixed Load per Customer


The fixed load is the non-stochastic component of the load, which is not subject to coinci-
dence factors. The active and reactive power defined in this field, multiplied by the
number of customers (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: C.13
and C.14.

Definition of Variable Load per Customer


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 22.1.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 22.1.3.
For further information about LV loads please refer to the corresponding technical refer-
ences: C.13 and C.14.

22 - 14
DIgSILENT PowerFactory Load Flow Analysis

Note The factors defined in the section 'Definition of Variable Load


per Customer' are used as global data for the load flow calcula-
tion. 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.

Voltage Drop Analysis


For the consideration of the stochastic nature of loads, PowerFactory offers two calcu-
lation 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.

22.3.7 Advanced Simulation Options


This page, as shown in Figure 22.3, 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.

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

22 - 15
DIgSILENT PowerFactory Load Flow Analysis

Consider Protection Devices


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.
Ignore Composite Elements
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 between 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.

22.4 Troubleshooting Load Flow Calculations


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; i.e. 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. Error messages regarding these issues are printed to the output
window, listing the element and its associated error. These messages are interactive and
the user may:
• Right-click  Mark in Graphic to show the element on the single line graphic; or
• double-click on the description of the element (i.e. 'South Grid\MV-K6.ElmLne' in
the example below) to view the element dialogue.
In the following example the messages in the output window state that the line element
called 'MV-K6', which is found in the 'South Grid' folder, is missing type data.

DIgSI/wrng - Protection Devices are not considered.


DIgSI/err - 'South Grid\MV-K6.ElmLne':
DIgSI/err - missing type !
DIgSI/err - last command leads to error(s), see output window !
DIgSI/err - Error in load-flow data!
DIgSI/info - Load-flow calculation not executed
Once these errors have been corrected and the load flow still cannot be solved, use the
Show Verification Report and Show Convergence Progress Report options found in the
Outputs tab of the load flow dialogue (for further information on these options, see
Section 22.3.5). These will print messages to the output window and provide clues as to
where any problems may lie.
The graphic can also be colored to show low and high voltages and overloading. 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).

22 - 16
DIgSILENT PowerFactory Load Flow Analysis

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

If there is still no convergence then set the option Out of Service for most of the elements
(see each elements Basic Data tab). Following this, bring these elements back into
service, one at a time, from the source element 'downwards', performing a load flow
calculation each time.
When experiencing large unbalances, such as when there are a number of single or dual
phase elements, or when using power electronics elements, select the Newton-Raphson
(Current Iteration) option on the Advanced tab of the load flow dialogue.

22.5 Load Flow Sensitivities


PowerFactory’s Load Flow Sensitivities (ComVstab) command is shown in Figure 22.4.
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 22.5.3).
The ComVstab command is accessible by the following means:

• selecting the 'Additional Tools' icon ( ) for the toolbar (in PowerFactory’s main
icon bar) and then clicking on the ComVstab icon ( ); or
• right-clicking on a busbar/terminal or transformer and selecting Calculate --> Load
Flow Sensitivities... . In this case the command will be automatically set to calculate
the sensitivity to power injections/tap changes on the selected busbar/transformer.
The selected terminal/transformer will be automatically set in the Busbar (or
Transformer) reference.

22 - 17
DIgSILENT PowerFactory Load Flow Analysis

Fig. 22.4: Load Flow Sensitivities Command (ComVstab) Dialogue

22.5.1 Load Flow Sensitivities Options


The options available for the Load Flow Sensitivities command (Figure 22.4) 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
Diagonal Elements Only:
The effect of the injections of P and Q at each busbar are evaluated
for the busbar itself (effect on voltage magnitude  v i    P i  ,
 v i    Q i  , and on voltage angle   i    P i  ,   i    P i  for each
busbar) and the corresponding adjacent branches. In this mode, the
calculated sensitivities  P n    P i  ,  Q n    P i  ,  P n    Q i  , and
 Q n    Q i  in the branches (index n) always refer to derivations

22 - 18
DIgSILENT PowerFactory Load Flow Analysis

  P i and   Q i of the adjacent buses (index i). This means that


the sensitivities are calculated for all busbars and for all branches,
according to variations in power (P and Q) at the directly connected
busbars.
Sensitivity to a Single Busbar:
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.
Sensitivity to a Single Transformer Tap Position:
This option evaluates the effect of changing the tap position of a
selected transformer in the network. The sensitivities dP/dtap [MW/tap
step], dQ/dtap [Mvar/tap step] for branches, and dphi/dtap [deg/tap
step], dv/dtap [p.u./tap step] 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:
This option performs an eigenvalue calculation on the sensitivity matrix
as explained in Section 22.5.3. The number of eigenvalues to be
calculated is defined in the Number of Eigenvalues field at the bottom
of the dialogue. The eigenvalues are always calculated in order of their
largest magnitude, so selecting n eigenvalues will display the n
eigenvalues in descending order according to magnitude (note that the
larger the number of desired eigenvalues, the longer the calculation will
take).
In the Display Results for Mode field, the user can specify the number
of a specific eigenvalue, for which the stability behavior (i.e. the
eigenvectors and participation factors) is to be analyzed. The algorithm
then additionally calculates the  P    Q  ,  Q    Q  (branch
sensitivities) and the  v    Q  ,      Q  (bus sensitivities)
which correspond to the mode specified (see Section 22.5.3 for further
technical background).

22.5.2 Load Flow Sensitivities Execution and Results


When the ComVstab command has been configured and the Execute button has been
pressed, the program calculates several sensitivity factors such as  v i    P i  ,
 v i    Q i  ,   i    P i  ,   i    Q i  etc., according to the selected options, for buses
and branch elements.

22 - 19
DIgSILENT PowerFactory Load Flow Analysis

Upon completion of the sensitivity factor calculation, the following message appears in
the output window:

DIgSI/info - Load Flow Sensitivities calculated!

The calculated results can be displayed via the 'Flexible Data Page' (see Section 11.5) by
selecting the sensitivities from the load flow variables (Variable Set: 'Current, Voltages and
Powers'). The names of the variables correspond to the calculated derivations, i. e. the
result of the expression  v i    P i  is stored in the variable named dvdP; and likewise
the result of the expression   i    Q i  is stored in the variable dphidQ.
When the Modal Analysis option is selected, the calculated eigenvalues are displayed (in
descending order according to magnitude) in the output window. The eigenvectors and
participation factors can be displayed using the 'Flexible Data Page'.

22.5.3 Technical Background


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:

J P J Pv 
= P
(22.1) J Q J Pv v Q

The equation system in (22.1) shows that changes in the voltage magnitude and angle
due to small changes in the active and reactive power can be directly calculated from the
load flow Jacobian matrix. For example if P is set to 0, the sensitivities of the type dv/
dQ are calculated from (22.1) according to:
–1
(22.2) v = J̃ Qv Q = S vQ Q

where:
–1
(22.3) J̃ Qv = – J Q J P J Pv + J Qv

As can be seen from (22.2), the variation of voltage magnitude at each busbar can be
described by a linear combination of small reactive power variations according to:

(22.4) v i = S i1 Q 1 +  + S in Q n

In this case the diagonal elements Si1 of S represent the voltage variation at bus i due to
a variation of reactive power at the same point. The non-diagonal elements Sij describe
the voltage variation at busbar i due to the variation in reactive power at a different point
on the network.
Positive dv/dQ sensitivity indicates stable operation. High sensitivity means that even
small changes in reactive power cause large changes in the voltage magnitude; therefore
the more stable the system, the lower the sensitivity (high voltage sensitivities are indic-

22 - 20
DIgSILENT PowerFactory Load Flow Analysis

ative 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.

By applying a modal transformation to (22.2) the dV/dQ sensitivity can be expressed as


an uncoupled system of the form:

(22.5) –1
ṽ = T S vQ TQ̃ = S̃ vQ Q̃

where:

(22.6) v = Tṽ and Q = TQ̃

In (22.5), S̃ vQ is a diagonal matrix whose elements correspond to the eigenvalues of the


sensitivity matrix, SvQ, from (22.2). Therefore, the voltage variation at each mode
depends only on the reactive power variation at the same mode:

(22.7) ṽ i =  i Q̃ i

The eigenvalues i, which are real, provide the necessary information about the voltage
stability of the system. If i is positive, the modal voltage increase and the modal reactive
power variations are in the same direction and the system is therefore stable. The
magnitude of the eigenvalue indicates how far/close one voltage mode is to instability.
In (22.5), T= [1...n] corresponds to the matrix of right eigenvectors of SvQ, while T-1
corresponds to the left eigenvectors matrix:

T
1

T
–1
= 
(22.8) 
T
n

The participation factor of bus k to mode i is defined by the product of the kth component
of the left and right eigenvector of mode i:

(22.9) p ik =  ik  ik

The sum of the participation factors of all nodes corresponds to the scalar product of the
left and right eigenvector, and is therefore equal to one. In this sense, the participation
factor gives an indication of the extent of the influence the variation of active power on a

22 - 21
DIgSILENT PowerFactory Load Flow Analysis

node has on a voltage mode.

22 - 22
DIgSILENT PowerFactory Short-Circuit Analysis

Chapter 23
Short-Circuit Analysis

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 of purposes, PowerFactory supports different representations and calculation
methods for the analysis of short-circuit currents.
One application of short-circuit calculations is to check the ratings of network equipment
during the planning stage. In this case, the planner is interested in knowing the expected
maximum currents (for the correct sizing of components) and the minimum currents (to
design the protection scheme). Short-circuit calculations performed at the planning stage
commonly use calculation methods that require less detailed network modelling (i.e.
methods which do not require load information) and which will apply extreme-case esti-
mations. Examples of these methods include the IEC 60909/VDE 0102 method and the
ANSI method. A different field of application is the precise evaluation of the fault current
in a specific situation, i.e. to find out whether the malfunction of a protection device was
a relay failure or was the consequence of improper settings (i.e. 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.
This chapter presents the handling of the short-circuit calculation methods as implement-
ed in PowerFactory. Further background on this topic can be found in Section 23.1.

23.1 Technical Background


Apart from load-flow analysis, short-circuit analysis is the most frequently used calculation
function when dealing with electrical networks. It is used in system planning as well as
system operations (see Figure 23.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 23.1, and a graphical representation of
the short-circuit current time function is given in Figure 23.2.

23 - 1
DIgSILENT PowerFactory Short-Circuit Analysis

Fig. 23.1: Areas of Application of Short-Circuit Calculations

Fig. 23.2: Short-Circuit Current Time Function

Example applications of short-circuit analysis in system planning include:


• Ensuring that the defined short-circuit capacity of equipment is not exceeded with
system expansion and system strengthening.
• Co-ordination of protective equipment (fuses, over-current and distance relays).
• Dimensioning of earth grounding systems.
• Verification of sufficient fault level capacities at load points (e.g. uneven loads such as
arc furnaces, thyristor-driven variable speed drives or dispersed generation).
• Verification of admissible thermal limits of cables and transmission lines.
Example applications of short-circuit analysis in system operations include:
• Ensuring that short-circuit limits are not exceeded with system reconfiguration.

23 - 2
DIgSILENT PowerFactory Short-Circuit Analysis

• Determining protective relay settings as well as fuse sizing.


• Calculation of fault location for protective relays, which store fault disturbance
recordings.
• Analysis of system faults, e.g. misoperation of protection equipment.
• Analysis of possible mutual interference of parallel lines during system faults.
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
therefore estimations are necessary. To this end, the method which uses an equivalent
voltage source at the fault location has become generally accepted in Western Europe ac-
cording to IEC 909 (VDE 0102). A revised version of this was published as IEC 60909 in
July 2001. This method works independently of the load flow (operating point) of a sys-
tem. It is based on the nominal and/or calculated dimensions of the operating point of a
system and uses correction factors for voltages and impedances, to give conservative re-
sults. For the calculation of minimum and maximum short-circuit currents, different cor-
rection factors are applied. However, it should be mentioned that both IEC 60909 and
VDE 0102 do not deal with single phase elements (expect single phase elements in the
neutral conductor).
For short-circuit calculations in a system operation environment, the exact network oper-
ating conditions are well-known. If the accuracy of the calculation according to IEC 60909
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 net-
work 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.

23.1.1 The Complete Method


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 condition where all voltage supplies are set to zero and the negative operating volt-
age is connected at the fault location. The procedure is shown in Figure 23.3.
The initial point is the operating condition of the system before short-circuit inception (see
Figure 23.3a). This condition represents the excitation conditions of the generators, the
tap positions of regulated transformers and the breaker/switching status reflecting the op-
erational variation.
From these pre-fault conditions the pre-fault voltage of the faulted busbar can be calcu-
lated. For the pure fault condition the system condition is calculated for the situation
where, the negative pre-fault busbar voltage for the faulted bus is connected at the fault
location and all other sources/generators are set to zero (see Figure 23.3b).
Since network impedances are assumed to be linear, the system condition after fault in-
ception can be determined by overlaying (complex adding) both the pre-fault and pure
fault conditions (see Figure 23.3c).

23 - 3
DIgSILENT PowerFactory Short-Circuit Analysis

Fig. 23.3: Illustration of the Complete Method

The Complete Method for calculating short-circuits has been improved in PowerFactory
Version 14 as described below. Additionally, the quantities described below are shown in
Figure 23.1.
• A more precise Peak Short-Circuit Current ip is calculated based on the accurate
subtransient short-circuit current (which is calculated using the complete method) and
the R/X ratio (which is based on the IEC 60909 standard);
• The 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
breaking 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 23.1). The n-factor calculation uses
the transient current instead of the steady-state current;

23 - 4
DIgSILENT PowerFactory Short-Circuit Analysis

• Additionally, loads can have a contribution to the short-circuit current, which can be
defined in the load element (Fault Contribution section of Complete Short-Circuit tab).

23.1.2 The IEC 60909/VDE 0102 Method


The IEC 60909/VDE 0102 method uses an equivalent voltage source at the faulted bus
and is a simplification of the superposition method. It is illustrated in Figure 23.4.
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 23.4 illustrates how the equivalent voltage source method
can be derived from the superposition method. The main simplifications in comparison to
the superposition method are as follows:
• Nominal conditions are assumed for the whole network, i.e. Ui = Un,i.
• Load currents are neglected, i.e. IOp = 0.
• A simplified simulation network is used, i.e. loads are not considered in the positive
and negative sequence network.
• To ensure that the results are conservatively estimated, a correction factor, c, is
applied to the voltage at the faulted busbar. This factor differs for the calculation of
the maximum and the minimum short-circuit currents of a network.
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 and VDE 0102 do not deal with single phase
elements (expect single phase elements in the neutral conductor).

23 - 5
DIgSILENT PowerFactory Short-Circuit Analysis

Fig. 23.4: Illustration of the IEC 60909/VDE 0102 Method

The IEC Impedance Correction Factors


The IEC method uses only the rated parameters of network elements. This is advanta-
geous in that only little information is necessary to perform a short-circuit calculation.
However, considering 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 cor-
rection factor (< 1).
This idea is illustrated in Figure 23.5. 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 el-
ement type.

23 - 6
DIgSILENT PowerFactory Short-Circuit Analysis

Fig. 23.5: Principle of Impedance Correction (IEC/VDE Method)

As the IEC standard includes a worst-case estimation for minimum and maximum short-
circuit currents, some PowerFactory elements require additional data. These elements
are:
Lines
In their type, the maximum admissible conductor temperature (for
minimum short-circuit currents) must be stated. Line capacitances are
not considered in the positive/negative sequence systems, but must be
used in the zero-sequence system.
Transformers
Require a flag indicating whether they are unit or network
transformers. Network transformers may be assigned additional
information about operational limits which are used for a more precise
calculation of the impedance correction factor. Unit transformers are
treated differently depending on whether they have an on-load or a no-
load tap changer.
Synchronous Machines
Subtransient impedances are used. Additionally, information regarding
the voltage range must be given.
Asynchronous Machines
The ratio of starting current to rated current is used to determine the
short-circuit impedance.
Please refer to the IEC 60909 standard to find detailed information regarding specific
equipment models and correction factors for each element.

23.2 Executing Short-Circuit Calculations


There are different methods of initiating the short-circuit calculation command (ComShc)
in PowerFactory, which may result in a different configuration of the command. These
methods are described in Sections 23.2.1 and 23.2.2.

23.2.1 Toolbar/Main Menu Execution


The short-circuit command may be executed from the toolbar or main menu in Power-
Factory as follows:

23 - 7
DIgSILENT PowerFactory Short-Circuit Analysis

• By pressing the icon on the main toolbar; or


• By selecting the Calculation -> Short-Circuit ... option from the main menu.
In both of these cases, the short-circuit command will be configured in an identical man-
ner. If no short-circuit command already exists in the active study case, the command will
by default execute a short-circuit calculation on all busbars/terminals in the network. If a
short-circuit calculation does already exist in the active study case, the above mentioned
means of executing the calculation will cause the calculation to execute using its most re-
cent configuration.

23.2.2 Context-Sensitive Menu Execution


The short-circuit command may be executed from the context-sensitive menu in Power-
Factory by selecting an element(s) in the single-line diagram, right-clicking and selecting
one of the following options:
• Calculate... Short-Circuit: performs a short-circuit calculation for each element
selected by the user. It should be noted that the short-circuit calculation for each
element is carried out completely independently of the short-circuit calculation for
each other element. For this calculation, only the following combinations of elements
may be selected:
- Single or multiple terminals/busbars; or
- 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
complete 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 calculation. 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.

23.2.3 Faults on Busbars/Terminals


The short-circuit command should first be called using one of the methods described in
Sections 23.2.1 and 23.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 op-
tion All Busbars (or alternatively, Busbars and Junction/Internal Nodes) in the Fault Loca-
tion section of the Short-Circuit Calculation (ComShc) dialogue, as displayed in Figure
23.6. Note that to access this option, Multiple Faults in the dialogue must be unticked.

Fig. 23.6: Short-Circuit Calculation Command (ComShc) Dialogue: Faults at All


Busbars

23 - 8
DIgSILENT PowerFactory Short-Circuit Analysis

If the user would instead like to select from the single-line diagram a single busbar/ter-
minal, or multi-select several busbars/terminals for calculation, the dialogue will be con-
figured as follows:
• When only a single busbar/terminal is selected, and Calculate  Short-Circuit is
chosen from the context-sensitive menu, the Fault Location reference (bottom of
dialogue) is set to the selected element.
• When two or more busbars/terminals are selected and Calculate  Short-Circuit is
chosen from the context-sensitive menu, the Fault Location reference (bottom of
dialogue) is set to a so-called "Selection Set'' (SetSelect) object, which contains a list
of references to the selected busbars/terminals.
In either case, various options for the calculation can be modified. Please refer to Section
23.3 for a detailed description of the options available. It should be noted that selecting
or deselecting the option Multiple Faults may change the selection of fault locations and
may therefore lead to a calculation for locations other than the busbars/terminals selected
in the single line graphic. After pressing the Execute button, the calculation is executed
and, if successful, the results are displayed in the single line graphic. In addition, a result
report is available and may be printed out.
Once a selection of fault locations is made and the short-circuit calculation is performed,
it is simple to execute further calculations based on the same selection of elements. This
can be done by the following alternative means of executing the short-circuit calculation
command:

• By pressing the icon on the main toolbar; or


• 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.

23.2.4 Faults on Lines and Branches


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:
• In the single-line diagram, select a single line or a single branch where the fault
should be modeled.
• 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 element’s length (see Figure 23.7), including which terminal the
fault distance 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.

23 - 9
DIgSILENT PowerFactory Short-Circuit Analysis

Fig. 23.7: Configuration of Line/Branch Faults in ComShc Dialogue

When a fault on a line/branch is calculated, a box containing the calculation results is dis-
played next to the selected element.

23.2.5 Multiple Faults Calculation


Multiple faults involve the simultaneous occurrence of more than one fault condition in a
network. 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,
displaying the short-circuit event list. A 3-phase fault is assumed 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.
• Next, the event list has to be adapted to reflect the intended fault conditions. This is
described in detail below.
• Finally, press Execute to start the calculation.
The short-circuit event list is a special case of the general event list, which contains the
event definitions for dynamic simulations. To edit the list of events (short-circuits at se-
lected locations), 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
button next to Short-Circuits. To access the events stored within this object,
press Contents (see Figure 23.8); or

- Press the icon on the main toolbar; or


- In a Data Manager window open the IntEvshc object from the current study case,
also denoted by the icon.

23 - 10
DIgSILENT PowerFactory Short-Circuit Analysis

Fig. 23.8: Accessing the Short-Circuit Events List

• A window opens up which shows the list of events (i.e. short-circuits at the selected
locations). When double-clicking on one entry in this list (i.e. its entire row), a window
with a description of the event is opened.
• The short-circuit event settings can now be modified. The list of fault locations
consists of a "Short-Circuit Event List'' (IntEvtshc) object, which holds one or more
short-circuit events (EvtShc). Each of these events has a reference to a fault location
(a busbar/terminal, line, etc) and displays a short description of the fault type. An
example is shown in Figure 23.9.

Fig. 23.9: A Short-Circuit Event (EvtShc)

Note To re-use the event list (IntEvtshc) later, this object can be copied
to a user-defined folder in the Data Manager. This will prevent it
from being modified during future calculations. When repeating
the calculation with the same configuration, the reference in Cal-
culate -> Multiple Faults can be set to this object.

23 - 11
DIgSILENT PowerFactory Short-Circuit Analysis

23.3 Short-Circuit Calculation Options


The following sections describe the options available in PowerFactory’s short-circuit cal-
culation command. Some of these options are dependent upon the selected calculation
method, therefore separate sections dedicated to each method are presented.

23.3.1 Basic Options (All Methods)


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.

Fig. 23.10: IEC Calculation - Basic Options

An example of the short-circuit command dialogue is shown in Figure 23.10 (IEC calcula-
tion in this case). The sections of the dialogue which are common to all calculation meth-
ods are:

Method
PowerFactory provides the following calculation methods for short-circuit calculation:
• according to VDE 0102/0103 (the German VDE standard);
• according to IEC 60909 (the International IEC standard);
• according to ANSI (the American ANSI/IEEE C37 standard);

23 - 12
DIgSILENT PowerFactory Short-Circuit Analysis

• complete (superposition method which considers the pre-fault load-flow results (see
Section 23.1.1));
• according to IEC 61363.
The specific options for each of these methods are available on the Advanced Options tab
of the short-circuit command (ComShc) dialogue.

Fault Type
The following fault types are available:
• 3-Phase Short-Circuit
• 2-Phase Short-Circuit
• Single Phase to Ground
• 2-Phase to Ground
• 1-Phase to Neutral
• 1-Phase Neutral to Ground
• 2-Phase to Neutral
• 2-Phase Neutral to Ground
• 3-Phase to Neutral
• 3-Phase Neutral to Ground
• 3-Phase Short-Circuit (unbal.)
The fault types with a neutral conductor should only be used for lines which are modeled
using neutral conductors.

Fault Impedance
The fault impedance corresponds to the reactance and the resistance of the fault itself
(i.e. the impedance of the arc or of the shortening path). This can be defined by means
of an enhanced model, where line to line (Xf(L-L), Rf(L-L)) and line to earth (Xf(L-E), Rf(L-
E)) impedances are regarded (note: requires option Enhanced Fault Impedance to be en-
abled). If the option Enhanced Fault Impedance is not enabled, fault impedances are de-
fined by their equivalent values, Xf and Rf.
Figures 23.11 to 23.13 illustrate the differences between the enhanced and the simplified
representation of fault impedances for the following fault types: (i) 3-phase short-circuits;
(ii) 2-phase faults to ground; and (iii) 2-phase faults.

23 - 13
DIgSILENT PowerFactory Short-Circuit Analysis

Fig. 23.11: Fault Impedance Definition: 3-Phase Short-Circuit

Fig. 23.12: Fault Impedance Definition: 2-Phase to Ground Fault

Fig. 23.13: Fault Impedance Definition: 2-Phase Fault

23 - 14
DIgSILENT PowerFactory Short-Circuit Analysis

Output
A textual report is automatically written to PowerFactory’s output window when the On
option in the Output section of the dialogue is enabled. The command which generates
this report is displayed in blue text next to the Command button . The user can click
on this button to select which type of report will be printed out. Immediately below the
Command button, blue text informs the user of the currently-selected report type.

Fault Location
The fault location selection options are:
At User Selection:
In this case a reference to a single terminal/busbar/line/branch or to a
selection of busbars/terminals (SetSelect), as explained in Sections
23.2.3 and 23.2.4 must be given.
At Busbars and Junctions/Internal Nodes:
For every terminal (ElmTerm) in the network, a short-circuit
calculation is carried out, independently (i.e. one after the other).
At All Busbars:
For every terminal (ElmTerm) in the network whose Usage is set to
Busbar (see Section 7.3.2), a short-circuit calculation is carried out,
independently (i.e. one after the other).
If the option Multiple Faults has been ticked when the Complete Method is being used, a
reference to a set of fault objects (IntEvtshc), as explained in Section 23.2.5, must be
set. This is done in the Fault Location section of the dialogue; using the Short Circuits ref-
erence.

Note: Multiple faults will only be calculated for the 'Complete Method',
when the option 'Multiple Faults' is enabled. When this option is en-
abled, a short-circuit calculation is carried out for each individual
fault location, simultaneously. When this option is disabled, cases
where more than one fault location have been selected (i.e. several
busbars/terminals), a sequence of short-circuit calculations is per-
formed (i.e. each short-circuit calculation is carried out indepen-
dently of each other short-circuit calculation).

23.3.2 Verification
When enabled, the Verification option will write a loading report to the output window.
This report shows the various maximum and calculated currents for rated devices. Rated
devices include, for instance:
• Lines which have a rated short-time current in their line type which is greater than
zero; and
• Breakers or coupling switches which have a type with a valid rated current.

23 - 15
DIgSILENT PowerFactory Short-Circuit Analysis

23.3.3 Basic Options (IEC 60909/VDE 0102 Method)


The Basic Options tab of the Short-Circuit Calculation dialogue is shown in the previous
section in Figure 23.10.
In general, please note that the calculation according to IEC 60909 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 con-
sidered 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 stan-
dard to be used can be selected according to the year in which it was issued. The most
recent standard is 2001, however 1990 is still available for the verification of documented
results.

Calculate
The drop-down list offers the choice between the minimal or maximal short-circuit cur-
rent.

Max. Voltage tolerance for LV systems


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

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

Note: The fields 'Method', 'Fault Type', 'Fault Impedance', 'Output' and
'Fault Location' are described in Section 23.3.1.

23 - 16
DIgSILENT PowerFactory Short-Circuit Analysis

23.3.4 Advanced Options (IEC 60909/VDE 0102 Method)

Fig. 23.14: IEC calculation - Advanced Options

Generally, the Advanced Options tab (shown in Figure 23.14) is used for settings to tune
the various short-circuit calculation methods. Familiarization with the IEC/VDE standard
before modifying these options is strongly recommended.

Grid Identification
The calculation of the factor kappa is different in the cases of meshed or radial feeding of
the short-circuit. Normally PowerFactory will automatically find the appropriate setting.
The option Always meshed will force a meshed grid approach.

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

Asynchronous Motors
Whether the calculation considers the influence of asynchronous motors on short-circuit
currents depends on this setting, which may be Always Considered, Automatic Neglection,

23 - 17
DIgSILENT PowerFactory Short-Circuit Analysis

or Confirmation of Neglection.

Conductor Temperature
When activating the User-Defined option, the initial (pre-fault) conductor temperature can
be set manually. This will influence the calculated maximum temperature of the conduc-
tors, as caused by the short-circuit currents.

Decaying Aperiodic Component


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' can be selected.
The following nomenclature is used:
Tb Breaker Time (see Short-Circuit command)
fn Nominal frequency
Ik" Initial short-circuit current
Method B: Uses the complex calculated equivalent impedance of the network
with a security factor of 1.15:

R
–   T b  ----
i DC = 2  I k  e X

Method C: Uses the R/X ratio calculated with the equivalent frequency method.
The equivalent frequency is dependent on the breaking time (see Table
23.1). This method is recommended for maximum accuracy.

fn * Tb <1 < 2.5 <5 < 12.5

fc / fn 0.27 0.15 0.092 0.055

Table 23.1: Breaking Times

R
–   T b  -----f
i DC = 2  I k  e Xf 

R Rc fc
------f = ------  -----------
Xf X c f nom
The ratio Rc/Xc is the equivalent impedance calculated at the frequency
given by:
fc
f c = -----------  f nom
f nom

23 - 18
DIgSILENT PowerFactory Short-Circuit Analysis

Method C': Uses the R/X ratio as for the peak short-circuit current, thus selecting
the ratio fc/fn = 0.4. This option speeds up the calculation, as no
additional equivalent impedance needs to be calculated.

Peak Short-Circuit Current (Meshed network)


In accordance with the IEC/VDE standard, the following methods for calculating kappa
can be selected:
Method B': Uses the ratio R/X at the short-circuit location.
Method C(1):
Uses the ratio R/X calculated at a virtual frequency of 40% of nominal
frequency (20 Hz for fn = 50 Hz, or 24 Hz for fn=60 Hz), based on the
short-circuit impedance in the positive sequence system.
Method (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
asynchronous machines:
Without Motors
Will disconnect all asynchronous motors before calculating the current
Ik.
DIgSILENT Method
Considers all asynchronous motors according to their breaker current.
The breaker opens after the maximum possible time.
Ignore Motor Contributions
Considers asynchronous motor impedances during the calculation, but
will reduce the calculated results for motor contributions.

Consider Protection Devices


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.

Calculate max. Branch Currents = Busbar Currents


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

23 - 19
DIgSILENT PowerFactory Short-Circuit Analysis

Automatic Power Station Unit detection


The IEC/VDE standard forces a different impedance correction factor to be applied to sep-
arate generators and transformers than that applied to a unit/block (power station) con-
sisting of a generator including its step-up transformer. PowerFactory tries to detect
power stations. When this option is disabled, block transformers must be marked accord-
ingly by setting the Unit Transformer option available in the VDE/IEC Short-Circuit tab of
the transformer element dialogue.

23.3.5 Basic Options (ANSI C37 Method)

Fig. 23.15: ANSI calculation - Basic Options

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

Consider Transformer Taps


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

23 - 20
DIgSILENT PowerFactory Short-Circuit Analysis

NACD Mode
The NACD factor is the ratio of remote current contribution to the total fault current: NACD
= Iremote/Ifault. This NACD factor is used to calculate the breaker currents, including the
DC component of the current. The remote current contribution required to evaluate the
NACD factor is the sum of all remote generator contributions (induction generators, syn-
chronous machines, and external grids).
The calculation of the NACD factor can be very time consuming, as the contribution of
each generator is calculated individually. Therefore, different approximation methods can
be selected, which represent the most common interpretations of the ANSI standard:
Interpolated The NACD factor is calculated, and the correction factor for the
asymmetrical fault current is interpolated between the "dc decay only"
and "AC/DC decay" curves with the following equation:
MF = AC/DC factor + (DC factor - AC/DC factor)*NACD
If (NACD = 1) then only the DC factor is used; if (NACD = 0) then only
the AC/DC factor is used.
Predominant The the NACD factor is calculated. If the resulting factor is greater than
or equal to 0.5, then the "dc decay only'' curve is used, which means
that the remote generation is higher than the local generation.
All Remote All contributions are set to ‘remote’; the NACD factor is not calculated,
but assumed equal to 1 and only the "dc decay only'' curve is used.
All Local All contributions are set to ‘local’; the NACD factor is not calculated, but
assumed equal to 0 and only the "AC/DC decay" curve is used.

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

Note: The fields 'Method', 'Fault Type', 'Fault Impedance', 'Output' and
'Fault Location' are described in Section 23.3.1.

23 - 21
DIgSILENT PowerFactory Short-Circuit Analysis

23.3.6 Advanced Options (ANSI C37 Method)

Fig. 23.16: ANSI Calculation - Advanced Options

Calculate
This option is used to select the various currents (according to the ANSI standard) which
are to be calculated. The options are as follows:
• Momentary Current
• Interrupting Current
• 30 Cycle Current
• Low-Voltage Current

Bypass Series Capacitance


Series capacitances may be optionally bypassed for the ANSI short-circuit calculation. Al-
ternatively, they may be not bypassed, always bypassed/neglected or this option may be
set depending on the type of short-circuit being calculated.
The options are as follows:
• No Bypassing
• All Currents
• LV & Interrupting & 30 Cycle Current
• 30 Cycle Currents

23 - 22
DIgSILENT PowerFactory Short-Circuit Analysis

X/R Calculation
The user may select between a complex number R/X ratio calculation, or a calculation
which considers R and X separately.

Consider Protection Devices


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 dis-
abled when protection devices do not need to be analyzed.

Calculate max. Branch Currents = Busbar Currents


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

23.3.7 Basic Options (Complete Method)

Fig. 23.17: Complete Method - Basic Options

23 - 23
DIgSILENT PowerFactory Short-Circuit Analysis

As opposed to the calculation methods according to IEC/VDE and ANSI, which represent
short-circuit currents by approximations, the complete method evaluates currents without
using approximations. This accurate evaluation of the currents takes into account the sys-
tem conditions immediately prior to the onset of the fault.

Load Flow
The pre-fault system condition used by the complete method can be determined either
by the evaluation of a load flow, or by means of a simplified method, which initializes the
internal voltages of all components that contribute to the short-circuit current with their
nominal values, multiplied by a scalar factor, c.
The load flow command used to initialize the short-circuit calculation (when Load Flow
Initialization on the Advanced Options tab is selected, see Section 23.3.8) is displayed
next to the button labelled Load Flow ( ). The load flow command can be accessed and
modified by pressing this button . The load flow command displayed here is initially
taken from the currently active study case.

Short-Circuit Duration
The value for the Break Time (Global) is used to calculate the breaking current of circuit
breakers. Depending on the user selection, the value used for the break time within the
calculation is:
global
The Break Time (Global) defined in the short-circuit command.
min. of local
The shortest Break Time of all circuit breakers (defined in the Complete
Short-Circuit tab of ElmCoup objects) connected to the busbars being
studied.
local
For each connected circuit-breaker, its own Break Time (defined in the
Complete Short-Circuit tab of ElmCoup objects) is used for the
calculation of the breaking current, however for busbar results, the
fastest of these Break Times is used.

Note: The fields 'Method', 'Fault Type', 'Fault Impedance', 'Output' and
'Fault Location' are described in Section 23.3.1.

23 - 24
DIgSILENT PowerFactory Short-Circuit Analysis

23.3.8 Advanced Options (Complete Method)

Fig. 23.18: Complete Method - Advanced Options

Initialisation
The user may select to initialize the complete method by one of the following options:
• the load flow calculation referred to in the Load Flow field of the Basic Options tab; or
• the nominal voltages with a user-defined correction factor (c-Factor). It should be
noted that this option is only available in the dialogue when Load Flow Initialisation is
unticked.

Peak, DC Currents, R/X ratio (ip,ib,idc)


This option allows the definition of the method used to determine the factor kappa ()
and the R/X_b 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/X_p for the calculation of , and R/X_b) are equal.

23 - 25
DIgSILENT PowerFactory Short-Circuit Analysis

C(1)
For , the ratio R/X_p calculated at a virtual frequency of 40% (based
on the short-circuit impedance in the positive sequence system) is
used. The R/X_b ratio is calculated according to the equivalent
frequency method, considering the breaking time and the positive
sequence impedance (as for Method C from the IEC standard, however
it should be noted that the IEC correction factors are not considered).
C(012)
Like C(1) described directly above, but uses the correct short-circuit
impedance based on the positive-, negative- and zero-sequence
system.

Consider Protection Devices


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

Calculate max. Branch Currents = Busbar Currents


This option is used to check the rating of the circuit breakers against the system breaker
currents. Normally the breaker currents are calculated as max{Ibus-Ibranch, Ibranch}. If this
option is activated, the busbar short-circuit current is used as the breaker current, which
is an over-estimation of the currents.
Overhead Line Modelling: Phase Matrices
For the unbalanced short-circuit calculation, PowerFactory always uses the phase com-
ponent 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 trans-
posed phase matrix for untransposed lines.

23.3.9 Basic Options / Advanced Options (IEC 61363)


For detailed information about the IEC 61363 method and its options, please open the
Technical Reference Paper.

23 - 26
DIgSILENT PowerFactory Harmonics Analysis

Chapter 24
Harmonics Analysis

One of several aspects of power quality is the harmonic content of voltages and currents.
Harmonics can be analyzed in either the frequency domain, or in the time-domain with
post-processing using Fourier Analysis. The PowerFactory harmonics functions allow
the analysis of harmonics in the frequency domain.
Two different functions are provided by PowerFactory:
• Harmonic Load Flow
• Frequency Sweep
PowerFactory’s harmonic load flow calculates actual harmonic indices related to voltage
or current distortion, and harmonic losses caused by harmonic sources (usually non-linear
loads such as current converters). Harmonic sources can be defined by a harmonic current
or a harmonic voltage spectrum. In the harmonic load flow calculation, PowerFactory
carries out a steady-state network analysis at each frequency at which harmonic sources
are defined.
A special application of the harmonic load flow is the analysis of ripple-control signals. For
this application, a harmonic load flow can be calculated at one specific frequency only. In
contrast to the harmonic load flow, PowerFactory’s frequency sweep performs a contin-
uous frequency domain analysis. A typical application of the frequency sweep function is
the calculation of network impedances. The result of this calculation facilitates the iden-
tification of series and parallel resonances in the network.
These resonance points can identify the frequencies at which harmonic currents cause low
or high harmonic voltages. Network impedances are of particular importance for applica-
tions such as filter design.
PowerFactory provides a toolbar for accessing the different harmonic analysis com-
mands. This toolbar can be displayed (if not already active) by selecting the Harmonics
icon ( ) on the main toolbar. The harmonics toolbar provides two icons to open pre-
configured command dialogues for the two different calculations:

• : Calculate Harmonic Load Flow

• : Calculate Impedance Frequency Characteristics (Frequency Sweep)


The command dialogues can be also accessed through the main menu by selecting:
• Calculation  Harmonics  Voltage/Current Distribution...; or
• Calculation  Harmonics  Impedance Frequency Characteristic... .
Additionally, following the calculation of a harmonic load flow, a third icon on this toolbar
is activated. The icon is used to open the Filter Analysis (ComSh) command dia-
logue. The Filter Analysis command analyzes results from the most recent harmonic load

24 - 1
DIgSILENT PowerFactory Harmonics Analysis

flow calculation and outputs results to PowerFactory’s output window.


All functions and their usage are described in this chapter.

24.1 Harmonic Load Flow


To calculate a harmonic load flow, click on the icon to open the dialogue for the Com-
Hldf command as shown in Figure 24.1.

Fig. 24.1: Harmonic Load Flow Command (ComHldf )

For a detailed description of the harmonic calculations, refer to the Section 24.4 (Model-
ling 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.

24.1.1 Basic Options


Network Representation
Calculate

Network Representation
Balanced
In the case of a symmetrical network and balanced harmonic sources,
characteristic harmonics either appear in the negative sequence
component (5th, 11th, 19th, etc.), or in the positive sequence

24 - 2
DIgSILENT PowerFactory Harmonics Analysis

component. Hence, at all frequencies a single-phase equivalent


(positive or negative sequence) can be used for the analysis.
Unbalanced, 3 Phase (ABC)
For analyzing non-characteristic harmonics (3rd-order, even-order,
inter-harmonics), or harmonics in non-symmetrical networks, the
Unbalanced option for modelling the network in the phase-domain
should be selected.

Calculate
Single Frequency
Selecting this option will perform a single harmonic load flow
calculation at the given Output Frequency (parameter name: fshow) or
at the given harmonic order. A common application for this mode is the
analysis of ripple control systems. The results of the analysis are shown
in the single line diagram, in the same way as for a normal load flow at
the fundamental frequency.
All Frequencies
Selecting this option will perform harmonic load flow calculations for all
frequencies for which harmonic sources are defined. These frequencies
are gathered automatically prior to the calculation. The results are
stored in a result file, which can be used to create harmonic bar graphs
(see also Section 20.1.2 (Plots)).

Nominal Frequency, Output Frequency, Harmonic Order


Nominal Frequency
PowerFactory can only calculate 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 case of a
Single Frequency calculation, this is the frequency for which a harmonic
load flow is calculated. When option All Frequencies is selected, only
the display of results in the single line diagram is influenced by this
input parameter, not the calculation itself. In this case, the results
displayed in the single line diagram are for the defined Output
Frequency.
Harmonic Order
This is used to check or to alter the Output Frequency. It 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.

Result Variables and Load Flow


Result Variables
This option is used to select the target result object for storing the
results of the harmonic frequency sweep. See Section 24.5 (Definition

24 - 3
DIgSILENT PowerFactory Harmonics Analysis

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.

24.1.2 Advanced Options


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 defined by DIN
standards.

24.2 Frequency Sweep


To calculate frequency dependent impedances, the impedance characteristic can be com-
puted for a given frequency range using ComFsweep. This function is available by click-
ing on the icon.
The harmonic frequency sweep command is shown in Figure 24.2.

Fig. 24.2: Harmonic Frequency Sweep Command (ComFsweep)

Harmonic analysis by frequency sweep is normally used for analyzing self- and mutual-

24 - 4
DIgSILENT PowerFactory Harmonics Analysis

network impedances.
However, it should be noted that not only self- and mutual-impedances can be analyzed
and shown. The voltage source models available in PowerFactory allow the definition
of any spectral density function. Hence, impulse or step responses of any variable can be
calculated in the frequency domain. One common application is the analysis of series res-
onance problems.
The following sections describe the options available for the harmonic frequency sweep
calculation.

24.2.1 Basic Options

Network Representation
Balanced, positive sequence
This option uses a single-phase, positive sequence network
representation, valid for balanced symmetrical networks. A balanced
representation of unbalanced objects is used.
Unbalanced, 3 Phase (ABC)
This option uses a full multiple-phase, unbalanced network
representation.

Impedance Calculation
The frequency sweep will be performed for the frequency range defined by the Start Fre-
quency and the Stop Frequency, using the given Step Size.
An option is available which allows an adaptive step size. Enabling this option will normally
speed up the calculation, and enhance the level of detail in the results by automatically
using a smaller step size when required. The settings for step size adaptation can be
changed on the Advanced Options tab.

Nominal Frequency, Output Frequency, Frequency Sweep


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 used to check or to alter the output frequency. It is the harmonic
order equivalent of the Output Frequency. The Harmonic Order
multiplied by the Nominal Frequency always equals the Output
Frequency. Both floating-point and integer values are valid.

24 - 5
DIgSILENT PowerFactory Harmonics Analysis

Result Variables and Load Flow


Result Variables
Used to select the result object which will store the results of the
harmonic frequency sweep. See Section 24.5 (Definition of Result
Variables) for more information about 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.

24.2.2 Advanced Options


Selecting the option Automatic Step Size Adaptation on the Basic Data tab of the ComF-
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 according 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 considerably 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 described below:
errmax Maximum Prediction Error (typical value: 0.01)
errinc Minimum Prediction Error (typical value: 0.005)
ninc Step Size Increase Delay (typically 10 frequency steps)

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 harmonic calculation, the equivalent imped-
ance is calculated for all nodes.

24.3 Filter Analysis


The Filter Analysis command is a special form of the Output of Results command (Com-
Sh). It is used to analyze the results from the previous harmonic load flow and to output
results to the PowerFactory output window. It outputs a summary of the harmonics for
the terminals/busbars and branch elements at a specified frequency, which is specified in
the Output Frequency field of the ComHldf command. It also reports the parameters and
different variables for the installed filters.

The filter analysis report generator can be activated using the icon or by using the
Output Calculation Analysis icon from the main menu (see also Section 20.2.5: Out-
put of Results). This will open the same dialogue as that used for the reporting of har-
monic results, as displayed in Figure 24.3.

24 - 6
DIgSILENT PowerFactory Harmonics Analysis

In the dialogue, the Output Frequency specified in the harmonic load flow command is
displayed in red text (see top of dialogue in Figure 24.3). There are four different reports
to choose from:
Busbars and Branches
This displays the results of the harmonic load flow for all node and
branch elements in the network. The distortion for various electrical
variables is printed and summarized.
Busbars/Terminals
For the electrical nodes, the rated voltage, the voltage at the
calculation frequency, as well as RMS values and distortion at the nodes
are displayed.
Filter Layout The filter layout of all active filters in the network is calculated for the
given frequency. The rated values and impedances of the filter as well
as the type and vector group are printed to the output window.
Additionally, the currents through the different components and the
losses are shown.
Filter Results
The filter results show the main layout of all filters in the network for
the calculation frequency. For a set of frequencies, the voltages and
currents through the filter are tabulated.

Fig. 24.3: Filter Analysis Report Command (ComSh) Dialogue

The default format used for the report in the output window is defined in the Used Format
section of the dialogue and can be set or changed by clicking on the Filter Layout button
( ).

24 - 7
DIgSILENT PowerFactory Harmonics Analysis

24.4 Modelling Harmonic Sources


Every switched device produces harmonics and must therefore be modelled as a harmonic
source. In PowerFactory, harmonic sources can be both current or voltage sources.
The following models can generate harmonics:
• General loads, if they are modelled as a current source (which can be defined in the
load type);
• Thyristor rectifiers;
• PWM-converters, which are generally modelled as a harmonic voltage source;
• Voltage sources, which may also be used for ripple control applications;
• Current sources, with a user-defined spectrum of harmonic injections.
The spectrum of harmonic infeeds must be defined using the Harmonic Sources type ob-
ject (TypHmcCur). The spectrum may be entered according to one of two options: bal-
anced or unbalanced (shown in Figures 24.4 and 24.5, respectively). This 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 example, use the same
TypHmcCur object. Note that PowerFactory has no corresponding element for this
type.

Fig. 24.4: Balanced Harmonic Source Type (TypHmccur)

24 - 8
DIgSILENT PowerFactory Harmonics Analysis

Fig. 24.5: Unbalanced Harmonic Source Type (TypHmccur)

The spectrum object is independent of the whether the harmonic source is either a volt-
age source or a current source. The decision as to whether harmonic sources are fed into
the system as harmonic voltages or as harmonic currents is made exclusively by the ele-
ment to which the spectrum type is associated.

24.4.1 Harmonic Distortion Results


The harmonic distortion of a current or of a voltage can be quantified in terms of the Har-
monic Distortion (HD), as described by (24.1). To describe the overall distortion, the Total
Harmonic Distortion index THD (see (24.2)) has been introduced. An alternative, less
common index is the Total Arithmetic Distortion TAD (see (24.3)). All distortion indices are
described by their equations (below) for the current, but may be similarly described for
voltage distortion.

I  fi 
Eqn 24.1: HD I  f i  = --------------
I  f1 

1 2 2
Eqn 24.2: THD I = --------  I RMS – I  f 1  (Total Harmonic Distortion)
I ref

1
Eqn 24.3: TAD I = --------   I A – I  f 1   (Total Arithmetic Distortion)
I ref

where
I(fi) Component of the current at frequency fi

24 - 9
DIgSILENT PowerFactory Harmonics Analysis

Iref Reference value for the current


n
2
Eqn 24.4: I RMS =  I  f i  (Total RMS value)
i=1
n
Eqn 24.5: I A =  I  f i  (Arithmetic Sum value)
i=1
The reference value Iref depends on the standard used. The two possible options are the
calculation according to DIN (24.6) and according to IEEE (24.7), as presented below:
Eqn 24.6: I ref DIN = I RMS (DIN Standard)

Eqn 24.7: I ref IEEE = I  f 1  (IEEE Standard).


Another value which may be of importance is the Total Power (see (24.8)), which de-
scribes the power absorbed over all frequency components:
n
Eqn 24.8: P tot =  P  fi  (Total Power)
i=1

24 - 10
DIgSILENT PowerFactory Harmonics Analysis

24.4.2 Magnitudes and Phase values


The quantities of the spectrum type are rated to current/voltage at the fundamental fre-
quency in the balanced case. Hence, in the case of a harmonic current source, the actual
harmonic current at frequency fh is calculated by:

 h 1
Ih = kh  e  I1  e

where


 Ih  I1 if balanced

 I ah  I a1 if unbalanced phase a
kh = 
 I bh  I b1 if unbalanced phase b

 I ch  I c1 if unbalanced phase c


 h – 1 if balanced

  ah –  a1 if unbalanced phase a
 h = 
  bh –  b1 if unbalanced phase b

  ch –  c1 if unbalanced phase c

The values at the fundamental frequency, I1 and 1, are taken from a preceding load flow
calculation. A normal load flow calculation is therefore required prior to a harmonic load
flow calculation.
In case of balanced systems in which only characteristic harmonics of orders 5, 7, 11, 13,
17, etc. occur, the option Balanced should be selected in the Balanced/Unbalanced Sourc-
es section (as shown in Figure Balanced Harmonic Source Type (TypHmccur)). In this con-
text, Balanced refers to characteristic harmonics. In the balanced case, the harmonic
frequencies are determined by the program (note that in the unbalanced case, the har-
monic frequencies can be freely-defined).
For harmonic sources which produce non-characteristic, unbalanced or inter-harmonics,
the option Unbalanced should be set in the Balanced/Unbalanced Sources section. In the
Unbalanced' case, the harmonic frequency, magnitude and phase angle of each phase can
be chosen individually for each harmonic frequency. This mode therefore caters for every
possible kind of harmonic source.
The problem commonly arises as to how one can represent the harmonic content in a sys-
tem which differs to the native modal system (positive, negative or zero sequence sys-
tem). The following example illustrates how to represent the 3rd harmonic in a positive
or negative sequence system (as opposed to the native zero sequence system).
In the symmetrical case, the phase shift between the three phases is:

24 - 11
DIgSILENT PowerFactory Harmonics Analysis

A: 0°
B: -120°
C: +120° (-240°)
For harmonics of order n:
A: 0°
B: -n*120°
C: +n*120°
Taking the 3rd harmonic as an example:
A: 0°
B: -360°(= 0°)
C: +360° (=0°)
Consequently, the 3rd harmonic in the ideally balanced case only in the zero sequence
component, as their native modal system. For representing 3rd harmonics (and multiples
thereof) in the positive sequence system, the following phase correction needs to be en-
tered:
A: 0°
B: +(n-1)*120°
C: -(n-1)*120°
Again taking the 3rd harmonic as an example:
A: 0°
B: -360° + 240° = -120°
C: +360° - 240° = 120°

24.4.3 Frequency Dependent Parameters


Due to the skin effect and variations in the internal inductance, resistances and inductanc-
es are usually frequency dependent. This can be modeled in PowerFactory by associat-
ing a "frequency characteristic'' to these quantities. Two types of characteristic may be
used: either a polynomial characteristic (ChaPol) as illustrated in Figure 24.6, or a user-
defined frequency table (TriFreq and ChaVec). These kinds of characteristics are then
assigned via the Harmonics tab of the correspoding element’s dialogue, as illustrated by
the example in Figure 24.7 for a line element.

Fig. 24.6: The Frequency Polynomial Characteristic (ChaPol)

24 - 12
DIgSILENT PowerFactory Harmonics Analysis

For the polynomial characteristic object shown in Figure 24.6, the following formula is
used:

 f h b
y  f h  =  1 – a  + a   ----
 f 1

The parameters a and b are specified in the ChaPol dialogue. Variable y is usually ex-
pressed in % of the corresponding input parameters. For example, the resulting line re-
sistance is obtained by:

R  fh  = R  y  fh 

An example of the use of the polynomial characteristic for a line type is shown in Figure
24.7.

Fig. 24.7: Frequency Dependencies in a Line Type

It also is possible to define frequency dependent characteristics using vectorial character-


istics (ChaVec). An example for a grid impedance defined with a ChaVec is shown in
Figure 24.8.

24 - 13
DIgSILENT PowerFactory Harmonics Analysis

Fig. 24.8: Frequency Dependent Grid Impedance as Vectorial Characteristic

The following objects can have frequency dependent parameters defined using a frequen-
cy characteristic:
TypLne Line Type
TypAsm Asynchronous Machine Type
TypSym Synchronous Machine Type
ElmShnt Shunt/Filter
ElmVac AC Voltage Source
ElmNec NEC/NER
Lines which are represented by a tower type TypTow are automatically assigned a har-
monic characteristic. The same applies to cables using the detailed cable representation
type TypCab.

24.4.4 Waveform Plot


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 24.4.
In this plot, a waveform is generated using the magnitude and phase angle of the har-
monic 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.
For a more detailed description, see Section 20.1.6 (The Waveform Plot).

24 - 14
DIgSILENT PowerFactory Harmonics Analysis

24.5 Definition of Result Variables


Before a Frequency Sweep calculation can be performed, all variables of interest must be
defined for recording. These variables can be defined by right-clicking on a network com-
ponent (or multi-selecting several components and right-clicking), either in the single-line
diagram or in the data manager, and selecting the option DefineVariable Set (Harmon-
ics 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 command dialogue).
All results of harmonic analyses, with the exception of the single frequency harmonic load
flow, are stored in a normal result object (ElmRes). This result object stores graphs of
result variables vs. frequency. For more information about the result object, see
Section 20.2.1 (Result Objects).

New result variables may also be added by clicking on the Edit Result Variable icon ( )
on the main toolbar. There are two instances of this button; one for each harmonic anal-
ysis function, i.e. one associated with the Harmonic Load Flow . and one associated
with the Frequency Sweep . Select the button associated with the relevant calculation.
This will open the variable set manager, which displays the list of all defined variable sets
for that calculation. Each variable set contains the variables of interest for a single object.
A window is opened automatically whenever a new variable set is defined, as shown in
Figure 24.9, displaying the list of variable sets. A new variable set can also be defined by
clicking on the New icon ( ).

Fig. 24.9: Example of a List of Variable Sets

It should be noted that the column labelled Object must be set before any variables can
be defined. This can be done by either double-clicking the appropriate cell, or by right-
clicking the cell and selecting Select Element.... A single variable set from the variable sets
list can be accessed (and the desired variables defined) by either double-clicking on the
icon in the corresponding row, or right-clicking on the icon and selecting the
Edit menu option. The Variable Set object (IntMon) dialogue opens, as shown in Figure
24.10. Select the Harmonics tab of the IntMon dialogue and then a list of all results that
are available for the selected object (relevant to harmonics analysis) will be available for
selection.

24 - 15
DIgSILENT PowerFactory Harmonics Analysis

Fig. 24.10: Harmonics Result Variables for a Terminal

Result variables may be added or removed from the set of selected variables by pressing
the or buttons. Additionally, different variables are available for selection depend-
ing on the selection made from the Variable Set drop-down list. This is available in the
Filter for section on the Harmonics tab of the IntMon dialogue.
It should be noted that as the results of the discrete harmonic analysis are discrete, the
plots generated from the result file should have the Bars option enabled. To do this, open
the subplot dialogue by double-clicking on a subplot, going to the Advanced tab, and se-
lecting Bars in the Presentation section.

24 - 16
DIgSILENT PowerFactory Stability and EMT Simulations

Chapter 25
Stability and EMT Simulations

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 do-
main. These functions therefore make it possible to model complex systems such as in-
dustrial 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-do-
main 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 com-
bination 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 me-
chanical 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. Fur-
thermore, the user can model specific controllers and develop block diagrams of power
plants with a large degree of freedom.

A Stability simulation in PowerFactory is started by:

• Selecting the Stability toolbar by clicking on the Stability icon from the Select
toolbar;

• Calculating the initial conditions for the simulation by either pressing the icon on
the main toolbar, or by selecting Calculation  Stability  Initial Conditions... from
the main menu;

• When the initial values have been calculated successfully, the icon on the main
toolbar will be activated and can be pressed to start the simulation.

25 - 1
DIgSILENT PowerFactory Stability and EMT Simulations

25.1 Introduction
The study of power system stability involves the analysis of the behavior of power systems
under conditions before and after sudden changes in load or generation, during faults and
outages. The robustness of a system is defined by the ability of the system to maintain
stable operation under normal and perturbed conditions. It is therefore necessary to de-
sign and operate a power system so that transient events (i.e. probable contingencies),
can be withstood without the loss of load or loss of synchronism in the power system.
Transients in electrical power systems can be classified according to three possible time-
frames:
• short-term, or electromagnetic transients;
• mid-term, or electromechanical transients;
• long-term transients.
The multilevel modelling of power system elements and the use of advanced algorithms
means that the functions in PowerFactory can analyse the complete range of transient
phenomena in electrical power systems. Consequently, there are three different simula-
tion functions available:
1 A basic function which uses a symmetrical steady-state (RMS) network model for
mid-term and long-term transients under balanced network conditions;
2 A three-phase function which uses a steady-state (RMS) network model for mid-
term and long-term transients under balanced and unbalanced network conditions,
i.e. for analyzing dynamic behaviour after unsymmetrical faults;
3 An electromagnetic transient (EMT) simulation function using a dynamic network
model for electromagnetic and electromechanical transients under balanced and
unbalanced network conditions. This function is particularly suited to the analysis of
short-term transients.
In addition to the time-domain calculations, two other analysis functions are available:
• Parameter Identification
• Modal Analysis or Eigenvalue Analysis
Time-domain simulations in PowerFactory are initialized by a valid load flow, and Pow-
erFactory functions determine the initial conditions for all power system elements includ-
ing all controller units and mechanical components. These initial conditions represent the
steady-state operating point at the beginning of the simulation, fulfilling the requirements
that the derivatives of all state variables of loads, machines, controllers, etc., are zero.
Before the start of the simulation process, it is also determined what type of network rep-
resentation must be used for further analysis, what step sizes to use, which events to han-
dle and where to store the results.
The simulation uses an iterative procedure to solve AC and DC load flows, and the dynam-
ic model state variable integrals simultaneously. Highly accurate non-linear system models
result in exact solutions, including during high-amplitude transients. Various numerical in-
tegration routines are used for the electromechanical systems (including voltage regula-
tors and power system stabilisers) and also for the hydro-mechanical or thermo-
mechanical models.
The process of performing a transient simulation typically involves the following steps:
1 Calculation of initial values, including a load flow calculation;
2 Definition of result variables and/or simulation events;

25 - 2
DIgSILENT PowerFactory Stability and EMT Simulations

3 Optional definition of result graphs and/or other virtual instruments;


4 Execution of simulation;
5 Creating additional result graphs or virtual instruments, or editing existing ones;
6 Changing settings, repeating calculations;
7 Printing results.

25.2 Calculation Methods

25.2.1 Balanced RMS Simulation


The balanced RMS simulation function considers dynamics in electromechanical, control
and thermal devices. It uses a symmetrical, steady-state representation of the passive
electrical network. Using this representation, only the fundamental components of volt-
ages and currents are taken into account.
Depending on the models of generators, motors, controllers, power plants and motor driv-
en machines used, the following studies may be carried out:
• transient stability (e.g. determination of critical fault clearing times);
• mid-term stability (e.g. optimization of spinning reserve and load shedding);
• oscillatory stability (e.g. optimization of control device to improve system damping);
• motor start-up (e.g. determination of start-up times and voltage drops);
Various events can be included in the simulation, including the following examples:
• start-up and/or loss of generators or motors;
• stepwise variation of loads;
• load-shedding;
• line and transformer switching/tripping;
• symmetrical short-circuit events;
• insertion of network elements;
• power plant shut down;
• variations of controller setpoint;
• change of any system parameter.
Because of the symmetrical network representation, the basic simulation function allows
the insertion of symmetrical faults only.

25.2.2 Three-Phase RMS Simulation


If asymmetrical faults or unbalanced networks have to be analysed, the three phase RMS
simulation function must be used. This simulation function uses a steady-state, three-
phase representation of the passive electrical network and can therefore compute unbal-
anced network conditions, either due to unbalanced network elements or due to asym-
metrical faults. Dynamics in electromechanical, control and thermal devices are
represented in the same way as in the basic RMS simulation function.

25 - 3
DIgSILENT PowerFactory Stability and EMT Simulations

Asymmetrical electromechanical devices can be modelled, and single-phase and two-


phase networks can also be analysed using this analysis function.
In addition to the balanced RMS simulation events, unbalanced fault events can be sim-
ulated, such as:
• single-phase and two-phase (to ground) short-circuits;
• phase to phase short-circuits;
• inter-circuit faults between different lines;
• single- and double-phase line interruptions.
All of these events can be modelled to occur simultaneously or separately, hence any com-
bination of symmetrical and asymmetrical faults can be modelled.

25.2.3 Three-Phase EMT Simulation


Voltages and currents are represented in the EMT simulation by their instantaneous val-
ues, so that the dynamic behavior of passive network elements is also taken into account.
This is necessary for the following applications:
• DC and harmonic components of currents and voltages;
• Exact behavior of inverter-driven machines;
• Exact behavior of HVDC transmission systems;
• Non-linear behavior of passive network elements such as transformer saturation;
• Overvoltage phenomena in switching devices;
• Lightning strikes and travelling waves;
• Analysis of the exact behavior of protection devices during faults.
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 sig-
nificantly smaller than in the case of a steady-state representation and as a result, the
calculation time increases.

25.3 Setting Up a Simulation


Based on the results of a load flow calculation, all internal variables and the internal op-
erating 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 simu-
lation, are also calculated.
The calculation of initial conditions is started by either:

• Selecting the icon from the icon toolbar, and then pressing the icon;
• Selecting Calculation  Stability  Initial Conditions... from the main menu.
In the Initial Conditions command (ComInc) dialogue all simulation settings can be de-

25 - 4
DIgSILENT PowerFactory Stability and EMT Simulations

fined, such as the simulation type (i.e. RMS or EMT, balanced or unbalanced) and simu-
lation step size settings.
These settings include:
Basic Options
The simulation type is selected here (RMS, EMT; balanced,
unbalanced), and the load flow command, the result object and the
event list are defined.
Step Sizes
Maximum and minimum step size are specified for use by the step size
algorithms.
Step Size Adaptation
Enables the variable step size algorithm.
Advanced Options
Includes various error margins, iteration limits, damping factors, etc.
Noise Generation
Defines parameters of the noise generation for stochastic applications.

25 - 5
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.1: The Initial Conditions Command (ComInc) Dialogue

25.3.1 Basic Options


The basic options are used to select the simulation type and the network representation.
References 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.

Verify Initial Conditions


If the initial conditions can be fulfilled, the power system will be in a steady-state condi-
tion. 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 simula-
tion, even without the application of an external event. In this case the user should anal-
yse the relevant controller or model and its defined initial conditions carefully.

25 - 6
DIgSILENT PowerFactory Stability and EMT Simulations

All warnings or error messages issued in the output window should be checked carefully.
Typical problems are devices which are overloaded or operate above or below signal lim-
itation from the beginning of the simulation.
The error message displayed in the output window might look as follows:
DIgSI/err - Some models could not be initialized.
DIgSI/err - Please check the following models:
DIgSI/err - 'Simple Grid\AVR Common Model.ElmDsl':
DIgSI/err - Initial conditions not valid !

Automatic Step Size Adaptation


This option enables the step size adaptation algorithm, and can be used to speed-up the
simulation 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, PowerFac-
tory calculates an optimal step size that keeps the numerical errors within the specified
limits. A step size controller adjusts the integration step size.
As a result, when fast transients have decayed, PowerFactory automatically increases
the step size and speeds up the simulation process 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:
Electromagnetic Transients/Electromechanical Transients
Minimum step size for EMT and RMS simulations, respectively.
Maximum Step Size
Maximum step size for the simulation.
Further parameters to adapt this algorithm can be found on the Step Size Adaptation tab.

25.3.2 Step Sizes

Integration Step Sizes


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 plot-
ted 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:
dtemt Electromagnetic Transients (typical value: 0.0001 sec)
dtgrd Electromechanical Transients (sym, asm, vco, pss) (typical 0.01 sec)
dtout Output (typical equal to dtemt for EMT; and dtgrd for RMS simulation)

25 - 7
DIgSILENT PowerFactory Stability and EMT Simulations

Start Time
The start time of the simulation. This is typically negative, allowing the first event
to be analysed to take place at t=0s.

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 mini-
mum 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 tran-
sients, 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-linear-
ities (i.e. saturation effects in synchronous and asynchronous machines), the EMT simu-
lation function allows interrupts for the simulation of "strong'' non-linearities (i.e.
switches, two-slope transformer saturation or thyristors). These interrupts can also occur
between time steps.
In case of such an interrupt, all time dependent variables are interpolated to the instant
of interrupt and the simulation restarts at that point. This prevents numerical oscillations
and allows much a lower integration step size to cater for power electronics devices.
The dynamic model equations of the voltage-controllers (vco) and the power system sta-
bilisers (pss) are solved simultaneously with the electrical generator and passive network
equations (stepsize dtgrd).

25.3.3 Step Size Adaptation


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:
errmax Maximum Prediction Error (typical value: 0.01)
errinc Minimum Prediction Error (typical value: 0.01)
ninc Delay for Step Size Increase (typical value: 10 time steps)
finc Speed Factor for increasing the time step (default value: 1.5)
fdec Speed Factor for decreasing the time step (default value: 2)
ddtemt_max Maximum increase of step size (typical values: 0.05 for RMS; 0.001 sec
for EMT)

Note The simulation time can be very sensitive to some of the parame-
ters. For example when you increase the maximum time step the
duration of calculating transients may not always increase. If this
time step is increased over an "optimal'' time step the simulation
time may increase as well. It is strongly recommended to critically
observe the simulation time and the results for different simulation
parameters.

25 - 8
DIgSILENT PowerFactory Stability and EMT Simulations

25.3.4 Advanced Options


The advanced options may be used to tune the performance of the simulation algorithm.
Less experienced users are recommended to use the default values.

Event Control
Resolution Factor
The value entered here (parameter name: kres) determines the time interval used to syn-
chronize events. Every time an internal or external event occurs (usually between two in-
tegration time steps), PowerFactory interpolates all state variables up to the moment
in time at which the event has occurred and restarts the simulation from there. In the
case of large disturbances it is possible that a very large number of events occur almost
simultaneously. As this would slow down the simulation considerably, PowerFactory ex-
ecutes all events that occur within a time interval of duration kres*dtmin at the same time.
All system variables are then interpolated up to the point in time when the event takes
place, and the simulation is started from there. A higher resolution factor decreases the
minimum time interval between events. The default value of 0.001 is usually sufficient.
If an event occurs, there are two different options available:

Interpolation at user defined events


• Calculation of v(t) and v(t+h) as usual. PowerFactory uses special numerical
methods to allow this without numerical oscillations.

Re-Initialize After Event


• Calculation of v(t) and v(t+h), hence two values at the same time, one before the
occurrence of the event, and one after. The second method is applied if the option Re-
initialize After Event is enabled.
Further parameters can be changed to control the simulation algorithm.

Integration Control
errseq Maximum Error of State Equations (typical value: 0.1%)
itrpx Maximum Number of Successive State Iterations (typical value: 10)
alpha_rms Damping Factor (RMS) (typical value: 1)
alpha_emt Damping Factor (EMT) (typical value: 0.99)

Iteration Control
errsm Maximum Iteration Error of Nodal Equations (typical value: 10*errlf )
The iteration error errsm depends on the nominal power of the
machines and the voltage levels. As an adequate starting value, errsm
should be set to:
errsm = 10*errlf, where errlf is the Max. Allowable Load-Flow Error for
each Bus. Checking is best done by plotting some voltages at generator

25 - 9
DIgSILENT PowerFactory Stability and EMT Simulations

busbars. If voltage steps are observed, the value of errsm should be


reduced.
erreq Maximum Error of Model Equations (typical value: 1%)
itrlx Maximum Number of Iterations (typical value: 25)
itrpx specifies the max. number of iterations at each integration step
which are allowed to reach the max. tolerable bus-error errsm. During
the transient simulation process, the typical number of iterations
required is between 1 and 5. Under certain conditions - i.e. after
switching operations - up to 25 iterations may be observed.
itrjx Iteration Limit to Recompute Jacobian Matrix (typical value: 5)

Signal Buffer

Reference System

Local/Global Reference System


The PowerFactory stability analysis uses the angle of a reference machine and refers
all other angles to this reference angle. This is a numerically very efficient approach. After
running initial conditions, the reference machine is displayed in the output window. It is
usually the "Slack''-machine of the load-flow calculation.
In case of several isolated islands, PowerFactory offers the option of using one refer-
ence machine for the whole system (Global Reference System), or to use an individual
reference machine for each island. The first case should be used if the islands are re-syn-
chronised again later in the simulation. In all other cases the option (Local Reference Sys-
tem) should be used because it leads to a higher numerical stability and to faster
simulation times.

Calculate Maximum Rotor Angle Deviation


PowerFactory can also calculate the maximum deviation between the rotor angles be-
tween the synchronous machines in the system. This variable is then called dfrotx and
can be chosen and displayed from the variables of all synchronous generators in the sys-
tem. This variable can be used as an indicator for the synchronous operation of a large
transmission system.

A-stable integration algorithm for all models


If you enable this option, PowerFactory uses an A-stable numerical integration algo-
rithms 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 converges much better in case of large step sizes. Typical applications
are longer term simulations, in which the simulation step size is increased considerably
after fast transients have decayed. Another typical application are systems with power
electronics. Even if power electronics devices are usually equipped with very fast controls,
the 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

25 - 10
DIgSILENT PowerFactory Stability and EMT Simulations

(not an A-stable algorithm), the integration step size must be adjusted to the eigenvalues
of a system. Such a method (Relaxation Method) means a mutual solution of dynamic
model equations and network equations until convergence is reached: This algorithm is
fast for small step sizes but fails to converge when the step size is increased. Best choice
for classical transient stability applications. But if excessively large step sizes are used, the
numerical solution becomes unstable, even if fast modes have fully decayed and are no
longer apparent in the system.
With the PowerFactory A-stable algorithm, the step size can be adjusted to the actual
course of all state variables without considering numerical stability. When fast transients
have decayed, the step size can be adjusted to the speed of slower transients, etc.
If some very fast modes are not of interest, a large step size can be selected from the
beginning, and the algorithm will automatically smooth fast variations. A typical applica-
tion of this type of algorithm is the simulation of long-term phenomena - where it is nec-
essary to increase the simulation step size to the range of minutes, even if fast modes are
present in the system.
However, if power electronics are involved, characteristic time constants can be extremely
short (i.e. 1ms), even if a stability model with steady-state equations for the electrical net-
work is used. Hence, using a classical integration algorithm would require the use of step
sizes significantly smaller than the smallest time constant of the system, otherwise it
would be numerically instable.

Note A requirement for using the A-stable integration algorithm is that


just "true" input and output signal variables are used for exchang-
ing information between different models.

It should be mentioned, that it is also possible to choose the usage of an A-stable algo-
rithm for some element models only (not for all models), so that it is possible to run just
a part of the models with the A-stable algorithm (for example the power electronic con-
verters or fast controllers). This option is available in the dialogues of the elements.
With the A-stable algorithm, these systems can be analysed with reasonable step sizes.
Hence, the A-stable algorithm cannot be described as using simplified models but as a
different type of numerical integration algorithm.

25.3.5 Noise Generation


The Noise Generator element (ElmNoise) can be used in a transient simulation to pro-
duce 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 Stability and EMT Simulations

25.3.6 Advanced Simulation Options - Load Flow


There are further options which can influence the simulation process and its results. In
the load flow command dialogue (ComLdf, see also Section 22.3.1) 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.2.

Fig. 25.2: Advanced Simulation Options in the ComLdf Command Dialogue

The options available for the consideration of protection devices are:


none 
No protection devices are considered in the calculations
all 
All protection devices are considered
main 
Only the protection devices are in operation, which are defined as
'main' devices
backup 
Only the 'backup' protection devices are considered. According to the
controller models, there is the possibility to ignore all controllers and
mechanical elements with the option Ignore Composite Elements. If
there are only some 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 Stability and EMT Simulations

25.4 Result Objects


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
references, as depicted in Figure 25.3 for the Initial Conditions (ComInc) dialogue. See
also Figure 25.1 for the complete dialogue.

Fig. 25.3: Result Object Reference

Such a result object reference refers to the currently used result object. The downward
arrow button ( ) is used to select or reset the reference, or to edit the contents of the
referenced result object.

The right-arrow button ( ) is used to edit the result object itself. When editing the out-
put variables press this Edit button and then Contents to get access to the list of vari-
ables stored inside the result object. This will pop up the corresponding ElmRes edit
dialogue.

An easier way to edit or inspect the result object is to press the icon on the main
toolbar, or to select the Data  Stability  Result Variables option from the main menu.
This will enable the user to edit the contents of the currently selected Result object in the
Initial Conditions (ComInc) command dialogue. Result objects (ElmRes) are treated in
detail in Chapter 20 (Reporting Results in PowerFactory).
To add variables of different elements to the result object for RMS and EMT simulations,
right-click on the desired element in the single-line graphic and select Define...--> Variable
Set (Sim)... as shown in Figure 25.4.

25 - 13
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.4: Defining a Variable Set for a Line Element

This element will then be monitored during the simulation. A browser window is automat-
ically opened, and by double-clicking on the variable set icon ( ) of the relevant row,
the variables of interest to be recorded can then be selected. See also Section 20.2.1 (Re-
sult Objects).

Note Most of the variables for RMS and EMT simulations are identical.
Nevertheless there may exist variables that are valid for EMT but
not for RMS calculations. It is advisable to only use variables for
the calculation which is currently being performed.

25.4.1 Saving Results from Previous Simulations


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 re-
sults 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 object All calculations and renaming it to something else.
This can be done easily in the data manager. The result object can be found in the cur-
rently 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 to-
gether with the new simulation results in one plot. For further information see Section

25 - 14
DIgSILENT PowerFactory Stability and EMT Simulations

20.1.2 (Plots).

25.5 Events
Besides the reference to a result object, the simulation function needs a reference to an
event object to determine the simulation events. The default event object in PowerFac-
tory is Simulation Events and, like the result object, is also stored inside the study case.
External events are used in steady-state calculations (e.g. short-circuit calculations) as
well as for transient calculations (Simulations).
PowerFactory offers several kinds of events for time-domain simulations:
1 Switch events (EvtSwitch)
2 Parameter events (EvtParam)
3 Short-circuit events (EvtShc)
4 Intercircuit fault events (EvtShcll)
5 Synchronous machine events (EvtSym)
6 Load events (EvtLod)
7 Outage of element (EvtOutage)
8 Message events (EvtMessage)
9 Set integration step size event (EvtStep)
10 Tap event (EvtTap)
The different events are stored in the event object. The contents of the currently selected
event object (labelled Events) can be found in the ComInc dialogue. This object can be
edited using the right-arrow ( ) button followed by the Contents button to access the
event list stored inside the event object.
Alternatively, the event object can be easily accessed from the main toolbar by pressing
the Edit Simulation Events icon. A list of the currently defined events will be displayed
including the set simulation time, when the event will occur, and the related object. Figure
25.5 shows an example set of events.

25 - 15
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.5: The Event Object Including a Set of Events

When creating a new event, use the icon in the toolbar, as can be seen in the Simu-
lation Events object dialogue in Figure 25.5. The event type can be chosen from the list
in the element selection dialogue which pops up, as shown in Figure 25.6. The events can
also be modified during a simulation by stopping the calculation, editing the events and
continuing the simulation.

25 - 16
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.6: Defining a New Simulation Event

An alternative means of defining events is as follows: upon calculation of the initial con-
ditions ( ), or when the simulation is already running, double-click on the desired cu-
bicles to create switch events. Additionally, the user can right-click on an element and
then select an element-related event such as Define...  Switch Event, Define...  Load
Event or Define...  Short-Circuit Event.
During a simulation all previous events (i.e. events which have already occurred), are dis-
played in a grey font style and can no longer be edited or changed. When the simulation
is finished or is stopped manually, the events which are still to come in the simulation can
be altered and new events can be created.

Note At the end of a simulation the event list shows all events, which are
now grey in color. They can no longer be modified for this simula-
tion, because the simulation could be restarted from this point on.
To change the events for a new simulation one must first initialise
the calculation again ( ), so the simulation time is reset to the
beginning.

25 - 17
DIgSILENT PowerFactory Stability and EMT Simulations

25.5.1 Switch Events


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 con-
taining all defined simulation events. Click on the icon in this browser, which will show
a IntNewobj dialogue which can be used to create a new switching event.

Fig. 25.7: Creation of a New Switch Event (IntNewobj)

After pressing OK, the reference to the switch (labelled Breaker or Element) must be man-
ually set. Any switch in the power system may be selected, thus enabling the switching
of lines, generators, motors, loads, etc. The user is free to select the switches/breakers
of all phases or of only one or two phases.
It should be noted that more than one switching event must be created if, for instance, a
line has to be opened at both ends. These switch events should then have the same ex-
ecution time.

25.5.2 Parameter Events


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 inserted. 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.

25.5.3 Short-Circuit Events


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.

25 - 18
DIgSILENT PowerFactory Stability and EMT Simulations

The duration of the fault cannot be defined. Instead, to clear the fault, another short-cir-
cuit event has to be defined, which will clear the fault at the same location. An example
is shown in Figure 25.5.

25.5.4 Intercircuit Fault Events


This type of event is similar to the short-circuit event described in Section 25.5.3 (Short-
Circuit Events). Two different elements and their respective phases are chosen, between
which the fault occurs. As for the short-circuit event (EvtShc), four different elements can
be chosen:
• Busbar (StaBar)
• Terminal (ElmTerm)
• Overhead line or cable (ElmLne)

25.5.5 Events of Synchronous Machines


There is a special event for synchronous machines, which is used to easily change the
mechanical torque of the machine. The user specifies the point in time in the simulation
for the event to occur, and an active synchronous machine ElmSym. The user can then
define the additional mechanical torque supplied to the generator. The torque can be pos-
itive or negative and is entered in per unit values.

25.5.6 Events of Loads


The user specifies the point in time in the simulation for the event to occur, and a load
element (ElmLod, ElmLodlv or ElmLodlvp). The value of the load can then be altered
using the load event.
There are different ways to change the power of the selected load:
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.

25.5.7 Outage of Element


This event can only be used during an RMS simulation, when an element is to be put out
of service at a specific point in time. The option Take element out of service should be
selected within the dialogue. It should be noted that it is not possible to bring the outaged
elements back into service during the transient simulation. This is only possible in steady-
state calculation functions, e.g. short-circuit calculation or reliability assessment. In time-
domain simulation the following error message will occur in the output window:
DIgSI/err (t=000:000 ms) - Outage Event in Simulation not available.

25 - 19
DIgSILENT PowerFactory Stability and EMT Simulations

Use Switch-Event instead!

25.5.8 Save Results


This event is only used in the PowerFactory Monitor of the program. It cannot be used
during time-domain simulations.

25.5.9 Set Integration Step Size

25.5.10 Tap Event


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 spec-
ified.

25.6 Running a Simulation


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 conditions 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.

25 - 20
DIgSILENT PowerFactory Stability and EMT Simulations

25.7 Models for Stability Analysis


Stability analysis calculations are typically based on predefined system models. In the ma-
jority of cases the standard IEEE definitions for controllers, prime movers and other as-
sociated devices and functions are used.
For planning purposes, this approach might be acceptable. The predefined sets of param-
eters will allow a favorable and reasonable behavior of the analyzed system. This ap-
proach is often also applied 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 pur-
pose, highly specialised, exact models can be created in PowerFactory.
In cases when manufacturers are able to supply exact controller models including real pa-
rameters, 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 ac-
curate transient models for stability analysis.
This includes complex operation analysis and special component planning problems. This
demand led to the development of highly flexible and accurate DIgSILENT PowerFac-
tory time-domain modelling features, which are introduced in this chapter.

25.7.1 System Modelling Approach


System modelling for stability analysis purposes is one of the most critical issues in the
field of power system analysis. Depending on the 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 togeth-
er 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 phi-
losophy is targeted towards a strictly hierarchical system modelling approach, which com-
bines both graphical and script-based modelling methods.
The basis for the modelling approach is formed by the basic hierarchical levels of time-
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 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.

PSS VCO V EXC V GEN


Power System Voltage Controller
Stabilizer VPSS PGEN
SYM
Synchronous
Machine GEN
PCO PMU PT
Primary Controller Prime Mover Unit
AV

PCU
Primary Controller Unit

Fig. 25.8: Example of a Composite Generator or Power Plant Model

Figure 25.8 shows a typical configuration of a synchronous generator with power system
stabilizer, voltage controller, primary controller, and prime mover model. The primary con-
troller and prime mover can be summarized as the primary controller unit model. To cre-
ate this kind of model, the following actions are required:
1 Transient models for each required controller type or unit type have to be defined
(Model/Block Definition).
2 For each generator, the transient models of the individual controller must be
customized by setting the parameters to the correct values (Common Model).
3 A diagram has to be made defining the connections between the inputs and outputs
of the various models (Composite Frame).
4 For each generator, the diagram and the customized transient models are to be
grouped together to define an unique 'composite' generator model (Composite
Model).
It may seem unnecessary to include steps 2 and 3: it would be possible to create custom-
ized transient models for each generator directly, with 'burned-in' parameter settings, and
to link these models to a generator without having to define a diagram first. This, how-
ever, would mean that one would have to create a new voltage controller, e.g. for each
generator in the system.
Often the design of many of these voltage controllers will be similar. To omit the need of
creating copies of these controllers for each generator and to avoid redundant copies of
controllers or also of whole generator models.
Here the same relationship as that between individual controller (Common Model) and

25 - 22
DIgSILENT PowerFactory Stability and EMT Simulations

controller definition (Model Definition) is used; this time between the generic power plant
diagram (Composite Frame) and the individual power plant (Composite Model). DIgSI-
LENT PowerFactory uses two key objects in creating composite models, which can be
compared to the element definition of the different elements:
• The Common Model (ElmDsl) combines general time-domain models or model
equations (a block definition) with a set of parameter values and creates an integrated
time-domain model.
• The Composite Model (ElmComp) connects a set of time-domain models inside a
diagram (a composite frame) and creates a 'composite model'.
The following diagrams explain the relation between the Composite Model (which is using
a Frame as type) and the Common Model (based on a block diagram as type) in detail.
• The Composite Model (ElmComp), see Figure 25.9, references the definition of a
composite frame. This composite frame is basically a schematic diagram containing
various empty slots, in which controller or elements can be assigned. These slots are
then interconnected according to the diagram, see Section Composite Block
Definitions (part of Section 25.8.3: Defining DSL Models). The slots in the composite
frame are pre-configured for specific transient models.
• The schematic diagram in Figure 25.10 shows a Composite Frame (BlkDef ) which
has one slot for a synchronous machine, one for a primary controller unit (pcu slot),
and one for a voltage controller (vco slot). The composite model, which uses this
composite frame, shows a list of the available slots and the name of the slot. Now the
specific synchronous generator, voltage controller or primary controller unit model can
be inserted into these slots.
• The synchronous machine that is used in the Composite Model is called a Built-In
Model, see Figure 25.11. This means that such elements are pre-configured elements
which do not need a specific model definition. Any kind of element which is able to
provide input or output variables, e.g. converters, busbars, etc, can be inserted into
the slots.
• The voltage controller, and primary controller unit, however, are user-defined
Common Models, see Figure 25.12. The 'front-end' of all user-defined transient
models is always a common model (ElmDsl), which combines a model definition with
specific parameter settings. There are predefined definitions as well, so that the user
can create her/his own model definitions.
• The common model has a reference to the Model Definition (BlkDef ), which looks
similar to the composite frame (shown in Figure 25.13). Here different blocks are
defined and connected together according to the diagram. The input and output
variables have to fit with the slot definition of the slot that the model is defined for.
Not all slots of the composite model must necessarily be used. There can also be empty
slots. In such cases, the input of this slot is unused and the output is assumed to be con-
stant over the entire simulation. The usage of composite models with a composite frame,
and the common model with its block definitions are described in the next sections.
The design and creation of user defined common models using the "DIgSILENT Simu-
lation Language" (DSL) can be found in Section 25.8 (User Defined (DSL) Models).

25 - 23
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.9: Example of a Composite Model Using the Frame “Frame_Generator”

0
vco slot ve
0 0
upss ElmVco*
pss slot 1
ElmPss*

sym Slot
ElmSym*

pcu Slot pt
1 1
ElmPcu*

fe

Fig. 25.10: Composite Frame “Frame_Generator”

G
~
G1 L1

Fig. 25.11: Generator “G1” (Built-In Model)

25 - 24
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.12: Example of a Common Model Using the Definition “vco_simple”

vco_Simple: Simplified Excitation System

usetp
o13

Emax

2
u - o12 yi PID Controller ve _{K/(1+sT)}_ uerrs
Ta,Tb,K1 Ke,Te

Emin

upss
3

Fig. 25.13: Example of a Model Definition “vco_simple”

25 - 25
DIgSILENT PowerFactory Stability and EMT Simulations

25.7.2 The Composite Model

A composite model element (ElmComp) can created using the "New Object" ( ) icon,
located in the toolbar of the data manager and selecting Composite Model from the avail-
able options. The next step is to select the composite frame. The composite frame can be
stored either in the global library or in the local library, and is conceptually similar to a
type definition for an electrical element. The composite model then shows the list of slots
in the composite frame as shown in Figure 25.14.
Existing controllers or models can be assigned to a slot manually by right-clicking the slot
and selecting Select Element/Type, as depicted in Figure 25.14. A data manger window
will pop up and the user can then browse the grid for the element to insert into the se-
lected slot.

Fig. 25.14: Editing the Composite Model (ElmComp) Dialogue

When inserting controller models into a slot, it is often the case that the controller element
has not yet been created. To create a new controller element select New Element/Type
from the slot’s context-sensitive menu. PowerFactory will automatically jump to the
project Library and show a list of available user defined models (ElmDsl).
Selecting a model definition from the project library or the global library will open the el-
ement dialogue of the newly-created common model, so that its parameters can be de-
fined, similar to (for example) a transformer element. If no suitable model is found, a
block definition has to be selected prior to setting the model parameters (see Section
25.7.3 (The Composite Frame) and Figure 25.13).
If an element is assigned to a slot, it is possible to edit the assigned element by simply
right-clicking and selecting Edit Element/Type. The right-mouse button menu entry Reset
Element/Type will reset the slot, so that it is empty again.

25 - 26
DIgSILENT PowerFactory Stability and EMT Simulations

Note Depending on the settings of the individual slot, the menu entry
Reset Element/Type will not only clear the marked slot but also de-
lete the built-in or common model, if it is stored inside the compos-
ite model in the data manager. These settings are explained in
detail in Section 25.7.3 (The Composite Frame).

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.
When a standard composite model is available for the selected object, a list of the avail-
able controllers is shown. Selecting a controller will add it to the composite model, which
is automatically created when no composite model yet exists for the selected object.
Standard composite models are available for:
• The synchronous motor and generator;
• The asynchronous motor and generator;
• The static VAr system.

Slot Update
The Slot Update button in the composite model (ElmComp) dialogue will re-read the
slot definitions from the composite frame and will cancel all invalid slot assignments.
A slot assignment is invalid when a model has been assigned to a slot which is not suited
to receive this kind of model, i.e. a voltage controller cannot be assigned to a slot defined
for a primary controller model.
All built-in models and common models which have been created for a specific composite
model are stored in that composite model itself. The contents of a composite model are
shown in the data manager where the composite model is treated as a normal database
folder. Basic power system equipment, such as synchronous machines or static VAr com-
pensators, are normally not stored in the composite folder, but in the grid itself.
The slot update will try to re-assign each model found in its contents to the corresponding
slot.The options defined for each slot are important, and are described in the paragraph
Classificationin Section 25.7.3 (The Composite Frame).

Step Response
The Step Response button in the composite model (ElmComp) dialogue will activate
the Step Response command (ComStepres). The dialogue can be seen in Figure 25.15.
Next to the references to the composite model, the template and the target directory, the
two step response tests, which will be created, can be specified. The study case to be
activated can also be selected. When Execute is pressed, PowerFactory will create a
new folder in the current project named Step Response Test. Figure 25.16 shows this fold-
er in the data manager.

25 - 27
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.15: Step Response Command (ComStepres) Dialogue

Fig. 25.16: Step Response Folder in the Data Manager

Inside the Step Response Test folder, a second folder is created, named according to the
composite model which is to be tested. Here the simple test grid can be found including
only the generator, the complete composite model and a load. Additionally there will be
two new study cases in which a step response for the AVR and the PCU, respectively, of
the composite model can be tested.
The user can switch between these two study cases and her/his previously-used study
cases by activating and deactivating them.

Note There is now no longer any connection between the original ele-
ments and the new elements of the composite model. Therefore,
you can change any controller settings without changing your net-
work.

After testing the controller, the folder Step Response Test can be deleted completely with-
out loss of information in the original network.

25 - 28
DIgSILENT PowerFactory Stability and EMT Simulations

25.7.3 The Composite Frame


A composite frame is a block diagram which defines two or more slots, their input and
output signals, and the connections between them. A composite frame is defined graph-
ically by drawing it.
Drawing a composite model frame is similar to drawing a normal block diagram. The main
difference is that instead of common blocks, only slots may be used.

To create a new composite frame select the Insert New Graphic icon on the main tool-
bar (in the graphics window) and then select Block/Frame Diagram and press Execute
as shown in Figure 25.17. This new block definition will then be automatically created in
the local library.

Fig. 25.17: Creating a New Composite Frame

An empty diagram of the frame will appear in the graphics window. A slot is then created
by selecting the icon in the graphics toolbox and positioning the slot on the drawing
surface by clicking once at the desired location. This is similar to placing elements in the
single-line diagram.
An empty slot will be drawn on the page. To define the slot’s input and output signals and
different parameters, edit the slot by double-clicking it. The slot edit dialogue will pop up
as shown in Figure 25.18.

25 - 29
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.18: Slot Dialogue (BlkSlot)

Name and Sequence


The name of the slot will appear later in the composite model dialogue, and it is therefore
recommended 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.
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.
Automatic, model will be created
When this option is activated, the function 'Slot Update' (see Section
25.7.2: 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 elements 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

25 - 30
DIgSILENT PowerFactory Stability and EMT Simulations

and defined in the slot. A slot may only have an input or an output signal.
For example, the voltage or frequency of an AC voltage source ElmVac may be controlled
by an external function. Therefore, the slot for the source will only have two input signals
u0 and f0. More information about drawing composite frame diagrams can be found in
Section 25.7.6 (Drawing Composite Block Diagrams and Composite Frames).

Input and Output Signals


The input and/or output signal(s) have to be defined for each slot. The available signal
names for the Built-In transient models can be found in the corresponding Technical
References of the elements. The given input and output signal names in this slot dia-
logue 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.
Limiting Signals
There is also the possibility to enter 'limiting signals'. These signals are handled by
PowerFactory 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.
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. Power-
Factory 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.

Assigning a Block Definition to a Slot


A block definition (BlkDef ) can be assigned directly to a slot. This option will simplify the
handling of the slot and prevent errors due to mis-matched signal names of slot and as-
signed block.
To assign the external form of a block definition to the selected slot, edit the slot by dou-
ble-clicking it and choose the "select" button for the "Block Definition" in the dialogue.
Now the block definition can be selected, e.g. the type of controller or built-in element,
which should be assigned to this slot later.
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

25 - 31
DIgSILENT PowerFactory Stability and EMT Simulations

then show the right inputs and outputs of the block definition.

Note When a block definition is assigned directly to a slot, only the input/
output signals are set automatically. The internal equations/defini-
tions of the block definition are not implemented in the slot and the
slot itself remains empty. There is always the need to create a
common model, which is the model inserted into the slot of the
composite model. When the slot refers to an outside block defini-
tion, beware that this reference is also inside your project. If the
reference to the definition is invalid or changed, the slot may be
changed as well. Therefore, assign a block very carefully.

25.7.4 The Common Model


The common model element (ElmDsl, ) is the front-end object for all user-defined
block definitions. This means that user-defined transient models, but also the block dia-
grams that are ready-shipped with the PowerFactory program, cannot be used other
than through a common model. The common model combines a model or block definition
with a specific set of parameter values. The common model shown in Figure 25.19 uses
the block definition “vco_Simple”.
Typically the model definition is implemented as a block definition, such as that shown in
Figure 25.20.
A model definition contains block references which may in turn either point to a primitive
block definition (see Figure 25.21) or to a another composite block definition (see Figure
25.22). The structure of the block definition is thus recursive and the user should check
that this recursive structure does not contain circular references to composite block defi-
nitions.
A primitive block definition contains one or more DSL expressions and forms a basic block
for more complex transient models. A description of how to use and create DSL models
can be found in Section 25.8 (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.21), coded using DSL.
Each block definition generally has one or more parameters which can be changed to de-
fine the model's behavior. Two kinds of parameters are supported:
• Scalar parameters, i.e. amplification factors, offsets, setpoints, etc.
• Two and three dimensional array parameters, which are used in the DSL lapprox()/
lapprox2() and sapprox()/sapprox2() functions.

25 - 32
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.19: Common Model for the VCO

vco_Simple: Simplified Excitation System

usetp
o13

Emax

2
u - o12 yi PID Controller ve _{K/(1+sT)}_ uerrs
Ta,Tb,K1 Ke,Te

Emin

upss
3

Fig. 25.20: Block Definition of the VCO, Using a Sub-Definition

25 - 33
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.21: Implementation of the Limiter Block, Using a DSL Routine

yi K o11 y2 K1/K2 yo
K1 Ta,Tb
o11(1..

o1

yi1 1/sT
Tb
-

yo(1)

Fig. 25.22: Implementation of the Controller, Defining a Sub-Block

To create a common model, use the "New Object" ( ) icon in the toolbar of the data
manager and select Common Model. The block/model definition has to be selected first.
Similar to the composite frame, this definition is either stored in the global library or in
the local library.
The common model then displays the list of available parameters and arrays from the
block diagram, as shown in Figure 25.23. All parameters are listed on the first page of the
common model, and their values can be specified there.

25 - 34
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.23: Common Model with Parameter List

If the selected block definition uses one or more arrays in its definition, then these arrays
are displayed on the second page (for simple characteristics) and third page (for two-di-
mensional characteristics) of the ElmDsl object. In Figure 25.24 an example is shown for
a 13x4 array definition.

Fig. 25.24: Common Model with Array List

The characteristics are defined as follows:


Characteristic In 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 Characteristic
In the row labelled 'Size', insert the number of rows in the first cell and

25 - 35
DIgSILENT PowerFactory Stability and EMT Simulations

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.7.5 The Composite Block Definition


A composite block diagram of the model definition is a graphical representation of a math-
ematical transfer function, which produces one or more output signals as a function of
one or more input signals. A block diagram may also have limits (minimal and maximal
values) as input signals.
A block diagram may thus be described as:
(y_0, y_1, ...) = function(u_0, u_1, ...)
where y_0, y_1, ... represent output signals 0, 1, ... and u_0, u_1, ... represent for input
signals 0, 1, .... These signals are all functions of time.
Block diagrams consist basically of the following elements:
Summation Points
which produce the single output y=(u_0+u_1+...)
Multipliers which produce the single output y=(u_0*u_1*...)
Divisors which produce the single output y=(u_0/u_1/...)
Switches which produce the single output y=u_0 or y=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 in-
side 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.7.6 (Drawing Com-
posite Block Diagrams and Composite Frames).

If the block type is selected, PowerFactory inserts all available parameters of the re-

25 - 36
DIgSILENT PowerFactory Stability and EMT Simulations

ferred block. The user may change the name of any parameter, however ensure that the
order of the parameters is not changed. The order is important so that the right parameter
is assigned to the parameters inside the block definition.
Signal lines are directed branches, connecting input and output signals. A single output
line may be branched off and connected to more than one input terminal.
After the block reference has been edited, it will show the input, output and limiting signal
connection points of the referenced block definition as one or more colored dots on the
left and right side, respectively, on the upper and lower side of the box. Signal lines may
then be connected to these points. It is allowed to refer to the block definition more than
once in the same block diagram. This way, it is possible to use a particular PID-controller,
for instance, twice or more in the same model definition.
An example of a simple block diagram, comprising a multiplier, a summation point and a
standard PI block, is shown in Figure 25.25.

Fig. 25.25: Example of a Simple Block Diagram

When rebuilding a diagram (by pressing the icon), the DSL representation of the
block diagram is written to the output window. For the example block diagram in Figure
25.25, this results in the following output:

model o1 = 'MyBlock'(i1,i2;x1;Kp,Ti;yi)
s1 = '\System\Library\Models\DSL\PI.BlkDef'(xe;x1;Kp,Ti;yi)
xe = i1*i2
o1 = s1+i2+i1
This simple example shows the whole meaning of the block diagram graphics: it is a con-
venient way to define specific controllers, based on standard components.
However, it would also be possible to define exactly the same block diagram by entering
the above DSL script manually and thereby create a primitive block definition.

25.7.6 Drawing Composite Block Diagrams and Composite


Frames
Although the composite block diagram and the composite frame diagram should be dis-
tinguished 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 con-
tains only slots and signals, whilst the block diagram must not contain any slots.
A new block or frame diagram can be created in various ways:
• Selecting the main menu entry File  New or Strg-N and then selecting the option
Block/Frame Diagram from the "New" command dialogue (ComNew);

25 - 37
DIgSILENT PowerFactory Stability and EMT Simulations

• By clicking on the Insert New Graphic icon on the toolbar of an open graphic, and
selecting the option Block/Frame Diagram;
• By right-clicking on, or inside a (library) folder in the active project in the data
manager and selecting New...  Block/Frame - Diagram from the context-sensitive
menu;

• By using the New Object icon in the database manager and selecting Block
Definition (BlkDef).

Note The two later options only create a block definition object (BlkDef),
but no graphic. This method is therefore not suitable for creating
a composite block or frame diagram, but only for creating primitive
block definitions by entering the DSL code.

In the first two methods, a graphic will be created and will appear in the open graphics
board. A new graphics board will be created when no graphics board is open. The new
block/frame diagram graphic will show a single rectangular block, which depicts the block
or frame. The name of the new diagram will appear on top of the frame.
Inside this rectangle the following objects can be placed from the graphic toolbox for the
block diagram:
Node objects:
- block references
- summation points
- multipliers
- divisors
- switches
- different kinds of graphical objects
Branch objects:
- signals lines
Inside a frame diagram only the following elements are allowed:
Node objects:
- slots
- different kinds of graphical objects
Branch objects:
- signals lines
These objects can be selected from the Drawing Toolbox. The toolbox also has buttons
for pure graphical add-on objects (lines, polygons, rectangles, texts, etc.) as shown in
Figure 25.26. It should be noted that the availability of this toolbox is according to wheth-
er or not the graphic is ‘frozen’ ( ). When the graphic is not frozen, the toolbox is avail-
able, and likewise, when the graphic is frozen for editing, the toolbox is hidden.

25 - 38
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.26: Block/Frame Diagram Objects

Note When creating a frame or a block definition, PowerFactory rec-


ognizes 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.

Adding a Block Reference


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
reference before a (lower level) block definition is assigned to it, it is not possible to con-
nect signals to the empty block. It is therefore recommended to first draw all block refer-
ences 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-sen-
sitive menu, or simply by double-clicking on it. The dialogue as displayed in Figure 25.27
will pop up.

25 - 39
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.27: Edit Dialogue of the Block Reference

Use the Select button ( in Figure 25.27) to select a model definition. Predefined stan-
dard block diagrams for your usage are located in the folder Database\ Library\ Models.
It is also possible to create a block in the graphical Block Definition by dragging Macros
from the global library or project library into the drawing area of the Block Definition, us-
ing the Drag & Drop functionality.

Adding Calculation Blocks

Summation Point 
Every dot can be used as an input to the summation point. The sign of
signals at summation points can be changed by editing the summation
point object. The "edit" dialogue will pop up, where any connected
input connection can be inverted. It should be noted that not all dots
have to be used and only one dot can be defined as an output.

Multiplier 
Every grey dot of this block can be used as an input or output of the
multiplier. An output of three input signals will thus be:
out=(in_0*in_1*in_2). It should be noted that not all dots have to be
used and only one dot can be defined as an output.

Divisor 
Every grey dot of this block can be used as an input or output for the
divisor. The first input will be the numerator and thus will be divided by
the second (and if existing, the third) input. The order of the signals
will be clockwise beginning from the left. An output of three input
signals will then be: out=(in_0/in_1/in_2). Mind that not all dots have
to be used and only one dot can be defined as an output.

25 - 40
DIgSILENT PowerFactory Stability and EMT Simulations

Switch 
Two input signals can be applied to this block, which will be connected
to the output according to the position of the switch. Additionally a
control signal has to be connected to the top, which will define the
operation of the switch. If the control signal is 0.5 or less, the switch
will stay in the displayed state, whereas a signal greater than 0.5 will
cause the switch to change to the upper signal and the other way
round. In the edit dialogue the zero position of the switch may be
altered.

Connecting Signals
After drawing and defining the block references, slots or other node elements, they can
be connected with signal lines. After selecting the button from the graphical toolbox,
a signal line is drawn by first clicking on a 'from' node (output of a block/slot), optionally
clicking on the drawing surface to make a non-direct connection, and finally clicking on a
'to' node (input to a block/slot). The input and output terminals of common blocks and
other node elements are depicted with colored dots (see Figure 25.28).

Fig. 25.28: Block Signal Connections

Green: Input
Red: Output
Blue: Min. Limitation
Pink: Max. Limitation
Gray: Every signal can be connected
The signal lines can also be edited in the corresponding dialogue, which provides the pos-
sibility to change the name of the signal.

Multi-Signal Connections
Signals normally connect a single output parameter with a single input parameter. Espe-
cially in the case of three phase signals, as is often the case for voltage or current signals,
multi-signal connections may be used.
A multi-signal is defined by writing two or more signal names together, separated by semi-
colons, e.g "I_A;I_B;I_C''. In Figures 25.29 and 25.30, the multi-signal output and input
of two block definitions are shown. Both blocks will show a single input or output connec-
tion point. They can be connected to each other by a single signal line, as illustrated in
Figure 25.31.

25 - 41
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.29: Output Definition of Block 1

Fig. 25.30: Input Definition of Block 2

Fig. 25.31: Multi-Signal Connection

Note The number of variables and their order in the output signal must
be equal to the number of signals in the input signal.

Block Diagram Input and Output Definitions


The composite block diagram normally has input, output and limiting signals of its own.
Input signal points are defined by starting a new signal line on the left, top or bottom side
of the frame enclosing block diagram. This will create a new input signal for the composite
block definition.
New output signals are defined by ending a signal line by clicking on the right side of the
enclosing rectangle frame.
Signals, which are thus connected to the rectangular frame, have the following meanings:
• connected to the left side: Input
• connected to the right side: Output
• connected to the bottom side: Minimum Limitation
• connected to the top side: Maximum Limitation

Note The names of the input and output signals must be the same as
the names of the input and output signals defined in the slot or
block to which it is intended to assign the definition.

Resize
If a marked symbol has small black squares at its corners, it can be resized by left clicking
one of the squares, as can be seen in Figure 25.32. The cursor will change to a double

25 - 42
DIgSILENT PowerFactory Stability and EMT Simulations

diagonal arrow, and moving it (while holding down the left mouse button) resizes the ob-
ject. Release the mouse when the new size is correct.

Fig. 25.32: Resizing an Object

It is also possible to make the object(s) have a new size by clicking on one side of the
marking box. The marked object(s) will only resize in one direction in that case. This is
not possible for all objects. Some objects may only be resized with a fixed X/Y- ratio; some
other objects cannot be resized at all.

Additional Equations
After the internal structure of the block diagram has been defined graphically, the block
diagram itself can be edited. This can be done without having to close the graphical rep-
resentation of the block diagram. By left or double-clicking the enclosing rectangular
frame, the block diagram edit dialogue will pop up. This dialogue will show all input, out-
put and internal signals, as have been defined graphically.

On the second page of the dialogue, which can be accessed by pressing the button,
information and equations for the initialisation of the block can/has to be entered. Addi-
tionally, the name and the unit of the parameters to be defined in the common model can
be specified (see also Section 25.8: User Defined (DSL) Models).
Additional DSL equations can be defined on the second page of the block diagram edit
dialogue.

25.8 User Defined (DSL) Models


System modeling for stability analysis purposes is one of the most critical issues in the
field of power system analysis. Depending on the 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
frequency deviation when losing a fully loaded 2000 MW unit depends highly on the
frequency dependency, K_f, of loads. Assuming a total system droop of 7% and a K_f
value of 0, the steady-state frequency deviation will be approximately 700 mHz.
Now with a more realistic coefficient of K_f = 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

25 - 43
DIgSILENT PowerFactory Stability and EMT Simulations

considered, average values with reasonable simple models may give acceptable results by
tuning only some key parameters like the frequency dependency of loads or droop
settings.
Thus system model structures and parameter settings are to be best evaluated against
the following main criteria:
System size Large and small systems have different "key parameters''. Referring to
the above example, for a smaller power system the frequency
dependency of loads is irrelevant, while in large systems such as UCTE
or UPS/IPS, frequency dependency may cover the spinning reserve
requirements totally.
Unit size Steady-state and transient behavior of large units is more decisive for
the overall system response than smaller units which might have a very
negligible effect on the total system.
System structure
Independent of system and unit size, the system structure may be
more relevant than any other factor. This can be easily demonstrated
when weak systems with a longitudinal geographical extension or
appropriate substructures are analyzed.
System fault Most relevant to system modeling considerations are the applied faults
and related problems which are to be analyzed. The analysis of system
damping and PSS tuning will not necessarily require the boiler
dynamics to be considered. On the other hand, load shedding
optimization and frequency restoration would not give appropriate
results if mid- and long-term characteristics of relevant system
elements are neglected.
Study purpose In general, for systems which are in the planning stage, typical models
and parameters could be applied as long as there is no specific
additional information available. However, a more detailed
representation is necessary for system extensions, where a detailed
model representation should form part of the performance
specification. Special attention has to be paid to the analysis of
operational problems and operation optimization. For these cases,
detailed modeling of the relevant components is critically important.
As soon as a detailed analysis and representation of system models is required, the subse-
quent questions to be asked are:
• How can the structures and parameters of the model be determined?
• Are IEEE models and additional manufacturers’ block diagrams adequate and
accurate?
• How could the available information be used within the power system analysis
software?
The approach which is presented here and successfully applied in various projects can be
called the "Advanced System Modeling Approach (ASMA)''. Typical applications are:
• The analysis of controller problems and relevant malfunctions, especially under
disturbance conditions;
• Optimization of control parameter settings;

25 - 44
DIgSILENT PowerFactory Stability and EMT Simulations

• Modeling of unconventional system structures and control concepts often found in


industrial systems;
• Study applications for the design and specification phase of components and systems
(e.g. power system stabilizer, generator and HVDC controllers).
For the ASMA approach, the following steps are 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 measured and identified data should be smaller
than 2%.
Comparison of measurements and simulations
Besides the analysis of subsystems and components, overall system
performance is to be compared with the theoretical model for all
relevant operating modes.
Of course, very strict application of the ASMA approach is not necessary for modeling
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.

25.8.1 Modeling and Simulation Tools


As already indicated, the most critical and decisive factor for reliable simulation results is
the accuracy and completeness of system model representation for identification and
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 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.

25 - 45
DIgSILENT PowerFactory Stability and EMT Simulations

In order to provide a very flexible modeling and simulation tool, which forms part of a
stability program, a control system based simulation language was developed. The
following describes the main features of the DIgSILENT Simulation Language (DSL):
• The simulation tool falls into the category of a Continuous System Simulation
Languages (CSSL);
• DSL includes a complete mathematical description of (time-) continuous linear and
non-linear systems;
• The simulation tool is based upon common control and logic diagrams, leading to a
non-procedural language, as the sequence of elements can be chosen arbitrarily. In
other words, a DSL model can be converted into a graphical representation;
• Provision of flexible definition of macros, which could be: algebraic equations, basic
control elements like PID, PTn or even complete physical subsystems like valve groups
or excitation systems;
• Provision of various intrinsic functions such as: "select'', "lim'', "limits'', "lapprox'',
"picdrop'' in order to provide a complete control of models;
• Provision of various formal procedures for error detection and testing purposes such
as: algebraic loop detection, reporting of unused and undefined variables and missing
initial conditions.

25.8.2 DSL Implementation: an Introduction


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
PowerFactory. 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.
The DSL main interfacing functions are:
Signal input and output channels:
Any variable defined within the kernel (currently more than 2500) and
in a DSL model, can be accessed in a read-and-write mode. Main and
sub-address features are implemented allowing the access of any signal
existing in the system or to build up complex structures 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 - 46
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.33: Structure of the PowerFactory DSL System

The structure of a DSL model is best explained by an example. This example considers a
prime mover unit model of a simple hydro turbine. This DSL model has been defined
graphically, and contains one embedded DSL macro. This embedded macro models a
single integrator and is defined by programming it.
The basic method for designing new DSL models is as follows:
1 A set of basic DSL models is created. These models implement simple, 'primitive'
controllers like a 'first order time lag' or a 'PID' controller. The PowerFactory
program is shipped with a large number of these primitive controller models. New
primitives are created by programming their differential equations and signal
settings, using the DSL language.
2 The more complex controller is created graphically by drawing its block diagram.
This kind of block diagram normally uses references other DSL models which are
thus combined into a more complex controller. Controller references may be used to
include DSL primitive models into the complex model, but may also refer to other
graphically defined complex models. Highly complex controllers may thus be
designed in a hierarchical way, by designing sub-models and sub-sub-models, where
the DSL primitives form the lowest level. Section 25.8.3 (Defining DSL Models)
describes these procedures in detail.

25 - 47
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.34: Diagram of a Simple Model of a Hydro Turbine

Figure 25.34 depicts the model definition that was used to define the hydro turbine model.
The resulting DSL code, as shown in the output window when a graphical Rebuild ( )
is performed is:

1. model Pt = 'pmu_hydro'(At,C;x1;Ti;)
2. pt_x = 'I.BlkDef'(xe;x1;Ti;)
3. i3 = i1/i2
4. i1 = At*At
5. i2 = pt_x*pt_x
6. i4 = xe*pt_x
7. xe = i3-C
8. Pt = pt_x-i4
The line numbers have been added for readability. The corresponding block definition
shows:

Output Signals : Pt
Input Signals : At, C
State Variables : x1
Parameter : Ti
Internal Variables :
The example describes a simple hydro turbine model with the input signals A_t and C and
the output signal P_t.

Fig. 25.35: Graphical Representation of a DSL Model of an Integrator

Figure 25.35 depicts the graphical representation of the embedded primitive DSL model.
This primitive model is included in the hydro turbine (in line 2 of the definition of the
hydro). The DSL primitive implements a single integrator and is programmed as follows:

1. model y = 'I'(xe;x1;Ti;)
2. [Ti] = 's'
3. limits(Ti) = (0,)
4. inc(x1) = y
5. inc(xe) = 0

25 - 48
DIgSILENT PowerFactory Stability and EMT Simulations

6. x1. = xe/Ti
7. y = x1

Line 1 is generated by clicking on the Equations button in the block diagram dialogue.
Lines 2..7 were entered manually.
The block definition dialogue was used to set the following:

Output Signals : y
Input Signals : xe
State Variables : x1
Parameter : Ti
Internal Variables

Parts of a DSL Model


Both example DSL models show the two basic parts of any DSL model, primitive or
complex:
1 The interface definitions
2 The DSL model description

Interface description
The interface defines the model name, names of input and output signals, model param-
eters and state variables. These are shown in the output window in the model heading.
Example (line 1 from the hydro turbine model):
1. model Pt = 'pmu_hydro'(At,C;x1;Ti;)
The block diagram dialogue further allows for the definition of limiting parameters and
input signals, and the classification of the model as a linear model and/or as a DSL macro.

Model description
The model description describes the DSL model, based on the signals defined in the
interface. The DSL description includes:
• Parameter descriptions: name and unit
• Allowed parameter ranges
• Initial conditions and functions which are used to calculate initial values.
• The algebraic relations which define the controller.
Example (the integrator):

2. [Ti] = 's' ! the unit of Ti is seconds


3. limits(Ti) = (0,) ! Ti > 0
4. inc(x1) = y ! initially x1=y
5. inc(xe) = 0 ! initially xe=0
6. x1. = xe/Ti ! equation 1: deltax1 / deltat = xe/Ti
7. y = x1 ! equation 2: y=x1

25 - 49
DIgSILENT PowerFactory Stability and EMT Simulations

Advanced Features
The numerical integration of DSL models, interrupt scheduling and input-output signal
processing is handled automatically by the program kernel. In addition, if the output of a
DSL model is an electric current being added to the appropriate total bus current - which
is the case if a load or generator model is created - all Jacobian elements necessary for
the iterative simulation procedure will be calculated automatically.
Another useful feature of DSL is the algorithm implemented for numerical setup of the
system matrix for eigenvalue calculation purposes. Consequently, any model implemented
at the DSL level will be automatically taken into consideration when calculating the system
eigenvalues or when applying the modal network reduction approach (MRT). Of course,
any signal limiting functions will be disabled automatically for this calculation procedure.
In addition, inputs and outputs of model parameters, its organization via windows menus
etc. is also derived automatically from the DSL model.

25.8.3 Defining DSL Models


A new DSL model is created either by entering the DSL code in the equation part of a
"Block Definition'' (BlkDef ) object, or by creating a new Graphical Block Diagram (see
also section Composite Block Definitions on how to create a new block definition). Both
methods will result in a Block Definition Object which holds the definition of the DSL
model.
The block definition objects thus serve two purposes in the process of constructing a DSL
model:
• They hold the definitions and parts of a graphically constructed composite block
definition, and the diagram graphic which was used to define the model;
• They provide the surrounding in which a new "DSL primitive '' or 'primitive block
definition' can be defined.

Composite Block Definitions


To create a new composite block definition:
• Use the main menu entry File  New or Strg-N and then select the option Block/
Frame Diagram from the "New" command dialogue (ComNew).
• Use the 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
surrounding the diagram.
Complex block definition objects are conceptually similar to "Grid Folders'' in the Power-
Factory 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.
The graphical environment in which a complex block diagram is constructed, is not treated

25 - 50
DIgSILENT PowerFactory Stability and EMT Simulations

here. Please refer to Chapter 10 (The Graphics Editor) for more information.

Primitive Block Definitions


To create a primitive DSL block definition:
• 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.

Block Definition Dialogue


When creating a primitive DSL model or by double-clicking on the frame of a composite
block definition, a dialogue will appear, where input and output variables, parameters,
state variables and limiting signals can be defined. Furthermore, additional equations,
initial conditions of variables as well as names and units of parameters can be inserted.
Figure 25.36 shows an example dialogue of a PI controller including limiting parameters
and a 'switch' signal.

25 - 51
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.36: Dialogue of the Block Definition

• The Name and Title will appear in the library folder, where the model is stored.
• The Level of the model representation is only important when using or changing old
models. For new created models "Level 3'' should always be used. For macros, this
option does not have any impact, because the level of the highest block is important,
i.e. the controller definition.
• "Automatic Calculation of Initial Conditions'': PowerFactory can calculate the initial
conditions automatically. However, if no sequence is found (because of, for example,
deadlock situations) there will be an error message.
• "Classification'':
Linear This option will only effect the graphical representation of the block in
the diagram. If this option is enabled, the block will be represented as a
linear block, otherwise as a non-linear block with two lines.
Macro This option is used to identify the block definition as a macro inside the
library.
Matlab Enabling the 'Matlab' tag will show an input dialogue, where a Matlab
(*.m) file can be defined with which the block definition can

25 - 52
DIgSILENT PowerFactory Stability and EMT Simulations

communicate during a simulation. For more information about the


Matlab interface see Section 25.10 (Matlab Integration).
• A constant Limiting Parameter 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.
• The Parameters will appear in the common model dialogue and can then be
specified. The parameter 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.
There are several buttons on the right side of the dialogue:
Contents This button will display the (possible) contents of the block definition.
This can be the graphically inserted objects, further block references or
the packed macros. 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:
DIgSI/info - Check '\TestUser.IntUser\Windparks.IntPrj\Library
\Block Definitions\DFIG\Voltage Control.BlkDef':
DIgSI/info - Block is ok.
Check Inc. The initial conditions of the block definition will be printed and checked.
Pack Pack will copy all used DSL models (macros) of a composite model
definition to the folder "Used Macros" inside the block definition. In this
way there will 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
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

25 - 53
DIgSILENT PowerFactory Stability and EMT Simulations

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.37 shows the additional equations of the DSL model of the PI controller.

Fig. 25.37: Dialogue of the block definition - Page 2

The next section describes the handling and usage of the DSL language.

25.9 The DIgSILENT Simulation Language (DSL)


The DSL language is used to program models for the electrical controllers and other
components used in electrical power systems. As for any other simulation or programming
language, a special syntax is provided for the model formulation.

25.9.1 Terms and Abbreviations


The following terms and abbreviations are used to describe the DSL syntax:
expr arithmetic expression, not to be terminated with a ';'
- arithmetic operators: +, -, *, /
- constants: all numbers are treated as real numbers
- standard functions: sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), sinh(x),
cosh(x), tanh(x), exp(x), ln(x), log(x) (basis 10), sqrt(x) (square root), sqr(x)
(power of 2), pow(x,y), abs(x), min(x,y), max(x,y), modulo(x,y), trunc(x), frac(x),
round(x), ceil(x), floor(x).
These standard functions are described in detail in the last chapter.
- Parenthesis: (arithmetic expression)
All trigonometric functions are based on radians (RAD).
Example:
A = x1+2.45*T1/sin(3.14*y)
boolexpr logical expression, not to be terminated with a ';'
- Logical relations: <, >, <> (inequality), >=, <=, =.
- Unary operators: .not.
- Binary operators: .and. .or. .nand. .nor. .eor.

25 - 54
DIgSILENT PowerFactory Stability and EMT Simulations

- Parentheses: {logical expression}


Example:
A = {x1>0.and..not.x2 <= 0.7}.or.T1=0.0
string anything within '...' (single quotation marks).
Example: A = 'this is a string'

25.9.2 General DSL Syntax


Line length: The maximal line length is 80 characters. Longer lines have to be
broken by using the '&' sign in the first column 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)
Line breaking cannot be used within names or strings.
Case sensitivity
All keywords, names, functions, variables, models, macros, etc. are
case sensitive.
Blanks All blanks are removed when the DSL code is processed. Exception:
blanks in strings are kept.
Comments The '!' sign causes the remaining line to be interpreted as a comment.
Comments are removed when the DSL code is processed.
Example:
! comments may start at the beginning of a line
x1. = select(at<>0, ! comments may be used in broken lines
& (1-sqr(x1)/sqr(at))/Tw, 0)

25.9.3 DSL Variables


A DSL model may use five different types of variables:
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.

25 - 55
DIgSILENT PowerFactory Stability and EMT Simulations

Internal variables
Internal variables are defined and used in the DSL model to ease the
construction of a set of DSL equations.
The following rules may be helpful when interpreting warning and error messages:
• A state variable may not be simultaneously used as a state variable and an output
variable; if required, the use of an assignment like y=x1 is recommended.
• All parameters are real numbers.
• A special parameter 'array_iiii' (with up to 4 digits i), with 2*iiii elements is provided to
define characteristics (see procedure "lapprox'').
• Only the derivatives of state variables can be assigned an expression.

25.9.4 DSL Structure


DSL models are constructed of three parts:
• 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.

25.9.5 Definition Code


Definition code in the equation part of a DSL model is used to define parameter
properties and initial conditions.

Unit and Parameter Description


vardef(varnm) = unitstring;namestring
Unit and name for variable varnm.
Examples:
vardef(Ton) = 's';'Pick up time for restart' ! defines unit and name
vardef(Ton) = ;'Pick up time for restart' ! only defines name
vardef(Ton) = 's'; ! only defines unit
[varnm] = unitstring
Unit for variable varnm, maximum 10 characters wide.
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

25 - 56
DIgSILENT PowerFactory Stability and EMT Simulations

Valid Value Ranges


limits(varnm) = [/( minimum value, maximum value ]/)
Defines the valid interval for variable varnm. Violations of the interval
limits during simulation will be reported:
limits(yt)=(,1] is equivalent to output(yt>1,'Maximum exceeded: yt=yt>1')
The '(' and ')' braces exclude the minimum or maximum value 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.9.6 Initial Conditions

Direct Setting of Initial Conditions


inc(varnm) = expr
Definition of the initial condition of variable varnm. If inc(varnm) is not
defined, the normal assignment expression will be evaluated (only
possible if varnm is of the intern or input type). If inc(varnm) is
defined, it will be evaluated when the model is reset.
inc0(varnm) = expr
Definition of the initial condition of variable varnm, for unconnected
output or input variables. This variant of the inc() statement is used
only when the variable varnm could not be initialized through the initial
condition of the connected input or output signal. The inc0() statement
is thus used to make open input or output terminals possible.
incfix(varnm) = expr
This variant of the inc() statement is valid only in connection with
automatic initialization and is used to determine the initial values in
ambivalent situations. With the incfix, one or more variables can be
directly initialized so that other variables can be initialized
automatically.
Example:
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

25 - 57
DIgSILENT PowerFactory Stability and EMT Simulations

upss=0.

Iterative Setting of Initial Conditions


Three functions are available for determining initial values iteratively: looping, intervalinc,
newtoninc.
These functions are used to find the initial value for one set of parameters if the initial
values of another set of parameters, which are functions of the first set of parameters,
are known.
The iterative functions are used to find the (approximated) values for the unknown
parameters for which the known parameter take their initial value.
loopinc (varnm, min, max, step, eps)
Performs a simple linear search for a single value for which the parameter varnm is
closest to its known initial value.
varnm = target variable, whose initial value is known
min = lower limit
max = upper limit
step = stepsize
eps = maximum error
Example:
inc(a) = loopinc(b, -5, 5, 0.01, 0.001)
• The initial value of variable a is searched 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
intervalinc(varnm, min, max, iter, eps)
Performs an 'interval-division search' for a single value for which the parameter
varnm is closest to its known initial value.
varnm = target variable, whose initial value is known
min = lower limit, max = upper limit
iter = maximum number of iterations
s = maximum error
Example
inc(a) = intervalinc(b, -5, 5, 40, 0.001)
Explanation:
The initial value of the variable a is searched for, within the interval [-5,5] by suc-
cessively dividing the interval as long as the deviation of the variable b 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
newtoninc(initexpr, start, iter, eps)
Performs a Newton iterative search for one or more parameters by minimising the
errors in a set of coupled equations.

25 - 58
DIgSILENT PowerFactory Stability and EMT Simulations

initexpr = the expression which must equal the parameters whose initial value is
sought
start = the starting value for the parameter whose initial value is sought
iter = the maximum allowed number of iterations
eps = the maximum allowed absolute error between initexpr and the parameter
whose initial value is sought.
Example:
qt0 = 0.5
eps = 0.000001
maxiter = 100

inc(hedr) = newtoninc(hw-sqr(qedr)*(Rds+Rdr), hw, maxiter, eps)
inc(qt1) = newtoninc(Pt1/(4*dh*eta1), qt0, maxiter, eps)
inc(qt2) = newtoninc(Pt2/(4*dh*eta2), qt0, maxiter, eps)
inc(qt3) = newtoninc(Pt3/(4*dh*eta3), qt0, maxiter, eps)
inc(qt4) = newtoninc(Pt4/(4*dh*eta4), qt0, maxiter, eps)
This example shows a part of the initial value definitions for a model where the initial
values of 5 parameters (hedr ,qt1 ,..,qt4) are sought simultaneously by setting up a
system of coupled equations and solving that system by the Newton method so that,
eventually:

hedr  hw – qedr   Rds + Rdr 


qt1  Pt1   4  dh  eta1 
qt2  Pt2   4  dh  eta2 
qt3  Pt3   4  dh  eta3 
qt4  Pt4   4  dh  eta4 

The following guidelines should be considered:


• 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.

25 - 59
DIgSILENT PowerFactory Stability and EMT Simulations

25.9.7 Equation Code


Within the equation code, all equations necessary to build up the simulation models are
included. The set of equations defines a set of coupled differential equations which
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.
Expressions 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 introduction of additional state variables.

25.9.8 Equation Statement


The equation statements are used to assign expressions to parameters, thus relating all
parameters in a set of differential equations.
Syntax:
varnm = expr
Assigns expression 'expr' to variable 'varnm'.
Examples:
y = sin(a)+3*x1
y = .not. x1>2 .or. a<=3
varnm. = expr
Assigns expression expr to the first order derivative of the variable varnm.
Examples:
x1. = (xe-x1)/T1
x2. = x1
Remarks
• DSL assignments may occur in any sequence. The sequence does not influence the
evaluation of the assignments.
• All variables are of type floating point, even if assigned to a boolean expression, in
which case the value will be 0.0000 or 1.0000.
• When a variable z is used in a logical expression (i.e. y=.not.z), the logical 1 of z is
tested by evaluating (z>0.5):
y1 = .not.z is interpreted and equal to y1 = (z=<0.5)
There is no warning against mixing logical and non-discrete variables in expressions.
Consequently the following code will 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:

25 - 60
DIgSILENT PowerFactory Stability and EMT Simulations

a = b+5
b = 2*a
• If there is no assignment to a variable varnm, varnm will keep its initial value. The
right side expression may not contain derivatives. Derivatives may only appear on the
left side of the equal sign. The first example is correct; the second is false.
x1. = asin(a) ! Correct
a = sin(x1.) ! Not accepted

25.9.9 DSL Macros


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:
varnm1, varnm2,... = macroname (i1,i2,... ; s1,s2,... ; p1,p2,... ; i1,i2,...)
Assigns the output signals of the DSL macro macroname to the variables varnm1,
varnm2 , ... Assigns the input signals of DSL macro to the variables i1, i2,... The
macro uses the state variables s1, s2,... the parameters p1, p2,... and the internal
variables i1, i2,...
Example:
P1,P2 = '\User\I.BlkDef'(i1,i2;s1,s2;T1,T2)
This example assigns to P1 and P2 the output of DSL model \ User\ I.BlkDef .
Macro calls are not supported within expressions, even if they only have one output
variable.
Correct example:
y = my_macro(x1, s1, p1, i1) !
Incorrect example:
y = 3 * my_macro(x1, s1, p1, i1) + 4
which should be replaced by:
y1 = my_macro(x1, s1, p1, i1)
y = 3 * y1 + 4

DSL Internal Macro Handling


A preparser substitutes each macro call with the equation code of the macro. The
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.

DSL Models
In general, there are two basic types of DSL models possible:
1 Models of electrical devices such as generators, loads or HVDC systems. These
models are characterized by their principal output signal "complex device current'',
which is injected to the electrical grid at a certain busbar. However, in addition to the
electrical device currents, there may be any other variable defined as an output

25 - 61
DIgSILENT PowerFactory Stability and EMT Simulations

signal. A summary of the available variables can be seen in the corresponding


Technical References of the element.
2 Models with output signals which are not directly injected to the electrical network
(general devices). Among these types of models are prime mover units, voltage
controllers, relays, calculation procedures, etc.

25.9.10 Events and Messages


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 Power-
Factory 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.

output(boolexpr, message_string)
The message_string may contain variables and the special function num(boolexpr) or
num(expr):
• Variable names which appear directly after an '=' sign will be substituted by their
actual values; hence, the line of code below may generate the message:
maximum exceeded: yt=1.2 > ymax=1.0:
output(yymax,'maximum exceeded: yt=yt > ymax=ymax')
• The num(expr) or num(boolexpr) will be substituted with the calculated value of the
expression, e.g.:
value=num(a+b) may produce value=3.5000

fault(boolexpr, event_string)
Each DSL model can add events to the event list. A DSL model of a distance relay, for
instance, can open the power switch of a line by adding the correct switch event. 'Adding
an event' is done by executing an existing event object in the PowerFactory database.
Consequently, all events that may be used by the DSL model have to be created together
with the DSL model. They must all be stored inside the common model (ElmDsl). These
DSL events will thus form an integrated part of the DSL model.
The event_string in the fault expression must refer to the name of one of these events.
At evaluation, the event will be thrown onto the event stack if boolexpr is true. As soon
as the simulation reaches the event, it will execute it. Consequently, a delayed event may
be thrown by the DSL model by setting the execution time ahead of the current time.
The parameters of the event can be modified in the fault string by assigning a new value.
The mechanism is the same as described above in the output procedure.

25 - 62
DIgSILENT PowerFactory Stability and EMT Simulations

Example:
fault(u>1.1,'name=MySwitchEvent1 dtime=0.15')
If the variable u exceeds 1.1, the event named 'MySwitchEvent1' will be thrown onto the
event stack and its variable dtime (relative event time) will be set to 15 milliseconds. The
event will thus be delayed for that amount of time, which, in this case, mimics the time
needed to open a switch. The actual switch that will open is defined in the event object
'MySwitchEvent1'.

Note The events are accessed or created by opening the edit dialogue
of the common model (double-click on the DSL model in the
Data Manager), and then pressing the button Events in the dia-
logue. A list of events already defined inside this model is dis-
played.
The events are not added to the project’s global event list unless
the event is 'activated' by the DSL model.

25.9.11 Example of a Complete DSL Model


Thermal Double Reheat Turbine with Steam Storage
Controller Model:
model pt,ptmw =
'pmu_1'(at,sgn,cosn,ngnum;x1,x2,x3,x4;Thp, Tip,Tlp,alflp,Tspi)
[T1] = 's'
limits(T1) = [0,)
limits(alfhp) = [0,1]
vardef(alfhp) = ;'High pressure turbine ratio';
limits(alflp) = [0,1-alfhp]
vardef(alflp) = ;'Low pressure turbine ratio';
vardef(Tspi) = 's';'Boiler capacity time constant';
limits(Tspi) = (0,)
vardef(Thp) = 's';'High pressure turbine time constant';
vardef(Tip) = 's';'First reheater time constant';
vardef(Tlp) = 's';'Second reheater time constant';

inc(x1) = y/K
inc(xe) = y/K
inc(x4) = 1.0
inc(at) = pt
inc(steamflow0) = pt
inc(ylp) = pt
x1. = select(T1>0,(xe-x1)/T1,0)
y = K*select(T1>0,x1,xe) ! if T1=0 => y=xe
steamflow = at*x4
x4. = (steamflow0 - steamflow)/Tspi ! boiler
yhp = PT1(steamflow;x1;Thp) ! high pressure part
yip = PT1(yhp;x2;Tip) ! medium pressure part
ylp = PT1(yip;x3;Tlp) ! low pressure part
pt = yhp*alfhp + ylp*alflp+ yip*(1.0-alfhp-alflp)
ptmw = pt*sgn*cosn*ngnum ! only for output purposes
The used macro 'PT1' is defined as:
model y = 'PT1'(xe;x1;K,T1;)
x1. = select(T1>0,(xe-x1)/T1,0)
y = K*select(T1>0,x1,xe) ! if T1=0 => y=xe
inc(x1) = y/K

25 - 63
DIgSILENT PowerFactory Stability and EMT Simulations

inc(xe) = y/K
[T1] = 's'
limits(T1) = [0,)

25.10 Matlab Integration


Additionally to designing controllers or various electrical and mechanical models using the
DIgSILENT Simulation Language, there is also the possibility to use an interface to
Matlab. This interface gives the opportunity to model controller or very complex transfer
functions using the Matlab environment and insert them as a block definition into a frame
in a PowerFactory transient simulation.
PowerFactory can correspond to the Matlab program during the simulation. It will
transfer the input values of a block to Matlab for every time step, which will then simulate
a specified *.m file in its own environment and gives back the results as the outputs of
the block definition. Consequently this function needs a installation of the Matlab program
including the Simulink package.
The implementation of a Matlab file is shown in the next sections. In this example a
voltage controller is implemented first using a built-in model (ElmVco) and using a
definition from Matlab. This example can also be found in the FAQ on the DIgSILENT
home page.

25.10.1 Implementation of Voltage Controller - Example


In this example the grid consists of two generators, one load and one line, as shown in
Figure 25.38.

Fig. 25.38: Matlab example grid

The simulation event is defined for the load, where the reactive power is increased after
0.5 seconds.
The complete example contains three files:
1 Matlab Example.dz is a PowerFactory file.

25 - 64
DIgSILENT PowerFactory Stability and EMT Simulations

2 VCOtype16.m is a Matlab M-file.


This file is an interface to the Simulink model, and it is used as a middle layer in the
communication between PowerFactory and Simulink.
3 vcotype16mod.mdl is a Simulink model and contains Simulink implementation of
VCO type 16.

25.10.2 Implementation with Built-In Model


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 param-
eters set.
In Figure 25.39 the edit dialogue of the ElmVco with the parameters of the AVR can be
seen.

Fig. 25.39: Parameters dialogue of the voltage controller

The model representation of the ElmVco__16 is indicated in Figure 25.40.

Fig. 25.40: Parameters dialogue of the voltage controller

25 - 65
DIgSILENT PowerFactory Stability and EMT Simulations

The plots resulting from the simulation (Figure 25.45) show busbar voltages and
excitation voltage for both generators. The results are stored in result files located under
the “Results” folder of the relevant study case.

25.10.3 Implementation with Matlab Model


In the second study case "Matlab'' which is a modification of the base case, VCO type 16
is modelled inside the Simulink package, instead of using a built-in model. The Matlab
console is started automatically when running the simulation.
To implement a Matlab model into a current project in PowerFactory it has to be
included into a frame similar to a DSL model definition. This procedure is described in
detail in the Section 25.10 (Matlab Integration). First a slot inside the frame has to be
created, where the controller model should be inserted. This is done exactly like for imple-
menting built-in models or common models. Then a block definition BlkDef has to be
created inside the library. Instead of programming the transfer function using the DSL
code, there can now the definition of the Matlab code be imported.
This can be done in the dialogue of the block definition. When creating a primitive DSL
model in the library by
• right-clicking a or inside a (library) folder in the active project in the data manager
and selecting New...  Block/Frame - Diagram from the context menu.

• using the "New Object'' icon in the database manager and selecting Block
Definition (BlkDef).
• double-clicking an new/empty block reference in an open block diagram and then use

the button to select a block definition. Then The icon can be used to create a
new block definition inside the local library.
Now open the dialogue of the new BlkDef
• by double-clicking on the frame of a composite block definition
• by double-clicking the definition in side the library or on its icon
Here input and output variables, parameters, state variables and limiting signals have to
be defined. Instead of inserting the equations to describe the different function blocks, a
Matlab file *.m can be selected, when the option Matlab is activated.
The edit dialogue of the block definition including the parameter definition and the
selected file can be seen in Figure 25.41 for the mentioned example.

25 - 66
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.41: Composite model using a special frame

The model representation of the ElmVco__16 in the Matlab Simulink package is shown
in Figure 25.42.

Fig. 25.42: Parameters dialogue of the voltage controller

When the block definition is specified, a DSL model has to be created first. As described
in Section 25.7.4 (The Common Model), the common model element (ElmDsl, ) is the
front-end object for all user-defined block definitions. This means that all user-defined
transient models including built-in elements or Matlab models cannot be used other than
through a common model.
The common model then combines a model or block definition with specific set of
parameter values. The edit dialogue of the DSL element now looks different to the built-
in ElmVco. From Figure 25.43 can be seen, that this dialogue is similar to the normal DSL
models. All time constants and other parameters are the same as for the built-in VCO
models.

25 - 67
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.43: Parameters dialogue for the Matlab voltage controller

Figure 25.44 shows the composite model using the special frame with the generator 'G1'
and the Matlab-AVR inserted into the slots.

Fig. 25.44: Composite Model using a special frame

These results from the simulation of the reactive power step using the built-in VCO model
(dotted curves) and using the Matlab representation (solid curves) can be seen in Figure
25.45.

25 - 68
DIgSILENT PowerFactory Stability and EMT Simulations

Fig. 25.45: Results of the transient simulation with the Built-In model

25.10.4 The Matlab File


The Matlab file VCOtype16.m is an interface configuration for the Simulink model,
stored in the file vcotype16mod.mdl, and the PowerFactory DSL model. There the
input and output signals, the parameters and the state variables are defined, as described
below. The transfer function is specified.
The contents of this file is listed here:

function [t, x, y] = VCOtype16


global U Tvm Usetp Upss Vska Tisp Ur1mx Ur1mn Vsex Efdmx
Efdmn ve1 x1 x2
options = simget('VCOtype16mod');
options = simset('InitialState', [x1,x2]);
[t, x, y] = sim('VCOtype16mod', [], options);

PowerFactory inserts the following variables into the Matlab workspace:

U, Tvm, Usetp, Upss, Vska, Tisp, Ur1mx, Ur1mn, Vsex, Efdmx, Efdmn, ve1, x1,
x2

Those variables are necessary to successfully run the Simulink model. There are three
input signals (U, Estop, Upss), one output signal Uerrs and two state variables x1 and x2.
In each step of the PowerFactory simulation the Simulink model is completely
evaluated. State variables ('InitialState') are assigned to Simulink model in each step of
the simulation. For PowerFactory it is a simple function call:

[t, x, y] = VCOtype16.
PowerFactory uses only one Simulink model for both generators. To avoid limitation of

25 - 69
DIgSILENT PowerFactory Stability and EMT Simulations

Simulink, which allows only one instance of the model running at the same time, Power-
Factory must send all parameters in the each step of the simulation.
To find appropriate equations for the initial conditions you need to understand the
construction of the transfer function blocks in Simulink. To obtain this understanding
you can replace the variables with actual numbers in the Matlab Simulink model, set
the initial conditions, run it for a few seconds and monitor the outputs of all transfer
functions to see whether the model initialized correctly.
The Matlab Simulink model (.mdl) and the interface file (.m) file may not have the same
name.
The order of the state variables in the interface file's statement "options = simset('Initial-
State', [x1, x2, …….])" is important; the order of the elements in the vector [x1, x2, …]
must be the same as in the state variable vector constructed internally by Matlab. To
determine the order of the Matlab state variable vector the user may use the command
"[sizes,x0,xstring]= ModelName" in the Matlab workspace, where ModelName is the
name of the Simulink model (without the .mdl extension and without inverted commas).
The output of the string variable xstring contains the names of the dynamic blocks in the
Simulink model in the desired order. In the case of the above example the first state
variable is in the measurement block and the second state variable is in the integrator:

xstring =
...'VCOtype16_model/Measure/State Space'
...'VCOtype16_model/Integrator'
The names of the variables in the 'Initial conditions' fields in the masks of the Simulink
model dynamic blocks is irrelevant.
The initial conditions are set within PowerFactory. Also, for the purpose of Power-
Factory’s model checking mechanisms, the state derivatives equal to zero
The Simulink solver parameters are set to integrate over one small time step, e.g. start
time = 0, end time = 0.01, and step size = 0.01.
The y-matrix returned by MATLAB contains the output variables. If more than one output
variable is defined in the DSL model, then those are sorted alphabetically before
assigning the outputs from MATLAB. For example, if there are two outputs "uerrs" and
"output", then the value from the first column of the y-matrix is assigned to "output" and
the value from the second column is assigned to "uerrs".

25.10.5 Additional notes


DIgSILENT PowerFacory calls MATLAB using the programme identification keys
"Matlab.Application" and "Matlab.Application.Single". PowerFactory will start that same
MATLAB installation which was used last. Additional information on the calling of MATLAB
is available on http://www.mathworks.com.

25 - 70
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

Chapter 26
Modal Analysis / Eigenvalue Calculation

The modal analysis calculates the eigenvalues and eigenvectors of a dynamic multi-ma-
chine system including all controllers and power plant models. This calculation can be per-
formed not only at the beginning of a transient simulation but also at every time step
when the simulation is stopped.
The eigenvalue analysis allows for the computation of modal sensitivities with respect to
generator or power plant controllers, reactive compensation or any other equipment.
The calculation of eigenvalues and eigenvectors is the most powerful tool for oscillatory
stability studies. For its application it is highly recommended to first compute the ’bare
natural’ system oscillation modes. These are the oscillation modes of the system without
taking any controller or power plant model into consideration, i.e. with constant turbine
power, constant excitation voltage etc. Starting from these ’bare natural’ modes the ef-
fects of controllers (structure, gain, time constants etc.) and other additional models can
be calculated as the second step.

26.1 Theory of Modal Analysis


After the initial conditions have been calculated successfully, which means that all time-
derivatives of the state variables should be zero, or the simulation has been stopped at a
point in time, the modal analysis calculates the complete system A-matrix by means of
numerical, iterative algorithms. The representation of the electrodynamic network model
is equivalent to the representation used for the balanced RMS simulation, except for the
general load model, for which the frequency dependencies are neglected.
The computation time for the models analysis is approximately proportional to the num-
ber of state space variables to the power of three.
A multi-generator system exhibits oscillatory stability, if all conjugate complex eigenval-
ues, making up the rotor oscillations have negative real parts. This means they will lie in
the left complex half-plane. The individual generator oscillations will then be stable.
Assuming that one of the conjugate complex pair of eigenvalues is given by:
 i =  i  j i
then the oscillatory mode will be stable, if the real part of the eigenvalue is negative
i  0
The period and damping of this mode are given by
2
T i = ----------
i

26 - 1
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

1  An 
d i = –  i = ------  ln  ---------------
Tp  A n + 1
where An and An+1 are amplitudes of two consecutive swing maxima or minima respec-
tively.
The oscillatory periods of local generator oscillations are typically in the range of 0.5 to 5
Hz. Higher frequency of the natural oscillations, i.e. those which are normally not regu-
lated out, are often damped to a greater extent than slower oscillations. The oscillatory
period of the oscillations of areas (inter-area oscillations) is normally a factor of 5 to 20
times greater than that of the local generator oscillations.
The absolute contribution of an individual generator to the oscillation mode which has
been excited as a result of a disturbance can be calculated by:
n
i  t
t  = ci  i  e
i=1
where
t  generator speed vector

i i'th eigenvalue

i i'th right eigenvector

ci magnitude of excitation of the i'th mode of the system (at t=0)


(depending on the disturbance)
n number of conjugate complex eigenvalues
(i.e. number of generators - 1)
In the following c is set to the unit vector, i.e. c = [1, ..., 1], which corresponds to a the-
oretical disturbance which would equally excite all generators with all natural resonance
frequencies simultaneously.
The elements of the eigenvectors i then represents the mode shape of the eigenvalue i
and shows the relative activity of a state variable, when a particular mode is excited. They
show e.g. the speed amplitudes of the generators when an eigenfrequency is excited,
whereby those generators with opposite signs in i oscillate in opposite phase.
The right eigenvectors i can thus be termed the "observability vectors''. The left eigen-
vectors i measures the activity of a state variable x in the i-th mode, thus the left eigen-
vectors can be termed the "relative contribution vectors''.
Normalization is performed by assigning the generator with the greatest amplitude con-
tribution the relative contribution factor 1 or -1 respectively.
For a n-machine power system, n-1 generator oscillation modes will exist and n-1 conju-
gate complex pairs of eigenvalues i will be found. The mechanical speed  of the n gen-
erators will then be described by:

26 - 2
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

1  11  21  n1
2  12 1 t  22 2 t  n2 n t
= c1  e + c2  e + ... + c 2  e
... ... ... ...
n  1n  2n  nn

The problem of using the right or left eigenvectors for analyzing the participation of a gen-
erator in a particular mode i is the dependency on the scales and units of the vector ele-
ments. Hence the eigenvectors i and i are combined to a matrix P of participation
factor by:

p 1i  1i   i1
p 2i  2i   i2
pi = =
... ...
p ni  ni   in

The elements of the matrix pij are called the participation factors. They give a good indi-
cation of the general system dynamic oscillation pattern. They may be used easily to de-
termine the location of eventually needed stabilizing devices in order to influence the
system damping efficiently. Furthermore the participation factor is normalized so that the
sum for any mode is equal to 1.
The participation factors can be calculated not only for the generator speed variables, but
for all variables listed in Table 26.1.

Name Unit Description

s:speed p.u. Speed

s:phi rad Rotor-angle

s:psie p.u. Excitation-Flux

s:psiD p.u. Flux in D-winding

s:psix p.u. Flux in x-winding

s:psiQ p.u. Flux in Q-winding

Table 26.1: Variables accessible for eigenvalue calculation

26 - 3
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

26.2 Performing an Eigenvalue Analysis


A modal analysis can be started when a balanced steady-state condition is reached in a
dynamic calculation. Normally, such a state is reached by a balanced load-flow calcula-
tion, followed by a calculation of initial conditions. However, it is also possible to perform
a balanced RMS simulation and start a modal analysis after the end of a simulation or after
stopping the simulation.

Note The modal analysis can be executed at any point of time in a tran-
sient simulation. Nevertheless always keep in mind that the results
of the modal analysis are valid on the basis, that the system is in
a quasi steady-state operation point. Furthermore the calculated
oscillation modes are only valid for "small'' perturbations of the
system. If large transient disturbances are applied to the network,
the oscillation frequency and damping may change from the re-
sults of the eigenvalue analysis.

When a load-flow is calculated, the icon to open the modal analysis dialogue( ) be-
comes active. Using the Settings button (in the ''Basic Options'' page), the options for
calculating the initial conditions used by the modal analysis can be specified.
On the ''Advanced Options'' page, the state variable and the result file for the Eigenvalue
analysis can be defined. The default state variable is the speed signal of the generators.
The default result file is Eigenvalue (s:speed) and is stored inside the active study case.
The relative participation factors can be calculated not only for the generator speed vari-
ables, but there is also the possibility to select from the variables as shown in table 26.1.
Figure 26.1 shows the command dialogue of the modal analysis with the variable s:speed
selected as the state variable.

Fig. 26.1: Command dialogue of the modal analysis

26 - 4
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

When executing the command by pressing Execute, the initial conditions of all elements
is calculated first. Then the modal analysis constructs a system matrix from the load-flow
and the dynamic data. The eigenvalues and eigenvectors are calculated directly from that
matrix. Since eigenvalue calculations require linearized models, PowerFactory automat-
ically performs the linearization of all relevant system elements.
The following information is printed to the output window, when the eigenvalues are cal-
culated:
DIgSI/info (t=-100:000 ms) - Initial conditions calculated.
DIgSI/info (t=-100:000 ms) - Starting Modal Analysis. Please wait...
DIgSI/info (t=-090:000 ms) - Modal Analysis ready !

26.3 Visualization of Modal Analysis Results

26.3.1 Output Window


The results of the modal analysis can be outputted in various ways:
• The system eigenvalues and eigenvectors only
• The relative generator participation factors
• Detailed information about the eigenvalues and the relative generator participation
factors
The results are printed to the output window with the ComSh output command by acti-
vating the "Output Calculation Analysis"-icon . After a modal analyses has been exe-
cuted, the ComSh shows the active option Eigenvalues in the LoadFlow/Simulation report
selection.
Selecting Eigenvalues will then enable the selection Output of Eigenvalues, as shown in
Figure 26.2.
Either the eigenvalues may be reported, or the participation factors. When the option
Eigenvalues is selected all calculated eigenvalues of the system are printed in a report
style into the output window. Figure 26.3 shows the results of a small example power sys-
tem.

26 - 5
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

Fig. 26.2: Output of eigenvalues with participation factors selected

Fig. 26.3: Output of system eigenvalues

Selecting the option Participations, either detailed or not, will further enable the selection
of the state variables and the certain eigenvalues as can be seen in Figure 26.2. For the
user convenience, there is also the possibility to define a filter for the eigenvalues (system
modes). The filter for eigenvalues is used to show only the participation factors of specific
system modes, if Select Eigenvalue(s) is set to Filtered. Otherwise the selected specific
eigenvalue will be used and the filter will be ignored.
The system modes and participating generators can be filtered by using the following op-
tions:

26 - 6
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

Maximal Damping
The damping of the system mode will be below the defined value in [1/s].
Maximal Period
System modes oscillating below the defined periodic time in [s] will be shown.
Min. Participation
Only generators with a participation factors above the specified limit will by
outputted.
The results of the participation factors of the generators in the small example power sys-
tem are shown in Figure 26.4.

Fig. 26.4: Output of participation factors

26.3.2 Modal Analysis Plots

The Eigenvalue Plot (Viseigen)


The Eigenvalue Plot displays the calculated eigenvalues in a two axis coordinate system.
For the vertical axis, it is possible to select among the imaginary part, the period or the
frequency of the eigenvalue. The horizontal axis shows the real part.

An Eigenvalue Plot is generated by clicking on the icon from the 'Select Plot Type'
button of the toolbar menu (see Figure 26.5). After cliking on the icon, the edit dialogue
of the Viseigen object pops up; there the user can set the figure appearance and the
displayed values on the vertical axis. Figure 26.6 shows an example of an Eigenvalue Plot
displaying the imaginary part of the calculated eigenvalues.

Fig. 26.5: Selection of the modal analysis plot

26 - 7
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

Double-clicking on any of the displayed eigenvalues, pops-up the informative dialogue of


Figure 26.7. There the oscillation parameters and the coordinates in complex and polar
representation are given.

DIgSILENT
3.9739

Frequency [Hz]

2.3843

0.7948

-35.714 -24.797 -13.879 -2.9612 7.9564 Neg. Damping [1/s] 18.874

-0.7948

-2.3843

-3.9739

178 out of 186 Eigenvalues are stable


8 out of 186 Eigenvalues are unstable

Fig. 26.6: The Eigenvalue plot

Fig. 26.7: IntEigen dialogue

The Mode Bar Plot (VisModbar)


Displays the participation factors of the system generators (according to the state variable
selected in the modal analysis command, Figure 26.1) in a selected mode by means of a
bar diagram. A new Mode Bar Plot is created by clicking on the icon from the 'Select
Plot Type' button (Figure 26.5).
After the icon has been clicked, the VisModbar dialogue pops up, there the bar diagram
options and the displayed mode can be set. Participant generators can be filtered accord-
ing to the magnitude of the participation factor; also the bar diagram can be restringed

26 - 8
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

to a selected group of generators. Figure 26.8 shows the Mode Bar Plot for the 20th mode
of the small power system used for the example of figures 26.3 and 26.4.

DIgSILENT
TCHIMH03: -0.303 / +133.1 deg

TCHIMH02: -0.324 / +121.5 deg

TCHIMH01: -0.176 / -167.2 deg

OW ENDG02: -0.145 / -127.2 deg

OWENDG01: +0.420 / +89.6 deg

INJEC01: +1.000 / +0.0 deg

KINGUH03: -0.362 / -133.9 deg

KINGUH02: -0.334 / -152.4 deg

KINGUH01: +0.337 / -39.3 deg

-1.00 -0.50 0.00 0.50 1.00


Participation of mode: +1.258 +10.451*j
Magnitude: 10.527 1/s, Angle: 83.134 deg
Period: 0.601 s , Frequency: 1.663 Hz
Damping: -1.258 1/s, Ratio of Amplitudes: 0.469
Min. contribution: 0.100

Fig. 26.8: The Mode Bar plot

The magnitude and the phase of any participation factor can be visualized by double click-
ing on a bar. This action opens the so called IntEigstate dialogue from Figure 26.9.

Fig. 26.9: Eigenvalue state dialogue

Mode Phasor Plot (VisModephasor)


The Mode Phasor Plot displays the participation factors of the system generators (accord-
ing to the state variable selected in the modal analysis command, Figure 26.1) in a select-
ed mode by means of a phasor diagram. A new Mode Phasor Plot is created by clicking
on the icon from the 'Select Plot Type' button (Figure 26.5).
Like in the Mode Bar Plots, the participant generators can be filtered according to the

26 - 9
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

magnitude of the participation factor and the diagram can be restringed to a selected
group of generators. Figure 26.10 shows the Mode Phasor Plot for the same mode from
Figure 26.8. Double clicking on a participation factor phasor will display its IntEigstate
dialogue as in Figure 26.9.

Cluster 1: Cluster 7:

DIgSILENT
TCHIMH02: 0.32 / 121.5 deg 1.00 OWENDG01: 0.42 / 89.6 deg
Cluster 2: Cluster 8:
TCHIMH03: 0.30 / 133.1 deg INJEC01: 1.00 / 0.0 deg

0.50

-1.00 -0.50 0.50 1.00

-0.50

Cluster 3:
TCHIMH01: 0.18 / -167.2 deg
Cluster 4: -1.00
KINGUH02: 0.33 / -152.4 deg
Cluster 5: Participation of mode: +1.258 +10.451*j
KINGUH03: 0.36 / -133.9 deg Magnitude: 10.527 1/s, Angle: 83.134 deg
Period: 0.601 s, Frequency: 1.663 Hz
Cluster 6: Damping: -1.258 1/s, Ratio of Amplitudes: 0.469 Cluster 9:
OWENDG02: 0.15 / -127.2 deg Min. contribution: 0.100 KINGUH01: 0.34 / -39.3 de

Fig. 26.10: The Mode Phasor plot

26.3.3 Data Browser


The calculation results of the modal analysis can be displayed in a data browser by clicking
on the icon (toolbar menu). The ComModres dialogue from Figure 26.11 pops up.
There the result file containing the defined output variables (see 26.2) and the values to
display (eigenvalue or mode data) are selected.
Pressing the Execute button in the ComModres dialogue, opens a data browser con-
taining the calculation results as in Figure 26.12.

26 - 10
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

Fig. 26.11: Displaying modal analysis results in a data browser (ComModres


dialogue)

Fig. 26.12: Modal analysis results in a data browser

26 - 11
DIgSILENT PowerFactory Modal Analysis / Eigenvalue Calculation

26 - 12
DIgSILENT PowerFactory Model Parameter Identification

Chapter 27
Model Parameter Identification

The process of parameter estimation for power system elements for which certain mea-
surements have been made is performed with the "Parameter Estimation" function using
the icon .
The ComIdent command object is a high performance non-linear optimization tool,
which is capable of a multi parameter identification for one or more models, given a set
of measured input and output signals. This identification is principally performed in the
following way:
• A "Measurement File'' object (ElmFile) is created which maps the raw measured data
onto one or more "measurement signals''. These signals may contain measured
excitation and response signals.
• The measurement signals are used as inputs by the models of the power system
elements for which one or more parameters have to be identified, or they may be
used to control voltage or current sources.
• The output signals of the power system elements are fed into a comparator, just as
the corresponding measured signals. The comparator is thus given the measured
response on the excitation and the simulated response of the element models.
• The comparator calculates an objective function, which is the weighted sum of the
differences between the measured and the simulated response, raised to a whole
power (by default to the power of 2).
• The ComIdent command will collect all objective functions from all comparator
objects in the currently active study case and will minimize the resulting overall
objective function. To do this, the ComIdent command is given the list of
parameters which are to be identified. The objective functions are minimized by
altering these parameters.
This whole process is visualized in Figure 27.1.

27 - 1
DIgSILENT PowerFactory Model Parameter Identification

Fig. 27.1: The identification Principle

Of course, Figure 27.1 only visualizes the principle of the identification. To connect mea-
surement files, power system models and comparator objects to each other, a composite
frame is used. This, and all other details of the PowerFactory identification functions, is
described in the following sections.

27.1 Target Functions and Composite Frames


The parameter identification process is performed by minimizing objective functions.
These objective functions are calculated by ElmCompare objects from the difference be-
tween measured responses and calculated responses of one or more power system ele-
ments.
To define an objective function, the measured excitation signals must be connected to the
component models or to voltage or current sources, and the measured and calculated re-
sponse signals must be connected to the compare object. All this is done graphically by
drawing a Composite Frame, using a block definition (BlkDef) with slots.
A simple example of an identification block diagram, for the objective function for a volt-
age controller, is visible in Figure 27.2.

27 - 2
DIgSILENT PowerFactory Model Parameter Identification

Fig. 27.2: Simple identification block diagram

The block diagram uses slots which reserve space for the measurement files, the compar-
ator and the element models.

27.1.1 The Measurement File Slot


The measurement file object (ElmFile) has the following signals available:
• Number of Input Signals: 0
• Number of Output Signals: 10
• Input Signals Names: -
• Output Signals Names: "y1,..,y10''
The measurement file slot in the example of Figure 27.2 has the following settings:
• Class Name Filter: "ElmFile''
• Output Signals: "y1,y2''
The fact that the signal is named "output'' signals in the case of the measurement file
does not implicate that the parameter identification only regards measured response sig-
nals ("measured outputs'') from power system elements. It only means that the measured
excitation signals will be mapped onto ElmFile signals. The ElmFile will reproduce the
measured excitation and response signals during the identification process.

27.1.2 Power System Element Slot


Power system element slots are used in the identification block diagram in the same way
as they are used to define composite models.
As in the case of a composite model diagram, the element slots may use any of the avail-
able parameters of the power system element model as input or output. The in- and out-
put signals are defined by stating the exact variable name (see also Section Composite
Block Definitions in Section 25.8 (User Defined (DSL) Models)).
In the case of the example in Figure 27.2, the "Vco1'' slot has the following parameters
set:
• Class Name Filter: "ElmVco*''
• Output Signals: "uerrs''
• Input Signals: "u''

27 - 3
DIgSILENT PowerFactory Model Parameter Identification

27.1.3 Comparison Slot


The comparison object ElmCompare has the following properties:
• Number of Input Signals: 21
• Number of Output Signals: 0
• Measured Response Signal Names: "in1mea,..,in10mea''
• Simulated Response Signal Names: "in1sim,..,in10sim''
• Weighting Factor: qzpf
• Output Signals Names: -
The calculated value of the objective function will be multiplied by the weighting factor
before it is put out. The weighting factor may be used, for instance, to connect a time-
window to the comparison object which forces the objective function to zero for those
moments in time which are not to be used in the identification process.
In the case of the example in Figure 27.2, the Comparison slot has the following param-
eters set:
• Class Name Filter: "ElmCompare''
• Input Signals: "in1meas,in1sim''

27.2 Creating The Composite Identification Model


The identification block diagram only defines a generalized 'workbench' that is needed for
the identification process. Its function is similar to that of the "Composite Frame'' object.
There is also the need to create a composite model, based on the block diagram, to iden-
tify particular parameters of particular objects.
Suppose having a voltage controller model of which one wants to identify the parameters
ka '' and ta. Measurements of the behavior of the physical appliance are available as mea-
sured voltage-curves on the input and output of the controller during a disturbance.
Assuming the example identification block diagram of Figure 27.2, a composite model
(ElmComp) has to be created in the active grid folder.

Note If the identification process only addresses secondary power sys-


tem element, which are not directly connected to busbars, the
identification process does not require a power system grid.
However, all calculation functions like load-flow or EMT simulation
require a calculation target in the form of an activated grid of sys-
tem stage folder. Therefore, a grid folder with at least one 'DUM-
MY' busbar has to be created when secondary element models are
to be identified.

The composite model must be set to use the identification block. It will then show the
slots that have been defined in that block. In the current example, the composite model
dialogue will look like Figure 27.3.

27 - 4
DIgSILENT PowerFactory Model Parameter Identification

Fig. 27.3: The example composite identification model

In this figure, the three slots have been assigned already. Visible is that the comparison
object "Compare Signals'' is selected, as well as a measurement file and the voltage con-
troller of which to find the best possible values for ka and ta.

27.2.1 The Comparison Object


The comparison object calculates the objective function from the connected measured
and simulated responses. It allows for the use of weighting factors and for other powers
to raise to. The example in Figure 27.4 shows the default settings.

27 - 5
DIgSILENT PowerFactory Model Parameter Identification

Fig. 27.4: The comparison object dialogue

In this figure, the 10 difference signals are listed, with their weighting factor. By default,
these are one, but they may be edited freely. The power factor equals 2 by default but
may be set to any other positive whole number from 2 to 10.
The objective function calculated by the comparison object equals
n
p
   Mi – Si   wi 
i=1
where
• M i is the measured response (i.e. "in1mea'')

• S i the simulated response (i.e. "in1sim'')

• w i is the weighting factor (i.e. for the difference signal nr.1)

• p is the power

27.3 Performing a Parameter Identification


The identification process is executed by the ComIdent command. This command can
be opened by the icon on the main menu. This icon can be found on the "Stability''
toolbar which is be accessed by selecting the icon .
The Comident dialogue is depicted in Figurefigure 27.5.

27 - 6
DIgSILENT PowerFactory Model Parameter Identification

Fig. 27.5: The ComIdent dialogue

This dialogue shows references to the following objects:


Composite Model
This reference is normally not needed. When left open, the identification process
will automatically gather all composite identification models and will minimize all
objective functions.When the composite model reference is set, then the
identification will only minimize that model's objective function.
Load-Flow Settings
This reference is automatically set to the load-flow command that will be used
during the identification process.
Initial Conditions
This reference is automatically set to the initial conditions command that will be
used during the identification process.
Simulation
This reference is automatically set to the simulation command that will be used
during the identification process.
The identification process allows for the use of load-flow calculations and/or dynamic sim-
ulations.
The "Load-Flow'' and "Simulation'' pages shows the variables that are to be identified, in
case of a load-flow or a dynamic identification. See for example Figure 27.6.

27 - 7
DIgSILENT PowerFactory Model Parameter Identification

Fig. 27.6: Setting identification parameters

In this example, two parameters of the voltage controller element "vco IEEEX1'' from the
Composite Identification Model are listed. The identification process will alter these pa-
rameters in order to minimize the objective functions.
The "Mode'' field in the parameter list determines the parameter constraints:
0 means not to change the parameter, but to leave it at its initial conditions. This
option may be used to temporarily exclude some parameters from the identification
process.
1 mean to optimize the parameter without restrictions
2 means to optimize the parameter, given the constraint that the parameter value
must always be greater than zero.
Although the object for which the parameters are optimized in this example is the same
object as is used in the Composite Identification Model, it is allowed to enter any other
parameter from any other element, as long as that element belongs to the active study
case. Such may be used to optimize secondary appliance, where only the behavior of the
primary appliance has been measured.

27.4 Identifying Primary Appliances


A primary appliance, such as a general load, an asynchronous machine or a static var sys-
tem, do not have an input signal like a voltage controller or any other secondary appli-
ance. It would therefore not be possible to connect a measured signal directly to a load
model in order to simulate its response.
To identify a primary element model, a small grid model is used to which one or more
controllable voltage sources may be connected. These voltage sources will translate the
measured voltage signals from the measurement file into a normal busbar voltage which
will be used in the load-flow or simulation calculations. The response of the primary ele-
ment models connected to that busbar may then be compared to a measured response.
An example of this method is shown in the following figures.

27 - 8
DIgSILENT PowerFactory Model Parameter Identification

Fig. 27.7: Identification diagram with primary element

In Figure 27.7, a simple Identification Block Diagram is shown in which the measurement
file is no longer connected to the element slot, but to the voltage source slot. The voltage
at the busbar at which the voltage source will be connected will thus be forced to the mea-
sured values during the identification process.

Fig. 27.8: Primary element and voltage source

In Figure 27.8, a very simple grid is shown to which the load which is to be identified and
a voltage source element are connected. As with the normal identification process, a Com-
mon Identification Model has to be created which uses the Identification Diagram with
Primary Element as shown in Figure 27.7. In the ComIdent command dialogue, the un-
known parameters of the load may then be listed.
It is of course possible to mix the identification of both primary and secondary power sys-
tem elements at the same time.

27 - 9
DIgSILENT PowerFactory Model Parameter Identification

27 - 10
DIgSILENT PowerFactory Contingency Analysis

Chapter 28
Contingency Analysis

In general, contingency analysis is performed to ascertain the risks that contingencies


pose to an electrical power system. PowerFactory’s contingency analysis module offers
two distinct contingency analysis methods:
Single Time Phase Contingency Analysis:
The non-probabilistic (deterministic) assessment of failure effects
under given contingencies, within a single time period.
Multiple Time Phase Contingency Analysis:
The non-probabilistic (deterministic) assessment of failure effects
under given contingencies, performed over different time periods, each
of which defines a time elapsed after the contingency occured. It allows
the definition of user defined post-fault actions.
Contingency analyses can be used to determine power transfer margins or for detecting
the risk inherent in changed loading conditions. This chapter deals with deterministic
contingency analysis.

28.1 Single Time Phase Contingency Analysis


The single time phase contingency analysis function performs load flow calculations for
user-defined sets of contingency cases, 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.

To access the various contingency analysis related functions within PowerFactory, click
on the icon on the "Select Toolbar" (shown in Figure 28.1).

To initiate the contingency analysis command, click on the icon, which should now
be visible in the first row of icons at the top right of the screen.

Fig. 28.1: Contingency Analysis Selection from the Main Toolbar

28 - 1
DIgSILENT PowerFactory Contingency Analysis

The single time phase contingency analysis is carried out using the Contingency Analysis
command (ComSimoutage, ). When executed, it automatically performs a 'base'
load flow calculation to determine the operational point of the network under no-fault
conditions. The command contains Contingency Cases (ComOutage objects) which
define one or more elements that are taken out of service simultaneously. Following the
calculation of the base load flow, for each of these contingencies a contingency load flow
is calculated. This calculation considers the post-fault thermal ratings of branch elements
(see Section 7.5.7), transformer tap changer controller time constants and automatic
shunt compensators (for further information please refer to Section 28.2).

In PowerFactory, contingency cases can be generated by two primary means:


• 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 Section 7.5.3) from the Operational Library. By
means of a topological search, PowerFactory determines which circuit breakers must
be operated 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 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 contin-
gencies from fault cases/groups, please refer to Section 28.5.
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 --> Contingency Analysis.... Either an n-1 or an n-2 outage simulation for
the selected elements can then be prepared. The Contingency Definition command
optionally allows all lines/cables, transformers 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.6.
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
contingencies up to the given Post Contingency Time (see Section 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; i.e. maximum loading of branch elements, exceeded
voltage limits, etc. Refer to Section The Single Time Phase Contingency Analysis
Command for further information on configuring the reporting settings; and see Section
13.9 (Results Objects) for information on using results (ElmRes) objects in Power-
Factory.
The following sections provide detailled information regarding the settings and features
of the contingency analysis command in its single time phase configuration.

28 - 2
DIgSILENT PowerFactory Contingency Analysis

28.2 The Single Time Phase Contingency Analysis


Command
PowerFactory’s contingency analysis command (ComSimoutage ) can be
configured to perform single time phase contingency analysis, as displayed in Figure 28.2.
In this configuration, it determines the initial operational point of the network by means
of a 'base' load flow calculation; then for each of the stored contingency cases, places the
interrupted components (see Section 28.2.4) on outage and performs a contingency load
flow.

The contingency load flow is characterized by the Post Contingency Time parameter
(available in the Basic Options tab of the Contingency Analysis command, if either a
Contingency Load Flow has been defined, or when the option Consider Specific Time
Phase has been selected). This parameter determines the duration of the interval
between the occurrence of the fault(s) which define the contingency, and the time when
the load flow calculation of the network under the contingency situation is performed. The
Post Contingency Time is a key parameter of the single time phase contingency analysis
because:
1 The actions of transformer automatic tap changers and switchable shunt
compensators on the faulted network are only regarded if the time constants of their
controllers are less than the defined Post Contingency Time (i.e. if the controllers
are fast enough to operate during the time phase); and
2 The operational thermal ratings of branch elements during the contingency (if 'short
term' thermal ratings (see Section 7.5.7) have been defined) will depend on the
duration of the contingency, i.e. the Post Contingency Time.

Note: The 'base' and the 'contingency' load flow calculations by default
use the same load flow command (ComLdf object). However, the
user can define different load flow commands for these two calcu-
lations by selecting the option ‘Allow different settings’ on the Ad-
vanced tab of the contingency analysis command
(ComSimoutage). The actions of automatic tap changers and
switchable shunts are only possible if the corresponding options
are selected in the 'Basic Options' tab of the load flow command(s).

The contingency analysis uses a result file object (ElmRes, see Section 13.9: Results
Objects) to store the voltages at terminals, and the loading of certain branch element
classes (lines, transformers, series capacitances and series reactances). Recording the
loadings for all branches and the voltages for all terminals for every contingency may lead
to excessive data storage. Therefore, in order to reduce the amount of data recorded,
only significant results are recorded. For contingency analysis, a calculated parameter is
considered to be significant if the constraints (voltage and thermal limits) of the corre-
sponding component are violated. Constraints can be set individually for each terminal
and branch element (in the Load Flow tab of the element’s dialogue) or globally in the
Limits for Recording field of the contingency analysis command. A calculated result is
stored in the result file whenever one of the constraints (individual or global) is violated.

28 - 3
DIgSILENT PowerFactory Contingency Analysis

Fig. 28.2: Basic Options for the Contingency Analysis (ComSimoutage) Command

The settings of the contingency analysis command are entered using the dialogue shown
in Figure 28.2. The following subsections explain each of the available options.

28.2.1 Basic Options

Calculation Method
AC Loadflow Calculation
The contingency analysis uses an iterative AC load flow calculation to
calculate the power flow per contingency case.
DC Loadflow Calculation
The contingency analysis uses a linear DC load flow calculation to
calculate the active power flow per contingency case.

28 - 4
DIgSILENT PowerFactory Contingency Analysis

Calculation Settings
Load Flow 
Only available when option Use same settings is selected in the Base
Case versus Contingency Load Flow section of the Advanced Options
tab.This is a reference to the load flow command used to calculate both
the network operational point before the simulation of contingencies,
and the contingency load flow(s). The settings of this load flow
command can be edited by pressing the button.

Base Case 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
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 under 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 command can be edited
by pressing the button. The Contingency Load Flow command
settings can be set those currently used by the Base Case Load Flow
command by pressing the button.

Note: If no 'contingency' load flow command is defined, the 'base' load


flow command is used to asses the network under contingency sit-
uations. In this case the action of automatic transformer tap
changers and switchable shunt compensators is directly consid-
ered (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 selected in the Base Case versus Contin-
gency Load Flow section of the Advanced Options tab. This option must be enabled to
define a post contingency time.

28 - 5
DIgSILENT PowerFactory Contingency Analysis

Post Contingency Time (End of Time Phase)


This value defines the time phase under consideration for the update of contingencies.
This means that all switch-open events with an event time less than or equal to this are
considered in the update. The contingency load flow is calculated at the post contingency
time.

Limits for Recording


The parameters in this section set the global constraints used to determine whether a
calculated result is recorded in the Results object (i.e. the object pointed to by the Results
field in the Basic Data tab of the dialogue). Whenever one of the defined constraints is
violated, the calculated result (for the corresponding contingency case and network
component) is recorded.
Different limits for Base Case
If selected, a different set of limits can be defined for recording the
'base' load flow calculation results.
Max. thermal loading of edge element
Maximum thermal loading. Values exceeding this value will be
recorded in the result file for the corresponding component.
Lower limit of allowed voltage
Minimum admissible voltage. Voltages lower than this value will be
recorded in the result file for the corresponding terminal.
Upper limit of allowed voltage
Maximum admissible voltage. Voltages higher than this value will be
recorded in the result file for the corresponding terminal.
Maximum voltage step change
Maximum (+/-) admissible voltage change. Larger voltage changes 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.3, allows the
display, creation and removal of contingencies. These are the contingencies that will be
analyzed by the contingency analysis command.

Fig. 28.3: Contingencies Section of Contingency Analysis Dialogue

Show
Displays a list of all defined contingencies.
Add Cases/Groups
This button is used to create contingency cases (ComOutage objects)
based on fault cases and/or fault groups. A fault case contains events:

28 - 6
DIgSILENT PowerFactory Contingency Analysis

one for the fault location, and (optionally) others specifying post-fault
actions. Fault groups contain a set of references to fault cases. In order
to use the Add Cases/Groups option, the fault cases and/or groups
must have been previously defined in the Operational Library. If these
have been defined, when the Add Cases/Groups button is pressed, a
data browser listing the available fault cases/groups pops up. The user
can then select the desired fault cases/groups from this browser and
press Ok. The corresponding contingencies are then created
automatically by PowerFactory. One contingency is created for each
selected fault case, and one contingency is created for each fault case
referred to within each selected fault group. For further information on
creating contingencies from fault cases/groups, please refer to Section
28.5.
Remove All
Removes all contingency cases (ComOutage objects) stored in the
contingency analysis command.

Results
Reference to the result file object (ElmRes) where the contingency
analysis results are recorded. The results stored in this file are filtered
according to the global constraints set in the Limits for Recording section
of the Basic Data tab, and also according to the individual constraints
defined within each component’s respective dialogue (i.e. on the Load
Flow tab of the element dialogue). For further information on result
objects, see Section 13.9: Results Objects.

Additional Functionality
Besides the standard buttons found within a PowerFactory command (Execute, Close
and Cancel), the contingency analysis command provides an additional button:
Update
Updates all contingency case objects (ComOutage). This occurs
before any analysis is executed. The n-k level is detected. For
contingencies based on fault cases/groups the list of interrupted
components (see Section 28.2.4) is updated. If desired, an Update can
be executed before every contingency analysis. Note that topological
changes made to the network under study may lead to changes in the
contingency cases, in which case it is recommended to execute an
Update.

Note: Changes made to the network topology or in the settings of the


contingency analysis command and its load flow commands, often
have an effect on the stored contingency cases. These effects are
only visible if an Update is executed. Updates can be made auto-
matically by selecting the option ‘Update contingencies

28 - 7
DIgSILENT PowerFactory Contingency Analysis

28.2.2 Effectiveness

Calculate Quad Booster Effectiveness

Show QBs
Shows a list of the transformers for which the effectiveness should be
calculated.
Add QBs
Adds references to transformers for which the effectiveness should be
calculated.
Remove All
Removes all references to transformers for which the effectiveness is
currently calculated.

Calculate Generator Effectiveness


Show Gen.
Shows a list of the generators for which the effectiveness should be
calculated.
Add Gen.
Adds references to transformers for which the effectiveness should be
calculated.
Remove All
Removes all references to generators for which the effectiveness is
currently calculated.

28.2.3 Advanced Options


Update contingencies before running a calculation
Updates all contingency case objects (ComOutage) before any
analysis is executed. The n-k level is detected. For contingencies based
on fault cases/groups the list of interrupted components (see Section
28.2.4) is updated. Note that topological changes made to the network
under study may lead to changes in the contingency cases, therefore it
is recommended to always enable this option. For further information
please refer to Section 28.5.
Base Case versus Contingency Load Flow
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.

28 - 8
DIgSILENT PowerFactory Contingency Analysis

Output per Contingency Case


Short
Displays only the number of iterations required for each contingency
case.
Detailed
Displays the full load flow output per contingency case.

Initialisation of Contingencies
If the AC Load Flow Calculation is selected in the Calculation Method
section of the Basic Options tab, the user has the possibility to choose
between the previous contingency case and the base case to initialize
the current contingency load flow.

Calculating an Individual Contingency


Click on the Show button in the contingency analysis command dialogue (see Figure 28.2
or 28.3) 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.2.4 Representing Contingency Situations - Contingency


Cases
Contingency cases (ComOutage objects) are objects used in PowerFactory to define
contingency situations within the analyzed networks. A contingency case determines
which components 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


command are stored inside the command itself. Contingency cases are created either by
using Fault Cases and/or Fault Groups (see Section 28.5), or via the Contingency
Definition command ( , see Section 28.6). The contingency cases can be viewed using
the Show button available in the dialogue of the corresponding contingency analysis
command (see Figure 28.3). Additionally, the contingency cases within the active study
case’s contingency analysis command may be viewed by clicking on the Show Contin-
gencies icon ( ), located on the main toolbar (only available when the Contingency
Analysis toolbar is selected). In both cases a new data browser listing the defined
contingencies is opened, with the contingencies listed inside. By double-clicking on a
contingency from the list, the corresponding edit dialogue for that particular contingency
is opened (as illustrated in Figure 28.4). The dialogue displayed in Figure 28.4 shows the
following fields:

28 - 9
DIgSILENT PowerFactory Contingency Analysis

Name
Name of the contingency case.
Not Analyzed
If enabled, the case is not considered by the contingency analysis
command.
Number
An identification number which is stored in the results. The number can
be used for reporting.
Fault Case
Reference to the fault case (if any) from where the contingency case
originated.
Fault Group
Reference to the fault group (if any) from where the contingency case
originated. This field is only available if the contingency case has an
associated fault group.
Interrupted Components
This is a table showing the components put on outage by the
contingency case. The table, which is read-only, is automatically
generated when the contingency case is created.
Fault Type
Displays the fault type and the contingency order. See Figure 28.8.
Contingency Analysis
Reference to the contingency analysis command where the
contingency case is stored.
The Mark in Graphic button highlights the interrupted components in the single line
diagram.

28 - 10
DIgSILENT PowerFactory Contingency Analysis

Fig. 28.4: Contingency Cases (ComOutage objects)

Normally, contingency cases (ComOutage objects) are analyzed by the contingency


analysis command (ComSimoutage) in which they are stored. However, each contin-
gency case provides the functionality of a command itself, and can be executed individ-
ually 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 Update button from the single time phase contin-
gency analysis command is pressed. Similarly if the option 'Update
contingencies before running a calculation' is selected on the Ad-
vanced Options page, the tables of all the stored contingency cases
are automatically updated before executing the contingency anal-
ysis.

For further information about contingency cases generated using fault cases and/or fault
groups, please refer to Section Creating Contingency Cases Using Fault Cases and Groups.
For information about contingency cases created using the Contingency Definition
(ComNmink) command, please refer to Section Creating Contingency Cases Using the
Contingency Definition Command.

28 - 11
DIgSILENT PowerFactory Contingency Analysis

28.3 Multiple Time Phase Contingency Analysis


PowerFactory provides tools for the analysis of contingencies over multiple 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.
Before presenting the multiple time phase contingency analysis itself, it is necessary to
introduce two basic concepts used to define the functionality of this tool:
• Contingencies: These are objects of the class ComOutage ( ) which are used to
represent contingencies. They are defined by a set of events which represent the
occurrence of the originating fault(s) over time and the subsequent fault clearing and
post fault actions. It should be noted that in PowerFactory there generally exists
one ComOutage object which covers all time phases. This means that the calculation
of a contingency considers all time phases defined in the contingency analysis
command. All events which fall within the specific time phase are executed. For
further information about the definition and use of contingencies please refer to
Section 28.4.5.
• Time Phases: These represent points in time at which the steady-state operational
point of the network under analysis is calculated. Each time phase is defined via a
user defined Post Contingency Time (see the Basic Options tab of the Contingency
Analysis command). The Post Contingency Time defines the end of a phase, i.e. the
point in time at which the steady-state of the network is calculated. For further
information regarding the definition of time phases please refer to Section 28.4.4.
The contingency analysis with multiple time phases is executed via the Contingency
Analysis command (ComSimoutage, ). Upon execution, it performs a pre-fault
(base) load flow calculation, then for each contingency (stored inside the command), it
loops over the list of defined time phases (also stored inside the command), calculating
the corresponding post-contingency load flows. For each load flow calculation, the events
(faults and post-fault actions) whose time of occurrence is earlier than, or equal to, the
corresponding Post Contingency Time, are considered.
Similar to single phase contingency analyses, 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 elements during the contingency (if 'short term' thermal ratings (7.5.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 analysed, 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.
The following sections provide detailled information regarding the settings and features
of the contingency analysis command in its multiple time phase configuration.

28 - 12
DIgSILENT PowerFactory Contingency Analysis

28.4 The Multiple Time Phase Contingency Analysis


Command
The Contingency Analysis command (ComSimoutage) can be used to perform contin-
gency analysis with multiple time phases. In this configuration 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 (ComContingency
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 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 Contin-
gency Analysis command stores the contingencies to be analyzed within the command
itself. 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.

28 - 13
DIgSILENT PowerFactory Contingency Analysis

28.4.1 Basic Options

Fig. 28.5: Basic Options Tab of the Contingency Analysis (ComSimoutage)


Command

Calculation Method
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.1.

Calculation Settings

Load Flow
This is the reference to the load flow command which is used to calculate the network
operational point, both prior to the simulation of contingencies and for the contingencies.
The settings of this load flow command can be accessed and edited by pressing the

28 - 14
DIgSILENT PowerFactory Contingency Analysis

button. If the option Allow different settings has been selected on the Advanced Options
tab, the Calculation Settings section will be configured as shown in Figure 28.7.

Base Case Load Flow


This is the reference to the load flow command which is used to calculate the network
operational point prior to the simulation of contingencies. The settings of this load flow
command can be accessed and 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 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 (i.e. that with the
next earlier occurrence in time) load flow settings 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.

Limits for Recording


This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.1.

Contingencies
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.1.

Results
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.1.

28.4.2 Effectiveness
These options are only available for the Single Time Phase calculation. Please refer to
Section 28.2.2.

28 - 15
DIgSILENT PowerFactory Contingency Analysis

28.4.3 Advanced Options

Post contingency time for order identification


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 considered when calculating the contingency order.

Note: In PowerFactory a region is defined as a set of topologically con-


nected components. A region is interrupted if it is energized (topo-
logically connected to a network reference bus) before a fault and
de-energized afterwards. The order of a contingency corresponds
to the number of interrupted regions at the time of its calculation
(i.e. the 'Post contingency time for order identification').

Base Case versus Contingency Load Flow


This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.3.

Output per Contingency Case


This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.3.

Initialisation of Contingencies
This setting is configured as described for Single Time Phase operation. Please refer to
Section 28.2.3.

28.4.4 Defining Time Phases for Contingency Analyses


The time phases of a contingency analysis are defined in the Calculation Settings section
of the Basic Data 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.6. If the option Allow different settings in the Base
Case versus Contingency Load Flow section of the Advanced Options tab is selected, the
user can define individual load flow commands for each time phase, as illustrated in
Figure 28.7. Access to each load flow command and its settings is again via the
button.

28 - 16
DIgSILENT PowerFactory Contingency Analysis

Fig. 28.6: Same Settings for Base Case and Contingency Load Flows

Fig. 28.7: Different Settings for Base Case and Contingency Load Flows

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 7.5.7) have been defined) will also de-
pend on the duration of the contingency (i.e. the current Post Con-
tingency Time).

The Contingency Analysis time phases are stored within a folder inside the ComSimo-
utage command and can be accessed via the Data Manager. By clicking on the
button next to each defined time phase in the Calculation Settings section of the Basic
Data tab, the edit dialogue of the corresponding load flow command pops up. New time
phases can be defined in the data browser by clicking on the Add Time Phase button.
Existing time phases can be deleted using the icon. Note that after several time
phases have been defined, this list is then scrollable using the up/down arrow buttons
( ) available in the dialogue.

28.4.5 Representing Contingency Situations with Post-Fault


Actions
Contingency situations which include post-fault actions are represented in Power-
Factory via objects called 'Contingencies' (ComOutage, ). The contingencies are
defined by a set of events which represent:
• Faults on the selected components;
• The switching actions carried out to isolate the faulty components;

28 - 17
DIgSILENT PowerFactory Contingency Analysis

• The post contingency actions taken in order to mitigate the subsequent voltage band
problems and/or supply interruptions.

Contingencies are created based on fault cases defined in the Operational Library. These
fault cases define the location of the fault events, and may also define post contingency
actions taken to isolate the fault and mitigate the effects of the outage of the
component(s). Whenever a new contingency is created, a link from the ComContin-
gency object to the fault case is set. New contingencies are created in a Contingency
Analysis command by clicking on the Add Cases/Groups button in the Configuration
section of the Basic Data tab (see 28.2).
Besides the events which are transferred from the linked fault case during calculation of
the contingency case, the user has the possibility to define additional post contingency
actions in the contingency by manually creating new events.

The contingencies calculated in a Contingency Analysis, are stored inside the command
itself and can be accessed using the Show button (see Figure 28.5). Alternatively, the
contingencies in the Contingency Analysis command contained in the active study case
can be viewed by clicking on the Show Contingencies icon ( ) on the main toolbar. In
both cases a new data browser listing the defined contingencies is shown. By double-
clicking on a selected item from the list, the edit dialogue of the corresponding contin-
gency (Figure 28.4) pops up.
Normally, contingency cases are analyzed by the Contingency Analysis command in which
they are stored. However, each case provides the functionality of a command and can be
executed individually using the Execute button at the top right of the ComOutage
dialogue (see Figure 28.4). In this case, all of the time phases are executed for the
selected contingency considering its associated events. The results observed in the single
line graphic correspond to those from the last time phase, including the final states of the
network switches.
The events that define a contingency can be displayed in a list format in a new data
browser by pressing the Events button in the fault case (IntEvt) dialogue (as shown in
Figure 28.10). This data browser can be used to edit and/or delete the listed events. New
events can be created using the New icon at the top of the opened browser window.
It should be noted that events created locally in the contingency object are only
considered if the option Use locally defined events (User defined) is selected in the Events
Used for this Contingency field.

The Start Trace button ( , available on the main toolbar) can be used to follow the
behavior of the system over time. When this button is pressed, a dialogue opens allowing
the user to select a contingency. Following the selection of a contingency by the user and
pressing OK, the contingency dialogue is closed and the base case load flow is executed.
The execution of the first event(s) and all subsequent event(s) is initiated by pressing the
Next Time Step button on the main toolbar. At each time step the load flow calcu-
lation results and the state of the network circuit breakers are displayed in the single line
graphic. It should be noted that the Next Time Step evaluates events according to their
time of occurrence, and not according to the time phases defined in the Contingency

28 - 18
DIgSILENT PowerFactory Contingency Analysis

Analysis command. After the last time event(s) are executed, the Next Time Step button
becomes inactive. The Stop Trace button ( ) can be pressed to clear the calculation.
Alternatively, the Trace button in each ComOutage dialogue can be used to initiate the
Trace for that particular contingency.

Note: The 'Trace' functionality can be started directly from the main tool-
bar by pressing the 'Start Trace' button ( ). In this case a data
browser listing all available contingencies (those stored inside the
'Contingency Analysis' command of the active study case) is dis-
played. After the user selects the desired contingency by double-
clicking on it, the 'Base Case' load flow is executed. The subse-
quent event(s) are then calculated using the 'Next Time Step' but-
ton.

28.5 Creating Contingency Cases Using Fault Cases and


Groups
Contingency cases created from fault cases can be regarded as contingency situations
produced in a network as a consequence of the clearing of a fault. Fault cases without
switching events (created following the procedure described in Section 15.3: Fault Cases
and Fault Groups) are used to automatically generate contingency cases in the contin-
gency 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, after the switching
actions that clear the fault(s), lose their connection to the network reference bus, are
regarded as 'interrupted' and are subsequently added to the Interrupted Components
table of the corresponding 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 field
Fault Type (Figure 28.8) in the contingency case dialogue is regarded as:
• Busbar fault: If the contingency originates from a fault on a busbar
• n-k fault: With contingency order equal to k (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).

Fig. 28.8: Fault Type field in the Contingency Case (ComOutage) dialogue

28 - 19
DIgSILENT PowerFactory Contingency Analysis

Note: In PowerFactory an interrupted component is a network primary


element that is energized before a fault and de-energized after-
wards. A component is considered to be energized if it is topolog-
ically connected to a network reference bus. A region is defined as
a set of topologically connected components. Like components, re-
gions can have energized, de-energized and interrupted states, de-
pending on their connection to a network reference bus.

Contingency cases can be created from fault cases/groups, which reside in the Opera-
tional Library, by pressing the Add Cases/Groups button in the contingency analysis
command (see Section 28.2.1 and Figure 28.3). In the case of creating contingencies from
fault group(s), a contingency case will be generated for each fault case referred to in the
selected fault group(s).

Note: The 'topological search' algorithm used by the program to set con-
tingency cases from fault cases requires the explicit definition of at
least one reference bus in the analyzed system. A bus is explicitly
set as reference if a synchronous generator (ElmSym) or an ex-
ternal network (ElmExtnet) with the option 'Reference Machine'
enabled (available in the element’s 'Load Flow' tab) is connected to
it.

28.5.1 Browsing Fault Cases and Fault Groups


There are two types of subfolder inside the Faults folder in the Operational Library: Fault
Cases and Fault Groups.

Fig. 28.9: Contents of the Faults folder in the Operational Library

In order to make a new folder of either of these types, left-click on the Faults folder icon
( ) and then press the "New Object" button ( ) on the toolbar of the Data Manager.
In the drop-down list, select whether a new Fault Cases or Fault Groups folder should be
created.
The Fault Cases folder holds every contingency (n-1, n-2, or simultaneous) defined for
the system, as described in Section Defining a Fault Case. Alternatively, several fault cases
can be selected and stored in a Fault Group, as described in Section Defining a Fault
Group.

28 - 20
DIgSILENT PowerFactory Contingency Analysis

28.5.2 Defining a Fault Case


To define a fault case for an element in the grid, select it on the single-line diagram. Then
right-click and choose Define … --> Fault Case --> Single Fault Case or Define ... --> Fault
Case --> Multiple Fault Cases, n-1 (or Multiple Fault Cases, n-2). If Multiple Fault Cases,
n-2 is selected, fault cases will be created for the simultaneous outage of each two
elements in the selection. It is also possible to specify simultaneous outage of all
elements in the selection. Several elements can be selected in the single-line diagram, in
which case a fault case will be created for each of these elements in the Fault Cases
folder. Alternatively, a filter can be used to list all elements which outages are to be
defined for. Highlight these elements, right-click and choose Define … --> Fault Case....
The Simulation Events/Fault dialogue opens, as displayed in Figure 28.10, where the user
can enter the desired name of the fault case in the Name field; create switch events (on
the second page of the Basic Data tab, by clicking on the Create Switch Events
button).

Fig. 28.10: Creation of Fault Case (IntEvt)

Fault cases can also be defined by the Contingency Definition command, as explained in
Section 28.6.
For further background on fault cases, please refer to Section 7.5.3 (Faults).

28.5.3 Defining a Fault Group


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.11. 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 - 21
DIgSILENT PowerFactory Contingency Analysis

Fig. 28.11: Creation of Fault Group (IntFaultgrp)

Note: When a fault group is defined and fault cases are added to it, a ref-
erence is created to each selected fault case. The fault case itself
resides in the Fault Cases subfolder. This means that if an item in
the fault group is deleted, only the reference to the fault case is
deleted. The fault case itself still exists in the Fault Cases folder.

28.6 Creating Contingency Cases Using the Contingency


Definition Command
The Contingency Definition command (ComNmink ) is used to generate contingency
cases based on selected components. In this case the selected components are directly
put on outage (and therefore listed in the Interrupted Components table in the contin-
gency case dialogue) without any switching actions. The Contingency Definition command
can be used to generate contingency cases either for (i) a user-defined selection of
elements; and (ii) for pre-defined sets of elements. This is described below.
To generate contingency cases for a new selection of elements:
 Select the components to be put on outage via either the single line graphic or the
Data Manager.
 Right click on the selection and choose Calculate --> Contingency Analysis... 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.12 will pop up.
 Set the options in the command according to the desired type of contingency cases
(see explanation of options below) and click on Execute.
To generate contingency cases for either the complete system or a pre- user defined set:

 Click on the icon on the main toolbar to open the command;


 Set the options in the command according to the desired type of contingency cases
and the selection of elements (see explanation of options below) and click on
Execute.

28 - 22
DIgSILENT PowerFactory Contingency Analysis

Fig. 28.12: Contingency Definition Dialogue (option: Generate Contingencies for


Analysis)

Once the Contingency Definition command is executed, it generates the corresponding


contingency cases according to the options selected and the listed objects. The contin-
gency analysis command in the active study case (where the newly-created contingency
cases are stored) is then automatically opened. The created contingencies can be
analyzed by executing the already-opened contingency 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 Contin-
gency Analysis toolbar ( ), without any previous selection, by clicking on the icon.
In this case, contingencies for all elements within the network (selected according to their
class, as described below), can be created.
The Contingency Definition command offers the following options to generate contin-
gency cases from the selected objects:

Creation of Contingencies
Generate Fault Cases for Library
Generates fault cases which are stored in the Operational Library, in a
folder named Faults.
Generate Contingencies for Analysis
Generates contingencies which are stored in the contingency analysis
command, and then opens the contingency analysis command
(ComSimoutage) dialogue.

28 - 23
DIgSILENT PowerFactory Contingency Analysis

Outage Level
n-1
Creates single contingency cases for each of the selected components.
n-2
Creates contingency cases for every unique combination of two
selected components.

Lines/cables
Contingency cases according to the selected outage level will be generated for all lines
and cables (ElmLne objects) in the system.

Transformers
Contingency cases according to the selected outage level will be generated for all trans-
formers (ElmTr2, ElmTr3 objects) in the system.

Generators
Contingency cases according to the selected outage level will be generated for all
synchronous generators (ElmSym objects) in the system.
The selection of elements to outage in the preparation command can also be created by
the use of DPL scripts. Please refer to the ComNmink methods in the DPL Reference
manual.

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 re-
garded as the outage of certain network components as a conse-
quence 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 - 24
DIgSILENT PowerFactory Reliability Assessment

Chapter 29
Reliability Assessment

In general, the assessment of reliability indices for a power system network, or of parts
thereof, is the assessment of the ability of that network to provide the connected
customers with electric energy of sufficient availability, as one aspect of power quality.
The reliability assessment module of PowerFactory offers two distinct calculation
functions for the analysis of network reliability under probabilistic scenarios, as described
below:
Network reliability assessment:
The probabilistic assessment of interruptions during an operating
period of the power system.
Voltage sag assessment:
The probabilistic assessment of the frequency and severity of voltage
sags during an operation period.
Both of these calculation methods has its own typical applications. Network reliability
assessment is used to calculate expected interruption frequencies and annual interrup-
tions costs, or to compare alternative network designs. Voltage sag assessment is used
to determine the expected number of equipment trips due to deep sags.
This chapter deals with probabilistic Reliability Assessment. For information on Power-
Factory’s deterministic Contingency Analysis, please refer to Chapter 28 (Contingency
Analysis).

29.1 Network Reliability Assessment


Reliability analysis is an automation and probabilistic extension of contingency evaluation.
The planner is not required to pre-define outage events, but can optionally select that all
possible outages are considered for analysis. 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 in an automated way, meaning
that the software simulates the protection system and the network operator's actions to
re-supply interrupted customers. As statistical data regarding the frequency of each event
is available, the results can be formulated in probabilistic terms.
An analytical assessment of the network reliability indices (transmission, sub-transmission
or distribution level) is initiated by the following actions within PowerFactory:

• Clicking the icon on the main toolbar to activate the reliability toolbar (if not
already active); and

• Clicking on the icon.


The Reliability Assessment (ComRel3) dialogue will then appear, as shown in Figure

29 - 1
DIgSILENT PowerFactory Reliability Assessment

29.4.
A reliability assessment will be started when the Execute button is pressed. The calcu-
lation time required for a reliability assessment can range from a few seconds for a small
network only considering single-order contingencies, to several hours for a large network
considering also second-order faults. A reliability assessment calculation can be inter-
rupted by clicking on the Break icon ( ) on the main toolbar.
The following sections provide the technical background information required to perform
reliability assessment with PowerFactory.

29.1.1 Probabilistic Reliability Assessment - Technical


Background
The assessment of reliability indices, also known simply as "reliability analysis'', essentially
comprises the following:
• Failure modeling
• Load modeling
• System state production
• Failure Effect Analysis (FEA)
• Statistical analysis
• Reporting

Electric System Failure Models


Model Load Models

System State
Generation

Failure Effect
Analysis

Statistical Evaluation

Fig. 29.1: Reliability Analysis: Basic Flow Diagram

The basic reliability analysis calculation flow diagram is depicted in Figure 29.1. The failure
models describe the way in which the system components may fail, how often they will
fail and how long it takes to repair them. The load models may consist of only a few
possible load demands, or may be based on precise load forecast and growth scenarios.
The combination of one or more simultaneous faults and a specific load condition is called
a 'system state'. The system state production module will use the failure models and load

29 - 2
DIgSILENT PowerFactory Reliability Assessment

models to build a list of relevant system states. Each of these system states may have one
or more faults. It is the task of the FEA module to analyze the faulted system states by
imitating the system reactions to these faults, given the current load demands. The FEA
will normally take the power system through a number of operational states which may
include:
• Fault clearance by tripping protection breakers;
• Fault separation by opening separating switches;
• Power restoration by closing normally open switches;
• Overload alleviation by load transfer and load shedding.
The basic task of the FEA functions is to find out whether system faults will lead to load
interruptions and if so, which loads will be interrupted and for how long.
The results of the FEA are combined with the data that is provided by the system state
production module to update the statistics. The system state data describes the expected
frequency of occurrence of the system state and its expected duration. The duration of
these system states should not be confused with the interruption duration. A system state
with a single line on outage (i.e. due to a short-circuit on that line), will normally have a
duration equal to the time needed to repair that line. In the case of a double feeder,
however, no loads may suffer any interruption. In the case that loads are interrupted by
the outage, the power may be restored by network reconfiguration (i.e. by fault
separation and closing a back-stop switch). The interruption duration will then equal the
restoration time, and not the repair duration (=system state duration).

Stochastic Models
A stochastic model describes how and how often a certain object changes. A line, for
example, may suffer an outage due to a short-circuit. After this kind of outage, repair will
begin and the line will be put into service again following successful repair. If two states
for line A are defined (i.e. "in service'' and "in repair''), monitoring of the line could result
in a graph as depicted in Figure 29.2.

A R1 S2 R2 S3 R3 S4

A T1 T2 T3 T4 T5 T6 t
Fig. 29.2: Example of a Monitored Component State in Time

Line A in this example fails at time T1 after which it is repaired and put back into service
at T2. It fails again at T3, is repaired again, etc. The repair durations R1=T2-T1, R2=T4-
T3, etc. are exaggerated in this example.
The repair durations are also called the "Time To Repair'' or "TTR''. The service durations
S1=T1, S2=T3-T2, etc. are called the "life-time'', "Time To Failure'' or "TTF''.
Both the TTR and the TTF are stochastic quantities. By gathering failure data about a large
group of similar components in the power system, statistical information about the TTR
and TTF, such as the mean value and the standard deviation, can be calculated. The

29 - 3
DIgSILENT PowerFactory Reliability Assessment

statistical information is then used to define a stochastic model.


There are many ways in which to define a stochastic model. The so-called "homogenous
Markov-model'' is a highly simplified but generally used model. A homogenous Markov
model with two states is defined by:
• A constant failure rate lambda ('lambda'); and
• A constant repair rate mu ('mu').
These two parameters can be used to calculate the following quantities:
• mean time to failure, TTF = 1/lambda;
• mean time to repair, TTR = 1/mu;
• availability, P = TTF/(TTF+TTR);
• unavailability Q, = TTR/(TTF+TTR);
The availability gives the fraction of time during which the component is in service; the
unavailability gives the fraction of time during which it is in repair; and P+Q = 1.0.
For 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,0019  ---
10  7500 a a
1
TTF = --- = 530a

7360
TTR = ------------  h = 52,6h = 0,006a
140
1 1
 = ------------ = 167  ---
TTR a
530
P = ---------------------------- = 0,99989
530 + 0,006
0,006 min
Q = ---------------------------- = 6 ----------
530 + 0,006 a
These equations also introduce some of the units used in the reliability assessment:
• frequencies are normally expressed in [1/a] = "per annum'' = per year;
• lifetimes are normally expressed in [a] = "annum'';
• repair times are normally expressed in [h] = “hours”;
• probabilities or expectancies are expressed as a fraction or as time per year ([h/a],
[min/a]).
Of course, it is also possible to define a homogenous Markov model with more than two
states. This kind of model may be needed to distinguish between faults that can be
repaired reasonably fast, and faults which require a longer time to repair. Two repair
states are then needed, each with a different mean repair time.
The homogenous Markov model is completely memory-less. This means that if preventive
maintenance is performed to improve the reliability of a component, it does not make any

29 - 4
DIgSILENT PowerFactory Reliability Assessment

change if the last maintenance has been performed one week or 5 years ago, or even if
maintenance was performed at all. The probability for the component to fail in the next
period of time will be equal in all cases. Effects of changing preventive maintenance can
therefore not be calculated when using the homogenous Markov model.
The same memory-less quality means that all repairs will behave in the same way, apart
from their mean duration. Only mean durations can be determined when using homog-
enous Markov models. Interruption costs, however, may be dependent on the fraction of
repairs that take longer than a certain amount of time. A certain repair may take 2 hours
on average, for example, but when compensation has to be paid for interruptions longer
than 3 hours, and when such long repairs occur in 20% of all cases, using the mean
duration alone will not produce correct results. A realistic assessment of interruption costs
is therefore not possible when using the homogenous Markov model.
All reliability assessment functions in DIgSILENT PowerFactory are therefore based on
the "Weibull-Markov'' model (WM-model). This more advanced stochastic model has the
following features:
• It uses Weibull distributions for all stochastic durations. This distribution uses a shape
factor and a characteristic time. By setting the shape parameter "beta'' to 1.0, a
homogenous Markov model results.
• The Weibull-Markov model is therefore 100% backwards-compatible with the
homogenous Markov model, and existing 'homogenous Markov data' may be used
directly without any need for conversion.
• It allows addressing the effects of maintenance and ageing of equipment.
• It allows a fast and correct calculation of interruption costs in all cases.
A Weibull-Markov model with three states is depicted in Figure 29.3.

Pr01
S1
1, 1
Pr10
Pr21
Pr02
Pr20 Pr12

S2
2, 2

Fig. 29.3: A Weibull-Markov model

This example shows all the parameters needed for defining a Weibull-Markov model. The
parameters beta ('beta') and eta ('eta') are used to define the stochastic duration of each
state, i.e. the stochastic TTF (State S 0) or TTR (State S 2). The "Transition Probabilities''
Prij define the probability of the state to change to another state.
In the example of the 7500 monitored transformers, a Weibull-Markov model would result
in

29 - 5
DIgSILENT PowerFactory Reliability Assessment

10  7500
 0 = ---------------------- a = 530a
140
TTF =  0 = 530a

7360
 1 = ------------ a = 0,006a = 52,6h
140
TTR =  1 = 52,6h

 0 = 1,0

 1 = 1,0
The shape factors beta0 and beta1 were left at their default values as no data is available
for calculating them. The raw data, however, could be analyzed to get more realistic
values.

29.1.2 The Reliability Assessment Command


In PowerFactory the network reliability analysis is carried out using the Reliability
Assessment command (ComRel3 ). It can be accessed from the main toolbar when
the 'Reliability Analysis' toolbar is selected. The configuration options available for the
calculation are described in the following subsections.

29 - 6
DIgSILENT PowerFactory Reliability Assessment

Basic Options

Fig. 29.4: Reliability Assessment (ComRel3) Dialogue - Basic Options

The following options can be configured in the Reliability Assessment dialogue shown in
Figure 29.4:
Analysis
Network, connectivity analysis
This will start an analysis involving the entire network. A load is
assumed to be supplied when it is connected to a source of power. The
analysis considers disconnected loads only. A load is considered to be
disconnected if it is supplied before a fault and is interrupted due to
failure effects. Possible overloading of components is not regarded.
Network, load flow analysis
This will start an analysis during which load flow calculations are made
to check for possible overloading. A load might be disconnected or
partially shed due to load or voltage constraints. Generator re-dispatch,
load transfer and load shedding are used to alleviate overloads.

29 - 7
DIgSILENT PowerFactory Reliability Assessment

Start Year Start of the period for consideration of load curves.


Stop Year Final year of the period for consideration of load curves.
Loads
Consider Load Curves
If this option is checked, characteristics assigned to the active and
reactive power of loads will be considered during the analysis. If
unchecked, the power demand entered in the dialog the load element
(ElmLod), disregarding any time-based characteristics.
Define Load States
When considering load curves, the reliability analysis is not able to
study each time interval of the study period. A useful approach is to
aggregate the individual hours of the time to study to representative
states, called ‘clusters’. The procedure used in PowerFactory is
adaptive and selects the number of clusters according to the load and
generation characteristics.
Show Load States
Displays the load characteristics object which contains the defined load
states.
Characteristic Load States
Sets the time scale for the load state clusters. Possible options are
Yearly (creates a load characteristic object for every single year) and
Complete Time Range (creates a single load characteristic object for
the complete time range). It is recommended to use Yearly only if load
characteristics were defined over years. Complete Time Range is
recommended when there is no load change/development over several
years.
Automatic Contingency Definition
Selection Commonly in reliability analysis, outages are studied in one specific
part of the grid (e.g. at one voltage level), however the consequences
of the outages should be analyzed for the entire grid. This option allows
the user to define the scope of the outages studied, relative to the
entire network. The options are Whole System (consideration of all
elements for outages); Single Grid (selection of a single grid contained
in the Network Data folder); or User Defined (uses a selection which
contains references to the failing elements).
Busbars/Terminals
Consideration of busbar/terminal outages.
Lines/Cables
Consideration of overhead line and cable outages.
Transformers
Consideration of transformer outages.
Common Mode
Consideration of Common Mode outages. These are groups of elements
which are in topological or functional vicinity. Therefore all elements in
this group may be affected by a single outage event. Common Mode
outages are treated like single element failures.
Independent second failures
In addition to n-1 outages, n-2 outages for all combinations of n-1
outages are considered.

29 - 8
DIgSILENT PowerFactory Reliability Assessment

Double-earth faults
Consideration of double-earth faults. The probability of double-earth
faults can be defined on the Earth Fault tab of the Line Type Failures
(StoTyplne) dialogue.
Independent/switching failures
Consideration of situations where protection devices or circuit breakers
refuse to open for fault clearance. The Probability of Failure (of refusal
to open) can be defined on the Reliability tab of circuit-breaker
elements (ElmCoup, StaSwitch).
Maintenance
The reliability assessment function in PowerFactory considers not
only forced outages, but also scheduled outages. Scheduled outages
are known in advance and are therefore considered separately to
forced outages. Even if scheduled outages do not lead to service
interruptions, they weaken the structure of the grid and therefore
thorough reliability analyses should consider them. Loads disconnected
due to scheduled maintenance are not treated as interrupted.

Outputs

Fig. 29.5: Output Tab of Reliability Assessment Dialogue

The following options are available on the Outputs tab (see Figure 29.5):
Results
This options allows the selection of the result element (ElmRes) where
the results of the reliability analysis will be stored. Normally
PowerFactory will create a result object within the active study case.
Perform Evaluation of Result File
When a reliability analysis is started, all contingencies studied are
written to a database file. Typically the database file is analyzed in a
second step, where the contingencies can be filtered and the results
analyzed in detail. The re-evaluation of the existing database content is
carried out when this button is pressed.
Output
Displays the form used for the output report. Report settings can be
inspected and the format selected by clicking on the button.

29 - 9
DIgSILENT PowerFactory Reliability Assessment

FEA
A failure effect analysis (FEA) is made for each system state that occurs during the state
enumeration. The configuration options are shown in Figure 29.6 and are explained next.

Fig. 29.6: Reliability Analysis dialogue - FEA options

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.
Fault Clearance Breakers
Use all circuit breakers
All switches in the system whose Usage is set to Circuit Breaker can be
used for fault clearance.

29 - 10
DIgSILENT PowerFactory Reliability Assessment

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.
Automatic Power Restoration
If this option is not selected the FEA will stop after the protection trips and will not perform
any remedial actions. All loads disconnected after fault clearance are treated as inter-
rupted. This typically leads to an extreme worst-case analysis, particularly for distribution
systems where re-supply by switching is a typical option.
Fault Separation
Use all separation switches
Normally, any components affected by faults will be isolated so that the
remaining healthy part of the grid can be re-connected to the power
supply. By selecting this option, the user allows all switches to be used
for disconnecting a defective component.
Use only marked separation switches
Normally, any components affected by faults will be isolated so that the
remaining healthy part of the grid can be re-connected to the power
supply. By selecting this option, the user allows only switches with the
option Use for fault separation enabled to be used for disconnecting a
defective component.
Time to open remote controlled switches
The time (in minutes) taken to open remote controlled switches.
Switch Actions
When set to parallel, it is assumed that the switching actions can be
performed immediately following the switching time. However, a switch
can be closed for power restoration only after the faulted element was
disconnected.
When set to serial, it is assumed that all switching actions are
performed serially.
Overloading
This option only appears when the Analysis option on the Basic Options page is set to
Network, Load Flow Analysis.
Load Flow Command
Displays the load flow command used for reliability analysis. The load
demand is calculated using this load flow. In addition, its settings are
used for the overload alleviation calculation.
Consider branch if loading 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.

Network
Transmission (Gen. Re-dispatch, Load-Transfer/-Shedding)
Distribution (Switching Actions, Loading & Voltage Constraints)

29 - 11
DIgSILENT PowerFactory Reliability Assessment

Advanced Options

Fig. 29.7: Reliability Analysis dialogue - Advanced Options

Definition of Colours for the 'Isolated Grids' Colouring Mode


The sequence of events during the FEA of a contingency can be
visualized on the single line diagram. This option allows the definition
of colors to be used for differentiating areas for re-supply.
State Enumeration
Load States
Accuracy
Accuracy used for calculating load characteristics. A load is discretized
with the accuracy entered here. An accuracy of 5% will divide each
load into 20 discrete load steps starting from 0MW up to the maximum
demand.
Limited number
Used to limit the number of load states. If this option is enabled a
maximum number of load states can be defined. In the case that the
load characteristic’s generation exceeds this number, an error message
is displayed and the algorithm stops.

29 - 12
DIgSILENT PowerFactory Reliability Assessment

Ignore Load Correlation


By default, the time correlation of the load curves is considered when
creating the load characteristics. For radial networks this correlation
can be ignored. Therefore, to reduce the number of different load
states, enable this option.
Failures, correction of forced outage rate
Usually the failure rate is determined using historical statistics of
failures. A failure is registered only if the element was healthy before
the failure occurred. Therefore, the failure rate should consider the
probability of the element being healthy. To consider this, enable this
option.

29.1.3 Calculated Results for Reliability Assessment


The network reliability assessment produces two sets of indices:
• Load point indices
• System indices
Load point indices are calculated for each individual load point, and are used in the calcu-
lation of many system indices. This section provides the principle equations for the various
reliability indices, however it should be noted that the actual reliability assessment calcu-
lations use somewhat more complex calculation methods. Nevertheless, the principle
equations shown here can be used for hand calculations or for gaining a better under-
standing of the reliability assessment results.
In the definitions for the various reliability indices, the following parameters are used:
Ci The number of customers supplied by load point i

Ai The number of affected customers for an interruption at load point i

Fr k The frequency of occurrence of contingency k

pr k The probability of occurrence of contingency k

C The number of customers


A The number of affected customers
Lm The total connected kVA interrupted, for each interruption event, m

rm Duration of each interruption event, m

LT The total connected kVA served

Load Point Frequency and Expectancy Indices:


ACIF: Average Customer Interruption Frequency
ACIT: Average Customer Interruption Time
LPIF: Load Point Interruption Frequency
LPIT: Load Point Interruption Time

29 - 13
DIgSILENT PowerFactory Reliability Assessment

These indices are defined as follows:

ACIF i =  Frk  fraci k , Unit: 1/a


k

ACIT i =  Prk  fraci k , Unit: h/a


k
LPIF i = ACIF i  C i , Unit: 1/a
LPIT i = ACIT i  C i , Unit: h/a
ACIT
AID i = ----------------i
ACIF i

where i is the load point index, k is the contingency index, and frac_i,k is the
fraction of the load which is lost at load point i, for contingency k. For
unsupplied loads, or for loads that are shed completely, frac_i,k=1.0.
For loads that are shed only partly, 0.0 <= frac_i,k < 1.0.

For the Analyzed System:


SAIFI System Average Interruption Frequency Index, in units of [1/C/a], is
the mean interruption frequency found by dividing by the total number
of customers in the analyzed system.
CAIFI Customer Average Interruption Frequency Index, in units of [1/A/a], is
the mean interruption frequency found by dividing by the total amount
of affected customers. i.e. customers that will suffer interruptions, in
the analyzed system.
ASIFI Average System Interruption Frequency Index, in units of [1/a], is the
equivalent of SAIFI, but scaled by load.
SAIDI System Average Interruption Duration Index, in units of [h/C/a], is the
mean time per year that customers are interrupted, by dividing by the
total number of customers in the analyzed system.
CAIDI Customer Average Interruption Duration Index, in units of [h], is the
mean duration per interruption.
ASIDI Average System Interruption Duration Index, in units of [h/a], is the
equivalent of SAIDI but scaled by load.
ASAI Average Service Availability Index, is the probability of having one ore
more loads interrupted.
ASUI Average Service Unavailability Index, is the probability of having all
loads supplied.


ACIF i  C i
SAIFI = ---------------------------------- , Unit: 1/C/a
 Ci

29 - 14
DIgSILENT PowerFactory Reliability Assessment

 ACIF i  C i
CAIFI = ---------------------------------- , Unit: 1/A/a
 Ai
 ACIT i  C i
SAIDI = ---------------------------------- , Unit: h/C/a
 Ci
SAIDI
CAIDI = ----------------- , Unit: h
SAIFI

ASUI =
 ACIT i  C i
----------------------------------
8760   C i
ASAI = 1 – ASUI

ASIDI =
  rm  Lm 
------------------------------- , Unit h/a
LT

ASIFI =
 Lm
--------------- , Unit 1/a
LT

Load Point Energy Indices:


LPENS Load Point Energy Not Supplied
LPES Load Point Energy Shed

These indices are defined as follows:


)

LPENS i = ACIT i   Pd i + Ps i  in MWh/a


)

LPEAR i = ACIT i  Pr i in MWh/a


)

LPES i = ACIT i  Ps i in MWh/a

Where
Pd_i is the weighted average amount of power disconnected
Pr_i is the weighted average amount of power at risk
Ps_i is the weighted average amount of power shed at load point i.

29 - 15
DIgSILENT PowerFactory Reliability Assessment

For the Analyzed System:


ENS Energy Not Supplied, in units of [MWh/a], is the total amount of energy
which is expected not to be delivered to the loads.
SEAR System Energy At Risk, in units of [MWh/a], is the total amount of
energy at risk for the system.
SES System Energy Shed, in units of [MWh/a], is the total amount of energy
which is expected to be shed in the system.
AENS Average Energy Not Supplied, in units of [MWh/C/a], is the average
amount of energy not supplied, for all customers.
ACCI Average Customer Curtailment Index, in units of [MWh/A/a], is the
average amount of energy not supplied, for all affected customers.

ENS =  LPENSi in MWh/a


SEAR =  LPEAR i in MWh/a

SES =  LPES i in MWh/a

ENS
AENS = ------------- in MWh/C/a

Ci
ENS
ACCI = ------------- in MWh/A/a

Ai

Load Point Interruption Cost:


LPEIC is defined as

LPEIC i =  LPEICi k in M$/a


where
LPEIC_i,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 costs functions express the costs as a
function of the interruption duration. For cost functions expressed in
money per interrupted customer, the number of interrupted customers
is estimated for each interruption as the highest number of customers
interrupted at any time during the whole interruption duration.

For the analyzed system


EIC Expected Interruption Cost, in units of [M$/y], is the total expected
interruption cost.

29 - 16
DIgSILENT PowerFactory Reliability Assessment

IEAR Interrupted Energy Assessment Rate, in units of [$/kWh], is the total


expected interruption cost per not supplied kWh.

EIC =  LPEICi in M$/a


EIC
IEAR = ------------ in $/kWh
ENS

Additional Calculated Indices for Load Points:


AID Average Interruption Duration [h]

Additional Calculated Indices for Busbars/Terminals:


AID Average Interruption Duration [h]
LPIF Yearly Interruption Frequency [1/y]
LPIT Yearly Interruption Time [h/y]

29.1.4 Failure Models for Reliability Assessment


Failure models are available for the following PowerFactory objects:
• Busbars and terminals
• Lines and cables
• Transformers
In addition to the line or cable failure model, a common mode failure model is available.
All failure models define how often a component will suffer an active failure. All active
failures must be cleared by protection. When a failure cannot be separated from all gener-
ators or external networks by protection, a warning message will be issued. Repair of the
faulted component is assumed to start directly after the fault has been cleared. The repair
duration (which is also defined in the failure models) is the time needed to restore the
functionality of the component. The time needed to begin the repair (i.e. if spare parts
need to be ordered first) and all other delays are therefore to be included in the total
repair time.

29 - 17
DIgSILENT PowerFactory Reliability Assessment

Busbar and Terminal Failures


The failure model for busbars and terminals is normally specified on the Reliability tab of
a bar type (TypBar). This busbar type is then assigned to a busbar or terminal element
(ElmTerm) via the Type in the Basic Data tab of the busbar or terminal element. The bar
type model (TypBar) has a reference to a failure model (StoTypbar), as shown in Figure
29.8.

Fig. 29.8: Busbar Type Failures (StoTypbar)

The bar failure model defines a failure frequency for the busbar itself and an additional
failure frequency for each connection to the busbar. The repair duration is independent of
the number of connections. The total failure frequency for a triple busbar system with six
feeders, for example, is calculated as:
F_tot = 3 * F_bar + 6 * F_connection [1/a]
which would total 0.24 per year for the failure model shown.
The bar or terminal elements will show the total outage rate, outage expectancy and
mean outage duration on their respective Reliability tabs. See Figure 29.9.

29 - 18
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.9: Reliability Data for the Busbar/Terminal

The busbar or terminal element can be made to overrule its assigned Type model by
selecting an Element model. The terminal element also provides fields for user defined
voltage limits and switch access times.

29 - 19
DIgSILENT PowerFactory Reliability Assessment

Line Failures
The line and cable failure model is normally specified on the Reliability tab of a line type
(TypLne). This is a reference to a line failure model (StoTyplne) as shown in Figure
29.10.

Fig. 29.10: The Line Type Failure Model (StoTyplne)

Depending on the options selected, the line failure model uses a failure frequency or
expectancy per unit length. The repair duration is independent of the length. Both the
time to failure and the repair duration have a shape factor Beta. The Outage Expectancy
equals the Mean repair duration multiplied by the Failure Frequency and is therefore also
defined in units of per 100 km length.
The frequency, outage expectancy and mean outage duration are displayed on the
Reliability tab of the line/cable element, as depicted in Figure 29.11. The failure data can
be defined in the line type data and used by different line elements.

29 - 20
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.11: Reliability Data for Line/Cable

The line or cable element can be made to overrule its assigned Type model by selecting
an Element model. The line element offers an additional user defined parameter on its
Reliability tab:
Load Shedding/Power Restoration Constraints
Settings valid for emergency loading situations.
Max. Loading
This is the admissible loading during contingencies. Typically this value
depends on the thermal inertia of the element (cable or line) as this
emergency loading will only occur for a limited time. Reasonable values
may be between 120% and 140%. If the loading of the element
exceeds this limit the reliability analysis will start load-shedding.

29 - 21
DIgSILENT PowerFactory Reliability Assessment

Transformer Failures
A single transformer failure model is available for both two- and three-winding trans-
formers. The transformer failure model is normally specified on the Reliability tab of a
transformer type (TypTr2, TypTr3). This is a reference to a failure model as depicted in
Figure 29.12.

Fig. 29.12: The Transformer Failure Model (StoTyptrf )

Depending on the selected options, the transformer failure model has a Failure Frequency
or Expectancy and a Repair duration distribution. Both the time to failure and the repair
duration have a shape factor Beta. The Outage Expectancy equals the Mean repair
duration multiplied by the Failure Frequency.

29 - 22
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.13: Reliability Data for a Transformer

The frequency, outage expectancy and mean outage duration are displayed on the
Reliability page of the transformer element, as depicted in Figure 29.13. The transformer
element can be made to overrule its assigned Type model by selecting an Element model.
All transformer failures are assumed to be active failures. Like the line element, the trans-
former element Reliability tab also offers an additional parameter to be defined.
Load Shedding/Power Restoration Constraints
Settings valid for emergency loading situations.
Max. Loading Admissible loading during contingencies. For transformers, a value may
be entered up to 140%.

Common Mode Failures


All component failure models are independent models. Two or more objects may share
the same failure model, but their failure behavior will be independent. From the failure
models, the outage expectancy can be calculated as the average fraction of time, or the
average time per year, during which the component is not available.
Two parallel lines on the same tower or two cables in the same trench will normally share
the same failure data. The probability of both lines on outage at the same time will be the
product of the individual outage probabilities, because the failures that lead to the
outages are independent. The following example illustrates this.
• Suppose each line suffers an outage once every 5 years, for 10 hours. Their outage
expectancy is therefore 2 h/y and their individual outage probability is 2.3CDOT 10^-
4.
• The probability of the overlapping events which result in both lines on outage is
5.2CDOT 10^-8, and the outage expectancy is thus only 1.6 SECONDS per year. The
overlapping outage occurs on average once every 21900 years.
The double outage, however, may be much more frequent due to causes that effect both
lines. Examples of such causes are dredging, lightning, storms, cars hitting poles, etc. The

29 - 23
DIgSILENT PowerFactory Reliability Assessment

common mode object which is used to model such common mode causes is depicted in
Figure 29.14 and Figure 29.15.

Fig. 29.14: Common Mode Failure: Basic Data

Fig. 29.15: Common Mode Failure: Failure Data

The Basic Data page of the common mode model shows a list where all objects that are
outaged by the common cause can be entered. The failure data is entered in the Failure
Data page. The example shows a common cause which outages two lines once every 5
years on average, for an average of 52 hours. Common mode failure models can be
defined for lines or cables and for line or cable routes.
The common mode failures will not cancel the individual failure models, but will cause
additional (simultaneous) outages of all listed components.
Common mode failure models are created as:
• In the database manager, open the grid folder in which the elements for which a
common mode failure is to be defined are located

• Create a new StoCommon object in this grid folder (click on the icon)
• Add two or more lines in the model and select the elements that will fail
• Enter the failure frequency etc., as described above.

29 - 24
DIgSILENT PowerFactory Reliability Assessment

29.1.5 Load Modeling for Reliability Assessment

Stochastic Load Models


A power system may include independent stochastic loads, such as large industrial loads,
pumping stations, etc. For most applications, however, the behavior of the loads can be
modeled by historic characteristics.
The settings for load characteristics can be entered in the Reliability tab of the load
element (ElmLod) dialogue. In addition to the parameters displayed, load characteristics
(e.g. 24h-load curve, annual load growth rate) can also be considered in the reliability
evaluation.
The Reliability tab of the load element is shown in Figure 29.16. The following section
describes the options available.

Fig. 29.16: Stochastic Load Model

Number of connected customers


In addition to the load’s active and reactive power, the number of
connected customers also impacts on the calculation of some load
point and system indices (e.g. SAIFI, SAIDI). The number of individual
customers connected to this particular load element is specified here.
Interruption costs
A characteristic of interruption cost (given in currency units per kW of
installed power) can be referred to. This possibility is discussed in detail
in the next section of this chapter.
Time dependent rate
A characteristic describing the interruption costs per (for example)
kWh, over interruption time.

29 - 25
DIgSILENT PowerFactory Reliability Assessment

Scaling factor
This factor is used to scale the cost characteristic and adapt it to a
specific customer’s damage cost.
Unit
The following units can be selected: $/kW, $/customer, or $.
Load Shedding/Transfer
Load Priority If load shedding is required, the Load Priority is used for discriminating
between more important loads and less important loads. The priority
value is proportional to the importance of the load; i.e. the higher the
priority value, the more important the load. It should be noted that this
value is only used as a guide within the reliability calculation; the
algorithm will try to shed lower priority loads first, but may ultimately
(or alternatively) shed higher or highest priority loads depending on
system conditions.
Shedding Steps
Number of steps for load shedding. For example, a value of 4 steps
means that the load can be shed in steps of 25%. An infinite number of
steps means a load that can be shed exactly as required.
Transferable
This percentage indicates the extent to which a load can be supplied by
an external source, i.e. by a connection to a neighboring network which
is not shown in detail in the grid.
Alternative Supply Node
Node which delivers the transferred power. If this node is not given, it
is assumed that the transferred supply comes from outside the
modeled grid.

29 - 26
DIgSILENT PowerFactory Reliability Assessment

Interruption Cost Functions


Interruption cost functions are defined as one-dimensional vector characteristics
(ElmVec) with time scales (TriTime). An example is shown in Figures 29.17 and 29.18.
The time scale is freely definable, but must be monotonically rising. More than one inter-
ruption cost function may be used at the same time for different loads, and each function
may use a different time scale.

Fig. 29.17: Customer Damage Function - Time Intervals

29 - 27
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.18: Customer Damage Function - Cost per Time Interval

Interruption costs functions are not interpolated in any way. The interruption costs used
for a certain interruption duration will remain constant between durations. This means
that an interruption functions such as:
30min  $7.50
60min  $20.00
180min  $80.50
means that:
0min  t  30min  $0.00
30min  t  60min  $7.50
60min  t  180min  $20.00
180min  t  $80.50
Selecting an interruption cost function for a particular load is done by setting the Time
dependent rate reference on the Reliability tab of the load element dialogue, as depicted
in Figure 29.19. The type (parameter name: Unit) of the interruption cost function must
be set in the load element. Three types of interruption cost functions can be used:
$/kW Cost per interrupted power (kW), versus the interruption duration.
$/customer Cost per interrupted customer, versus the interruption duration.
$ Cost versus the interruption duration.

29 - 28
DIgSILENT PowerFactory Reliability Assessment

The selected interruption cost function will be interpreted according to the selected Unit.

Fig. 29.19: Load with Interruption Cost

Load Shedding and Transfer


Load transfer and load shedding are performed for the express purpose of overload allevi-
ation. If overloading is detected in the post-fault system condition, a search is begun for
the loads contributing to these overloads. The overloads are then alleviated by either:
• Transferring some of these loads, if possible; or
• Shedding some of these loads, starting with the lowest priority loads.
Each load model uses three values to define the load transfer and load shedding possibil-
ities:
• The number of load shedding steps (parameter name: Shedding steps) defines the
minimum amount of load that can be shed. Four shedding steps means that the load
can only be shed to 25%, 50%, 75% or 100%. A value of zero shedding steps means
that the load can be shed up to any amount.
• The Load priority is used to determine which loads to shed. The algorithm will always
try to shed the loads with the lowest priority first. However, should system conditions
require it, higher priority loads may be shed instead, or they may be shed following
the shedding of lower priority loads.
• The load transfer percentage (parameter name:Transferable) defines the amount of
load that can be transferred away from the current network. The network that picks
up the transferred load is not considered. A transfer percentage of 30% would mean
that the load can be transferred away, by up to 30%. A percentage of zero means that
no transfer is allowed.
A distinction should be made between load transfer for overload alleviation, and load
transfer for power restoration. Load transfer by isolating a fault and closing a back-stop

29 - 29
DIgSILENT PowerFactory Reliability Assessment

switch is already considered during the fault separation and power restoration phase of
the failure effect analysis.

29.1.6 System State Enumeration in Reliability Assessment


The enumeration method analyses all relevant possible states of the system one by one.
A fast "topological'' state enumeration method is used which ensures that each possible
system state is only analyzed once. Realistic state frequencies (average occurrences per
year) are calculated by considering only the transitions from a healthy situation to an
unhealthy one and back again. This is important as the individual system states are
analyzed one by one, and the (chronological) connection between them is therefore lost.

The enumerated calculation method has the advantage that is fast enough for quick inves-
tigation of large distribution networks, but does not compromise accuracy. Exact analytic
averages are calculated. Distributions of reliability indices, however, cannot be calculated.
For example, the average annual unavailability in hours/year can be calculated, but the
probability that this unavailability is less than 15 minutes for a certain year cannot be
calculated.

The state enumeration algorithm may include independent, overlapping failures as well
as common mode failures and maintenance schedules. The use of the Weibull-Markov
model means that annual interruption costs can also be assessed accurately.

The principle flow diagram for the entire reliability assessment by state enumeration is
depicted in Figure 29.20.

29 - 30
DIgSILENT PowerFactory Reliability Assessment

Pre-Processing
- Load Curves First Fault Next Load
- Load Growth Contingency Clearance Demand
- Statistics Initialization

Fault Adjust
Separation Load-Flow

Power
Overload ?
Restoration N

Y
Worst-Case Optimize
AC Load-Flow Energy at Risk

First Year of Optimize


Load Growth Load Shedding

First Load Update


Demand Statistics

More

Next Year of More


Load Growth

Post-Processing
Next More - Load Point Indices
Contingency - System State Indices
- Reports

Fig. 29.20: Principle Flow Diagram for Reliability Assessment by State Enumeration

After the termination of the State Enumeration, the analyzed cases are available for verifi-
cation. An example can is given in Figures 29.21 and 29.23.

29 - 31
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.21: Reliability Assessment - Contingency Cases

Fig. 29.22: Contingency Case (ComContingency) Dialogue

29 - 32
DIgSILENT PowerFactory Reliability Assessment

29.1.7 Failure Effect Analysis in Reliability Assessment


Of central importance in the reliability assessment calculation is the analysis of the
reaction of the system to specific contingencies. This analysis is performed by the failure
effect analysis (FEA) function. The FEA function is a stand-alone function which can also
be started separately.
Basically, a FEA analysis consists of 4 steps:
• Fault clearance;
• Fault isolation;
• Power Restoration;
• Overload alleviation.
The failure effect analysis for the network assessment may be carried out with or without
overload alleviation. Overload alleviation is performed by calculating an AC load flow,
searching for overloaded branches and performing load transfer and load shedding.
Disabling the overload alleviation for networks where overloads due to contingencies are
not expected to occur may speed up calculations considerably.
The failure effect analyses will be performed for each failure. For every failure a contin-
gency is created. Should the calculation be using load characteristics, a contingency is
created for every failure and load state.
The general sequence of actions is illustrated in Figure 29.23. For each of the system
states, one or more failures are present in the system. All failures are assumed to be
active, i.e. they will cause an intervention by the protection system. The system is
assumed to react to these short-circuits by immediately opening one or more protection
switches (breaker B2), followed by manual or automated separation of the faulted
equipment (disconnectors D2A, D2B) and the restoration of power to the remaining part
of the protected area (restoration switch R12).

B1

R12
F2

B2 D2A D2B

Fig. 29.23: Fault Clearance and Power Restoration

Fault Clearance
The fault clearance functions assume 100% selectivity of the protection. Therefore it is
assumed that the relays nearest to the failure will open. In the case that protection/
switching failures are considered in the FEA, it is assumed that the next protection device

29 - 33
DIgSILENT PowerFactory Reliability Assessment

has a 100% selectivity. Failure of either the protection system or of circuit breakers is not
considered in the present version of PowerFactory. In the pre-processing phase of the
reliability assessment, all breakers in the system that can be tripped by an overcurrent or
distance relay, fuse, or any other kind of relay, are marked as "protection breakers''.
Figure 29.24 shows a simple network containing four loads, a breaker and a back-stop
switch. The current system state to be analyzed for possible load interruptions is the one
with a short-circuit on line "LR2''.

Fig. 29.24: Short-Circuit on Line

At fault clearance, a topological search is started at all faulted components. This search
will find the smallest network area around each faulted component which is confined by
protection breakers only. This smallest area will be isolated from the rest of the network
if these protection breakers are opened. This set of protection breakers is further reduced
by regarding only those breakers which would actually interrupt a fault current. Breakers
further down a feeder past the fault position, i.e. breakers that would not see a fault
current, will not be opened.

The fault clearance phase is ended by opening the minimum set of protection breakers
found earlier. If it is impossible to isolate the faulted component from all synchronous
generators or external networks by protection breakers only, then an error message will
be issued and the reliability assessment will terminate.

The area around the faulted components which is isolated by the protection breakers is
referred to as the "protected area''. Figure 29.25 shows the example network after the
fault clearance functions have opened the protection breaker. The protected area is the
whole bottom line feeder; and loads 1, 2, and 3 are interrupted.

Fig. 29.25: Protected Area

29 - 34
DIgSILENT PowerFactory Reliability Assessment

Fault Isolation
If the option Automatic Power Restoration has been enabled in the FEA tab of the
Reliability Assessment command dialogue, and one or more separation and one or more
power restoration switches have been found, an attempt is made to minimize the effects
of the faults by re-connecting as many loads as possible back to the healthy part of the
system.
After the protected area and the tripped breakers have been determined during the fault
clearance phase, a search is started for the minimum separated area.
The fault separation and power restoration both make use of the same topological search
for switches as has been used to find the protection breakers during the fault clearance
phase. The fault separation phase starts a topological search at the faulted components
for the smallest area around these components which is confined by separating breakers.
This smallest area will be isolated from the remaining network by opening these
separating switches. Either all closed switches qualify as separators, or only those
switches which have the option Use for fault separation selected in the switch elements’
Reliability tab (when the option Only use marked separation switches was selected on the
FEA tab of the reliability command dialogue).
The result of the search for the separation switches is a set of separating switches which
will, when opened, isolate the smallest possible area around the faulted elements from
the rest of the network. This area is called the "separated area''. The separated area is
smaller than, or equal to, the protected area. It will never extend beyond the protected
area.
The area between the protected and the separated area is called the "restorable area''
because, in principle, power may be restored to those areas. Figure 29.26 shows the
example network with the opened separation switches. The separated area now only
contains the faulted line. Two restorable areas result from the fault separation; the area
which contains load 1, and the area which contains loads 2 and 3. Power to load 1 is
restored by (re)closing the protection breaker. The left-most separation switch is remote-
controlled and has a switching time of 3 minutes. The protection breaker is also remote
controlled, and load 1 is therefore restored in 3 minutes (=0.05 hours). Load 2 and 3 are
still to be restored.

Fig. 29.26: Fault Isolation and Power Restoration

29 - 35
DIgSILENT PowerFactory Reliability Assessment

Power Restoration
If the option Use Power Restoration Switches has been enabled in the command dialogue,
then a search will be started for the minimum number of restoration switches needed to
restore as large a part of the protected area as possible. During this search, only the
opened protection switches and the normally open switches that have the option Use for
power restoration selected, are considered.
The power restoration phase uses a topological search for all power restoration switches
along the borders of the restorable areas. Each of these switches that are connected to
an area that is still supplied are marked as possible candidates for power restoration. For
each restorable area, only the fastest candidate switch is closed. Each restorable area that
is reconnected to the supplied network is called a "restored'' area. Figure 29.27 shows the
example network in which power to load 1 is restored by (re)closing the protection
breaker. Power to load 2 and 3 is restored by closing the back-stop switch. Because the
back-stop switch has a switching time of 30 minutes, loads 2 and 3 are restored in 0.5
hours. The network is now in the post-fault condition.

Fig. 29.27: Power Restoration by Back-Stop Switch

All loads and busbars in a separated area are considered to be interrupted for the duration
of the repair, which is normally in the order of hours. All loads and busbars in a restored
area are considered to be interrupted for the time needed to open all separators and to
close all power restoration switches. Each switch can have an individual actuation time
defined. Effects of automation and remote control can thus be analyzed by lowering the
actuation times for the remote controlled switches.
In order to enhance the transparency of the network reliability assessment, the system
response to user selected faults can be made visible in the single line diagram. The
different areas and the protection, separation and restoration switches can be colored
differently. This gives a quick insight into the possible impact of certain faults or fault
combinations. Click on the Colour Representation icon ( ) on the main toolbar to select
the appropriate colouring mode.

29 - 36
DIgSILENT PowerFactory Reliability Assessment

Overload Alleviation and Power at Risk


Many reliability calculations in radial distribution systems may be carried out assuming
that overloading of lines due to the outage of one or more components seldom occurs. In
such cases, the overload verification may be disabled, thereby increasing the calculation
speed. A connection algorithm is used to check if a certain busbar or load is still physically
connected to a generator or external network. When this is the case, the load or busbar
is considered to be supplied.
In meshed structures, or in cases where overloading is important (i.e. when there is a risk
that increasing loads would lead to overloading), an overload verification must be used.
For all contingencies which are analyzed in the reliability assessment, an AC load flow is
carried out for the post-fault system state. The post-fault system state is reached after
the fault clearance, fault separation and power restoration processes have finished.
Figure 29.28 shows a line overload in the post-fault condition in the example network: line
"LnA'' is loaded to 122%.

Fig. 29.28: Overloaded Post-Fault Condition

Load Transfer
In many distribution systems, it is possible to transfer loads from one feeder to the other.
If both feeders are being considered in reliability assessment, and when the normally-
open switch between them is marked for power restoration, the transfer will be automat-
ically performed in the power restoration phase.
In some cases, however, the transfer switch and/or the alternative feeder are not included
in the network model for which the reliability assessment is made. This may be the case
when a (sub-)transmission network is analyzed, where the connected distribution
networks are modeled as single lumped loads. In this scenario, transfer switches that
connect two distribution networks will not be visible. Therefore, the possibility of trans-
ferring parts of the lumped load model to other feeders can be modeled by entering a
transfer percentage at each lumped load. This transfer percentage defines the portion of
the lumped load that can be transferred 'away' from the analyzed network, without speci-
fying to which feeder(s) the portion is transferred.
The use of the load transfer percentage (parameter name: Transferable on the load
element’s Reliability tab) is only valid when load transfer is not expected to result in an
overloading of the feeders which pick up the transferred loads.
Load transfer is used in the overload alleviation prior to the calculation of power at risk
(see following section for further information). The power at risk is considered to be zero
if all overloads in the post-fault condition can be alleviated by load transfers alone.

29 - 37
DIgSILENT PowerFactory Reliability Assessment

Load Shedding
In the example network shown in Figure 29.29, loads 2, 3 and 4 all contribute to the line
overload. As a result, some of these loads must be shed. There are three basic variations
of shedding that can be used:
• Optimal load shedding
• Priority optimal load shedding
• Discrete optimal load shedding
Optimal load shedding presumes that all loads can be shed to any amount. The target is
then to find a shedding variation in which as little load as possible is shed. In the example
network it does not matter which load is shed, as a MW reduction of any load will result
in equal reduction of the line overloading. In more complex (meshed) networks, with
more than one overloaded branch, the reduction of one particular load may have a greater
impact on the total overloading than the reduction of another load.
The reliability assessment functions use linear sensitivity indices to first select those loads
with any contribution to overloading. A linear optimization is then started to find the best
shedding variation for alleviating all overloading, which will minimize the total amount of
shed load. The resulting minimum amount of shed load is called the "Power at Risk'',
because it equals the minimum amount of load that has to be shed in case of the initial
network fault occurring. The power at risk is multiplied by the duration of the system state
to get the "Energy at Risk''. The total energy at risk for all possible system states is
reported after the reliability assessment has finished, and is referred to as the "System
Energy At Risk'' (SEAR). Figure 29.30 shows the calculated energy at risk. Because the
line was overloaded by 0.53 MW and the faulted line has an outage expectancy of 0.15
h/a, the energy at risk is 0.08 MWh/a.

Fig. 29.29: Energy at Risk

The priority load shedding is performed after the power at risk has been determined. The
priority optimal load shedding considers the load priorities defined for each load. The
overload alleviation functions use the load sensitivity indices to calculate the lowest
possible shedding priority. This is done such that when all loads which have equal or lower
priority would be shed, then all overloads would be alleviated. From this, it is clear that
loads with higher priorities do not need to be shed to alleviate the overloading. The
priority load shedding is performed by repeating the linear optimization for the lower
priority loads only. Figure 29.30 shows that when load 4 is set to a higher priority, load 2
is shed instead.

29 - 38
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.30: Priority Load Shedding

Discrete optimal load shedding is performed together with priority load shedding. Mixing
discrete and priority load shedding does not require additional calculations. The discrete
load shedding variation uses the fact that each load can only be shed over a fixed number
of steps. The number of possible steps is entered in each load element (Reliability tab,
parameter Shedding steps). The discrete shedding variation is calculated by transforming
the linear optimization problem into a discrete optimization problem. Solving this linear
optimization problem results in a higher or equal total shed power. Figure 29.31 shows
the example network where all loads can only be shed completely. As the demand at load
3 is only 0.35 MW, and the overload is 0.53 MW, it cannot contribute to overload allevi-
ation. Shedding load 2 therefore leads to the minimum amount of shed load.

Fig. 29.31: Discrete Load Shedding

29.2 Voltage Sag Analysis

29.2.1 Calculation Options


Voltage sag analysis has a lot in common with probabilistic reliability analysis. Both use
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.
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 component.
An assessment of voltage sag tables for a selection of load points can be started as
follows:

29 - 39
DIgSILENT PowerFactory Reliability Assessment

• Select one or more busbars/terminals and/or loads in the single line diagram or the
data manager, right-click the selection and select "Calculate... --> Voltage sag
table..."; or
• Click on the icon on the main toolbar to activate the Additional Tools toolbar (if
not already visible), and then click the Voltage sag table assessment icon ( ).
In both cases, the voltage sag table command dialogue will open, as shown in Figures
29.32 and 29.33.

Fig. 29.32: Voltage Sag Table Assessment - Basic Options

Basic Options
Load selection
Reference to the set of load points. A load point can be defined by a
busbar, terminal or load.
Short-circuit command
Displays the short-circuit command that is used. The options for the
short-circuit type will be changed during the voltage sag calculation,
depending on the Advanced Options specified in the ComVsag
dialogue. However, other settings may be inspected or changed by
clicking on the button.
Results Reference to the result file that is used for storage of results.
Exposed area limit
This defines the minimum remaining voltage for the voltage sag
calculation to continue calculating short-circuits at busbars which are
further away from the selected load points. If short-circuits at all
busbars (at a certain distance away from all load points) result in
voltages at the load points being higher than this limit, then no further
short-circuit will be analyzed.
Advanced Options
The Advanced Options shows the various short-circuit types that can be analyzed by the
voltage sag assessment command. All components for which a failure model has been
defined use the same short-circuit frequency. It is not possible to define frequencies of
occurrence for single phase, two-phase or three-phase short-circuits independently for
each component. The relative frequency for each type of short-circuit is entered for all
components in a uniform way.

29 - 40
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.33: Voltage Sag Table Assessment - Advanced Options

The voltage sag analysis simulates various faults at all relevant busbars. It starts with the
selected load points, and proceeds to neighboring busbars until the remaining voltage at
all load points does not drop below the defined Exposed area limit. The remaining
voltages and the short-circuit impedances for all load points are written to the result file
specified by the Results parameter.
After all relevant busbars have been analyzed, the sag table assessment continues by
analyzing short-circuits at the midpoint of all lines and cables that are connected between
the relevant busbars. Again, the remaining voltages and short-circuit impedances for all
load points are written to the result file.
After the complete exposed area has been analyzed in this way, the result file contains
the values for Z_F1, Z_F2, Z_F0, Z_S1, Z_S2, Z_S0 and ura, uia, urb, uib, urc, uic for the
two ends of all relevant lines and cables and at their midpoints.
The written impedances are interpolated between the ends of a line and the middle with
a two-order polynomial. From them, and from the written remaining voltages, the various
source impedances are estimated. These estimated impedances are also interpolated
between the ends and the midpoint.
The interpolated impedances are then used to estimate the remaining voltages between
the ends and the midpoints of the lines or cables. This quadratic interpolation gives very
good results also for longer lines, and also for long parallel or even triple parallel lines.
The main advantage is a substantial reduction in computation and an increase in the
overall calculation speed.

29 - 41
DIgSILENT PowerFactory Reliability Assessment

29.2.2 Performing a Voltage Sag Table Assessment


A voltage sag table assessment is performed in two phases:
1 A result file with remaining voltages and short-circuit impedances is created by
executing the ComVsag command. This can be done by selecting one or more
nodes, right-clicking and executing the Calculate... --> Voltage sag table... option, or
by initiating the command directly from the main toolbar by clicking on the icon.
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 executing the option Show --
> Voltage Sag Plot...
Alternatively,
• The Load selection in the ComVsag dialogue can be filled 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 Define... --> 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 may be assigned to the Load selection.
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
29.34 shows the voltage sag plot dialogue.

29 - 42
DIgSILENT PowerFactory Reliability Assessment

Fig. 29.34: Voltage Sag Plot Dialogue

Because there is no single definition of a voltage sag, the plot offers a selection of sag
definitions:
• Minimum of Line-Neutral Voltages
• Minimum of Line-Line Voltages
• Minimum of Line-Line and Line-Neutral Voltage
• Positive Sequence Voltage
Secondly, the x-variable against which the sag frequency will be shown has to be selected.
Possible x-variables are:
• Remaining Voltage
• Nom. Voltage at Shc-Busbar
• Fault Clearing Time
• Short-Circuit Type
Additionally, the x-variable can be sub-divided according to a split-variable (parameter
name: Split Bars in). Possible split variables are:

29 - 43
DIgSILENT PowerFactory Reliability Assessment

• no split
• any of the possible x-variables
the same parameter cannot be selected for the x-variable and the split-variable.
An example of the resulting voltage sag plot, in accordance with the settings shown in
Figure 29.34 is shown in Figure 29.35.

Fig. 29.35: Example Voltage Sag Plot

The voltage sag plot always shows the annual frequency of occurrence on the y-axis.
The example plot shows a bar for each load point for each x-variable, which is the
Remaining Voltage. All three loads can be seen to suffer either deep sags (remaining
voltage less than 0.4 p.u.), or very shallow sags, although the values at 0.8 p.u. are also
significant. Each bar is subdivided to the nominal voltage at SHC-Busbar. The shallow sags
are caused by the low voltage network, as well as the very deep sags. The high voltage
network seems to cause moderate voltage sags. This is caused by the fact that the low
voltage networks in this example are radially operated and the higher voltage networks
are meshed. More detailed information about a specific value in the voltage sag plot can
be obtained by placing the mouse over a bar or part of a bar (without clicking) and
allowing the balloon help to pop up.
The voltage sag plot dialogue has a Report button, which outputs the voltage sag plot
data to the output window. A table for each selected load point will be written in accor-
dance to the selected Voltage Sag definition, x-Variable and Split Bars in selection. An
example of a voltage sag table is shown below. The reported voltage sag tables also show
the totals for each row and column.
DIgSI/info - 'Grid\TA2.ElmTerm'
col : Remaining Voltage (Volt.Sag) [p.u.]
row : Nom. Voltage at Shc-Busbar (Unom Shc) [kV]
val : Frequency of Shc (Sag Freq.) [1/a]
----------------------------------------------------------------------
| 0.20 0.50 0.60 0.80 0.85 0.90 0.95 1.00 |
-------|-------------------------------------------------------|------
10.0 | 1.56 0.94 0.00 0.00 0.00 0.00 2.25 6.75 | 11.50
50.0 | 1.45 1.52 0.00 0.83 0.09 0.12 1.08 5.57 | 10.66
150.0 | 3.50 2.32 1.67 0.00 0.00 0.00 0.00 0.00 | 7.50
380.0 | 0.00 1.25 0.00 1.25 0.00 0.00 0.00 0.00 | 2.50
-------|-------------------------------------------------------|------
| 6.52 6.04 1.67 2.08 0.09 0.12 3.33 12.32 | 32.16
----------------------------------------------------------------------

29 - 44
DIgSILENT PowerFactory Reliability Assessment

29.3 Compact Reliability Glossary

Lost load
A system load that is disconnected from the supply as a direct result of one or more
system failures by intervention of automatic protection devices. A system load cannot be
partly lost.

Shed load
A system load that is disconnected from the supply as a result of one or more system
failures by intervention of a system operator. A system load may be shed up to a certain
percentage.

Stochastic
A quantity is said to be stochastic when its value is random and therefore unknown. The
range of possible values is known, however, as is the respective likelihood of these values.
The number of eyes thrown with a dice is random, the possible outcomes are
{1,2,3,4,5,6} and the likelihood is frac16 for each outcome. For a continuous range of
possible outcomes, the likelihood is a continuous function, which is called the Probability
Density Function or "PDF''.

Statistic
Statistical calculation methods are used to analyze stochastic quantitiesStochastic. A
simple example is the method for calculating a mean repair duration by dividing the total
time spend repairing by the number of repairs performed.
Information obtained using statistical methods on measured data can be used to build
stochastic models of the observed equipment.

Outage
The removal of a primary component from the system.

Forced Outage
The unplanned removal of a primary component from the system due to one or more
failures in the system. A failure does not have lead to lead to an outage, for instance the
failure of a transformer tap changer.

Scheduled Outage
The planned removal of a primary component from the system.

Maintenance
The planned removal of one or more primary components from the system.

29 - 45
DIgSILENT PowerFactory Reliability Assessment

Spare Unit
A reserve component, not connected to the system, which may be used as a replacement
for a component on outage by switching or replacing.

Failure
The event in which a component does not operate as intended or stops operating as
intended. An example of the former is a circuit breaker that fails to trip; an example of
the latter is a transformer that is tripped by its Buchholz relay.

Hidden Failure
An undetected change in a component which will lead to the failure of the component the
next time it is required to operate, unless it is inspected and repaired first.

Active Failure
The failure of a component which activates the automatic protection system. Active
failures are always associated with short-circuits.

Passive Failure
The failure of a component which does not activate the automatic protection system.

Repair
The restoration of the functionality of a component, either by replacing the component or
by repairing it.

Interruption
An unplanned zero-voltage situation at one or more load points due to outages in the
system.

Contingency
The state of a system in which one or more primary components are on outage. The level
of a contingency is determined by the number of primary components on outage. A "k-
Level'' contingency is thus the state of a system in which exactly k primary components
are on outage.

Adequacy
The ability of the electrical power system to meet the load demand under various steady
state system conditions.

29 - 46
DIgSILENT PowerFactory Reliability Assessment

Security
The ability of the system to meet the load demand during and after a transient or dynamic
disturbance of the system.

Availability
The fraction of time a component is able to operate as intended, either expressed as a
real fraction or in hours per year.

Redundant Unit
A component whose outage will never lead to an interruption in the base state which
cannot be restored by normal switching actions (i.e normal network reconfiguration)
alone.

Base State
The state of the system where all components are able to operate as intended.

(n-1) system
A system for which all relevant components are redundant unitsRedundant Unit.

(n-k) system
A system for which the outage of any k or less components will never lead to an inter-
ruption which cannot be restored by normal switching actions (i.e normal network recon-
figuration) alone.

Distribution Function
The distribution function for the stochastic quantity X equals the cumulative density
function CDF(x).
CDF(x) = the probability of X to take a value smaller than x.

Probability Density Function


The function PDF(x), describing the probability of the stochastic quantity to take a value
from an interval around x, divided by the length of that interval. The PDF(x) is the deriv-
ative of the distribution functionDistribution Function.

Hazard Rate Function


The function HRF(x) describes the probability of a stochastic quantity to be larger than
x+dx, given the fact that it is larger than x, divided by dx. Therefore, the hazard rate may
describe the probability of the failure of an element in the upcoming time period, given
the fact that it is still functioning properly. The hazard rate is often used to describe
equipment ageing and wear. A well-known example is the "bath-tub'' function which

29 - 47
DIgSILENT PowerFactory Reliability Assessment

describes the probability of a device failing in the next period of time during wear-in,
normal service time and wear-out.

29 - 48
DIgSILENT PowerFactory Optimal Power Flow

Chapter 30
Optimal Power Flow

PowerFactory’s Optimal Power Flow (OPF) module optimizes a certain objective func-
tion in a network whilst fulfilling equality constraints (the load flow equations) and
inequality constraints (i.e. generator reactive power limits). The user can choose between
interior point and linear optimization methods. In the case of linear optimization, contin-
gency constraints can also be enforced within OPF.

An OPF calculation in PowerFactory can be initiated by one of the following means:


• By going to the main menu and selecting Calculation --> Optimal Power Flow...; or

• By clicking on the OPF icon on the main toolbar.

In both cases, the calculation is started by pressing the Execute button in the OPF
command dialogue.

30.1 AC Optimization (Interior Point Method)


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 objective 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.

30.1.1 Basic Options


The Basic Options tab of the OPF dialogue (AC optimization method) is shown in Figure
30.1.
Fig. 30.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 30.1.

Objective Function
The OPF command object (ComOpf ) dialogue is shown in Figure 30.2. For AC optimiza-
tion, a selection of three distinct objective functions is available, namely:

30 - 1
DIgSILENT PowerFactory Optimal Power Flow

• Minimization of Losses
• Minimization of Costs
• Minimization of Load Shedding

Fig. 30.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 loss.
Minimization of Costs
When this objective function is selected, the goal of the optimization is to supply the
system under optimal operating cost. More specifically, the aim is to minimize the cost of
power dispatch based on non-linear 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.
Cost Functions for Generators
Imposing an operating cost function on a generator element is done as follows: on the
Optimization tab of each synchronous machine (ElmSym) element’s dialogue (see Figure
30.3), it is possible to specify the operating costs 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 30.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.).

Tariff Systems for External Grids


An external grid contributes to the overall cost function by a predefined tariff system. On
the Optimization tab of each external grid (ElmXnet) element’s dialogue (see Figure
30.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 exchange. The input data is represented
graphically beneath the Incremental Costs table. In addition, the user can enter a monthly

30 - 2
DIgSILENT PowerFactory Optimal Power Flow

no load cost (in $/month), which can be interpreted as a vertical shift of the cost function.
This input parameter is called No load costs (monthly) and can be seen in Figure 30.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 interpolation of predefined cost points, whereas the cost curve of an external grid
is a piecewise linear function with predefined slopes in each interval.

Fig. 30.3: Editing the Operating Costs of a Synchronous Machine (ElmSym)

30 - 3
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.4: Editing the Incremental Costs of an External Net (ElmXnet)

Note that this piecewise linear function is not differentiable at the interval limits. Since
non-differentiable functions might cause problems within the optimization routine,
PowerFactory smooths the cost function slightly over a small range around the non-
differentiable points. The width of this range can be defined by the user through the
Smoothing Cost Function factor (also shown in Figure 30.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.

Minimization of Load Shedding


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 Handling”. For the above mentioned objective functions, it may occur that
the constraints imposed on the network are such that no feasible solution exists. This can
be seen by lack of convergence of the optimization. In such cases, it is highly likely that
not all loads can be supplied due to constraint 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)
element’s dialogue on the Optimization tab in the Control 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 MW).

30 - 4
DIgSILENT PowerFactory Optimal Power Flow

For each load that participates as a control in the optimization, the scaling factor will be
optimized. The optimization is such that the overall cost of load shedding is minimized.
Additionally, the user can specify the range over which the load may be scaled (options
Min. load shedding and Max. load shedding), as shown in Figure 30.5.

Fig. 30.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
(ComOpf ) dialogue (see Figure 30.6). The user can specify which parameters might
serve as potential degrees of freedom for the OPF algorithm; i.e. which parameters will
contribute as controls. The set of potential controls can be grouped into four categories:
1 Generator Active Power Dispatch (ElmSym)
2 Generator Reactive Power Dispatch (ElmSym)
3 Transformer Tap Positions (for 2- and 3-winding transformers):
- 2-Winding Transformer (ElmTr2):
• Tap Position (continuous or discrete)
- 3-Winding Transformer (ElmTr3):
• HV-Tap Position (continuous or discrete)
• LV-Tap Position (continuous or discrete)
• MV-Tap Position (continuous or discrete)
4 Switchable Shunts (ElmShnt):
• Number of steps (continuos or discrete)
It should be noted that the load scaling factors will only be taken into account for the Mini-
mization of Load Shedding objective function. In this case, all loads which allow load
shedding are automatically used as controls.
These global controls determine which element controls will be considered in the optimi-
zation. The general rule is as follows: a parameter will be considered as a control if the
corresponding flag is set on the Optimization page of the element’s dialogue and if, in
addition, the corresponding global parameter is set on the Basic Options tab of the OPF

30 - 5
DIgSILENT PowerFactory Optimal Power Flow

command dialogue (see Figure 30.6).


For example, if the control parameter Tap Position HV-Side of a 3-winding transformer is
enabled (as shown in Figure 30.9), it will only be included in the OPF as a control param-
eter if the corresponding option Transformer Tap Positions (parameter name: iopt_trf ) is
enabled in the ComOpf dialogue (as shown in Figure 30.6).
If enabled, the above mentioned 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.

Fig. 30.6: Global Controls for OPF (Ac Optimization Method)

For example, if the Tap Position HV-Side parameter of a 3-winding transformer is selected
as an OPF control, the optimization algorithm will adjust it in such a way that it contributes
optimally to the objective function. On the other hand, if the user decides that this tap
position shall not be a control parameter, the OPF will calculate the correct tap position
according to the load flow settings. This could be a fixed position or a position found due
to the option Automatic Tap Adjust of Transformers being selected in the load flow
command. In this mode, the transformer tap position could be found in order to control
the voltage of a certain node, or to be a slave that is externally controlled by some other
transformer tap.
Setting Individual Model-Based Controls
Each control can be individually selected to take part in the optimization. Specifically, for

30 - 6
DIgSILENT PowerFactory Optimal Power Flow

each generator (ElmSym), each transformer (ElmTr2, ElmTr3), and each shunt
(ElmShnt), the user can check the corresponding Control flag on the optimization page
of the element’s dialogue.
Synchronous Machines
A synchronous machine may contribute two possible setpoints, namely active and reactive
power control (see Figure 30.7).

Fig. 30.7: Active and Reactive Power Controls of a Synchronous Machine (ElmSym)

2- and 3-Winding Transformers


If a transformer has the Tap Position option selected, the user can further select the asso-
ciated 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 30.8 shows the Controls section of the dialogue for a 2-winding transformer and
Figure 30.9 shows the Controls section of the dialogue for a 3-winding transformer.

Fig. 30.8: Tap Position Control (and Loading Constraint) for a 2-Winding Transformer

30 - 7
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.9: Tap Position Control for a 3-Winding Transformer

Shunts
In a similar fashion to transformers, the number of steps for a shunt may serve as either
a continuous or a discrete optimization parameter (see Figure 30.10).

Fig. 30.10: Control Parameter for a Shunt (ElmShnt)

Constraints
The user can formulate various inequality constraints for certain system parameters, such
that the OPF solution lies within these defined limits. Since all inequality constraints are
considered as “hard constraints”, setting constraints may result in no feasible solution
being found.
The handling of OPF constraints in PowerFactory is very flexible, and various categories
of constraints exist. A constraint is considered in the OPF if and only if the individual
constraint flag is checked in the element and the corresponding global flag is enabled in
the OPF dialogue. Figure 30.11 shows the Constraints available for the AC optimization
formulation of OPF in PowerFactory.

30 - 8
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.11: Constraints Settings for OPF (AC Optimization Method)

The optimization uses further constraints that are automatically imposed as soon as the
corresponding parameter is used as a control. Examples of such constraints are tap posi-
tion limits and the number of steps for switchable shunts.
Network elements and their available constraints are listed below:
• Busbars and Terminals (StaBar, ElmTerm):
- Minimum Voltage
- Maximum Voltage
• Lines (ElmLne):
- Maximum Loading
• 2- and 3-Winding Transformer (ElmTr2, ElmTr3):
- Maximum Loading
- Tap Position range (if corresponding tap is a designated control parameter)
• Shunts (ElmShnt):
- Controller Steps range (if switchable steps are designated control parameters)
• Generator (ElmSym):
- Minimum Active Power

30 - 9
DIgSILENT PowerFactory Optimal Power Flow

- Maximum Active Power


- Minimum Reactive Power
- Maximum Reactive Power
• Secondary Controller (ElmSecctrl):
- Minimum Total Active Power
- Maximum Total Active Power
• Station Controller (ElmStactrl):
- Minimum Total Reactive Power
- Maximum Total Reactive Power
• Boundary (ElmBoundary):
- Minimum Active Boundary Flow
- Maximum Active Boundary Flow
- Minimum Reactive Boundary Flow
- Maximum Reactive Boundary Flow

Branch Flow Limits (max. loading)


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 (see
Figure 30.12). If specified as in Figure 30.12, this constraint is only taken into consider-
ation 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.

Fig. 30.12: Constraint on the Max. Loading of a Line Element (similar for 2- and 3-
Winding Transformers)

Active and Reactive Power Limits of Generators


For each synchronous machine (ElmSym), the user may impose up to four inequality
constraints: namely a minimum and maximum value for active power generation; and a
minimum and maximum value for reactive power generation (see Figure 30.13). Active
power limits are specified as MW values; reactive power limits may be specified as either
absolute values or as per unit values (i.e. referred to the type’s nominal apparent power).
Alternatively, it is possible to directly use the reactive power limits specified in the
synchronous machine’s type (TypSym). Again, the user is free to select any number and
combination of the available constraints.

30 - 10
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.13: Active and Reactive Power Constraints of a Synchronous Machine


(ElmSym)

Active Power Limits of Secondary Controllers


A secondary controller (ElmSecctrl) may impose an upper and lower active power
constraint on the sum of the participating synchronous machines (see Figure 30.14). For
practical purposes, this may serve as a reserve constraint for the total active power gener-
ation of various synchronous machines, in order to cover an outage of one of the
machines.
Suppose, for example, that a secondary controller is defined for three machines with
maximum active power limits of 15MW, 20MW, and 25MW, respectively. Then a maximum
total active power constraint of 35 MW on these three generators would cover an outage
of the highest rated generator, and accordingly, an outage of any single one of the gener-
ators.

Fig. 30.14: Total Active Power Sum Limit Constraint of a Secondary Controller
(ElmSecctrl)

30 - 11
DIgSILENT PowerFactory Optimal Power Flow

Reactive Power Limits of Station Controllers


Similar to the secondary controller (however with the roles of active and reactive power
exchanged), a station controller (ElmStactrl) may hold an upper and a lower limit on the
total sum of the reactive powers of the participating generators (see Figure 30.15).

Fig. 30.15: Total Reactive Power Sum Limit Constraint of a Station Controller
(ElmStactrl)

Voltage Limits of Busbars/Terminals


The maximum and minimum allowable voltages for each terminal or busbar element
(ElmTerm) can be specified in the corresponding element’s dialogue (see Figure 30.16).
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.

Fig. 30.16: Voltage Constraints for a Terminal/Busbar (ElmTerm)

Boundary Flow Limits


PowerFactory boundary elements (ElmBoundary, icon ) define topological regions
in a power system by a user-specified topological cut through the network. Constraints
can be defined for the flow of active and reactive power in a network (between defined
boundaries), and this constraint can then be enforced in OPF. For detailed information on
defining boundaries, please refer to Section 12.3.

30 - 12
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.17: Defining Boundary Flow Limits (ElmBoundary)

Mathematical Background
The non-linear optimization is implemented using an iterative interior-point algorithm
based on the Newton-Lagrange method. Recall that the goal of the optimization is to mini-
mize an objective function f subject to the equality constraints imposed by the load flow
equations and also to the inequality constraints defined for various power system
elements. This is summarised mathematically as follows:
min = f  x 
subject to:
gx = 0 
hx  0
where g represents the load flow equations and h is the set of inequality constraints.
Introducing a slack variable for each inequality constraint, this can be reformulated as:
gx = 0
hx + s = 0
s0
We then incorporate logarithmic penalties and minimize the function:

min = f  x  –    log  si 
i
where µ is the penalty weighting factor. In order to change the contribution of the penalty
function:

f pen =  log  si 
i
to the overall minimization, the penalty weighting factor µ will be decreased from a user-
defined initial value (µmax) to a user-defined target value (µmin).
The smaller the minimum penalty weighting factor, the less the applied penalty will be for

30 - 13
DIgSILENT PowerFactory Optimal Power Flow

a solution which is close to the constraint limits. This may result in a solution that is close
to the limiting constraint bounds (if necessary). On the other hand, a smaller minimum
penalty weighting factor will result in a higher number of iterations required.

Results
The presentation of the OPF results is integrated into the user interface, in that the solu-
tion of the non-linear optimization OPF is available via the complete set of variables avail-
able for conventional load flow calculations. These can be viewed in the single line
diagram of the grid, or through a data browser. The inclusion of the following variables in
the Flexible Data tab (for synchronous machines and grids) is suggested, as shown in
Figure 30.18. The actual variable names are given in parentheses.
Synchronous machines:
• Active Power (Calculation parameter P:bus1; this parameter is highlighted in Figure
30.18)
• Reactive Power (Calculation parameter Q:bus1)
• Apparent Power (Calculation parameter S:bus1)
• Voltage Magnitude (Calculation parameter u:bus1)

Fig. 30.18: Definition of Flexible Data for Synchronous Machines (ElmSym)

Grids:
• Total Production Cost, including costs through external grids (Calculation parameter
c:cst_disp; see this parameter highlighted in Figure 30.19). It should be noted that
the production costs are expressed in the same units utilized in the production cost
tables of the individual generator elements.
• Active Power Losses (Calculation parameter c:LossP)
• Reactive Power Losses (Calculation parameter c:LossQ)
• Active Power Generation (Calculation parameter c:GenP)
• Reactive Power Generation (Calculation parameter c:GenQ)

30 - 14
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.19: Definition of Flexible Data for Grids (ElmNet)

Besides these results, the complete set of variables from conventional load flow calcula-
tions is available. For further information on defining Flexible Data in PowerFactory,
please refer to Section 11.5.

A text report is also available and can be generated by clicking on the Output Calculation
Analysis icon on the main toolbar. This offers various templates for detailed result
documentation.

30.1.2 Initialization
The non-linear optimization requires initialization to generate an initial starting condition.
The Iteration tab of the OPF dialogue as shown in Figure 30.20 allows the user to select
the initialization method.

Fig. 30.20: Initialization Settings for OPF (AC Optimization Method)

Initialization of Non-Linear Optimization


Load Flow
Displays the load flow command which is used for initialization in the case that no
flat start is used.
Initialize by Flat-Start
The user may choose whether the initialization is performed by a load flow calcula-
tion or by a flat start. If it is known in advance that the final solution of the optimi-
zation is close to a valid load flow solution, initialization using a load flow calculation
results in faster convergence.

30 - 15
DIgSILENT PowerFactory Optimal Power Flow

No Flat Initialization (Use Load Flow Result)


If this option is selected, the OPF checks whether an “OPF-initializing” load flow re-
sult has been calculated prior to the OPF. Here, “OPF-initializing” means that the flag
iopt_initOPF was enabled in the load flow command dialogue before execution.
This flag is labelled Use this load flow for initialization of OPF and can be found on
the second page of the Advanced Options tab in the ComLdf dialogue. The result
of this load flow is then used as a starting point for the iterative OPF interior-point
algorithm. If no valid OPF-initializing load flow result is found, the OPF will recalcu-
late a new load flow.

30.1.3 Advanced Options

Penalty Weighting Factor


The penalty weighting factor determines the amount by which the penalty is
applied. For example, the smaller the specified penalty weighting factor, the less
that the penalty will be applied for solutions which are close to constraint limits.
Initial Value
Initial value of the penalty weighting factor.

Target Value
Target value of the penalty weighting factor.

Reduction Factor
A factor by which the current penalty weighting factor will be divided by between
the iterations.

Fig. 30.21: Penalty Weighting Factor Settings for OPF (AC Optimization Method)

30.1.4 Iteration Control


PowerFactory offers the user flexibility in configuring of the number of iterations and
the convergence criteria for OPF. The available options on the Iteration Control tab of the
OPF dialogue are shown in Figure 30.22.

30 - 16
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.22: Iteration Control Settings for OPF (AC Optimization Method)

The implementation of the Lagrange-Newton method means that the OPF will internally
minimize the resulting Lagrange function:
T
L  x s   = f  x  –    log  s i  +      g  x  + h  x  + s 
i

with the Lagrange multipliers    .


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:
1 The maximum number of iterations has not yet been reached.
2 All load flow constraint equations g(x)=0 are fulfilled to a predefined degree of
exactness (i.e. within an allowable tolerance), which means:
- all nodal equations are fulfilled.
- all model equations are fulfilled.
3 The Lagrange function L converges. This can be achieved if:
- either the objective function itself converges to a stationary point, or the gradient
of the objective function converges to zero.
The following parameters are used to configure these stopping criteria. The alteration of
the default values for these parameters is recommended only for advanced users.
Maximum Number of Iterations
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.

30 - 17
DIgSILENT PowerFactory Optimal Power Flow

Convergence Criteria
Max. Acceptable Error for Nodes
The maximum allowable error for the nodal equations (in kVA).
Max. Acceptable Error for Model Equations
The maximum allowable error for the model equations (in %).
Max. Change of Objective Function
Used when Convergence of Objective Function option values of objective function
become constant is selected. The user enters a value (in %), below which the
Lagrangian is considered to have converged.
Max. Value for Gradient of Objective Function
Used when Convergence of Objective Function option gradient of objective function
converges to zero is selected. The user enters an absolute value, below which the
Lagrangian is considered to have converged.
Convergence of Objective Function
Options relating to the convergence criteria for the Lagrangian function: either the
value of the function itself is required to converge to a stationary point, or the gra-
dient 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 lat-


ter option, gradient of objective function converges to zero. If the underlying Jaco-
bian 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.

30.1.5 Output
Prior to the non-linear optimization, the OPF informs the user (in the output window) of
the total number of constraints and controls that will be considered in the subsequent
calculation. This information is detailed in that the imposed constraints and the partici-
pating controls are counted for each constraint and control categories separately. Two
options are available to select the level of detail contained in output messages. These
options are available in the Output tab of the OPF dialogue and are shown in Figure 30.23
and are described below.

30 - 18
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.23: Output Settings for OPF (AC Optimization Method)

Show Convergence Progress Report


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:
• The current error of the constraint nodal equations (in VA) (Err.Nodes);
• The current error of the constraint model equations (Err. ModelEqu);
• The current error of the inequality constraints (eInequ);
• The current value of the gradient of the Lagrangian function (gradLagFunc);
• The current value of the Lagrangian function (LagFunc);
• The current value of the objective function f to be minimized (ObjFunc);
• The current value of the penalty function fpen (PenFunc);
• The current values of the relaxation factors (Rlx1, Rlx2) for the primal and dual
variables;
• The current value of the penalty factor µ (PenFac).
Show Max. Nodal and Model Equation Error Elements
If this flag is checked, the algorithm outputs per iteration, the components 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 posi-
tions to discrete values (if 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.

30 - 19
DIgSILENT PowerFactory Optimal Power Flow

30.2 DC Optimization (Linear Programming)


The following describes the configuration of the DC optimization formulation of OPF in
PowerFactory.
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 about DC load flow please refer to Section 22 (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 calcula-
tion result. i.e., 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:
• 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 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 generator’s 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.

30 - 20
DIgSILENT PowerFactory Optimal Power Flow

30.2.1 Basic Options


The Basic Options tab of the OPF dialogue (DC optimization method) is shown in Figure
30.24.

Fig. 30.24: 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


(LP) as shown in Figure 30.24.

Objective Function
The user can select a linear optimization objective function using the list box as shown in
Figure 30.25. These objective functions are now described.

30 - 21
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.25: 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).
Minimization of Costs
The objective is to minimize generation costs. To perform a cost minimization
calculation for each generator, a cost factor needs to be entered:
Cost curve $/MWh per generator (ElmSym, see Figure 30.3)
The (linear) algorithm uses a fixed cost-factor [$/MWh] per generator. This cost
factor is the average cost considering the costs at the generator’s active power
limits.
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 30.26. The basic
role of each control is as described for the AC optimization method in Section 30.1.1

30 - 22
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.26: Controls Selection for OPF (DC Optimization Method)

The user can select from the following control variables:


• 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 generator controls in this case equals
the number of selected generators.
• Transformer Tap Position (ElmTr2, ElmTr3)
In tap optimization, for each selected transformer a single control variable is introduced
to the system. The total number of tap controls in this case equals the number of
selected transformers.
• 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 number of selected loads. This
control variable can be selected in conjunction with any objective function.

Note At least one type of control variable in the Controls section of the
OPF dialogue must be selected.

30 - 23
DIgSILENT PowerFactory Optimal Power Flow

Constraints
The three constraints as shown in Figure 30.27 are as described for the AC optimization
method in Section 30.1.1.

Fig. 30.27: Constraints Selection for OPF (DC Optimization Method)

For DC optimization the following constraint is imposed:


Transformer Tap Constraints (implicitly imposed)
Minimum and maximum tap positions (ElmTr2, ElmTr3) for transformers are
considered. These constraints are implicitly imposed when transformer tap
positions are specified as controls in the Controls section of the dialogue (see
Figure 30.27). This leads to 2 constraints introduced to the LP for the base case tap
position calculation.

Handling
Active power dispatch constraints can be chosen on an individual basis (by a checkbox)
per generator. Please see Figure 30.13 for setting min/max 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.

30 - 24
DIgSILENT PowerFactory Optimal Power Flow

Tap position constraints will be implicitly imposed whenever the corresponding tap is a
designated control variable, as in Figure 30.8.

Loading constraints can be chosen on an individual basis (by a checkbox) per line element
(ElmLne), as shown in Figure 30.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 30.28). If a thermal rating
object is selected, the limits will be calculated with respect to the Continuous Rating value.

Fig. 30.28: Thermal Rating Object (IntThrating) Ratings Tab for Setting Rating
Values

Boundary flow constraints can be chosen on an individual basis per boundary


(ElmBoundary), as shown in Figure 30.17.

30.2.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 30.29. 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).

30 - 25
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.29: Initialization Settings for OPF (DC Optimization Method)

30.2.3 Advanced Options


The Advanced Options tab of the OPF dialogue is shown in Figure 30.30.

Fig. 30.30: Advanced Options for OPF (DC Optimization Method)

Load Shedding Options


If Allow Load Shedding is among the selected Controls (see Section 30.2.1) on the Basic
Options tab, an additional term will be added to the objective function. This weight of this
term can be controlled using the Penalty Factor in the Load Shedding Options section of
the dialogue.
The following term will be added to the objective function, where  is the specified
Penalty Factor:

n Co n Load
j curr
   Load i – Load i
j=1 i=1

30 - 26
DIgSILENT PowerFactory Optimal Power Flow

Transformer Tap Deviation Control


If tap positions are to be optimized, different solutions can yield the same optimal value
for the 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:

n Tr
0 curr
  tap i – tap i
i=1
Penalty Factor
Specifies the weighting factor for the additional objective function term above.

Calculation of Transformer Tap Positions


Discrete controls (Using direct method)
This method calculates discrete tap position values within the LP (known as the “di-
rect method”). This method may provide better accuracy 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.

30.2.4 Iteration Control


Two outer loop settings are available: (i) control of the number of iterations of the algo-
rithm; and (ii) definition of a constraint tolerance. These settings are shown in Figure
30.31 and are described below.

Fig. 30.31: 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. This can occur for tap position controls and/or generator

30 - 27
DIgSILENT PowerFactory Optimal Power Flow

controls (and in the latter case, only when the generators use non-linear cost curves). 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 same principle applies for the use of generators with non-linear cost curves. 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 one, the LP is solved
without outer loops.

30.3 Contingency Constrained DC Optimization (LP


Method)
This performs an OPF using DC optimization (as described in Section 30.2), subject to
various user defined constraints and also to the constraints imposed by a set of selected
contingencies.

In addition to the variables available for viewing for DC optimization, contingency


constrained OPF offers the following result variables (in addition to those found by the DC
load flow, as described in Section 30.2):
• 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 positions for each contingency case are stored as a
parameter event object in the corresponding contingency case object
(ComOutage).

Thus, each contingency object (ComOutage) will hold parameter
events for each selected transformer (the name of the parameter event

30 - 28
DIgSILENT PowerFactory Optimal Power Flow

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
contingencies.

For 3-winding transformers, HV-, MV- and LV-side tap changes are
calculated individually.
• For loads:
c:Pdisp Optimal load shedding for each contingency case.

The optimum load shedding for each contingency case is stored as a
parameter event object in the corresponding 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.

30.3.1 Basic Options


The Basic Options tab of the OPF dialogue (contingency constrained DC optimization
method) is shown in Figure 30.32.

30 - 29
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.32: Basic Options Tab of OPF Dialogue (Contingency Constrained DC


Optimization Method)

Method
To perform a contingency constrained OPF study, the Method must be set to Contingency
Constrained DC Optimization (LP) as shown in Figure 30.32.

Contingency Analysis
This is a reference to the Contingency Analysis (ComSimoutage) command to be used
during the contingency constrained OPF. The user can select and set this contingency
analysis command via the button, and view or edit the ComSimoutage command
settings using the arrow button .

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 30.2.1).
Two additional objective functions are provided, which are shown in Figure 30.33 and
described below.

30 - 30
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.33: Objective Function Selection for OPF (Contingency Constrained DC


Optimization Method)

Min. (Pre-to-Postfault) Generator Dispatch Change


Minimizes the sum of the generator dispatch changes between the base case and
each contingency case.
Min. (Pre-to-Postfault) Transformer Tap Change
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 differs slightly from the DC optimization method, however the basic fundamental
role of each control is as described for the AC optimization method in Section 30.1.1. The
Controls section of the OPF dialogue is highlighted in Figure 30.34.

30 - 31
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.34: Controls Selection for OPF (Contingency Constrained DC Optimization


Method)

The user can select from the following control variables:


• Generator Active Power Dispatch (ElmSym)
Dispatch in Contingencies
- 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.
- 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. (Pre-to-
Postfault) Generator Change has been selected. The total number of generator
controls in this case equals:
(number of selected generators) * (1 + number of selected contingencies)
• Transformer Tap Positions (ElmTr2, ElmTr3)
Tap Positions in Contingencies

30 - 32
DIgSILENT PowerFactory Optimal Power Flow

- Use base case tap positions: 


For all contingency cases, use the transformer tap positions from the base case.
Using this setting, a single control variable is introduced to the system for each
selected transformer. The total number of tap controls in this case equals the
number of selected transformers.
- Allow different tap positions: 
For each contingency case, allow tap positions different to those used in the base
case. Using this setting, for each selected transformer, 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. (Pre-to-
Postfault) Transformer Tap Change has been selected. The total number of tap
controls in this case equals:
(number of selected transformers) * (1 + number of selected contingencies)
Allow Load Shedding (ElmLod)
A separate control variable is introduced to the system for the base case and for
each contingency case. This control variable can be selected in conjunction with
any objective function. The total number of load controls equals:
(number of selected loads)*(1 + number of selected contingencies)

Constraints
The Constraints section of the OPF dialogue is shown in Figure 30.35, for the contingency
constrained DC optimization method.

This formulation of OPF performs a contingency analysis for a predefined set of contin-
gencies (ComOutage objects; i.e. a set of interrupted components per contingency
case). The Max. Loading (parameter: 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 (see Section 30.2.1 for further
information), the contingency constrained DC optimization method offers additional
constraints:
Maximum Number of Tap Changes per Contingency
If this checkbox is ticked, then for each contingency, no more than the maximum tap posi-
tion change steps from the base case to the contingency case are allowed over all trans-
formers (i.e. for a given contingency, a constraint is enforced on the sum of all max.
difference of base case to contingency case taps, over all transformers).

Transformer Tap Constraints (implicitly imposed)


Minimum and maximum tap positions (ElmTr2, ElmTr3) for transformers are consid-
ered. These constraints are implicitly imposed when transformer tap positions are speci-
fied as controls in the Controls section of the dialogue (see Figure 30.35). 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.

30 - 33
DIgSILENT PowerFactory Optimal Power Flow

Fig. 30.35: Constraints Selection for OPF (Contingency Constrained DC Optimization


Method)

Handling
Active power dispatch constraints can be chosen on an individual basis (by a checkbox)
per generator. Please see Figure 30.13 for setting min/max constraints for generators for
optimization.

Tap position constraints will be implicitly imposed whenever the corresponding tap is a
designated control variable, as illustrated in Figure 30.8.

Loading constraints can be chosen on an individual basis (by a checkbox) per line element
(ElmLne). Once a loading constraint for a specific line is imposed, it will be considered
by all contingencies contained in the contingency list. See Figure 30.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 30.28). If a thermal rating object is selected, the limits will be calculated with
respect to the Continuous Rating value.

Boundary flow constraints can be chosen on an individual basis per boundary

30 - 34
DIgSILENT PowerFactory Optimal Power Flow

(ElmBoundary), as shown in Figure 30.17. Once a boundary constraint for either the
maximum total active power limit or min total active power limit is imposed, it will be
considered by all contingencies in the contingency list.

The list of contingencies to be considered by the OPF is selected by choosing a specific


contingency analysis command (parameter Contingency Analysis in the OPF dialogue,
Basic Options tab), which contains in its folder the contingency objects (ComOutage) to
be considered.

30.3.2 Initialization
As described for DC optimization. Please refer to Section 30.2.2.

30.3.3 Advanced Options


As described for DC optimization. Please refer to Section 30.2.3.

30.3.4 Iteration Control


As described for DC optimization. Please refer to Section 30.2.4.

30.3.5 Output
For contingency constrained OPF, one can choose to record the results of those branches
which exceed a selected limit value. This can be done for both the non-optimized results
and the optimized results. For each recording of results (i.e. with optimized or non-opti-
mized values) a separate result file must be chosen.

Fig. 30.36: Output Settings for OPF (Contingency Constrained DC Optimization


Method)

30 - 35
DIgSILENT PowerFactory Optimal Power Flow

Contingency Analysis Results


Results (non-optimized)
The result file in which to store the non-optimized results.
Results (optimized)
The result file in which to store the calculated (optimized) results.

Limits for Recording


The limits displayed here are set in the selected Contingency Analysis command on the
Basic Options tab of the ComSimoutage dialogue. They define the limits outside of
which results will be written to the result file(s). Please refer to Section 28.2.1 for further
information.

30 - 36
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Chapter 31
Optimization Tools for Distribution Networks

The objective of this chapter is to present the tools implemented in PowerFactory for
the optimization of distribution networks. By means of simple command edit dialogues it
is possible to calculate the optimal placement, type and size of capacitors in radial distri-
bution networks; the optimal separation points of meshed networks and the optimal type
of reinforcement cables and overhead lines. Each section introduces a different tool, pre-
senting a general description, the objective function, the optimization procedure and the
command dialogues.

31.1 Optimal Capacitor Placement


The idea for optimal capacitor placement is to determine the location, type and the size
of capacitors to be installed in the nodes of the radial distribution network. The economic
benefits due to energy loss reduction are weighted against the cost of installation of such
capacitors while keeping the voltage profile of the system within defined limits.
The pre-configured commands related to optimal capacitor placement become available
at the button bar on the main menu after selecting the icon in flexible tool bar. These
commands are:

• Setup of Optimization and execution (see Section 31.1.3 and 31.1.4).

• Showing and setting up the list of available capacitor types .

• Result output for nodes with new capacitors installed .

• Result output for new capacitors recommended for installation .

• Result output as a pre-configured text report .

31.1.1 Objective Function


The optimization algorithm minimizes the annual total network cost (which is a sum of
three parts: cost of grid losses, cost of all installed capacitors and fictitious penalty cost
of voltage violations) according to:

31 - 1
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

m n

TotalCosts = CLosses +   CCap  +   CVoltViol 


i=1 i=1

with:
• CLosses corresponds to the anual cost of grid losses.
• Ccap corresponds to the annual cost of capacitors (investment, maintenance,
insurance), as indicated on the description page of the capacitor type. m is the
number of installed capacitors.
• CVoltViol corresponds to a fictitious cost used to penalize the bus voltage violation. n
is the number of feeder buses.
The voltage violation cost is calculated according to voltage limits and penalty factors. The
voltage limits are defined in the 'Basic Options' tab ('Allowed Voltage' field, see
Section 31.1.3: Basic Options Page) of the Optimal Capacitor Placement dialogue. The
penalty factors are defined in the 'Advanced Options' tab ('dv < dvmax' and 'dv > dvmax'
fields, see Section 31.1.4: Advanced Options Page). The penalty values are applied for
voltages inside the admissible voltage band (parameter 'weight': Penalty Factor 1) and for
voltages outside for voltages the admissible band (parameter 'weight2': Penalty Factor 2).

 If the voltage U of a busbar is within the allowed limits, its penalty cost corresponds
to:

CVoltViol = w1  U
with:
U is the absolute deviation from the nominal voltage in p. u. ( U = U – U n ).
w1 is the penalty factor 'dv < dvmax' (parameter 'weight') inside the admissible
voltage band in $/% from the 'Advanced Options' tab.

 If the voltage U is outside the allowed band, its penalty cost corresponds to:
U  U n + U max , i. e. voltage higher than max. limit:

CVoltViol = w2   U – Umax  + w1  U
or
U  U n – U min , i. e. voltage lower than min. limit:

CVoltViol = w2   U – Umin  + w1  U
with:
U absolute deviation from the nominal voltage Un in p. u.
Un+ Umax higher voltage limit in p. u.
Un - Umin lower voltage limit in p. u.

31 - 2
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

w1 is the penalty factor 'dv < dvmax' (parameter 'weight') inside the admissible
voltage band in $/% from the 'Advanced Options' tab.
w2 penalty factor 'dv > dvmax' (parameter 'weight2') outside the admissible
voltage band in $/% from the 'Advanced Options' tab.

The algorithm can be summarized in two sentences:


• 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 – U lim  , with U lim
being either the maximum or the minimum limit value of the admissible band.

Figure 31.1 ilustrates the concept of the voltage band violation cost.

Fig. 31.1: Fictitious cost assigned by voltage band violations

Note If no penalty costs are to be applied within the admissible band,


w1 ('dv < dvmax' , parameter 'weight') should be set to zero. In
case this value is greater than zero, the program will add additional
costs to all busbar with voltage different from 1.0 p.u.

Note The values for the penalties w1 (parameter weight) and w2 (pa-
rameter weight2) should be carefully chosen since the target func-
tion is a sum of three objective functions. If these values are high,
it can make the algorithm not consider the other two objectives.
Otherwise, if there are very low, the algorithm may not take the
voltage violations into account in the optimal capacitor placement
algorithm.

31 - 3
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

31.1.2 Optimization Procedure


To find the optimal configuration of capacitors, PowerFactory applies 2 different steps:
1 Sensitivity analysis to select the candidate buses for capacitor installation
2 Optimization step to determine the actual locations and sizes of the shunt capacitors
The optimization is not only performed for a single load level, but for all load levels de-
scribed in a discrete scale that is handed over to PowerFactory. For each of these load
levels the voltage at the buses must be kept within the allowed bandwidth. An additional
vectorial characteristic describes the probability of each of these load levels in hours/year,
so that the cost of losses can be calculated accordingly. The final result of the optimization
process are the locations for the installation of capacitors, the types and sizes of capaci-
tors to be installed and the capacitor switch positions for the different load levels.

Sensitivity Analysis
In this step test capacitors are installed at all busbars in the system and the effect of the
installation on the total annual system cost is evaluated. The size of the test capacitors
used to evaluate the cost benefit can be selected according to 4 different options:
• Minimum available capacitor size is used.
• Maximum available capacitor size is used.
• The capacitor size is determined by the peak reactive power requirements of the load.
• The capacitor size best fitting to the reactive energy consumption of the load is used.

Final optimization step


This step implements 2 different optimization procedures to determine the optimum loca-
tion of capacitors:
a. Gradient search - this search is fast and mostly will find a solution that performs
well - even if not the mathematically exact global optimum.
b. Tabu Search - this search finds the exact optimum, but may be more time-
consuming.

31 - 4
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

31.1.3 Basic Options Page

Fig. 31.2: Basic Options page

Feeder
Please select the feeder for which the optimum capacitor placement should be performed.
The feeder is a special PowerFactory element which has to be created before selecting
it in this dialogue (for information about feeders refer to 7.3.3 (Network Data)).

Optimization Level
The Optimization Level List offers 4 options:
• Remove previous solution - deletes any capacitors placed in the network during the
previous run of the optimization function
• Sensitivity only: Performs the sensitivity analysis and shows the result in the text
output window, but does not place any capacitors
• Fix Capacitors: Optimizes the network for fix capacitors, that is capacitors without any
voltage control
• Switched Capacitors: Optimizes the network for switched capacitors performing
voltage control.

Sensitivity Analysis
• Min Shunt: the minimum available capacitor size is used

31 - 5
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

• Max. Shunt: the maximum available capacitor size is used


• Best fit to load: the capacitor size best fitting to the reactive energy consumption of
the load is used
• Depend on load: the capacitor size is determined by the reactive power requirements
of the load

Optimization Approach
• Gradient Search: Newton-Raphson-Optimization to detect local optimum
• Reactive Tabu Search: Tabu search to detect global optimum of reactive power
installation

Max. Number of Iterations


Max. number of iterations as criterion for interrupting before termination of optimization
process.

Max. Execution Time


Max. duration until interrupting before termination of optimization process.

Connect Candidate Shunts


The optimization always generates a report describing the proposed capacitor locations.
If this field is checked, the capacitors are added to the data of the network.

Do not consider Energy Cost


If this option is checked, the cost of losses are not considered in the target function.

Energy Cost
Energy cost applied (in specific cost per kWh).

Constraints - Allowed voltage


Voltage band, defined by lower limit (min. voltage) and upper limit (max. voltage) in %.
Different penalty cost apply for voltages within the allowed band and outside.

Constraints - Reactive Power of all capacitors


If the sum reactive power of all capacitors is limited, the value is entered in this field.

Available Capacitors
When pushing this button, the list appears with all capacitor types available for the opti-
mization. The recommended way of entering types to this list is by copy/paste from type
libraries.

31 - 6
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

31.1.4 Advanced Options Page

Fig. 31.3: Advanced Options page

Discrete Scale and Trigger


Scale with discrete steps of the loading.The correct consideration of the load levels makes
it necessary to have defined a vectorial characteristic with scaling factors for each load
during the defined load level. It is good practise to refer to this characteristic in the scaling
factor on the load-flow page of each load. Figures 31.4 and 31.5, show an example of a
discrete scale and a load characteristic. Further information on scales and vector charac-
teristics is given in 7.7 (Parameter Characteristics and Parametric Studies).

Fig. 31.4: Example of discrete scale for loading level

31 - 7
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Fig. 31.5: Example of load characteristic

Time Vector
Vectorial Characteristic to describe the probability of each discrete loading level (in hrs/
yr). Further information on scales and vector characteristics is given in 7.7 (Parameter
Characteristics and Parametric Studies).

31 - 8
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Fig. 31.6: Example of load curve (time vector)

Candidate Buses
Percentage of all candidate buses from the sensitivity analysis that are used for the actual
optimization process.

Fix number of capacitors


If checked, each capacitor type in the list is used once only.

Penalty factor 1: dv < dvmax


Penalty cost for buses with voltage values inside the admissible band (see Section 31.1.1).

Note If no penalty costs are to be applied within the admissible band,


'dv < dvmax' should be set to zero. In case this value is greater
than zero, the program will add additional costs to all busbar with
voltage different from 1.0 p.u.

Penalty factor 2: dv > dvmax


Penalty cost for buses with voltage values outside the admissible band (see
Section 31.1.1).

31 - 9
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Note The values for the penalties dv < dvmax' and dv > dvmax' should
be carefully chosen since the target function is a sum of three ob-
jective functions. If these values are high, it can make the algo-
rithm not consider the other two objectives. Otherwise, if there are
very low, the algorithm may not take the voltage violations into ac-
count in the optimal capacitor placement algorithm.

31.1.5 Results
The last three tool-bar buttons give access to the optimization results.

Result output for nodes with new capacitors installed

When pressing the icon , a list appears with all nodes named where capacitors are
listed.

Result output for new capacitors recommended for installation

Pressing the icon generates a list of capacitors distributed in the grid.

Result output as a pre-configured text report

This icon ( ) generates a report with the results of the sensitivity analysis and the final
optimization procedure.

31.2 Open Tie Optimization

The open tie optimization is started when selecting the general tools in the flexible
toolbar and pressing the icon for open tie-point optimization:

• Open-Tie-Optimization .

31.2.1 Optimization Procedure


Input data for the optimization algorithm is a network with - in general - a meshed topol-
ogy. The optimization algorithm will proceed in the following way:
• A search is started for possible meshes in the network. Each found mesh is closed first
by closing all open switches in the loop. A load-flow calculation is then made, after
which the loop is opened at the position with the lowest current. Normally, the switch
with the lowest current is opened, but alternatively, the element with the lowest

31 - 10
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

current can be taken out of service when that current is lower than the lowest switch
current.
• When opening a loop at the optimum location for active losses leads to an overload
on any line in the network, the algorithm will open a different line instead.
• This is continued until no more closed loops can be found.
A final optimization step is following to search for further improvement.
The impact of opening disconnectors on voltage band violations is not checked. The typ-
ical case in open-tie optimization however is that the open-tie-location optimum for loss
reduction also performs best for keeping the defined voltage band.

31.2.2 Options Page

Fig. 31.7: Basic Options page

Feeding points
The section of the network where the optimum open-tie points should be determined is
defined by a set of "feeding points".
Such feeding points can be
• External grids.
• The source-side switchbay of Lines (Overhead lines and cables).
• The source-side switchbay of transformers (if the complete transformer is selected,
the HV side is considered the feeding side).
• The combination of a busbar/terminal and a branch, in which case the feeding
direction towards the branch.
• A feeder object.

31 - 11
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

The feeding points are the positions where power is assumed to flow into the network.
Only meshes between the feeding points will be optimized. Meshes connecting points in
already optimized meshes are optimized also.

Update Database
If this box is unchecked, the proposals for opening disconnectors are listed in the output
report. If the box is checked, the status of the respective disconnectors is also modified
in the data of the network.

Force elements on outage when not switchable


The search for the position with the lowest current, which is to be opened, can be extend-
ed by allowing the command to force and opening by setting an element out of service,
when no switch is available at the specific location.

Selection
The possible options are:
• Whole System: the complete system fed by the feeding points is radialized;
• One Grid: If the network is composed of several grids (e.g. transmission and
distribution), the grid to be optimized can be selected;
• User-defined: an user defined set is selected, the lines in this set are used for
radializing the network. The selection can be used to further limit the area which is to
be optimized. The first limitation is by defining feeding points. Only meshes for which
all elements are in the selection will be optimized.

Load-Flow Command
Reference to the load-flow settings used by the optimization.

Output On
If this box is checked, the result report is directly written to the message window.

Output
Reference to the configuration dialogue of the output available after termination of the
optimization routine.

31.3 Cable Size Optimization

The cable size optimization can be selected using the general tools and pressing the
icon for cable size optimization:

• Cable Size Optimization

31 - 12
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

31.3.1 Objective Function


The objective function for the optimization are the annual cost for the reinforced lines.
This includes investment, operational cost and insurance fees. The following constraints
are considered in the optimization process, where the implementation is based on ficti-
tious penalty cost:
Maximum admissible line loading
An admissible overloading percentage may be defined by the user to avoid over-
rating of the lines. Typically any overloading can be avoided by selecting the
appropriate type of conductor for cables and overhead lines. The penalty factor for
these lines therefore is fix and cannot be defined by the user.
Maximum voltage drop
Depending on the system topology, on the loads and on the length of the feeder, it
may not be possible to avoid voltage band violations of some nodes due to voltage
drop. This may be mitigated by the installation of a capacitor during a post-
processing optimization.
The specific penalty cost of the optimization therefore is a parameter that can be defined
by the user to weight the voltage loss against the line investments.

31.3.2 Optimization Procedure


The optimization process minimizes the annual cost of the network. As constraints for the
optimization it uses the admissible voltage band (in terms of max. voltage drop along the
feeder) and loading limits for the planned network. The optimization does not need a load
curve or a load forecast, as the impact of the conductor type on the cost of losses is not
considered within the function. Input data for the reinforcement optimization is a network
model that is complete for load-flow calculation. In addition to the network model, the
planner has to provide the following information:
• A library section with standard line types (cable or overhead line) that are available
for the new type assignment.
• A value for the max. voltage drop that is allowed for the new network topology.
The result of the optimization is a report about the recommended new cable/overhead
types for the lines in the network and the cost evaluated for the recommended upgrading.

31.3.3 Basic Options Page


The basic parameter page for the Cable Reinforcement function is shown in Figure 31.8.
Its options are explained in the following.
Feeder
Specific Feeder element that supplies the network region where the cables have to
be reinforced.
Cable Types
Reference to folder that contains the allowed new types for overhead lines and
cables.
Load-Flow
Parameter set for the load-flow performed to analyze overloading and voltage band
violations.

31 - 13
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Cable Overloads
Defines how to deal with cable overloads detected during the optimization.
Consider Cable Overloads
Flag to allow overloading of cables and overhead lines for peak load
situation.
Max. Loading
Limit for the admissible loading in the case that overloading of
overhead lines and cables is allowed.

Fig. 31.8: Basic Options page

Check Consistency
Additional plausibility check that can be performed for the final solution. Several
settings are possible:
Off No plausibility check performed
Sum of feeding cables >= sum of leaving cables
very strict condition
Smallest feeding cable >= biggest leaving cable
less strict criterion)

31 - 14
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

Voltage Profile
Criteria for dealing with voltage band violations.
Consider Voltage Profile
Flag to force that voltage band violations should be included into the
optimization of the line types.
Maximum Voltage Drop Limit value (in %)
to define the max. voltage drop admissible at the end of the feeder.
Output
Various output options for the optimization results are possible.
Report
Only Proposed new types for cables and overhead lines are listed in a
report of pre-defined form
Automatic Type Replacement
If this option is selected, the Report will be generated and additionally
the network database will be update with the proposed types.
Report Format
Selection of the format of the generated report.

31.3.4 Advanced Options Page


The advanced parameter page for the Cable Reinforcement function is shown in Figure
31.9.

Fig. 31.9: Advanced Options page

Voltage Profile
The voltage profile is treated as a constraint of the optimization process. A plane
with two slopes at the lower and upper limits adds penalty cost to the optimization
result in case of violations. The options are as follows:
Penalty Factor 1
Penalty cost for voltage drop lower or equal than admissible limit
defined on the basic parameter page (typically this value is set to 0).
Penalty Factor 2
Penalty cost for voltage drop higher than the admissible limit defined
on the basic parameter page. The value entered here describes the

31 - 15
DIgSILENT PowerFactory Optimization Tools for Distribution Networks

weight of the voltage band limit in comparison to the investment cost


for the cable/OHL reinforcement.
Consistency Verification/Voltage Drop
Additional plausibility check that can be performed for the final solution if voltage
drop optimization is applied
Cross Section
Type selection for reducing the voltage drop is based on cable/OHL
cross section.
Nominal Current
Type selection for reducing the voltage drop is based on rated current
of cable/OHL.

31 - 16
DIgSILENT PowerFactory Protection

Chapter 32
Protection

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

32.1 Creating a Protection Device


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

32 - 1
DIgSILENT PowerFactory Protection

• by editing the object which is connected to the cubicle (line, transformer, load, etc.)

and pressing the button at the cubicle field. See Figure 32.1 for example. The
option Edit Relays will bring a list of all protection devices in the cubicle. New devices
may be then created with the icon.

Fig. 32.1: Editing line protection devices

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

32.1.1 Example: a Time-Overcurrent Relay


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

32 - 2
DIgSILENT PowerFactory Protection

Fig. 32.2: Global relay object hierarchy

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

32 - 3
DIgSILENT PowerFactory Protection

The Relay Frame


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

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

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


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

The Relay Type


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

32 - 4
DIgSILENT PowerFactory Protection

Fig. 32.4: The relay type dialogue

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

Creating a Relay Model


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

32 - 5
DIgSILENT PowerFactory Protection

Fig. 32.5: Relay model dialogue

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

32 - 6
DIgSILENT PowerFactory Protection

All slot elements created by the relay model are stored in the relay model itself. Figure
32.6 shows the database tree with the example relay model.

Fig. 32.6: Example relay model with slot elements

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

32.1.2 Editing the Relay Elements


After a relay element has been defined and all slot elements have been created, the
editing of the relay settings may be started by editing the slot elements.
In the example settings have to be enter for
• The CT "Current Transformer 0''
• The Measurement object "Measurement''
• The time overcurrent relay "Toc''
• The instantaneous overcurrent relay "Ioc''
• The logic object "Logic''
For the current transformer, the tap settings and the connection type have to be selected.
The possible tap range is limited by the type. See Figure 32.7.

32 - 7
DIgSILENT PowerFactory Protection

Fig. 32.7: A current transformer dialogue

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

Fig. 32.8: A measurement object

The time overcurrent relay allows for setting


• The time overcurrent characteristic
• The pickup current
• The time dial
All three settings are limited by the relay type: only those characteristics available for this

32 - 8
DIgSILENT PowerFactory Protection

type of relay can be selected and not every possible values for the pickup current or time
dial may be entered. See Figure 32.9.

Fig. 32.9: A time overcurrent relay

The instantaneous overcurrent relay allows for setting the pickup current. See Figure
32.10.

Fig. 32.10: An instantaneous overcurrent relay

The logic unit dialogue shows a list of all switches that will be opened as soon as the logic
unit trips. The logic unit combines the tripping signals of the sub relays (the Toc and Ioc
relays in this example), in an AND/OR expression (Toc OR Ioc in this example). All
switches in the list will be opened. If the relay to which the logic unit belongs is stored in
a cubicle, the three-phase breaker in that cubicle will be opened by default if no switches
are been specified. See Figure 32.11.

32 - 9
DIgSILENT PowerFactory Protection

Fig. 32.11: A logic relay object

32.2 Basic Protection Devices


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

32.2.1 The Current Transformer


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

32 - 10
DIgSILENT PowerFactory Protection

Fig. 32.12: The Current Transformer dialogue

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

32 - 11
DIgSILENT PowerFactory Protection

transformer type.

The Current Transformer Type


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

Fig. 32.13: The Current Transformer Type dialogue

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

32.2.2 The Voltage Transformer


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

32 - 12
DIgSILENT PowerFactory Protection

Fig. 32.14: The Voltage Transformer dialogue

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

32 - 13
DIgSILENT PowerFactory Protection

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

The connection type "V'' for the primary and secondary windings is depicted in Figure
32.16. Selecting a "V'' connection for the primary winding automatically sets the
secondary winding to a "V'' too.

Fig. 32.16: The "V'' winding connection

The VT Secondary Winding


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

Fig. 32.17: The VT secondary winding dialogue

32 - 14
DIgSILENT PowerFactory Protection

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

The VT Secondary Winding Type


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

Fig. 32.18: The VT secondary winding type dialogue

The secondary tap settings defined in the secondary winding type determine the available
tabs for the secondary winding element.

The Voltage Transformer Type


The voltage transformer type, as depicted in Figure 32.19 defines the primary winding of
the voltage transformer.

32 - 15
DIgSILENT PowerFactory Protection

Fig. 32.19: The voltage transformer type dialogue

The secondary windings are defined in the voltage transformer element.

32.2.3 The Relay Model


The relay model (ElmRelay) is a general 'frame-object' which consists of a relay frame
with slots and one or more elements which occupy those slots. All protection relays,
except for the fuse models, are modeled as relay models.

32 - 16
DIgSILENT PowerFactory Protection

Fig. 32.20: The relay model dialogue

The relay element is defined by selecting a relay type. The relay type defines the relay
frame and the slot types which may be used with that frame. After a relay type has been
selected, the "Slot Definition'' list will be filled automatically with the correct slot elements.
The current and voltage transformers, however, are not created automatically, although
available CT's and VT's are selected automatically.
Editing the settings of the relay model is done by editing the settings of the listed slot
elements. Double-clicking a slot element in the "Slot Definition'' list will open the dialogue
of that element.

32.2.4 Directional Relay


The directional relay cannot be used 'as-is', but is always a part of a relay model. For more
information about relay models, see 32.2.3 (The Relay Model)
The directional relay calculates the angle between a 'polarization' voltage or current and
an 'operating' current. The polarization current or voltage is rotated to the amount of the
expected angle first. The relay trips if the remaining angle is smaller than 90° and if both
the polarization and the operating voltage/currents are large enough. This principle is
shown in Figure 32.21.

32 - 17
DIgSILENT PowerFactory Protection

Fig. 32.21: Directional relay principle diagram

The polarization quantity Apol is rotated over the angle MT, which is the "Max. Torque
Angle'' set in the relay edit dialogue. The rotated polarization quantity A'pol defines a half
plane which forms the first tripping condition. Further conditions are the projection of the
operating quantity on A'pol, which must be larger than the operating current setting, and
the polarization quantity, which must be larger than the polarization setting. More details
about the polarization methods and the tripping conditions can be found in the basic
Technical References manual.
The choice for the type of operating and polarization quantity is made in the Directional
Relay Type object. The relay object itself allows for the setting of the tripping direction,
the polarization method when both methods (voltage and current) are available, and the
polarization criteria. See Figure 32.22.

Fig. 32.22: Directional relay

Selecting a 'Reverse Tripping Direction' will invert the used operating current. The voltage
or current polarization allow for setting the "Operating Current'', the "Polarization Voltage/

32 - 18
DIgSILENT PowerFactory Protection

Current'' and the "Max.Torque Angle''.

32.2.5 The Frequency Measurement Unit


The frequency measurement unit cannot be used 'as-is', but is always a part of a relay
model. For more information about relay models, see 32.2.3 (The Relay Model)).
The frequency measurement unit is used to calculate the electrical frequency for the given
"Measured Voltage''.

Fig. 32.23: Frequency Measurement

The Nominal Voltage is needed for per unit calculations. The Frequency Measurement
Time defines the time used for calculating the frequency gradient.

32.2.6 The Frequency Relay


The frequency relay cannot be used 'as-is', but is always a part of a relay model. For more
information about relay models, see 32.2.3 (The Relay Model).
The frequency relay either trips on an absolute under-frequency (in Hz), or on a frequency
gradient (in Hz/s). Which condition is used depends on the selected relay type. The relay
type also defines the reset time, during which the frequency condition must be met again
for the relay to reset.
The time delay set in the relay element defines the time during which the frequency
condition must be violated for the relay to trip. See Figure 32.24.

32 - 19
DIgSILENT PowerFactory Protection

Fig. 32.24: Frequency

32.2.7 The Fuse Model


The fuse model is implemented as a special instantaneous overcurrent relay which does
not need a current transformer. A fuse is always located in a cubicle and will trip the phase
which current exceeds the melt curve. Optionally, all three phases will be tripped if one
of the phase currents exceeds the melt curve.

Fig. 32.25: The Fuse model dialogue

The calculation of the trip time is either based on the minimum melt curve or on the total
clear curve. An example of these curves are shown in Figure 32.26.

32 - 20
DIgSILENT PowerFactory Protection

Fig. 32.26: Fuse melt characteristics

32.2.8 The Instantaneous Overcurrent Relay


The instantaneous overcurrent relay cannot be used 'as-is', but is always a part of a relay
model. For more information about relay models, see the reference documents).
The instantaneous overcurrent relay allows for the setting of the pickup current and the
time dial. Both entries are limited by the relay type. See Figure 32.27.

Fig. 32.27: Instantaneous Overcurrent

The instantaneous overcurrent relay is a combination of a direct overcurrent relay and an


optional time delay. The pickup time Ts is the minimum time needed for the relay to react.
Additionally, a time dial Tset may be specified. The relay will not trip unless the current
exceeds the pickup current Tsetr for at least Ts+Tset. See Figure 32.28.

32 - 21
DIgSILENT PowerFactory Protection

Fig. 32.28: Instantaneous overcurrent tripping area

The relay will not reset until the current drops under the reset level, which is specified by
the relay type in percent of the pickup current: Ireset=IpsetKr/100%. See Figure 32.29
for a typical timing diagram.

Fig. 32.29: Instantaneous overcurrent timing diagram

32.2.9 The Logic Unit


The logic unit is the front end part of a relay configuration. It combines all internal trigger
signals by successive AND and OR operations and produces one single output. The logic
unit type specifies the logical operation, the logic unit itself specifies the switches which
will be opened when the relay trips. See Figure 32.30.

32 - 22
DIgSILENT PowerFactory Protection

Fig. 32.30: Relay logic

If the relay is located in a cubicle and no switch has been specified, the breaker in the
cubicle will be opened by default.

32.2.10 The Measurement Unit


The measurement unit uses the 'raw' signals produces by the current or voltage trans-
formers to calculate 'measured signals'. Which signals are being calculated depends on
the measurement unit type.
The measurement unit allows for setting the nominal current and voltage. Both are limited
by the measurement unit type. If a relay does not need a nominal voltage (i.e. in the case
of an overcurrent relay), the nominal voltage field will normally be disabled.

Fig. 32.31: Measurement

32 - 23
DIgSILENT PowerFactory Protection

32.2.11 The Time Overcurrent Relay


The time-overcurrent relay cannot be used 'as-is', but is always a part of a relay model.
For more information about relay models, see 32.2.3 (The Relay Model).
The time-overcurrent relay allows for the selection of one of the I-t curves ('character-
istic') which are available for the selected relay type. The I-t curve is further specified by
the pickup current and the time dial. Both values must be in the range specified by the I-
t curve definition. See Figure 32.32 for an example.

Fig. 32.32: The time overcurrent relay dialogue

The time dial settings will scale the I-t curve in the Time vs. I/Ip plot, according to the
curve definition. See Figure 32.33 for example.

32 - 24
DIgSILENT PowerFactory Protection

Fig. 32.33: I-t curves for different time dials

The pickup current defines the nominal value Ip which is used to calculate the tripping
time. The I-t curve definition states a minimum and a maximum per unit current. Lower
currents will not trip the relay (infinite tripping time), higher currents will not decrease the
tripping time any further. These limits are shown in Figure 32.34.

Fig. 32.34: I-t curve limits

The pickup current may be defined by the relay type to be a per unit value, or a relay
current. The nominal current defined by the measurement unit (see 32.2.10 (The
Measurement Unit)) is used to calculate Ip in the case of a per unit value. The relay
current value already equals Ip.
Altering the pickup current will thus not change the I-t curve, but will scale the measured
current to different per unit values. The following example may illustrate this:
• Suppose the minimum current defined by the I-t curve is imin=1.1 I/Ip.
• Suppose the measurement unit defines Inom=5.0 rel.A.

32 - 25
DIgSILENT PowerFactory Protection

• Suppose pickup current Ipset=1.5 p.u.


 relay will not trip for I<1.1*1.5*5.0 rel.A = 8.25 rel.A
• Suppose pickup current Ipset=10.0 rel.A
 relay will not trip for I<1.1*10.0 rel.A = 11.0 rel.A

32.2.12 Under-/Overvoltage Relay


The under- or overvoltage relay cannot be used 'as-is', but is always a part of a relay
model. For more information about relay models, see 32.2.3 (The Relay Model).
The under-/overvoltage relay type may define the relay to trip on either
• Either one of the three phase line to line voltages
• One particular line to line voltage
• The ground voltage U0.
• The positive sequence voltage U1
• The negative sequence voltage U2
The relay element allows only for setting the pickup voltage and the time delay. See
Figure 32.35.

Fig. 32.35: Under-/Overvoltage

32.3 Path Definitions


A path in a single line diagram is defined by selecting a chain of two or more busbars or
terminals and inter-connecting objects. The pop-up menu which opens when the selection
is right-clicked will show a Path... option. This menu option has the following sub-options:
New this option will create a new path definition
Edit this option is enabled when an existing path is right-clicked. It opens a
dialogue to alter the color and direction of the path
Add To this option will add the selected objects to a path definition. The end or
start of the selected path must include the end or start of an existing
path.

32 - 26
DIgSILENT PowerFactory Protection

Remove Partly This will remove the selected objects from a path definition, as long as
the remaining path is not broken in pieces
Remove This will remove the firstly found path definition of which at least one of
the selected objects is a member
Editing, adding objects to or removing objects from path definition is only possible when
the option coloring "Path Definitions'' was chosen in the Color Representation of Graphic
dialogue (SetColgr). This dialogue is opened by pressing the icon on the graphics
toolbar.
A path may be used as a selection for a calculation by selecting one or more objects from
the path definition. This will select the whole path.

32.4 Protection Analysis Results

32.4.1 Reports

The icon "Output Calculation Analysis'' ( ) in the main menu, will open the "Output''
dialogue (ComSh). The results of the load-flow or short-circuit analysis, for a range of
relays, can be generated in the output by selecting the options
• Results
• Relays
To generate a report for one or more relays, or for one or more previously defined paths,
the data manager may be used to select one or more relays or paths and right-clicking
the selection. The menu will show the option Output-Results if at least one relay was
found amongst the selected objects or in one of the selected paths. If a busbar was
selected, then all relays in connection with that busbar are selected too.

32.4.2 Results in Single Line Graph


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.
1 Output - Results for Edge Elements - Relays
2 Output - Results for Edge Elements - Relay Tripping Times
The first option ("Relays''), which is always available, will show the names of the relays
in all cubicles. The second option will show the tripping times of the relays after a load-
flow or short-circuit calculation has been made. If a relays does not trip, then a tripping
time of 9999.99 s is shown.

32.4.3 Plots
The time-overcurrent plots offer many features for displaying the settings of relays and
the results of short-circuit or load-flow calculations.
The time-overcurrent plots may also be used for changing the settings of relays and fuses,
by simply moving the tripping characteristics. Especially the possibility of changing the

32 - 27
DIgSILENT PowerFactory Protection

curves in combination with a short-circuit or load-flow result, and with the help of trans-
former or line damage curves, ensures a clear and comprehensible setting of the relay
parameters.
The following section explains the special features of the time-overcurrent plots.

32.5 Short-Circuit Sweep


The "Short-Circuit Sweep'' command as depicted in Figure 32.36 is used to calculate a
short-circuit sweep along a defined path. Short-circuits are calculated along a given path
and the results at each short-circuit location are written to a Results object. The position
in km relative to the beginning of the path is always written to the results. The sweep
command is used e.g. by the Time-Distance Diagram (see 32.7) to record the trigger
times of distance relays.

Fig. 32.36: The short-circuit sweep dialogue

32.5.1 Options

Path
Short-Circuits are calculated along this path. Path is set automatically and grayed out if
the command is called by the "Time Distance Plot''.

Additional Relays
If the option "Iterate Tripping Times'' on the advanced page is set, the positions where a
relay trips is interpolated and written to the results. The relays whose tripping times are

32 - 28
DIgSILENT PowerFactory Protection

checked are the relays found in the path and, in addition, the relays given by the selection
referenced in "Additional Relays''. Additional relays is grayed out and set if the command
is called by the "Time Distance Diagram''.

Results Frame
The variables written to the results object can either be defined by the user or by the
"Time Distance Diagram''. If the results are defined by the "Time Distance Diagram'' all
"Monitor Variable Sets'' in the results object are ignored. Otherwise the variables found in
the "Monitor Variable Sets'' stored in the results object are written. The result frame is
grayed out if the command is accessed through the time-distance diagram.

Results
Reference to result object, see also Result Frame, grayed out if the sweep dialogue is
accessed through the time-distance diagram.

Locations
A short-circuit is calculated on each busbar/terminal found in the path. If "Buses and
Branches'' is selected short-circuits on the branches between the busbars are calculated.

Short-Circuit Frame
"Command'' is a reference to the short-circuit command. Except the short-circuit location
the short-circuit settings are not changed by the sweep. The type of failure, the method
of calculation and other settings can be modified there. "Calculation'' is just displaying the
"Fault Type'' set in the short-circuit command.

32.5.2 Advanced Options

Step Size
The relay tripping positions in the path can either be iterated or calculated with a
continuous step size. In the constant mode a short-circuit is calculated at the beginning
of the branch. The distance between the following short-circuits on the branch is
"Continuous Step Size''. There is always a short-circuit calculated at the end of the branch.
In the "Iterate Tripping Times'' method the relay tripping positions are iterated. If the
tripping time of a relay changes continuously (like overcurrent relays) the sweep changes
to continuous mode automatically. Iteration mode is used again when the tripping time
remains unchanged at the next short-circuit position. The step size frame is grayed out if
the command is accessed by the time-distance diagram.

Precision and Step Size


The "Precision (Steps)'' defines the maximum iteration error at the relay tripping position.
The "Continuous Step Size'' defines the step size for the sweep with constant steps.
"Precision and Step Size'' is unused (hidden) if location is set to buses.

32 - 29
DIgSILENT PowerFactory Protection

32.6 Time-Overcurrent Plot


The plot VisOcplot is showing different relay and fuse characteristics in one time-
overcurrent plot. Additionally the damage curve and characteristic currents of electrical
equipment in the network can easily be shown. This will help to set the relay tripping
times and current settings and the selecting of fuses for a good and thorough protection
of the equipment.
There are several ways to create a time-overcurrent plot (VisOcplot):
• The easiest way to create and show a VisOcplot is to select one switch, where
overcurrent relays or fuses are installed. Right-click the switch to open the context
sensitive menu. This will show the options Create Time-Overcurrent Plot and Add to
Time-Overcurrent Plot. PowerFactory will then create a new diagram showing the
time-overcurrent plot for all relays selected.
• Another way is to right-click an path element and select Path... Time-Overcurrent
Plot from the context sensitive menu.
• Also a relay element ElmRelay can be chosen from the list of calculation-relevant
objects or in the data manager. Right-click the relay on the right side of the data
manager or in the list of relays. Then select Show  Time-Overcurrent Plot to create
a new plot or Show Add to Time-Overcurrent Plot to add the characteristic to an
existing plot.
• Additionally other elements like one or more transformers, cables or motors can be
selected and right- clicked. The context sensitive menu will show the options Show
Time-Overcurrent Plot to create a new plot and Show Add to Time-Overcurrent
Plot to add the characteristic to an existing plot.

Note To show the relay locations and thus to visualize the switches with
relays definitions these can be highlighted by setting the color rep-
resentation of the single-line diagram to "Relay Locations''. By
right-clicking these elements the option Show  Time-Overcur-
rent Plot is available and can be chosen.

In all these cases, it is also possible to select the option Add to Time-Overcurrent Plot.
This will pop up a list of previously defined over current plots from which one has to be
selected.
The overcurrent plot shows
• the time-overcurrent characteristics of relays
• the damage curves of transformers or lines
• motor starting curves
• the currents calculated by a short-circuit or load-flow analysis and the resulting
tripping times of the relays
See Figure 32.37 for an example.

32 - 30
DIgSILENT PowerFactory Protection

Fig. 32.37: A time-overcurrent plot with short-circuit results

The time-overcurrent plot shows the results of the short-circuit or load-flow analysis as a
vertical 'x-value' line across the graph. Because the currents differ for each particular
relay, a current line is drawn for each relay. The intersection of the calculated current with
the time-overcurrent characteristic is labelled with the tripping time. A 'grading margin'
line, which shows the difference between the tripping times, may be added by right-
clicking the plot and selecting "Show Grading Margins''.
It is also possible to create an user defined 'x-value' by right-clicking the graph and
selecting the Set Constant x-value option. The vertical line will show the values at the
intersections of all displayed characteristics. To move the line left, drag it with the mouse.

32.6.1 Changing Tripping Characteristics


The time overcurrent plots may also be used to change the relay characteristics graphi-
cally. Because a relay characteristic is normally the minimum of two or more sub-charac-
teristics, it has to be split first in order to change the sub-characteristics.
A characteristic is split by
• right-clicking the characteristic
• enable the split option
The relay characteristics can also be split by opening the edit dialogue of the plot and
enabling the option Split Relay in the table Relay, where all relays are listed.
The sub-characteristics are now visible. Each of them can be left clicked and dragged
along the time-overcurrent plot area. However, they cannot be dragged outside the
allowed range which has been defined for the relay type. After the relay sub-character-
istics have been changed, they can be combined again into one single characteristic by
disabling the split option again.
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 the time overcurrent
characteristics are dragged. The grading margin may be set to a fixed time. The grading

32 - 31
DIgSILENT PowerFactory Protection

margins are shown as two lines, plus and minus the grading margin above and below the
dragged tripping characteristic. See Figure 32.38 for an example: the original character-
istic is labelled "1'', the new position as "2'', and the grading margins are labelled "a''.

Fig. 32.38: Moving a characteristic with grading margins

Conductor/Cable Damage Curve


The conductor and cable damage curves are used to evaluate a protection coordination
variation and as guides for positioning the time-overcurrent characteristics.

32 - 32
DIgSILENT PowerFactory Protection

Fig. 32.39: Conductor/Cable damage curve

To add a damage curve to a time-overcurrent plot, right-click the plot area and select
Add... Conductor/Cable Damage Curve.
The Rated Short-Circuit Current and time of the cable can be inserted. Also typical Cable
Parameters for the conductor, insulation factor, K, are given in figures 32.40 and 32.41.
These tables show the temperature range for the cables:
• T1 = maximum operating temperature in º C
• T2 = maximum short-circuit temperature in º C
and the K factor for a cross section in mm2, CM, MCM and inch2.

32 - 33
DIgSILENT PowerFactory Protection

Fig. 32.40: Typical damage parameters for copper conductor cables

Fig. 32.41: Typical damage parameters for aluminium conductor cables

Transformer Damage Curve


The transformer damage curves are used to evaluate a protection coordination variation
and as guides for positioning the time-overcurrent characteristics.

32 - 34
DIgSILENT PowerFactory Protection

Fig. 32.42: Transformer damage curve

To add an ANSI/IEEE C57.109 damage curve to a time-overcurrent plot, right-click the


plot area and select Add... Transformer Damage Curve. An example of a time-
overcurrent plot with two relay characteristics and a transformer damage curve is shown
in Figure 32.43.

Fig. 32.43: Transformer damage curve

To add the damage curves of specific transformers in the power system, right-click the
transformer object in the single line graphic or the database manager and select the
option Show  Add to Time-Overcurrent Plot. This will pop up the list of defined
overcurrent plots from which one has to be selected. A damage curve will then be calcu-
lated from the electrical transformer data, according to the ANSI/IEEE C57.109 standard,
and added to the selected time over-current plot.

32 - 35
DIgSILENT PowerFactory Protection

It is also possible to add a two-winding or three-winding transformer object to the graph


manually. This is done by editing the graph and adding the transformer object to the list
of displayed relays.

Motor Start Curve


The motor start curves are used to evaluate a protection coordination variation and as
guides for positioning the time-overcurrent characteristics.

Fig. 32.44: Motor start curve edit dialogue

The characteristic currents and durations given in the edit dialogue result in a step wise
motor start current plot, as depicted in Figure 32.45.

32 - 36
DIgSILENT PowerFactory Protection

Fig. 32.45: The motor start curve

Overcurrent Plot Settings


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)
ampere.
Show Relays This option is used to display only certain types of relay characteristics.
Recloser Operation
The different recloser stages can be shown simultaneously or switched
off in the diagram.
Display automatically
This option is used to select how the calculated load-flow or short-
circuit currents will be displayed. Either the current lines, the grading
margins, both or none may be selected.
Voltage Reference Axis
More than one current axis may be shown, based on a different voltage
level. All voltage levels found in the path when a time overcurrent plot
is constructed are shown by default. An user defined voltage level may
be added. Optionally, only the user defined voltage level is shown.
Cut Curves at normally the curves of different relay zones cut at the same tripping
current.
Show Grading Margins while Drag&Drop
When dragging the curves up and down resp. right and left, the
grading margins of the curve will be shown according to the margin
entered.

32 - 37
DIgSILENT PowerFactory Protection

Fig. 32.46: Overcurrent Plot Settings

The advanced options are:


Drag & Drop Step Sizes
These are used to set the step change in the relay settings when a
time-overcurrent plot is dragged with a continuous time dial or pickup
current.
Time Range for Step Sizes
Enter the tripping time range for the y-axis.
'Color for Out of Service' Units
The characteristics for units that are out of service are drawn invisible
by default. However, a visible color may be selected.
Brush Style for Fuses
This defines the fill style for fuse curves
Nr. of points per curve
The number of points can be changed to either refine the plotted
curves for more detail, or to speed up the drawing of the diagram.

32.7 The Time-Distance Diagram


The time-distance plot VisPlottz shows the tripping times of the relays depending on the
short-circuit location. It is normally calculated by the short-circuit sweep command. See
short-circuit sweep command (Section 32.5) for more information.
It is directly connected to a path definition described in Section 32.3 (Path Definitions),
so it can only be created if a path is already defined.

32 - 38
DIgSILENT PowerFactory Protection

Fig. 32.47: A time-distance plot

To create a time-distance diagram:


• The easiest way to create and show a VisPlottz is to right-clicked an element, which
is already added to a path definition. From the context sensitive menu the option
Show Time-Distance Diagram can be selected. PowerFactory will then create a
new object VisPlottz showing the time-distance plot for all distance relays in the
path.
• Another way is to right-clicked an path element and select Path... Time-Distance
Diagram from the context sensitive menu. Like above this will create a new object
VisPlottz.
• Also path object SetPath can be chosen in the data manager under Database\
Projectname\ Paths. Select the "Paths'' folder and right-click the path object on the
right side of the data manager. Then select Show Time-Distance Diagram from the
context sensitive menu.

Note To show the path definition and thus to visualize the elements con-
tained in the path can be highlighted by setting the color represen-

32 - 39
DIgSILENT PowerFactory Protection

tation of the single-line diagram to "Path Definitions''. By right-


clicking these elements the option Show Time-Distance Dia-
gram is available and can be chosen.

The time-distance plot in Figure 32.47 is separated in two different diagrams. The forward
diagram shows all relays at the beginning of the line in path direction. The reverse
diagram shows the relays at the beginning of the line in reverse path direction. The upper
diagram is in forward direction, the lower one in backward direction. There are three
different styles for the time-distance plot.These are:
Forward/Reverse
Both diagrams are shown.
Forward Only forward direction diagram
Reverse Only reverse direction diagram

32.7.1 The Path Axis

Fig. 32.48: A path axis

The path axis in Figure 32.48 shows the complete path with busbar and relay locations.
Busbars/Terminals are marked with a tick and the name. The boxes above and below the
line show the relay locations in forward and in backward direction. The reference relays
in both directions are marked with an arrow.

32.7.2 Methods for calculation of tripping times


There are several methods to calculate the tripping times shown in the plot. To change
the method, select the Method option in the context sensitive menu or double-click the
plot to access the time-distance plot dialogue and edit Methods option on the Relays page.
The methods differ in exactness and speed. The set of possible units for the x-Axis
depends on the method used. The methods are:
Short-Circuit Sweep Method
The short-circuit sweep method is the most accurate method for
calculating the short-circuit locations. A short-circuit sweep is
calculated over the branches between the first and the last busbar in
the path. At each short-circuit location the relay tripping times are
established. The disadvantage of this method is it's low speed.
Whenever the rebuild button of the graphics window is pressed the
sweep is recalculated. The possible units for the short-circuit location
are position in km or reactance in primary or relay ohm.
Kilometrical Method
This method is the fastest but most inaccurate one. Tripping time and
location are determined with the intersection of the impedances and
the relay characteristic. The impedances used for calculation are the
impedances of the device. If there is more than one intersection at the

32 - 40
DIgSILENT PowerFactory Protection

same impedance the smallest tripping time is used. The possible units
for the short-circuit location are position in km or reactance, resistance
and impedance, each in primary or relay ohm.

Fig. 32.49: The Time-Distance plot edit dialogue

The kilometrical method is applicable only for the following paths


• There are no parallel branches in the path.
• The path is fed from only one side or there is no junction on the path.

32.7.3 Short-Circuit Calculation Settings


If the method for the calculation of the time-distance plot is set to "Short-Circuit Sweep'',
the short-circuit sweep command object ComShcsweep is used. There is either the
option Shc-Calc... in the context menu of the plot or the Shc-Calc... button in the "Time
Distance Plot'' edit dialogue to access the sweep command.
Some of the settings in the command are predefined by the time-distance plot. These
settings are grayed out when the sweep command is accessed through the plot. The
short-circuit command for the calculation is set in the sweep command. To change the
short-circuit method, e.. "IEC'' or "Complete'', open the sweep command and edit the
short-circuit dialogue.

Note The easiest way to calculate the short-circuit sweep for the time-
distance plot is by simply pressing the button .
Mind that this is only needed when using the Short-Circuit Sweep

32 - 41
DIgSILENT PowerFactory Protection

method. The Kilometrical method does not need the short-circuit


sweep command.

See Section 32.5 (Short-Circuit Sweep) for more information.

32.7.4 The x-Unit


There is a set of possible x-units depending on the method used. See the methods
description for details. The short-circuit sweep method needs a relay to measure the
impedance, named the reference relay. If there is no reference relay selected the first
relay in the diagram's direction is used as reference relay.
The options available for the x-unit are:
Length x-axis is shown depending on the line/cable length from the reference
relay in"km''.
Impedance (pri.Ohm)
x-axis is shown depending on the impedance from the reference relay.
Reactance (pri.Ohm)
x-axis is shown depending on the reactance from the reference relay.
Impedance (sec.Ohm)
Here the impedance from the reference relay is measured on the
secondary side.
Reactance (sec.Ohm)
Here the reactance from the reference relay is measured on the
secondary side.

32.7.5 The Reference Relay


The x-Axis positions or impedances are calculated relative to the beginning of the path.
If a reference relay was set the positions/impedances are relative to the reference relay.
The sweep method needs always a reference relay. If no reference relay was set the first
relay in the diagram's direction is taken for reference relay.
The busbar connected to the reference relay is marked with an arrow pointing in the
diagrams direction.
The reference relay is set either using 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
prompts for the relay to use. In the dialogue of the "Time Distance Relay" the "Reference
Relay'' frame is located on the bottom. Change the "Relay'' reference to set or reset the
reference relay.

32.7.6 Double-Click Positions


The following positions can be double-clicked for a default action:
Axis Edit scale

32 - 42
DIgSILENT PowerFactory Protection

Curve Edit step of relay


Relay box Edit relay(s)
Path axis Edit Line
Any other Open the "Time Distance'' edit dialogue

32.7.7 The Context Sensitive Menu


If the diagram is right-clicked at any position, the context sensitive menu will pop up
similar to the menu described in Section 20.1.2 (Plots) for the virtual instruments.
There are some additional functions available in addition to the basic VI-methods for the
time-distance plot.
Grid Shows the dialogue to modify the grid-lines.
Edit Path Opens the dialogue of the displayed path definition (SetPath).
Method Set the used method for calculating the tripping times.
x-Unit Set the unit for the x-Axis, km impedances,...
Diagrams Select diagrams shown forward, reverse or both.
Consider Breaker Opening Time
Report This option prints out a report for the position of the relays, their
tripping time as well as all calculated impedances in the output window.
Shc-Calc... Show "Short-Circuit Sweep'' command dialogue.

32.7.8 Set Relays Buttons


The Set Relays button in the dialogue of the time-distance plot fills the table with the
relays in forward or reverse direction of the path automatically.

32.8 Relay Plot


The relay or R-X plot VisDraw is showing the impedance characteristics of different
distance protection relays in one or several R-X plots. Additionally the impedance of
connected lines and transformers in the network nearby the protection equipment can
easily be shown. Thus the impedances of the different zones of the relay and the tripping
time can easily be adjusted and checked for a good and thorough protection of the
equipment.
There are several ways to create a relay plot (VisDraw):
• The easiest way to create and show a VisDraw is to select one cubicle, where a
distance relay is installed. Right-click the switch to open the context-sensitive menu.
This will show the options Create R-X Plot and Add to R-X Plot. PowerFactory will
then create a new diagram showing the R-X plot for all relays in the selected cubicle.
• Another way is to right-clicked an element which is belonging to a defined protection
path and select Path... R-X Plot from the context-sensitive menu.
• Also a distance relay element ElmRelay can be chosen from the list of calculation-
relevant objects or in the data manager. Right-click the relay on the right side of the

32 - 43
DIgSILENT PowerFactory Protection

data manager or in the list of relays. Then select Show  R-X Plot to create a new
plot or Show Add to R-X Plot to get a selection of already created plots to add the
characteristic to an existing plot.

Note To show the relay locations and thus to visualize the switches with
relays definitions these can be highlighted by setting the color rep-
resentation of the single-line diagram to "Relay Locations''. By
right-clicking these elements the option Show  R-X Plot is avail-
able and can be chosen.

The R-X plots show


• the impedance characteristics of selected distance relays including the different
zones.
• impedance curve of the lines and transformers near the relay location.
• the location of other distance relay nearby.
• the short-circuit impedance depending on the location and the fault impedances.
• the tripping time of the relay.

Fig. 32.50: A R-X plot with short-circuit results and two relays

In Figure 32.50 an example is shown for the R-X plot, where two relay characteristics and
the transmission line impedances are displayed.
Furthermore shows the location of the short-circuit or load-flow calculation as a equiv-
alent impedance point in the plot. For every relay displayed in the graph also a legend is
shown containing the relevant information regarding the short-circuit calculation of each
relay:

32 - 44
DIgSILENT PowerFactory Protection

• name of the relay,


• measured impedances seen from the relay location,
• the fault type,
• the actual tripping time of the relay,
• which zone is tripped.
The information shown may be changed in the relay plot settings. For details please refer
to Section 20.1.2 (Plots).

32.8.1 Modifying the Relay Settings


From the R-X plot the characteristics of the relays shown can easily be changed according
to the impedances of the electrical equipment, which is to be protected.
By double-clicking the characteristic of a relay zone the settings dialogue of the zone will
be opened and can be modified. Here the relay specific information of the impedance
characteristic can be entered. Also the information of the line branch connected to the
relay in "forward'' direction is shown in the dialogue. If the OK button is selected the
characteristic of the relay will be updated.
It is also possible to edit the lines or transformer elements shown in the plot. Holding still
the mouse arrow over the element for a second a balloon help box will appear and show
the name of the element. If one of the lines is double-clicked, the edit dialogue of the
element pops up like in the single-line graphics. In this way the line impedances can easily
be accessed.

Relay Plot Settings


The R-X plot settings can be accessed by selecting the Options from the context-sensitive
menu or by pressing the Options button in the edit dialogue of the plot.

Basic Options:
The dialogue shows the following options:
Unit The current unit may be set to either primary or secondary (relay)
ampere.
Relays Units This option is used to display only certain types of relay characteristics.
Zones Here the zone can be selected which is to be shown. Also All zones of
the relays can be displayed in one graph (default).
Display This option is used to select how the calculated load-flow or short-
circuit current/equivalent impedance will be displayed. Either as an
short-circuit arrow, a cross or none may be selected.
Show Impedance
Color out of service units
Zones being out of service can be shown as well in a different color.

32 - 45
DIgSILENT PowerFactory Protection

Fig. 32.51: R-X-Plot Setttings

Additionally, the show/hide option for the starting, overreach zones, power swing units
and the complete shape of the diagrams can be selected in the dialogue.

Branch Impedances:
There are special options to modify the appearance of the branch impedances:
Number of Relay Locations
Only the branches are shown up to the x-th next relay location. If zero,
no branches are shown at all.
Branches, max. Depth
Maximum number of branches shown from each relay location. If zero,
no branches are shown at all.
Ignore Transformers
Transformer impedances are ignored when activated.
Method Method for determining the line impedances.
Show Branch Options
Here the line style and width can be selected.

Legend:
In the legend belonging to each relay different information and calculation results is
displayed. Here the user can choose, which results are to be shown.

32 - 46
DIgSILENT PowerFactory Protection

32.9 The Protection Coordination Wizard


The Protection Coordination Wizard for automatic overcurrent protection relay settings
calculation has the purpose to:
• Verify that the settings (thresholds, time delays and curve shapes) of the overcurrent
devices satisfy the requirements to achieve the protection of the circuit respecting the
selectivity constrains and guarantying the "normal operation" of the system,
• Calculate the settings (thresholds, time delays and curve shapes) to satisfy protection,
selectivity and "normal operation".
It's possible to run the verification process without running the calculation process. The
calculation process is using the verification phase to validate the results and generate a
report of the achieved results.
The Protection Coordination Wizard has the ability to verify/calculate the selectivity for
each protective device using the settings of one phase inverse element, two phase
definite time elements, one phase ground inverse element and two ground definite time
elements. To protect the system the rules implemented in the wizard are calculating the
relay settings of one phase inverse element, two phase definite time elements and one
ground time definite element.
The Protection Coordination Wizard requires that protective devices have been created
on each side of a line or of a transformer. Motors, generic loads, capacitors must be
protected by a protective device located on the motor, generic load, capacitor feeder
itself.
Please keep in mind that the coordination process is flexible but cannot manage any
possible "circuit" configuration: some of them cannot be protected in a perfect way due
to the circuit characteristics and to the protective device characteristics.
Example:
A relay protecting two transformers in parallel, the relay trip threshold should be at least
two times the single transformer rated current. To manage the CT errors and the relay
measurement error a 110% (or greater) safety factor is added to the threshold. The
threshold value we obtain doesn't guarantee to fully protect the single machine. So it
appears clear that not always coordination process is able to achieve a perfect coordi-
nation of the protective devices and protection of the protected items. Many times the
results we get are an acceptable compromise between the protection and coordination
needs using the available protective devices characteristics. In this case a full report
showing the current ranges where the coordination or the protection isn't achieved will
be made available.

32.9.1 Starting the Protection Coordination Wizard


Before you can use the Protection Coordination Wizard you have to:
• Define protection devices in the grid (according to Section 32.1: Creating a Protection
Device).
• Define a feeder for the section of the grid, in which you want to ccordinate the
protection devices. For informations about feeders please refer to Section 12.5
(Feeders).
With these elements available in your grid, you can use the Protection Coordination
Wizard. To start the wizard, either:

32 - 47
DIgSILENT PowerFactory Protection

• Select the Protection toolbar in the main icon bar of PowerFactory.


• Press the 'Protection Coordination Wizard' button as shown in Figure 32.52.
or:
• Click with the right mouse button on an element in the single-line diagram, which is
part of the feeder, i. e. the part of the grid, for which you want to coordniate the
protection devices.
• Select Calculate -> Protection Coordination Wizard from the context sensitive menu as
depicted in Figure 32.53.

Fig. 32.52: The Protection Coordination Wizard button in the Protection toolbar

Fig. 32.53: Starting the Protection Coordination Wizard from the context sensitive
menu

The dialogue of the Protection Coordination Wizard pops up (see Figure 32.54). Configure
the Coordiniation Wizard for meeting your requirements. Afterwards press the Execute

32 - 48
DIgSILENT PowerFactory Protection

button to run the coordination process.

32.9.2 The Protection Coordination Wizard Dialogue Window


Normally you just have to select the options on the 'Basic Options' tab. Advanced users
may use the 'Configuration' tab as well. On the 'Output' tab you can select the output
format.

Fig. 32.54: The Protection Coordination Wizard dialogue - Basic Options

32 - 49
DIgSILENT PowerFactory Protection

Fig. 32.55: The Protection Coordination Wizard dialogue - Output Options

32 - 50
DIgSILENT PowerFactory Network Reduction

Chapter 33
Network Reduction

A typical application of network reduction is a project where a specific network has to be


analyzed, but this network cannot be studied independent of a neighboring network of
the same or a higher/lower voltage level. In such cases, one option is to model both
networks in detail for calculation purposes. There may, however, be situations when it is
not desirable to perform studies with the complete model. Such situations may include,
for example, cases when the calculation times would increase significantly or when the
data of the neighboring network is confidential and cannot be published in detail. In these
cases it is common practise to provide a representation of the neighboring network, which
contains the interface nodes (connection points) that may be connected by equivalent
impedances and voltage sources.
PowerFactory’s network reduction algorithm produces an equivalent representation of
the reduced part of the network and calculates its parameters. This equivalent represen-
tation is valid for both load flow and short-circuit calculations, including asymmetrical
faults (i.e. single-phase faults).

33.1 Network Reduction Example


The example configuration used in this chapter to illustrate the network reduction function
is a transmission system as shown in Figure 33.1 feeding a distribution system. The distri-
bution network is fed by two busbars, "Bus 5'' and "Bus 6'', in the center of the transmis-
sion system. It is represented by Load A and Load B and the corresponding two
transformers. The distribution system is to be studied in detail, however the transmission
system will be represented only by its equivalent model. The transmission system has a
connection to another transmission system, which is represented by the External Grid and
the connecting line. This second transmission system shall remain as-is, as we want to
reduce only one transmission system. The “Boundary” defines which part shall be
reduced.

33 - 1
DIgSILENT PowerFactory Network Reduction

Fig. 33.1: Example System with Original Network

The result of the network reduction is shown in Figure 33.2. The transmission network
has been reduced to an equivalent representation by three AC voltage sources (ElmVac)
and three common impedances (ElmZpu) connecting the remaining busbars.
A load flow calculation or a short-circuit calculation in the reduced network gives the same
results for the distribution network as for the original (non-reduced) network.

33 - 2
DIgSILENT PowerFactory Network Reduction

Fig. 33.2: Example System with Reduced Network

33.2 Executing the Reduction Process


The grid boundary, which divides the network into a part which shall remain in its original
detailed representation (the retained grid) and a part that is to be reduced (i.e. that which
shall be represented by a simplified equivalent grid), is defined by means of a boundary
element (ElmBoundary). A boundary element is essentially a set of cubicles, each one
defined with a given orientation to distinguish the two portions of the network separated
by the boundary as "interior" and "exterior". The cubicles in the boundary element have
to be orientated in order to have the part of the grid which shall be reduced as "interior".
For more information regarding boundaries, please refer to Section 12.3 (Boundaries).
To reduce the network, please proceed as follows:
• The Network Reduction function, by default, retains the original network data. It will
only destroy the original data if the associated option for this is set accordingly (see
Section 33.3.2: Outputs). 
However, to be absolutely sure of avoiding any data loss, even when accidentally
selecting the option which will delete the original grid during the reduction procedure,
please first either:
- 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 regarding exporting data
please refer to Section 9.1.4: Exporting and Importing of Projects); or

33 - 3
DIgSILENT PowerFactory Network Reduction

- activate the project and create a new Version of the project. For information about
Versions please refer to Section 21.1 (Project Versions).
• Activate the base Study Case. This loads the original network.
• If you have migrated your project from PowerFactory version 13.2 or another
previous PowerFactory version, please ensure that either there is a Variations folder
in your current project (located inside the Network Model folder) or that there are
already existing System Stages (located inside the Grid folders). For further
information, please refer to Section 33.3.2 (Outputs).
• Define the boundary necessary to split the grid into the part to be reduced, and the
part to retain its detailed representation. Ensure that the boundary splits the network
into two regions by using the Check Split button in the ElmBoundary dialogue.
For more information about boundaries, please refer to Section 12.3 (Boundaries).

• Select the Additional Tools icon ( ) from the main toolbar.

• Press the Network Reduction icon ( ) from the Additional Tools icon bar
(Figure 33.3). This opens the dialogue for Network Reduction (ComRed).
• Choose the settings according to Section 33.3 (Network Reduction Command).
• Click on the Execute button to start the reduction procedure.

Network Reduction

Fig. 33.3: The Network Reduction Button in the Additional Tools Icon Bar

Depending on the option selected on the Outputs tab (Section 33.3.2: Outputs), the
network reduction procedure may automatically create a new variation/system stage to
represent the original grid. If the original system is represented with multiple grids (or
system stages of multiple grids), a new system stage will be created in each one. In the
new system stage(s), the part of the grid which shall not be reduced retains its full repre-
sentation, whereas the part that shall be reduced is erased and the new simplified grid
representation is added, with the connections to the other part of the grid (i. e. to the
part which is not reduced). The new system stage(s) will therefore represent the
combined grid (retained grid and reduced equivalent).
The new system stages will be automatically activated in the active study case.
In the event that one or more single line graphic diagrams were available in the system
stage(s) within the original grid, these graphics will also be available in the new system
stage(s) within the combined (partly retained and partly reduced) grid. The first time that
the new study case is activated (automatically, at the end of network reduction proce-
dure), the graphics will be displayed. The elements contained in the part of the grid which
was reduced (if any of them were previously shown), will appear grey in colour, as "ghost"

33 - 4
DIgSILENT PowerFactory Network Reduction

elements. Deactivating and re-activating the project will make them disappear perma-
nently (they are graphic elements only, and have no corresponding elements in the data-
base in the new system stage(s)).
The elements contained in the equivalent grid (equivalent branches, equivalent shunts,
equivalent injections, etc) are stored in the database but have no graphic image as yet.
These elements can be easily drawn by making use of the PowerFactory tool "Draw
Existing Net Elements", which is explained in Section 10.4 (Drawing Diagrams with
already existing Network Elements).

33.3 Network Reduction Command


In this section, the Network Reduction command options are explained.

33.3.1 Basic Options

Fig. 33.4: Network Reduction Command (ComRed) Basic Options

Boundary 
The part of the grid which shall be reduced must be defined by a
boundary. The project Boundaries folder may contain many defined
boundaries, so the user has to select the boundary corresponding to
the division which separates the original grid into two parts: (i) the part

33 - 5
DIgSILENT PowerFactory Network Reduction

that shall be reduced; and (ii) the part that shall retain its full
representation. Only one boundary can be used in the network
reduction calculation. For more information about boundaries, please
refer to Section 12.3 (Boundaries).

Load Flow
Calculate load flow equivalent 
With this option enabled, the load flow equivalent will be created. If
this option is disabled, the load flow equivalent will not be created. This
option is normally enabled.
Equivalent Model for Power Injection 
The load flow equivalent is composed of mutual impedances among
boundary nodes and power injections (and shunt impedances) at
boundary nodes. This kind of power injection can be represented by
different models. For the load flow equivalent there are three options
(models) available:
• Load Equivalent: a load demand
• Ward Equivalent: an AC voltage source which is configured as a
Ward Equivalent
• Extended Ward Equivalent: an AC voltage source which is
configured as an Extended Ward Equivalent

Short-Circuit
Calculate short-circuit equivalent 
This option is used to specify whether the short-circuit equivalent shall
be calculated (option enabled) or not (option disabled). Currently, only
the complete short-circuit calculation method is supported.
Asymmetrical Representation 
This option is used to specify whether an unbalanced short-circuit
equivalent will be created.
If this option is disabled, only a balanced short-circuit equivalent will be
created, valid for the calculation of 3-phase short-circuits.
If this option is enabled, an unbalanced short-circuit equivalent is
created as well, valid for the calculation of single-phase and 2-phase
short-circuits. This means the network representation must include zero
sequence and negative sequence parameters, otherwise the
unbalanced calculation cannot be performed.

33 - 6
DIgSILENT PowerFactory Network Reduction

33.3.2 Outputs
The Outputs tab is used to specify whether the reduced grid parameters shall be reported
only, or whether the reduced grid shall be stored in a new variation.
Calculation of Parameters Only
The equivalent parameters are calculated and reported, and no new
variation will be created.
Create a New Variation for Reduced Network
The equivalent parameters are calculated and a new variation will be
automatically created, to store the reduced network representation. If
the project still includes system stages (from PowerFactory
version 13.2 or earlier versions) a new system stage will be created
instead of a variation.
Reduce Network without Creating a New Variation
The reduced network will be stored directly in the Grid folder inside the
Network Data folder. No variation will be created. The part of the grid
to be reduced will be deleted and replaced by its reduced
representation.
To avoid losing the original grid data, save the data before executing
the network reduction with this option. To do this, either (i) create a
revision manually; or (ii) create a version of the project; or (iii) make a
copy of the entire project; or (iv) export the project.

Fig. 33.5: Network Reduction Command - Outputs

33 - 7
DIgSILENT PowerFactory Network Reduction

33.3.3 Advanced Options


Mutual Impedance
Enter here the value for the maximum equivalent branch impedance to
be considered. The reduced network will be comprised of, among other
elements, equivalent branches that join each pair of boundary nodes (a
boundary node is identified for each boundary cubicle). The number of
these branches will therefore be N*(N-1)/2, where N is the number of
boundary nodes. (Note that this number can be very high in the case of
many boundary nodes). It frequently occurs that some (or many) of
these equivalent branches have a very large impedance value, and
therefore that their associated power flows are negligible: hence they
are not represented as branches. Therefore, the user is given the
possibility to define an impedance limit value, above which branches
will be neglected (i.e. not represented) in the reduced network
equivalent.
Calculate Equivalent Parameters at All Frequencies
With this option the calculation of frequency-related parameters can be
enabled or disabled. 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
• f / fn = 0.15
• f / fn = 0.092
• f / fn = 0.055
fn is the nominal frequency of the grid (usually 50 Hz or 60 Hz).
If only transient and sub-transient short-circuit currents are being
considered in the calculation, the calculation of frequency-related
parameters can be skipped by unchecking this option.

Fig. 33.6: Network Reduction Command - Advanced Options

33 - 8
DIgSILENT PowerFactory Network Reduction

33.3.4 Verification
Check Equivalent Results
If the option Check load flow results after reduction is enabled, the load
flow results at the boundary nodes will be checked against the original
network results. A warning message will be given if the results do not
match (within a user defined tolerance).
Check Deviation of Working Point
If the option Save original operating point to result file is enabled, the
operating point where the network reduction takes place will be
automatically saved to two result files. These two created files are:
• LdfResultforNR.ElmRes: voltage magnitudes and angles of all
boundary nodes; and
• ShcResultforNR.ElmRes: short-circuit level at all boundary nodes,
including Ik'' (Ikss), Ik' (Iks), ip (ip), ib (ib), Ib (Ib), Xb/Rb (XtoR_b),
and X/R (XtoR).

Fig. 33.7: Network Reduction Command - Verification

33 - 9
DIgSILENT PowerFactory Network Reduction

33.4 Technical Background


For an improved understanding of PowerFactory’s Network Reduction function, some
technical background is provided in the following sections.

33.4.1 Network Reduction for Load Flow


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 retained 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
retained 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 equiva-
lent grid, as those that would have been obtained for the original grid (within a user
defined tolerance).

33.4.2 Network Reduction for Short-Circuit


Network reduction for short-circuit is an algorithm based on nodal impedance/nodal
admittance matrices. The basic idea is that the impedance matrix of the equivalent grid,
measured at the connection points in the retained grid, must be equal to the impedance
matrix of the grid to be reduced (for the rows and columns that correspond to the
boundary nodes). This means that for a given (virtual) additional I injection (variation
of current phasor) in the boundary branches, from the retained grid to the grid to be
reduced, the resulting u (variations of voltage phasor) 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).

33.4.3 Handling of Slack Bus


If the slack bus is located in the grid which is to be reduced, a neighbourhood around this
slack will be automatically defined. This neighbourhood will be excluded from the grid to
be reduced. That means the neighbourhood of the slack bus will remain after the Network
Reduction procedure. The neighbourhood is defined based on a search from the slack
element towards each connection, until a non-zero impedance element is passed. This
means that the neighbourhood contains all elements encountered up to and including the
non-zero impedance element.

33 - 10
DIgSILENT PowerFactory State Estimation

Chapter 34
State Estimation

The State Estimator (SE) function of PowerFactory provides consistent load flow re-
sults for an entire power system, based on real time measurements, manually entered
data and the network model. Before any further analysis, such as contingency analy-
sis, security checks etc. can be carried out, the present state of a power system must
be estimated from available measurements. The measurement types that are pro-
cessed by the PowerFactory State Estimator are:
• Active Power Branch Flow
• Reactive Power Branch Flow
• Branch Current (Magnitude)
• Bus Bar Voltage (Magnitude)
• Breaker Status
• Transformer Tap Position
Unfortunately, these measurements are usually noisy and some data might even be
totally wrong. On the other hand, there are usually more data available than abso-
lutely necessary and it is possible to profit by redundant measurements for improving
the accuracy of the estimated network state.
The states that can be estimated by the State Estimator on the base of the given mea-
surements vary for different elements in the network:
• Loads
- Active Power, and/or
- Reactive Power, or
- Scaling Factor, as an alternative
• Synchronous Machines
- Active Power, and/or
- Reactive Power
• Asynchronous Machines
- Active Power
• Static var System
- Reactive Power
• 2- and 3-winding transformers
- Tap Positions (for all but one taps).

34 - 1
DIgSILENT PowerFactory State Estimation

34.1 Objective Function


The objective of a state estimator is to assess the generator and load injections, and
the tap positions in a way that the resulting load flow result matches as close as pos-
sible with the measured branch flows and bus bar voltages. Mathematically, this can
be expressed with a weighted square sum of all deviations between calculated (calVal)
and measured (meaVal) branch flows and bus bar voltages:
n
2
fx =  w i  calVal i  x  – meaVal i
i=1
The state vector x contains all voltage magnitudes, voltage angles and also all vari-
ables to be estimated, such as active and reactive power injections at all bus bars.
Because more accurate measurements should have a higher influence to the final re-
sults than less accurate measurements, every measurement error is weighted with a
weighting factor w i to the standard deviation of the corresponding measurement
device (+transmission channels, etc.).
In this setting, the goal of a state estimator is to minimize the above given function f un-
der the side constraints that all load flow equations are fulfilled.

34.2 Components of the PowerFactory State Estimator


The State Estimator function in PowerFactory consists of several independent compo-
nents, namely:
1 Preprocessing
2 Plausibility Check
3 Observability Analysis
4 State Estimation (Non-Linear Optimization)
Figure 34.1 illustrates the algorithmic interaction of the different components. The first
Preprocessing phase adjusts all breaker and tap positions according to their measured sig-
nals.

34 - 2
DIgSILENT PowerFactory State Estimation

Preprocessing

Plausibility Check

Eliminate Errornous
Measurements

E lim in a te B a d M e a s u re m e n ts
“Repair” Unobservability”

Still Unobservable? Observable?

State Estimation
(non-linear Optimization)

Bad Data Detection

No Bad Measurements Exists

OK
Fig. 34.1: Variation of the PowerFactory state estimator algorithm

The Plausibility Check is sought to detect and separate out, in a second phase, all mea-
surements with some apparent error. PowerFactory provides various test criteria for
that phase of the algorithm.
In a third phase, the network is checked for its Observability. Roughly speaking, a region
of the network is called observable, if the measurements in the system provide enough
(non-redundant) information to estimate the state of that part of the network.
Finally, the State Estimation itself evaluates the state of the entire power system by solv-
ing the above mentioned non-linear optimization problem. PowerFactory provides var-
ious ways for copying with non-observable areas of the network.
In order to improve the quality of the result, observability analysis and state estimation
can be run in a loop. In this mode, at the end of each state estimation, the measurement
devices undergo a so-called ”Bad Data Detection”: the error of every measurement device
can be estimated by evaluating the difference between calculated and measured quantity.
Extremely distorted measurements (i.e. the estimated error is much larger than the stan-
dard deviation of the measurement device) are not considered in the subsequent itera-
tions. The process is repeated until no bad measurements are detected any more.
In the following, the distinct components of the PowerFactory state estimator are ex-
plained in detail.

34 - 3
DIgSILENT PowerFactory State Estimation

34.2.1 Plausibility Check


In order to avoid any heavy distortion of the estimated network-state due to completely
wrong measurements, the following Plausibility Checks can be made before the actual
State Estimation is started. Every measurement that fails in any of the listed Plausibility
Checks will not be considered.
• Check for consistent active power flow directions at each side of the branch elements.
• Check for extremely large branch losses, which exceed their nominal values.
• Check for negative losses on passive branch elements.
• Check for large branch flows on open ended branch elements.
• Check whether the measured branch loadings exceed the nominal loading value of
the branch elements.
• Node sum checks for both, active and reactive power.
Each test is based on a stochastic analysis which takes into account the measurement’s
individual accuracy. The strictness of the above mentioned checking criteria can be con-
tinuously adjusted in the advanced settings.
The result of the Plausibility Check is reported, for each measurement, on a detailed error
status page (see Section 34.5).

34.2.2 Observability Analysis


A necessary requirement for an observable system is that the number of available mea-
surements is equal or larger than the number of estimated variables. This verification can
easily be made at the beginning of every state estimation.
But it can also happen that only parts of the network are observable and some other parts
of the system are not observable even if the total number of measurements is sufficient.
Hence, it is not only important that there are enough measurements, but also that they
are well distributed in the network.
Therefore, additional verifications are made checking for every load or generator injection
whether it is observable or not. The entire network is said to be observable if all load or
generator injections can be estimated based on the given measurements. PowerFactory
does not only solve the decision problem whether the given system is observable or not:
If a network is not observable, it is still useful to determine the islands in the network that
are observable.
The Observability Analysis in PowerFactory is not purely based on topological argu-
ments; it heavily takes into account the electrical quantities of the network. Mathemati-
cally speaking, the Observability Check is based on an intricate sensitivity analysis,
involving fast matrix-rank-calculations, of the whole system.
The result of the Observability Analysis can be viewed using the data manager. Besides,
PowerFactory offers a very flexible color representation both for observable and unob-
servable areas, and for redundant and non-redundant measurements (see Section
34.5.4).

Observability of individual states


The Observability Analysis identifies not only, for each state (i.e., load or generator injec-

34 - 4
DIgSILENT PowerFactory State Estimation

tions) whether it is observable or not. It also subdivides all unobservable states into so-
called ”equivalence-classes”. Each equivalence-class has the property that it is observable
as a group, even though its members (i.e., the single states) cannot be observed. Each
group then can be handled individually for the subsequent state estimation.

Redundancy of measurements
Typically, an observable network is overdetermined in the sense that redundant measure-
ments exist, which—for the observability of the system—do not provide any further infor-
mation. During the Observability Analysis, PowerFactory determines redundant and
non-redundant measurements. Moreover, it subdivides all redundant measurements ac-
cording to their information content for the system’s observability status. In this sense,
PowerFactory is even able to calculate a redundancy level which then indicates how
much reserve the network measurements provide. This helps the system analyst to pre-
cisely identify weakly measured areas in the network.
It should be remarked that the non-linear optimization part of the State Estimator may
highly profit from these ”redundant” measurements; thus, redundant measurements will
not be neglected in the state estimation.

34.2.3 State Estimation (Non-Linear Optimization)


The non-linear optimization is the core part of the State Estimator. As already mentioned
in the introduction, the objective is to minimize the weighted square sum of all deviations
between calculated and measured branch flows and bus bar voltages whilst fulfilling all
load flow equations.
PowerFactory uses an extremely fast converging iterative approach to solve the prob-
lem based on Lagrange-Newton methods. If the Observability Analysis in the previous
step indicates that the entire power system is observable, convergence (in general) is
guaranteed.
In order to come up with a solution for a non-observable system, various strategies can
be followed: One option is to reset all non-observable states, such that some manually
entered values or historic data is used for these states. An alternative option is to use so-
called pseudo-measurements for non-observable states. A pseudo-measurement basically
is a measurement with a very poor accuracy. These pseudo-measurements force the al-
gorithm to converge. At the same time, the resulting estimated states will be of correct
proportions within each equivalence-class.
In the remaining sections of this guide of use, the instructions related to Data Entry, Op-
tions and Constraints, and Visualization of Results are presented.

34.3 State Estimator Data Input


The main procedures to introduce and manipulate the State Estimator data are indicated
in this section. For applying the PowerFactory State Estimator, the following data are
required additional to standard load flow data:
• Measurements
- Active Power Branch Flow
- Reactive Power Branch Flow

34 - 5
DIgSILENT PowerFactory State Estimation

- Branch Current (Magnitude)


- Bus Bar Voltage (Magnitude)
- Breaker Status
- Transformer Tap Position
• Estimated States
- Loads: Active Power (P) and/or Reactive Power (Q), or the Scaling Factor, as an
alternative.
- Synchronous Machines: Active Power (P) and/or Reactive Power (Q)
- Asynchronous Machines: Active Power (P)
- Static var Systems: Reactive Power (Q)
- Transformers: Tap Positions
For the measurements listed above, PowerFactory uses the abbreviated names P-mea-
surement, Q-measurement, I-measurement, V-measurement, Breaker-measurement,
and Tap position-measurement. Similarly, as a convention, the four different types of es-
timated states are shortly called P-state, Q-state, Scaling factor-state, and Tap position-
state.

34.3.1 Measurements
All measurements are defined by placing a so-called ”External Measurement Device” in-
side a cubicle. For this purpose, select the device in the single-line graphic and choose
from the context menu (right mouse button) ”New Devices” and then ”External Measure-
ments...” (see Figure 34.2). Then, the new object dialogue pops up with a predefined list
of external measurements. Please select the desired measurement device among this list
(see Figure 34.3).

34 - 6
DIgSILENT PowerFactory State Estimation

Fig. 34.2: External Measurements that are located in a cubicle

Fig. 34.3: Defining new external measurements

34 - 7
DIgSILENT PowerFactory State Estimation

The following measurement devices are currently supported


• (External) P-Measurement (StaExtpmea)
• (External) Q-Measurement (StaExtqmea)
• (External) I-Measurement, current magnitude (StaExtimea)
• (External) V-Measurement, voltage magnitude (StaExtvmea)
• (External) Breaker Signalization Breaker Status (StaExtbrkmea)
• (External) Tap-Position Measurement Tap Position (StaExttapmea)
Any number of mutually distinct measurement devices can be defined in the cubicle.

Branch Flow Measurements


Any branch flow measurement (StaExpmea, StaExtqmea) is defined by the following val-
ues (see figures 34.4 and 34.5):
• Measured value (e:Pmea or e:Qmea, respectively)
• Multiplicator (e:Multip)
• Orientation (e:i_gen)
• Accuracy class and rating (e:Snom and e:accuracy)
• Input status (to be found on the second page of the edit object, see Figure 34.5):
E.g., tele-measured, manually entered, read/write protected, . . . (e:iStatus). It is
important to note that the state estimator takes into account only measurements, for
which the ”read”-Status is explicitly set and for which the ”Neglected by SE”-Status is
unset.

Fig. 34.4: Dialogue for an external P-measurement

The accuracy class and the rating are used for weighting the measurement element. In

34 - 8
DIgSILENT PowerFactory State Estimation

case of redundant measurements, a more accurate measurement will be higher weighted


than a less accurate measurement.
Using the flag ”orientation”, it is possible to define the meaning of the active or reactive
power sign. Load orientation means that a positively measured P or Q flows into the ele-
ment, generator orientation defines a positive flow as flowing out of an element. With the
”multiplicator”, a measured quantity can be re-rated. E.g., if a measurement instrument
indicates 150kW (instead of 0.15MW), the ”multiplicator” can be set to 0.001 and the
measured value is set to 150 resulting in a correct value.
It is important to note, that External P- and Q-measurements have the additional feature
to possibly serve as a so-called (externally created) pseudo-measurement. This feature is
activated by checking the corresponding box (e:pseudo). Pseudo-measurements are
special measurements which are ignored during the regular calculation. They are activat-
ed in a selective manner only if the observability check found unobservable states in the
network (see Section 34.4.1 (Basic Setup Options) for details).

Current Measurements
The External I-measurement (Staextimea) plays a special role and slightly differs from
the External P- and Q-measurements (see Figure 34.6): Besides specifying the measured
current magnitude (e:Imea), the user is asked to enter an assumed (or measured) value
for the power factor cos (e:cosphi and e:pf_recapr).

Fig. 34.5: Second page ”Status” of the dialogue for an external P-measurement

Internally, the measured current magnitude is then additionally transformed into two fur-
ther measurements, namely an active and a reactive current. This is due to the fact that
current magnitude does not provide information on the direction of the flow, which — on
the other hand — is essential to avoid ambiguous solutions in the optimization.
In this sense, an external I-measurement may play the role of up to three measurements:

34 - 9
DIgSILENT PowerFactory State Estimation

1 as a current magnitude measurement.


2 as a measurement for active current.
3 as a measurement for reactive current.
The decision which of these measurements shall participate in the state estimator is left
to the user by checking the boxes (e:iUseMagn,e:iUseAct, and/or e:iUseReact).
In any case, the corresponding ratings for the used measurement types need to be spec-
ified. This is done (accordingly to the flow measurements) by entering the pairs of fields
((e:SnomMagn,e:accuracyMagn), (e:SnomAct,e:accuracyAct), and (e:SnomRe-
act,e:accuracyReact), respectively).

Voltage Measurements
Voltage measurements (StaExvmea) need to be placed in cubicles as well. The measure-
ment point then is the adjacent terminal.

Fig. 34.6: Dialogue for an external I-measurement

A voltage measurement basically has the same properties as a flow measurement, except,
for the rating, only a single value for the accuracy needs to be specified. The correspond-
ing internal reference is the nominal voltage of the terminal which serves as measurement
point.

34 - 10
DIgSILENT PowerFactory State Estimation

Breaker and Tap Position Measurements


Both breaker and tap position measurements are assumed to measure the corresponding
discrete breaker status and tap position signal accurately. Hence, no ratings needs to be
specified.
Tap position measurements have a conversion table as extra feature. The conversion ta-
ble allows any discrete translation mapping between external tap positions (Ext. Tap) and
tap positions used by PowerFactory (PF Tap).

34.3.2 Activating the State Estimator Display Option


To access and enter data for State Estimator calculations in the appropriate elements of
the grid, the pertinent ”Display Options” must be selected as follows:

a) Click the icon , or select from the main menu ”Options User Settings”. Change
to the tab page ”Functions”. The window shown in Figure 34.7 will appear.
b) Enable the Display Function ”State Estimator” as shown below.
c) Exit the window clicking the OK button.

Fig. 34.7: User Settings for State Estimation

With this display function enabled, a new tab called ”State Estimator” appears in the State
Estimator related elements of the grids in the activated project. The State Estimator data

34 - 11
DIgSILENT PowerFactory State Estimation

manipulation of the different elements is indicated below.

34.3.3 Editing the Element Data


In addition to the measurement values, the user has to specify which quantities shall be
considered as ”states to be estimated” by the SE. Possible states to be optimized whilst
minimizing the sum of the error squares over all measurements are all active and/or re-
active power injections at generators and loads and all tap positions.

Loads
For each load (ElmLod), the user can specify whether its active and/or reactive power
shall be estimated by the state estimator. Alternatively, the state estimator is able to es-
timate the scaling factor (for a given P and Q injection). The specification which parame-
ter shall be estimated, is done by checking corresponding boxes on the ”State Estimator”
page of the load (see Figure 34.8). When these options are disabled, the load is treated
as in the conventional load flow calculation during the execution of the SE.

Fig. 34.8: Editing element data for loads

Synchronous Machines
Similarly, for synchronous machines (ElmSym), the active and reactive power can be se-
lected as a control variable for being estimated by the state estimator. Again, the user will
find corresponding check boxes on the ”State Estimator” page of the element.
If the corresponding check box(es) are disabled, the synchronous machine behaves as in
the conventional load flow calculation.

Asynchronous Machines
For asynchronous machines (ElmAsm), the active power may serve as a state to be esti-
mated. Once again, the corresponding box has to be checked on the ”State Estimator”
page.
If the corresponding check box is disabled, the asynchronous machine behaves as in the
conventional load flow calculation.

34 - 12
DIgSILENT PowerFactory State Estimation

Static var Systems


For static var systems (ElmSvs), the reactive power may serve as a state to be estimated.
Again, the corresponding box has to be checked on the ”State Estimator” page.
If the corresponding check box is disabled, the static var system behaves as in the con-
ventional load flow calculation.

Transformers
In the 2-winding transformer elements (ElmTr2), the tap position can be specified as a
state to be estimated by the State Estimator (see Figure 34.9). Tap positions will be esti-
mated in a continuous way (without paying attention to the given tap limits).
For 3-winding transformers, any two of the three possible tap positions (HV-, MV-, and
LV-side) can be selected for estimation (see Figure 34.10).
The corresponding check boxes are found on the ”State Estimator” page of the transform-
ers. If the check box is disabled the State Estimator will treat the tap position of the trans-
formers as in the conventional load flow calculation.

Fig. 34.9: Editing element data for 2-winding transformers

Fig. 34.10: Editing element data for 3-winding transformers

34 - 13
DIgSILENT PowerFactory State Estimation

34.4 Running SE
The following steps should be performed to execute the State Estimator:
• Start from a case where the conventional power flow converges successfully.

• Make sure that in the toolbar selection, the icon is chosen.

• Execute the SE by clicking the icon .


• Select the desired options for the State Estimator run (see below).
• Select EXECUTE.
Basic Setup Options

34.4.1 Basic Setup Options


Recall that the State Estimator in PowerFactory consists of three different parts (Plau-
sibility Check, Observability Analysis, State Estimation (non-linear optimization)) and an
additional precedent Preprocessing step (see Figure 34.1). This variation is reflected in
the Basic Options dialogue (see Figure 34.11).

Fig. 34.11: Editing the basic options page of the ComSe

34 - 14
DIgSILENT PowerFactory State Estimation

Preprocessing
The algorithm distinguishes between breaker- and tap position-measurements on the one
hand, and P-,Q-,I-, and V-measurements on the other hand. Breaker- and tap position-
measurements are handled in the preprocessing step, whereas the latter types are pro-
cessed in the subsequent parts or the state estimator.
Adapt breaker measurements
If this check box is marked, all measured breakers statuses will be set
to the corresponding measured signal values.
Adapt tap position measurements
If this check box is marked, all measured tap positions will be set to the
corresponding measured values.

Plausibility Check
The algorithm offers various kinds of plausibility checks to validate measurements. Each
measurement undergoes the checks selected by the user. If a measurement fails any of
the required tests, it will be marked as erroneous and will be neglected in all subsequent
steps. A complete error report can be obtained via the error status page of each measure-
ments (see Section 34.5).
The following checks can be enabled by marking the corresponding check boxes.
Consistent active power flow direction at each branch
Checks for each passive branch, whether all connected P-
measurements comply with a consistent power flow direction. More
precisely, if some flow out of a passive element is measured while, at
the same time, no flow into the element is measured, then all P-
measurements connected to this element fail this test. For this check, a
P-measurement is said to measure a ”non-zero” flow if the
measurement value is beyond a value of   rating , where  and
rating are the accuracy and the rating, respectively, of the
measurement.
Branch losses exceed nominal values
Checks for each passive branch, whether the measured active power
loss exceeds the nominal loss of the branch by a factor of 1 + . This
check only applies to passive branches which have P-measurements
Pmea1 , . . . ,Pmear in each of its r connection devices. The threshold ,
by which the nominal loss shall not be exceeded, is given by:
r
 =  i  rating i , where i and ratingi are the accuracy and the
i=1
rating, respectively, of measurement Pmeai.
Negative losses on passive branches
Checks for each passive branch, whether the measured active power
loss is negative, i.e., if a passive branch is measured to generate active
power. This check only applies to passive branches which have P-
measurements Pmea1 , . .. , Pmear in each of its r connection devices.

34 - 15
DIgSILENT PowerFactory State Estimation

The measured power loss of the branch is said to be negative if it is


r
below the threshold ( –   i  rating i ).
i=1

Large branch flows on open ended branches


Checks for each connection of the element, whether the connection is
an open end (i.e., switch is open, or it is connected to only open
detailed switches). If the connection is open and there exists a (P-, Q-,
or I-) measurement which measures a ”non-zero” flow, then the
corresponding measurement fails the test. Again, a measurement is
said to measure a ”non-zero” flow if the measurement value is beyond
a value of ·rating.
Branch loadings exceed nominal values
Checks for each connection of the element, if the measured complex
power (which is computed by the corresponding P- and/or Q-
measurements) exceeds the rated complex power value by a factor of
1 + s. Here, s is the accuracy of the P- and/or Q-measurement(s).
Node sum checks for active and reactive power
This check applies to P- and/or Q-measurements. Checks, for each
node of the network, if the node sum of the measured values in the
adjacent branches is zero. If this is not the case, i.e., if the P- and/or Q-
sum exceeds a certain threshold value, all adjacent P- and/or Q-
measurements fail the test. Again, ”not being zero” means that the
sum of the measured values of the adjacent P-measurements Pmea1 ,
r
... , Pmear has magnitude below the threshold  i  ratingi
i=1
(similarly for Q-measurements).

Observability Analysis
The Observability Analysis is an optional component of the State Estimator. If activated,
it checks whether the specified network is observable, i.e., whether the remaining valid
P-, Q-, V-, and I-measurements (which successfully passed the plausibility checks) suffice
to estimate the selected P-, Q-, Scaling Factor-, and Tap position-states. In addition, the
Observability Analysis detects redundant measurements. Redundancy, in general, yields
more accurate results for the following state estimation.
Moreover, if the Observability Analysis detects non-observable states, upon user selec-
tion, it tries to fix this unobservability by introducing further pseudo-measurements.
Check for observability regions
If the corresponding check box is marked by the user, the execution of
the State Estimator will run the Observability Analysis (prior to the state
Estimation optimization).
Treatment of unobservable areas
In case of unobservable states, the user has different options to cope
with the situation:
Stop if unobservable regions exist. The algorithm terminates with
the detection of unobservable states. The Observability Analysis groups
all non-observable states into different ”equivalence classes”. Each

34 - 16
DIgSILENT PowerFactory State Estimation

equivalence class consists of states that carry the same observability


information through the given measurements. In other words, the
given measurements can only distinguish between different
equivalence classes, but not between various states of a single
equivalence class. The results can be viewed by the user (see Section
34.5 (Results)).
Use P-, Q-values as specified by model. If this option is selected,
the algorithm internally drops the ”to be estimated” flag of each non-
observable state and uses the element specifications of the load flow
settings instead. For example, if a P-state of a load is unobservable, the
algorithm will use the P-value as entered on the load flow page. Hence,
the network is made observable by reducing the number of control
variables.
Use predefined pseudo-measurements. Using this option, the
algorithm ”repairs” the unobservability of the network by increasing the
degrees of freedom. For that purpose, at the location of each non-
observable state, the algorithm tries to activate a pseudo-measurement
of the same kind. Hence, if a P- (Q-)state is non-observable in some
element, the algorithm searches for a P-(Q-)pseudo-measurement in
the cubicle of the element carrying the non-observable state. In case of
a non-observable scaling-factor both, a P- and a Q-pseudo-
measurement are required. The introduced pseudo-measurements
remain active as long as needed to circumvent unobservable areas.
Use internally created pseudo-measurements. This option is
similar to the previous one, except the algorithm automatically creates
and activates a sufficient number of internal pseudo-measurements to
guarantee observability. More precisely, internal pseudo-measurements
are created at the locations of all elements that have non-observable P-
(Q-, scaling factor-)state. For each such element, the pseudo-
measurement value for P (Q, P and Q) is taken from the element’s load
flow specification. All internally created pseudo-measurements use a
common setting for their rating and accuracy, which can be specified
on the advanced setup options page for the observability check.
Use predefined and internally created meas. This mode can be
considered as a mixture of the latter two options. Here, in case of a
non-observable state, the algorithm tries to activate a predefined
pseudo-measurement of the same kind. If no corresponding pseudo-
measurement has been defined, then the algorithm automatically
creates an internal pseudo-measurement.

State Estimation (Non-Linear Optimization)


The non-linear optimization is the central component of the State Estimator. The under-
lying numerical algorithm to minimize the measurements’ overall error is the iterative
Lagrange-Newton method.
Run state estimation algorithm
Check this box to enable the non-linear optimization. Note that after
convergence of the method,—upon user settings on the advanced state
estimation option page—PowerFactory performs a bad data check
which eliminates the worst P-,Q-,V-, and I-measurements among all
bad data. Observability Analysis and State Estimation are run in a loop

34 - 17
DIgSILENT PowerFactory State Estimation

until no further bad measurements exist (recall the algorithm variation


as shown in Figure 34.1).

34.4.2 Advanced Setup Options for the Plausibility Check


Each Plausibility Check allows for an individual strictness setting. Note that all checks rely
on the same principle: namely, the given measurement values are checked against some
threshold. Recall, for example, that the ”node sum check for P” tests whether the active
r
power sum at a node is below a threshold of  =  i  rating i . The user has the pos-
i=1
sibility to influence the strictness of this threshold. Therefore, the settings provide to enter
so-called ”exceeding factors” fac > 0 such that the new threshold is fac ·  instead of
. E.g., in the case of the node sum check for P, the user may define the corresponding
factor fac_ndSumP.
The higher the exceeding factor, the less strict the plausibility test will be. Similar exceed-
ing factors can be specified for any of the given tests.

34.4.3 Advanced Setup Options for the Observability Check

Rastering of sensitivity matrix


Internally, the Observability Check is based on a thorough sensitivity analysis of the net-
work. For that purpose, the algorithm computes a sensitivity matrix that takes into ac-
count all measurements, on the one hand, and all estimated states on the other hand.
This sensitivity matrix is discretized by rastering the continuous values.
The user can specify the precision of this process by defining the number of intervals into
which the values of the sensitivity matrix shall be rastered (SensMatNoOfInt), the
threshold below which a continuous value is considered to be a 0 (SensMatThresh) in
the discrete case, and the mode of rastering (iopt_raster). It is highly recommended
to use the predefined values here.

Settings for internally created pseudo-measurements


If, on the basic option page, the mode for the treatment of unobservable regions is set
to ”use only internally created pseudo-measurements” or to ”use predefined and internal-
ly created pseudo-measurements”, the user may specify a default power rating (SnomP-
seudo) and a default accuracy class (accuracyPseudo). These default values are used
for all automatically created internal pseudo-measurements.

34.4.4 Advanced Setup Options for Bad Data Detection


Recall that the state estimator loops Observability Analysis and State Estimation as long
as no further bad measurement is found (see Figure 34.1). The following settings allow
the user to control the number of iterations performed by the loop.

34 - 18
DIgSILENT PowerFactory State Estimation

Maximum number of measurements to eliminate


The variable iBadMeasLimit specifies an upper limit on the number of bad measure-
ments that will be eliminated in the course of the State Estimation.

Tolerance factors for bad measurement elimination


A measurement is declared to be bad, if the deviation of measured against calculated val-
ue exceeds the measurement’s accuracy, i.e., if
calcVal – meaVal accuracy
Eqn 34.1: ---------------------------------------------  ---------------------
rating 100
where calVal and meaVal are the calculated value and the measured value, respective-
ly. The user may modify this definition by adjusting tolerance factors for bad measure-
ments. More precisely, a measurement is declared to be bad, if the left-hand side in
equation (34.1) exceeds facErr  accuracy  100 . Here facErr > 0 is a factor which can
be specified by the user for each group of measurements individually. Use the factors
facErrP, facErrQ, facErrV, facErrIMagn, facErrIAct, and facErrIReact for
P-, Q-, V-measurements, and the three types of the I-measurements (magnitude mea-
sure, active current measure, reactive current measure).

34.4.5 Advanced Setup Options for Iteration Control

Initialization
The non-linear optimization requires an initialization step to generate an initial starting
configuration.

Initialization of non-linear optimization


The user may specify whether the initialization shall be performed by a load flow calcula-
tion or by some flat start. If it is known in advance that the final solution of the optimiza-
tion part is close to a valid load flow solution, initializing by a load flow calculation pays
off in a faster convergence.

Load Flow
Specifies the settings of the load flow command which is taken for initialization in case
no flat start is used.

Stopping criteria for the non-linear optimization


The non-linear optimization is implemented using an iterative Newton-Lagrange method.
Recall that the goal of the optimization is to minimize the objective function f (i.e., the
square sum of the weighted measurements’ deviations) under the constraint that all load
flow equations are fulfilled. Mathematically speaking, the aim is to find
min  f  x  

34 - 19
DIgSILENT PowerFactory State Estimation

under the constraint that


gx = 0
where g is the set of load flow equations that need to be fulfilled. By the Lagrange-New-
ton method, we thus try to minimize the resulting Lagrange function
T
L  x   = f  x  +   g  x 

with the Lagrange multipliers  .


The following parameters can be used to adapt the stopping criteria for this iterative pro-
cess. The algorithm stops successfully if the following three issues are fulfilled:
1. The maximum number of iterations has not yet been reached.
2. All load flow constraint equations g  x  = 0 are fulfilled to a predefined degree
of exactness, which means:
(a) all nodal equations are fulfilled.
(b) all model equations are fulfilled.

3. The Lagrange function L  x   itself converges. This can be achieved if


(a) either the objective function itself converges to a stationary point, or
(b) the gradient of the objective function converges to zero.
The following parameters serve to adjust these stopping criteria. The user unfamiliar with
the underlying optimization algorithm is urged to use the default settings here.

Iteration Control of non-linear optimization


The user is asked to enter the maximum number of iterations.

Convergence of Load Flow Constraint Equations


The user should enter a maximal error for nodal equations (where the deviation is mea-
sured in kVA), and, in addition, a maximally tolerable error for the model equations (in
%).

Convergence of Objective Function


The user is asked choose among the following two convergence criteria for the
Lagrangian function: Either the function itself is required to converge to a stationary point,
or the gradient of the Lagrangian is expected to converge.
In the first case, the user is asked to enter an absolute maximum change in value of the
objective function. If the change in value between two consecutive iterations falls below
this value, the Lagrangian is assumed to be converged.
In the latter case, the user is asked to enter an absolute maximum value for the gradient
of the Lagrangian. If the gradient falls below this value, the Lagrangian is assumed to be
converged.
It is strongly recommended—due to mathematical preciseness—to use the criterion on
the gradient. The other option might only be of advantage if the underlying Jacobian ma-
trix behaves numerically instable which then typically results in a ”toggling” of the con-

34 - 20
DIgSILENT PowerFactory State Estimation

vergence process in the last iterations.

Output
Two different levels of output during the iterative process can be selected.

34.5 Results
The presentation of the State Estimator results is integrated into the user interface. The
solution of the non-linear optimization in the State Estimator is available via the complete
set of variables of the conventional Load Flow calculations. It can be seen in the single
line diagram of the grid or through the browser.

34.5.1 Output Window Report


The PowerFactory State Estimator reports the main steps of the algorithm in the output
window (see Figure 34.12).
For the Plausibility Checks, this implies the information on how many models failed the
corresponding checks. For the Observability Analysis, the report contains the information
on how many states were determined to be observable, and—in addition—how many
measurements were considered to be relevant for observing these states.

Fig. 34.12: Report in the output window

Non-linear optimization reports, in each iteration step, the following figures:


• The current error of the constraint nodal equations (in VA) (Error Nodes).
• The current error of the constraint model equations (Error ModelEqu).
• The current value of the gradient of the Lagrangian function (Gradient
LagrFunc).
• The current value of the Lagrangian function (LagrFunc).
• The current value of the objective function f to be minimized (ObjFunc).

34 - 21
DIgSILENT PowerFactory State Estimation

34.5.2 External Measurements

Deviations
Each branch flow measurement (StaExtpmea, StaExtqmea) and each voltage mea-
surement (StaExtvmea) offers parameters to view its individual deviation between mea-
sured value and computed value by the State Estimation. The corresponding variables
are:
• e:Xmea: measured value as entered in StaExt*mea
• e:cMeaVal: measured value (including multiplier)
• e:Xcal: calculated value
• e:Xdif: deviation in % (based on given rating as reference value)
• e:Xdif_mea: deviation in % (based on the measured value as reference value)
• e:Xdif_abs: absolute deviation in the measurement’s unit
Here X is a placeholder for P, Q, or U in the case of a P-, Q-, or V-measurement.
Recall that a StaExtimea plays a special role, since a current measurement may serve
as up to three measurements (for magnitude, for active current, and/or for reactive cur-
rent). Hence, a current measurement has the above listed variables (with X being re-
placed by I) for each of the three measurement types. In order to distinguish between
the three types, for a StaExtimea, the variables carry the suffixes Magn (for magnitude
measurement), Act (for active current measurement), and React (for reactive current
measurement).

Fig. 34.13: For description page for external measurements (StaExtvmea,


StaExtqmea, StaExtvmea).

34 - 22
DIgSILENT PowerFactory State Estimation

Error Status
All measurements (StaExt*meas) which possibly participate in the Plausibility Checks,
the Observability Analysis, or the State Estimation provide a detailed error description
page (see figures 34.13 and 34.14) with the following information:
• General Errors:
- Is unneeded pseudo-measurement (e:errUnneededPseudo)
- Its input status disallows calculation, i.e., input status does not allow ”Read” or is
already marked as ”Wrong Measurement” (e:errStatus)
- Measurement is out of service (e:errOutOfService)
• Plausibility Check Errors:
- Fails test: Consistent active power flow direction at each side of branch
(e:errConsDir)
- Fails test: Large branch losses (e:errExcNomLoss)
- Fails test: Negative losses on passive branches (e:errNegLoss)
- Fails test: Large branch flows on open ended branches (e:errFlwIfOpn)
- Fails test: Branch loadings exceed nominal values (e:errExcNomLoading)
- Fails test: Node sum check for P (e:errNdSumP)
- Fails test: Node sum check for Q (e:errNdSumQ)
• Observability Analysis Errors:
- Measurement is considered to be redundant for observability of the network, i.e.,
observability is already guaranteed even without this measurement. Nevertheless
redundant measurements are used in the non-linear optimization since, in general,
they help to improve the result (e:errRedundant).
- For redundant measurements, also the redundancy level is indicated on this page
(e:RedundanceLevel). The higher the redundancy level, the more
measurements with a similar information content for the observability analysis
exist.
• State Estimation Errors:
- Measurement is detected to be bad, has been removed and was not considered in
last non-linear optimization loop (e:errBadData)
This detailed error description is encoded in the single parameter e:error that can be
found on the top of the error status page. Again, we have the convention that, for a
StaExtimea, the variables e:errRedundant, e:RedundanceLevel and e:errBad-
Data carry the suffixes Magn (for magnitude measurement), Act (for active current mea-
surement), and React (for reactive current measurement).

34.5.3 Estimated States

Which states participated as control variables?


Recall that —depending on the selected ”treatment of unobservable regions”— not all
states that were selected for estimation (see Section 34.3.3 (Editing the Element Data))
will necessarily be estimated by the algorithm: In case of non-observability, it may happen

34 - 23
DIgSILENT PowerFactory State Estimation

that some control variables need to be reset.


To access the information which states were actually used as control variables, Power-
Factory provides a flag for each possible state. These flags are called
c:i{P,Q,Scale,Tap}Setp for P-, Q-, Scaling factor-, and Tap-states, respectively.
They can be accessed through the Flexible Data Page as Load Flow calculation parameters
for the following elements: ElmLod, ElmAsm, ElmSym, ElmSvs, ElmTr2, and
ElmTr3.

Observability of individual states


The Observability Analysis identifies, for each state, whether it is observable or not. More-
over, if the network is unobservable, it subdivides all unobservable states into ”equiva-
lence-classes”. Each equivalence-class has the property that it is observable as a whole
group, even though its members (i.e., the single states) cannot be observed. The equiv-
alence classes are enumerated in ascending order 1, 2, 3, . ...

Fig. 34.14: Detailed error description page for external current measurements
(StaExtimea).

For this purpose, the Observability Analysis uses the flags c:i{P,Q,Scale,Tap}ob-
sFlg for P-, Q-, Scaling factor-, and Tap-states, respectively. These parameters exist for
all elements which carry possible states (ElmLod, ElmAsm, ElmSym, ElmSvs, ElmTr2,

34 - 24
DIgSILENT PowerFactory State Estimation

ElmTr3). The semantics is as follows:


• a value of -2 means that the correspond state is not estimated at all.
• a value of -1 means that the correspond state is unsupplied.
• a value of 0 means that the corresponding state is observable.
• a value of i > 0 means that the correspond state belongs to equivalence-class i.

34.5.4 Color Representation


In addition, PowerFactory provides a special coloring mode ”Observability” for the sin-
gle line diagram which takes into account the individual measurement error statuses and
the states to be estimated (see Figure 34.15). The coloring can be accessed by clicking

the icon on the task bar.


The color representation is valid as soon as an Observability Analysis has been performed
successfully.
The color representation paints the location of measurements (of a specific type) and the
location of states (of a specific type) simultaneously.

Fig. 34.15: Coloring of measurement error statuses and estimated states.

Estimated States
The user selects to color states of a specific type (P-, Q-, Scaling factor-, or Tap position-

34 - 25
DIgSILENT PowerFactory State Estimation

states). Distinct colors for observable, unobservable, non-estimated states, and states
with unclear observability status can be chosen.

External Measurement Locations


The user selects to color measurements of a specific type (P-, Q-, V-, or I-measurements).
Distinct colors for valid, redundant and invalid measurements can be chosen. A measure-
ment is said to be valid if its error code (e:error) equals 0.
Besides, measurements with a specific error code can be highlightened separately using
an extra color. To select such a specific error code press the Error Code button and
choose from the detailed error description list any ”AND”-combination of possible errors.

34 - 26
DIgSILENT PowerFactory
Appendix


DIgSILENT PowerFactory Glossary

Appendix A
Glossary

Appliance
A specific physical, installed, power system component: a specific generator, transformer,
busbar, etc. Example: a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 meters long.

Base Case
A base case is the highest level in a tree of hierarchical system stage designs. It is the
basic power system design, for which one or more alternative designs may be created and
analyzed. The base case is always stored in a grid folder.

Block Definition
A block definition is a mathematical model which may be used in other block definitions
or in a composite model. Examples are all default controllers (i.e. VCO's, PSS's, MDM's),
and all additional user-defined DSL models. A block definition is called "primitive'' when it
is directly written in DSL, or "complex'' when it is build from other block definitions, by
drawing a block diagram.

Block Diagram
A block diagram is a graphical representation of a DSL model, i.e. a voltage controller, a
motor driven machine model or a water turbine model. Block diagrams combine DSL prim-
itive elements and block definitions created by drawing other block diagram.
The block models thus created may (again) be used in other block diagrams or to create
a Composite Frame.
See also: DSL primitive, Composite Frame

Branch Elements
A one port element connected to a node, such as a load or a machine. See also nodes,
edge elements.

Busbars
Busbars are particular representations of nodes. Busbars are housed in a Station folder
and several busbars may be part of a station.

A-1
DIgSILENT PowerFactory Glossary

Class
A class is a template for an element, type or other kind of objects like controller block
diagrams, object filters, calculation settings, etc. Examples:
• The 'TypLne' class is the type model for all lines and cables
• The 'ElmLne' class is an element model for a specific line or cable
• The 'ComLdf' class is a load-flow command
• The 'EvtSwitch' class is an event for a switch to open or close during simulation

Composite Frame
A composite frame is a special block diagram which defines a new stand-alone model,
mostly without in- or outputs. A composite frame is principally a circuit in which one or
more slots are connected to each other.
A composite frame is used to create composite models by filling the slots with appropriate
objects. The composite frame thus acts as template for a specific kind of composite mod-
els.
See also: Block Diagram, Slot

Composite Model
A composite model is a specific combination of mathematical models.These models may
be power system elements such as synchronous generators, or block definitions, such as
voltage controllers, primary mover models or power system stabilizers.
Composite models may be used to create new objects, such as protection devices, to
'dress-up' power system elements such as synchronous machines with controllers, prime
movers models, etc., or for the identification of model parameters on the basis of mea-
surements.

Cubicle
A cubicle is the connection point between a edge or branch element and a node (repre-
sented by a busbar or terminal). It may be visualized as a bay in a switch yard or a panel
in a switchgear board. Elements such as CT's, protection equipment, breakers and so
forth, are housed in the cubicle, as one would expect to find in reality.

DAQ
Abbreviation for "Data Acquisition''.

Device
A certain kind of physical power system components: certain synchronous machines, two-
winding transformers, busbars, or other kinds of equipment. Example: a NKBA 0.6/1kV 4
x 35sm cable.

A-2
DIgSILENT PowerFactory Glossary

DGS
Abbreviation for "DIgSILENT Interface for Geographical Informations Systems''.

DOLE
Abbreviation for "DIgSILENT Object Language for Data Exchange''. DOLE was used in
previous PowerFactory versions, but replaced by DGS meanwhile. Now, use DGS in-
stead, please.
The DOLE import uses a header line with the parameter name. This header must have
the following structure:
• The first header must be the class name of the listed objects.
• The following headers must state a correct parameter name.

DPL
Abbreviation for "DIgSILENT Programming Language''. For further information, please re-
fer to Chapter G (The DIgSILENT Programming Language - DPL).

Drag&Drop
"Drag&Drop'' is a method for moving an object by left clicking it and subsequently moving
the mouse while holding the mouse button down ("dragging''). Releasing the mouse but-
ton when the new location is reached is called "dropping''. This will move the object to
the new location.

DSL
Abbreviation for "DIgSILENT Simulation Language''. For further information, please refer
to Chapter 25.9 (The DIgSILENT Simulation Language (DSL)).

DSL primitive
A DSL primitive is the same as a primitive block definition. A DSL primitive is written di-
rectly in DSL without the use of a block diagram.
Examples are PID controllers, time lags, simple signal filters, integrators, limiters, etc. DSL
primitives are normally used to build more complex block definitions.
See also: Block Definition, Block Diagram

Edge Elements
The elements between two nodes. May also be termed 'two port element.' Source, topo-
logical studies; picture a 3 dimensional box, the corners of the box would be called the
nodes, and the edges between corners are hence 'edges.' See also nodes, branch ele-
ments.

A-3
DIgSILENT PowerFactory Glossary

Element
A mathematical model for specific appliances. Most element models only hold the appli-
ance-specific data while the more general type-specific data comes from a type-reference.
Example: a model of a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 meters long, named
"FC 1023.ElmLne".

Graphics Board Window


The graphics board window is a multi document window which contains one or more
graphical pages. These pages may be single line graphics, virtual instrument pages, block
diagrams etc.
The graphics board shows page tabs when more than one page is present. These tabs
may be used to change the visible page or to change the page order by drag&drop on the
page tab.
See also: Virtual Instrument, Block Diagram, Page Tab, Drag&Drop

Grid
A Grid is a collection of power system elements which are all stored in one so-called "Grid
Folder'' in the database. Normally, a grid forms a logical part of a power system design,
like a the MV distribution system in a province, or the HV transport system in a state.

Object
An object is a specific item stored in the database. Examples are specific type or element
models which have been edited to model specific devices or appliances. Examples: the
element "FC 1023.ElmLne", the type "NKBA_4x35.TypLne", the load-flow command
"3Phase.ComLdf"

Node
The mathematical or generic description for what are commonly known as busbars in the
electrical world. In PowerFactory nodes may be represented by "Busbars" or "Termi-
nals" of various kinds. These are treated in the same manner in mathematical terms but
treated slightly differently in the database. As far as possible the user should use terminals
as Busbars can be somewhat inflexible. See also Busbars, Edge Elements, Branch Ele-
ments.

Page Tab
Page tabs are small indexes at the edge (mostly on the top or bottom) of a multi-page
window. The tabs show the titles of the pages. Left-clicking the page tab opens the cor-
responding page. Page tabs are used in object dialogues, which often have different pag-
es for different calculation functions, and in the Graphics Board Window, when more than
one graphical page is present.

A-4
DIgSILENT PowerFactory Glossary

Project
All power system definitions and calculations are stored and activated in a project. The
project folder therefore is a basic folder in the user's database tree. All grids that make
out the power system design, with all design variants, study cases, commands, results,
etc. are stored together in a single project folder.

Result Object
A result object keeps one or more lists of parameters which are to be monitored during a
calculation. Results objects are used for building calculation result reports and for defining
a virtual instrument.
See also: Virtual Instrument

Slot
A slot is a place-holder for a block definition in a composite frame. A composite model is
created from a composite frame by filling one or more slots with an appropriate object.
See also: Block Definition, Composite Frame.

Study Case
A study case is a folder which stores a list of references or shortcuts to grid or system
stage folders. These folders are (de)activated when the calculation case folder is (de)ac-
tivated.
Elements in the grid folders that are referenced by the study case form the 'calculation
target' for all calculation functions. Elements in all other, non-active, grid folders are not
considered for calculation.
Besides the list of active folders, the calculation case also stores all calculations com-
mands, results, events, and other objects which are, or have been, used to analyze the
active power system.
See also: Grid, System Stage

System Stage
A system stage is an alternative design or variation for a particular grid. A system stage
is stored in a system stage folder, which keeps track of all differences from the design in
the higher hierarchical level. The highest level is formed by the base grid folder. It is pos-
sible to have system stages of system stages.
See also: Grid, Base Case

Type
A mathematical model for devices: general models for two-winding transformers, two-
winding transformers, busbars, etc. A type model only contains the non-specific data valid
for whole groups of power system elements. Example: a NKBA 0.6/1kV 4 x 35sm cable
type, named "NKBA_4x35.TypLne"
See also: System Stage, Grid

A-5
DIgSILENT PowerFactory Glossary

Virtual Instrument
A virtual instrument is a graphical representation of calculation results. It may be a line
or bar graph, a gauge, a vector diagram, etc. A virtual instrument gets its values from a
result object.
See also: Result Object.

Virtual Instrument Panel


Virtual instrument panels are one of the possible types of pages in a graphics board win-
dow. Virtual instrument panels are used to create and show virtual instruments. Each vir-
tual instrument panel may contain one or more virtual instruments.
See also: Graphics Board Window, Virtual Instrument

A-6
DIgSILENT PowerFactory Hotkeys References

Appendix B
Hotkeys References

B-1
DIgSILENT PowerFactory Hotkeys References

B.1 Graphic Windows Hotkeys

Combination Where/When Description


Alt + - Single Line Graphic, Zoom out
Block Diagrams, Vi's

Alt + + Single Line Graphic, Zoom in


Block Diagrams, Vi's

Alt + Rubberband Only textboxes inside the rubber band are marked, no
parent objects

Alt + Left-click Textbox Textbox und Parent-Object are marked

Alt + Left-click Element All the connected elements will be marked

Ctrl + A All elements are marked

Ctrl + Alt + Shift + P Element Dialogue Save a screenshot of the complete monitor as bitmap
under C:\Digsi\snapshots

Ctrl + Alt + Scrolling Marked Object Single Objects from a Busbar system can be moved

Ctrl + Alt + Scrolling Marked Busbar Single objects from a Busbar System can be increased
or reduced (size)

Ctrl + Alt + Scrolling Block The stub length of blocks in block diagrams remains
when shifting

Ctrl + Alt + Scrolling Marked Terminal Line-Routes will move to the terminal, instead of
terminal to the line

Ctrl + Alt + Scrolling Marked Node Symbol of the connected branch element will not be
centered

Ctrl + C Marked Element

Ctrl + L Single Line Graphic, Will open the Define Layer dialogue to create a new
Block Diagrams layer

Ctrl +Left-click Element

Ctrl + Left-click Inserting Loads/ Rotate element 90°


Generators

Ctrl + Left-click Inserting Busbars/ Rotate element 180°


Terminals

Ctrl + M Element Dialogue Mark Element in the graphic

Ctrl + Q Single Line Graphic, Open Graphic Layer dialogue


Block Diagrams

Ctrl + X Marked Element Cut

Esc Connecting Mode Interrupt the mode

Esc Inserting Symbol Interrupt and change to graphic cursor

B-2
DIgSILENT PowerFactory Hotkeys References

Combination Where/When Description


Esc Animation Mode Interrupt mode

S + Left-click Element Mark only the symbol of the element

S + Scrolling Marked Element Move only the symbol of the element

Shift + Scrolling Marked Element Element can only be moved in the direction of axes

Shift + Scrolling Marked Textbox After rotation, textbox can be aligned in the direction
of axes

Tab Inserting Symbol Jump to next connection

B-3
DIgSILENT PowerFactory Hotkeys References

B.2 Data Manager Hotkeys

Combination Where/When Description


Alt + F4 Close data manager

Alt + Return Right; Link Open the edit dialogue of the element

Backspace Jump one directory up

Pag ? Right Scroll a page up

Pag ? Right Scroll a page down

Ctrl + ? Edit dialogue open Call the edit dialogue of the next object from the
list and closes the current dialogue

Ctrl + ? Edit dialogue open Call the edit dialogue of the previous object from
the list and closes the current dialogue

Ctrl + A Right Mark all

Ctrl + Alt + P Save screenshot of the data manager as bitmap


under C:\Digsi\snapshots

Ctrl + Alt + S Right; Project Open the share dialogue

Ctrl + Alt + Shift + P Save screenshot of the complete monitor as


bitmap under C:\Digsi\snapshots

Ctrl + B Detail-Modus Change to next tab

Ctrl + C Marked object, marked Copy marked object


symbol

Ctrl + C Marked cell Copy the value of the marked cell

Ctrl + D Change between normal and detail mode

Ctrl + F Call the Filter dialogue

Ctrl + F7 Like Ctrl + R

Ctrl + G Right Go to line

Ctrl + I Right Call the dialogue Select Element, in order to insert


a new object. The object class depends on the
current position

Ctrl + Left-click Select the object

Ctrl + M Move the object

Ctrl + O Change between the display of out of service and


no relevant objects for calculation

Ctrl + Q Right; station, Busbar or Close the station graphic


element with a connection

Ctrl + Q Right, element with more Call the dialogue Select Station, which lists all the
than one connection connected stations

B-4
DIgSILENT PowerFactory Hotkeys References

Combination Where/When Description


Ctrl + R Project Activate the project

Ctrl + R Study case Activate study case

Ctrl + R Grid Add the grid to the study case

Ctrl + R Variant Insert the variant to the current study case, if the
corresponding grid is not in the study case

Ctrl + S Left

Ctrl + Shift + P

Ctrl + Tab Detail-Modus Change to next tab

Ctrl + V Insert the content of the clipboard

Ctrl + W Change the focus between right and left side

Ctrl + X Marked object, marked Cut object


symbol

Ctrl + X Marked cell Cut cell content

End Right Jump to the last column of the current row

Del Right, symbol Delete marked object

Del Right, cell Delete the content of the cell

Esc Right; after change in the line Undo the change

F2 Right; cell Change to edit mode

F3 Close all opened dialogues to select an element

F4 Activate/Deactivate Drag&Drop-Mode

F5 Update

F8 Right, Graphic-Object Open the graphic

Pos1 Right Jump to the first column of the current row

Return Right Call the edit dialogue of the marked object

Return links Display or close the content of the marked object

Return Right; after change in the line Confirm changes

Return Right; link Call the edit dialogue of the original object

Shift + Left-click Select all the objects between the last marked
object and the clicked row

B-5
DIgSILENT PowerFactory Hotkeys References

B.3 Dialogue Hotkeys

Combination Where/When Description


Ctrl + A Input field Mark the content

Ctrl + Alt + P Save screenshot of the dialogue as bitmap under


C:\Digsi\snapshots

Ctrl + Alt + Shift + P Save screenshot of the complete monitor as


bitmap under C:\Digsi\snapshots

F1 Online help

B-6
DIgSILENT PowerFactory Hotkeys References

B.4 Output Window Hotkeys

Combination Where/When Description


Pag (up arrow) Page up

Pag (down arrow) Page down

Ctrl + A Mark the content of the output window

Ctrl + Alt + home

Ctrl + Pag (up arrow) Like Ctrl + Pos1

Ctrl + Pag (down Like Ctrl + End


arrow)

Ctrl + C Copy the market report to the clipboard

Ctrl + E Open a new empty editor

Ctrl + End Set the cursor in the last position of the last row

Ctrl + F Open the Search and Replace dialogue

Ctrl + F3 Cursor in a Word Jump to previous same word

Ctrl + home

Ctrl + O Call the Open dialogue

Ctrl + P Call the Print dialogue

Ctrl + Arrow (up Page up


arrow)

Ctrl + Arrow (down Page down


arrow)

Ctrl + Pos1 Set the cursor in the first position of first row

Ctrl + Shift + End Set the cursor in the last position and marks the
report in between

Ctrl + Shift + Pos1 Set the cursor in the first position and marks the
report in between

End Set the cursor in the last position of the row

F3 Marked word Jump to next same word

F4 Debug-Mode

G Debug-Mode

H Debug-Mode

home

Arrow (up arrow) Set the cursor one line above

B-7
DIgSILENT PowerFactory Hotkeys References

Combination Where/When Description


Arrow (right arrow) Set the cursor one position after

Arrow (down arrow) Set the cursor one line below

Arrow (left arrow) Set the cursor one position before

Pos1 Set the cursor to the first position of the row

Shift + Pag ? Set the cursor one page up and select the in
between content

Shift + Pag ? Set the cursor one page down and select the in
between content

Shift + F3 Cursor in a Word Jump to the next same word

B-8
DIgSILENT PowerFactory Elements Reference

Appendix C
Elements Reference

C.1 2-Winding Transformers (ElmTr2/ElmTr2n)


Objects used to represent 2-winding, three or single phase transformers (autotrans-
formers), require a reference to a TypTr2 object. If the option Auto Transformer is
enabled, autotransformer winding connection instead of galvanic separation is used.

Input parameters
Table C.1 shows the input parameters for the ElmTr2 object, Table C.2 for the ElmTr2n.
Parameters are presented in the same order of the object dialogue (starting from the
'Basic Data' tab).
The description of the two winding transformers, presenting the relations among the input
parameters is given in the attached technical referece papers: TechRef_2-W-
Transformer_SinglePhase.pdf and TechRef_2-W-Transformer_3Phase.pdf.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.1:ElmTr2 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

C-1
DIgSILENT PowerFactory Elements Reference

Table C.1:ElmTr2 Parameters


Name Description Unit Range Default

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

ntnum parallel Transformers x>0&x<100 0

nntap Tap Position 0

t2ldc Controlled Node x=0|x=1|x=2 0

ilcph Phase x>=0&x<=6 0

imldc Control Mode x[0]='V'|x[0]='P'|x[0] '


='Q

ldcct Current Transformer Rating A 1.

ldcpt Voltage Transformer Ratio 1.

ldcrs Rset V 0.

ldcxs Xset V 0.

ntrcn Automatic Tap Changing x=1|x=0 0

ildc Line Drop Compensation (LDC) x>=0&x<=2 0

strf1 Load Current 0.

ratfac Rating Factor x>0 1.

ifrqft Frequent Fault ( >10(5)/lifetime, Category x=1|x=0 0


II(III) )

usetp Voltage Setpoint p.u. x>=0 1.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

i_cont Tap Changer x>=0&x<=1 0

usp_up Upper Voltage Bound p.u. 01. Jan

usp_low Lower Voltage Bound p.u. 0.99

psp_up Upper Active Power Bound MW 0.

psp_low Lower Active Power Bound MW 0.

qsp_up Upper Reactive Power Bound Mvar 0.

qsp_low Lower Reactive Power Bound Mvar 0.

C-2
DIgSILENT PowerFactory Elements Reference

Table C.1:ElmTr2 Parameters


Name Description Unit Range Default

tapctrl Tap Controller

re0tr_h Re Ohm x>=0 0.

xe0tr_h Xe Ohm x>=0 0.

re0tr_l Re Ohm 0.

xe0tr_l Xe Ohm x>=0 0.

iopt_hf Consider HF-Parameter x=0|x=1 0

Cg_h Capacitance HV-Ground uF x>=0 0.

Cg_l Capacitance LV-Ground uF x>=0 0.

Cc1_hl Capacitance HV-LV, 1-Sequence uF x>=0 0.

Cc0_hl Capacitance HV-LV, 0-Sequence uF x>=0 0.

ifc Forced Cooling Enabled x=1|x=0 0

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

i_auto Auto Transformer x=0|x=1 0

i_eahv HV-side, phase 2 internally grounded x>=0|x<=2 0

i_ealv LV-side, phase 2 internally grounded x>=0|x<=2 0

ignd_h Star Point x>=0|x<=2 0

ignd_l Star Point x>=0|x<=2 0

iintgnd External Star Point x=0|x=1 0

i_hvcon HV-side, phase 2 connected x=0|x=1 0

i_lvcon LV-side, phase 2 connected x=0|x=1 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

iTaps According to Measurement Report x=0|x=1 0

iMeasLoc Measured at x=0|x=1 0

C-3
DIgSILENT PowerFactory Elements Reference

Table C.1:ElmTr2 Parameters


Name Description Unit Range Default

mTaps Measurement Report

i_uopt Tap Position 0

i_uoptCont Control Mode x=0|x=1 0

maxload Max. Loading % x>=0 100.

iOPFCload Max. Loading x=0|x=1 0

iblock Unit Transformer x=0|x=1 0

ilt_op Long-term operating conditions before x=0|x=1 0


short-circuit are known

Ub_lv Highest Operating Voltage kV 0.

Ib_lv Highest Operating Current kA 0.

cosphib_lv Power factor 0.9

Ubqmin_hv Minimum Operating Voltage kV 0.

Tctrl Controller Time Constant s x>0 0.5

Kqctrl Controller Sensitivity dv/dQ %/Mvar x<0|x>0 0.1

Kpctrl Controller Sensitivity dv/dP %/MW x<0|x>0 0.1

pldc External LDC

i_tapini Estimate Tap Position 0

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

Table C.2: ElmTr2n Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

C-4
DIgSILENT PowerFactory Elements Reference

Table C.2: ElmTr2n Parameters


Name Description Unit Range Default

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

ntnum parallel Transformers x>0&x<100 0

nntap Tap Position 0

t2ldc Controlled Node x=0|x=1|x=2 0

ilcph Phase x>=0&x<=6 0

imldc Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

ldcct Current Transformer Rating A 1.

ldcpt Voltage Transformer Ratio 1.

ldcrs Rset V 0.

ldcxs Xset V 0.

ntrcn Automatic Tap Changing x=1|x=0 0

ildc Line Drop Compensation (LDC) x>=0&x<=2 0

ratfac Rating Factor x>0 1.

ifrqft Frequent Fault ( >10(5)/lifetime, Category II(III) x=1|x=0 0


)

usetp Voltage Setpoint p.u. x>=0 1.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

i_cont Tap Changer x>=0&x<=1 0

usp_up Upper Voltage Bound p.u. 01. Jan

usp_low Lower Voltage Bound p.u. 0.99

psp_up Upper Active Power Bound MW 0.

psp_low Lower Active Power Bound MW 0.

qsp_up Upper Reactive Power Bound Mvar 0.

C-5
DIgSILENT PowerFactory Elements Reference

Table C.2: ElmTr2n Parameters


Name Description Unit Range Default

qsp_low Lower Reactive Power Bound Mvar 0.

tapctrl Tap Controller

iopt_hf Consider HF-Parameter x=0|x=1 0

Cg_h Capacitance HV-Ground uF x>=0 0.

Cg_l Capacitance LV-Ground uF x>=0 0.

Cc1_hl Capacitance HV-LV, 1-Sequence uF x>=0 0.

Cc0_hl Capacitance HV-LV, 0-Sequence uF x>=0 0.

ifc Forced Cooling Enabled x=1|x=0 0

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

i_auto Auto Transformer x=0|x=1 0

i_eahv HV-side, phase 2 internally grounded x>=0|x<=2 0

i_ealv LV-side, phase 2 internally grounded x>=0|x<=2 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

iTaps According to Measurement Report x=0|x=1 0

iMeasLoc Measured at x=0|x=1 0

mTaps Measurement Report

i_uopt Tap Position 0

i_popt Optimize Active Power Setpoint 0

i_qopt Optimize Reactive Power Setpoint 0

maxload Max. Loading % x>=0 100.

iblock Unit Transformer x=0|x=1 0

ilt_op Long-term operating conditions before short- x=0|x=1 0


circuit are known

C-6
DIgSILENT PowerFactory Elements Reference

Table C.2: ElmTr2n Parameters


Name Description Unit Range Default

Ub_lv Highest Operating Voltage kV 0.

Ib_lv Highest Operating Current kA 0.

cosphib_lv Power factor 0.9

Ubqmin_h Minimum Operating Voltage kV 0.


v

Tctrl Controller Time Constant s x>0 0.5

Kqctrl Controller Sensitivity dv/dQ %/Mvar x<0|x>0 0.1

Kpctrl Controller Sensitivity dv/dP %/MW x<0|x>0 0.1

pldc External LDC

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

C.2 3-Winding Transformer (ElmTr3)


Object used to represent 3-phase, 3-winding transformers (or autotransformers),
requires a reference to a TypTr3 object.

Input parameters
Table C.3 shows the input parameters for the ElmTr3 object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the 3-winding transformers, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

C-7
DIgSILENT PowerFactory Elements Reference

Table C.3: ElmTr3 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

nt3nm parallel Transformers x>0&x<100 0

ntrcn Automatic Tap Changing x=0|x=1 0

usetp Voltage Setpoint p.u. x>=0 1.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

ictrlside for Tap at x>=0&x<=2 0

imldc Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

ilcph Phase x>=0&x<=6 0

t3ldc Controlled Node x>=0|x<=3 0

n3tap_h Act. Position 0

n3tap_m Act. Position 0

n3tap_l Act. Position 0

n3rcn_h Automatic Tap Changing x=0|x=1 0

n3rcn_m Automatic Tap Changing x=0|x=1 0

n3rcn_l Automatic Tap Changing x=0|x=1 0

lodt3 Type Load

nt3rl Pointer to relais 0

usetp_h Voltage Setpoint p.u. x>=0 1.

C-8
DIgSILENT PowerFactory Elements Reference

Table C.3: ElmTr3 Parameters


Name Description Unit Range Default

usetp_m Voltage Setpoint p.u. x>=0 1.

usetp_l Voltage Setpoint p.u. x>=0 1.

psetp_h Active Power Setpoint p.u. 0.

psetp_m Active Power Setpoint p.u. 0.

psetp_l Active Power Setpoint p.u. 0.

qsetp_h Reactive Power Setpoint p.u. 0.

qsetp_m Reactive Power Setpoint p.u. 0.

qsetp_l Reactive Power Setpoint p.u. 0.

imldc_h Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

imldc_m Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

imldc_l Control Mode x[0]='V'|x[0]='P '


'|x[0]='Q

t3ldc_h Controlled Node x>=0|x<=3 0

t3ldc_l Controlled Node x>=0|x<=3 0

t3ldc_m Controlled Node x>=0|x<=3 0

ratfac_h HV-Side x>0 1.

ratfac_m MV-Side x>0 1.

ratfac_l LV-Side x>0 1.

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

tapctrl Tap Controller

Tctrl Controller Time Constant s x>0 0.5

Kqctrl Controller Sensitivity dv/dQ %/ x<0|x>0 0.1


Mvar

Kpctrl Controller Sensitivity dv/dP %/ x<0|x>0 0.1


MW

i_cont Tap Changer x=0|x=1 0

usp_up Upper Voltage Bound p.u. x>=0 01. Jan

usp_low Lower Voltage Bound p.u. x>=0 0.99

C-9
DIgSILENT PowerFactory Elements Reference

Table C.3: ElmTr3 Parameters


Name Description Unit Range Default

psp_up Upper Active Power Bound MW 0.

psp_low Lower Active Power Bound MW 0.

qsp_up Upper Reactive Power Bound Mvar 0.

qsp_low Lower Reactive Power Bound Mvar 0.

ignd_h Star Point x>=0|x<=2 0

ignd_m Star Point x>=0|x<=2 0

ignd_l Star Point x>=0|x<=2 0

i_auto_hl Auto Transformer x=0|x=1|x=2 0

iintgnd External Star Point x=0|x=1 0

i_cont_h Tap Changer x=0|x=1 0

i_cont_m Tap Changer x=0|x=1 0

i_cont_l Tap Changer x=0|x=1 0

re0h Re Ohm 0.

re0m Re Ohm 0.

re0l Re Ohm 0.

xe0h Xe Ohm 0.

xe0m Xe Ohm 0.

xe0l Xe Ohm 0.

ifc Forced Cooling Enabled x=1|x=0 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

i_tapopt_l Tap Position LV-Side x=0|x=1 0

i_tapopt_h Tap Position HV-Side x=0|x=1 0

i_tapopt_ Tap Position MV-Side x=0|x=1 0


m

i_tapoptCo Control Mode LV-Side x=0|x=1 0


nt_l

C - 10
DIgSILENT PowerFactory Elements Reference

Table C.3: ElmTr3 Parameters


Name Description Unit Range Default

i_tapoptCo Control Mode HV-Side x=0|x=1 0


nt_h

i_tapoptCo Control Mode MV-Side x=0|x=1 0


nt_m

maxload Max. Loading % x>=0 100.

iOPFCload Max. Loading x=0|x=1 0

ildc Line Drop Compensation (LDC) x>=0&x<=1 0

pldc External LDC

i_tapini_h Estimate Tap Position HV-Side 0

i_tapini_m Estimate Tap Position MV-Side 0

i_tapini_l Estimate Tap Position LV-Side 0

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0

iTaps According to Measurement Report x=0|x=1 0

iMeasTap for Tap at x>=0&x<=2 0

iMeasLoc Measured at x>=0&x<=2 0

mTaps Measurement Report

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

C.3 Asynchronous Machine (ElmAsm)


Object used to represent asynchronous machine models, requires a reference to a
TypAsmo or TypAsm (obsolete) object.

Input parameters
Table C.4 shows the input parameters of the ElmAsm object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).

C - 11
DIgSILENT PowerFactory Elements Reference

The description of the asynchronous machine model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.4: ElmAsm Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

monof Operation Mode x=0|x=1 0

ngnum parallel Machines x>0&x<100 0

pgini Active Power MW x>=0 0.

qgini Reactive Power Mvar 0.

bustp Bus Type

i_mot Generator/Motor 0

mdmex Exponent x>=0 2.

mdmlp Proportional Factor p.u. x>=0&x<=100 1.

tstart Starting Time s x>=0 0.

iconfed Static converter-fed drive x=0|x=1 0

i_rem Remote Control x=0|x=1 0

p_cub Controlled Branch (Cubicle)

i_pset Estimate Active Power x=0|x=1 0

sernum Serial Number

C - 12
DIgSILENT PowerFactory Elements Reference

Table C.4: ElmAsm Parameters


Name Description Unit Range Default

constr Year of Construction 0

doc_id Additional Data

desc Description

iAstabint A-stable integration algorithm x=0|x=1 0

ignd Star Point x=0|x=2 0

iintgnd External Star Point x=0|x=1 0

Xe Xearth Ohm x>=0 0.

Re Rearth Ohm x>=0 0.

iUseStart Use Motor Starting Method x=0|x=1 0

iStartMethod Motor Starting Method x>=0&x<=2 0

Tyd Switch to 'D' after s x>=0 0.5

mdTradd Variable Rotor Resistance

idfig Doubly Fed Induction Machine x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

C.4 Booster Transformer (ElmTrb)


Object used to represent booster transformers (3-phase), requires a reference to a
TypTrb object.

Input parameters
Table C.5 shows the input parameters for the ElmTrb object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the booster transformers, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.

C - 13
DIgSILENT PowerFactory Elements Reference

Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.5: ElmTrb Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

ntnum parallel Transformers x>0&x<100 0

re0tr_l Re Ohm 0.

xe0tr_l Xe Ohm x>=0 0.

C.5 Cable System (ElmCabsys)


Object used to represent a system of electromagneticaly coupled cables.

Input parameters

C - 14
DIgSILENT PowerFactory Elements Reference

Table C.6 shows the input parameters for the ElmCabsys object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the cable system, presenting the relations among the input parameters
and the required types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.6: ElmCabsys Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Cable Definition

desc Description

plines Circuit ElmLne,ElmLneroute

dpolar Polarity

i_dist Line Model x=0|x=1 0

c_dist Distributed Parameter 0

c_lumped Lumped Parameter (PI) 0

tmat Transformation Matrix Tv

pzs Surge Impedance Ohm

pa Wave Propagation

pTa Travel Time s

ftau Frequency for Parameter Hz x>0 100000


Approximation .

C - 15
DIgSILENT PowerFactory Elements Reference

C.6 Common Impedance (ElmZpu)


The Common Impedance is a per unit impedance model including an ideal transformer.
The main usage is for branches used for network reduction.

Input parameters
Table C.7 shows the input parameters for the ElmZpu object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the common impedance model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper..
Note: The name of the parameter is displayed in the object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.7:ElmZpu Parameters


Name Description Unit Range Default

name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iZoneBus Zone 0

Sn Nominal Power MVA x>=0 1.

nphases Phases x=1|x=3 0

iequalz Use equal Impedances (zij = zji) x=0|x=1 0

iz2eqz1 Use Impedance z2 = z1 x=0|x=1 0

r_pu Real Part p.u. 0.

C - 16
DIgSILENT PowerFactory Elements Reference

Table C.7:ElmZpu Parameters


Name Description Unit Range Default

x_pu Imaginary Part p.u. 0.

r_pu_ji Real Part p.u. 0.

x_pu_ji Imaginary Part p.u. 0.

r0_pu Real Part p.u. 0.

x0_pu Imaginary Part p.u. 0.

r0_pu_ji Real Part p.u. 0.

x0_pu_ji Imaginary Part p.u. 0.

r2_pu Real Part p.u. 0.

x2_pu Imaginary Part p.u. 0.

r2_pu_ji Real Part p.u. 0.

x2_pu_ji Imaginary Part p.u. 0.

iZshc Use same impedance as for loadflow x=0|x=1 0

rs_pu Real Part p.u. 0.

xs_pu Imaginary Part p.u. 0.

rs_pu_ji Real Part p.u. 0.

xs_pu_ji Imaginary Part p.u. 0.

r0s_pu Real Part p.u. 0.

x0s_pu Imaginary Part p.u. 0.

r0s_pu_ji Real Part p.u. 0.

x0s_pu_ji Imaginary Part p.u. 0.

r2s_pu Real Part p.u. 0.

x2s_pu Imaginary Part p.u. 0.

r2s_pu_ji Real Part p.u. 0.

x2s_pu_ji Imaginary Part p.u. 0.

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

dpl1 dpl1 0.

C - 17
DIgSILENT PowerFactory Elements Reference

Table C.7:ElmZpu Parameters


Name Description Unit Range Default

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

C.7 DC/DC Converter (ElmDcdc)


The description of the DC/DC converter model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.

C.8 Doubly Fed Induction Machine (ElmAsmsc)


Object used to represent doubly fed induction generators, requires a reference to a
TypAsmo object.

Input parameters
Table C.8 shows the input parameters of the ElmAsm object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the double feed asynchronous machine model, presenting the relations
among the input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.8: ElmAsmsc Parameters


Name Description Unit Range Default

loc_name Name NameValid

C - 18
DIgSILENT PowerFactory Elements Reference

Table C.8: ElmAsmsc Parameters


Name Description Unit Range Default

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

monof Operation Mode x=0|x=1 0

ngnum parallel Machines x>0&x<100 0

pgini Active Power MW x>=0 0.

qgini Reactive Power Mvar 0.

i_mot Generator/Motor 0

mdmex Exponent x>=0 2.

mdmlp Proportional Factor p.u. x>=0&x<=100 1.

tstart Starting Time s x>=0 0.

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

slipset Slip % x>-100&x<100 0.5

Urot Rated Slip Ring Voltage V x>0 1.

rcrow Crow-Bar Resistance p.u. x>=0 0.

xcrow Crow-Bar Reactance p.u. x>=0 0.

i_conv Use Integrated PWM Converter x=0|x=1 0

i_ctrl Use Built-In Current Controller x=0|x=1 0

i_feedback Rotor Flux Feed-Back x=0|x=1 0

cv Cv x>=0 0.

Pmmax Max Pulse Width Modulation Index x>0 1.

Kd Kd 0.1

C - 19
DIgSILENT PowerFactory Elements Reference

Table C.8: ElmAsmsc Parameters


Name Description Unit Range Default

Kq Kq 0.1

Td Td s 0.01

Tq Tq s 0.01

p_pctrl Controlled Flow

iAstabint A-stable integration algorithm x=0|x=1 0

ignd Star Point x=0|x=2 0

Xe Xearth Ohm x>=0 0.

Re Rearth Ohm x>=0 0.

C.9 External Network (ElmXnet)


Object used to represent external networks.

Input parameters
Table C.9 shows the input parameters for the ElmXnet object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the external network model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.9: ElmXnet Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

C - 20
DIgSILENT PowerFactory Elements Reference

Table C.9: ElmXnet Parameters


Name Description Unit Range Default

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

bustp Bus Type

pgini Active Power MW 0.

qgini Reactive Power Mvar 0.

sgini Apparent Power MVA x>=0 0.

cosgini Power Factor x>=-1&x<=1 0.

snss Short-Circuit Power Sk''max MVA x>0 10000.

rntxn R/X Ratio (max.) x>=0 0.1

xntrn X/R Ratio (max.) x>=0 10.

cmax c-Factor (max.) x>0 01. Jan

cmin c-Factor (min.) x>0 1.

cused Use for calculation x=0|x=1 0

z2tz1 Z2/Z1 max. x>=0 1.

z0tz1 Z0/Z1 max. x>=0 1.

x0tx1 X0/X1 max. x>=0 1.

r0tx0 R0/X0 max. x>=0 0.1

iintgnd External Star Point x=0|x=1 0

ignd Star Point x>=0|x<=2 0

Re Grounding Resistance Ohm 0.

Xe Grounding Reactance Ohm 0.

fdsymr Resistance R=R(freq) [A-Z] _FrqDepValid

fdsyml Reactance L=L(freq) [A-Z] _FrqDepValid

usetp Voltage Setpoint p.u. x>=0 1.

ip_ctrl Secondary Controller (Slack) x=0|x=1 0

iv_mode Voltage Controller Mode x=0|x=1 0

phiini Angle deg x>=-180&x<=180 0.

tag Acceleration Time Constant s x>0 99.

C - 21
DIgSILENT PowerFactory Elements Reference

Table C.9: ElmXnet Parameters


Name Description Unit Range Default

K Secondary Frequency Bias MW/Hz x>=0 0.

desc Description

snssmin Short-Circuit Power Sk''min MVA x>0 8000.

rntxnmin R/X Ratio (min.) x>=0 0.1

xntrnmin X/R Ratio (min.) x>=0 10.

z2tz1min Z2/Z1 min. x>=0 1.

z0tz1min Z0/Z1 min. x>=0 1.

x0tx1min X0/X1 min. x>=0 1.

r0tx0min R0/X0 min. x>=0 0.1

MaxS Max. Power MW x>=0 100000


.

ecost Energy Cost $/kWh x>0 0.05

p_uctrl Reference Busbar

cmonth No load costs (monthly) $/M 0.

cpower From MW

ccost Costs $/MWh

ictpg Active Power x=0|x=1 0

ictqg Reactive Power x=0|x=1 0

iOPFCPmi Min. x=0|x=1 0


n

iOPFCPm Max. x=0|x=1 0


ax

iOPFCQmi Min. x=0|x=1 0


n

iOPFCQm Max. x=0|x=1 0


ax

q_min Min. Mvar 0.

q_max Max. Mvar 100.

Pmin_uc Minimum Power MW 0.

round Smoothing of Cost Function % x>=0.0&x<=100.0 5.

Kpf Primary Frequency Bias MW/Hz 0.

dpl1 dpl1 0.

C - 22
DIgSILENT PowerFactory Elements Reference

Table C.9: ElmXnet Parameters


Name Description Unit Range Default

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

Pctrl Active power steps 0

i_prty Priority x>=0 0

mode_inp Input Mode

C.10 Line (ElmLne)


The ElmLne is used to represent transmission lines/cables, it requires a reference to a
TypLne or a TypTow object. The ElmLne can contain line sections as presented in
Section 10.1.9 (Defining and Working with Transmission Lines).

Input parameters
Table C.10 shows the input parameters for the ElmLne object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the line model, presenting the relations among the input parameters
and the posible types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.10: ElmLne Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

C - 23
DIgSILENT PowerFactory Elements Reference

Table C.10: ElmLne Parameters


Name Description Unit Range Default

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

iZoneBus Zone 0

nlnum parallel Lines x>=1 0

dline Length of Line km x>=0 1.

fline Derating Factor x>=0 1.

Top Operating Temperature degC 20.

inAir Laying x=0|x=1 0

nlsim Enable for Contingency Analysis x=0|x=1 0

ishclne Available x=0|x=1 0

fshcloc Short-Circuit Location % x>=0&x<=100 50.

lodln Type of Load

lprot Protection Devices

slin1 Load Current/Nom.Current p.u. x>=0 0.

i_dist Line Model x=0|x=1 0

pCondCir Type of Phase Conductors

pCondGnd Type of Earth Conductors

pCondN Type of Neutral Conductors

sagCir Max.Sag, Phase Conductors m x>=0 0.

sagGnd Max.Sag, Ground Wires m x>=0 0.

ktrto Transposition x=0|x=1 0

rearth Earth Resistivity Ohmm x>=0 100.

i_model Line Model x=0|x=1 0

kz1 Surge Impedance, HF, Mode 1. Ohm x>0 50.

pz1 Poles,Mode 1 Hz

C - 24
DIgSILENT PowerFactory Elements Reference

Table C.10: ElmLne Parameters


Name Description Unit Range Default

zz1 Zeros, Z1 Hz

kz0 Surge Impedance, HF, Mode 0 Ohm x>0 50.

pz0 Poles, Mode 0 Hz

zz0 Zeros, Zl0 Hz

kz2 Surge Impedance, HF, Mode 2. Ohm x>0 50.

pz2 Poles,Mode 2 Hz

zz2 Zeros, Z2 Hz

ka1 Wave Propagation Constant. p.u. x>0 1.

a1dc Wave Propagation, DC, Mode 1 p.u. x>0 1.

Ta1 Travel Time, Mode 1 s x>0 0.001

pa1 Poles, A1 Hz

za1 Zeros, A1 Hz

ka0 Wave Propagation Constant p.u. x>0 1.

a0dc Wave Propagation, DC, Mode 0 p.u. x>0 1.

Ta0 Travel Time, Mode 0 s x>0 0.001

pa0 Poles, A0 Hz

za0 Zeros, A0 Hz

ka2 Wave Propagation Constant. p.u. x>0 1.

a2dc Wave Propagation, DC, Mode 2 p.u. x>0 1.

Ta2 Travel Time, Mode 2 s x>0 0.001

pa2 Poles, A2 Hz

za2 Zeros, A2 Hz

fmin Min. Frequency of Parameter Fitting Hz x>0 0.001

fmax Max. Frequency of Parameter Fitting Hz x>0 1000000.

ftau Frequency for Travel-Time Estimation Hz x>0 100000.

tolBode Tolerance for Bode Approximation % x>0 5.

tmat Transformation Matrix

cubsecs Routes/Cubicles/Sections

sernum Serial Number

constr Year of Construction 0

C - 25
DIgSILENT PowerFactory Elements Reference

Table C.10: ElmLne Parameters


Name Description Unit Range Default

doc_id Additional Data

desc Description

NrCust Number of connected customers x>=0 0

i_ldlv Line Load x=0|x=1 0

pStoch Element model

iperfect Ideal component 0

maxload Max. Loading % x>=0 100.

iOPFCload Max. Loading x=0|x=1 0

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

C.11 Line Sub-Section (ElmLnesec)


Object used to represent sections of lines or cables. It can refer to any of the types
defined for transmission lines or cables (TypLne, TypTow, TypGeo).

Input parameters
Table C.11 shows the input parameters for the ElmLnesec object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the line route model, presenting the relations among the input param-
eters and the required types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

C - 26
DIgSILENT PowerFactory Elements Reference

Table C.11:ElmLnesec
Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

dline Length km x>=0 0.

fline Derating Factor x>=0 1.

inAir Laying x=0|x=1 0

index Index 0.

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Element model

iperfect Ideal component 0

C.12 Load General (ElmLod)


Object used to represent load models. Requires a reference to a TypLod object for general
loads and a TypLodind object for complex loads.

Input parameters
Table C.12 shows the input parameters of the ElmLod object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).

C - 27
DIgSILENT PowerFactory Elements Reference

The description of the general load model, presenting the relations among the input
parameters, is given in the attached Technical Reference Paper of TypLod. The descrip-
tion of the complex load model is given in the Technical Reference Paper of TypLodind.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.12: ElmLod Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

plini Active Power MW 0.

qlini Reactive Power Mvar 0.

plinir Active Power MW 0.

qlinir Reactive Power Mvar 0.

plinis Active Power MW 0.

qlinis Reactive Power Mvar 0.

plinit Active Power MW 0.

qlinit Reactive Power Mvar 0.

scale0 Scaling Factor 1.

i_sym Balanced/Unbalanced x=0|x=1 0

mode_inp Input Mode

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

C - 28
DIgSILENT PowerFactory Elements Reference

Table C.12: ElmLod Parameters


Name Description Unit Range Default

desc Description

u0 Voltage p.u. x>0 1.

phmc Harmonic Currents

pSCDF Time dependent rate

fSCDF Scaling factor 1.

OptCost Unit 0

NrCust Number of connected customers x>0 0

i_prty Load priority 0

shed Shedding steps 0

trans Transferable % x>=0.0&x<=100.0 0.

pTrans Alternative Supply (Load)

i_scale Adjusted by Feeder Load Scaling x=0|x=1 0

i_pini Estimate Active Power x=0|x=1 0

i_qini Estimate Reactive Power x=0|x=1 0

i_rem Remote Control x=0|x=1 0

p_cub Controlled Branch (Cubicle)

i_scaleini Estimate Scaling Factor x=0|x=1 0

iShedding Allow load shedding x=0|x=1 0

shedcost Costs for load shedding $/MVA 1.

shedmax Max. load shedding % x>=0.0&x<=100.0 100.

shedmin Min. load shedding % x>=0.0&x<=100.0 0.

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

C - 29
DIgSILENT PowerFactory Elements Reference

C.13 Load Low Voltage (ElmLodlv)


Object used to represent loads at low voltage level.

Input parameters
Table C.13 shows the input parameters for the ElmLodlv object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the low voltage load model, presenting the relations among the input
parameters and the required types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.13: ElmLodlv Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

lodparts Add. Loads

plini Active Power, P kW x>=0 0.

slini Apparent Power, S kVA x>=0 0.

coslini Power Factor, cos(phi) x>=0&x<=1 0.

ulini Voltage, U(L-L) kV x>0 0.4

ilini Current, I A x>=0 0.

pf_recap Power Factor x=0|x=1 0

pnight P kW x>=0 0.

C - 30
DIgSILENT PowerFactory Elements Reference

Table C.13: ElmLodlv Parameters


Name Description Unit Range Default

NrCust Number of Customers x>=0 0

iopt_inp Load Type x>=0&x<=3 0

scale0 Scaling Factor 1.

i_scale Adjusted by Load Scaling x=0|x=1 0

nphase No. of Phases x>=1|x<=3 0

iintgnd External Star Point x=0|x=1 0

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pSCDF Time dependent rate

fSCDF Scaling factor 1.

OptCost Unit 0

i_prty Load priority 0

shed Shedding steps 0

trans Transferable % x>=0.0&x<=100.0 0.

pTrans Alternative Supply (Load)

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

dpl4 dpl4 0.

dpl5 dpl5 0.

C.14 Load Partial (ElmLodlvp)


Object used to represent partial loads.

Input parameters

C - 31
DIgSILENT PowerFactory Elements Reference

Table C.14 shows the input parameters for the ElmLodlvp object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the partial load model, presenting the relations among the input
parameters and the required types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.14: ElmLodlvp


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

plini Active Power, P kW x>=0 0.

slini Apparent Power, S kVA x>=0 0.

coslini Power Factor, cos(phi) x>=0&x<=1 0.

ulini Voltage, U kV x>0 0.4

ilini Current, I A x>=0 0.

pf_recap Power Factor x=0|x=1 0

pnight P kW x>=0 0.

NrCust Number of Customers x>=0 0

iopt_inp Load Type x>=0&x<=3 0

lnepos Position on Line % x>=0&x<=100 50.

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

C - 32
DIgSILENT PowerFactory Elements Reference

Table C.14: ElmLodlvp


Name Description Unit Range Default

desc Description

C.15 Motor Driven Machine (ElmMdm__X )


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) and
ElmMdm__5 (Type 5). All types of motor driven machine models may be used in
connection with a synchronous or an asynchronous motor.

Input parameters
Tables C.15, C.16 and C.17 show the input parameters for the defined motor driven
machine types. Parameters are presented in the same order of the object dialogue
(starting from the 'Basic Data' tab).
The description of the motor driven machine models, presenting the relations among the
parameters and the connection to a motor, are given in the attached Technical Reference
Paper..
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.15:ElmMdm__1 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

C - 33
DIgSILENT PowerFactory Elements Reference

Table C.15:ElmMdm__1 Parameters


Name Description Unit Range Default

outserv Out of Service x>=0&x<=1 0

typ_id Type

mdmex mdmex;Exponential factor 0.

mdmlp mdmlp;Proportional factor p.u. 0.

Table C.16: ElmMdm__3 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0.

typ_id Type

alf1 alf1;Torque at synchronous speed p.u. 0.

slipm slipm;Slip at min. torque p.u. 0.

exp1 exp1;Exponent of first polynom. function 0.

alf2 alf2;Torque at standstill p.u. 0.

exp2 exp2;Exponent of second polynom. function 0.

xkmm xkmm;Torque at slip = Slipm (min. torque) p.u. 0.

Table C.17: ElmMdm__5 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

C - 34
DIgSILENT PowerFactory Elements Reference

Table C.17: ElmMdm__5 Parameters


Name Description Unit Range Default

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

speed Speed p.u.

torque Torque p.u.

load Load p.u. x>=0 1.

nkoor nkoor;Number of used coordinates (speed) 0.

x1 x1;X-axis coordinates (speed) p.u. 0.

y1 y1;Y-axis coordinates (torque) p.u. 0.

x2 x2;X-axis coordinates (speed) p.u. 0.

y2 y2;Y-axis coordinates (torque) p.u. 0.

x3 x3;X-axis coordinates (speed) p.u. 0.

y3 y3;Y-axis coordinates (torque) p.u. 0.

x4 x4;X-axis coordinates (speed) p.u. 0.

y4 y4;Y-axis coordinates (torque) p.u. 0.

x5 x5;X-axis coordinates (speed) p.u. 0.

y5 y5;Y-axis coordinates (torque) p.u. 0.

x6 x6;X-axis coordinates (speed) p.u. 0.

y6 y6;Y-axis coordinates (torque) p.u. 0.

x7 x7;X-axis coordinates (speed) p.u. 0.

y7 y7;Y-axis coordinates (torque) p.u. 0.

x8 x8;X-axis coordinates (speed) p.u. 0.

y8 y8;Y-axis coordinates (torque) p.u. 0.

x9 x9;X-axis coordinates (speed) p.u. 0.

y9 y9;Y-axis coordinates (torque) p.u. 0.

C - 35
DIgSILENT PowerFactory Elements Reference

Table C.17: ElmMdm__5 Parameters


Name Description Unit Range Default

x10 x10;X-axis coordinates (speed) p.u. 0.

y10 y10;Y-axis coordinates (torque) p.u. 0.

x11 x11;X-axis coordinates (speed) p.u. 0.

y11 y11;Y-axis coordinates (torque) p.u. 0.

x12 x12;X-axis coordinates (speed) p.u. 0.

y12 y12;Y-axis coordinates (torque) p.u. 0.

x13 x13;X-axis coordinates (speed) p.u. 0.

y13 y13;Y-axis coordinates (torque) p.u. 0.

x14 x14;X-axis coordinates (speed) p.u. 0.

y14 y14;Y-axis coordinates (torque) p.u. 0.

x15 x15;X-axis coordinates (speed) p.u. 0.

y15 y15;Y-axis coordinates (torque) p.u. 0.

C.16 Neutral Earthing Element (ElmNec)


The NEC/NER (Neutral Earthing Conductor/Neutral Earthing Reactor) is the grounding
element in PowerFactory, does not require any type.

Input parameters
Table C.18 shows the input parameters for the ElmNec object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the NEC/NER model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

C - 36
DIgSILENT PowerFactory Elements Reference

Table C.18: ElmNec Parameters


DisplayN Description Unit Range Default
ame

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

Unom Rated Voltage kV x>0 1.

Curn Rated Current (Ie=3*I0) kA x>0 0.1

Ithlim Rated Short-Time Thermal Current (3*I0) kA x>0 1.

Tkr Rated Short-Circuit Duration s x>0 1.

ignd Star Point x>=0|x<=1 0

R0 Zero Sequence Resistance Ohm 0.

X0 Zero Sequence Reactance Ohm 0.

Re Grounding Resistance Ohm 0.

Xe Grounding Reactance Ohm 0.

fcharR0 Frequency Dependency R0

fcharL0 Frequency Dependency L0

fcharRe Frequency Dependency Re

fcharLe Frequency Dependency Le

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

C - 37
DIgSILENT PowerFactory Elements Reference

C.17 PWM AC/DC Converter - 1 DC Connection


(ElmVscmono)
Object used for a PWM converter model. Represents a self-commutated, voltage sourced
AC/DC converter (capacitive DCcircuit).

Input parameters
Table C.19 shows the input parameters of the ElmVscmono object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the PWM converter model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.19: ElmVscmono Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

Unom Rated AC-Voltage kV x>0 1.

Unomdc Rated DC-Voltage (DC) kV x>0 1.

Snom Rated Power MVA x>0 1.

usetp AC Voltage Setpoint p.u. x>0.0 1.

usetpdc DC Voltage Setpoint p.u. x>0.0 1.

phisetp Phase Setpoint deg 0.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

C - 38
DIgSILENT PowerFactory Elements Reference

Table C.19: ElmVscmono Parameters


Name Description Unit Range Default

p_phictrl Controlled Node

p_uctrl Controlled Node (AC)

p_uctrldc Controlled Node (DC)

p_pctrl Controlled Flow

p_qctrl Controlled Flow

i_acdc Control Mode x>=0&x<=6 0

pmsetp PWM Factor p.u. 0<=x 1.

pmd_max Upper Limit of Pmd p.u. 0<=x&x<=1 1.

pmd_min Lower Limit of Pmd p.u. 0<=x&x<=1 0.

pmq_max Upper Limit of Pmq p.u. 0<=x&x<=1 1.

pmq_min Lower Limit of Pmq p.u. 0<=x&x<=1 0.

phmc Harmonic Injections

i_mod Modulation x=0|x=1|x=2 0

fmod Modulation Frequency Hz 10000.

Ron Transistor/Diode On-Resistance Ohm x>0 0.0001

Goff Transistor/Diode Off-Conductance uS x>=0 0.001

Cvalve Snubber Capacitance uF x>0 0.1

Gvalve Snubber Conductance S x>=0 0.

i_det Model x=0|x=1 0

i_ctrl Use Integrated Current Controller x=0|x=1 0

uk Short Circuit Impedance % x>=0 0.

Pcu Copper Losses kW x>=0 0.

Pnold No-Load Losses kW x>=0 0.

Cdc DC-Capacitance (not in use) uF x>=0 0.

Kd Kd 0.1

Kq Kq 0.1

Td Td s 0.01

Tq Tq s 0.01

q_max Max. p.u. 1.

q_min Min. p.u. -1.

C - 39
DIgSILENT PowerFactory Elements Reference

Table C.19: ElmVscmono Parameters


Name Description Unit Range Default

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

iconfed Static converter-fed drive x=0|x=1 0

ictrltp Model x>=0&x<=2 0

iAstabint A-stable integration algorithm x=0|x=1 0

C.18 PWM AC/DC Converter - 2 DC Connections


(ElmVsc)
Object used for a PWM converter model. Voltage sourced AC/DC converter with 2-DC
connections.

Input parameters
Table C.20 shows the input parameters of the ElmVsc object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the converter model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.20: ElmVsc Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

C - 40
DIgSILENT PowerFactory Elements Reference

Table C.20: ElmVsc Parameters


Name Description Unit Range Default

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

Unom Nominal Voltage (AC) kV x>0 1.

Unomdc Nominal Voltage (DC) kV x>0 1.

Snom Nominal Power MVA x>0 1.

usetp Voltage Setpoint p.u. x>0.0 1.

phisetp Phase Setpoint deg 0.

psetp Active Power Setpoint MW 0.

qsetp Reactive Power Setpoint Mvar 0.

p_phictrl Controlled Node

p_uctrl Controlled Node

p_pctrl Controlled Flow

p_qctrl Controlled Flow

i_acdc Control Mode x>=0&x<=5 0

pmsetp PWM Factor p.u. 0<=x 1.

pmd_max Upper Limit of Pmd p.u. 0<=x&x<=1 1.

pmd_min Lower Limit of Pmd p.u. 0<=x&x<=1 0.

pmq_max Upper Limit of Pmq p.u. 0<=x&x<=1 1.

pmq_min Lower Limit of Pmq p.u. 0<=x&x<=1 0.

phmc Harmonic Voltages

i_mod Modulation x=0|x=1|x=2 0

fmod Modulation Frequency 10000.

Ron Transistor/Diode On-Resistance Ohm x>0 0.0001

Goff Transistor/Diode Off-Conductance myS x>=0 0.001

i_det Model x=0|x=1 0

sernum Serial Number

C - 41
DIgSILENT PowerFactory Elements Reference

Table C.20: ElmVsc Parameters


Name Description Unit Range Default

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

iconfed Static converter-fed drive x=0|x=1 0

ictrltp Model x>=0&x<=2 0

iAstabint A-stable integration algorithm x=0|x=1 0

C.19 Rectifier/Inverter 1-DC Connection (ElmRecmono)


Rectifier model with a sigle DC connection, requires a reference to a TypRec object.

Input parameters
Table C.21 shows the input parameters for the ElmRecmono object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the rectifier model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.21:ElmRecmono Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

C - 42
DIgSILENT PowerFactory Elements Reference

Table C.21:ElmRecmono Parameters


Name Description Unit Range Default

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

uset Voltage Setpoint p.u. 1.

pset Power-Setpoint p.u. 1.

Pset Power-Setpoint MW 1.

Qset Reactive Power-Setpoint Mvar 1.

Iset Current Setpoint kA x>0 1.

Xd Commutation Reactance Ohm x>=0 0.

mode Orientation (Rectifier/Inverter) *x='R'|*x='I '

bstp Control-Characteristic *x='V'|*x='I'|*x='P'|*x='Q'|*x='E' '


|*x='G

alpha_set Actual Firing-Angle deg 0<=x&x<=180 15.

gamma_set Extinction Angle (gamma) Setpoint deg 0<=x&x<=180 15.

ntrcn Tap-Changer x=0|x=1|x=2 0

nntap Actual Winding Ratio p.u. x>0 1.

alphacn Automatic Firing Angle Control x=0|x=1 0

pctrl Controller

phmc Harmonic Currents

i_int Ideal Rectifier x=0|x=1 0

maxorder Maximum Harmonic Order x>0 0

i_cv Current/Voltage-Source Converter x=0|x=1 0

alphamin Minimum Firing Angle deg 0<=x&x<=180 0.

alphamax Maximum Firing Angle deg 0<=x&x<=180 180.

gammamin Minimum Extinction Angle deg 0<=x&x<=180 0.

C - 43
DIgSILENT PowerFactory Elements Reference

Table C.21:ElmRecmono Parameters


Name Description Unit Range Default

gammamax Maximum Extinction Angle deg 0<=x&x<=180 180.

nt2ag Phase Shift *30d x>=0&x<12 0


eg

iAstabint A-stable integration algorithm x=0|x=1 0

iconfed Static converter-fed drive x=0|x=1 0

C.20 Rectifier/Inverter 2-DC Connection (ElmRec)


Rectifier model with 2-DC connections, requires a reference to a TypRec object.

Input parameters
Table C.22 shows the input parameters for the ElmRec object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the rectifier model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.22: ElmRec Parameters


Name Description Unit Default

loc_name Name

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key

dat_src Data source

C - 44
DIgSILENT PowerFactory Elements Reference

Table C.22: ElmRec Parameters


Name Description Unit Default

outserv Out of Service 0

typ_id Type

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

uset Voltage Setpoint p.u. 1.

pset Power-Setpoint p.u. 1.

Pset Power-Setpoint MW 1.

Qset Reactive Power-Setpoint Mvar 1.

Iset Current Setpoint kA 1.

Xd Commutation Reactance Ohm 0.

mode Orientation (Rectifier/Inverter)

bstp Control-Characteristic

alpha_set Actual Firing-Angle deg 15.

gamma_set Extinction Angle (gamma) Setpoint deg 15.

ntrcn Tap-Changer 0

nntap Actual Winding Ratio p.u. 1.

alphacn Automatic Firing Angle Control 0

pctrl Controller

phmc Harmonic Currents

i_int Ideal Rectifier 0

maxorder Maximum Harmonic Order 0

i_cv Current/Voltage-Source Converter 0

alphamin Minimum Firing Angle deg 0.

alphamax Maximum Firing Angle deg 180.

gammamin Minimum Extinction Angle deg 0.

gammamax Maximum Extinction Angle deg 180.

nt2ag Phase Shift *30deg 0

iAstabint A-stable integration algorithm 0

C - 45
DIgSILENT PowerFactory Elements Reference

Table C.22: ElmRec Parameters


Name Description Unit Default

iconfed Static converter-fed drive 0

C.21 Series Capacitances (ElmScap)


The ElmScap object represents series capacitances in PowerFactory. It can be used
for various applications, e.g.
• Series compensation of transmission lines
• Filter capacitance

Input parameters
Table C.23 shows the input parameters of the ElmScap object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the Series Capacitance model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.23: ElmScap Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

C - 46
DIgSILENT PowerFactory Elements Reference

Table C.23: ElmScap Parameters


Name Description Unit Range Default

iZoneBus Zone 0

ucn Rated Voltage kV x>=0 1.

nphases Phases x=1|x=3 0

xcap Reactance 1/B Ohm x>=0 0.

bcap Susceptance, B S x>=0 0.

ccap Capacitance, C F x>=0 0.

Imov1 MOV Current 1 kA x>=0 0.

Vmov1 MOV Voltage 1 kV x>=0 0.

Imov2 MOV Current 2 kA x>=0 0.

Vmov2 MOV Voltage 2 kV x>=0 0.

Curn Rated Current kA x>0 1.

Sn Rated Power MVA x>0 173.205

i_enter Metal Oxid Varistor x=0|x=1 0

Im Current kA

Vm Voltage kV

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

systp System Type x=0|x=1 0

iAstabint A-stable integration algorithm x=0|x=1 0

iInterPol Interpolation x=0|x=1 0

smoothfac Smoothing Factor % x>=0.0&x<=1 10.


00.0

C.22 Series Reactance (ElmSind)


The ElmSind object represents series reactances in PowerFactory.

C - 47
DIgSILENT PowerFactory Elements Reference

Input parameters
Table C.24 shows the input parameters for the ElmSind object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the series reactance model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.24: ElmSind Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iZoneBus Zone 0

ucn Rated Voltage kV x>0 6.

nphases Phases x=1|x=3 0

Curn Rated Current kA x>0 0.096225

Sn Rated Power MVA x>0 1.

uk Short-Circuit Voltage uk % x>=0 0.

ukr Short-Circuit Voltage (Re(uk)) ukr % x>=0 0.

Pcu Copper Losses kW x>=0 0.

Zd Impedance (absolute) Zd Ohm x>=0 0.

xrea Reactance, X Ohm x>=0 0.

lrea Inductance, L mH x>=0 0.

rrea Resistance, R Ohm x>=0 0.

C - 48
DIgSILENT PowerFactory Elements Reference

Table C.24: ElmSind Parameters


Name Description Unit Range Default

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

systp System Type x=0|x=1 0

iAstabint A-stable integration algorithm x=0|x=1 0

C.23 Shunt/Filter Element (ElmShnt)


The ElmShnt object is used to represent different shunt connection types.

Input parameters
Table C.25 shows the input parameters for the ElmShnt object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the shunt/filter model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.25: ElmShnt Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

C - 49
DIgSILENT PowerFactory Elements Reference

Table C.25: ElmShnt Parameters


Name Description Unit Range Default

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0,00

ushnm Nominal Voltage kV x>0 6.

nshph Phases x>=1&x<=3 0,00

iintgnd External Star Point x=0|x=1 0,00

ignd Star Point x>=0|x<=2 0,00

nbsph of Phase

imldc Control Mode x[0]='V'|x[0]='Q'|x[0]='P '

ilcph Phase x>=0&x<=6 0,00

iQorient Orientation x=0|x=1 0,00

ncapx Max. No. of Steps x>0 0,00

ncapa Act.No. of Step x>=0 0,00

shtype Shunt Type x=0|x=1|x=2|x=3|x=4 0,00

capsa Vector Group

qcapn Rated Reactive Power, C Mvar x>=0 0.96

qtotn Rated Reactive Power, L-C Mvar x>=0 1.

cucap Rated Current, C A x>=0 0.

cutot Rated Current, L-C A x>=0 96224998,00

bcap Susceptance uS x>=0 26666699219,00

ccap Capacitance uF x>=0 84882599,00

c1 Capacitance C1 uF x>=0 0.

c2 Capacitance C2 uF x>=0 84882599,00

pgrad Degree % x>=0&x<=100 4.

fres Resonance Frequency Hz x>=0 250.

nres Tuning Order x>=0 5.

qrean Rated Reactive Power, L Mvar x>=0 24.

curea Rated Current, L A x>=0 2309399902,00

xrea Reactance Ohm x>=0 39203,00

rlrea Inductance mH x>=0 477465,00

C - 50
DIgSILENT PowerFactory Elements Reference

Table C.25: ElmShnt Parameters


Name Description Unit Range Default

grea Quality Factor (at fn) x>=0 0.

greaf0 Quality Factor (at fr) x>=0 0.

rrea Resistance Ohm x>=0 0.

rpara Parallel Resistance Ohm x>=0 0.

tandc Loss Factor, tan(delta) x>=0 0.

gparac Parallel Conductance uS x>=0 0.

fcharL L(f)

fcharR R(f)

fcharC C(f)

shuz0 Z0/Z1 x>=0 0.

i_opt Use Controller for OPF x=0|x=1 0,00


optimization

i_optCont Control Mode x=0|x=1 0,00

systp System Type x=0|x=1 0,00

Bg Susceptance to Ground nS x>=0 0.

Xe Reactance, Xe Ohm x>=0 0.

Re Resistance, Re Ohm x>=0 0.

acost Annual Cost $/ x>=0 0.


year

iswitch Switchable x>=0&x<=1 0,00

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0,00

doc_id Additional Data

desc Description

i_rem Remote Control x=0|x=1 0,00

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

Tctrl Controller Time Constant s x>0 0.5

Kctrl Controller Sensitivity dq/dv p.u./ x>0&x<1 0.1


%

C - 51
DIgSILENT PowerFactory Elements Reference

Table C.25: ElmShnt Parameters


Name Description Unit Range Default

usetp_mx Upper Voltage Limit p.u. x>0 39203,00

usetp_mn Lower Voltage Limit p.u. x>0 0.95

qsetp_mx Upper Reactive Power Limit Mvar 0.

qsetp_mn Lower Reactive Power Limit Mvar 0.

pfsetp_mx Upper Power Factor Limit x<=1&x>=-1 1.

pfsetp_mn Lower Power Factor Limit x<=1&x>=-1 0.95

pf_recap_ Power Factor x=0|x=1 0,00


mx

pf_recap_ Power Factor x=0|x=1 0,00


mn

iIntTapCtrl Use Integrated Tap Controller x=0|x=1 0,00

mode_inp Input Mode

C.24 Soft Starter (ElmVar)


The ElmVar object is used to represent voltage control, soft starter devises for induction
motors. The ElmVar does not require a type object.

Input parameters
Table C.26 shows the input parameters for the ElmVar object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the soft starter model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

C - 52
DIgSILENT PowerFactory Elements Reference

Table C.26: ElmVar Parameters


DisplayN Description Unit Range Default
ame

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iZoneBus Zone 0

Unom Nominal Voltage kV x>0 6.

Inom Nominal Current kA x>0 1.

K Amplification x>=0&x<=1 0.

i_onoff Bypass x=0|x=1 0

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

C - 53
DIgSILENT PowerFactory Elements Reference

C.25 Static Generator (ElmGenstat)


The Static Generator (ElmGenstat, ) is an easy to use model of any kind of gener-
ator, which is not rotating but static. Applications are:
• Photovoltaic Generators
• Fuel Cells
• Storage devices
• HVDC Terminals
• Reactive Power Compensations
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

C.25.1 Basic Data


On the basic date tab of the Static Generator you can choose the category of the element,
enter the number of parallel generators and the ratings of one generator.

Fig. C.1: Static Generator - Basic Data

C - 54
DIgSILENT PowerFactory Elements Reference

C.25.2 Load Flow Data


On the load flow tab you can define the power output: active and reactive power, or active
power and voltage magnitude, or even a droop. Additionally you can specify a capability
curve, which may be the whole range of the converter or a curve with the shape of a V
for a min. and max. power factor for example.
U  U
Droop  %  = ------------------n-  100 %
Q  Q n

Fig. C.2: Static Generator - Load Flow Data

C - 55
DIgSILENT PowerFactory Elements Reference

C.25.3 VDE/IEC Short-Circuit Data


For short circuit analysis according to IEC 60909 (VDE 0102), you can specify, whether
the Static Generator shall have a contribution to the short circuit or not. In order to let
the Static Generators fed into the short circuit, enable the option 'Static converter-fed
drive'. With this option enabled, a Static Generator will have a contribution like a Static
converter-fed drive according to IEC 60909:
• It has a contribution to I''k and to ip.
• It has no contribution to Ib or Ik.
In IEC 60909 the contribution of a Static converter-fed drive to I''k is defined by:
2
1 U rM 1 U rM
• Z = --------------------  ------------------- = --------------------  ----------
I LR  I rM 3  I I LR  I rM S rM
rM

• X = 0.995 Z
• R/X = 0.1
• with I LR  I rM = 3
The index 'rM' specifies the rating of the static converter transformer on the network side,
or the rating of the static converter, if no transformer is present.

C.25.4 Full Short-Circuit Data


If you want to define a user-specific level for the subtransient and a transient short circuit,
you can do so using the Complete Method. For short circuit calculations by the Complete
Method you can enter a subtransient and a transient short circuit level, either as short
circuit power or as short circuit current, and the R/X ratio (alternatively the X/R ratio).
Additionally it is possible to enter values for the zero sequence impedance, for example if
the Static Generator includes a transformer with earthed star point.

C.25.5 Optimization Data


On the optimization tab you can add the Static Generator to a Virtual Power Plant.

C.25.6 RMS- / EMT-Simulation Data


In time-domain-simulations the Static Generator has to be controlled via a DSL model. It
behaves either as a controlled voltage source (input signale u1r_in and u1i_in) or as a
controlled current source (input signale id_ref and iq_ref, assuming the current controller
of the real converter would be ideally fast).

C - 56
DIgSILENT PowerFactory Elements Reference

C.26 Static Var System (ElmSvs)


The static var compensator system (ElmSvc) is a combination of a shunt capacitor bank
and a thyristor controlled shunt reactance.

Input parameters
Table C.27 shows the input parameters for the ElmSvs object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the static var compensator, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.27:ElmSvs Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

nxcap Max. Number of Capacitors x>=0 0

nncap Act. Number of Capacitors x>=0 0

qmax Q Reactance (>0) Mvar x>=0 0.

qmin Q per Capacitor Unit (<0) Mvar x<=0 0.

tcrmax TCR, Max. Limit Mvar x>=0 0.

ibvco Remote Bus

C - 57
DIgSILENT PowerFactory Elements Reference

Table C.27:ElmSvs Parameters


Name Description Unit Range Default

usetp Voltage Setpoint p.u. x>0 1.

tcrqact Act. Value of TCR Mvar x>=0 0.

qsetp Q Setpoint Mvar 0.

ictsv Use for OPF Control x=0|x=1 0

ivcop Controlled Phase x>=0&x<=4 0

i_ctrl Load Flow Control x>=0&x<=2 0

i_sctrl Balanced/Unbalanced Control x=0|x=1 0

i_rem Remote Control x=0|x=1 0

p_rem Controlled Node

p_cub Controlled Branch (Cubicle)

iconn Connection mode of Capacitors x=0|x=1|x=2 0

pcu Maximum Copper Losses kW x>=0 0.

i_det TCR Model x=0|x=1 0

q0 Reactive Power Mvar 0.

Re Resistance, Re Ohm 0.

Xe Reactance, Xe Ohm 0.

R0 Resistance, R0 Ohm 0.

X0 Reactance, X0 Ohm 0.

sernum Serial Number

manuf Manufacturer

constr Year of Construction 0

doc_id Additional Data

desc Description

phmc Harmonic Currents (TCR)

i_int Ideal SVS x=0|x=1 0

maxorder Maximum Harmonic Order x>0 0

iAstabint A-stable integration algorithm x=0|x=1 0

i_qini Estimate Reactive Power x=0|x=1 0

C - 58
DIgSILENT PowerFactory Elements Reference

C.27 Station Controller (ElmStactrl)


The desciption of the Station Controller is given in the attached Technical Reference
Paper.
The Station Controller is used for steady-state analysis. For time-domain simulation please
use Common Models as described in Section 25.7 (Models for Stability Analysis).

C.28 Synchronous Machine (ElmSym)


Object used to represent synchronous machine models, requires a reference to a TypSym
object.

Input parameters
Table C.28 shows the input parameters of the ElmSym object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the synchronous machine model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.28: ElmSym Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

ngnum parallel Machines x>0 0

C - 59
DIgSILENT PowerFactory Elements Reference

Table C.28: ElmSym Parameters


Name Description Unit Range Default

pgini Active Power MW 0.

qgini Reactive Power Mvar 0.

sgini Apparent Power MVA x>=0 0.

cosgini Power Factor 0.

ictpg Active Power x=0|x=1 0

ictqg Reactive Power x=0|x=1 0

costp Costs per MW $/MW 0.

iestp Estimate Active Power x=0|x=1 0

iestq Estimate Reactive Power x=0|x=1 0

bustp Corresponding Bus Type

usetp Voltage p.u. x>0 1.

i_mot Generator/Motor 0

xesy Xearth Ohm x>=0 0.

resy Rearth Ohm x>=0 0.

ip_ctrl Reference Machine x=0|x=1 0

iv_mode Mode of Local Voltage Controller x=0|x=1 0

i_spin Spinning in isolated operation x=0|x=1 0

phiini Angle deg x>=- 0.


180&x<=180

sernum Serial Number

constr Year of Construction 0

doc_id Additional Data

desc Description

pStoch Stochastic model

Pctrl Active power steps 0

i_prty Priority x>=0 0

iOPFCPmin Min. x=0|x=1 0

iOPFCPmax Max. x=0|x=1 0

Pmax_uc Max. MW 0.8

Pmin_uc Min. MW 0.

C - 60
DIgSILENT PowerFactory Elements Reference

Table C.28: ElmSym Parameters


Name Description Unit Range Default

tmin_up Minimum up-time h 0.

tmin_down Minimum down-time h 0.

cost_up Startup $ 0.

cost_down Shutdown $ 0.

cpower Power MW

ccost Costs $/h

dsecres Reserve 0.

iqtype Use limits specified in type 0

iOPFCQmin Min. x=0|x=1 0

iOPFCQmax Max. x=0|x=1 0

q_min Min. p.u. -1.

q_max Max. p.u. 1.

i_cap User defined Capability Curve 0

cap_P Act.Power MW

cap_Qmn Min. Mvar

cap_Qmx Max. Mvar

iunitcom Optimized in unit commitment 0

t_on Initial Condition h 0.

t_off Initial Condition h 0.

P_min Min. MW 0.

pmaxratf Rating Factor x>=0 1.

pG Range of Voltage Regulation (+/-) % x>=0&x<=100 0.

Kpf Prim. Frequency Bias MW/Hz x>=0 0.

ignd Star Point x=0|x=2 0

iintgnd External Star Point x=0|x=1 0

iAstabint A-stable integration algorithm x=0|x=1 0

mode_inp Input Mode

dpl1 dpl1 0.

dpl2 dpl2 0.

dpl3 dpl3 0.

C - 61
DIgSILENT PowerFactory Elements Reference

Table C.28: ElmSym Parameters


Name Description Unit Range Default

dpl4 dpl4 0.

dpl5 dpl5 0.

C.29 Tower Line Coupling (ElmTow)


The ElmTow is used to represent electromagnetic coupling between transmission lines.
In order to define the line coupling, a TypTow/TypGeo object determining the geometrical
characteristics and the conductor type of the structure where the coupled lines are
located, is required.

Input parameters
Table C.29 shows the input parameters for the ElmTow object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the line coupling model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.29: ElmTow Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

C - 62
DIgSILENT PowerFactory Elements Reference

Table C.29: ElmTow Parameters


Name Description Unit Range Default

outserv Out of Service x>=0&x<=1 0

typ_id Tower Type

desc Description

line1 Circuit 1

line2 Circuit 2

line3 Circuit 3

line4 Circuit 4

line5 Circuit 5

line6 Circuit 6

rearth Earth Resistivity Ohmm x>0 100.

pGeo Type TypTow,TypGeo

towdist Distance m

pCon_e Type TypCon

sag_e Max.Sag m

plines Circuit ElmLne,ElmLnero


ute

dpolar Polarity

pCon_c Type TypCon

sag_c Max.Sag m

transp Transposition

dtow Length 0.

iusecoup Use Coupling Length x=0|x=1 0

pos1 Position 1 km

pos2 Position 2 km

couplen Coupling Length km

i_dist Line Model x=0|x=1 0

c_dist Distributed Parameter 0

c_lumped Lumped Parameter (PI) 0

tmat Transformation Matrix Tv

pzs Surge Impedance Ohm

C - 63
DIgSILENT PowerFactory Elements Reference

Table C.29: ElmTow Parameters


Name Description Unit Range Default

pa Wave Propagation

pTa Travel Time s

ftau Frequency for Parameter Approximation Hz x>0 100000.

C.30 AC Voltage Source (ElmVac)


The ElmVac is used to represent AC Voltage sources (single phase or three phase).

Input parameters
Table C.30 shows the input parameters for the ElmVac object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the AC voltage source model, presenting the relations among the input
parameters and the posible types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.30: ElmVac Parameters


Name Description Unit Range Default

loc_name Name _NameValid

Under preparation...

C - 64
DIgSILENT PowerFactory Elements Reference

Table C.30: ElmVac Parameters


Name Description Unit Range Default

C.31 DC Voltage Source (ElmVdc)


The ElmVdc is used to represent DC Voltage sources (single phase or three phase).

Input parameters
Table C.31 shows the input parameters for the ElmVdc object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the AC voltage source model, presenting the relations among the input
parameters and the posible types is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.31: ElmVdc Parameters


Name Description Unit Range Default

loc_name Name _NameValid

Under preparation...

C - 65
DIgSILENT PowerFactory Elements Reference

Table C.31: ElmVdc Parameters


Name Description Unit Range Default

C.32 Current Measurement (StaImea)


The description of the current measurement model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.

C.33 Power Measurement (StaPqmea)


The description of the power measurement model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.

C.34 Voltage Measurement (StaVmea)


The description of the voltage measurement model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.

C.35 Digital Clock (ElmClock)


Object used to represent clock inputs.

C - 66
DIgSILENT PowerFactory Elements Reference

Input parameters
Table C.32 shows the input parameters of the ElmClock object. Parameters are
presented in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the clock model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.32:ElmClock Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

Tp Period ms x>0 1.

tonTp Ratio Ton/Tp x>0&x<1 0.5

iopt_meas Use Measurement Frequency x=0|x=1 0

ctrlsim Control Simulation Step Size x=0|x=1 0

C.36 Fast Fourier Transform (ElmFft)


Object used to represent fast Fourier transforms.

C - 67
DIgSILENT PowerFactory Elements Reference

Input parameters
Table C.33 shows the input parameters of the ElmFft object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the fast Fourier transform model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Object edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.33: ElmFft Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key _ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

nsamp Number of Points x>0 256.

nphase No. of Phases x=1|x=3 0

i_win Window x>=0 0

C.37 File Object (ElmFile)


Object used to read data from a file during calculations.

Input parameters

C - 68
DIgSILENT PowerFactory Elements Reference

Table C.34 shows the input parameters of the ElmFile object. Parameters are presented
in the same order of the object dialogue (starting from the 'Basic Data' tab).
The description of the measurement file element, presenting the functionality of the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table C.34: ElmFile Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

iopt_imp Import from x>=0&x<=1 0

f_name Filename

icol Column j 0

afac Factor a 1.

bfac Factor b 0.

prim P or S

tini Time Index 0.

desc Description

C.38 Fourier Source (ElmFsrc)


Fourier source element, used to generate periodical signals in the frequency domain.

C - 69
DIgSILENT PowerFactory Elements Reference

Input parameters
Table C.35 shows the input parameters of the ElmFsrc object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the Fourier source model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.35: ElmFscr Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

dc_com DC Component 0.

f_min Minimum Frequency Hz x>0 10.

delta_f Frequency Step Hz x>0 10.

overspl Oversampling Factor x>=10 10.

ampl_ Amplitude

phase_ Phase deg

rb_proc Calculate with

C - 70
DIgSILENT PowerFactory Elements Reference

C.39 Phase Measurement Device (Phase Locked Loop,


ElmPhi__pll)
The description of the phase measurement device model, presenting the relations among
the input parameters is given in the attached Technical Reference Paper.

C.40 Digital Register (ElmReg)


The ‘Register’ (ElmReg) model in PowerFactory is a digital shifting register. With every
rising edge of the clock signal the values are shifted by one, then the output is set and
the input is read and stored in the register.

Input parameters
Table C.36 shows the input parameters of the ElmReg object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Bata' tab).
The complete description of the Register model is given in the attached Technical Refer-
ence Paper.

Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.36: ElmReg Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

C - 71
DIgSILENT PowerFactory Elements Reference

Table C.36: ElmReg Parameters


Name Description Unit Range Default

typ_id Type

nsamp Size x>0 0

nphase No. of Phases x=1|x=3 0

C.41 Sample and Hold Model (ElmSamp)


The ‘Sample and Hold’ model of PowerFactory (ElmSamp) samples a signal, setting
the output at the rising edge of a clock. The output value is constant up to the next clock
pulse.
Input parameters
Table C.37 shows the input parameters of the ElmSamp object. Parameters are
presented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The complete description of the Sample and Hold model is given in the attached Technical
Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.37: ElmSamp Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

C - 72
DIgSILENT PowerFactory Elements Reference

Table C.37: ElmSamp Parameters


Name Description Unit Range Default

typ_id Type

nphase No. of Phases x=1|x=3 0

C.42 Trigger Model (ElmTrigger)


The trigger model (ElmTrigger) is used to monitor the value of a signal. If certain trigger
conditions are met the model will start a trigger event.

Input parameters
Table C.38 shows the input parameters of the ElmTrigger object. Parameters are
presented in the same order of the element dialogue (starting from the 'Basic Data' tab).
The complete description of the Trigger model is given in the attached Technical Refer-
ence Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table C.38:ElmTrigger Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

outserv Out of Service x>=0&x<=1 0

typ_id Type

nphase No. of Phases x=1|x=3 0

i_max On x=0|x=1 0

C - 73
DIgSILENT PowerFactory Elements Reference

Table C.38:ElmTrigger Parameters


Name Description Unit Range Default

i_min On x=0|x=1 0

i_grd On x=0|x=1 0

valmax Threshold 1.

valmin Threshold -1.

valgrd Threshold 1/s 1.

npickmax Set after... 0

npickmin Set after... 0

npickgrd Set after... 0

ndropmax Reset after... 0

ndropmin Reset after... 0

ndropgrd Reset after... 0

npts Number of Points for Calculation of Gradient x>=0 0

sleep Number of measured values after Start until Trigger x>=0 0


gets active

res Acquire Data x=0|x=1 0

iopt_res Writing of RMS Results 0

iopt_sys Trigger Type 0

C - 74
DIgSILENT PowerFactory Types Reference

Appendix D
Types Reference

D.1 2-Winding Transformer Type (TypTr2)


Type used to define two winding transformers/autotransformers (ElmTr2 and ElmTr2n).

Input parameters
Table D.1 shows the input parameters for the TypTr2 object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the 2-winding transformer model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table D.1: TypTr2 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


strn Rated Power MVA x>0 1.

D-1
DIgSILENT PowerFactory Types Reference

Table D.1: TypTr2 Parameters


Name Description Unit Range Default

utrn_h HV-Side kV x>0 6.

utrn_l LV-Side kV x>0 6.

uktr Short-Circuit Voltage uk % 3.

pcutr Copper Losses kW 0.

curmg No Load Current % x>=0 0.

dutap Additional Voltage per Tap % 0.

phitr Phase of du deg 0.

ntpmx Maximum Position 0

ntpmn Minimum Position 0

nntap0 Neutral Position 0

fdtr2r Resistance R=R(freq) [A-Z]


fdtr2l Reactance L=L(freq) [A-Z]
uk0tr Absolute uk0 % 3.

ur0tr Resistive Part ukr0 % 0.

tr2cn_h HV-Side _IsVecGrpValid

tr2cn_l LV-Side _IsVecGrpValid

nt2ag Phase Shift *30deg x>=0&x<=12 0

nt2ph Technology x=1|x=2|x=3 0

itrdl x,Pos.Seq. HV-Side x>=0&x<=1 0.5

itrdr r,Pos.Seq. HV-Side x>=0&x<=1 0.5

itrmt Type 0

it0mt Type 0

cknee Knee Current p.u. 0.

psi0 Knee Flux p.u. x>=0 01. Jan

xmlin Linear Reactance p.u. x>=0 0.

xmair Saturated Reactance p.u. x>=0 0.

ksat Saturation Exponent x>1 0

iLimb Core x=3|x=5 0

iInterPol Interpolation x=0|x=1 0

D-2
DIgSILENT PowerFactory Types Reference

Table D.1: TypTr2 Parameters


Name Description Unit Range Default

smoothfac Smoothing Factor % x>=0.0&x<=100.0 10.

zx0hl_h z, Zero Sequ. HV-Side x>=0&x<=1 0.9

zx0hl_n Mag. reac. / uk0 x>=0 100.

pict2 Ratio Ip/In p.u. 0.

pitt2 Max. Time s 0.

twct2 Ratio It/In p.u. 0.

twtt2 Max. Time s 0.

ansiclass Class
tap_side at Side x=0|x=1 0

frnom Nominal Frequency Hz x>=0 50.

pfe No Load Losses kW x>=0 0.

strnfc Rated Power (forced cooling) MVA x>=0 0.

oltc On-load Tap Changer x=0|x=1 0

itapzdep Tap dependent impedance x=0|x=1 0

uktmn uk (min. tap) % 0.

pcutmn Pcu (min. tap) kW 0.

uktmx uk (max. tap) % 0.

pcutmx Pcu (max. tap) kW 0.

uk0tmn uk0 (min. tap) % 0.

uk0rtmn Re(uk0) (min. tap) % 0.

uk0tmx uk0 (max. tap) % 0.

uk0rtmx Re(uk0) (max. tap) % 0.

manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model
satcur Current (peak) p.u.

satflux Flux (peak) p.u.

D-3
DIgSILENT PowerFactory Types Reference

D.2 3-Winding Transformer Type (TypTr3)


Type used to define three winding transformers/autotransformers (ElmTr3).

Input parameters
Table D.2 shows the input parameters for the TypTr3 object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the 3-winding transformer model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table D.2: TypTr3 Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


strn3_h HV-Side MVA x>0 1.

strn3_m MV-Side MVA x>0 1.

strn3_l LV-Side MVA x>0 1.

utrn3_h HV-Side kV x>=0 0.

utrn3_m MV-Side kV x>=0 0.

utrn3_l LV-Side kV x>=0 0.

D-4
DIgSILENT PowerFactory Types Reference

Table D.2: TypTr3 Parameters


Name Description Unit Range Default

uktr3_h HV-MV % x>=0 3.

uktr3_m MV-LV % x>=0 3.

uktr3_l LV-HV % x>=0 3.

pcut3_h HV-MV kW x>=0 0.

pcut3_m MV-LV kW x>=0 0.

pcut3_l LV-HV kW x>=0 0.

curm3 No Load Current % x>=0 0.

cr0m3 No Load Current % 0.

n3tmn_h Min. Position 0

n3tmn_m Min. Position 0

n3tmn_l Min. Position 0

n3tmx_h Max. Position 0

n3tmx_m Max. Position 0

n3tmx_l Max. Position 0

n3tp0_h Neutral Position 0

n3tp0_m Neutral Position 0

n3tp0_l Neutral Position 0

du3tp_h Add. Voltage per Tap % x>=0 0.

du3tp_m Add. Voltage per Tap % x>=0 0.

du3tp_l Add. Voltage per Tap % x>=0 0.

ph3tr_h Phase of du deg x>=0&x<=360 0.

ph3tr_m Phase of du deg x>=0&x<=360 0.

ph3tr_l Phase of du deg x>=0&x<=360 0.

uk0hm HV-MV % x>=0 3.

uk0ml MV-LV % x>=0 3.

uk0hl LV-HV % x>=0 3.

ur0hm HV-MV % x>=0 0.

ur0ml MV-LV % x>=0 0.

ur0hl LV-HV % x>=0 0.

D-5
DIgSILENT PowerFactory Types Reference

Table D.2: TypTr3 Parameters


Name Description Unit Range Default

fdtr3r Resistance R=R(freq) [A-Z] _FrqDepValid

fdtr3l Reactance L=L(freq) [A-Z] _FrqDepValid

tr3cn_h HV-Side _IsVecGrpValid

tr3cn_m MV-Side _IsVecGrpValid

tr3cn_l LV-Side _IsVecGrpValid

nt3ag_h Phase Shift *30deg x>=0&x<=12 0

nt3ag_m Phase Shift *30deg x>=0&x<=12 0

i3loc Position 0

i30lc Position 0

itrmt Type 0

it0mt Type Zero Sequence 0

c3nee Knee Current p.u. 0.

psi0 Saturation Flux p.u. 01. Jan

x3lin Linear Part p.u. 0.

x3air Saturated p.u. 0.

pict3 Ratio Ip/In 0.

pitt3 Max. Time s 0.

twct3 Ratio It/In 0.

twtt3 Max. Time s 0.

pfe No Load Losses kW x>=0 0.

t3nam transformer name (only for


compatib.)
bname1 bus name 1 (only for
compatib.)
bname2 bus name 2 (only for
compatib.)
bname3 bus name 3 (only for
compatib.)
elemnm Element Name (only for
compatib.)

D-6
DIgSILENT PowerFactory Types Reference

Table D.2: TypTr3 Parameters


Name Description Unit Range Default

ansiclass Class
nt3ag_l Phase Shift *30deg x>=0&x<=12 0

itapos Tap Modeled at x=0|x=1 0

snfc_h HV-Side MVA x>=0 0.

snfc_m MV-Side MVA x>=0 0.

snfc_l LV-Side MVA x>=0 0.

oltc_h HV-Side x=0|x=1 0

oltc_m MV-Side x=0|x=1 0

oltc_l LV-Side x=0|x=1 0

itapzdep Tap dependent impedance x=0|x=1 0

itapzside for Tap at x>=0&x<=2 0

uktr3mn_h uk(HV-MV)(min. tap) % x>=0 0.

uktr3mn_m uk(MV-LV)(min. tap) % x>=0 0.

uktr3mn_l uk(LV-HV)(min. tap) % x>=0 0.

pcut3mn_h Pcu(HV-MV)(min. tap) kW x>=0 0.

pcut3mn_m Pcu(MV-LV)(min. tap) kW x>=0 0.

pcut3mn_l Pcu(LV-HV)(min. tap) kW x>=0 0.

uktr3mx_h uk(HV-MV)(max. tap) % x>=0 0.

uktr3mx_m uk(MV-LV)(max. tap) % x>=0 0.

uktr3mx_l uk(LV-HV)(max. tap) % x>=0 0.

pcut3mx_h Pcu(HV-MV)(max. tap) kW x>=0 0.

pcut3mx_m Pcu(MV-LV)(max. tap) kW x>=0 0.

pcut3mx_l Pcu(LV-HV)(max. tap) kW x>=0 0.

uk0mnhm uk0(HV-MV)(min. tap) % x>=0 0.

uk0mnml uk0(MV-LV)(min. tap) % x>=0 0.

uk0mnhl uk0(LV-HV)(min. tap) % x>=0 0.

ur0mnhm Re(uk0)(HV-MV)(min. tap) % x>=0 0.

ur0mnml Re(uk0)(MV-LV)(min. tap) % x>=0 0.

ur0mnhl Re(uk0)(LV-HV)(min. tap) % x>=0 0.

D-7
DIgSILENT PowerFactory Types Reference

Table D.2: TypTr3 Parameters


Name Description Unit Range Default

uk0mxhm uk0(HV-MV)(max. tap) % x>=0 0.

uk0mxml uk0(MV-LV)(max. tap) % x>=0 0.

uk0mxhl uk0(LV-HV)(max. tap) % x>=0 0.

ur0mxhm Re(uk0)(HV-MV)(max. tap) % x>=0 0.

ur0mxml Re(uk0)(MV-LV)(max. tap) % x>=0 0.

ur0mxhl Re(uk0)(LV-HV)(max. tap) % x>=0 0.

manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model

D.3 Asynchronous Machine (TypAsmo)


Type object defined for asynchronous machine elements (ElmAsm) and double feed in-
duction machines (ElmAsmsc).

Input parameters
Table D.3 shows the input parameters of the TypAsmo object. Parameters are presented
in the same order of the Type dialogue (starting from the 'Basic Data' tab).
The description of the asynchronous machine model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Type edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

D-8
DIgSILENT PowerFactory Types Reference

Table D.3: TypAsmo Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

sgn Rated Apparent Power kVA x>0 500.

ugn Rated Voltage kV x>0 6.

cosn Rated Power Factor x>0&x<=1 0.8

nppol No of Pole Pairs x>0 0

aiazn Locked Rotor Current (Ilr/In) p.u. x>0 5.

tag Acceleration Time Constant s x>0 2.

xm Mag. Reactance Xm p.u. x>0 4.

rtox R/X Locked Rotor x>=0 0.1

rstr Stator Resistance Rs p.u. x>=0 0.

rrtrA Rotor Resistance RrA p.u. x>0 0.01

rrtrB Rotor Resistance RrB p.u. x>0 0.1

xstr Stator Reactance Xs p.u. x>=0 0.01

xrtrA Rotor Reactance XrA p.u. x>0 0.1

xrtrB Rotor Reactance XrB p.u. 0.1

xmrtr Rotor Leakage Reac. Xrm p.u. x>=0 0.

frequ Nominal Frequency Hz x>0 50.

istt Status of ESB Calculation 0

nslty Connection 0

pgn Rated Mechanical Power kW x>=0 400.

anend Nominal Speed rpm x>=0 0.

aslkp Slip at Stalling Point x>=0 0.

asstl Slip at Saddle Point x>=0 0.

D-9
DIgSILENT PowerFactory Types Reference

Table D.3: TypAsmo Parameters


Name Description Unit Range Default

amazn Locked Rotor Torque p.u. x>=0 0.

amkzn Torque at Stalling Point p.u. x>=0 0.

amstl Torque at Saddle Point p.u. x>=0 0.

coazn cos(phi) Locked Rotor p.u. x>=0 0.

slp Slip % x>=0 0.

mslp Torque p.u. x>=0 0.

islp Current p.u. x>=0 0.

fdasmr Resistance R=R(freq) [A-Z] FrqDepValid

fdasml Reactance L=L(freq) [A-Z] FrqDepValid

i_mode Input Mode x=0|x=1 0

effic Efficiency at nominal Operation % 100.

i_trans Consider Transient Parameter 0

fcharrstr Stator Resistance Rs(f)

fcharlss Inductance L''(f)

iinrush Ratio Ip/In p.u. x>0 10.

Tinrush Max. Time s x>0 0.02

Tcold Cold s x>0 20.

Thot Hot s x>0 10.

i_cdisp Consider Current Displacement (Squirrel Cage x=0|x=1 0


Rotor)

n_cdisp Order of R-L Approximation 0

rrsn Slip dependent part of RrA at nominal slip 0.

xrsn Slip dependent part of XrA at nominal slip 0.

rrs1 Slip dependent part of RrA at slip=1 0.

xrs1 Slip dependent part of XrA at slip=1 0.

rrtrA0 Slip indep. Resistance RrA0 0.

xrtrA0 Slip indep. Reactance XrA0 0.

r0 Resistance RrA1 0.1

x0 Reactance XrA1 0.1

r1 Resistance RrA2 0.1

D - 10
DIgSILENT PowerFactory Types Reference

Table D.3: TypAsmo Parameters


Name Description Unit Range Default

x1 Reactance XrA2 0.1

i_cage Rotor 0

i_optpn Power Rating 0

rtoxshc R/X Locked Rotor x>=0 0.1

aiaznshc Locked Rotor Current (Ilr/In) p.u. x>0 5.

xtorshc X/R Locked Rotor x>=0 10.

xdssshc Locked Rotor Reactance p.u. x>0 0.199007

iansitp ANSI Type x>=0&x<=6 0

manuf Manufacturer

doc_id Additional Data

desc Description

J Inertia kgm^2 x>0 08. Feb

rzero Resistance p.u. 0.01

xzero Reactance p.u. 0.1

D.4 Booster Transformer Type (TypTrb)


Type used to define booster transformers (ElmTrb).

Input parameters
Table D.4 shows the input parameters for the TypTrb object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the booster transformer model, presenting the relations among the in-
put parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

D - 11
DIgSILENT PowerFactory Types Reference

Table D.4: TypTrb Parameters


DisplayNam Description Unit Range Default
e

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


manuf Manufacturer
doc_id Additional Data
desc Description
strn Rated Power MVA x>0 1.

utrn_h HV-Side kV x>0 6.

utrn_l LV-Side kV x>0 6.

uktr Short-Circuit Voltage uk % x>=0 3.

pcutr Copper Losses kW x>=0 0.

curmg No Load Current % x>=0&x<=100 0.

uk0tr Absolute uk0 % x>=0&x<=100 3.

ur0tr Resistive Part ukr0 % x>=0&x<=100 0.

tr2cn_l LV-Side _IsVecGrpValidB

nt2ag Phase Shift *30deg x>=0&x<=12 0

itrdz z,Pos.Seq. HV-Side x>=0&x<=1 0.5

itrdz_lv z,Pos.Seq. LV-Side x>=0&x<=1 0.5

zx0hl_h z, Zero Sequ. HV-Side 0.9

zx0hl_l z, Zero Sequ. LV-Side 0.1

zx0hl_n Mag. reac. / uk0 x>=0 100.

D - 12
DIgSILENT PowerFactory Types Reference

D.5 Cable Type (TypCab)


Type used to define cable objects.

Input parameters
Table D.5 shows the input parameters for the TypCab object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the cable type model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table D.5: TypCab Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


typCon Shape
diaTube Inner Diameter mm x>=0 0.

diaCon Outer Diameter mm x>=0 5.

thSht Thickness of Sheath mm x>=0 1.

thArm Thickness Armour mm x>=0 1.

thIns Thickness mm x>=0 1.

rho Resistivity uOhm*cm x>0 Jan 68

my Relative Permeability 1.

epsr Relative Permittivity 3.

D - 13
DIgSILENT PowerFactory Types Reference

Table D.5: TypCab Parameters


Name Description Unit Range Default

tand Dielectric Loss Factor 0.02

has_ins3 Has Insulation 3 (Serving) x=0|x=1 0

has_ins2 Has Insulation 2 (Over Sheath) x=0|x=1 0

has_arm Has Armour x=0|x=1 0

has_sht Has Sheath x=0|x=1 0

manuf Manufacturer
doc_id Additional Data
desc Description
uline Rated Voltage kV x>=0 0.

rtemp Max. End Temperature degC x>0 80.

Ithr Rated Short-Time (1s) Current kA x>=0 0.

D.6 Conductor Type (TypCon)


Type used to define conductor objects. A reference to a conductor type is required in the
tower types: TypTow/TypGeo, to define the conductors of the transmission line.

Input parameters
Table D.6 shows the input parameters for the TypCon object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the conductor type model, presenting the relations among the input
parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

D - 14
DIgSILENT PowerFactory Types Reference

Table D.6: TypCon Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


ncsub Number of Subconductors x>0&x<100 0

dsubc Bundle Spacing m 0.1

diaco Diameter mm x>0 30.

radco Radius mm x>0 15.

erpha GMR (Equivalent Radius) mm x>0 11.682

Lint Internal Inductance mH/km x>0 0.05

my_r Relative Permeability x>0 1.

iskin Skin effect x=0|x=1 0

gline Line Conductivity uS/km x>=0 0.

rpha DC-Resistance Ohm/km x>0 0.05

uline Nominal Voltage kV x>0 6.

sline Nominal Current kA x>=0 1.

rtemp Max. End Temperature degC x>0 80.

Ithr Rated Short-Time (1s) Current kA x>=0 0.

manuf Manufacturer
doc_id Additional Data
desc Description

D - 15
DIgSILENT PowerFactory Types Reference

D.7 General Load (TypLod)


Type object defined for general load elements (ElmLod).

Input parameters
Table D.7 shows the input parameters of the TypLod object. Parameters are presented
in the same order of the Type dialogue (starting from the 'Basic Data' tab).
The description of the general load model, presenting the relations among the input pa-
rameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Type edit dialogue, by placing the
cursor in the input field of the parameter. Certain parameters are relevant to more than
one calculation, therefore they can be found and edited in different tabs. The availability
of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table D.7:TypLod Parameters


Name Description Unit Range Default

loc_name Name NameValid

root_id Original Location

fold_id In Folder

charact Charact.

chr_name Characteristic Name

for_name Foreign Key ForKeyValid

dat_src Data source

lodst Static (const Z) % x>=0&x<=100 0

loddy Dynamic % x>=0&x<=100 0

lodsp Special % x>=0&x<=100 0

kpf Frequ. Dependence on P 0.

kpu Volt. Dependence on P 01. Jun

tpf Transient Frequency Dependence s x>=0 0.

tpu Transient Voltage Dependence s x>=0 0.

kqf Frequ. Dependence on Q 0.

kqu Volt. Dependence on Q 01. Aug

tqf Transient Frequency Dependence s x>=0 0.

D - 16
DIgSILENT PowerFactory Types Reference

Table D.7:TypLod Parameters


Name Description Unit Range Default

tqu Transient Voltage Dependence s x>=0 0.

t1 Dynamic Load Time Constant s x>=0 0.1

pgrd QL/QC % x>=0 200.

qcq QC/Q % 100.

cnm Connection (*x)='Y'|(*x)='D '

spfilnm Measurement File

fdlodr Resistance R=R(freq) [A-Z] FrqDepValid

fdlodl Reactance L=L(freq) [A-Z] FrqDepValid

systp System Type x=0|x=1 0

nlnph Phases x>=1&x<=3 0

iintgnd External Star Point x=0|x=1 0

manuf Manufacturer

doc_id Additional Data

desc Description

i_nln Nonlinear Model x=1|x=0 0

i_pure Load model x=0|x=1 0

i_csrc Current Source/Impedance x=0|x=1 0

udmax Upper Voltage Limit p.u. x>1 01. Feb

udmin Lower Voltage Limit p.u. x<1&x>0 0.8

Prp Power of parallel Resistance/Total Active % x>=0&x<=100 0.


Power

xt Transformer Short Circuit Reactance % x>=0 0.

D.8 Line Type (TypLne)


Type used to define transmission lines/cables (ElmLne), whose line impedances have
been already calculated (no electromagnetic coupling between conductors is calculated in
this type).

Input parameters

D - 17
DIgSILENT PowerFactory Types Reference

Table D.8 shows the input parameters for the TypLne object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the line type model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table D.8: TypLne Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


nlnph Phases x>=1&x<=3 0

uline Rated Voltage kV x>=0 0.

sline Rated Current kA x>=0 1.

slin1 Rated Current (1.) kA x>=0 0.

slin2 Load Current (*In) *In x>=0 0.

lodln Type of Load


picln Ratio Ip/In p.u. 0.

pitln Maximum Time s 0.

twcln Ratio It/In p.u. 0.

twtln Maximum Time s 0.

rline Resistance R 'Ohm/km x>=0 0.

xline Reactance X 'Ohm/km 0.

rlin1 Loop Resistance (sev) Ohm/km x>=0 0.

xlin1 Loop Reactance (sev) Ohm/km x>=0 0.

D - 18
DIgSILENT PowerFactory Types Reference

Table D.8: TypLne Parameters


Name Description Unit Range Default

rtemp Max. End Temperature degC x>0 80.

bline Susceptance B 'uS/km 0.

lline Inductance L 'mH/km x>=0 0.

cline Capacitance C 'uF/km 0.

gline Conductance G 'uS/km 0.

tline Ins. Factor 0.

fdlinr Resistance R=R(freq) [A-Z] _FrqDepValid

fdlinl Reactance L=L(freq) [A-Z] _FrqDepValid

fdlinc Capacitance C=C(freq) [A- _FrqDepValid


Z]
rline0 Resistance R0 'Ohm/km x>=0 0.

xline0 Reactance X0 'Ohm/km x>=0 0.

lline0 Inductance L0 'mH/km x>=0 0.

bline0 Susceptance B0 'uS/km 0.

cline0 Capacitance C0 'uF/km 0.

gline0 Conductance G0 'uS/km 0.

tline0 Ins. Factor 0.

Ices Earth-Fault Current A/km 0.

miso Insulation Material


mlei Conductor Material
qurs Nominal Cross Section mm*2 0.

bett Operating Temp. degC 0.

crosect Cross Section


systp System Type x=0|x=1 0

aohl_ Cable / OHL _AohlValid

InomAir Rated Current (in air) kA x>=0 1.

Ithr Rated Short-Time (1s) kA x>=0 0.


Current (Conductor)
rtheta Resistance R'(theta) Ohm/km x>=0 0.

D - 19
DIgSILENT PowerFactory Types Reference

Table D.8: TypLne Parameters


Name Description Unit Range Default

theta Temperature theta degC x!=20 0.

manuf Manufacturer
doc_id Additional Data
desc Description
frnom Nominal Frequency Hz x>=0 50.

fcharL1 L1'(f)
fcharR1 R1'(f)
fcharC1 C1'(f)
fcharL0 L0'(f)
fcharR0 R0'(f)
fcharC0 C0'(f)
pStoch Stochastic model
cabdiam Outer Diameter mm 0.

ncond No. of Conductors 3.

iopt_cnd Cable is
iopt_ord Conductors
cmeth Installation Method (IEC
364)
iopt_dir Arrangement
lcost Line Cost $/km x>=0 0.

nneutral No. of Neutrals x=0|x=1 0

rnline Resistance Rn 'Ohm/km x>=0 0.

xnline Reactance Xn 'Ohm/km x>=0 0.

bnline Susceptance Bn 'uS/km x>=0 0.

rpnline Resistance Rpn 'Ohm/km x>=0 0.

xpnline Reactance Xpn 'Ohm/km x>=0 0.

bpnline Susceptance Bpn 'uS/km x>=0 0.

D - 20
DIgSILENT PowerFactory Types Reference

D.9 Rectifier Type (TypRec)


Type used to define a 6 pulse bridge rectifier/inverter elements (ElmRecmono and Elm-
Rec).

Input parameters
Table D.9 shows the input parameters for the TypRec object. Parameters are presented
in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the rectifier model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

Table D.9:TypRec Parameters


DisplayNam Description Unit Range Default
e

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


manuf Manufacturer
doc_id Additional Data
desc Description
Unom Rated AC Voltage kV x>0 1.

Pnom Rated Active Power MW x>0 1.

Rthy Thyristor-Resistance (at On) Ohm x>0 0.0001

alphamin Minimum Firing Angle deg 0.

alphamax Maximum Firing Angle deg 180.

D - 21
DIgSILENT PowerFactory Types Reference

Table D.9:TypRec Parameters


DisplayNam Description Unit Range Default
e

gammamin Minimum Extinction Angle deg 0.

gammamax Maximum Extinction Angle deg 180.

Imax Rated DC-Current kA x>0 1.

Unomdc Rated DC-Voltage (DC) kV x>0 1.

tapmin Minimum Turns-Ratio p.u. x>0.5|x<1.5 0.9

tapmax Maximum Turns-Ratio p.u. x>0.5|x<1.5 01. Jan

i_diode Diode-/Thyristor Converter x=0|x=1 0

Goff Thyristor-Conductance (at Off) S x>=0 0.

Gs Snubber-Conductance S x>=0 0.

Cs Snubber-Capacity uF x>0 0.1

i_trf Built-In Transformer x=0|x=1 0

alphanom Nominal Firing Angle deg 15.

tapnom Nominal Turns-Ratio (t2/t1) x>0 1.

D.10 Synchronous Machine Type (TypSym)


Type used to define synchronous machine elements (ElmSym)

Input parameters
Table D.10 shows the input parameters for the TypSym object. Parameters are present-
ed in the same order of the element dialogue (starting from the 'Basic Data' tab).
The description of the synchronous machine model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing
the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue.

D - 22
DIgSILENT PowerFactory Types Reference

Table D.10: TypSym Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


sgn Nominal Apparent Power MVA x>0 1.

ugn Nominal Voltage kV x>0 6.

cosn Power Factor x>0&x<=1 0.8

tag Acceleration Time Const. (rated to s x>0 10.


Pgn)
tds Td 's x>0 1.

tqs Tq 's x>=0 1.

tdss Td ''s x>0 0.05

tqss Tq ''s x>0 0.05

xd xd p.u. x>0 2.

xds xd 'p.u. x>0 0.3

xdss xd ''p.u. x>0 0.2

xq xq p.u. x>0 2.

xqs xq 'p.u. x>=0 0.3

xqss xq ''p.u. x>0 0.2

xdsat short-circuit ratio p.u. x>=0 01. Feb

xdsss saturated value xd''sat p.u. x>0 0.2

xtor Ratio X/R x>=0 10000000.

rstr rstr p.u. 0.

xpot Potier reactance p.u. x>=0 0.

sg10 1.0 p.u. x>=0 0.

D - 23
DIgSILENT PowerFactory Types Reference

Table D.10: TypSym Parameters


Name Description Unit Range Default

sg12 01. Feb p.u. x>=0 0.

x2sy Reactance x2 p.u. x>0 0.2

r2sy Resistance r2 p.u. x>=0 0.

x0sy Reactance x0 p.u. x>=0 0.1

r0sy Resistance r0 p.u. x>=0 0.

iamort with amortisseur windings x=0|x=1 0

iusesat Use saturated value x=0|x=1 0

satur Machine Type IEC909 x>=0&x<=3 0

fdsymr Resistance R=R(freq) [A-Z] _FrqDepValid

fdsyml Reactance L=L(freq) [A-Z] _FrqDepValid

bname bus name (only for compatib.)


q_min Minimum Value p.u. -1.

q_max Maximum Value p.u. 1.

Q_min Minimum Value Mvar -1.

Q_max Maximum Value Mvar 1.

iturbo Rotor Type x=0|x=1 0

isat Main Flux Saturation x=0|x=1 0

iuseXdk Ik instead of Reactances x=0|x=1 0

curk 3-Phase Ik3p kA x>=0 0.

curk1p 1-Phase Ik1p kA x>=0 0.

curk2p 2-Phase Ik2p kA x>=0 0.

nslty Connection x>=0&x<=2 0

tags Acceleration Time Const. (rated to s x>0 8.


Sgn)
h Inertia Time Constant (rated to s x>0 4.
Sgn) H
tds0 Td0 's x>0 666.667

tqs0 Tq0 's x>=0 666.667

tdss0 Td0 ''s x>0 0.075

D - 24
DIgSILENT PowerFactory Types Reference

Table D.10: TypSym Parameters


Name Description Unit Range Default

tqss0 Tq0 ''s x>0 0.075

lss l ''p.u. x>0 0.2

i_trans Consider Transient Parameter x=0|x=1 0

fcharrstr rs(f)
fcharlss l''(f)
i_v12 Model x=0|x=1 0

xl xl p.u. x>=0 0.1

xrl xrl p.u. x>=0 0.

kcanay Canay Factor p.u. x>=0 0.

manuf Manufacturer
doc_id Additional Data
desc Description
dpu Mechanical Damping p.u. x>=0 0.

hpn Inertia Time Constant (rated to s x>=0 5.


Pgn) H

D.11 Tower Types (TypTow/TypGeo)


Both types are used to define the tower structure of a transmission line. If TypTow or
TypGeo are referred in an ElmLne, the coupling impedances of the line are calculated
according to the given geometrical distribution of the conductors. The tower types require
a reference to conductors types (TypCon).

Input parameters
Tables D.11 and D.12 show the input parameters for the TypTow and TypGeo objects.
Parameters are presented in the same order of the element dialogue (starting from the
'Basic Data' tab).
The description of the tower models, presenting the relations among the input parameters
is given in the attached Technical Reference Paper.
Note: The name of the parameter is displayed in the Element edit dialogue, by placing

D - 25
DIgSILENT PowerFactory Types Reference

the cursor in the input field of the parameter. Certain parameters are relevant to more
than one calculation, therefore they can be found and edited in different tabs. The avail-
ability of some parameters is conditioned to the current value of the selection parameters
(iopt_...); therefore not all the listed parameters would be visualized at once in a dialogue

Table D.11: TypTow Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


nlcir Number of Line Circuits x>=1 0

nlear Number of Earth Wires x>=0 0

gearth Earth Conductivity uS/cm x>0 100.

rearth Earth Resistivity Ohmm x>0 100.

ktrto Transposition
nphas Num. of Phases
pcond_e Conductor Types TypCon

pcond_c Conductor Types TypCon

xy_e Coordinate of Earth m


Conductors
xy_c Coordinate of Line Circuits m

ktrto_c1 t x=0|x=1 0

ktrto_c2 t x=0|x=1 0

ktrto_c3 t x=0|x=1 0

ktrto_c4 t x=0|x=1 0

ktrto_c5 t x=0|x=1 0

ktrto_c6 t x=0|x=1 0

nphas_1 x=1|x=2|x=3 0

D - 26
DIgSILENT PowerFactory Types Reference

Table D.11: TypTow Parameters


Name Description Unit Range Default

nphas_2 x=1|x=2|x=3 0

nphas_3 x=1|x=2|x=3 0

nphas_4 x=1|x=2|x=3 0

nphas_5 x=1|x=2|x=3 0

nphas_6 x=1|x=2|x=3 0

cond_e1 1
cond_e2 2
cond_c1 1
cond_c2 2
cond_c3 3
cond_c4 4
cond_c5 5
cond_c6 6
xy_e1 1 m 0.

xy_e2 2 m 0.

xy_c1 1 m 0.

xy_c2 2 m 0.

xy_c3 3 m 0.

xy_c4 4 m 0.

xy_c5 5 m 0.

xy_c6 6 m 0.

R_c Matrix of Resistances R_ij Ohm/km

X_c Matrix of Reactances X_ij Ohm/km

R_c0 Matrix of 0-Sequence- Ohm/km


Resistances R_ij_0
X_c0 Matrix of 0-Sequence- Ohm/km
Reactances X_ij_0
R_c1 Matrix of 1-Sequence- Ohm/km
Resistances R_ij_1

D - 27
DIgSILENT PowerFactory Types Reference

Table D.11: TypTow Parameters


Name Description Unit Range Default

X_c1 Matrix of 1-Sequence- Ohm/km


Reactances X_ij_1
frnom Nominal Frequency Hz 50.

L_c Matrix of Inductances L_ij H/km

L_c0 Matrix of 0-Sequence- H/km


Inductances L_ij_0
L_c1 Matrix of 1-Sequence- H/km
Inductances L_ij_1
G_c Matrix of Conductances G_ij uS/km

B_c Matrix of Susceptances B_ij uS/km

G_c0 Matrix of 0-Sequence- uS/km


Conductances G_ij_0
B_c0 Matrix of 0-Sequence- uS/km
Susceptances B_ij_0
G_c1 Matrix of 1-Sequence- uS/km
Conductances G_ij_1
B_c1 Matrix of 1-Sequence- uS/km
Susceptances B_ij_1
C_c Matrix of Capacitances C_ij uF/km

C_c0 Matrix of 0-Sequence- uF/km


Capacitances C_ij_0
C_c1 Matrix of 1-Sequence- uF/km
Capacitances C_ij_1
sline Nominal Current kA x>=0 1.

systp System Type x=0|x=1 0

i_mode Input Mode x=0|x=1 0

manuf Manufacturer
doc_id Additional Data
desc Description
pStoch Stochastic model

D - 28
DIgSILENT PowerFactory Types Reference

Table D.12: TypGeo Parameters


Name Description Unit Range Default

loc_name Name _NameValid

root_id Original Location


fold_id In Folder
charact Charact.
chr_name Characteristic Name
for_name Foreign Key _ForKeyValid

dat_src Data source


xy_e Coordinates Earth Wires m

xy_c Coordinates Phase Circuits m

manuf Manufacturer
doc_id Additional Data
desc Description

D - 29
DIgSILENT PowerFactory Types Reference

D - 30
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory

Appendix E
Reference to the use of Symbols in
PowerFactory

The symbols used in the graphic windows of PowerFactory are defined by the so called
'Symbol' objects (IntSym). DIgSILENT provides a complete set of symbols to represent
any of the defined network components; additionally the users have the possibility to de-
fine their own symbols and use them in the graphical windows of their projects.
In the proceeding sections the variables used to define symbol objects are presented.

E.1 The Symbol General Definitions


The general definitions of the symbols are given in the 'General' page of the object's dia-
logue.
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)

E-1
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory

Allow Moving
Allows moving in graphic
Show Connection Attributes
Shows the square (resulting state of composite switches) at the end of
connection lines
Insertion Reference
Defines the insertion point of an element (e.g. rectangular terminal = 4
-> top left).The following matrix describes the relation between the
insertion points and the insertion numbers:
4 3 2
5 0 1
678
Additional Attributes
Only used for elements whose representation shall be able to alter via
specific changes of the element parameters (e.g. shunts, couplers)
Connection Points
Defines the position on the symbol where the connection lines start.
The number of connection points is defined by the number of lines
unequal (-9999,-9999). The points should be located on the grid, i.e.
they should be a multiple of 4.375 (mm)
Contents
Containing objects of type "SetVitxt" defining the layout of the text
boxes. The names must be unique. Labels beginning with "Label..." and
result boxes beginning with "Res...". The name of symbol must also be
part of the name of the SetVitxt.

E.2 Geometrical Description


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 or can be defined using an external bit map or WMF file.

E.2.1 Geometrical Primitives


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.

E-2
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory

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
Text (T, iColor,iRsz,iFont,iAlign,rHeight,iOri,iRot,sString,rPx,rPy)
Defines a text with the following attributes:
iFont font number ( > 0)
iAlign insertion point (0 = left top, 2 = center)
rHeight height ( > 0 )
iOri orientation ( 0 = horizontal , 1 = vertical )
iRot rotate text with object ( 0 = no, 1 = yes, 2 = vert./horiz.,3 = only to
the bottom and right, -- used in symbols only --)
sString text (max. 80 characters)
rPx,rPy coordinates of insertion point
iRsz resize_Mode (0=not possible, 1=shift only, 2=keep ratio,3=any
(RS_NONE,RS_SHIFTONLY,RS_KEEPXY, RS_FREE)
All geometrical elements have the following attributes in common:
iStyle (Line style)
1= normal line
2= dotted
3= dashed
4= dotted and dashed
rWidth (Line widht in mm ( > 0))
iFill (Fill style) 
0 = not filled
1 = filled 100%
2 = horiz. stripes
3 = vertical stripes
4 = horizontal and vertical stripes
5 = diagonal from left bottom to right top
6 = diagonal from right bottom to left top
7 = diagonal grid of stripes
8 = filled 25%
9 = filled 50%10 = filled 75%
iColor (Colour)
-1 = colour of object

E-3
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory

0 = white
1 = black
2 = bright red
3 = bright blue
4 = bright green
5 = yellow
6 = cyan
7 = magenta
8 = dark grey
9 = grey
10 = red
11 = dark rot
12 = dark green
13 = green
14 = dark blue
15 = blue
16 = white
17 = bright grey
iRsz (Resize mode)
0 = not resizable
1 = shift only 
2 = keep ratio
3 = resizable in any direction
In version 13.0 additional parameters were added:
iSB
No. of area (1..32, can only be used if set in source code, e.g. vector
groups
iLay
No. of graphic layer
iSN 
Connection number (0..4)
iIP
Object is used for calculation of intersections (=1 only for node objects)
xOff, yOff
Offset used when object is inserted (optional)

E.2.2 Showing self defined pictures in symbols


WMF and bitmaps 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 cre-

E-4
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory

ate automatically WMF files in the same folder with a rotation of 90, 180 and 270 degrees.
Additionally pictures for open devices with the same angles can be entered in the bottom
lines.

E-5
DIgSILENT PowerFactory Reference to the use of Symbols in PowerFactory

E-6
DIgSILENT PowerFactory Interfaces with Other Programs

Appendix F
Interfaces with Other Programs

F.1 DGS Interface


With its DGS interface DIgSILENT PowerFactory offers sophisticated data import and
export possibilities for the use of other programs and for dynamic data exchange. For
example the DGS interface can be used for the conversion of system data from SCADA
(Supervisory Control And Data Acquisition) and GIS (Graphical Information System). The
dialogue of this interface is opened by selecting Import... -> DGS Format... or Export... -
> DGS Format... resp. in the main File menu.
DGS files can be either in ASCII format, in Access format, or in Excel format.
The GIS conversion uses millimeter units with respect to the bottom-left origin and a limit
up A0 paper format (1188 x 840 mm). It could therefore be necessary to transform the
GIS coordinates before creation of the ".DGS'' file.
For more detailed information, please find the documentation and examples in the DGS
folder inside the PowerFactory installation folder, or contact the DIgSILENT Support
team.

F.2 Converting PSS/E Files


The import function for PSS/E files is an integrated command of PowerFactory . It
supports versions of PSS/E from 23 to 29 and can be found in the main menu under File
 Import...  PSS/E . Both import of PSS/E files as a PowerFactory project and export
of PowerFactory -projects as PSS/E files are supported. To export a project in PSS/E
format select File Export...  PSS/E from the main menu.

F.2.1 Importing PSS/E Steady-State Data


PowerFactory is able to convert both steady-state data (for load-flow and short-circuit
analyses) and dynamic data files. It is good practise to first import the steady-state data
(described in this section), then to add the dynamic models (described in Section F.2.2
(Import of PSS/E file (Dynamic Data)).
Before starting the next steps for importing a PSS/E file, all projects should be de-
activated. Then please select from the main menu File -> Import... -> PSS/E. Afterwards
the window of the import command will pop-up, asking the user to specify various
options.

F-1
DIgSILENT PowerFactory Interfaces with Other Programs

General Settings Tab Page

Fig. F.1: PSS/E Import - General Settings

Nominal Frequency
Nominal frequency of the file to be Converted/Imported.
PSS/E Raw data
Location on the hard disk of the PSS/E raw data file. By default the
program searches for *.raw extensions. The user may consider all
types of files by typing *.*.
Add Graphic Files
Location of the PSS/E drw files on the file system. Again by default the
programs searches for files with extension *.drw. The user may
consider all types of files by typing *.*.

Note After the Conversion/Importing has finished, the resulting project


will contain a graphics folder where all of the PSS/E drw converted
graphics will be stored. The user must therefore relocate each one
of them to the corresponding grids.

Save converted data in:


Project The project name that will be assigned to the converted/imported file.
in Location in the data manager tree where the imported file will be
stored.
Sequence Data
Location of the PSS/E sequence data file. By default the program

F-2
DIgSILENT PowerFactory Interfaces with Other Programs

searches for *.seq extensions. The user may consider all types of files
by typing *.*.
The following topics
Dyn Models Data
Parameter Mapping
Composite Frame Path
DSL - Model Path
are not used for the import of steady-state data and will be explained in the dynamic
import Section F.2.2.

Import Options Tab Page

Fig. F.2: PSS/E Import - Options

Convert only sequence data file


With this option enabled, the converter will only add the sequence data
to an existing project.
Convert only dynamic models file
With this option enabled, the converter will only add the dynamic data
file to an existing project (only for dynamic data import).
Convert only graphic file
With this option enabled, the converter will add only a single-line
diagram to an existing project.
Only convert file (no DB action)
Internal option used for syntax check and error messages during
conversion. Normally this box should be left unchecked.

F-3
DIgSILENT PowerFactory Interfaces with Other Programs

Output only used dynamic models


Displays a list of used dynamic models (only for dynamic data import).
Unit of 'LEN' for lines in miles instead of km
With this option enabled, all lengths will be interpreted in miles in the
PSS/E raw files.
Consider transformer phase shift
With this option enabled, transformer phase shifts will be considered.
This option is recommended and activated by default.
Convert Induction Machines (P<0)
With this option enabled, all generators in the raw data file that have
negative active power will be converted to asynchronous machines. For
transmission grids the option should be disabled for proper modeling of
phase shift generators.
Automatic 3-W. Transformer detection/conversion
The older versions of PSS/E do not know 3-winding transformers.
Therefore the converter will try to detect the existence of three 2-
Winding Transformers connected to a busbar. If any candidates are
available, PowerFactory will replace them by a 3-Winding
Transformer. The detection is using the impedances and the voltage
control of the transformers.
Convert capacitive line shunts to line susceptance B'
If a line has line shunts the converter adds automatically the line shunt
capacitance to the C1' (B1') in the PowerFactory line type.
Convert Common Impedance as Transformer
The Common Impedance in PSS/E may be converted to a
PowerFactory common impedance or to a transformer. This is
selected here.
Convert Series Capacitance as Common Impedance
Older versions of PSS/E do not know series capacitances as a dedicated
model. These elements therefore are represented by lines with
negative reactances. During the conversion PowerFactory detects
these branches and converts them to series capacitances (by default)
or to common impedances (when this option is active).
Convert off-nominal turn ratio to transformer tap
Transformer ratios different from the rated ratio are automatically
converted to a transformer type using taps, including the correct tap
position.
Busbar naming: 'PSSE_NAME'
With this option enabled, the busbars are named similar to the PSS/E
raw data file (without bus number).
Branch naming: 'BUSNAME1_BUSNAME2_ID'
With this option enabled, the branches are named as the name of the
busbars + ID.

F-4
DIgSILENT PowerFactory Interfaces with Other Programs

Import Graphical Options Tab Page

Fig. F.3: PSS/E Import - Graphical Options

Rotate with respect to busbar


The converter will rotate the graphical layout in case of the majority of
busbars being in vertical or horizontal position.
Snap coordinates to grid
The converter will snap to grid all objects in the single line graphics.
Transformer Symbol according to IEC
This options lets the user to choose the transformer symbol as IEEE
(default) or IEC representation.
Scaling factor The graphic files are scaled according to the scaling factor shown.

F.2.2 Import of PSS/E file (Dynamic Data)


As explained in Section F.2.1 it is good practise first to import the steady-state data and
then to add the dynamic model data.
Before converting dynamic data, it is recommended to copy the IEEE library folder located
in the global library into the user directory. The IEEE dynamic data library folder can be
found under Library\Models\IEEE . This folder has the structure as shown in Figure F.4.

F-5
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.4: IEEE Library

The following subdirectories are of importance in the conversion/importing.


Frames This folder contains the composite frames which are basically wired
diagrams.
Macros All models are described in the DIgSILENT simulation language DSL.
These DSL models may use functional primitives, the so-called DSL
macros. The standard macros are stored in this folder.
Models This folder contains the models for most typical models, e.g. automatic
voltage regulators (AVRs), power system stabilizers (PSS), primary
controllers (PCO) and others. The models are described in DIgSILENT
Simulation Language (DSL). The folders also may contain user-defined
models.
An important condition for successful file conversion is that all DSL models used during
the conversion process should be stored in the same model library folder. By default, this
is the case in the global PowerFactory library. If the original library should use specific
folders for the different types of controllers (AVR,PCO,PSS,..), the user should copy all of
the models into the same library folder. After the conversion, the user may re-arrange the
models.
The procedure to start the import of dynamic network data is very similar to the import
of steady-state data. Some parameter adjustments have to be made.

General Settings Tab Page - Dynamic Model Import


In the dialogue of General Settings in Figure F.1 the following topics have to be specified:
Dyn Models Data
Location of the PSS/E Dynamic Models data file. By default the program

F-6
DIgSILENT PowerFactory Interfaces with Other Programs

searches for *.dyn and *dyr extensions. The user may consider all
types of files by typing *.*.
Parameter Mapping
Location of the PowerFactory mapping file. This is an option that
normally will not have to be touched by the user. By default
PowerFactory will automatically set up its own internal mapping file.
This file defines how to translate the PSS/E internal models into
PowerFactory models, including the mapping of controller
parameters. For automated conversion of user-defined PSS/E
controllers the mapping file may be customized. Please contact our
support if you wish to do so.
Composite Frame Path
Location in the PowerFactory data base where the composite frames
are stored (IEEE/Frames...).
DSL - Model Path
Location in the PowerFactory data base where the DSL models are
stored (IEEE/Models....).

Import Options Tab Page - Dynamic Model Import


In the dialogue of Import Options in Figure F.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.

F.2.3 Exporting a project to a PSS/E file


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 DSL can not automatically be translated but 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.

F-7
DIgSILENT PowerFactory Interfaces with Other Programs

Export General Settings Tab Page

Fig. F.5: PSS/E Export - General settings

RAW Conversion File


Path and file name for the PSS/E RAW file, containing the symmetrical
description of the model.
SEQ Conversion File
Path and file name for the PSS/E SEQ file, containing the additional
description of the model necessary for unbalanced conditions.
DYN Conversion File
Path and file name for the PSS/E DYN file, containing the dynamic
models of the project.

Export Options Tab Page

Fig. F.6: PSS/E Export - Options

Convert Motors to Generators if P<0


With this option enabled, all asynchronous machines in generator mode
will be converted to synchronous machines.

F-8
DIgSILENT PowerFactory Interfaces with Other Programs

Base Apparent Power


Base for the power values given in per-unit system.
Min (Zero) Impedance Branch
Minimum impedance for ideal connections.
PSS/E Version
Version of PSS/E target files.
The section of developers' options contains additional options used for debugging. Please
use these options only when requested to do so by the PowerFactory support.
Extra PrecisionActivates the output of values in extended precision.

F.3 StationWare Interface


This chapter describes the StationWare interface. An introduction into StationWare’s
general philosophy is given in Section F.3.1.
The following two sections describe the overall StationWare architecture (Section F.3.2)
and the conceptual differences between PowerFactory and StationWare (Section
F.3.3).
Both PowerFactory and StationWare have to be configured before they can be used
together (Section F.3.4).
The Getting Started section (Section F.3.5) provides a gentle introduction into the most
important features. The complete documentation can be found in the Reference section
(Section F.3.6).
The final Technical Reference (Section F.3.7) provides some deeper knowledge how
PowerFactory 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 technical part of StationWare.

F.3.1 About StationWare


DIgSILENT StationWare provides a reliable central protection settings database and
management system for the complete power system substation data, both to manage the
various control parameters and to centrally store substation related information and data,
based on latest .NET technology.
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
communicated by proprietary software solutions (these may even be suitable for only a
particular manufacturer or even a series or type of relay). This results in a fragmented
and distributed settings ”database.” DIgSILENT 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 inter-
facing and exchange in a transparent and hassle free manner.

F-9
DIgSILENT PowerFactory Interfaces with Other Programs

PowerFactory’s data exchange facility allows it to access the settings stored


inStationWare, 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.

F.3.2 Component Architecture


DIgSILENT StationWare is a so-called Client-Server Application: the functionality is
distributed on at least two computers: client and server. Figure F.7 gives an overview on
the components.

Client 1 Client 2

Web Browser Power Factory

HTML/HTTP SOAP/HTTP

HTML Web Service


Front End Front End

StationWare
Kernel

StationWare Server

Fig. F.7: Architecture overview

Usually there are several clients. One main advantage of this architecture is the fact that
the data is stored in one central database on the server. One client connects to the server
and fetches the data from there, modifies them, and afterward stores them back to the
server. On other clients these changes are visible.
DIgSILENT StationWare server provides two interfaces to access from client
machines:
• Visualization by means of a standard web browser. The HTML interface can be used
with an usual web browser (e.g. Microsoft Internet Explorer or Mozilla Firefox) as
shown in Figure F.8.
The browser displays HTML pages which are created by StationWare’s HTML front
end. The HTML pages are transferred using the HTTP protocol on top of the TCP/IP
internet protocol.
HTML allows to present all kind of data e.g. plain text, tables or images.
Additionally HTML provides concepts to achieve interactivity: by submitting HTML

F - 10
DIgSILENT PowerFactory Interfaces with Other Programs

forms or pressing on hyperlinks data is sent to the server. The server interpretssuch
requests and creates new HTML pages which are displayed by the browser again.
• The web service interface, similar to the HTML interface uses the HTTP protocol to
communicate with the web service frontend, though no HTML pages are transferred
but lower-level data (SOAP/XML encoded). The web service client application is
responsible to present this data conveniently.
PowerFactory is able to play the role of a web service client. It integrates parts of
StationWare’s data and concepts smoothly into its own world.
The functionality of the HTML interface is covered in the StationWare manual. The
remainder of this chapter focuses on PowerFactory as client.

Fig. F.8: HTML interface

F.3.3 Fundamental Concepts


Though both in StationWare and in PowerFactory the settings and data associated
with protective 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

F - 11
DIgSILENT PowerFactory Interfaces with Other Programs

networks which is not supported in StationWare.


This section describes the concept mismatch between PowerFactory and
StationWare. In order 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 in Figure F.9.

Fig. F.9: StationWare locations

In PowerFactory the data is organized in projects (IntPrj). A project may have one or
more grids (ElmNet) which in turn contain net elements e.g. terminals, cubicles, and
relays (ElmRelay). See Figure F.10 for a typical PowerFactory project.

F - 12
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.10: PowerFactory project

StationWare’s location concept and PowerFactory’s pr oject/grid concept hardly fit


together. That’s the reason why the data mapping between PowerFactory and
StationWare begins at the device level which is the subject of the next sections.

Device
StationWare manages a set of devices e.g. relays, CTs, VTs, or Circuit breakers. Each
device is associated to a device type e.g. ABB DPU2000R or SEL421 003. Additionally each
device has an unique ID: the device ID.
In PowerFactory a relay is represented by an ElmRelay object which references exactly
one TypRelay object. The ElmRelay object contains several sub-components e.g. the I>
component (a RelToc object), the Logic component (RelLogic), or the Ios component
(RelMeasure). See Figure F.11 for an example. The device ID is used to link one
StationWare device to one PowerFactory device. The PowerFactory device e.g. an
ElmRelay object stores the StationWare device ID as foreign key.

F - 13
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.11: PowerFactory relay

Device State
A device’s state is in StationWare called setting. A setting is a list of attributes, and
describes the state of one device completely. An attribute is a tuple of
• attribute name,
• attribute type which can be an arbitrary integer or floating point number, optionally
with a range restriction, or a string, or a enumeration type.,
• a default value,
• an optional unit.
A complex relay may have thousands of attributes. In StationWare the setting attributes
are organized in so-called setting groups. A setting group groups the attributes together
which belong somehow together. It’s often defined by the device manufacturer. Each
attribute belongs to exactly one setting group. Inside a group the attribute name is
unique.
The device type defines which attributes and groups characterize a device. Table F.1
shows an example of a possible device type. There are two setting groups G and H. Group
G has the attributes a, b, and c, group H has the attributes d and e.

Group Name Type Default Unit


G a integer in [0,10] 0 A
b float -0.32 I/s
c float in [0.03,1.65] 1.0
H d string ’DEFAULT’
e enum ’yes’,’no’,’maybe’ ’yes’

F - 14
DIgSILENT PowerFactory Interfaces with Other Programs

Table F.1: Settings Definition

According to this attribute definition a device can have settings as shown in tables F.2 or
F.3.

Group, Name Value


G,a 7
G,b 23.43
G,c 1.1
H,d ’abc’
H,e ’maybe’

Table F.2: Settings Example 1

Group, Name Value


G,a 8
G,b 0
G,c 1.1
H,d ’abcdef’
H,e ’yes’

Table F.3: Settings Example 2

On the PowerFactory side there are neither setting nor group nor attribute. There is the
ElmRelay object and its sub-objects. These objects can have parameters. See table F.4 for
a definition and table F.5 for an example. The TypRelay type defines components and
parameters.
StationWare attributes are somehow mapped to PowerFactory parameters and vice
versa. How this actually is accomplished, is described in Section F.3.7 (Technical
Reference). The mapping is non-trivial since only a small subset of the attributes (the
calculation-relevant data) is modeled in PowerFactory and vice versa. Additionally there
is no one-to-one relationship between attributes, and parameters and a parameter could
get calculated out of several attributes.
.

Component Parameter Type


i> o integer
Logic p string
q enum ’enabled’,’disabled’
Ios r float
s float

Table F.4: Parameter Definition

F - 15
DIgSILENT PowerFactory Interfaces with Other Programs

Some relays support multiple setting groups (MSG) also called parameter sets. Such
relays have the same group many times (c.f. table F.5). The groups H1, H 2, and H 3 have
the same set of attributes (c and d). Some relay models in PowerFactory do not support
this concept fully. Instead of modeling all MSGs, only one instance of the H groups is
provided.
In this case a group index parameter defines which of the MSGs actually is transferred
from StationWare to PowerFactory.

Life Cycle Phase


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.

Component Parameter Value


i>:o 8
Logic:p ’HIGH’
Logic:q ’enabled’
Ios:r 18.5
Ios:s 19.5

Table F.5: Parameter Example

Group Name Type Default Unit


G a integer in [0,10] 0 A
b float -0.32 I/s
H1 c string ’DEFAULT’
d float in [0.03,1.65] 1.0
H2 c string ’DEFAULT’
d float in [0.03,1.65] 1.0
H3 c string ’DEFAULT’
d float in [0.03,1.65] 1.0

Table F.6: Multiple Setting Group Definition

In PowerFactory a device has exactly one state (or setting). Therefore when data is
transferred between PowerFactory and StationWare, always a concrete device setting
in StationWare must be specified.
For PowerFactory purposes a special PowerFactory planning phase is introduced. The
transfer directions are specified as follows:
• Imports from StationWare into PowerFactory are restricted to Applied and
PowerFactory settings. Applied denotes the current applied setting (Applied) or
a previous applied (Historic) setting.

F - 16
DIgSILENT PowerFactory Interfaces with Other Programs

• 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.)

F.3.4 Configuration
In order to transfer data between PowerFactory and StationWare both systems must
be configured.

StationWare Server
An arbitrary StationWare user account can be used for the StationWare interface in
PowerFactory. The user must have enough access rights to perform operations e.g. for
the export from PowerFactory to StationWare write-rights must be granted.
The bi-directional transfer of settings is restricted to lifecycle phases with
1 status PLANNING or REVIEW and
2 with a cardinality constraint of 1 i.e. there may exist one or no such setting for one
device.
Please ensure that at least one phase fullfills these requirements, and there exists a
setting of this phase.

PowerFactory Client
The client operating system must allow connections to the server (network and firewall
settings etc.).
Nothing has to be done in the PowerFactory configuration itself. The TypRelays in the
Library must of course support StationWare/PowerFactory mapping.

F.3.5 Getting Started


This section is a simple walkthrough and covers the most essential StationWare
interface functionality. By using a simple PowerFactory project and simple
StationWare substation, it describes
1 how relays in StationWare and PowerFactory are created,
2 how these relays are linked,
3 how settings can be exported from PowerFactory to StationWare,
4 how settings can be imported again into PowerFactory.
All (especially the more advanced) options and features are described in the reference
section (see Section F.3.6 (Reference)).

Prepare substation in StationWare


We begin with the StationWare side. We create a substation and two relays within:
 start the web browser,

F - 17
DIgSILENT PowerFactory Interfaces with Other Programs

 log on to the StationWare system,


 create a new substation titled Getting Started,
 create two relays named Getting Started Relay 1 and Getting Started Relay 2 in the
Getting Started substation
In the HTML interface the station detail page should look as shown in Figure F.12.
 Go to the detail page of the Getting Started Relay 1 (Figure F.13).
Since we have just created the device it has no settings, yet. Later it will contain a Power-
Factory setting which reflects the relay state on the PowerFactory side.

Fig. F.12: Substation

Fig. F.13: Device

F - 18
DIgSILENT PowerFactory Interfaces with Other Programs

Prepare project in PowerFactory


Create a new PowerFactory project and create a simple grid within
 start PowerFactory,
 create a new project titled GettingStarted,
 draw a simple grid with two terminals (ElmTerm) connected by a line (ElmLne) as
shown in Figure F.14.

Fig. F.14: Grid

Now add a relay to the upper terminal


 right-click the cubicle quadrangle with the mouse. A context menu pops up.
 select New Devices.../Relay Model... as shown in Figure F.15.
A dialogue pops up that allows you to specify the settings of the new relay (ElmRelay).
 insert Getting Started Relay 1 as Name
 select an appropriate Relay Type which supports StationWare import/export (see
Figure F.16).
 press OK
 in the same way add a relay Getting Started Relay 2 to the second terminal.
PowerFactory’s object filter mechanism gives an overview over all devices inside the
current project.

F - 19
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.15: Cubicle context menu

 Press the icon (Edit Relevant Objects for calculation) in the toolbar and select
the icon (ElmRelay) to filter out all non-relay objects as shown in Figure F.17.
All calculation relevant relays (actually there only the two we created above) are displayed
in a table (see Figure F.18).

Link Relays and establish a Connection


Now the PowerFactory relays must get linked to the StationWare relays.

 mark both relay icons with the mouse,


 press the right mouse button.
A context menu pops up as shown in Figure F.19.
 select the StationWare menu item,
 select the Select Device ID item.
A Log on to StationWare server dialogue pops up. Since this is the first time Power-
Factory connects to the StationWare server some connection settings must be
entered.

F - 20
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.16: Relay dialogue

Fig. F.17: Relay object filter

 enter the Server Endpoint URL of the StationWare server. The URL should have a
format similar to
http://192.168.1.53/psmsws/psmsws.asmx
 enter Username and Password of a valid StationWare user account.

F - 21
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.18: Relay display

Fig. F.19: Device context menu

Figure F.20 shows the dialogue settings.

Fig. F.20: Log on dialogue

 press OK.
The connection procedure may take some seconds. If the server could be accessed and

F - 22
DIgSILENT PowerFactory Interfaces with Other Programs

the user could be authenticated a success message is printed into the output window
DIgSI/info - Established connection
to StationWare server ’http://192.168.1.53/psmsws/psmsws.asmx’
as user’pf00002’
Otherwise an error dialogue pops up. Correct the connection settings until the connection
is successfully created. The reference section (Section 1.6.2) explains the connection
options in detail.
Having established a connection to the server, a browser dialogue pops up which displays
the location hierarchy as known from the StationWare HTML interface. The dialogue is
shown in Figure F.21.
 navigate to the Getting Started substation,
 select the Getting Started Relay 1 device,
 press OK.

Fig. F.21: Browser dialogue

Now the PowerFactory relay is ”connected” to the StationWare device.


 in the same way select Getting Started Relay 2 for the second PowerFactory relay.

Export and Import Settings


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 F.19.
 select the Export... item in the StationWare menu entry.
A ComStationware dialogue is shown which allows to specify the export options (c.f.
Fig. 1.16). See Section (Export and Import Settings) in the Reference section for all
export options.

F - 23
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.22: ComStationware dialogue

 select PowerFactory as Life cycle Phase,


 press Execute.
After a few seconds the relay settings are transferred to the server, and the output
window contains the message
DIgSI/info - Exported 2 of 2 device settings successfully
The result can now be observed in the StationWare HTML interface.

Fig. F.23: Device detail page

 navigate to the relay detail view of the Getting Started Relay 1 relay (c.f. Fig. F.23)

F - 24
DIgSILENT PowerFactory Interfaces with Other Programs

Observe the new created PF setting. The phase of this setting is PowerFactory.
 switch to the settings detail page of the new PF setting (c.f.Fig. F.24).

Fig. F.24: Setting detail page

The setting values should correspond to the relay state in PowerFactory. In the same
way the Getting Started Relay 2 relay has a new PF setting.
Now try the opposite direction and import a setting from StationWare into Power-
Factory.
 modify the PF settings in StationWare by entering some other values
 in PowerFactory mark the relays with the mouse and right-click to get the relay
context menu as shown in Figure F.19.
 select the Import... item in the StationWare menu entry.
Again the ComStationware dialogue (see Figure F.22) pops up as known from the
export.
 leave the default settings,
 press Execute.
Again the result of the settings transfer is reflected in the output window:
DIgSI/info - Imported 2 of 2 device settings successfully
 find ElmRelay object parameters changed according to the changes on the
StationWare side
All import options are described in detail in the reference section (Export and Import
Settings).

F.3.6 Reference
This section describes all options and features concerning the StationWare interface.

F - 25
DIgSILENT PowerFactory Interfaces with Other Programs

The Device Context Menu


Almost all functionality can be accessed by the device context menu. Mark one ore more
objects which supports the StationWare transfer e.g. ElmRelay
• in the object filter (Figure F.19)
• in the data manager as shown in Figure F.25.

Fig. F.25: Device context menu

The StationWare submenu contains the entries as follows:


Import... opens the ComStationware dialogue and sets the device selection
according to the above selected device objects. The ComStationware
dialogue settings are explained in detail in section (The
ComStationware Object).
Export... does the same for the export direction.
Select Device ID...
starts the Browser dialogue (Figure F.29) to link this device to a
StationWare device. The dialogue is subject of section (The Browser
Dialogue).
Reset Device ID
resets the device ID.
Connect... terminates the current StationWare session if it’s already existing.
Shows a Log On dialogue. The connection settings are covered by
Section 1.6.2. This may be useful when you are using several
StationWare accounts and want to switch between them.
Disconnect terminates the StationWare session

F - 26
DIgSILENT PowerFactory Interfaces with Other Programs

Connection
Similar to the HTML interface the StationWare interface in PowerFactory is session-
oriented: when a user logs on to the system by specifying a valid StationWare account
(username and password) a new session is created. Only inside such a session
StationWare can be used. The account privileges restrict the application functionality
e.g. an administrator account is more powerful than a usual user account.

Fig. F.26: Log on dialogue

Working with PowerFactory the first time the StationWare server is required the
Logon dialogue is shown as shown in Figure F.26.
The StationWare connection options are stored in the user settings (Figure F.27). After
each successful logon the user settings are updated.

Fig. F.27: User settings

As mentioned in the Architecture section (Section 1.2) StationWare is a client-server


application. The StationWare server component is located on a server machine in the
internet. The client component is the PowerFactory application which is running on a
client machine.
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
computer and psmsws/psmsws.asmx is the name of the StationWare application.
The connection options are as follows:
Service Endpoint
The Service Endpoint denotes the StationWare server ’name’ as
described above

F - 27
DIgSILENT PowerFactory Interfaces with Other Programs

Username/Password
Username and Password have to be valid user account in
StationWare. A StationWare user account has nothing to do with
the PowerFactory user account.
The very same StationWare account can be used by two different PowerFactory
users. The privileges of the StationWare account actually restrict the functionality. For
device import the user requires read-access rights. For exporting additionally write-access
rights are required.

The Browser Dialogue


As mentioned in the Concept description (see Section (Device)) the StationWare device
ID is stored as Foreign Key in the ElmRelay object dialogue (Description page) as shown
in Figure F.28.

Fig. F.28: ElmRelay dialogue

A more convenient way is to use the Browser dialogue shown in Figure F.29. The dialogue
allows to browse through the StationWare location hierarchy and select a device. The
hierarchy data is cached to minimize network accesses. Due this caching it’s possible that
there may exist newly created locations or devices which are not displayed in the browser
dialogue. The Refresh button empties the cache and enforces PowerFactory to re-
fetch the correct data from the server.

The ComStationware Object


In PowerFactory almost everything is an object: relays are ElmRelay objects, users are
IntUser objects, and grids are ElmNet objects.
What may be on the first sight confusing is the fact that actions are objects as well: for a
short-circuit calculation a ComShc object is created. The calculation can be performed
with several options e.g. 3-Phase, single phase, or 3 Phase to Neutral.

F - 28
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.29: Browser dialogue

You can even specify the fault location. All these calculation options are stored in the
ComShc object. Every action object has an Execute button which starts the action. In
fact there is a large number of parametrized actions like load flow calculation (ComLdf ),
simulation (ComSim), there is even a ComExit object that shuts down PowerFactory. All
objects which can ’do’ something have the Com prefix.
Since the StationWare interface is actually ’doing’ something (it does import data, it
does export data) it is implemented as a ComStationware object.
The ComStationware object is used both for the import (Section 1.6.4.1) and the export
(Section 1.6.4.2). It is located in the project’s study case according to PowerFactory
conventions. The actual Getting Started project (Section 1.5) is shown in Figure F.30.
By default the study case of a new project contains no ComStationWare object. It is
automatically created when it is first needed, as well as the ComShc object is instantiated
at the time when the first short-circuit calculation is performed.

Import Options
The ComStationware dialogue provides import options as follows (Figure F.31):
Transfer Mode
select Import from StationWare as Transfer Mode
Check only Plausibility
if the Check only Plausibility flag is enabled the import is only simulated
but not really executed.
Life cycle Phase/Time stamp
A list of available life cycle phases is shown.

F - 29
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.30: Project study case

Fig. F.31: ComStationware import options

• PowerFactory selects the current setting with PowerFactory phase as source


setting.
• if Applied is selected the current Applied setting is transferred. If additionally a
Timestamp value is entered the setting that was applied at this time is transferred
which may either be Applied or Historic.
The Timestamp format is in ISO format: e.g. 2005-02-28 22:27:16
The time part may be omitted. Then 00:00:00 AM is assumed.
All Devices If All Devices is enabled, all calculation-relevant devices are imported.
Devices not supported by StationWare are ignored.
Device Selection
Unless All Devices is enabled, the Device Selection provides a more

F - 30
DIgSILENT PowerFactory Interfaces with Other Programs

subtle way to specify which devices are to be transferred. The Device


Selection parameter can be
• an ElmRelay object: this and only this relay is imported
• a SetSelect object: a SetSelect is a container that may hold several objects. All of
them are transferred, except the ones not supported by 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....
Devices outside the activated project are ignored.
The Device Selection is automatically set if the Device Context Menu mechanism
(Section (The Device Context Menu)) is used.
All Settings Groups/Group Index
This parameter specifies how multiple settings groups (MSG) are
handled (c.f. Section 1.3).
• If the relay in StationWare has MSGs and the PowerFactory relay model
supports MSGs and
– All Settings Groups is enabled: then all groups are transfered.
– 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.
These parameters are ignored completely if the relay has no MSGs.
The import transfer is started by pressing Execute.

Fig. F.32: ComStationware export options

Export Options
The export options are almost identical to the import options (Figure F.32):

F - 31
DIgSILENT PowerFactory Interfaces with Other Programs

Transfer Mode
Select Export as Transfer Mode
Life cycle Phase
A list of possible life cycle targets is shown. Please have in mind that a
setting of the life cycle is available. Applied settings can never be
changed.
Click Execute to start the data transfer. Then the PowerFactory -relevant parameters
are copied upon the existing target setting.

F.3.7 Technical Reference


The purpose of this section is to describe what happens internally inside PowerFactory
when device settings are exported or imported.
This section also explains how new device types are integrated. PowerFactory is
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 object’s and its subobjects’ parameters.
The export DPL script takes a ElmRelay object as input parameter and calculates some
output parameters which are the StationWare attributes.

Note: DPL’s most important benefit is: you can do everything. That’s ex-
actly DPL’s most important disadvantage as well. Be sure that your
DPL scripts do what they should do and not more.
An import script should only set the parameters in the ElmRelay
object and its subcomponents. An export script shouldn’t change
anything at all (at least within PowerFactory).

The scripts have to be named PsmsImport.ComDpl and PsmsExport.ComDpl and


must be located in the same folder as the TypRelay object.
Type data like TypRelay objects should be located in a library folder e.g. in the project
library. If it is referenced from several projects, it belongs into a global library. See Figure
F.33 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:
1 let t be d’s device type

F - 32
DIgSILENT PowerFactory Interfaces with Other Programs

2 let dpl be the PsmsImport.ComDpl object near t


3 initialize dpl’s input parameter with the device attributes from StationWare
4 initialize dpl’s external object parameter Relay with d
5 execute dpl

Fig. F.33: Database structure

The execution step actually sets the relay parameters.


We use the StationWare device type example shown in table F.1 from the Concept
section (Section 1.3) and the PowerFactory device type as shown in table F.3.
The StationWare attributes are G.a, G.b, G.c, H.d, and H.e, the PowerFactory param-
eters are I>:o, Logic:p, Logic:q, Ios:r, and Ios:s.
Only the attributes G.a, G.c, and H.d and the parameters I>:o, Logic:p, and Ios:r
are mapped. The others are ignored since there is no equivalent concept on the other
system.
Figure F.34 shows the Basic options. The PsmsImport.ComDpl must meet the require-
ments as follows:
Name must be PsmsImport
General Selection must be empty
Input Parameters this table holds the 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.

F - 33
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.34: DPL import script: Basic options

The Input parameters get initialized with the StationWare attribute values and the
External Object with the current relay.
The second page of the ComDpl script holds the output parameters. They have the
meaning as follows (Figure F.35 shows the Advanced options).
Remote Script this parameter must be unset
Result Parameters the table must have one entry with Name Result of Type String.
The DPL script should set this parameter to OK if the import procedure
was successful. Otherwise it may hold an error message which is
displayed in the output window.
Figure F.36 shows the Script page which contains the DPL code. The code must be a valid
DPL program. It should set the relay parameters according to the input parameters.

F - 34
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.35: DPL import script: Advanced options

Fig. F.36: DPL import script: Script

Export Scripts
The export direction is almost symmetric to the import process. Be d the device whose
setting is to exported:
1 let t be d’s device type

F - 35
DIgSILENT PowerFactory Interfaces with Other Programs

2 let dpl be the PsmsExport.ComDpl object near t


3 initialize dpl’s external object parameter Relay with d
4 execute dpl
5 transfer dpl’s output parameter to the setting in StationWare
The export DPL script must also meet some requirements: Figure F.37 shows the Basic
options.

Fig. F.37: DPL export script: Basic options

Name ComDpl.Name must be PsmsExport.


General Selection must be empty
Input Parameters this table must be empty
External Object this table contains exactly one entry: an object with the Name Relay.
The object column must be empty.
The second page of the ComDpl script holds the output parameters. They have the
meaning as follows (Figure F.38 shows the Advanced options).
Remote Script this parameter must be unset
Result Parameters the table must have the first entry with Name Result of Type
String.
The DPL script should set this parameter to OK if the import procedure
was successful. Otherwise it may hold an error message which is
displayed in the output window.
Below the Result parameter are the StationWare attributes.
Figure F.39 shows the Script page which contains the DPL code. The code must be a valid
DPL program. It should not change the database.

F - 36
DIgSILENT PowerFactory Interfaces with Other Programs

Fig. F.38: DPL export script: Advanced options

Fig. F.39: DPL export script: Script

How to create a new Device Type conversion


This section gives some practical guidelines how to create the conversion scripts for new
types. First create a test environment:

F - 37
DIgSILENT PowerFactory Interfaces with Other Programs

 create in StationWare a new substation with one device of the desired device type.
Create a default PowerFactory setting for this device.
 create a simple PowerFactory project which contains a device of the desired type
 link the PowerFactory device to the StationWare device by setting the foreign key
to the device ID.
Then write the import script:
 create an empty PsmsImport.ComDpl near the TypRelay object.
 define the input and output parameters of the ComDpl object
 write the DPL code
 test the script by importing the PowerFactory setting
Iterate these steps until there are no error messages. Change the setting in StationWare
and re-try the import. In quite the same way create and verify a PsmsExport.ComDpl
script.

F - 38
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Appendix G
The DIgSILENT Programming Language - DPL

The DIgSILENT Programming Language DPL serves the purpose of offering an interface
for automating tasks in the PowerFactory program. The DPL method distinguishes itself
from the command batch method in several aspects:
• DPL offers decision and flow commands
• DPL offers the definition and use of user-defined variables
• DPL has a flexible interface for input-output and for accessing objects
• DPL offers mathematical expressions
The DPL adds a new dimension to the DIgSILENT PowerFactory program by allowing
the creation of new calculation functions. Such user-defined calculation commands can
be used in all areas of power system analysis, such as
• Network optimizing
• Cable-sizing
• Protection coordination
• Stability analysis
• Parametric sweep analysis
• Contingency analysis
• etc.
Such new calculation functions are written as program scripts which may use
• Flow commands like 'if-then-else´ and 'do-while'
• PowerFactory commands (i.e. load-flow or short-circuit commands)
• Input and output routines
• Mathematical expressions
• PowerFactory object procedure calls
• Subroutine calls

G.1 The Principle Structure of a DPL Command


The principle Structure of a DPL script is shown in Figure G.1.

G-1
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Fig. G.1: Principle of a DPL command

The DPL command object ComDpl is the central element, which is connecting different
parameter, variables or objects to various functions or internal elements and then puts
out results or changes parameters.
As the input to the script can be predefined input parameters, single objects from the sin-
gle line diagram or the database or a set of objects/elements, which are then stored inside
a so called "General Selection''.
These input information can then be evaluated using functions and internal variables in-
side the script. Also internal objects can be used and executed, like
• a calculation command, i.e. ComLdf, ComSim, etc., especially defined with certain
calculation options
• subscripts also released in DPL
• filter sets, which can be executed during the operation of the script
Thus the DPL script will run a series of operation and start calculation or other function
inside the script. It will always communicate with the database and will store changed set-
tings, parameters or results directly in the database objects. There is nearly no object in-
side the active project, which can not be accessed or altered.
During or at the end of the execution of the DPL script, the results can be outputted or
parameters of elements my be changed. There is the possibility to execute a predefined
output command ComSh or to define own outputs with the DPL commands available.

G.2 The DPL Command Object


The DPL command object ComDpl holds a reference to a remote DPL command when it
is not a root command. The example depicted in Figure G.2 is apparently a referring com-
mand, since its "DPL script'' reference is set to the remote command \ Library\ DPL Com-
mands\ CheckVLoading.

G-2
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Fig. G.2: A DPL command

• A root command has its own script on the "script'' page of the dialogue.
• A referring command uses the script of the remote DPL command.

G.2.1 Creating a new DPL Command

A DPL Command ComDpl can be created by using the "New Object'' ( ) icon in the
toolbar of the data manager and selecting DPL Command and more. Then press OK and
a new DPL command is created. The dialogue is now shown and the parameters, objects
and the script can now be specified.
This dialogue is also opened by double-clicking a DPL script, by selecting Edit from the

context sensitive menu or by selecting the script from the list when pressing the icon .

G.2.2 Defining a DPL Commands Set


The DPL command holds a reference to a selection of objects (General Selection). At first
this general selection is empty, but there are several ways to define a special set of object
used in the DPL command. This "DPL Commands Set'' (SetSelect) can be specified
through:

G-3
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

• Select one or more elements in the single line diagram. Then right-click the selection
(one of the selected elements) and choose the option Define... DPL Commands
Set... from the context sensitive menu.
• It is also possible to select several elements in the data manager. Right-click the
selection and choose the option Define... DPL Commands Set... from the context
sensitive menu.

G.2.3 Executing a DPL Command

To execute a DPL command or to access the dialogue of a script, the icon can be
activated. This will pop up a list of available DPL scripts from the global and local library.
The easiest way to start a DPL command AND define a selection for it is
• To select one or more elements in the single line diagram or in the data manager and
then right-click the selection.
• Choose the option Execute DPL Scripts from the context sensitive menu.
• Then select a DPL script from the list. This list will show DPL scripts from the global as
well as from the local library.
• Select a DPL script, insert/change the variables and then press the button
Execute
In this way the selection is combined into a DPL Commands Set and the set is auto-
matically selected for the script chosen.
Only one single DPL command set is valid at a time for all DPL scripts. This means that
setting the DPL command set in one DPL command dialogue, will change the DPL com-
mand set for all DPL commands in the database.

Note To choose different sets for various DPL scripts you can either use
different selection object SetSelect like the "General Set''. Or new
DPL command sets can be created and selected inside the active
study case. This is done by pressing , selecting "other'' and the
element "Set (SetSelect)'' and then selecting the set type.

The interface section Input Parameters is used to define variables that are accessible from
outside the DPL command itself. DPL commands that call other DPL commands as sub-
routines, may use and change the values of the interface variables of these DPL subrou-
tines.
The list of External Objects is used to execute the DPL command for specific objects. A
DPL command that, for example, searches the set of lines for which a short-circuit causes
too deep a voltage dip at a specific busbar, would access that specific busbar as an ex-
ternal object. Performing the same command for another busbar would then only require
setting the external object to the other busbar.

G.2.4 DPL Advanced Options


On the Advanced Options page a Remote script can be selected, which is then used by

G-4
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

this script instead of a local defined script on the next page Script. This is a so called "re-
ferring command''. The "root command'' as described above in the example uses the local
defined script.
Also there can be Result parameters defined. These parameters are results from the script
and they are stored inside the result object. Hence it is possible to access them through
the variable monitor and display them in a plot.

G.2.5 DPL Script Page


The most important part of a DPL root command is of course the actual DPL program
script. That script is written on the Script page of a DPL root command dialogue, if no
Remote script is selected.
On this page the DPL code of a already defined script is shown and/or new command lines
can be inserted for modifying this script or writing a new script. The available commands
and the DPL language are described in the following sections.
The edited program code also features a highlighting specially suited for handling DPL
scripts.

G.3 The DPL Script Editor


There is also an own editor available for conveniently writing a DPL script. To activate this
editor press the icon on the bottom side of the Script page of a DPL command dia-
logue.
Now a new window will be opened in PowerFactory. Here the script can be written in a
very convenient way similar to the programming language C++. The highlighting will be
activated automatically.
There are several tools which can be used in this editor:

With this icon "Edit Object'' the edit dialogue of the script is opened and the user
can Check the modified script for errors or one can Execute it.

The script inside the editor and in the dialogue are synchronized each time the
script is saved or edited in the dialogue. If this "Disconnect'' icon is pressed, the
scripts will not be synchronized anymore.

With the "search'' icon the user can activate a Find, a Replace or also a Go To
function inside the editor.

With the "search next'' icon find/replace/go to the next matching word.

With the "search previous'' icon find/replace/go to the previous matching word.

With the these icons bookmarks can be set in the editor. Also jump from one
bookmark to the next or previous as well as clear all bookmarks.

When finished editing, press the icon and the script will be synchronized with the

G-5
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

main dialogue. One can also jump to the main graphics board by selecting the option Win-
dow Graphic... from the main menu.

G.4 The DPL Script Language


The DPL script language uses a syntax quite similar to the C++ programming language.
This type of language is intuitive, easy to read, and easy to learn. The basic command set
has been kept as small as possible.
The syntax can be divided into the following parts:
• variable definitions
• assignments and expressions
• program flow instructions
• method calls
The statements in a DPL script are separated by semicolons. Statements are grouped to-
gether by braces.
Example:

statement1;
statement2;
if (condition)
{
groupstatement1;
groupstatement2;
}

G.4.1 Variable Definitions


DPL uses the following internal parameter types
• double, a 15 digits real number
• int, an integer number
• string, a string
• object, a reference to a PowerFactory object
• set, a container of objects
Vectors and Matrices are available as external objects.
The syntax for defining variables is as follows:

[VARDEF] = [TYPE] varname, varname, ..., varname;


[TYPE] = double | int | object | set

All parameter declarations must be given together in the top first lines of the DPL script.
The semicolon is obligatory.
Examples:

G-6
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

double Losses, Length, Pgen;


int NrOfBreakers, i, j;
string txt1, nm1, nm2;
object O1, O2, BestSwitchToOpen;
set AllSwitches, AllBars;

G.4.2 Constant parameters


DPL uses constant parameters which cannot be changed. It is therefore not accepted to
assign a value to these variables. Doing so will lead to an error message.
The following constants variables are defined in the DPL syntax:
SEL is the general DPL selection
NULL is the 'null' object
this is the DPL command itself
Besides these global constants, all internal and external objects are constant too.

G.4.3 Assignments and Expressions


The following syntax is used to assign a value to a variable:

variable = expression
variable += expression
variable -= expression

The add-assignment "+='' adds the right side value to the variable and the subtract-as-
signment "-='' subtracts the right-side value.
Examples:

double x,y;x = 0.5*pi(); ! x now equals 1.5708


y = sin(x); ! y now equals 1.0
x += y; ! x now equals 2.5708
y -= x; ! y now equals -1.5708

G.4.4 Standard Functions


The following operators and functions are available:
• Arithmetic operators: +, -, *, /
• Standard functions ( all trigonometric functions based on radians (RAD)):

function description example

G-7
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

sin(x) sine sin(1.2)=0.93203

cos(x) cosine cos(1.2)=0.36236

tan(x) tangent tan(1.2)=2.57215

asin(x) arcsine asin(0.93203)=1.2

acos(x) arccosine acos(0.36236)=1.2

atan(x) arctangent atan(2.57215)=1.2

sinh(x) hyperbolic sine sinh(1.5708)=2.3013

cosh(x) hyperbolic cosine cosh(1.5708)=2.5092

tanh(x) hyperbolic tangent tanh(0.7616)=1.0000

exp(x) exponential value exp(1.0)=2.718281

ln(x) natural logarithm ln(2.718281)=1.0

log(x) log10 log(100)=2

sqrt(x) square root sqrt(9.5)=3.0822

sqr(x) power of 2 sqr(3.0822)=9.5

pow (x,y) power of y pow(2.5, 3.4)=22.5422

abs(x) absolute value abs(-2.34)=2.34

min(x,y) smaller value min(6.4, 1.5)=1.5

max(x,y) larger value max(6.4, 1.5)=6.4

modulo(x,y) remainder of x/y modulo(15.6,3.4)=2

trunc(x) integral part trunc(-4.58823)=-


4.0000

frac(x) fractional part frac(-4.58823)=-


0.58823

round(x) closest integer round(1.65)=2.000

ceil(x) smallest larger integer ceil(1.15)=2.000

floor(x) largest smaller integer floor(1.78)=1.000

Table. G.1: DPL Standard Functions

• Constants:

pi() pi

twopi() 2 pi

e() e

Table. G.2: DPL Internal Constants

G-8
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

G.4.5 Program Flow Instructions


The following flow commands are available.

if ( [boolexpr] ) [statlist]
if ( [boolexpr] ) [statlist] else [statlist]
do [statlist] while ( [boolexpr] )
while ( [boolexpr] ) [statlist]
for ( statement ; [boolexpr] ; statement ) [statlist]

in which

[boolexpr] = expression [boolcomp] expression


[boolcomp] = "<" | ">" | "=" | ">=" | ">=" | "<>"
[statlist] = statement; | { statement; [statlist] }

• Unary operators: ".not."


• Binary operators: ".and." | ".or." | ".nand." | ".nor." | ".eor."
• Parentheses: {logical expression}
Examples:

if (a<3) {
b = a*2;
}
else {
b = a/2;
}

while (sin(a)>=b*c) {
a = O:dline;
c = c + delta;
}
if ({.not.a}.and.{b<>3}) {
err = Ldf.Execute();
if (err) {
Ldf:iopt_lev = 1;
err = Ldf.Execute();
Ldf:iopt_lev = 0;
}
}
for (i = 0; i < 10; i = i+1){
x = x + i;
}
for (o=s.First(); o; o=s.Next()) {
o.ShowFullName();
}

Break and Continue


The loop statements 'do-while' and 'while-do' may contain 'break' and 'continue' com-
mands. The 'break' and 'continue' commands may not appear outside a loop statement.

G-9
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

The 'break' command terminates the smallest enclosing 'do-while' or 'while-do' statement.
The execution of the DPL script will continue with the first command following the loop
statement.
The 'continue' command skips the execution of the following statements in the smallest
enclosing 'do-while' or 'while-do' statement. The execution of the DPL script is continued
with the evaluation of the boolean expression of the loop statement. The loop statement
list will be executed again when the expression evaluates to TRUE. Otherwise the loop
statement is ended and the execution will continue with the first command following the
loop statement.
Example:

O1 = S1.First();
while (O1) {
O1.Open();
err = Ldf.Execute();
if (err) {
! skip this one
O1 = S1.Next;
continue;
}
O2 = S2.First();
AllOk = 1;
DoReport(0); !reset
while (O2) {
err = Ldf.Execute();
if (err) {
! do not continue
AllOk = 0;
break;
}
else {
DoReport(1); ! add
}
O2 = S2.Next();
}
if (AllOk) {
DoReport(2); ! report
}
O1 = S1.Next();}

G.4.6 Input and Output


The "input'' command asks the user to enter a value.
input(var, string);
The input command will pop up a window with the string and an input line on which the
user may enter a value. The value will be assigned to the variable "var''.
The "output'' command writes a line of text to the output window.
output(string);
The string may contain "=''-signs, followed by a variable name. The variable name will
then be replaced by the variable's value.
Example:

G - 10
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

input(diameter, 'enter diameter');


output('the entered value=diameter');

The example results in the pop up of a window as depicted in Figure G.3.

Fig. G.3: The input window

The following text will appear in the output window:

DIgSI/dpl - the entered value=12.3400

The output command is considered obsolete and has been replaced by the more versatile
"printf'' and "sprintf'' functions. Please see the DPL reference for detailed information.

G.5 Access to Other Objects


With the syntax for the parameter definitions, program flow and the input and output, it
is already possible to create a small program. However, such a script would not be able
to use or manipulate variables of 'external' objects. It would not be possible, for instance,
to write a script that replaces a specific line by possibly better alternatives, in order to
select the best line type. Such a script must be able to access specific objects (the specific
line) and specific sets of objects (the set of alternative line types).
The DPL language has several methods with which the database objects and their param-
eters become available in the DPL script:
• The most direct method is to create an object, or a reference to an object, in the DPL
command folder itself. Such an object is directly available as "object'' variable in the
script. The variable name is the name of the object in the database.
• The DPL command set may be used. This method is only useful when the order in
which the objects are accessed is not important. The DPL command set is
automatically filled when a selection of elements is right-clicked in either the single
line graphic or the data manager and the option Execute DPL Script is selected.
• The list of external objects is mainly used when a script should be executed for
specific objects or selections. The list of external objects is nothing more than a list of
'aliases'. The external object list is used to select specific objects for each alias, prior
to the execution of the script.

G - 11
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

G.5.1 Object Variables and Methods


If a database object is known to the DPL command, then all its methods may be called,
and all its variables are available. For example, if we want to change a load-flow command
in order to force an asymmetrical load-flow calculation, we may alter the parameter
"iopt_net''. This is done by using an assignment:

Ldf:iopt_net = 1; ! force unbalanced

In this example, the load-flow objects is known as the objects variable "Ldf''.
The general syntax for a parameter of a database object is

objectname:parametername

In the same way, it is possible to get a value from a database object, for instance a result
from the load-flow calculations. One of such a result is the loading of a line object, which
is stored in the variable "c:loading''. The following example performs the unbalanced load-
flow and reports the line loading.
Example

00. int error;


01. double loading;
02. Ldf:iopt_net = 1; ! force unbalanced
03. error = Ldf.Execute(); ! execute load-flow
04. if (error) {
05. exit();
06. } else {
07. loading = Line:c:loading; ! get line loading
08. output('loading=loading'); ! report line loading
09. }

This examples is very primitive but it shows the basic methods for accessing database ob-
jects and their parameters.

G.6 Access to Locally Stored Objects


Locally stored objects (also called 'internal objects') can be accessed directly. They are
known in the DPL script under their own name, which therefore must be a valid DPL vari-
able name. It will not be possible to access an internal object which name is "My Load-
flow\~{}1*'', for instance.
Internal objects may also be references to objects which are stored elsewhere. The DPL
command des not distinguish between internal objects and internal references to objects.
An example is shown in Figure G.4, where a DPL script is shown on the left which has a
load-flow command and a reference to a line in its contents folder on the right.

G - 12
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Fig. G.4: DPL contents

The example DPL script may now access these objects directly, as the objects "Ldf'' and
"Line''. In the following example, the object "Ldf'', which is a load-flow command, is used
in line 01 to perform a load-flow.

00. int error;


01. error = Ldf.Execute();
02. if (error) {
03. output('Load-flow command returns an error');
04. exit();
05. }

In line 01, a load-flow is calculated by calling the method "Execute()'' of the load-flow
command. The details of the load-flow command, such as the choice between a balanced
single phase or an unbalanced three phase load-flow calculation, is made by editing the
object "Ldf'' in the database. Many other objects in the database have methods which can
be called from a DPL script. The DPL contents are also used to include DPL scripts into
other scripts and thus to create DPL "subroutines''.

G.7 Accessing the General Selection


Accessing database objects by storing them or a reference to them in the DPL command
would create a problem if many objects have to be accessed, for instance if the line with
the highest loading is to be found. It would be impractical to create a reference to each
and every line.
A more elegant way would be to use the DPL global selection and fill it with all lines. The
data manager offers several ways in which to fill this object DPL Command Set with
little effort. The selection may then be used to access each line indirectly by a DPL "ob-
ject'' variable. In this way, a loop is created which is performing the search for the highest
loading. This is shown in the following example.
Example

00. int error;


01. double max;
02. object O, Omax;
03. set S;
04.
05. error = Ldf.Execute(); ! execute a load-flow
06. if (error) exit(); ! exit on error
07.
08. S = SEL.AllLines(); ! get all selected lines
09. Omax = S.First(); ! get first line
10. if (Omax) {
11. max = Omax:c:loading; ! initialize maximum

G - 13
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

12. } else {
13. output('No lines found in selection');
14. exit(); ! no lines: exit
15. }
16. O = S.Next(); ! get next line
17. while (O) { ! while more lines
18. if (O:c:loading>max) {
19. max = O:c:loading; ! update maximum
20. Omax = O; ! update max loaded line
21. }
22. O = S.Next();
23. }
24. output('max loading=max for line'); !output results
25. Omax.ShowFullName();

The object SEL used in line 08 is the reserved object variable which equals the General
Selection in the DPL command dialogue. The SEL object is available in all DPL scripts at
all times and only one single "General Selection'' object is valid at a time for all DPL scripts.
This means that setting the General Selection in the one DPL command dialogue, will
change it for all other DPL commands too.
The method "AllLines()'' in line 08 will return a set of all lines found in the general selec-
tion. This set is assigned to the variable "S''. The lines are now accessed one by one by
using the set methods "First()'' and "Next()'' in line 09, 16 and 22.
The line with the highest loading is kept in the variable "Omax''. The name and database
location of this line is written to the output window at the end of the script by calling
"ShowFullName()''.

G.8 Accessing External Objects


The DPL contents make it possible to access external object in the DPL script. The special
general selection object ("SEL'') is used to give all DPL functions and their subroutines
access to a central selection of objects. i.e. the DPL Command Set.
Although flexible, this method would create problems if more than one specific object
should be accessed in the script. By creating references to those objects in the DPL com-
mand itself, the DPL command would become specific to the current calculation case.
Gathering the objects in the general selection would create the problem of selecting the
correct object.
To prevent the creation of calculation-specific DPL commands, it is recommended practice
to reserve the DPL contents for all objects that really 'belong' to the DPL script and which
are thus independent on where and how the script is used. Good examples are load-flow
and short-circuit commands, or the vector and matrix objects that the DPL command uses
for its computations.
If a DPL script must access a database object dependent on where and how the DPL script
is used, an "External Object'' must be added to the external object list in the DPL root
command. Such an external object is a named reference to an external database object.
The external object is referred to by that name. Changing the object is then a matter of
selecting another object.
In Figure G.5, an example of an external object is given. This external object may be re-
ferred to in the DPL script by the name "Bar1'', as is shown in the example.

G - 14
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Fig. G.5: DPL external object table

Example:

sagdepth = Bar1:u;

G.9 Remote Scripts and DPL Command Libraries


To understand the DPL philosophy and the resulting hierarchical structure of DPL scripts,
the following is important to understand:
• A DPL command either executes its own script or the script of another, remote, DPL
command. In the first case, the DPL command is called a 'root command' and the
script is called a 'local script'. In the second case, the DPL command is called a
'referring' command and the script is called a 'remote script'.
• A root command may define interface variables that are accessible from outside the
script and which are used to define default values.
• Each root command may define one or more external objects. External object are
used to make a DPL command run with specific power system objects, selections,
commands, etc.
• A referring command may overrule all default interface values and all selected
external objects of the remote command.
• Each DPL command can be called as a subroutine by other DPL commands.
The use of remote scripts, external objects and interface variables makes it possible to
create generic DPL commands, which may be used with different settings in many differ-
ent projects and study cases.
The easiest way to develop a new DPL command is to create a new ComDpl in the cur-
rently active study case and to write the script directly in that DPL object. In such a way,
a DPL "root command'' is made. If this root command needs DPL subroutines, then one
or more DPL command objects may be created in its contents. Each of these subroutines
will normally also be written as root functions.
The newly written DPL command with its subroutines may be tested and used in the cur-
rently active study case. However, it cannot be executed when another study case is ac-
tive. In order to use the DPL command in other study cases, or even in other projects,
one would have to copy the DPL command and its contents. This, however, would make
it impossible to alter the DPL command without having to alter all its copies.
The solution is in the use of 'remote scripts'. The procedure to create and use remote
scripts is described as follows.

G - 15
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Suppose a new DPL command has been created and tested in the currently active study
case. This DPL command can now be stored in a save place making it possible to use it
in other study cases and projects.
This is done by the following steps:
• Copy the DPL command to a library folder. This will also copy the contents of the DPL
command, i.e. with all it's DPL subroutines and other locally stored objects.
• "Generalize'' the copied DPL command by resetting all project specific external
objects. Set all interface variable values to their default values. To avoid deleting a
part of the DPL command, make sure that if any of the DPL (sub)commands refers to
a remote script, all those remote scripts are also stored in the library folder.
• Activate another study case.
• Create a new DPL command object (ComDPL) in the active study case.
• Set the "DPL script'' reference to the copied DPL command.
• Select the required external objects.
• Optionally change the default values of the interface variables
• Press the Check button to check the DPL script
The Check or Execute button will copy all parts of the remote script in the library that
are needed for execution. This includes all subroutines, which will also refer to remote
scripts, all command objects, and all other objects. Some classes objects are copied as
reference, other classes are copied completely.
The new DPL command does not contain a script, but executes the remote script. For the
execution itself, this does not make a change. However, more than one DPL command
may now refer to the same remote script. Changing the remote script, or any of its local
objects or sub-commands, will now change the execution of all DPL commands that refer
to it.

G.9.1 Subroutines and Calling Conventions


A DPL command object may be included in the contents of another DPL command. In that
case, the included DPL "subroutine'' may be called in the script of the enclosing DPL com-
mand. In principle, this is not different from calling, for example, a load-flow command
from a DPL script.
As with most other command objects, the DPL command only has one method:
int Execute() ; executes the DPL script.

The difference is that each DPL subroutine has different interface parameters, which may
be changed by the calling command. These interface parameters can also be set directly
at calling time, by providing one or more calling arguments. These calling arguments are
assigned to the interface parameters in order of appearance. The following example illus-
trates this.
Suppose we have a DPL sub-command "Sub1'' with the interface section as depicted in
Figure G.6.

G - 16
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

Fig. G.6: Interface section of subroutine

The calling command may then use, for example:

! set the parameters:


Sub1:step = 5.0;
Sub1:Line = MyLine;
Sub1:Outages = MySelection;
! execute the subroutine:
error = Sub1.Execute();

However, using calling arguments, we may also write:

! execute the subroutine:


error = Sub1.Execute(5.0, MyLine, MySelection);

G.10 DPL Functions and Subroutines


The DPL syntax is very small because it mainly serves the purpose of basic operations like
simple calculations, if-then-else selections, do-while loops, etc..
The strength of the DPL language is the possibility to call functions and to create subrou-
tines. A function which can be called by a DPL command is called a "method''. Four types
of methods are distinguished:
Internal methods
These are the build-in methods of the DPL command. They can always
be called.
Set methods These methods are available for the DPL 'set' variables.
Object methods
These methods are available for the DPL 'object' variables.
External methods
These are the methods which are available for certain external
PowerFactory objects, such as the load-flow command, the line
object, the asynchronous machine, etc.
Please see the DPL Reference for a description of these functions including implementa-
tion examples.

G - 17
DIgSILENT PowerFactory The DIgSILENT Programming Language - DPL

G - 18
DIgSILENT PowerFactory DPL Reference

Appendix H
DPL Reference

H.1 General Functions

exit Terminates a DPL script immediately.


GetTime Returns current processor time.
GetLanguage Returns the current language.
GetGlobalLib Returns a global library folder.
Random Returns a random number.
SetRandSeed Initializes the random number generator.
fRand Returns stochastic numbers according to a probability distribution.

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:
The exit() command has no arguments.
Return value:
The exit() command has no return value.
Example:

int in;
int sum;

!sums up all entered numbers


while(1){
input(in, 'Enter a number please (<0 to stop)');
if (in < 0){ !negative number entered, so calc sum and stop
printf('Sum: %d', sum);
exit(); !terminate script here
}
sum += in;

H-1
DIgSILENT PowerFactory DPL Reference

GetTime
int GetTime (int iN)
Returns current processor time.
Arguments:
int iN (obligatory) : precision after decimal point
Return value:
Current processor time in seconds

GetLanguage
int GetLanguage ()
Returns the current program language setting.
Arguments:
none
Return value:
0 = English, 1 = German
Example:
The following example displays a different message, depending on the language.
int err, lng;
lng = GetLanguage();
err = Ldf.Execute();
if (err) {
if (lng) {
output('Load-flow command returned an error');
} else {
output('Fehler im Lastfluss Kommando');
}
exit(); }

GetGlobalLib
object GetGlobalLib ([string ClassName])
Returns the global library for object-types of class "ClassName''. ClassName may be omit-
ted, in which case the complete global library folder is returned.
Arguments:
string ClassName (optional) : The classname of the objects for which the library folder is
sought
Return value:

H-2
DIgSILENT PowerFactory DPL Reference

The library folder


Example:
The following example shows the contents of the global library for line types.
object Lib, O;
set S;
Lib = GetGlobalLib('TypLne');
S = lib.GetContents();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "GetLocalLib'' .

Random
double Random ([double x1 [,double x2]])
Returns a pseudo random value. If x1 and x2 are omitted, a value in the range of [0 ...
1] is returned. If only x1 is given, the possible range is [0 ... x1] and with both x1 and x2,
[x1 ... x2].
Arguments:
double x1 (optional) : upper/lower limit
double x2 (optional) : upper limit
Return value:
A pseudo-random number
Example:
The following example sets a load to a random active power prior to calculating a load-
flow.
double P;
Load:plini = Random(1.2, 2.3);
Ldf.Execute();

SetRandSeed
void SetRandSeed (int N)
Initializes the random number generator. One out of 10 predefined initialization seeds can
be selected.
Arguments:
int N (obligatory) : seed 0..10
Example:
See fRand()

H-3
DIgSILENT PowerFactory DPL Reference

fRand
double fRand (int mode | double p1 | double p2)
Returns a stochastic number according to a specific probability distribution.
Arguments:
int mode (obligatory) :
Table H.1:
0: uniform distribution

1: normal distribution

2: weibull distribution

else: returns 0.0

double p1 (obligatory) :
double p1 (obligatory) :
Table H.2:
uniform normal weibull

p1 min mean shape

p2 max stdvar scale

Return value:
void
Example:
The following example prints random numbers for the following distributions:
uni0 : an uniform distribution in [0..1]
uni1 : an uniform distribution in [0..50]
uni2 : an uniform distribution in [-8, 21];
norm : a normal distribution with mean=30 and standard variance=5
weib : a Weibull distribution with lambda=5 and beta=30
int n;
double uni0,uni1,uni2,norm,weib;
SetRandSeed(2);
for (n=0; n<10; n+=1) {
uni0 = fRand(0);
uni1 = fRand(0, 50);
uni2 = fRand(0, -8, 21);
norm = fRand(1, 30, 5);
weib = fRand(2, 5, 30);
printf('%f %f %f %f %f', uni0, uni1, uni2, norm, weib);}

Results Output:
0.232422 20.225048 20.364702 32.294429 15.165993
0.877555 31.371372 11.501229 28.380458 26.404837
0.901226 15.313008 14.782988 23.883499 34.911052
0.598748 17.908476 -6.831869 28.314934 20.706127
0.588662 35.265549 6.403110 25.233148 16.437912
0.474393 44.846884 20.024787 35.297444 22.190684
0.122955 24.725714 -6.099016 28.535867 27.149573

H-4
DIgSILENT PowerFactory DPL Reference

0.554570 17.020344 13.658290 32.858903 30.625329


0.920789 47.127992 0.749566 28.616229 21.187893
0.609307 11.819403 -6.716297 37.955694 29.645523

H.2 Input / Output Functions and Methods


See also: String Functions

H.2.1 Writing into the Output Window


ClearOutput Clears the output window.
printf Outputs a formatted string.
Write Writes a report.
Error Outputs a formatted error.
Warn Outputs a formatted warning.
Info Outputs a formatted information.
SetLineFeed Sets the automatic line feed for "printf()''.

ClearOutput
void ClearOutput ()
Clears the output window.
Arguments:
none
Return value:
void (no return value)
Example:
The following command clears the output window.
ClearOutput();

printf
void printf (String Format, String T | double X | int I, ...)
Outputs a formatted string. The printf() command uses the C++ printf() formatting syn-
tax.
Arguments:
String Format (obligatory): The format string

H-5
DIgSILENT PowerFactory DPL Reference

String T (optional): string argument


double X (optional): double argument
int I (optional): int argument
Return value:
void
Example:
See the format string syntax for examples and more information.
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
The 'printf' will automatically insert a line-break after printing by default. This means that
the next 'printf' will start on the next line. The automatic line-break can be disabled by
using the "SetLineFeed''-function.
See "SetLineFeed'' for more information.
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' .
Also see "Write'' .

Write
int Write (string Format, [object aObj | set aSet], ...)
Writes out a line of formatted text, using the DIgSILENT output language.
Arguments:
string Format (obligatory): The format string
object aObj (optional): An object which is used to get data from
set aSet (optional): A set which is used to get objects from
Return value:
0 on success, 1 on error
The "Write'' command is used to quickly output a line of formatted output, using the same
formatting language as is used for defining reports and result-boxes. See Section 20.2.3
for more information.
Because data or parameters of more than object is often written out, the DIgSILENT
output language has the special macro "ACC(x)'' to distinguish between these objects. Pri-
or to execution, all given objects and all objects in the given sets are listed together in a
single list. The "ACC(x)'' macro returns the object with the index "x'' in that list. The ACC
("acc''="access'') macro can be used more than once for the same object.
Interface variables of the DPL script can also be used in the format string by the "DEF''

H-6
DIgSILENT PowerFactory DPL Reference

macro. If the DPL script has "ResX'' as an interface double, then "DEF:ResX'' will access
that variable.
Example:
In the following example, two lines of output are written out. The first line only contains
normal text. The second line writes the name and loading of two lines. In this example,
"ACC(1)'' refers to the object "LineA', and "ACC(2)'' to "LineB''
Write('The following results are found');
Write('# : #.## # , # : #.## # $N,
ACC(1):loc_name,ACC(1):c:loading,[ACC(1):c:loading,
ACC(2):loc_name,ACC(2):c:loading,[ACC(2):c:loading', LineA, LineB);
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' .

Error
string Error (String Format,String T | double X | int I, ...)
Writes a formatted string as error message to the output window. The DPL execution will
continue, but a pop-up error message box will appear at the end of execution.
Arguments:
String Format (obligatory): The format string
String T (optional): string argument
double X (optional): double argument
int I (optional): int argument
Return value:
The formatted string
Example:
The following example writes an error to the output window.
Error('Index could not be calculated.');
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Warn'' .
Also see "Info'' .
Also see "Write'' .

H-7
DIgSILENT PowerFactory DPL Reference

Warn
string Warn(String Format, String T | double X | int I, ...)
Writes a formatted string as warning to the output window.
Arguments:
String Format (obligatory): The format string
String T (optional): string argument
double X (optional): double argument
int I (optional): int argument
Return value:
The formatted string
Example:
The following example writes a warning message to the output window.
Warn('No loads attached: using approximation.');
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Info'' .
Also see "Write'' .

Info
string Info (String Format, String T | double X | int I, ...)
Writes a formatted string as information message to the output window.
Arguments:
String Format (obligatory) : The format string
String T (optional) : string argument
double X (optional) : double argument
int I (optional) : int argument
Return value:
The formatted string
Example:
The following example writes an info message to the output window.
Info('Trying to calculate first index...');
The output format is defined by the format string. The passed arguments and the passed

H-8
DIgSILENT PowerFactory DPL Reference

format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Write'' .

SetLineFeed
void SetLineFeed (int i)
Sets or resets the automatic line feed for printf().
Arguments:
int i (obligatory) : use '0' to disable the automatic line feed, use '1' to enable it again.
Return value:
void
Example:
The following example disables the automatic line feed prior to printing a matrix of num-
bers. The special character '\n' is used to force a line feed.
int i,j;
SetLineFeed(0); ! disable line-feed
for (i=0; i<3; i+=1) {
printf('%2d', i);
for (j=1; j<5; j+=1) {
printf('\t%2d', i+j);
}
printf('\n'); ! insert a line-feed
}
Also see "printf'' .

H.2.2 Additional Functions related to input/output


EchoOn Re-activates the user interface
EchoOff Freezes (de-activates) the user-interface.
NoFinalUpdate Prevents "EchoOn()'' at end of execution.
GetPageLen Returns the number of lines per page.

H-9
DIgSILENT PowerFactory DPL Reference

EchoOn
void EchoOn ()
Re-activates the user interface.
Arguments:
none
Return value:
void
Example:
The following example de-activates the user-interface to speed up the calculations, after
which the user-interface is re-activated again.
EchoOff(); .. do some calculation ... EchoOn();
Also see "EchoOff()'' .
Also see "NoFinalUpdate()'' .

EchoOff
void EchoOff ()
Freezes (de-activates) the user-interface. For each EchoOff(), an EchoOn() should be
called. An EchoOn() is automatically executed at the end of a DPL execution, except for
when "NoFinalUpdate()'' has been called.
Arguments:
none
Return value:
void
Example:
The following example de-activates the user-interface to speed up the calculations, after
which the user-interface is re-activated again.
EchoOff();
.. do some calculation ...
EchoOn();
Also see "EchoOn()'' .
Also see "NoFinalUpdate()'' .

NoFinalUpdate
void NoFinalUpdate ()
Prevents the automatic "EchoOn()'' at end of execution.
Arguments:
none

H - 10
DIgSILENT PowerFactory DPL Reference

Return value:
void
Example:
EchoOff();
.. do some calculation ...
NoFinalUpdate();
Also see "EchoOff()'' .
Also see "EchoOn()'' .

GetPageLen
int GetPageLen (int orientation)
Returns the number of lines per page according to the currently selected printer and pa-
per size.
Arguments:
int orientation (optional) : Paper orientation: 0: landscape, 1: portrait ; default: landscape
Return value:
The maximum number of lines that can be printed on a single sheet of paper.

H.2.3 Writing to Files

fprintf Outputs a formatted string to a file.


fscanf Assigns fields in file and returns number of fields.
fscanfsep Assigns fields in file and returns number of fields. Considers separation
character and stops after max. number of positions given.
fopen Opens a file from a path.
fclose Closes an open file.

fprintf
void 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() format-
ting syntax.
Arguments:
int iFH (obligatory): Number of file handler (0,1,...,9)
string Format (obligatory): Defines a format of variable types (int/string/double) to which
the fields are assigned
string T (optional): Return of the result string

H - 11
DIgSILENT PowerFactory DPL Reference

double X (optional): Return of the result double


int I (optional): Return of the result integer
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
See the format string syntax for examples and more information.
The following example outputs a defined string to a file.
double x;
int i;
string s;
fopen('d:\tmp\test.txt','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.
See the format string syntax for more information.
Also see "printf'' .
Also see "sprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' .
Also see "Write'' .

fWrite
The command "fWrite'' is obsolete and has been replaced by the "printf'' command. See
"printf'' for more information.

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:
int iFH (obligatory) : Number of file handler (0,1,...,9)
string Format (obligatory) : Defines a format of variable types (int/string/double) to which
the fields are assigned

H - 12
DIgSILENT PowerFactory DPL Reference

string T (optional) : Return of the result string


double X (optional) : Return of the result double
int I (optional) : Return of the result integer
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
The following example assignes the first to fields of the text file 'test.txt' (contents: 'Name
12.333') to the string sRes and the double rVal
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);
Output of the script above:
Name 12.3 iRet = 0

fscanfsep
int fscanfsep(int iFH, string Ft, string T | double X | int I, ..., string sSep, int iLine)
Functionality like fscanf. Returns the number of fields successfully converted and as-
signed; the return value does not include fields that were read but not assigned. This
function additionally considers a special character to separate the values, instead of the
standard separators like blanks and tabs. It also can be instructed to stop after the line
read.
Arguments:
int iFH (obligatory) : Number of file handler (0,1,...,9)
string Ft (obligatory) : Defines a format of variable types (int/string/double) to which the
fields are assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
string sSep : separator character
int iLine (obligatory) : 1 if the interpretation of the line will be stopped after the current
line. 0 for continued interpretation.
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
int iRet;
string sRes;

fopen('c:\test1.txt','r',0);
SetLineFeed(0);

H - 13
DIgSILENT PowerFactory DPL Reference

while (iRet > -1){


iRet = fscanfsep(0,'%s',sRes,';',1);
if (iRet = -1){
break;
}
printf('%s\n',sRes);
}
fclose(0);

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 de-
pending on the Mode
string Mode (obligatory): The attribute for opening the file (r,w,a,r+,w+,a+,b,t)
int iFH (obligatory): Number of file handler (0,1,...,9)
int iRet (optional): If it is set to 0 or no value is given, the function does not return any
value. If different that 0, value is returned
Return value:
0 on success, 1 on error
Example:
The following example opens a file and closes it again.
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);

fclose
void fclose (int iFH)
Closes file with the ID iFH of the file handler (between 0 and 9).
Arguments:
int iFH (obligatory) : Number of file handler (0,1,...,9)
Return value:
void
Example:
The following example opens a file and closes it again.
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);

H - 14
DIgSILENT PowerFactory DPL Reference

H.2.4 SetDesktop Methods

SetDesktop.Show
int SetDesktop.Show ([string name|object O])
Shows the page with the same name as 'O'' or the page with name "name'' in the Graphics
Board. The object "O'' is typically a ViPage object but, as only its name is used, it may
be any other type of object.
Arguments:
string name (obligatory) : Name of graphics page.
object O (optional) : An object.
Return value:
0 on success, 1 on error.
Example:
The following example activates all pages in the graphics board one by one and exports
them as WMF figures.
object GrBrd,Pg;
set Pgs;
int n;
string FileName;
GrBrd = GetGraphBoard();
if (GrBrd) {
Pgs = GrBrd.GetContents();
Pg = Pgs.First();
while (Pg) {
GrBrd.Show(Pg);
FileName = sprintf('c:\\mydoc\\%s%d', n, Pg:loc_name);
GrBrd.WriteWMF(FileName);
Pg = Pgs.Next();
}
}
Also see Set Functions and Methods

SetDesktop.WriteWMF
void SetDesktop.WriteWMF (string filename)
Exports the currently open graphic in the graphics board to a WMF figure.
Arguments:
string name (obligatory) : Filename without extension.
Return value:
none
Example:
See SetDeskTop.Show()

H - 15
DIgSILENT PowerFactory DPL Reference

Also see Set Functions and Methods

SetDesktop.GetPage
object SetDesktop.GetPage (string name, int create)
Searches, activates and returns a graphics page in the currently open Graphics Board. If
"create'' is true, then a new ViPage will be created added to the graphics board when no
page with the name was found.
Arguments:
string name (obligatory) : Name of the page.
int create=1 (optional) : create > 0 --> create panel if not exists.
Return value:
Virtual Instrument Panel (SetVipage)
Example:
The following example looks for the Virtual Instrument Panels named Voltage, Current
and Power in the Graphics Board currently opened. The pages are created if they do not
exist.
object aGrf;
object aPageV;
object aPageC;
object aPageP;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Search or create Virtual Instrument Panels
aPageV=aGrf.GetPage('Voltage',1);
aPageC=aGrf.GetPage('Current',1);
aPageP=aGrf.GetPage('Power',1);
}
Also see Set Functions and Methods

SetDesktop.SetResults
void SetDesktop.SetResults (object res)
Sets default Results (ElmRes) of Graphics Board.
Arguments:
object res (obligatory) : Results to set (ElmRes) or NULL to reset.
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its default results to
the results object named 'Results'.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set default results object

H - 16
DIgSILENT PowerFactory DPL Reference

aGrf.SetResults(Results);
}
Also see Set Functions and Methods

SetDesktop.SetXVar
void SetDesktop.SetXVar (object obj, string varname)
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
object obj (optional) : x-axis object
string varname (optional) : variable of obj
Return value:
none
Example:
The following examples look for an opened Graphics Board and set its x-axis variable. The
first example sets an user defined x-axis variable. The second one sets the default x-axis
(time).
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set user defined x-axis variable
aGrf.SetXVar(line,'m:U1:bus1');
}
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set default x-axis variable (time)
aGrf.SetXVar();
}
Also see Set Functions and Methods

SetDesktop.SetScaleX
void SetDesktop.SetScaleX (double min, double max, int log)
Sets scale of x-axis. Invalid arguments like neg. limits for log. scale are not set. No argu-
ments --> automatic scaling.
Arguments:
double min (optional) : Minimum of x-scale.
double max (optional) : Maximum of x-scale.
int log (optional) : > 0 --> x-scale is logarithmic.
Return value:
none
Example:
The following examples look for an opened Graphics Board and set its x-axis scale. There

H - 17
DIgSILENT PowerFactory DPL Reference

are three different examples. 1. Example: Scale x-axis automatically 2. Example: Set min-
imum to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000.
Changes to a log. scale
! Scale x-axis automatically
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Scale automatically
aGrf.SetScaleX();
}
! Set minimum and maximum without changing map mode
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set minimum and maximum
aGrf.SetScaleX(2,10);
}
! Set minimum and maximum, change to log.
scaleobject aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set minimum and maximum
aGrf.SetScaleX(1,1000,1);
}
Also see Set Functions and Methods

SetDesktop.DoAutoScaleX
int SetDesktop.DoAutoScaleX ()
Scales the x-axes of all plots in the graphics board which use the x-axis scale defined in
the graphics board. The same can be achieved by pressing the Scale button on the x-
Axis page of the graphics board.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling
of the x-axes.
! perform autoscale of x-scales of all plots
! using the x-scale definition of the graphics board.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
aGrf.DoAutoScaleX();
}
Also see
VisFft Methods

H - 18
DIgSILENT PowerFactory DPL Reference

VisPlot Methods
SetViPage Methods

SetDesktop.SetAutoScaleX
void SetDesktop.SetAutoScaleX (int mode)
Sets the automatic scaling mode of the x-scale.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its auto scale mode
to off.
! Set autoscale mode to offobject aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Turn off automatic scaling of x-scale
aGrf.SetAutoScaleX(0);
}
Also see Set Functions and Methods

SetDesktop.SetAdaptX
void SetDesktop.SetAdaptX (int mode, double trigger)
Sets the adapt scale option of the x-scale.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Trigger value, unused if mode is off or empty.
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its adapt scale option.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Turn on adapt scale, use a trigger value of 3
aGrf.SetAdaptX(1,3);
! Turn off adapt scale
aGrf.SetAdaptX(0,3);
! Turn on adapt scale again, do not change the trigger value
aGrf.SetAdaptX(1);
}
Also see Set Functions and Methods

H - 19
DIgSILENT PowerFactory DPL Reference

H.3 String Functions


The syntax for formating strings is described in: Format String Syntax
Methods related to string formating and operations:
sprintf Returns a formatted string.
strstr Searches for a substring in a string.
strcpy Copies a substring from a string.
strcmp Compares two strings.
strchg Substitutes a sub-string in a string.
strlen Returns the length of a string.
strtok Finds a token in a string.
strftime Creates a formatted time string.
sscanf Assigns fields in string and returns number of fields.

Format String Syntax


The string printing commands "printf'' , "sprintf'' , "fprintf'' as well as "Write'' , "Error'' ,
"Warn'' and "Info'' all use the same format string syntax.
The format string must contain a valid place holder for every given argument. The place-
holder format is
[flags] [width] [.precision] type
Where "type'' is one of the following specifiers:
'd' or 'i' For an integer value.
'e' For a double value. The printed format is "[ – ]d.dddd e [sign]ddd''
where d is a single decimal digit, "'dddd'' is one or more decimal digits,
"ddd'' is exactly three decimal digits, and "[sign]'' is "+'' or "–''.
'E' Identical to the e format except that "E'' in stead of "e'' is used.
'f' For a double value. Printed format is "[ – ]dddd.dddd'', where "dddd'' is
one or more decimal digits. The number of digits before the decimal
point depends on the magnitude of the number, and the number of
digits after the decimal point depends on the requested precision.
'g' For a double value. Printed format is the "f'' or "e'' format, whichever is
more compact for the given value and precision. The e format is used
only when the exponent of the value is less than –4 or greater than or
equal to the precision argument. Trailing zeros are truncated, and the
decimal point appears only if one or more digits follow it.
'G' Identical to the "g'' format, except that "E'' in stead of "e'', is used
(where appropriate).
's' For a string.

H - 20
DIgSILENT PowerFactory DPL Reference

The optional "flag'' can be one of the following specifiers:


'-' Left align the result within the given field width.
'+' Prefix the output value with a sign (+ or –)
The optional "width'' specifies the number of characters to be printed and the optional
".precision'' specifies the number of decimals printed.
Example:
The following examples shows various placeholder definitions.
double x;
int i;
string s;
x = 123456789.987654321;
i = 2468;
s = 'hello dpl';
printf('%f|%15.3f|%E|%.2e|%+f|', x,x,x,x,x);
printf('%d|%6d|%-6d|', i,i,i);
printf('%s|%-20s|%20s|',s,s,s);
! string concat is possible:
s = 'this';
s = sprintf('%s %s', s, 'DPL script');
! print and assign in one action:
s = printf('%s %s "%s"', s, 'is called', this:loc_name);
printf('%s (again)',s); ! print again:
In addition to placeholders, the printed string may also contain "escape''-sequences for
line feeds, tabs, form feeds and color. The following escape-sequences can be used:
• "\n'' inserts a line feed
• "\t'' inserts a horizontal tab
• "\f'' inserts a form feed, for printing purposes
• "\\'' writes a backslash, even when the next character is a n,t,f or c
• "%%'' writes a percent sign
• "\cx'' inserts a color change, where "x'' is a color, according to the following table, i.e.
#"\ce'' switches to blue

Table H.3:
a black i gray
b black j light gray
c red k bordeaux
d green l dark red
e blue m dark green
f brown n light green
g cyan o marine
h magenta p dark blue

Example:
printf('The \cfbrown\ca fox jumped\nover\tthe\nlazy\tcat');
printf('result written to c:\\documents\\pf\\res.txt');
printf('%% = %%%6.2f%% %%', 123.34);

H - 21
DIgSILENT PowerFactory DPL Reference

sprintf
string sprintf (String Format, String T | double X | int I, ...)
Returns a formatted string. The sprintf() command uses the C++ printf() formatting syn-
tax.
Arguments:
String Format (obligatory): The format string
String T (optional): string argument
double X (optional): double argument
int I (optional): int argument
Return value:
The formatted string
Example:
See the format string syntax for examples and more information.
The following example redirects the output to a file. The filename is formatted from a path
and the name of the current calculation case. "Redirect'' is an ComOp and "StopRedirect''
is an ComCl object in the DPL command
Redirect:f = sprintf('%s%s.out',
'c:\\MyDocuments\\results0813\\', O:loc_name);
Redirect.Execute();
Form.WriteOut(Lines); ! write a report
StopRedirect.Execute(); ! stop redirection
Since version 13.1 there is an easier way of writing an string to a file by using "fprintf'' .
The output format is defined by the format string. The passed arguments and the passed
format string must match. An error message will be produced when, for instance, a format
string for two strings is used together with three doubles.
See the format string syntax for more information.
Also see "printf'' .
Also see "fprintf'' .
Also see "Error'' .
Also see "Warn'' .
Also see "Info'' . Also see "Write'' .

ToStr
The command "ToStr'' is obsolete and has been replaced by the "sprintf'' command. See
"sprintf'' for more information.

H - 22
DIgSILENT PowerFactory DPL Reference

strstr
int strstr (string S1, string S2)
Searches for a substring in a string and returns the position of the first letter of substring
S2 in string S1.
Arguments:
string S1 (obligatory) : The string
string S2 (obligatory) : The substring
Return value:
The first position in S1 where S2 was found, or -1 when S2 was not found.
Example:
The following example searches for string 'brown' in string S1
string S1, S2;
int i;
S1 = 'The brown fox';
i = strstr(S1, 'brown');
! i now equals 4

strcpy
String strcpy (string S, int start, int count)
Copies a substring from a string.
Arguments:
string S (obligatory) : The string
int start (obligatory) : The start position in S
int count (optional) : Number of characters to copy
Return value:
The copied substring
Example:
string S1, S2;
S1 = 'The brown fox';
S2 = strcpy(S1, 4, 5); ! S2 now equals 'brown'

strcmp
int strcmp (string S1, string S2, int count)
Compares two strings.
Arguments:
string S1 (obligatory) : The first string
string S1 (obligatory) : The second string
int count (optional) : Number of characters to compare

H - 23
DIgSILENT PowerFactory DPL Reference

Return value:
< 0 when S1 < S2, for up to count characters
= 0 S1 = S2, for up to count characters
> 0 when S1 > S2, for up to count characters

Please notice that the comparison is case sensitive, therefore:


i = strcmp('a','A'); ! gives as result: i = 1
i = strcmp('A','a'); ! gives as result: i = -1
i = strcmp('a','a'); ! gives as result: i = 0

strchg
int strchg(string sStr, string sFind, string sNew)
Searches in the string sStr for the sub-string sFind and substitutes it by the sub-string
sNew.
Arguments:
string sStr (obligatory): string to be scanned and modified.
string sFind (obligatory): sub-string to be found.
string sNew (obligatory): sub-string to be inserted instead of sFind.
Return value:
The first position in sStr where sFind was found (index of the first letter, index begins with 0);
-1 if substring was not found.
Example:

int iRet;
string sStr, sFind, sNew;

sStr = 'This is just a test';


sFind = 'just a';
sNew = 'a very important';
iRet = strchg(sStr,sFind,sNew);
if (iRet = -1){
printf('String could not be found!');
}
else{
printf('%s',sStr);
}

strlen
int strlen (string S)
Returns the length of a string.
Arguments:

H - 24
DIgSILENT PowerFactory DPL Reference

string S (obligatory) : The string

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:
string Source (obligatory) : String containing token(s)
string Delimiter (obligatory) : Set of delimiter characters
int Pos (obligatory) : Returns the position of token in Source (beginning with 0)
int Num (optional) : Number of the token to be read (default = 1)
Return value:
Token read. If nothing is read, the token is empty and Pos = -1
Example:
The following example searches for different tokens in sStr
string sRes, sStr, sDel;
int iPos;
sStr = 'Das, ist nur, ein Test mit Nr. (555); weiter nichts';
sDel = ',;()';
sRes = strtok(sStr,sDel,iPos);
printf('Token: %s iPos = %d',sRes,iPos);
sRes = strtok(sStr,sDel,iPos,2);
printf('Token: %s iPos = %d',sRes,iPos);
sRes = strtok(sStr,sDel,iPos,4);
printf('Token: %s iPos = %d',sRes,iPos);
Output of the script above:
Token: Das iPos = 0
Token: ist nur iPos = 4
Token: 555 iPos = 32

strftime
string strftime (String Format)
Creates a formatted time string.
Arguments:
String Format (obligatory) : The format string
The following formatting codes are recognized in the format string.

Table H.4:
%a Abbreviated weekday name

%A Full weekday name

H - 25
DIgSILENT PowerFactory DPL Reference

Table H.4:
%b Abbreviated month name

%B Full month name

%c Date and time representation


appropriate for locale

%d Day of month as decimal number


(01..31)

%H Hour in 24-hour format (00..23)

%I Hour in 12-hour format (01..12)

%j Day of year as decimal number


(001..366)

%m Month as decimal number (01..12)

%M Minute as decimal number (00..59)

%p Current locale’s A.M./P.M. indicator


for 12-hour clock

%S Second as decimal number (00..59)

%U Week of year as decimal number,


Sunday as first day of week (00..53)

%w Weekday as decimal number (0..6;


Sunday is 0)

%W Week of year as decimal number,


Monday as first day of week (00..53)

%x Date representation for current locale

%X Time representation for current locale

%y Year without century, as decimal


number (00..99)

%Y Year with century, as decimal number

%z, %Z Time-zone name or abbreviation; no


characters if zone is unknown

%% Percent sign

Return value:
The formatted time string
Example:
The following example shows the date.
str = strftime('Today is %A, day %d of %B in the year %Y.');
printf('%s', str);
Output:
Today is Wednesday, day 30 of April in the year 2003.

H - 26
DIgSILENT PowerFactory DPL Reference

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 Source (obligatory) : The string
string Format (obligatory) : Defines a format of variable types (int/string/double) to which
the fields are assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an
error or if the end of the string is reached before the first conversion.
Example:
The following example assignes the first two fields of string sStr to the string sRes and
the double rVal
iPos = 0;
sStr = 'Test 23';
iRet = sscanf(sStr,'%s %d',sRes,iPos);
printf('%s %d iRet = %d',sRes,iPos,iRet);
Output of the script above:
Test 23 iRet = 0

H.4 Project Functions and Methods

ActiveProject Returns the active project.


GetLocalLib Returns a local library folder.
Activate Activates the project
Deactivate De-activates the project

ActiveProject
Object ActiveProject ()
Returns the currently active project.
Arguments:
none

H - 27
DIgSILENT PowerFactory DPL Reference

Return value:
A "IntPrj'' object
Example:
The following example prints the name of the active project to the output window.
object Prj;
Prj = ActiveProject();
Prj.ShowFullName();

GetLocalLib
object GetLocalLib ([string ClassName])
Returns the local library for object-types of class "ClassName''. ClassName may be omit-
ted, in which case the complete local library folder is returned.
Arguments:
string ClassName (optional) : The classname of the objects for which the library folder is
sought
Return value:
The library folder
Example:
The following example shows the contents of the local library for line types.
object Lib, O;
set S;
Lib = GetLocalLib('TypLne');
S = Lib.GetContents();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "GetGlobalLib'' .

IntPrj.Activate
int IntPrj.Activate ()
Activates the project. Deactivates other projects first.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

H - 28
DIgSILENT PowerFactory DPL Reference

IntPrj.Deactivate
int IntPrj.Deactivate ()
De-activates the project.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

H.5 Study Case Functions and Methods

H.5.1 General Functions and Methods related to Study Cases


ActiveCase Returns the active calculation case.
Activate Activates the study case
Deactivate De-activates the study case
SummaryGrid Returns the summary grid.
GetGraphBoard Returns the currently active Graphics Board.
See also:
AllRelevant Returns all calculation relevant objects.

ActiveCase
Object ActiveCase ()
Returns the currently active Study Case.
Arguments:
none
Return value
A "IntCase'' object
Example:

H - 29
DIgSILENT PowerFactory DPL Reference

The following example writes the name of the active study case to the output window.
object aCase;
aCase = ActiveCase();
aCase.ShowFullName();

IntCase.Activate
int IntCase.Activate ()
Activates the study case. Deactivates other study cases first.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

IntCase.Deactivate
int IntCase.Deactivate ()
De-activates the study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

SummaryGrid
Object SummaryGrid ()
Returns the summary grid in the currently active Study Case. The summary grid is the
combination of all active grids in the study case.
Arguments:
none
Return value:
A ElmNet object, or a 'NULL' object when no grids are active

H - 30
DIgSILENT PowerFactory DPL Reference

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');
}

GetGraphBoard
SetDeskTop GetGraphBoard ()
Returns the currently active Graphics Board.
Arguments:
none
Return value:
The graphics board object
Example:
The following example looks for an opened Graphics Board and sets its default results to
the results object named 'Results'.
object aGrf;! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) { ! Set default results object
aGrf.SetResults(Results);
}
Also see
SetDeskTop.GetPage
SetDeskTop.SetResults
SetDeskTop.SetXVar
SetDeskTop.SetScaleX
SetDeskTop.SetAutoScaleX
SetDeskTop.SetAdaptX

H.5.2 SetTime Methods


SetTime Sets the time
Date Sets the date at actual
Time Sets the time at actual

SetTime.SetTime
void SetTime.SetTime (double H,double M,double S)

H - 31
DIgSILENT PowerFactory DPL Reference

Sets the time in the current year. There is no restriction to the values for H, M and S,
except for the fact that negative values are interpreted as zero. Values higher than 24 or
60 will be processed normally by adding the hours, minutes and seconds into an absolute
time, from which a new hour-of-year, hour-of-day, minutes and seconds are calculated.
Arguments:
double H (obligatory) : The hours
double M (optional) : The minutes
double S (optional) : The seconds
Return value:
none
Example:
The following sets the time to 1134.45 hours, 91.2 minutes and 675.3 seconds, which re-
sults in the time 08:09:27 on the 48'th day of the year.
object Time, Com;
Time = GetCaseObject('SetTime');
Time.SetTime(1134.45, 91.2, 675.3);
See also
Set Functions and Methods
General Object Functions and Methods

SetTime.Date
void SetTime.Date ()
Sets the current date.
Arguments:
none
Return value:
none
Example:
The following example executes a load-flow for 14:30 at the current day (the computer's
system date).
object Time, Com;
Time = GetCaseObject('SetTime');
Com = GetCaseCommand('ComLdf');
Time.Date();
Time:hour = 14;
Time:min = 30;
Com.Execute();
See also
Set Functions and Methods
General Object Functions and Methods

H - 32
DIgSILENT PowerFactory DPL Reference

SetTime.Time
void SetTime.Time ()
Sets the current time.
Arguments:
none
Return value:
none
Example:
The following example executes a load-flow for the current time and date (the computer's
system time).
object Time, Com;
Time = GetCaseObject('SetTime');
Com = GetCaseCommand('ComLdf');
Time.Date();
Time.Time();
Com.Execute();
See also
Set Functions and Methods
General Object Functions and Methods

H.6 General Object Functions and Methods

H.6.1 Functions related to Objects


Delete Deletes an object.
GetCaseObject Returns the found class object from current case.
See also:
General Object Methods

Delete
void Delete (object O | set S)
Deletes an object or a set of objects from the database. The objects are not destroyed
but are moved to the recycle bin.
Arguments:
object O (optional): The object to delete
set S (optional): The set of objects to delete

H - 33
DIgSILENT PowerFactory DPL Reference

Return value:
void
Example:
The following example removes all "Dummy" fuses from the network. The 'DummyType'
variable is a local variable in the DPL script. A set of objects-to-delete is created first and
then that set is deleted. This has the advantage that one single entry in the recycle bin is
created which contains all deleted fuses. Manually restoring ('undelete') the deleted fuses,
in case of a mistake, can then be done by a single restore command.

object O;
set S, Del;
S = AllRelevant();
O = S.Firstmatch('RelFuse');
while (O) {
if (O:typ_id=DummyType) {
Del.Add(O);
}
O = S.Nextmatch();
}
Delete(Del);

GetCaseObject
object GetCaseObject (string ClassName)
Returns the first found object of class "ClassName'' from the currently active calculation
case. The object is created when no object of the given name and/or class was found.
Returns the default command object of class "ClassName'' from the currently active cal-
culation case. Initializes newly created commands according to the project settings.
The icons on the main menu for load-flow, short-circuit, transient simulation, etc. also
open the corresponding default command from the currently active study case. Using
"GetCaseCommand()" in a DPL script will return the same command.
Arguments:
string ClassName (optional) : Class name of the object ("Class''), optionally preceded by
an object name without wildcards and a dot ("Name.Class'').
Return value:
The found or created object.
Example:
The following example uses the default SetTime object to change the calculation time,
and then executes the load-flow command with the name 'Unbalanced'.
object time, com;
time = GetCaseObject('SetTime');
time:hourofyear = 1234;
com = GetCaseObject('Unbalanced.ComLdf');
com.Execute();

H - 34
DIgSILENT PowerFactory DPL Reference

H.6.2 General Object Methods


The object methods are specific for each type of object class. A result file object
(ElmRes), for instance, has a "Write'' method, which would not make sense for a load-
flow command object.
The general syntax for an object method equals that of the set method:
object . [OBJMETHOD] ( arguments) ;
The following overview lists all the non-specific [OBJMETHOD] methods which are avail-
able for all classes.
CreateObject Creates a new object.
ShowFullName Prints the full database path and name.
GetFullName Returns the full database path and name.
GetContents Returns the stored objects.
GetClass Returns the class name of an object.
IsClass Checks for a certain class.
GetParent Returns the parent folder.
GetNode Returns the node(s) connected to an object.
IsNode Checks if the object is a busbar or terminal.
GetCubicle Returns the object's cubicle.
HasResults Returns if the object has result parameters.
GetConnectedElms Returns the set of connected elements.
GetConnectionCount Returns the number of electrical connections.
Edit Opens the object dialogue.
Move Moves an objects to this folder.
AddCopy Adds a copy of an object.
IsRelevant Returns if the object is used for calculations.
IsOutOfService Returns if the object is out of service.
IsInFeeder Returns if the object belongs to the feeder.
VarExists Checks a variable name.
GetNet Returns the grid in which the object is located.
GetSize Get the size of a vector or matrix variable.
GetVal Returns the value of a parameter.
lnm Returns the long name of a variable.
snm Returns the short name of a variable.
unm Returns the unit of a variable.
Unom Returns the nominal voltage.
Inom Returns the nominal current.
MarkInGraphics Marks the object in the graphic.
StochEvt Returns the first or the next state of a stochastic object.

H - 35
DIgSILENT PowerFactory DPL Reference

See also:
Delete Deletes an object.
GetCaseObject Returns the found class object from current case.

Object.CreateObject
object Object.CreateObject (string ClassNm [, string | int NM1, ...])
Creates a new object of class 'ClassNm' in the target object. The target object must be
able to receive an object of the given class. A fatal DPL error will occur when this is not
the case, causing the running DPL command to exit. "Fold.CreateObject(aClass, nm1,
nm2, ...)'' will create a new object of class aClass and names it to the result of the con-
catenation of 'nm1', 'nm2', etc.
Arguments:
string ClassNm (obligatory) : The class name of the object to create
string | int NM1 (optional) : The first part of the object name
string | int NM2 (optional) : The next part of the object name
...
Return value:
The created object, or NULL when no object was created
Example:
The following example creates a fuse in a set of cubicles. The new fuses will be named
"Fuse Nr.0'', "Fuse Nr.1'', etc.
object target;
set Cubs;
int n;
Cubs = SEL.GetAll('StaCubic');
target = Cubs.First();
n = 0;
while (target) {
target.CreateObject('RelFuse', 'Fuse Nr', n);
target = Cubs.Next();
n+=1;
}

Object.ShowFullName
void Object.ShowFullName ()
Writes the complete path and name to the output window.
Arguments:
none
Return value:
void
Because the complete database path is written to the output window, the written names

H - 36
DIgSILENT PowerFactory DPL Reference

can be right-clicked in the output window to edit the objects. This procedure is therefore
useful for selecting objects which should be inspected or edited after the DPL script has
finished.
Example:
The following example will write all overloaded lines from the selection to the output win-
dow.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
if (O:c:loading>100.0) {
O.ShowFullName();
}
O = S.Next();
}

Object.GetFullName
string Object.GetFullName ()
Returns the complete path and name as a string.
Arguments:
none
Return value:
The full name of the object
Example:
The following example will write all overloaded lines from the selection to the output win-
dow.
set S;
object O;
string objname;
S = SEL.AllLines();
O = S.First();
objname = O.GetFullName();
printf('Name of object: %s',objname);

Object.GetContents
set Object.GetContents (string WildCard, int Contents)
Returns the set of objects that are stored in the object and which name matches the wild-
card. Returns an empty set, if the object's container is empty or if the object is not capable
of storing objects. The wildcard may contain (parts of the) name and classname.
Arguments:
string WildCard (optional) : class name, possibly containing '*' and '?' characters
int Contents (optional) : if Contents = 1, the DPL command will additionally search all sub-
folders. If Contents = 0 (Default), the DPL command will only search object o.

H - 37
DIgSILENT PowerFactory DPL Reference

Return value:
The set of objects
Example:
The following example collects all lines that are stored in line objects.
set Grids, Lines;
object pLne, pGrd;
Grids = AllRelevant('*.ElmNet');
! get all grids
pGrd = Grids.First();
while (pGrd) {
printf('Lines in Grid %s',pGrd:loc_name);
! get all objects of class ElmLne* (ElmLne, ElmLneroute)
! in all pGrd and it's subfolders of pGrd
Lines = pGrd.GetContents('*.ElmLne*',1);
pLne = Lines.First();
while (pLne) {
pLne.ShowFullName();
pLne = Lines.Next();
}
pGrd = Grids.Next();
}

Object.GetClass
string Object.GetClass ()
Returns the class name of the object.
Arguments:
none
Return value:
The class name of the object
Example:
The following example checks to see if two sets start with the same class.
object O1, O2;
O1 = S1.First();
O2 = S2.First();
i = O1.IsClass(O2.GetClass());
if (i) {
output('Both sets start with the same class');
}

Object.IsClass
int Object.IsClass (string ClassName)
Checks to see if the object is of a certain class.
Arguments:
string ClassName (obligatory) : The name of the class.

H - 38
DIgSILENT PowerFactory DPL Reference

Return value:
1 when the object is of the given class, 0 otherwise
Example:
The following example write all overloaded lines and transformers to the output window,
where a different maximum loading is used for lines or transformers.
set S;
object O;
int i;
S = AllRelevant();
O = S.First();
while (O) {
i = O.IsClass('ElmLne');
if (i) {
if (O:c:loading>0.85) O.ShowFullName();
} else {
i = O.IsClass('ElmTr2');
if (i) {
if (O:c:loading>0.95) O.ShowFullName();
}
}
O = S.Next();
}

Object.GetParent
object Object.GetParent ()
Returns the parent folder.
Arguments:
none
Return value:
The parent folder object.
Example:
The following example returns the folder in which a line is stored. The function "GetBest-
Line()'' is an example DPL script which returns a line.
object Lne, Fold;
Lne = GetBestLine();
Fold = Lne.GetParent();
...
Also see "GetContents'' .

Object.GetNode
string Object.GetNode (int iBusNo, int iSw)
Returns the node(s) connected to the object.
Arguments:
int iBusNo (obligatory) : Bus number (0,1)

H - 39
DIgSILENT PowerFactory DPL Reference

int iSw (obligatory) : Considering configuration of switches (0,1), Default=0


Return value:
Connected node object

Object.IsNode
int Object.IsNode ()
Returns 1 if object is a node (terminal or busbar).
Arguments:
none
Return value:
1 if object is s node, 0 otherwise

Object.GetCubicle
object Object.GetCubicle (int N)
Returns the cubicle of an object at the connection with index n, or NULL if there is no
cubicle inside the object.
Arguments:
int N (obligatory) : The connection number.
Return value:
The cubicle object or NULL.

Object.HasResults
void Object.HasResults ()
Returns 'true' when the object has calculated result parameters.
Arguments:
none
Return value:
'true' (1) or 'false' (0)

Object.GetConnectedElms
set Object.GetConnectedElms ([int rBrk[,int rDis[,int rOut]]])
Returns the set of connected elements. Only electrically connected elements are returned
when the conditions of all switches are regarded. Possible connections will also be re-
turned when rBrk and/or rDis is zero, in case of open breakers and/or disconnectors. The

H - 40
DIgSILENT PowerFactory DPL Reference

default values are (0,0,0).


Arguments:
int rBrk (optional) : if true, regards position of breakers
int rDis (optional) : if true, regards position of disconnectors
int rOut (optional) : if true, regards in-service or out-of-service status
Return value:
The set of connected elements

Object.GetConnectionCount
int Object.GetConnectionCount ()
Returns the number of electrical connections.
Arguments:
none
Return value:
The number of connections.
Example:
set aSet;
int iCount,iCub;
object pObj,pCub,pBus;
! list all nodes where a 3-winding transformer is connected
aSet = AllRelevant('*.ElmTr3');
for (pObj=aSet.First(); pObj; pObj=aSet.Next()) {
iCount = pObj.GetConnectionCount();
for (iCub=0; iCub<iCount; iCub=iCub+1) {
pCub=pObj.GetCubicle(iCub);
if (pCub) {
pBus = pCub:cBusBar;
if (pBus) {
pBus.ShowFullName();
}
}
}
}

Object.Edit
void Object.Edit ()
Opens the edit dialogue of the object. Command objects (like the ComLdf) will have their
Execute button disabled. The execution of the running DPL script will be halted until the
edit dialogue is closed again.
Editing of DPL command objects ComDPL is not allowed.
Arguments:
none

H - 41
DIgSILENT PowerFactory DPL Reference

Return value:
void
Example:
The following example opens a line dialogue, prior to calculating a load-flow.
MyLine.Edit(); Ldf.Execute();

Object.Move
void Object.Move (object O | set S)
Moves an object or a set of objects to this folder.
Arguments:
object O (optional) : Object to move
set S (optional) : Set of objects to move
Return value:
0 on success, 1 on error.
Example:
object targetobj,pObj;
set AllObjs;
! move pObj to targetobj
targetobj.Move(pObj);
! move all objects inside AllObjs to targetobj
targetobj.Move(AllObjs);

Object.AddCopy
object Object.AddCopy (set aSet | object aObj [, string | int NM1, ...])
Copies a single object or a set of objects to the target object. "Fold.AddCopy(aObj)'' cop-
ies object 'aObj' into the target object 'Fold', "Fold.AddCopy(aSet)'' copies all objects in
'aSet' to "Fold''.
"Fold.AddCopy(aObj, nm1, nm2, ...)'' will copy aObj and rename it to the result of the
concatenation of 'nm1', 'nm2', etc.
The target object must be able to receive a copy of the objects. The function "Fold.Ad-
dCopy(aObj,...)'' returns the copy of "aObj'', "Fold.AddCopy(aSet)'' returns "Fold'', when
the copy operation was successful. A "NULL'' object is returned otherwise.
Copying a set of objects will respect all internal references between those objects. Copy-
ing a set of lines and their types, for example, will result in a set of copied lines and line
types, where the copied lines will use the copied line types.
Arguments:
set aSet (obligatory) : The set of objects to copy
or
object aObj (obligatory) : The object to copy
string | int NM1 (optional) : The first part of the new name

H - 42
DIgSILENT PowerFactory DPL Reference

string | int NM2 (optional) : The next part of the new name
...
Return value:
Returns the copy that has been created.
Example:
The following example copies a fuse to a set of cubicles. The copies will be named "Fuse
Nr.0'', "Fuse Nr.1'', etc.
object target, copy;
set Cubs;
Cubs = SEL.GetAll('StaCubic');
target = Cubs.First();
while (target) {
copy = target.AddCopy(aFuse, 'Fuse Nr', n);
if (copy) copy.ShowFullName();
target = Cubs.Next();
}

Object.IsRelevant
int Object.IsRelevant ()
Returns 1 if the object is currently used for calculations. Returns 0 otherwise.
Arguments:
none
Return value:
0 when not used
Example:
The following example checks if a line is used in the calculation.
i = MyLine.IsRelevant();
if (i) {
MyLine.ShowFullName();
}

Object.IsOutOfService
int Object.IsOutOfService ()
Returns 1 if the object is currently out of service. Returns 0 otherwise.
Arguments:
none
Return value:
0 when not out of service
Example:
The following example checks if a line is out of service.
i = MyLine.IsOutOfService();

H - 43
DIgSILENT PowerFactory DPL Reference

if (i) {
MyLine.ShowFullName();
}

Object.IsInFeeder
void Object.IsInFeeder (object Feeder [, double OptNested=0])
Returns if the object belongs to the feeder area defined by "Feeder''.
Arguments:
object Feeder (obligatory) : The Feeder definition object
double OptNested (optional) : "Nested feeders'' option (1 or 0)
Return value:
1 if "Feeder'' is a feeder definition and the object is in the feeder area, 0 otherwise.

Object.VarExists
int Object.VarExists (string VarName)
Checks to see if this object has a currently valid variable called "VarName''.
Arguments:
string VarName (obligatory) : The name of the variable.
Return value:
1 when "VarName'' is the name of a currently valid variable for this object.
Example:
The following example calculates the total length of cables and lines.
double x;
int i;
set s;
object O;
s = AllRelevant();
O = s.First();
while (O) {
i = O.VarExists('dline');
if (i) {
x += O:dline;
}
O = s.Next();
}
printf('Total length = %d', x);

Object.GetNet
object Object.GetNet(void)
Returns the grid in which the object is located.

H - 44
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
The result object or NULL, if the current object is not stored in any grid.

Object.GetSize
int Object.GetSize (string VarName,int rows,int cols)
Returns the size of the variable "VarName'' when this variable is a vector or a matrix.
Arguments:
string VarName (obligatory) : The name of the variable
int rows (obligatory) : The number of rows for a vector or matrix
int cols (optional) : The number of columns for a matrix
Return value:
0 when "VarName'' is a valid variable name, else 1.
Example:
The following example prints the matrix resistances from a Tower model with 2 circuits.
int ierr;
double x;
int r, rows, c, cols;
string s;
ierr = Tower.GetSize('R_c',rows, cols);
if (.not.ierr) {
r=0;
while (r<rows) {
s = '';
c = 0;
while (c<cols) {
ierr = Tower.GetVal(x, 'R_c', r,c);
if (.not.ierr) s = sprintf('%s %f', s, x);
c+=1;
}
printf(s);
r+=1;
}
}
Example Output :
0.067073 0.016869 0.016594 0.016851 0.016576 0.016372 0.016869 0.066832
0.016701 0.016576 0.016445 0.016408 0.016594 0.016701 0.066738 0.016372
0.016408 0.016516 0.016851 0.016576 0.016372 0.067073 0.016869 0.016594
0.016576 0.016445 0.016408 0.016869 0.066832 0.016701 0.016372 0.016408
0.016516 0.016594 0.016701 0.066738
Also see "GetVal'' .

H - 45
DIgSILENT PowerFactory DPL Reference

Object.GetVal
int Object.GetVal (object/double X,string VarName,int rows,int cols)
Returns the value of the variable "VarName'' when this variable is a vector or a matrix,
for the given row and column.
Arguments:
double/object X (obligatory) : The variable in which to return the result
string VarName (obligatory) : The name of the variable
int rows (obligatory) : The row number for a vector or matrix
int cols (optional) : The column number for a matrix
Return value:
0 when "VarName'' is a valid variable name and row number and column number are in
range, else 1.
Example:
See "GetSize''

Object.lnm
string Object.lnm (string VarName)
Returns the long description of the variable.
Arguments:
string VarName (obligatory) : The variable name
Return value:
The long variable description.
Example:
The following example prints information about the length of a line.
string s1,s2,s3;
s1 = Line.lnm('dline');
s2 = Line.snm('dline');
s3 = Line.unm('dline');
printf('%s (%s) = %5.3f [%s]',s1, s2, Line:dline, s3);
Example output:
Length of Line (Length) = 0.547 [km]
Also see "snm''
Also see "unm''

Object.snm
string Object.snm (string VarName)
Returns the short variable name. By default, the short name equals the long variable
name. In some cases, the variable also has a short name which is used to save space in

H - 46
DIgSILENT PowerFactory DPL Reference

reports or dialogues.
Arguments:
string VarName (obligatory) : The variable name
Return value:
The short name.
Example:
See "lnm''
Also see "unm''

Object.unm
string Object.unm (string VarName)
Returns the unit of the variable.
Arguments:
string VarName (obligatory) : The variable name
Return value:
The unit name.
Example:
See "lnm''
Also see "snm''

Object.Unom
double Object.Unom ()
Returns the nominal voltage of the object.
Arguments:
none
Return value:
The nominal voltage
Example:
The following example collects all high voltage lines. The value VoltageLevel is an input
parameter.
set S, Shv;
object O;
double U;
S = SEL.AllLines();
O = S.First();
while (O) {
U = O.Unom();
if (U>VoltageLevel) {
Shv.Add(O);

H - 47
DIgSILENT PowerFactory DPL Reference

}
O = S.Next();
}
Also see "Inom''

Object.Inom
double Object.Inom ()
Returns the nominal current of the object.
Arguments:
none
Return value:
The nominal current
Example:
The following example collects all high current lines. The value MinCurrent is an input pa-
rameter.
set S, Shv;
object O;
double U;
S = SEL.AllLines();
O = S.First();
while (O) {
U = O.Inom();
if (U>MinCurrent) {
Shv.Add(O);
}
O = S.Next();
}
Also see "Unom''

Object.MarkInGraphics
void Object.MarkInGraphics ()
Marks the object in the currently visible graphic by hatch crossing it.
Arguments:
none
Return value:
void
When the currently visible single line graphic does not contain the object, nothing will
happen.
Example:
The following example will try to mark a set of lines in the single line graphic.
set S;
object O;

H - 48
DIgSILENT PowerFactory DPL Reference

S = SEL.AllLines();
O = S.First();
while (O) {
O.MarkInGraphics();
O = S.Next();
}

Object.StochEvt
int Object.StochEvt (double d | double st)
Returns the first or the next state of a stochastic object, when the object has a valid failure
model. Draws a first state, using the state probabilities, when "st'' is omitted. Draws the
next state, using Monte-Carlo simulation, when "st'' is given. The drawn state is returned.
The duration of the drawn state is returned in "d''.
Arguments:
double d (obligatory) : duration of the returned state
double st (optional) : current state of the object
Return value:
void
Example:
The following example prints the states of a line for a year. This is a small example of a
chronological Monte-Carlo simulation.
SetRandSeed(1);
st = Line.StochEvt(t);
while (t<8760) {
printf('%7.2f %d', t, st);
st = Line.StochEvt(d, st);
t = t + d;
}
result:
1172.67
01186.05
15554.87
05560.11
17873.65
07888.94
18260.78
08274.29
1

H.7 Set Functions and Methods


General Set Methods
Functions related to Sets

H - 49
DIgSILENT PowerFactory DPL Reference

H.7.1 Functions related to Sets


AllRelevant Returns all calculation relevant objects.
See also:
General Set Methods

AllRelevant
Set AllRelevant (string S |int i)
Returns a set with calculation relevant objects, i.e. the objects which are used by the cal-
culations. The set of calculation relevant objects is determined by the currently active
study case and the currently active grids.
Objects which are out-of-service are ignored when i=0, but are included when i=1 or
when i is omitted. A wildcard argument can be given, and only objects whose name and
class-name satisfy this wildcard will be returned.
Arguments:
string S (optional) : Classname(s) with wildcards
int i (optional) : flag to include out of service objects
Return value:
The set of all calculation relevant objects, according to the given class-name wildcards
Example 1:
The following example writes the names of calculation relevant objects for various set-
tings.

set S;
object O;
printf('all objects, including out-of-service:');
S = AllRelevant();
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all objects, excluding out-of-service:');
S = AllRelevant(0);
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all busbars and terminals,');
printf('including out-of-service:');
S = AllRelevant('*.StaBar,*.ElmTerm');
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all lines, excluding out-of-service:');
S = AllRelevant('*.ElmLne',0);
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
Example 2:

H - 50
DIgSILENT PowerFactory DPL Reference

The following example writes the full name of all relevant busbars and terminals in the
output window.

set S;
object O;
S = AllRelevant('*.StaBar,*.ElmTerm'); ! includes out-of-service objects
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}

H.7.2 General Set Methods


Set methods are functions for the set type parameters.
set . [SETMETHOD] ( arguments) ;
The following [SETMETHOD] methods are available:
Add Adds an object.
Remove Removes an object.
Clear Removes all objects from the set.
First Returns the first objects.
Next Returns the next object.
Firstmatch Returns the first matching object.
Nextmatch Returns the next matching object.
FirstFilt Returns the first matching object.
NextFilt Returns the next matching object.
IsIn Searches for an object in the set.
Count Returns the number of stored objects.
Obj Returns the object at index i.
SortToVar Sorts the objects to a variable value.
SortToClass Sorts the objects to their class.
SortToName Sorts the objects to their names.
MarkInGraphics Marks the objects in the graphic.
See also:
Functions related to Sets
SetTime Methods

Set.Add
int Set.Add ([object O | set S])
Adds an object or all objects from a set to the set.

H - 51
DIgSILENT PowerFactory DPL Reference

Arguments:
One of the following two parameter has to be given
object O (optional) : an object
set S (optional) : a set of objects
Return value:
0 on success
Example:
The following example collects all loads and lines and the first breaker from the general
DPL selection
set S, Sbig;
object O;
Sbig = SEL.AllLines();
S = SEL.AllLoads();
Sbig.Add(S);
S = SEL.AllBreakers();
O = S.First();
Sbig.Add(O);

Set.Remove
int Set.Remove (object O)
Removes an object from the set.
Arguments:
object O (obligatory) : the object to remove
Return value:
0 on success
Example:
The following example removes al short lines from a set
set S;
object O;
double l;
S = SEL.AllLines();
O = S.First();
while (O) {
l = O:dline;
if (l<1) {
S.Remove(O);
}
O = S.Next();
}

Set.Clear
void Set.Clear()
Clears the set.

H - 52
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
void
Example:
The following example clears a set
set Sbig;
Sbig = SEL.AllLines();
...
Sbig.Clear();

Set.First
Object Set.First()
Returns the first object in the set.
Arguments:
none
Return value:
The first object or 0 when the set is empty
Example:
The following example writes the full names of all line in the general selection to the out-
put window.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "Next'' .

Set.Next
Object Set.Next ()
Returns the next object in the set.
Arguments:
none
Return value:
The next object or 0 when the last object has been reached
Example:
The following example writes the full names of all line in the general selection to the out-

H - 53
DIgSILENT PowerFactory DPL Reference

put window.
set S;
object O
S = SEL.AllLines();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
Also see "First'' .

Set.Firstmatch
Object Set.Firstmatch (String WildCard)

Set.Firstmatch (string) is obsolete. Use Set.FirstFilt (string) instead.

Set.Nextmatch
int Set.Nextmatch ()

Set.Nextmatch () is obsolete. Use Set.NextFilt () instead.

Set.FirstFilt
Object Set.FirstFilt (String WildCard)
Returns the first object from the set which name matches the wildcard. The wildcard may
contain (parts of the) name and classname.
Arguments:
String WildCard (obligatory) : class name, possibly containing '*' and '?' characters
Return value:
The first matching object, or NULL when no first object exists.
Example:
The following example writes all two and three winding transformers whose name start
with a "T'' to the output window
set S;
object O;
S = AllRelevant();
O = S.FirstFilt('T*.ElmTr?');
while (O) {
O.ShowFullName();
O = S.NextFilt();
}
Also see "NextFilt'' .

H - 54
DIgSILENT PowerFactory DPL Reference

Set.NextFilt
int Set.NextFilt ()
Returns the next object from the set which name matches the wildcard.
Arguments:
none
Return value:
The next object, or NULL when no next object exists.
Example:
The following example writes all two and three winding transformers to the output win-
dow
set S;
object O;
S = AllRelevant();
O = S.FirstFilt('T*.ElmTr?');
while (O) {
O.ShowFullName();
O = S.NextFilt();
}
Also see "FirstFilt'' .

Set.IsIn
int Set.IsIn (object O)
Checks if the set contains object 'O'.
Arguments:
object O (obligatory) : an object
Return value:
1 if the O is in the set.
Example:
The following example collects all not selected lines.
set Ssel, Srel, Snsel;
object lne;
int i;
Ssel = SEL.AllLines();
Srel = AllRelevant();
lne = Srel.Firstmatch('ElmLne');
while (lne) {
i = Ssel.IsIn(lne);
if (i=0) Snsel.Add(lne);
lne = Srel.Nextmatch();
}

H - 55
DIgSILENT PowerFactory DPL Reference

Set.Count
int Set.Count ()
Returns the number of objects in the set.
Arguments:
none
Return value:
The number of objects in the set.
Example:
The following example terminates the DPL script when the general selection is found to
contain no lines.
set S;
int n;
S = SEL.AllLines();
n = S.Count();
if (n=0) {
exit();
}

Set.Obj
int Set.Obj (int Index)
Returns the object at the given index in the set.
Arguments:
int Index (obligatory) : the index of the object.
Return value:
The object at the given index in the set, when "Index'' is in range, NULL otherwise.

Set.SortToVar
int Set.SortToVar (int R, string V1, ..., string V5)
Sorts the objects in the set to the variable names.
Sorts the objects to the values for V1. Within the sorting for V1, a sub-sorting for V2, sub-
sub-sorting for V3, etc., until V5 can be performed. The sorting is from higher values to
lower when R==1, and reverse when R==0.
Arguments:
int R (obligatory) : sorting direction
string V1 (obligatory) : first variable name
string V2 (optional) : , ..., string V5 (optional) : 2nd..5th variable names
Return value:
0 on success

H - 56
DIgSILENT PowerFactory DPL Reference

Example:
The following example writes all lines to the output window, sorted to derating factor and
length.
set S;
object O;
S = AllRelevant('*.ElmLne,*.ElmLneRoute');
S.SortToVar(0, 'fline', 'dline');
O = S.First();
while (O) {
printf('%10s %f %f',O:loc_name,O:fline,O:dline);
O = S.Next();
}

Set.SortToClass
int Set.SortToClass (int R)
Sorts the objects in the set to their class name. The sorting is from A..Z when R=0 and
reverse when R=1.
Arguments:
int R (obligatory) : sorting direction
Return value:
0 on success
Example:
The following example writes all objects to the output window, sorted to classes.
set S;
object O;
S = AllRelevant();
S.SortToClass(0); O = S.First(); while (O) { O.ShowFullName(); O =
S.Next(); }

Set.SortToName
int Set.SortToName (int R)
Sorts the objects in the set to their name.
Sorts the objects in the set to their name. The sorting is from A..Z when R=0 and reverse
when R=1.
Arguments:
int R (obligatory) : sorting direction
Return value:
0 on success
Example:
The following example writes all objects to the output window, sorted to names.
set S;
object O;
S = AllRelevant();

H - 57
DIgSILENT PowerFactory DPL Reference

S.SortToName(0);
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}

Set.MarkInGraphics
void Set.MarkInGraphics ()
Marks all objects in the set in the currently visible graphic by hatch crossing them.
Arguments:
none
Return value:
void
Example:
The following example will try to mark a set of lines in the single line graphic.
set S;
object O;
S = SEL.AllLines();
S.MarkInGraphics();

H.7.3 SetFilt Methods


Get Returns a container with the filtered objects

SetFilt.Get
Set SetFilt.Get ()
Returns a container with the filtered objects.
Arguments:
none
Return value:
The set of filtered objects
Example:
The following example shows the names of objects filtered by the FiltLongLines.SetFilt fil-
ter
set S;
object O;
S = FiltLongLines.Get();
O = S.First();
while (O) {
O.ShowFullName();
O=S.Next();

H - 58
DIgSILENT PowerFactory DPL Reference

}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

H.7.4 SetSelect Methods


All Returns all objects
GetAll Returns all of the given class
AddRef Add references
Clear Empties the selection
AllElm Returns all elements
AllLines Returns all lines
AllBars Returns all busbars and terminals
AllLoads Returns all loads
AllAsm Returns all asynchronous machines
AllSym Returns all synchronous machines
AllTypLne Returns all line types
AllBreakers Returns all breakers
AllClosedBreakers returns all closed breakers
AllOpenBreakers returns all open breakers

SetSelect.AddRef
void SetSelect.AddRef ([object O | set S])
Adds a reference to the objects to the existing selection.
Arguments:
One of the following two parameter has to be given
object O (optional) : an object
set S (optional) : a set of objects
Return value:
void
Example:
The following example adds all loads and lines from the general DPL selection to the se-
lection "MySelection''.
set S;
S = SEL.AllLines();
MySelection.AddRef(S);

H - 59
DIgSILENT PowerFactory DPL Reference

S = SEL.AllLoads();
MySelection.AddRef(S);
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.Clear
void SetSelect.Clear ()
Empties the selection.
Arguments:
none
Return value:
void
Example:
The following example creates a selection of all loads in the general DPL selection.
set S;
S = SEL.AllLines();
MySelection.Clear();
MySelection.AddRef(S);
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllElm
Set SetSelect.AllElm ()
Returns all elements (Elm*) in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all objects in the general DPL selection to the output win-
dow.
set S;
object O;
S = SEL.AllElm();
O = S.First();

H - 60
DIgSILENT PowerFactory DPL Reference

while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllLines
Set SetSelect.AllLines ()
Returns all lines and line routes in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all lines and line routes in the general DPL selection to the
output window.
set S; object O; S = SEL.AllLines(); O = S.First(); while (O) {
O.ShowFullName(); O = S.Next(); }
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllBars
Set SetSelect.AllBars ()
Returns all busbars and terminals in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all bars in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllBars();
O = S.First();

H - 61
DIgSILENT PowerFactory DPL Reference

while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllLoads
Set SetSelect.AllLoads ()
Returns all loads in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all loads in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllLoads();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllAsm
Set SetSelect.AllAsm ()
Returns all asynchronous machines in the selection.
Arguments:
none
Return value:
The set of objects
Example:

H - 62
DIgSILENT PowerFactory DPL Reference

The following example writes all asynchronous machines in the general DPL selection to
the output window.
set S;
object O;
S = SEL.AllAsm();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllSym
Set SetSelect.AllSym ()
Returns all synchronous machines in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all synchronous machines in the general DPL selection to
the output window.
set S;
object O;
S = SEL.AllSym();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllTypLne
Set SetSelect.AllTypLne ()
Returns all line types in the selection.
Arguments:

H - 63
DIgSILENT PowerFactory DPL Reference

none
Return value:
The set of objects
Example:
The following example writes all line types in the general DPL selection to the output win-
dow.
set S;
object O;
S = SEL.AllTypLne();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.All
Set SetSelect.All ()
Returns all objects in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes objects in the general DPL selection to the output window.
set S;
object O;
S = SEL.All();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

H - 64
DIgSILENT PowerFactory DPL Reference

SetSelect.GetAll
Set SetSelect.GetAll (String ClassName)
Returns all objects in the selection which are of the class 'ClassName'.
Arguments:
String ClassName (obligatory) : The object class name.
Return value:
The set of objects
Example:
The following example writes all three winding transformers in the general DPL selection
to the output window.
set S;
object O;
S = SEL.GetAll('ElmTr3');
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllBreakers
Set SetSelect.AllBreakers ()
Returns all breakers in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all breakers in the general DPL selection to the output win-
dow.
set S;
object O;
S = SEL.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also

H - 65
DIgSILENT PowerFactory DPL Reference

Functions related to Sets


General Set Methods
General Object Functions and Methods

SetSelect.AllClosedBreakers
Set SetSelect.AllClosedBreakers ()
Returns all closed breakers in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all closed breakers in the general DPL selection to the out-
put window.
set S;
object O;
S = SEL.AllClosedBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetSelect.AllOpenBreakers
Set SetSelect.AllOpenBreakers ()
Returns all open breakers in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all open breakers in the general DPL selection to the output
window.
set S;
object O;
S = SEL.AllOpenBreakers();

H - 66
DIgSILENT PowerFactory DPL Reference

O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

H.7.5 Feeder (SetFeeder) Methods


GetAll Returns all objects in the feeder
GetBuses Returns all nodes in the feeder
GetBranches Returns all branches in the feeder

SetFeeder.GetAll
Set SetFeeder.GetAll ()
Returns all objects in the feeder.
Arguments:
none
Return value:
The set with all objects
Example:
The following example gets all feeder objects.
set S;
S = Feeder1.GetAll();
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetFeeder.GetBuses
Set SetFeeder.GetBuses ()
Returns all busbars and terminals in the feeder.
Arguments:
none
Return value:

H - 67
DIgSILENT PowerFactory DPL Reference

The set with all busbars and terminals


Example:
The following example gets all feeder bars.
set S;
S = Feeder1.GetBuses();
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetFeeder.GetBranches
Set SetFeeder.GetBranches ()
Returns all branches in a feeder.
Arguments:
none
Return value:
The set with all branches
Example:
The following example gets all feeder branches
set S;
S = Feeder1.GetBranches();
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

H.7.6 Path (SetPath) Methods


GetAll Returns all objects in the path
GetBusses Returns all nodes in the path
GetBranches Returns all branches in the path
AllBreakers Returns all breakers in the path
AllClosedBreakers Returns all closed breakers in the path
AllOpenBreakers Returns all open breakers in the path

SetPath.GetAll
Set SetPath.GetAll ()

H - 68
DIgSILENT PowerFactory DPL Reference

Returns all objects in the path definition.


Arguments:
none
Return value:
The set of objects
Example:
The following example writes all objects in the path definition to the output window.
set S;
object O;
S = aPath.GetAll();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetPath.GetBusses
Set SetPath.GetBusses ()
Returns all busbars and terminals in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all busbars and terminals in the path definition to the output
window.
set S;
object O;
S = aPath.GetBusses();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

H - 69
DIgSILENT PowerFactory DPL Reference

SetPath.GetBranches
Set SetPath.GetBranches ()
Returns all branches in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all branches in the path definition to the output window.
set S;
object O;
S = aPath.GetBranches();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetPath.AllBreakers
Set SetPath.AllBreakers ()
Returns all breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all breakers in the path definition to the output window.
set S;
object O;
S = aPath.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also

H - 70
DIgSILENT PowerFactory DPL Reference

Functions related to Sets


General Set Methods
General Object Functions and Methods

SetPath.AllClosedBreakers
Set SetPath.AllClosedBreakers ()
Returns all closed breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all closed breakers in the path definition to the output win-
dow.
set S;
object O;
S = aPath.AllClosedBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

SetPath.AllOpenBreakers
Set SetPath.AllOpenBreakers ()
Returns all open breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all open breakers in the path definition to the output win-
dow.
set S;
object O;
S = aPath.AllOpenBreakers();

H - 71
DIgSILENT PowerFactory DPL Reference

O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
Functions related to Sets
General Set Methods
General Object Functions and Methods

H.8 Analysis Command Functions and Methods

Load Flow Simulation (ComLdf) Functions and Methods


Time-Domain Simulation Functions and Methods
Contingency Case (ComOutage) Methods
Contingency Analysis (ComSimoutage) Methods

H.8.1 General Analysis Command Functions and Methods

Execute Executes an analysis command


ResetCalculation Resets the calculations.
GetCaseCommand Returns default command objects.
Exe Executes a command bypassing the command pipe.
PostCommand Adds a command to the command pipe.
ClearCommands Clears the command pipe.

Execute
Commands can be execute by using the Execute() method:
int Com.Execute ()
Arguments:
none
Example:
The following example executes a command named 'Com'
Com.Execute();
See also the specialized Execute methods for individual commands.

H - 72
DIgSILENT PowerFactory DPL Reference

ComLdf.Execute
ComShc.Execute
ComInc.Execute
ComSimoutage.Execute
ComSimoutage.ExecuteCntcy
ComRel3.Execute
ComDpl.Execute

ResetCalculation
void ResetCalculation ()
Resets all calculations and destroys all volatile calculation results.
Arguments:
none

Return value:
void (no return value)
Results that have been written to result objects (for display in graphs) will not be de-
stroyed. All results that are visible in the single line diagrams, however, will be destroyed.
Example:
The following example resets all calculations
ResetCalculation();

GetCaseCommand
object GetCaseCommand (string ClassName)
This command is obsolete. Please use the more versatile "GetCaseObject'' in stead.
Please refer to "GetCaseObject()'' .

Exe
void Exe (string Command)
Immediately executes the command, bypassing the command pipe in the input window.
The DPL command will continue after the command has been executed. The 'Exe' com-
mand is provided for compatibility and testing purposes only and should only be used by
experienced users.
Arguments:
string Command (obligatory): The command string
Return value:

H - 73
DIgSILENT PowerFactory DPL Reference

void (no return value)


Example:
The following command connects two terminals via an existing coupler 'NameBreaker'.
while (Obj) {
NameBreaker = ...;
NameTerm1 = ...;
NameTerm2 = ...;
ObjTerm = SEL.First();
if (ObjTerm) {
printf('Connect to Terminal: %s',NameTerm2);
sExec = sprintf('connect obj=%s b1=%s b2=%s',
NameBreaker,NameTerm1,NameTerm2);
Exe(sExec);
Obj = SelGrids.Next();
}
See also
Execute

PostCommand
void PostCommand (string Command)
Adds a command to the command pipe in the input window. The posted commands will
be executed after the DPL command has finished.
Arguments:
string Command (obligatory) : The command string
Return value:
void (no return value)
Example:
The following command causes the PowerFactory program to end after the DPL script
has finished.
PostCommand('exit');

ClearCommands
void ClearCommands ()
Clears the command pipe of the input window.
Arguments:
none
Return value:
void (no return value)
Example:
The following command clears the input window.
ClearCommands();

H - 74
DIgSILENT PowerFactory DPL Reference

H.8.2 Load Flow Simulation (ComLdf) Functions and Methods


validLDF Checks for a valid load-flow result.
Execute Executes the command

validLDF
int validLDF ()
Checks to see if the last load-flow results are still valid and available.
Arguments:
none
Return value:
0 if no load-flow results are available
Example:
The following example checks if a load-flow is available, and performs one when not.
int valid;
valid = validLDF();
if (.not.valid) {
Ldf.Execute();
}

ComLdf.Execute
int ComLdf.Execute ()
Execute a load-flow calculation.
Arguments:
none
Return value:
0 on success
Example:
The following example executes the ComLdf command name 'Ldf'
Ldf.Execute();
See also
General Object Functions and Methods
Set Functions and Methods

H - 75
DIgSILENT PowerFactory DPL Reference

H.8.3 Short-Circuit Calculation (ComShc) Functions and


Methods
validSHC Checks for a valid short-circuit result.
Execute Executes the command

validSHC
int validSHC ()
Checks to see if the last short-circuit results are still valid and available.
Arguments:
none
Return value:
0 if no short-circuit results are available
Example:
The following example checks if a short-circuit result is available, and performs one when
not.
int valid;
valid = validSHC();
if (.not.valid) {
Shc.Execute();
}

ComShc.Execute
int ComShc.Execute ()
Executes a short-circuit calculation.
Arguments:
none
Return value:
0 on success
Example:
The following example execute the ComShc command named 'Shc'
Shc.Execute();
See also
General Object Functions and Methods
Set Functions and Methods

H - 76
DIgSILENT PowerFactory DPL Reference

H.8.4 Time-Domain Simulation Functions and Methods


validRMS Checks for a valid simulation result.
validSIM Checks for a valid simulation result.
Execute Executes the command (here: Calculation of Initial Conditions)

validRMS
int validRMS ()
Checks to see if the last RMS simulation results are still valid and available.
Arguments:
none
Return value:
0 if no RMS simulation results are available
Example:
The following example checks if a RMS simulation is available, and performs one when
not.
int valid;
valid = validRMS();
if (.not.valid) {
Rms.Execute();
}

validSIM
int validSIM ()
Checks to see if the last simulation results are still valid and available.
Arguments:
none
Return value:
0 if no simulation results are available
Example:
The following example checks if a simulation result is available.
int valid;
valid = validSIM();
if (.not.valid) {
output('No simulation result available');
}

ComInc.Execute
int ComInc.Execute ()

H - 77
DIgSILENT PowerFactory DPL Reference

Executes a calculation of initial values.


Arguments:
none
Return value:
0 on success
Example:
The following example executes the ComInc command named 'Inc'
Inc.Execute();
See also
General Object Functions and Methods
Set Functions and Methods

H.8.5 Result Export (ComRes) Methods


ExportFullRange Exports the whole data range
FileNmResNm Sets the filename for the data export

ComRes.ExportFullRange
int ComRes.ExportFullRange ()
Executes the export command for the whole data range.
Arguments:
none
Return value:
0
Example:
The following example exports a range of results
object O;
set S;
S = SEL.GetAll('ElmRes');
O = S.First();
while (O) {
Export:pResult = O;
Export.ExportFullRange();
O = S.Next();
}
See also
General Object Functions and Methods
Set Functions and Methods

H - 78
DIgSILENT PowerFactory DPL Reference

ComRes.FileNmResNm
int ComRes.FileNmResNm ()
Sets the filename for the data export.
Arguments:
none
Return value:
1
See also
General Object Functions and Methods
Set Functions and Methods

H.8.6 Contingency Case (ComOutage) Methods


SetObjs Sets the list of objects according to S
GetObject Returns the object at position i
RemoveEvents Removes events stored inside the comman

ComOutage.SetObjs
int ComOutage.SetObjs (set S)
Sets the list of objects according to S.
Arguments:
set S (obligatory) : the set of objects
Return value:
O on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

ComOutage.GetObject
object ComOutage.GetObject (int line)
Get the element stored in line number line in the table of ComOutage. The line index
starts with 0.
Arguments:
int line (obligatory):line index, if index exceeds the range NULL is returned
Return value:

H - 79
DIgSILENT PowerFactory DPL Reference

the element of line line in the table.


Example:
The following example shows how to access elements in the table of all ComOutage
whose names start with "L".
object aCmd,
aOutage,
aElm;
set Outages;
int iElements,
iElm;

aCmd = GetCaseObject('*.ComRel3'); ! get rel. command from study case


if (aCmd) {
! get all outages of which the names starts with "L"
Outages = aCmd.GetContents('L*.ComOutage');
! show the elements of all outages
for (aOutage=Outages.First(); aOutage; aOutage=Outages.Next()) {
aOutage.GetSize('Elms',iElements); ! get size of vector Elms
for (iElm=0; iElm<iElements; iElm=iElm+1) {
aElm = aOutage.GetObject(iElm);
!aOutage.GetVal(aElm,'Elms',iElm); same like GetObject
aElm.ShowFullName();
}
}
}
See also
General Object Functions and Methods
Set Functions and Methods
Object.GetVal

ComOutage.RemoveEvents
void ComOutage.RemoveEvents (string type, int info)
Removes events stored inside the command.
Arguments:
string type (optional):
none remove all events stored inside ComOutage
'Lod remove all EvtLod
'Gen' remove all EvtGen
'Switch' remove all EvtSwitch
int info (optional):
1 show info message in output window (default)
0 do not show info message
Return value:
none

H - 80
DIgSILENT PowerFactory DPL Reference

Example:
The following example shows how to remove events from ComOutage
object aCmd,
aOutage;
set Outages;

aCmd = GetCaseObject('*.ComRel3'); ! get rel. command from study case


if (aCmd) {
! get all outages of which the names starts with "L"
Outages = aCmd.GetContents('L*.ComOutage');
! remove the events
for (aOutage=Outages.First(); aOutage; aOutage=Outages.Next()) {
aOutage.RemoveEvents(0);! delete remaining,suppress info message
}
}

H.8.7 Contingency Analysis (ComSimoutage) Methods


Reset Resets the intermediate results
Execute Executes a ComSimoutage after resetting the results
ExecuteCntcy(object O) Executes a ComSimoutage for all outage cases stored in the ob-
ject O, without resetting results
AddCntcy(object O) Executes a ComOutage without resetting results, for the outage cases
stored in object O
SetLimits Sets the voltage limits to Umn and Umx and the loading limit to Lmx.
ReportObjs Returns the objects which are normally given to the reporting command to
produce the contingency reports.

ComSimoutage.Reset
int ComSimoutage.Reset ()
Resets the intermediate results of the outage simulation.
Arguments:
none
Return value:
O on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

ComSimoutage.Execute
int ComSimoutage.Execute ()

H - 81
DIgSILENT PowerFactory DPL Reference

Executes an outage simulation after resetting the results.


Arguments:
none
Return value:
O on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

ComSimoutage.ExecuteCntcy
int ComSimoutage.ExecuteCntcy (object O)
Executes an (additional) ComSimoutage, without resetting results. The results of the out-
age analyses will be added to the intermediate results. Object "O'' must be a ComSimo-
utage object. Outage definitions in O which have already been analyzed will be ignored.
Arguments:
object O (obligatory) : The ComSimoutage object
Return value:
O on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

ComSimoutage.AddCntcy
int ComSimoutage.AddCntcy (object O, string name)
Executes an (additional) ComOutage, without resetting results. The results of the outage
analysis will be added to the intermediate results. Object "O'' must be a ComOutage ob-
ject. If the outage definition has already been analyzed, it will be ignored. The Co-
mOutage will be renamed to "name'' when "name'' is given.
Arguments:
object O (obligatory) : The ComOutage object
string name (optional) : A name for the outage
Return value:
O on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

H - 82
DIgSILENT PowerFactory DPL Reference

ComSimoutage.SetLimits
int ComSimoutage.SetLimits (double vlmin, double vlmax, double ldmax)
Sets the limits for the outage simulation.
Arguments:
double vlmin (obligatory) : The minimum voltage
double vlmax (obligatory) : The maximum voltage
double ldmax (obligatory) : The maximum loading
Return value:
1 always
Example:
The following example analyses all selected outage definitions and adds the results to the
intermediate results.
set s;
object o;
s = SEL.GetAll('ComOutage');
o = s.First();
while (o) {
CA.AddCntcy(o);
o = s.Next();
}
See also
General Object Functions and Methods
Set Functions and Methods

ComSimoutage.ReportObjs
set ComSimoutage.ReportObjs (set s, int mode)
Returns the objects which are normally given to the reporting command to produce the
contigency report.
Arguments:
set set (obligatory) : Initial set of objects
int mode (obligatory) : Report mode (1..4)
Return value:
set of objects for report.
See also
General Object Functions and Methods
Set Functions and Methods

H - 83
DIgSILENT PowerFactory DPL Reference

H.8.8 Contingency Definition (ComNmink) Methods


AddRef Adds shortcuts
Clear Empties the selection
GetAll Returns all objects of class 'ClassName'

ComNmink.AddRef
void ComNmink.AddRef ([object O | set S])
Adds shortcuts to the objects to the existing selection.
Arguments:
One of the following two parameter has to be given
object O (optional) : an object
set S (optional) : a set of objects
Return value:
void
Example:
The following prepares and executes an outage simulation for all high loaded lines.
PrepOut.Clear();
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
if (O:c:loading>75) {
PrepOut.AddRef(O);
}
O = S.Nextmatch();
}
PrepOut.Execute();
See also
General Object Functions and Methods
Set Functions and Methods

ComNmink.Clear
void ComNmink.Clear ()
Empties the selection.
Arguments:
none
Return value:
void
Example:
The following example creates a selection of all loads.
PrepOut.Clear();

H - 84
DIgSILENT PowerFactory DPL Reference

S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
if (O:c:loading>75) {
PrepOut.AddRef(O);
}
O = S.Nextmatch();
}
PrepOut.Execute();
See also
General Object Functions and Methods
Set Functions and Methods

ComNmink.GetAll
Set ComNmink.GetAll (String ClassName)
Returns all objects which are of the class 'ClassName'.
Arguments:
String ClassName (obligatory) : The object class name.
Return value:
The set of objects
Example:
The following example writes all three winding transformers in the preparation command
to the output window.
set S;
object O;
S = Prep.GetAll('ElmTr3');
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also
General Object Functions and Methods
Set Functions and Methods

H.8.9 Reliability Assessment (ComRel3) Methods


Execute Executes the command
RemoveOutages Removes contingency definitions
RemoveEvents Removes events stored in contingencies
AnalyseElmRes Evaluates results object created in last calculation

H - 85
DIgSILENT PowerFactory DPL Reference

ComRel3.Execute
int ComRel3.Execute ()
Executes the Level 3 reliability assessment calculations.
Arguments:
none
Return value:
0 on success
Example:
The following example executes a ComRel3 Command named 'Rel3'
Rel3.Execute();

ComRel3.RemoveOutages
void ComRel3.RemoveOutages ()
Removes all contingency definitions (*.ComOutage) stored inside the command. This is
exactly the same like pressing the button named "Delete Contingencies" in the dialogue
box of the command.
Arguments:
int msg (optional) :
1 show info message in output window (taken by default),
0 do not show a message
Return value:
none
Example:
The following example removes all ComOutage objects stored inside the ComRel com-
mand in the study case.
object aCmd;

aCmd = GetCaseObject('*.ComRel3'); ! get the command from study case


if (aCmd) {
aCmd.RemoveOutages(0); ! suppress info message
}

ComRel3.RemoveEvents
void ComRel3.RemoveEvents (string type, int info)
Removes events stored inside the contingencies (*.ComOutage) inside the command.
Arguments:
string type (optional):
none remove all events stored inside the ComOutages inside ComRel3
'Lod' remove all EvtLod
'Gen' remove all EvtGen'

H - 86
DIgSILENT PowerFactory DPL Reference

'Switch' remove all EvtSwitch'


int info (optional):
1 show info message in output window (default)
0 do not show info message
Return value:
none
Example:
The following example shows how to remove events from the ComOutage commands
stored inside ComRel3:
object aCmd;

aCmd = GetCaseObject('*.ComRel3'); ! get the command from study case


if (aCmd) {
aCmd.RemoveOutages('Lod');! delete all EvtLod
aCmd.RemoveOutages('Gen');! remove all EvtGen
aCmd.RemoveOutages(0); ! delete remaining, suppress info message
}

ComRel3.AnalyseElmRes
int ComRel3.AnalyseElmRes (int error)
Evaluate the results object created by the last calculation. Performs exactly the same like
pressing the button 'Perform Evaluation of Result File' in the dialogue box of the com-
mand.
Arguments:
int error (optional):
0 do not display an error message (default)
1 display error messages in case of errors
Return value:
0 on success, !=0 on error.
Example:
The following example shows how to call the evaluation of the results.
object aCmd,
aResFile;
int iError;

aCmd = GetCaseObject('*.ComRel3'); ! get the command from study case


if (aCmd) {
iError=aCmd.AnalyseElmRes(0); ! hide error message
if (iError) {
! display my own error message
aResFile = aCmd:p_resenum;
if (aResFile) {
Error('Evaluation of results %s failed', aResFile:loc_name);
}
}
}
See also

H - 87
DIgSILENT PowerFactory DPL Reference

General Object Functions and Methods


Set Functions and Methods

H.8.10 DPL Command (ComDpl) Methods


Execute Executes an external DPL script as a subroutine

ComDpl.Execute
int ComDpl.Execute (user defined arguments)
Executes an external DPL script as a subroutine.
Arguments:
user defined arguments
Return value:
0 on success
Example:
The following example performs a load-flow and calls the DPL subroutine "CheckVoltages''
to check the voltage conditions.
int err;
err = Ldf.Execute();
if (.not.err) err = CheckVoltages(0.94, 1.05);
if (err) printf('Voltage conditions are violated');
See also
General Object Functions and Methods
Set Functions and Methods

H.8.11 ComEcho Methods


On Turns on the user interface
Off Turns off the user interface

ComEcho.On
int ComEcho.On ()
Turns on the user interface.
ComEcho.On() is obsolete. Use the internal command EchoOn instead.
Arguments:
none
Return value:
0 on success

H - 88
DIgSILENT PowerFactory DPL Reference

Example:
The following example turns off the user interface, calls a subroutine and turns it back on
again.
aEcho.Off();
PerformCalculation();
aEcho.On();
See also
General Object Functions and Methods
Set Functions and Methods

ComEcho.Off
int ComEcho.Off ()
Turns off the user interface.
ComEcho.Off() is obsolete. Use the internal command EchoOff instead.
Arguments:
none
Return value:
0 on success
Example:
The following example turns off the user interface, calls a subroutine and turns it back on
again.
aEcho.Off();
PerformCalculation();
aEcho.On();
See also
General Object Functions and Methods
Set Functions and Methods

H.9 Specialized Methods for Elements and Types


The external methods are available for external PowerFactory objects, such as the load-
flow command, the line object, the asynchronous machine, etc. as well as additional func-
tions dealing with classes and virtual instruments.
For Feeder Methods please refer to Section H.7.5 "Feeder (SetFeeder) Methods".
For Path Methods please refer to Section H.7.6 "Path (SetPath) Methods".

H - 89
DIgSILENT PowerFactory DPL Reference

H.9.1 Grid (ElmNet) Methods


Activate Adds a grid to the active study case
Deactivate Removes a grid from the active study case

ElmNet.Activate
int ElmNet.Activate ()
Adds a grid to the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

ElmNet.Deactivate
int ElmNet.Deactivate ()
Removes a grid from the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

H.9.2 Induction Machine Type (TypAsm) Methods


CalcElParams Calculates the electrical parameters

TypAsm.CalcElParams
int TypAsm.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none

H - 90
DIgSILENT PowerFactory DPL Reference

See also
General Object Functions and Methods
Set Functions and Methods

H.9.3 Induction Machine Type (TypAsmo) Methods


CalcElParams Calculates the electrical parameters

TypAsmo.CalcElParams
int TypAsmo.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none
See also
General Object Functions and Methods
Set Functions and Methods

H.9.4 Feeder (ElmFeeder) Methods


GetAll Returns all objects in this feeder
GetBuses Returns all buses in this feeder
GetBranches Returns all branch elements in this feeder
GetNodesBranches Returns all buses and branches in this feeder
GetObjs Returns all objects of class 'ClassName'' in this feeder

ElmFeeder.GetAll
set ElmFeeder.GetAll (int iNested)
Returns a set with all objects belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of feeder objects.
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();

H - 91
DIgSILENT PowerFactory DPL Reference

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
General Object Functions and Methods
Set Functions and Methods

ElmFeeder.GetBuses
set ElmFeeder.GetBuses (int iNested)
Returns a set with all buses belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of bus elements in feeder.
Example:
set aNodes,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Buses in feeder %s',pFeeder:loc_name);
aNodes = pFeeder.Getbuses(1);
for (pObj=aNodes.First(); pObj; pObj=aNodes.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmFeeder.GetBranches
set ElmFeeder.GetBranches (int iNested)

H - 92
DIgSILENT PowerFactory DPL Reference

Returns a set with all branch elements belonging to this feeder.


Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of branch elements in feeder.
Example:
set aBranches,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Branches in feeder %s',pFeeder:loc_name);
aBranches = pFeeder.GetBranches(1);
for (pObj=aBranches.First(); pObj; pObj=aBranches.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmFeeder.GetNodesBranches
set ElmFeeder.GetNodesBranches (int iNested)
Returns a set with all buses and branches belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of bus and branch elements in feeder.
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Branches and Nodes in feeder %s',pFeeder:loc_name);
aAll = pFeeder.GetNodesBranches(1);
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}

H - 93
DIgSILENT PowerFactory DPL Reference

}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmFeeder.GetObjs
set ElmFeeder.GetObjs (string ClassNameint iNested)
Returns a set with all objects of class 'ClassName'' which belong to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iN-
ested=1, otherwise only the objects up to the next feeder will be returned.
Return value:
The set of feeder objects.
Example:
set aAll,aFeeders;
object pPrj,pFeeder,pObj;
! output elements in the feeders
pPrj = ActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('*.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Cubicles in feeder %s',pFeeder:loc_name);
aAll = pFeeder.GetObjs('StaCubic');
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
General Object Functions and Methods
Set Functions and Methods

H.9.5 Composite Model (ElmComp) Methods


Slotupd Performs a slot update

ElmComp.Slotupd
int ElmComp.Slotupd ()
Performs a slot update for the composite model, to automatically select available models
for the slots.

H - 94
DIgSILENT PowerFactory DPL Reference

Arguments:
none
Return value:
void
See also
General Object Functions and Methods
Set Functions and Methods

H.9.6 Breaker/Switch (ElmCoup) Methods


Close Closes the buscoupler
Open Opens the buscoupler
IsOpen Returns 1 when the coupler is open
IsClosed Returns 1 when the coupler is closed

ElmCoup.Close
int ElmCoup.Close ()
Closes the buscoupler.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all open couplers before closing them.
int opn;
set S, So;
object O;
S = Couplers.AllElm();
O = S.First();
while (O) {
opn = O.IsOpen();
if (opn) {
O.Close();
So.Add(O);
};
}
See also
General Object Functions and Methods
Set Functions and Methods

H - 95
DIgSILENT PowerFactory DPL Reference

ElmCoup.Open
int ElmCoup.Open ()
Opens the buscoupler.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all closed couplers before opening them.
int cl;
set S, Sc;
object O;
S = Couplers.AllElm();
O = S.First();
while (O) {
cl = O.IsClosed();
if (opn) {
O.Open();
Sc.Add(O);
};
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmCoup.IsOpen
int ElmCoup.IsOpen ()
Returns 1 when the coupler is open.
Arguments:
none
Return value:
1 when open, 0 when closed
Example:
See ElmCoup.Close for an example

ElmCoup.IsClosed
int ElmCoup.IsClosed ()
Returns 1 when the coupler is closed.
Arguments:
none

H - 96
DIgSILENT PowerFactory DPL Reference

Return value:
1 when closed, 0 when open
Example:
See ElmCoup.Open for an example

H.9.7 Line (ElmLne) Methods


HasRoutes Returns if the line is subdivided into routes
HasRoutesOrSec Returns if the line is subdivided into routes or sections
GetType Returns the line type object
IsCable Returns if this is a cable
IsNetCoupling Returns if the line connects two grids
SetCorr Sets the correction factor of the line
CreateFeederWithRoutes Splits the line in 2 routes

ElmLne.HasRoutes
int ElmLne.HasRoutes ()
Returns if the line is subdivided into routes.
Arguments:
none
Return value:
0 when the line is a single line, 1 when it is subdivided into routes.
Example:
The following example reports all lines with routes.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
i = O.HasRoutes();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmLne.HasRoutesOrSec
int ElmLne.HasRoutesOrSec ()

H - 97
DIgSILENT PowerFactory DPL Reference

Returns if the line is subdivided into routes or sections.


Arguments:
none
Return value:
0 when the line is a single line, 1 when it is subdivided into routes, 2 when into sections.
Example:
The following example reports all lines with sections.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
i = O.HasRoutesOrSec();
if (i=2) O.ShowFullName();
O = S.Nextmatch();
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmLne.GetType
int ElmLne.GetType ()
Returns the line type object.
Arguments:
none
Return value:
The TypLne object
Example:
The following example reports all 'untyped' lines
set S;
object O, T;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
T = O.GetType();
if (T=0) {
O.ShowFullName();
}
O = S.Nextmatch();
}
See also
General Object Functions and Methods
Set Functions and Methods

H - 98
DIgSILENT PowerFactory DPL Reference

ElmLne.IsCable
int ElmLne.IsCable ()
Returns if this is a cable.
Arguments:
none
Return value:
1 when the line is a cable, otherwise 0.
Example:
The following example reports the loading of all cables.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
i = O.IsCable();
if (i) {
Write('# : #.## $N, @ACC(1):loc_name, @ACC(1):c:loading, O);
}
O = S.Nextmatch();
}

ElmLne.IsNetCoupling
int ElmLne.IsNetCoupling ()
Returns if the line connects two grids.
Arguments:
none
Return value:
1 when the line is a coupler, otherwise 0.
Example:
The following example reports all the loading of all couplers
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
i = O.IsNetCoupling();
if (i) {
Write('# : #.## $N, @ACC(1):loc_name, @ACC(1):c:loading, O);
}
O = S.Nextmatch();
}
See also

H - 99
DIgSILENT PowerFactory DPL Reference

General Object Functions and Methods


Set Functions and Methods

ElmLne.SetCorr
int ElmLne.SetCorr ()
Sets the correction factor of the line, according to IEC364-5-523.
Arguments:
none
Return value:
0 on success, 1 on error;
Example:
The following example sets a correction factor.
BuriedLine.SetCorr();
See also
General Object Functions and Methods
Set Functions and Methods

ElmLne.CreateFeederWithRoutes
int ElmLne.CreateFeederWithRoutes (double dis,double rem,object O[int sw0,int
sw1])
Creates a new feeder in the line by splitting the line in 2 routes and inserting a terminal.
Arguments:
double dis (obligatory) :
double rem (obligatory) :
object O (obligatory) : A branch object that is to be connected at the inserted terminal.
int sw0 (optional) : when true, a switch is inserted on the one side
int sw1 (optional) : when true, a switch is inserted on the other side
Return value:
0 on success, 1 on error;
See also
General Object Functions and Methods
Set Functions and Methods

H - 100
DIgSILENT PowerFactory DPL Reference

H.9.8 Line Route (ElmLneroute) Methods


IsCable Returns if the route is a cable
HasSections Returns if the line route is subdivided into sections
Hint: ElmLneroute has been replaced by ElmBranch containing ElmLne in PowerFacto-
ry Version 14.0. Please refer to Line (ElmLne) Methods.

ElmLneroute.IsCable
int ElmLneroute.IsCable ()
Returns if the route is a cable.
Arguments:
none
Return value:
1 when a cable, otherwise 0.
Example:
The following example reports all cable routes.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLneroute');
while (O) {
i = O.IsCable();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
See also
General Object Functions and Methods
Set Functions and Methods
Hint: ElmLneroute has been replaced by ElmBranch containing ElmLne in PowerFacto-
ry Version 14.0. Please refer to Line (ElmLne) Methods.

ElmLneroute.HasSections
int ElmLneroute.HasSections ()
Returns if the line route is subdivided into sections.
Arguments:
none
Return value:
1 when subdivided sections, 0 otherwise
Example:

H - 101
DIgSILENT PowerFactory DPL Reference

The following example reports all lines routes with sections.


set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('ElmLneroute');
while (O) {
i = O.HasSections();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
See also
General Object Functions and Methods
Set Functions and Methods
Hint: ElmLneroute has been replaced by ElmBranch containing ElmLne in PowerFacto-
ry Version 14.0. Please refer to Line (ElmLne) Methods.

H.9.9 Line Type (TypLne) Methods


IsCable Returns if the line type is a cable type
SetNomCurr Sets the nominal current of the line type

TypLne.IsCable
int TypLne.IsCable ()
Returns if the line type is a cable type.
Arguments:
none
Return value:
1 when the line type is a cable type, otherwise 0.
Example:
The following example reports all cable types.
set S;
object O;
int i;
S = AllRelevant();
O = S.Firstmatch('TypLne');
while (O) {
i = O.IsCable();
if (i) O.ShowFullName();
O = S.Nextmatch();
}
See also
General Object Functions and Methods
Set Functions and Methods

H - 102
DIgSILENT PowerFactory DPL Reference

TypLne.SetNomCurr
int TypLne.SetNomCurr ()
Sets the nominal current of the line type, according to IEC364-5-523.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example sets the correction factor.
BuriedLineType.SetNomCurr();
See also
General Object Functions and Methods
Set Functions and Methods

H.9.10 Result Object (ElmRes) Methods


Init Initializes the result object
Clear Clears the result object
Write Writes the current results
Draw Updates all relevant plots
WriteDraw Writes results and updates all plots
SetAsDefault Sets this as default results
AddVars Adds to the list of monitored variables
GetObj Returns objects used in the result file
ResIndex Returns column number of variable in result object.
GetResData Returns a value from a certain result curve.
ResNval Returns number of values stored in certain result curve.
ResNvars Returns the number of variables (columns) in result file.
LoadResData Loads the data of a result file in memory.

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:

H - 103
DIgSILENT PowerFactory DPL Reference

none
Return value:
0 on success
Example:
The following example initializes the result object.
Res.Init();
See also
General Object Functions and Methods
Set Functions and Methods

ElmRes.Clear
int ElmRes.Clear ()
Clears the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example clears the result object.
Res.Clear();
See also
General Object Functions and Methods
Set Functions and Methods

ElmRes.Write
int ElmRes.Write ()
Writes the current results to the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example performs load-flows for a number of load levels and writes the re-
sults to the result object
double P;
double i;
P = LoadMin;

H - 104
DIgSILENT PowerFactory DPL Reference

i = 1;
while ({P<LoadMax}.and.{i}) {
i = Ldf.Execute();
if (i) {
Res.Write();
P += LoadStep;
}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmRes.Draw
int ElmRes.Draw ()
Updates all plots that display values from the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example updates the graphics every 10 steps to save time and yet follow
the results while calculating
double i,n;
Ld:pini = LoadMin;
i = 1;
n = 0;
while ({Ld:pini<LoadMax}.and.{i}) {
i = Ldf.Execute();
if (i) {
Res.Write();
n += 1;
Ld:pini += LoadStep;
}
if (n>9) {
Res.Write();
n = 0;
}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmRes.WriteDraw
int ElmRes.WriteDraw ()

H - 105
DIgSILENT PowerFactory DPL Reference

Writes current results to the result objects and updates all plots that display values from
the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example performs load-flows for a number of load levels and writes the re-
sults to the result object
double P;
double i;
P = LoadMin;
i = 1;
while ({P<LoadMax}.and.{i}) {
i = Ldf.Execute();
if (i) {
Res.WriteDraw();
P += LoadStep;
}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmRes.SetAsDefault
void ElmRes.SetAsDefault ()
Sets this results object as the default results object.
Arguments:
none
Return value:
none
See also
General Object Functions and Methods
Set Functions and Methods

ElmRes.AddVars
void ElmRes.AddVars (object O, string v1 [,string v2,...])
Adds variables to the list of monitored variables for the Result object.
Arguments:
object O (obligatory) : an object.

H - 106
DIgSILENT PowerFactory DPL Reference

string v1 (obligatory) : variable name for object O.


string v2..v9 (optional) : optional further variables names for object O.
Return value:
none
Example:
object Res;
Res = MyResults();
Res.AddVars(MyLine,'m:Ikss:busshc','m:I:busshc');
See also
General Object Functions and Methods
Set Functions and Methods

ElmRes.GetObj
object ElmRes.GetObj (int index)
Returns the objects used in the result file. Positive index means objects for which param-
eters are being monitored (i.e. column objects). Negative index means objects which oc-
cur in written result rows as values.
Arguments:
int index (obligatory) : index of the object.
Return value:
the object, when found.
See also
General Object Functions and Methods
Set Functions and Methods

ResIndex
int ResIndex (object res, object O, string vnm)
Returns the column number of the variable 'vnm' of object 'O' in the result object 'res'. An
error is produced when 'res' is not a ElmRes object, when 'O' is not in the result file.
Arguments:
object res (obligatory) : the result file
object O (obligatory) : The monitored object
string vnm (obligatory) : the name of the monitored variable of object 'O'
Return value:
The index of the variable. This index can be used in "GetResData'' to retrieve the value.
A negative index is returned when 'vnm' is not in the result file.
Example:

H - 107
DIgSILENT PowerFactory DPL Reference

object obj, res;


double x, x1, x2;
int n, ix, i1, i2;
int Nval;
obj = GetCaseCommand('ComInc');
res = obj:p_resvar;
LoadResData(res);
Nval = ResNval(res,0);
obj = res.GetObject(1);
i1 = ResIndex(res, obj, 'm:I1:bus1');
i2 = ResIndex(res, obj, 'm:U1:bus1');
if (i1<0.or.i2<0) exit();
ix = 0;
while (ix<Nval) {
GetResData(x, res, ix);
GetResData(x1, res, ix, i1);
GetResData(x2, res, ix, i2);
printf('%8.5f %8.5f %8.5f', x, x1, x2);
ix += 1;
}
Also see "LoadResData()''
"GetResData()''
"GetObject'' .

GetResData
int GetResData (double d, object O, int iX, int iCrv)
Returns a value from a result object for row iX of curve iCrv. An error is produced when
O is not a ElmRes object.
Arguments:
double d (obligatory) : the returned value
object O (obligatory) : The result file object
int iX (obligatory) : the row index
int iCrv (optional) : The curve number, which equals the variable or column number, first
column value (time,index, etc.) is returned when omitted.
Return value:
0 when ok
1 when iX out of bound
2 when iCrv out of bound
3 when invalid value is returned ('INFINITY', 'DUMMY', etc.)
Also see "LoadResData()'' .

ResNval
int ResNval (object O, int iCrv)

H - 108
DIgSILENT PowerFactory DPL Reference

Returns the number of values stored in result object for curve iCrv. An error is produced
when O is not a ElmRes object.

Arguments:
object O (obligatory) : The result file object
int iCrv (obligatory) : The curve number, which equals the variable or column number.

Also see "LoadResData()'' .

ResNvars
int ResNvars (object O)
Returns the number of variables (columns) in result file. An error is produced when O is
not a ElmRes object.
Arguments:
object O (obligatory) : The result file object
Also see "LoadResData()'' .

LoadResData
void LoadResData (object O)
Loads the data of a result file (ElmRes) in memory. An error is produced when O is not
a ElmRes object.
Arguments:
object O (obligatory) : The result file object
Return value:
void
Example:
object obj, res;
double x;
int Nvar, Nval, n, ix,iy;
string str;
obj = GetCaseCommand('ComInc');
res = obj:p_resvar;
LoadResData(res);
Nvar = ResNvars(res);
Nval = ResNval(res,0);
printf('Nvar=%d Nval=%d', Nvar, Nval);
ix = 0;
while (ix<Nval) {
iy = 0;
GetResData(x, res, ix);
str = sprintf('%f :', x);
while (iy<Nvar) {
GetResData(x, res,ix,iy);
str = sprintf('%s %8.5f ', str, x);

H - 109
DIgSILENT PowerFactory 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
-0.050000 : 0.12676 30.73286 12.91360
-0.040000 : 0.12676 30.73286 12.91360
-0.030000 : 0.12676 30.73286 12.91360
-0.020000 : 0.12676 30.73286 12.91360
-0.010000 : 0.12676 30.73286 12.91360
-0.000000 : 0.12676 30.73286 12.91360
0.010000 : 0.12676 30.73286 12.91360
0.020000 : 0.12676 30.73286 12.91360
0.030000 : 0.12676 30.73286 12.91360
0.040000 : 0.12676 30.73286 12.91360
0.050000 : 0.12676 30.73286 12.91360

H.9.11 Zone (ElmZone) Methods


GetAll Returns all objects in this zone
GetBuses Returns all buses in this zone
GetNodes Returns all nodes in this zone
GetBranches Returns all branches and buses in this zone
GetObjs Returns all objects of the given class in this zone

ElmZone.GetAll
set ElmZone.GetAll ()
Returns all objects which belong to this zone.
Arguments:
none
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = ActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Elements in zone %s',pZone:loc_name);
aAll = pZone.GetAll();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);

H - 110
DIgSILENT PowerFactory DPL Reference

}
}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmZone.GetBuses
set ElmZone.GetBuses ()
Returns all buses which belong to this zone.
Arguments:
none
Return value:
The set of objects
See also
General Object Functions and Methods
Set Functions and Methods

ElmZone.GetNodes
set ElmZone.GetNodes ()
Returns all nodes which belong to this zone.
Arguments:
none
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = ActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Nodes in zone %s',pZone:loc_name);
aAll = pZone.GetBuses();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also

H - 111
DIgSILENT PowerFactory DPL Reference

General Object Functions and Methods


Set Functions and Methods

ElmZone.GetBranches
set ElmZone.GetBranches ()
Returns all branches which belong to this zone.
Arguments:
none
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output elements in the zone
pPrj = ActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Branches in zone %s',pZone:loc_name);
aAll = pZone.GetBranches();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
General Object Functions and Methods
Set Functions and Methods

ElmZone.GetObjs
set ElmZone.GetObjs (string classname)
Returns all objects of the given class which belong to this zone.
Arguments:
string classname (obligatory) : name of the class.
Return value:
The set of objects
Example:
set aAll,aZones;
object pPrj,pZone,pObj;
! output cubicles in the zone
pPrj = ActiveProject();
if (pPrj) {

H - 112
DIgSILENT PowerFactory DPL Reference

aZones = pPrj.GetContents('*.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Cubicles in zone %s',pZone:loc_name);
aAll = pZone.GetObjs('StaCubic');
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf(' %s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
General Object Functions and Methods
Set Functions and Methods

H.9.12 Switch (StaSwitch) Methods


Close Closes the switch
Open Opens the switch
IsOpen Returns if the switch is open
IsClosed Returns if the switch is closed
Hint: StaSwitch has been replaced by ElmCoup in PowerFactory Version 14.0. Please
refer to Breaker/Switch (ElmCoup) Methods.

StaSwitch.Close
int StaSwitch.Close ()
Closes the switch.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all open switches before closing them.
int opn;
set S, So;
object O;
S = Switches.AllElm();
O = S.First();
while (O) {
opn = O.IsOpen();
if (opn) {
O.Close();
So.Add(O);
};
}

H - 113
DIgSILENT PowerFactory DPL Reference

See also
General Object Functions and Methods
Set Functions and Methods
Hint: StaSwitch has been replaced by ElmCoup in PowerFactory Version 14.0. Please
refer to Breaker/Switch (ElmCoup) Methods.

StaSwitch.Open
int StaSwitch.Open ()
Opens the switch.
Arguments:
none
Return value:
0 on success
Example:
The following example gathers all closed switches before opening them.
int cl;
set S, Sc;
object O;
S = Couplers.AllElm();
O = S.First();
while (O) {
cl = O.IsClosed();
if (opn) {
O.Open();
Sc.Add(O);
};
}
See also
General Object Functions and Methods
Set Functions and Methods
Hint: StaSwitch has been replaced by ElmCoup in PowerFactory Version 14.0. Please
refer to Breaker/Switch (ElmCoup) Methods.

StaSwitch.IsOpen
int StaSwitch.IsOpen ()
Checks if the switch is open.
Arguments:
none
Return value:
1 when open, 0 when closed

H - 114
DIgSILENT PowerFactory DPL Reference

Example:
See StaSwitch.Close for an example.
Hint: StaSwitch has been replaced by ElmCoup in PowerFactory Version 14.0. Please
refer to Breaker/Switch (ElmCoup) Methods.

StaSwitch.IsClosed
int StaSwitch.IsClosed ()
Checks if the switch is closed.
Arguments:
none
Return value:
1 when closed, 0 when open
Example:
See StaSwitch.Open for an example.
Hint: StaSwitch has been replaced by ElmCoup in PowerFactory Version 14.0. Please
refer to Breaker/Switch (ElmCoup) Methods.

H.10 Methods for Virtual Instruments

H.10.1 SetVipage Methods


GetVI
SetStyle
SetTile
SetResults
SetXVar
SetScaleX
SetDefScaleX
DoAutoScaleX
DoAutoScaleY
SetAutoScaleX
SetAdaptX
GetScaleObjX

H - 115
DIgSILENT PowerFactory DPL Reference

SetVipage.GetVI
object SetVipage.GetVI (string name, string class, int create)
Searches for a virtual instruments on the Virtual Instrument Panel.
Arguments:
string name (obligatory) : Name of Virtual Instrument
string class='VisPlot' (optional) : classname of Virtual Instrument.
int create=1 (optional) : create >0 --> create panel if not exists.
Return value:
Virtual Instrument
Example:
The following example looks for a Plot (VisPlot) named RST on a Virtual Instrument Panel.
The plot is created if it was not found.
object aGrf;
object aPage;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get plot named RST. Create the plot if not exists
aPlot=aPage.GetVI('RST','VisPlot',1);
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.SetStyle
void SetVipage.SetStyle (string name)
Sets style folder of Virtual Instrument Panel.
Arguments:
string name (obligatory) : Name of style.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and sets its
style to 'Paper'.
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);

H - 116
DIgSILENT PowerFactory DPL Reference

if (aPage) {
! Set style named Paper
aPage.SetStyle('Paper');
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.SetTile
void SetVipage.SetTile (int tile)
Rearranges the Virtual Instruments.
Arguments:
int tile=1 (optional) : tile > 0 --> tile Virtual Instruments, tile =0 --> arrange them hori-
zontally.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and rearranges
the Virtual Instrument.
object aGrf;object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Arrange the VIs horizontally
aPage.SetTile(0);
! Tile VIs (default input parameter is 1)
aPage.SetTile();
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.SetResults
void SetVipage.SetResults (object res)
Sets default Results (ElmRes) of Virtual Instrument Panel.
Arguments:
object res (obligatory) : Results to set (ElmRes) or NULL to reset.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and resets its

H - 117
DIgSILENT PowerFactory DPL Reference

default results.
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set default results on page
aPage.SetResults(NULL);
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.SetXVar
void SetVipage.SetXVar (object obj, string varname)
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
object obj (optional) : x-axis object
string varname (optional) : variable of obj
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and set the x-
axis variable. The first example sets an user defined x-axis variable of the Virtual Instru-
ment Panel. The second one sets the default x-axis (time).
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
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);

H - 118
DIgSILENT PowerFactory DPL Reference

! Set default x-scale variable (time)


aPage.SetXVar();
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.SetScaleX
void SetVipage.SetScaleX (double min, double max, int log)
Sets scale of x-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No input arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of x-scale.
double max (optional) : Maximum of x-scale.
int log (optional) : > 0 --> x-scale is logarithmic.
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and set its x-
axis scale. There are three different examples. 1. Example: Scale x-scale automatically.
2. Example: Set minimum to 0 and maximum to 20. 3. Example: Set minimum to 1 and
maximum to 1000. Changes to a log. scale
! Scale x-scale automatically.
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Automatic scaling
aPage.SetScaleX();
}
}
! Set minimum and maximum without changing map
modeobject aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set minimum and maximum
aPage.SetScaleX(0,20);
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;

H - 119
DIgSILENT PowerFactory DPL Reference

! Look for opened graphics board.


aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set minimum and maximum, change to log. scale
aPage.SetScaleX(1,1000,1);
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.SetDefScaleX
void SetVipage.SetDefScaleX ()
Sets default scale of x-axis (SetDesktop).
Arguments:
none
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and resets the
option 'Use local x-Axis' to 0. After that the x-scale used is the Graphics Board (SetDesk-
top).
! Set default x-scale
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' aPage.SetDefScaleX();
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.DoAutoScaleX
int SetVipage.DoAutoScaleX ()
Scales the x-axes of all plots on the virtual instrument panel automatically. The same can
be achieved by pressing the icon in the toolbar of the graphic.
Arguments:
none
Return value:

H - 120
DIgSILENT PowerFactory DPL Reference

none
Example:
The following example looks for a page named voltage and performs an automatic scaling
of the x-axes.
! perform autoscale of x-axis of all plots on page
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
aPage.DoAutoScaleX();
}
}
Also see VisFft Methods
VisPlot Methods
SetDesktop Methods

SetVipage.DoAutoScaleY
int SetVipage.DoAutoScaleY ()
Scales the y-axes of all plots on the virtual instrument panel automatically. The same can

be achieved by pressing the icon in the toolbar of the graphic.


Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling
of the y-axes.
! perform autoscale of y-axis of all plots on page
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
aPage.DoAutoScaleY();
}
}
Also see VisPlot Methods

SetVipage.SetAutoScaleX
void SetVipage.SetAutoScaleX (int mode)

H - 121
DIgSILENT PowerFactory DPL Reference

Sets automatic scaling mode of the x-scale for local scales.


Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and change its
auto scale mode. The first example works fine, the second one generates an error mes-
sage because the x-scale is unused.
! Set autoscale mode Off
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set limits to change x-scale of page to used scale
aPage.SetScaleX(0,10);
! Turn off automatic scaling of x-scale
aPage.SetAutoScaleX(0);
}
}
! Try to set autoscale mode to online
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Try to set automatic scaling of x-scale to Online
aPage.SetAutoScaleX(2);
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.SetAdaptX
void SetVipage.SetAdaptX (int mode, double trigger)
Sets the adapt scale option of the x-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Trigger value, unused if mode is off or empty
Return value:

H - 122
DIgSILENT PowerFactory DPL Reference

none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and sets its
adapt scale option. The first example works fine, the second one generates an error mes-
sage because the x-scale is unused.
! Modify adapt scale option of Virtual Instrument Panel
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale limits to set option 'Use local x-Axis'
aPage.SetScaleX(0,20);
! Turn on adapt scale, use a trigger value of 3
aPage.SetAdaptX(1,3);
! Turn off adapt scale
aPage.SetAdaptX(0,3);
! Turn on adapt scale again, do not change the trigger value
aPage.SetAdaptX(1);
}
}
! Try to turn on adapt scale
object aPage;
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Try to turn on adapt scale, use a trigger value of 3
! Leads to error message because scale is not local
aPage.SetAdaptX(1,3);
}
}
Also see Methods for Additional Objects (Int*)

SetVipage.GetScaleObjX
object SetVipage.GetScaleObjX ()
Returns used object defining x-scale. The returned object is either the Virtual Instrument
Panel itself or the Graphics Board.
Arguments:
none
Return value:
Object defining the x-scale.
Example:

H - 123
DIgSILENT PowerFactory DPL Reference

The following examples look for a Virtual Instrument Panel named Voltage and get the
used x-scale object. GetScaleObjX of the first example gets the Graphics Board, in the sec-
ond one the Virtual Instrument Panel itself is returned.
! Used scale is Graphics Board
object aPage;
object aGrf;
object aScale;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get object defining scale
aScale=aPage.GetScaleObjX();
if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel
itself.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
! Used scale is Virtual Instrument Panel itself
object aPage;
object aGrf;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale to change it to local
aPage.SetScaleX(1,100);
! Get object defining scale
aScale=aPage.GetScaleObjX();
if (aPage=aScale)
output('The scale used is the Virtual Instrument Panel itself.');
else if (aGrf=aScale)
output('The scale used is the Graphics Board.');
else
output('The scale used was not found.');
}
}
Also see Methods for Additional Objects (Int*)

H.10.2 VisPlot/VisPlot2 Methods


AddVars
AddResVars
Clear

H - 124
DIgSILENT PowerFactory DPL Reference

SetXVar
SetScaleX
SetScaleY
SetDefScaleX
SetDefScaleY
DoAutoScaleX
DoAutoScaleY
DoAutoScaleY2
SetAutoScaleX
SetAutoScaleY
SetAdaptX
SetAdaptY
GetScaleObjX
GetScaleObjY
SetCrvDesc

VisPlot.AddVars
void VisPlot.AddVars (string V, object O1,...,O8)
void VisPlot.AddVars (object O, string V1,...V8)
Appends variables to the SubPlot. Variables which are already in the plot are not added.
Arguments:
object O (obligatory) : Object for which variables V1..V8 are added
string V1..V8 (obligatory) : One to eight variables names for object O
or
string V (obligatory) : Variable name which is added for objects O1..O8
object O1..O8 (obligatory) : One to eight objects variable V
Return value:
none
Using AddVars a single object with different variables or one variable with several objects
can be add to the Subplot. To append a list of variables of a single object the first input
parameter is an object followed by a list of maximum nine variables. To append the same
variable for several objects the first input parameter is the variable name followed by a
list of maximum nine objects.
Example:
The following examples look for a Subplot named RST on Virtual Instrument Panel named
Voltage and append a list of variables.
1. Example: Append several variables for one single object.
2. Example: Append one variable for a list of objects.
! Append several variables for one single object.

H - 125
DIgSILENT PowerFactory DPL Reference

object aPage;
object aGrf;
object aPlot;
object aScale;
! Note: object load is an interface parameter,
! therefore it is not defined here
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(load, 'm:U1:bus1','m:U1l:bus1','m:phiu1:bus1');
}
}
}
! Append several objects with one single variable
object aPage;
object aGrf;
object aPlot;
object aScale;
! objects load,line and xnet are interface parameters,
! therefore they are not defined here.
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars('m:U1:bus1',load, line, xnet);
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.AddResVars
void VisPlot.AddResVars (object Res, string V, object O1,...,O7)
void VisPlot.AddResVars (object Res, object O, string V1,...V7)
Appends variables from a specific result file to the SubPlot. Combinations of result file and
variables which are already in the plot are not added.
Arguments:
object Res (obligatory) : Result object

H - 126
DIgSILENT PowerFactory DPL Reference

plus
object O (obligatory) : Object for which variables V1..V8 are added
string V1..V8 (obligatory) : One to eight variables names for object O
or
string V (obligatory) : Variable name which is added for objects O1..O8
object O1..O8 (obligatory) : One to eight objects variable V
Return value:
none
See "AddResVars'' for more information.

VisPlot.Clear
void VisPlot.Clear()
Removes all variables from SubPlot.
Arguments:
none
Return value:
none
Example:
The following example looks for a Subplot named RST on Virtual Instrument Panel named
Voltage and removes all variables from the plot.
! Remove all variables in Subplot named RST on
! Virtual Instrument Panel named Voltage
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get Subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Remove all variables from Subplot
aPlot.Clear();
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetXVar
void VisPlot.SetXVar (object obj, string varname)
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.

H - 127
DIgSILENT PowerFactory DPL Reference

Arguments:
object obj (optional) : x-axis object
string varname (optional) : variable of obj
Return value:
none
Example:
The following examples look for a Subplot named RST and set its x-axis variable. The first
example sets an user defined x-axis variable of the plot. The second one sets the default
x-axis variable (time).
! Set user defined x-axis variable
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get Subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale from 100 to 120
aPlot.SetScaleX(100,120);
! Set x-scale variable
aPlot.SetXVar(line,'m:U1:bus1');
}
}
}
! Set default x-axis variable (time)
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get Subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale from 100 to 120
aPlot.SetScaleX(100,120);
! Set default x-scale variable (time)
aPlot.SetXVar();
}
}
}
Also see Methods for Additional Objects (Int*)

H - 128
DIgSILENT PowerFactory DPL Reference

VisPlot.SetScaleX
void VisPlot.SetScaleX (double min, double max, int log)
Sets scale of x-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of x-scale.
double max (optional) : Maximum of x-scale.
int log (optional) : > 0 --> x-scale is logarithmic.
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and set its x-scale. There are three
different examples. 1. Example: Perform auto scaling on x-axis. 2. Example: Set minimum
to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000. Changes
to a log. scale
! Automatic scaling of x-scale
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Automatic scaling
aPlot.SetScaleX();
}
}
}
! Set minimum and maximum without changing map mode
object aPage;
object aGrf;object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum
aPlot.SetScaleX(0,20);
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;

H - 129
DIgSILENT PowerFactory DPL Reference

object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum, change to log scale
aPlot.SetScaleX(1,1000,1);
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetScaleY
void VisPlot.SetScaleX (double min, double max, int log)
Sets scale of y-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of y-scale.
double max (optional) : Maximum of y-scale.
int log (optional) : > 0 --> y-scale is logarithmic.
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and set its y-axis scale. There are
three different examples. 1. Example: Perform auto scaling on y-Axis. 2. Example: Set
minimum to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000.
Changes to a log. scale
! Automatic scaling of y-scale
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Automatic scaling
aPlot.SetScaleY();
}
}
}

H - 130
DIgSILENT PowerFactory DPL Reference

! Set minimum and maximum without changing map mode


object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum
aPlot.SetScaleY(0,20);
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum, change to log. scale
aPlot.SetScaleY(1,1000,1);
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetDefScaleX
void VisPlot.SetDefScaleX ()
Sets default scale of x-axis (SetDesktop or SetVipage).
Arguments:
none
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and sets the option 'Use local x-
Axis' to 0. After that the x-scale used is the Graphics Board (SetDesktop) or the Virtual
Instrument Panel (SetVipage).
! Reset option 'Use local x-Axis'
object aPage;
object aGrf;
object aPlot;

H - 131
DIgSILENT PowerFactory DPL Reference

! Look for opened graphics board.


aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis'
aPlot.SetDefScaleX();
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetDefScaleY
void VisPlot.SetDefScaleY ()
Sets default scale of y-axis (IntPlot).
Arguments:
none
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and sets its option 'Use local y-
Axis' to 0. After that the y-scale used is the Plot Type (IntPlot).
! Reset option 'Use local y-Axis'
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis'
aPlot.SetDefScaleY();
}
}
}
Also see Methods for Additional Objects (Int*)

H - 132
DIgSILENT PowerFactory DPL Reference

VisPlot.DoAutoScaleX
int VisPlot.DoAutoScaleX ()
Scales the x-axis of the plot automatically. The function works for local x-scales only. If
the x-scale is not local a warning is shown in the output window and 1 is returned by the
function. This command works for the plot VisPlot, VisHrm and VisPlot2.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST' and performs an automatic scal-
ing.
! perform autoscale of x-axis
object aPage;
object aGrf;
object aPlot;
int iFailed;
iFailed=1;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleX();
if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale x-axis');

}
}
}
}
Also see VisFft Methods
SetViPage Methods
SetDesktop Methods

VisPlot.DoAutoScaleY
int VisPlot.DoAutoScaleY ()
Scales the y-axis of the plot automatically. The function works for local y-scales only. If
the y-scale is not local a warning is shown in the output window and 1 is returned by the
function. This command works for the plot VisPlot, VisHrm, VisFft and VisPlot2.
Arguments:

H - 133
DIgSILENT PowerFactory DPL Reference

none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST' and performs an automatic scal-
ing.
! perform autoscale of y-axis
object aPage;
object aGrf;
object aPlot;
int iFailed;
iFailed=1;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleY();
if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale y-axis');
}
}
}
}
Also see SetViPage Methods

VisPlot2.DoAutoScaleY2
int VisPlot2.DoAutoScaleY2 ()
Scales the second y-axis of the plot automatically. The function works if the y-Axis is en-
abled and uses the local y-scale settings. In any other case a warning is produced and
the function returns 1.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST' and performs an automatic scal-
ing.
! perform autoscale of y2-axis
object aPage;
object aGrf;
object aPlot;
int iFailed;
iFailed=1;

H - 134
DIgSILENT PowerFactory DPL Reference

! Look for opened graphics board.


aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot2',1);
if (aPlot) {
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleY2();
if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale y2-axis');
}
}
}
}
Also see SetViPage Methods

VisPlot.SetAutoScaleX
void VisPlot.SetAutoScaleX (int mode)
Sets automatic scaling mode of the x-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and change its auto scale mode.
The first example works fine, the second one generates an error message because the x-
scale is unused.
! Set autoscale mode of x-scale to off
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set limits to change x-scale of page to used scale
aPlot.SetScaleX(0,10);
! Turn off automatic scaling of x-scale
aPlot.SetAutoScaleX(0);
}
}
}
! Try to set autoscale mode of x-scale to online
object aPage;

H - 135
DIgSILENT PowerFactory DPL Reference

object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis' of Subplot
aPlot.SetDefScaleX();
! Try to set automatic scaling of x-scale to Online
aPlot.SetAutoScaleX(2);
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetAutoScaleY
void VisPlot.SetAutoScaleY (int mode)
Sets automatic scaling mode of the y-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and change its auto scale mode.
The first example works fine, the second one generates an error message because the y-
scale is unused.
! Set autoscale mode of y-scale to off
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set limits to change y-scale of page to used scale
aPlot.SetScaleY(0,10);
! Turn off automatic scaling of y-scale
aPlot.SetAutoScaleY(0);
}
}
}
! Try to set autoscale mode of y-scale to online
object aPage;

H - 136
DIgSILENT PowerFactory DPL Reference

object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of Subplot
aPlot.SetDefScaleY();
! Try to set automatic scaling of y-scale to Online
aPlot.SetAutoScaleY(2);
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetAdaptX
void VisPlot.SetAdaptX (int mode, double trigger)
Sets the adapt scale option of the x-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Trigger value, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and change its adapt scale option.
The first example works fine, the second one generates an error message because the x-
scale is unused.
! Modify adapt scale option of Subplot
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale limits to set option 'Use local x-Axis'
aPlot.SetScaleX(0,20);
! Turn on adapt scale, use a trigger value of 3
aPlot.SetAdaptX(1,3);
! Turn off adapt scale
aPlot.SetAdaptX(0,3);

H - 137
DIgSILENT PowerFactory DPL Reference

! Turn on adapt scale again, do not change the trigger value


aPlot.SetAdaptX(1);
}
}
}
! Try to turn on adapt scale of x-scale
object aPage;
object aGrf;object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis' of Subplot
aPlot.SetDefScaleX();
! Try to turn on adapt scale, use a trigger value of 3
! Leads to error message because scale is not local
aPlot.SetAdaptX(1,3);
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetAdaptY
void VisPlot.SetAdaptY (int mode, double offset)
Sets the adapt scale option of the y-scale for local scales.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double trigger (optional) : Offset, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Subplot named 'RST' and change its adapt scale option
of the y scale. The first example works fine, the second one generates an error message
because the y-scale is unused.
! Modify adapt scale option of Subplot
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {

H - 138
DIgSILENT PowerFactory DPL Reference

! Set y-scale limits to set option 'Use local y-Axis'


aPlot.SetScaleY(0,20);
! Turn on adapt scale, use a trigger value of 3
aPlot.SetAdaptY(1,3);
! Turn off adapt scale
aPlot.SetAdaptY(0,3);
! Turn on adapt scale again, do not change the trigger value
aPlot.SetAdaptY(1);
}
}
}
! Try to turn on adapt scale for y-scale
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of Subplot
aPlot.SetDefScaleY();
! Try to turn on adapt scale, use a trigger value of 3
! Leads to error message because scale is not local
aPlot.SetAdaptY(1,3);
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.GetScaleObjX
object VisPlot.GetScaleObjX ()
Returns used object defining x-scale. The returned object is the Subplot itself, the Virtual
Instrument Panel or the Graphics Board.
Arguments:
none
Return value:
Object defining the x-scale.
Example:
The following examples look for a Subplot named 'RST' and get the used x-scale object.
There are three different examples.
1. Example: Used scale is Graphics Board 2. Example: Used scale is Virtual Instrument
Panel 3. Example: Used scale is Subplot itself.

! Used scale is Graphics Board


object aPage;
object aGrf;

H - 139
DIgSILENT PowerFactory DPL Reference

object aPlot;
object aScale;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis' of Subplot
aPlot.SetDefScaleX();
! Get object defining scale
aScale=aPlot.GetScaleObjX();
if (aPlot=aScale) {
output('The scale used is the Subplot itself.');
} else if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
}
! Used Scale is Virtual Instrument Panel
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale to change it to local
aPage.SetScaleX(1,100);
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis' of Subplot
aPlot.SetDefScaleX();
! Get object defining scale
aScale=aPlot.GetScaleObjX();
if (aPlot=aScale) {
output('The scale used is the Subplot itself.');
} else if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
}
! Used Scale is Subplot itself

H - 140
DIgSILENT PowerFactory DPL Reference

object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis' of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale of Subplot to change it to local
aPlot.SetScaleX(1,100);
! Get object defining scale
aScale=aPlot.GetScaleObjX();
if (aPlot=aScale) {
output('The scale used is the Subplot itself.');
} else if (aPage=aScale) {
output('The scale used is the Virtual Instrument Panel.');
} else if (aGrf=aScale) {
output('The scale used is the Graphics Board.');
} else {
output('The scale used was not found.');
}
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.GetScaleObjY
object VisPlot.GetScaleObjY ()
Returns used object defining y-scale. The returned object is either the Subplot itself or
the Plot Type (IntPlot).
Arguments:
none
Return value:
Object defining the y-scale.
Example:
The following examples look for a Subplot named 'RST' and get the used y-scale object.
There are three different examples.
1. Example: Used scale is Plot Type.
2. Example: Used scale is Subplot itself.
! Used scale is Plot Type
object aPage;
object aGrf;
object aPlot;

H - 141
DIgSILENT PowerFactory DPL Reference

object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of Subplot
aPlot.SetDefScaleY();
! Get object defining scale
aScale=aPlot.GetScaleObjY();
if (aScale=aPlot) {
output('The y-scale used is the Subplot itself.');
} else {
output('The y-scale used is the Plot Type.');
}
}
}
}
! Used scale is Subplot itself
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale of Subplot to change it to local
aPlot.SetScaleY(1,100);
! Get object defining scale
aScale=aPlot.GetScaleObjY();
if (aScale=aPlot) {
output('The y-scale used is the Subplot itself.');
} else {
output('The y-scale used is the Plot Type.');
}
}
}
}
Also see Methods for Additional Objects (Int*)

VisPlot.SetCrvDesc
object VisPlot.SetCrvDesc (int index, string desc [, string desc1]...)
Sets the description of curves starting at curve number 'index'. A list of descriprions can
be set.
Arguments:

H - 142
DIgSILENT PowerFactory DPL Reference

int index (obligatory) : Row of first curve to change the description.


string desc (obligatory) : Description to set for curve in row index.
string desc1 (optional) : Description to set for curve in row index+1. Object defining the
y-scale.
Example:
The following examples look for a Subplot named 'RST' sets the description for the curves
defined in row two and three. The first variable's description remains unchanged.
! Modify descriptions
object aPage;
object aGrf;
object aPlot;
object aScale;
! Note: object load is an interface parameter,
! therefore it is not defined here! Look for opened graphics
board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(load, 'm:U1:bus1','m:U1l:bus1','m:phiu1:bus1');
! Set description of row 2 and 3
aPlot.SetCrvDesc(2,,'Line-Line Voltage','Angle');
}
}
}
Also see Methods for Additional Objects (Int*)

H.10.3 VisFft Methods


DoAutoScaleX

VisFft.DoAutoScaleX
int VisFft.DoAutoScaleX ()
Scales the x-axis of the fft plot automatically. After scaling the x-axis automatically the x-
scale minimum is 0. The maximum is nsamples/2 or nsamples/2 x fundamental frequency.
Arguments:
none
Return value:
always 0
Example:
The following example looks for a FFT-Plot named 'FFT' and performs an automatic scal-

H - 143
DIgSILENT PowerFactory DPL Reference

ing.
! perform autoscale of x-axis
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get FFT plot named 'FFT'
aPlot=aPage.GetVI('RST','VisFft',1);
if (aPlot) {
! perform automatic scaling now
aPlot.DoAutoScaleX();
}
}
}
Also see VisPlot Methods and SetViPage Methods

H.10.4 IntPlot Methods


SetScaleY
SetAutoScaleY
SetAdaptY

IntPlot.SetScaleY
void IntPlot.SetScaleY (double min, double max, int log)
Sets scale of y-axis. Invalid arguments like negative limits for logarithmic scale are not
set. No arguments --> automatic scaling.
Arguments:
double min (optional) : Minimum of y-scale.
double max (optional) : Maximum of y-scale.
int log (optional) : > 0 --> y-scale is logarithmic; 0 --> y-scale is linear.
Return value:
none
Example:
The following example looks for a Subplot named 'RST' and set its y-axis scale. There are
three different examples. 1. Example: Perform auto scaling on y-Axis. 2. Example: Set
minimum to 0 and maximum to 20. 3. Example: Set minimum to 1 and maximum to 1000.
Changes to a log. scale
! Automatic scaling of y-scale
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.

H - 144
DIgSILENT PowerFactory 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();
}
}
}
}
! Set minimum and maximum without changing map mode
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(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)

H - 145
DIgSILENT PowerFactory DPL Reference

aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY(1,1000,1);
}
}
}
}
Also see Methods for Additional Objects (Int*)

IntPlot.SetAutoScaleY
void IntPlot.SetAutoScaleY (int mode)
Sets automatic scaling mode of the y-scale.
Arguments:
int mode (obligatory) : Possible values: 0 never, 1 after simulation, 2 during simulation
Return value:
none
Example:
The following example sets the auto scale mode of the Plot Type to On.
! Set autoscale option of Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Set auto scale option to on
aScale.SetAutoScaleY(1);
}
}
}
}
Also see Methods for Additional Objects (Int*)

IntPlot.SetAdaptY
void IntPlot.SetAdaptY (int mode, double offset)

H - 146
DIgSILENT PowerFactory DPL Reference

Sets the adapt scale option of the y-scale.


Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double offset (optional) : Offset, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Subplot named 'RST', gets its Plot Type and changes
the adapt scale option of the scale.
! Modify adapt scale option of Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis' of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Set y-scale limits to set option 'Use local y-Axis'
aScale.SetScaleY(0,20);
! Turn on adapt scale, use an offset of 3
aScale.SetAdaptY(1,3);
! Turn off adapt scale
aScale.SetAdaptY(0,3);
! Turn on adapt scale again, do not change the offset
aScale.SetAdaptY(1);
}
}
}
}
Also see Methods for Additional Objects (Int*)

H.11 Methods for Additional Objects (Int*)

H - 147
DIgSILENT PowerFactory DPL Reference

H.11.1 IntVariant Methods


Activate Adds a variant to the active study case
Deactivate Removes a variant from the active study case

IntVariant.Activate
int IntVariant.Activate ()
Adds a variant to the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

IntVariant.Deactivate
int IntVariant.Deactivate ()
Removes a variant from the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
See also
General Object Functions and Methods
Set Functions and Methods

H.11.2 IntMon Methods


PrintVal Prints the values of the selected variables
PrintAllVal Prints a description for all variables
NVars returns the number of selected variables
GetVar Returns the n'th selected variable name
RemoveVar De-selects a variable
ClearVars Clears the selected variable names
AddVar Selects a variable name

H - 148
DIgSILENT PowerFactory DPL Reference

IntMon.PrintVal
void IntMon.PrintVal ()
Prints the values of the selected variables to the output window.
Arguments:
none
Return value:
none
See also
General Object Functions and Methods
Set Functions and Methods

IntMon.PrintAllVal
void IntMon.PrintAllVal ()
Prints a description for all available variables to the output window.
Arguments:
none
Return value:
none
See also
General Object Functions and Methods
Set Functions and Methods

IntMon.NVars
int IntMon.NVars ()
Returns the number of selected variables or, more exact, the number of lines in the vari-
able selection text on the second page of the IntMon dialogue, which should contain one
variable name per line.
Arguments:
none
Return value:
The number of selected variables.
See also
General Object Functions and Methods
Set Functions and Methods

H - 149
DIgSILENT PowerFactory DPL Reference

IntMon.GetVar
string IntMon.GetVar (int row)
Returns the variable name on the given row of the variable selection text on the second
page of the IntMon dialogue, which should contain one variable name per line.
Arguments:
none
Return value:
The variable name.
See also
General Object Functions and Methods
Set Functions and Methods

IntMon.RemoveVar
int IntMon.RemoveVar (string name)
Removes the variable "name'' from the list of selected variable names.
Arguments:
The variable name.
Return value:
1 when the variable name was not found, 0 otherwise.
See also
General Object Functions and Methods
Set Functions and Methods

IntMon.ClearVars
int IntMon.ClearVars ()
Clears the list of selected variable names.
Arguments:
none
Return value:
none
See also
General Object Functions and Methods
Set Functions and Methods

H - 150
DIgSILENT PowerFactory DPL Reference

IntMon.AddVar
int IntMon.AddVar (string name)
Appends the variable "name'' to the list of selected variable names.
Arguments:
The variable name.
Return value:
none
See also
General Object Functions and Methods
Set Functions and Methods

H.11.3 IntMat Methods


Get Returns the (row, col) value
Set Set the value at position (row,col)
Init Initializes the matrix
Resize Resizes the matrix
NRow Returns the number of rows in the matrix
NCol Returns the number of columns in the matrix
RowLbl Sets the label of the R'th row
ColLbl Sets the label of the C'th column

IntMat.Get
double IntMat.Get (int row, int col)
Returns the (row, col) value from the matrix. An run-time error will occur when 'row' or
'col' are out of range.
Arguments:
int row (obligatory) : row in matrix: 1..NRow()
int col (obligatory) : column in matrix: 1..NCol()
Return value:
Value in matrix.
Example:
The following example multiplies two matrices
int r,c,z,s,s1r,s2c;
double v1,v2,v;
s = M1.NCol();
r = M2.NRow();
if (s<>r) {exit();}
s1r = M1.NRow();

H - 151
DIgSILENT PowerFactory DPL Reference

s2c = M2.NCol();
M3.Init(s1r,s2c);
r=1;
while (r<=s1r) {
c=1;
while (c<=s2c) {
z=1; v=0.0;
while (z<=s) {
v1=M1.Get(r,z);
v2=M2.Get(z,c);
v+=v1*v2;
z+=1;
}
M3.Set(r,c,v);
c+=1;
}
r+=1;
}
See also
General Object Functions and Methods
Set Functions and Methods

IntMat.Set
int IntMat.Set (int row, int col, double V)
Set the value at position (row,col) in the matrix to V. The matrix is automatically resized
if necessary.
Arguments:
int row (obligatory) : row number: 1..NRows()
int col (obligatory) : col number: 1..NCols()
double Vj (obligatory) : value
Return value:
0 on success
Example:
See IntMat.Get for an example.

IntMat.Init
int IntMat.Init (int NRows, int NCols)
Initializes the matrix. The size is set to (NRows, NCols), all values are set to 0.
Arguments:
int NRows (obligatory) : number of rows
int NCols (obligatory) : number of columns
Return value:

H - 152
DIgSILENT PowerFactory DPL Reference

0 on success
Example:
See IntMat.Get for an example.

IntMat.Resize
int IntMat.Resize (int NRows, int NCols)
Resizes the matrix. Existing values will not be changed. Added values will be set to 0.
Arguments:
int NRows (obligatory) : number of rows
int NCols (obligatory) : number of columns
Return value:
0 on success
Example:
The following example gets a value from the matrix, possibly resizing it first.
int Nc,Nr,x,y;
Nr = Mat.NRows();
Nc = Mat.NCols();
x=5;y=3;
if ({x>Nr}.or.{y>Nc}) {
Mat.Resize(x,y);
}
v = Mat.Get(x,y);
See also
General Object Functions and Methods
Set Functions and Methods

IntMat.NRow
int IntMat.NRow ()
Returns the number of rows in the matrix. The function "NRow()'' replaces the obsolete
function "SizeX()''.
Arguments:
none
Return value:
The number of rows
Example:
See IntMat.Get for an example.

H - 153
DIgSILENT PowerFactory DPL Reference

IntMat.NCol
int IntMat.NCol ()
Returns the number of columns in the matrix. The function "NCol()'' replaces the obsolete
function "SizeY()''.
Arguments:
none
Return value:
The number of columns
Example:
See IntMat.Get for an example.

IntMat.RowLbl
string IntMat.RowLbl (String S, int R)
Sets or reads the label of the R'th row.
Arguments:
String S (optional) : Labelstring, required to set the label
int R (obligatory) : Number of the row
Return value:
Assigned or read labelstring
Example:
The following example labels some rows.
Mat.RowLbl('overloaded',1);
Mat.RowLbl('overvoltage',2);
Mat.RowLbl('undervoltage',3);
The following example assigns the label of the first row to the string aLabel
string aLabel;
aLabel = Mat.RowLbl(1);
See also
General Object Functions and Methods
Set Functions and Methods

IntMat.ColLbl
string IntMat.ColLbl (String S, int C)
Sets or reads the label of the C'th column.
Arguments:
String S (optional) : Labelstring
int C (obligatory) : Number of the column

H - 154
DIgSILENT PowerFactory DPL Reference

Return value:
Assigned or read labelstring
Example:
The following example labels some columns.
Mat.ColLbl('transformers',1);
Mat.ColLbl('lines',2);
Mat.ColLbl('busbars',3);
The following example assigns the label of the first column to the string aLabel
string aLabel;
aLabel = Mat.ColLbl(1);
See also
General Object Functions and Methods
Set Functions and Methods

H.11.4 IntVec Methods


Get Returns the value at index i
Set Sets the value at index i
Init Initializes the vector
Resize Resizes the vector
Size Returns the size of the vector

IntVec.Get
double IntVec.Get (int i)
Returns the value at index i.
Arguments:
int i (obligatory) : Vector index.
Return value:
Value at index i.
Example:
The following example adds two vectors.
int i,j;
double v1,v2;
i = Vec1.Size();
j = Vec2.Size();
if (i<>j) {
output('invalid operation');
exit();
}
Vec3.Init(i);
i=1;
while (i<=j) {
v1 = Vec1.Get(i);

H - 155
DIgSILENT PowerFactory DPL Reference

v2 = Vec2.Get(i);
Vec3.Set(i,v1+v2);
i+=1;
}
See also
General Object Functions and Methods
Set Functions and Methods

IntVec.Set
double IntVec.Set (int i, double V)
Sets the value at index i to V. Valid indexes are in [1, IntVec.Size()].
Arguments:
int i (obligatory) : Vector index.
double V (obligatory) : The value to set.
Return value:
0 on success
Example:
See IntVec.Get for an example.

IntVec.Init
int IntVec.Init (int Size)
Initializes the vector. Sets the length to Size and all values to 0.
Arguments:
int Size (obligatory) : The initial size.
Return value:
0 on success
Example:
See IntVec.Get for an example.

IntVec.Resize
int IntVec.Resize (int Size)
Resizes the vector. Added values are set to 0.0.
Arguments:
none
Return value:

H - 156
DIgSILENT PowerFactory DPL Reference

0 on success
Example:
The following example adds a value to a dynamically scaled vector.
int i,s;
i = 5;
s = Vec.Size();
if (i>s) {
Vec.Resize(i);
}
Vec.Set(i,V);
See also
General Object Functions and Methods
Set Functions and Methods

IntVec.Size
int IntVec.Size ()
Returns the size of the vector.
Arguments:
none
Return value:
The size of the vector
Example:
See IntVec.Get for an example.

H.11.5 IntForm Methods


SetText Sets the format text
WriteOut Write the report to the output window

IntForm.SetText
int IntForm.SetText (String Text)
Sets the format text of a report form.
Arguments:
String Text (obligatory) : The format text string
Return value:
0 on success
Example:
The following example sets a format string and writes the report for two sets

H - 157
DIgSILENT PowerFactory DPL Reference

set SLines,SLoads;
... fill SLines and SLoads ...
OvlReport.SetText('
| Loading of lines: |$H
$LOOP,_EXTERNAL
|# #.# |$N,loc_name,loading
$END ');
OvlReport.WriteOut(SLines, SLoads);
See also IntForm.WriteOut
See also
General Object Functions and Methods
Set Functions and Methods

IntForm.WriteOut
int IntForm.WriteOut (set ListSet, set PoolSet, int Landscape)
Write the report to the output window.
The report form object will write a report to the output window, based on the format text,
for the objects in the ListSet and the PoolSet. The ListSet is used in the _EXTERNAL mac-
ro. All format lines between the $LOOP,_EXTERNAL and the $END macro's will be written
for each object in the Listset, which is therefore called the 'sequential set'. In the format
text itself, objects from the PoolSet may be referenced directly by the "ACC(x)'' macro,
which is replaced by the x'th object in the PoolSet. The PoolSet is therefore called the
'random access set'. The ListSet or PoolSet may be empty.
The command object that is normally reached by the macro "DEF'' in report forms will
always return the main DPL command that is running at the moment, even when the
'WriteOut' call is made in a DPL subscript.
Arguments:
Set ListSet (obligatory) : The sequential set of objects
Set PoolSet (optional) : The random access set of objects
int Landscape (optional) : Sets the page orientation used to calculate the number of lines
fitting on a printed page
0 = Portrait, 1 = Landscape; default: Landscape
Return value:
0 on success
Example:
The following example reports the loading of a list of objects for a certain load condition.
The objects for the loading are sequentially listed. The load conditions are reported for a
special set of loads, which are given as a pool of objects.
set SLines,SLoads;
... fill SLines and SLoads ...
OvlReport.WriteOut(SLines, SLoads);
If OvlReport has the following format string:
---------------------$H,
| command : # |$H,DEF:loc_name
| Load settings: |$H| # #.# |$H,ACC(2):loc_name,ACC(2):plini

H - 158
DIgSILENT PowerFactory DPL Reference

| # #.# |$H,ACC(3):loc_name,ACC(3):plini
---------------------$H,
| Loading of lines: |$H
$LOOP,_EXTERNAL
|# #.# |$N,loc_name,loading
$END
---------------------$F,
the following report could be the result:

---------------------|
command : FindWL |
| Load settings: |
| Ld12a 3.43 |
| Ld14b 2.52 |
---------------------
| Loading of lines: |
| Ln1 95.6 |
| Ln2 92.1 |
| Ln3 90.4 |
| Ln4 85.3 |
| Ln5 84.7 |
| Ln6 84.2 |
| Ln7 82.6 |
| Ln8 62.5 |
---------------------
See also IntForm.SetText
See also
General Object Functions and Methods
Set Functions and Methods

H.12 DDE Functions

ddeOpen Establishes a DDE connection to a topic of an application.


ddeClose Closes the DDE link.
ddeExe Starts command in the current dde opened topic.
ddePoke Sends data to an item in the currently opened DDE topic.
ddeRequest Receives data from an item in a previously opened DDE topic.

ddeOpen
int ddeOpen(string sPath, string sAppName, string sTopic)
Establishes a DDE connection to a topic of an application.
Arguments:
string sPath (obligatory) :Path to application to start. If empty ('') the application must be
started manually by the user. If path is given, ddeOpen will start the application if it not

H - 159
DIgSILENT PowerFactory DPL Reference

already running.
string sAppName (obligatory) : Application name.
string sTopic (obligatory) : Topic; The topic of a DDE conversation can be either the name
of a open document or the special topic "System". A document can be either a regular
document in the application, a template, or a macro
Return value:
0 on success, != 0 on errors
Example:
The following example establishes a DDE connection to topic System of Excel and closes
the connection if successfully established.
int ierr;

! open a DDE connection to Excel :


ierr = ddeOpen(s, 'Excel', 'System');
if (.not.ierr) {
! ok, excel can be opened.
! ...
ddeClose();
}
Also see ddeClose

ddeClose
void ddeClose()
Closes the DDE link.
Arguments:
none
Return value:
none
Example:
The following example establishes a DDE link to topic named 'System' of Excel and closes
the connection if successfully established.
int ierr;

! open a DDE connection to Excel :


ierr = ddeOpen(s, 'Excel', 'System');
if (.not.ierr) {
! ok, excel can be opened.
! ...
ddeClose();
}
Also see ddeOpen

H - 160
DIgSILENT PowerFactory DPL Reference

ddeExe
int ddeExe (string sCmd)
Starts command in the currently opened topic. A command can be a visual basic com-
mand, too. Commands are usually sent to the topic named 'System'.
Arguments:
string sCmd (obligatory): Command to execute
Return value:
<0 if the dde connection was not established before calling ddeExe, =0 if ddeExe suc-
cessfully executed, >0 if ddeExe failed
Example:
The following example looks for a sheet named 'Sheet1'. A new sheet is created if Sheet1
was not found. Then the DDE link to the page is established.
int ierr;

ierr = ddeOpen('', 'Excel', 'System');


if (.not.ierr) {
! excel can be opened. Now close and connect to a specific sheet
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
if (ierr) {
Info('No Sheet1 yet, creating one...');
ierr = ddeOpen('', 'Excel', 'System');
if (ierr) {
printf('Cannot open DDE to Excel');
} else {
! create a new sheet
ddeExe('[New(1)]');
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
}
}
}
if (ierr) {
Error('Could not open DDE connection');
exit();
}

ddePoke
int ddePoke (string sItem, string sData)
Sends data to an item in the currently opened DDE topic.
Arguments:
string sItem: the item receiving the data. Examples for an item are a cell in excel or a
named bookmark in word.
string sData: the data to send.
Return value:
<0 if the dde connection was not established before calling ddePoke, =0 if the ddePoke

H - 161
DIgSILENT PowerFactory DPL Reference

was successfully executed, >0: if the ddePoke failed.


Example:
The following example writes data to some cells on the worksheet named 'Sheet1' in Ex-
cel. It is assumed that Excel is already running when starting the dpl command.
int ierr, i;
double x,y,z;
string s,s1,s2;

Warn('This example assumes an English Excel');


Warn('Other languages should translate the Excel commands');
Warn('like "concatenate"');

! open a DDE connection to Sheet1 :


ierr = ddeOpen('', 'Excel', 'System');
if (.not.ierr) {
! excel can be opened. Now close and connect to a specific sheet
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
if (ierr) {
Info('No Sheet1 yet, creating one...');
ierr = ddeOpen('', 'Excel', 'System');
if (ierr) {
printf('Cannot open DDE to Excel');
} else {
! create a new sheet
ddeExe('[New(1)]');
ddeClose();
ierr = ddeOpen('', 'Excel', 'Sheet1');
}
}
}
if (ierr) {
Error('Could not open DDE connection');
exit();
}

! write some numbers


x = 3;
while (x<7) {
y = 5;
while (y<14) {
z = x+y/100;
s1 = sprintf('R%dC%d',x,y);
s2 = sprintf('%f',z);
ddePoke(s1,s2); ! poke the numbers in the sheet
y+=1;
}
x+=1;
}
Also see ddeRequest

ddeRequest
int ddeRequest (string sItem, string sStringData, double dNumVal)
Receives data from an item in a previously opened DDE topic

H - 162
DIgSILENT PowerFactory DPL Reference

Arguments:
string sItem: The item. Examples for an item are a cell in excel or a named bookmark in
word
string sStringData:The data received from the topic as string (return value=2)
double dNumVal:The data received from the topic as a number (if sStringData is a num-
ber, return value=2)
Return value:
<0 if the dde connection was not established before calling ddeRequest, =0 if the ddeRe-
quest failed, =1 if value is a number, =2 if value is a string.
Example:
The following is a small code fragment where data is read from an Excel sheet. The code
fragment runs fine, in case that the currently opened DDE topic is an Excel sheet.
i = ddeRequest('R12C2',s,x); ! get the contents of a cel
if (i=1) printf('%f', x); ! i=1 means a number
i = ddeRequest('R5C2',s,x);
if (i=2) printf('%s', s); ! i=2 means a string
Also see ddePoke

H - 163
DIgSILENT PowerFactory DPL Reference

H - 164
DIgSILENT PowerFactory DSL Reference

Appendix I
DSL Reference

I.1 DSL Standard Functions


All trigonometric functions use RADIANS.

Table I.1:Standard DSL Functions List


function description example

sin(x) sine sin(1.2)=0.93203

cos(x) cosine cos(1.2)=0.36236

tan(x) tangent tan(1.2)=2.57215

asin(x) arcsine asin(0.93203)=1.2

acos(x) arccosine acos(0.36236)=1.2

atan(x) arctangent atan(2.57215)=1.2

sinh(x) hyperbolic sine sinh(1.5708)=2.3013

cosh(x) hyperbolic cosine cosh(1.5708)=2.5092

tanh(x) hyperbolic tangent tanh(0.7616)=1.0000

exp(x) exponential value exp(1.0)=2.718281

ln(x) natural logarithm ln(2.718281)=1.0

log(x) log10 log(100)=2

sqrt(x) square root sqrt(9.5)=3.0822

sqr(x) power of 2 sqr(3.0822)=9.5

pow (x,y) power of y pow(2.5, 3.4)=22.5422

abs(x) absolute value abs(-2.34)=2.34

min(x,y) smaller value min(6.4, 1.5)=1.5

max(x,y) larger value max(6.4, 1.5)=6.4

modulo(x,y) remainder of x/y modulo(15.6,3.4)=2

trunc(x) integral part trunc(-4.58823)=-


4.0000

frac(x) fractional part frac(-4.58823)=-


0.58823

round(x) closest integer round(1.65)=2.000

I-1
DIgSILENT PowerFactory DSL Reference

Table I.1:Standard DSL Functions List


ceil(x) smallest larger integer ceil(1.15)=2.000

floor(x) largest smaller integer floor(1.78)=1.000

time() current simulation time time()=0.1234

pi() 3.141592... pi()=3.141592...

twopi() 6.283185... twopi()=6.283185...

e() 2,718281... e()=2,718281...

I.2 DSL Special Functions

lim
lim (x, min, max)
Nonlinear limiter function:

limstate
limstate (x1, min, max)
Nonlinear limiter function for creating limited integrators.
Example:

x1. = xe/Ti;
y = limstate(x1,min,max);

This was previously realized by using "select'' and "lim'' functions:

x1. = select( {x1>=max.and.xe>0}


& .or.{x1<=min.and.xe<0}, 0, xe/Ti);
y = lim(x1,min,max);

delay
delay (x, Tdelay)
Delay function. Stores the value x(Tnow) and returns the value x(Tnow-Tdelay).
Tdelay in seconds and larger than 0.0. The expression Tdelay must evaluate to a
time independent constant and may therefore only consist of constants and param-
eter variables. The expression x(t) may contain other functions.
Example:

I-2
DIgSILENT PowerFactory DSL Reference

y = delay(xe + delay(x1, 1.0), 2.0)

Resetting a DSL model initializes its delay functions with x(Treset).

select
select (boolexpr, x, y)
Returns x if boolexpr is true, else y.
Example:

x1.=select(T1>0, xe/T1, 0.0) !to avoid division by zero

time
time ()
Returns the current simulation time.
Example:

t=time()
y = sin(t) or
y = sin(time())

file
file (ascii-parm, expr)
!OBSOLETE! Please use an ElmFile object in the composite model in stead.

picdro
picdro (boolexpr, Tpick, Tdrop)
Logical pick-up-drop-off function useful for relays. Returns the internal logical state:
0 or 1.
Return value:
The internal state:
• changes from 0 to 1, if boolexpr=1, for a duration of at least Tpick seconds
• changes from 1 to 0, if boolexpr=0, after Tdrop seconds
• remains unaltered in other situations.

flipflop
flipflop (boolset, boolreset)
Logical flip-flop function. Returns the internal logical state: 0 or 1.
Return value:
The internal state:

I-3
DIgSILENT PowerFactory DSL Reference

• changes from 0 to 1, if boolset=1 and boolreset=0 (SET)


• changes from 1 to 0, if boolset=0 and boolreset=1 (RESET)
• remains unaltered in other situations. (HOLD)
Initial value: boolset.
The initial condition boolset=boolreset=1 will cause an error message.

aflipflop
aflipflop (x, boolset, boolreset)
'Analog' flip-flop function. Returns the (old) value for x at SET-time if internal
state=1, else returns the current value of x.
Return value:
The internal state:
• changes from 0 to 1, if boolset=1 and boolreset=0 (SET)
• changes from 1 to 0, if boolset=0 and boolreset=1 (RESET)
• remains unaltered in other situations. (HOLD)

lapprox
lapprox (x, array_iiii)
Returns the linear approximation y=f(x), where f is defined by the array_iiii. Please
consider that the array has to be sorted in ascending order.
Example:

y = lapprox(1.8, array_valve)

invlapprox
invlapprox (y, array_iiii)
Inverse lapprox with array.

lapprox2
lapprox2 (xl, xc, matrix_iiii)
Returns the linear approximation y=f(xl,xc) of a two-dimensional array, where f is
defined by the matrix_iiii. xl represents the line value and xc the column of the ma-
trix. Please consider that the array has to be sorted in ascending order.
Example:

y = lapprox2(2.5, 3.7, matrix_cp)

sapprox
sapprox (x, array_iiii)

I-4
DIgSILENT PowerFactory DSL Reference

Returns the spline approximation y=f(x), where f is defined by the array_iiii. Please
consider that the array has to be sorted in ascending order.
Example:

y = sapprox(1.8, array_valve)

sapprox2
sapprox2 (xl, xc, matrix_iiii)
Returns the spline approximation y=f(xl,xc) of a two-dimensional array, where f is
defined by the matrix_iiii . xl represents the line value and xc the column of the ma-
trix.

Example:

y = sapprox2(2.5, 3.7, matrix_cp)

event
Option 1: calling a predefined event in the DSL element
event( Condition, trigger, 'name=ThisEvent dtime=delay value=val vari-
able=var')

Option 2: target specification, no create parameter


event( Condition, trigger, 'target=ThisSlot name=ThisEvent dtime=delay
value=val variable=var')

Option 3: create and target specification


event( Condition, trigger, 'create=ThisEvtType target=ThisSlot
name=ThisEvent dtime=delay value=val variable=var')
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!
Arguments:
int Condition (obligatory)
Boolean expression to activate (=1) or deactivate (=0) the event handling; if
Condition is set to 1, the event can be executed, depending on the trigger sig-
nal.
double trigger (obligatory)
The trigger signal, which will enable the execution of the event.

The string format determines the details of the event call, and which of the three
options above applies:
string ThisEvtType (mandatory, only option 3)
Type of event to be created. To specify the type use e.g. ’EvtParam’ for param-

I-5
DIgSILENT PowerFactory DSL Reference

eter event or ’EvtSwitch’ for switch event, etc.


string ThisSlot (mandatory, only options 2 and 3)
If 'target=this' is defined, the event is applied to a singal of the present DSL
model. If any other name is given, the DSL interpreter checks the composite
model where the present DSL model (common model) is used and searches for
a slot with the given name. The event is then applied to the element assigned
to that slot.
string ThisEvent (obligatory)
Name of the event created (option 3) or the external event to be started (op-
tion 1/2). The external event must be stored locally in the DSL model. If
'name=this' is set, a parameter event will be created and executed automati-
cally with the DSL element itself as the target.
double delay (obligatory)
Delay time of the event after triggering.
double val (optional)
Value of the parameter event (only when 'name=this' is set or when a param-
eter event is created).
double var (optional)
Parameter to which the value is set (only when 'name=this' is set or when a
parameter event is created).
Return value:
void (no return value)
Remark:
If the event()-definition according to options 2/3 is used, the create and target pa-
rameters must be the first parameters that are listed.
Examples:
The example shows a clock made with DSL using event( , ,'name=this ...') which
automatically 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
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’.

event(1,umin-u,'create=EvtSwitch name=TripLoad target=Load')

I-6
DIgSILENT PowerFactory DSL Reference

I-7
DIgSILENT PowerFactory DSL Reference

I-8
DIgSILENT PowerFactory User’s Manual Index

Appendix J SetSelect ........................................... H-64


AllAsm
Index SetSelect ........................................... H-62
AllBars
SetSelect ........................................... H-61
Symbols AllBreakers
....................................................... C-64, C-65 SetPath .............................................. H-70
(n-1) system .......................................... 29-47 SetSelect ........................................... H-65
(n-k) system .......................................... 29-47 AllClosedBreakers
SetPath .............................................. H-71
A SetSelect ........................................... H-66
About this Guide ....................................... 3-1 AllElm
abs SetSelect ........................................... H-60
DPL ...................................................... G-7 AllLines
DSL ........................................................I-1 SetSelect ........................................... H-61
ACCI (Reliability Analysis) ................... 29-16 AllLoads
ACIF (Reliability Analysis) ................... 29-13 SetSelect ........................................... H-62
ACIT (Reliability Analysis) ................... 29-13 AllOpenBreakers
acos SetPath .............................................. H-71
DPL ...................................................... G-7 SetSelect ........................................... H-66
DSL ........................................................I-1 AllRelevant .............................................. H-50
Activate AllSym
ElmNet ............................................... H-90 SetSelect ........................................... H-63
IntCase .............................................. H-30 allTypLne
IntPrj ................................................. H-28 SetSelect ........................................... H-63
IntVariant ........................................ H-148 AnalyseElmRes
Active Failure ......................................... 29-46 ComRel3 ............................................ H-87
ActiveCase .............................................. H-29 Analyses
ActiveProject .......................................... H-27 General Information ........................... 8-1
Add Analysis
Set ..................................................... H-51 General Information ........................... 8-1
AddCntcy Appliance .................................................. A-1
ComSimoutage ................................. H-82 Area .......................................................... 12-1
AddCopy ASAI (Reliability Analysis) ................... 29-14
Object ................................................ H-42 asin
AddRef DPL ...................................................... G-7
ComNmink ........................................ H-84 DSL ........................................................I-1
SetSelect ........................................... H-59 ASUI (Reliability Analysis) ................... 29-14
AddResVars Asynchronous Machine
VisPlot ............................................. H-126 Element ............................................. C-11
AddVar Type ..................................................... D-8
IntMon ............................................. H-151 atan
AddVars DPL ...................................................... G-7
ElmRes ............................................ H-106 DSL ........................................................I-1
VisPlot ............................................. H-125 Availability .............................................. 29-47
Adequacy ............................................... 29-46
Administrator ............................................ 5-6 B
AENS (Reliability Analysis) .................. 29-16 Base Case ................................................. A-1
aflipflop Base State .............................................. 29-47
DSL ........................................................I-4 Basic Project Definition ............................ 9-1
AID (Reliability Analysis) ..................... 29-17 Block Definition ........................................ A-1
All Block Definition Dialogue (DSL) ......... 25-51

J-1
DIgSILENT PowerFactory User’s Manual Index

Block Diagram ................... 10-37, 25-36, A-1 ElmCoup ............................................ H-95


Boolean StaSwitch ........................................ H-113
Expresions .......................................... G-9 CMD
Boundary .................................................. 12-4 DIg Output Language ....................20-54
Branch Elements ...................................... A-1 ColLbl
break IntMat .............................................. H-154
DPL ...................................................... G-9 Colouring Mode .....................................10-45
Busbars ..................................................... A-1 ComCabsize .......................... 31-12, 34-1, F-9
ComCapo ..................................................31-1
C ComContingency
Contingency analysis with multiple time
Cable
phases ..................................28-12
System, Element .............................. C-14
ComCoord ..............................................32-47
Type ................................................... D-13
ComDbupd .................................................8-5
Cable Size Optimization ...... 31-12, 34-1, F-9
ComDiff ......................................................8-4
Advanced Options .......................... 31-15
ComDocu ................................................20-58
Basic Options ................................... 31-13
ComDpl ...................................................... G-2
Objective Function .......................... 31-13
ComDpl (DPL Methods) ........................ H-88
Optimization Procedure ................. 31-13
Execute .............................................. H-88
CAIDI (Reliability Analysis) ................. 29-14
ComEcho (DPL Methods) ...................... H-88
CAIFI (Reliability Analysis) .................. 29-14
Off ...................................................... H-89
CalcElParams
On ...................................................... H-88
TypAsm ............................................. H-90
ComEd ....................................................11-22
TypAsmo ........................................... H-91
ComFsweep .............................................24-4
Calculation
ComHldf ...................................................24-2
Compare Results ................................. 8-3
ComIdent .................................................27-1
Result ................................................... 8-3
ComInc .....................................................25-4
Update Database ................................ 8-5
ComInc (DPL Methods)
Calculation Time ..................................... 13-3
Execute .............................................. H-77
CASE
ComLdf .....................................................22-6
DIg Output Language .................... 20-54
ComLdf (DPL Methods) ......................... H-75
ceil
Execute .............................................. H-75
DPL ...................................................... G-7
ComMerge ................................................21-7
DSL ........................................................I-1
ComMod ...................................................26-4
ChaMat ..................................................... 7-31
ComModres ............................................26-10
ChaPol .................................................... 24-12
Common Impedance ............................. C-16
ChaVec ..................................................... 7-31
Common Model ..........................25-21, 25-32
ChaVecfile .............................................. 18-10
Structure ..........................................25-32
Circuit ....................................................... 12-6
ComNew .................................................10-21
Class .......................................................... A-2
ComNmink .............................................28-22
class ............................................................ 7-1
ComNmink (DPL Methods) ................... H-84
Classes ....................................................... 7-1
AddRef ............................................... H-84
Clear
Clear .................................................. H-84
ComNmink ........................................ H-84
GetAll ................................................. H-85
ElmRes ............................................ H-104
ComOp ...................................................11-23
Set ...................................................... H-52
ComOpf ....................................................30-1
SetSelect ........................................... H-60
ComOutage ..............................................28-9
VisPlot .............................................. H-127
ComOutage (DPL Methods) ................. H-79
ClearCommands ..................................... H-74
GetObject .......................................... H-79
ClearOutput .............................................. H-5
RemoveEvents .................................. H-80
ClearVars
SetObjs .............................................. H-79
IntMon ............................................. H-150
ComPause ..............................................11-23
Close

J-2
DIgSILENT PowerFactory User’s Manual Index

Composit Frame ................................... 25-29 Conductor


Composite Block Definition ................. 25-36 Type ................................................... D-14
Composite Block Definitions (DSL) .... 25-50 Contact ....................................................... 2-1
Composite Frame .................................... A-2 Contingency ........................................... 29-46
Additional Equations ...................... 25-43 Contingency Analysis ............................. 28-1
Block Definition ............................... 25-31 Contingency Case ............................. 28-9
Drawing ............................................ 25-37 Preparation ...................................... 28-22
Multi-Signal Connection ................. 25-41 continue
Signal Connection ........................... 25-41 DPL ...................................................... G-9
Signals .............................................. 25-31 Coordination Wizard ............................. 32-47
Composite Model ...............25-21, 25-26, A-2 cos
Slot Update ...................................... 25-27 DPL ...................................................... G-7
Step Response ................................ 25-27 DSL ........................................................I-1
ComPr ..................................................... 11-23 cosh
ComRd .................................................... 11-23 DPL ...................................................... G-7
ComRed ................................................... 33-1 DSL ........................................................I-1
ComRel3 Cost Functions ........................................ 30-2
Contingency analysis with multiple time Count
phases .................................. 28-13 Set ...................................................... H-56
Network reliability assessment ....... 29-6 CreateFeederWithRoutes
ComRel3 (DPL Methods) ...................... H-85 ElmLne ............................................ H-100
AnalyseElmRes ................................. H-87 CreateObject
RemoveEvents ................................. H-86 Object ................................................ H-36
RemoveOutages .............................. H-86 CSSL (DSL) ............................................ 25-46
ComRel3 (DPL) Methods CUBIC
Execute ............................................. H-86 DIg Output Language .................... 20-53
ComRes .......................................20-38, 20-46 Cubicle ....................................................... A-2
ComRes (DPL Methods) ....................... H-78 Current Measurement ........................... C-66
ExportFullRange .............................. H-78 Curve Input
FileNmResNm ................................... H-79 Context-sensitive Menu ................. 20-28
ComSeteval ............................................. 26-1 Create Diagram ............................... 20-27
ComSh ............................... 20-57, 20-60, 24-6
ComShc .................................................. 23-12 D
ComShc (DPL Methods) ....................... H-76
DAQ ........................................................... A-2
Execute ............................................. H-76
Data Management .................................. 21-1
ComShcsweep ....................................... 32-28
Data Manager ......................................... 11-1
ComSim .................................................. 25-20
Database Browser ............................ 11-1
ComSimoutage ........................................ 28-3
Database Tree ................................... 11-3
ComSimoutage (DPL Methods) ........... H-81
Settings ................................................ 6-4
AddCntcy ........................................... H-82
Data Model ................................................ 7-1
Execute ............................................. H-81 Database
ExecuteCntcy ................................... H-82
Multi-User ............................................ 5-7
ReportObjs ....................................... H-83
Single-User .......................................... 5-7
Reset ................................................. H-81 DataManager ........................................... 11-1
SetLimits ........................................... H-83
Date
ComStationware ....................................... F-9
SetTime ............................................. H-32
ComStepres ........................................... 25-27 DC/DC Converter ................................... C-18
ComStop ................................................ 11-23
DDE Functions (in DPL) ...................... H-159
ComTieopt ............................................. 31-10
ddeClose ............................................... H-160
ComVsag ................................................ 29-39
ddeExe .................................................. H-161
ComVstab .............................................. 22-17
ddeOpen ............................................... H-159
ComWr ................................................... 11-23
ddePoke ................................................ H-161

J-3
DIgSILENT PowerFactory User’s Manual Index

ddeRequest ........................................... H-162 Contingency Analysis (ComSimoutage)


Deactivate Methods ................................ H-81
ElmNet ............................................... H-90 Contingency Case (ComOutage) Me-
IntCase .............................................. H-30 thods ...................................... H-79
IntPrj ................................................. H-29 Contingency Definition (ComNmink)
IntVariant ........................................ H-148 Methods ................................ H-84
DEF continue .............................................. G-9
DIg Output Language .................... 20-54 DDE Functions ................................ H-159
delay DPL Command (ComDpl) Methods H-88
DSL ........................................................I-2 External Objects ............................... G-14
Delete ...................................................... H-33 Feeder (SetFeeder) Methods ......... H-67
Demo Account ........................................... 5-8 Functions & Subroutines ................. G-17
Device ........................................................ A-2 Functions related to Objects .......... H-33
DGS .............................................................F-1 Functions related to Sets ................ H-50
DGS Interface ............................................F-1 General Analysis Command Functions
DiaGrfopts .............................................. 10-34 and Methods ......................... H-72
DiaPagetyp ............................................ 10-21 General Functions .............................. H-1
DIg Output Language General Functions and Methods related
Filters ................................................ 20-56 to Study Cases ..................... H-29
Includes ........................................... 20-56 General Object Functions and Methods
Line Types ....................................... 20-55 H-33
Loops ................................................ 20-56 General Object Methods ................. H-35
Page Breaks ..................................... 20-55 General Set Methods ....................... H-51
Text Macros ..................................... 20-56 input ................................................... G-10
Digital Clock ............................................ C-66 Input / Output Functions and Methods
Digital Register ....................................... C-71 H-5
DIgSILENT Output Language ............. 20-50 Load Flow Simulation (ComLdf)
Format .............................................. 20-51 Functions and Methods ....... H-75
DIgSILENT Programming Language ..... G-1 Local Objects .................................... G-12
Distribution Function ............................ 29-47 Methods for Additional Objects (Int*) ..
do() while{} H-147
DPL ...................................................... G-9 Methods for Virtual Instruments . H-115
DoAutoScaleX Object Functions and Methods ...... H-33
SetDesktop.DoAutoScale ................ H-18 Object Methods ................................ H-35
SetVipage ........................................ H-120 Object Variables & Methods ........... G-12
VisFft ................................................ H-143 output ................................................ G-10
VisPlot .............................................. H-133 Project Functions and Methods ..... H-27
DoAutoScaleY Reliability Assessment (ComRel3) Me-
SetVipage ........................................ H-121 thods ...................................... H-85
VisPlot .............................................. H-133 Result Export (ComRes) Methods . H-78
DoAutoScaleY2 Set Functions and Methods ............ H-49
VisPlot .............................................. H-134 Set Methods ...................................... H-51
DPL ............................................................ G-1 SetDesktop ....................................... H-15
Access to Objects ............................ G-11 SetFilt Methods ................................ H-58
Additional Functions related to input/ SetPath Methods .............................. H-68
output ...................................... H-9 SetSelect Methods ........................... H-59
Analysis Command Functions and Me- SetTime Methods ............................. H-31
thods ...................................... H-72 Short-Circuit Calculation (ComShc)
Assignments ....................................... G-7 Functions and Methods ....... H-76
break ................................................... G-9 Specialized Methods for Elements and
ComEcho Methods ........................... H-88 Types ..................................... H-89
Constant Parameters ........................ G-7 Standard Functions ........................... G-7

J-4
DIgSILENT PowerFactory User’s Manual Index

String Functions ............................... H-20 incfix ................................................. 25-57


Study Case Functions and Methods . H- Initial Conditions ............................. 25-57
29 intervalinc ........................................ 25-58
Subroutines ...................................... G-16 invlapprox .............................................I-4
Time-Domain Simulation Functions and lapprox ..................................................I-4
Methods ................................ H-77 lapprox2 ................................................I-4
Variable Definitions ........................... G-6 lim ..........................................................I-2
Writing into the Output Window ..... H-5 limstate .................................................I-2
Writing to Files ................................. H-11 ln ............................................................I-1
DPL (DIgSILENT Programming Language) log ..........................................................I-1
G-1 loopinc .............................................. 25-58
DPL Advanced Options ........................... G-4 Macro Handling ............................... 25-61
DPL Command Execute .......................... G-4 Macros .............................................. 25-61
DPL Command Libraries ....................... G-15 max ........................................................I-1
DPL Command Object ............................ G-2 min .........................................................I-1
DPL Command Set .................................. G-3 Model Description ........................... 25-49
DPL Internal Methods ........................... G-17 modulo ..................................................I-1
DPL Reference ......................................... H-1 newtoninc ........................................ 25-58
DPL Script Editor ..................................... G-5 Output .............................................. 25-46
DPL Script Language ............................... G-6 pi ............................................................I-1
DPL Script Page ....................................... G-5 picdro ....................................................I-3
DPL, Reference ........................................ H-1 pow ........................................................I-1
Drag and Drop ......................................... A-3 Reference ..............................................I-1
Draw round .....................................................I-1
ElmRes ............................................ H-105 sapprox .................................................I-4
DSL .................................................. 25-54, I-1 sapprox2 ...............................................I-5
abs .........................................................I-1 select .....................................................I-3
acos .......................................................I-1 sin ..........................................................I-1
Advanced Features ......................... 25-50 sinh ........................................................I-1
aflipflop .................................................I-4 sqr ..........................................................I-1
asin ........................................................I-1 sqrt ........................................................I-1
atan .......................................................I-1 Standard Functions ...................... I-1, I-2
ceil .........................................................I-1 Structure .......................................... 25-46
cos .........................................................I-1 tan ..........................................................I-1
cosh .......................................................I-1 tanh .......................................................I-1
Defining Models .............................. 25-50 time ................................................. I-1, I-3
Definition Code ............................... 25-56 trunc ......................................................I-1
delay ......................................................I-2 DSL Block Definition ............................. 25-21
e .............................................................I-1 DSL Model Components ...................... 25-49
Equation Code ................................. 25-60 DSL Models ............................................ 25-43
event .....................................................I-5 DSL primitive ............................................ A-3
Events .............................................. 25-46 DSL Reference ............................... 25-54, I-1
Example ........................................... 25-63 DSL Structure ........................................ 25-56
exp .........................................................I-1 DSL Variables ........................................ 25-55
Expression ....................................... 25-60 Dynamic Model
file ..........................................................I-3 Concept ............................................ 25-21
flipflop ...................................................I-3
floor .......................................................I-1 E
frac ........................................................I-1 e
General Syntax ............................... 25-55
DPL ...................................................... G-8
inc ..................................................... 25-57 DSL ........................................................I-1
inc0 ................................................... 25-57 Earthing

J-5
DIgSILENT PowerFactory User’s Manual Index

Neutral Earthing Element ............... C-36 GetType ............................................. H-98


EchoOff ................................................... H-10 HasRoutes ......................................... H-97
EchoOn .................................................... H-10 HasRoutesOrSec .............................. H-97
EDGE IsCable .............................................. H-99
DIg Output Language .................... 20-53 IsNetCoupling ................................... H-99
Edge Elements ......................................... A-3 SetCorr ............................................ H-100
Edit ElmLneroute (DPL Methods) .............. H-101
Detail Mode ..................................... 11-17 HasSections .................................... H-101
Object ................................................ H-41 IsCable ............................................ H-101
Object Mode .................................... 11-17 ElmLnesec ............................................... C-26
Editor ElmLod ..................................................... C-27
Settings ................................................ 6-6 ElmLodlv .................................................. C-30
EIC (Reliability Analysis) ...................... 29-16 ElmLodlvp ............................................... C-31
Eigenvalue Bar Plot ................................ 20-3 ElmMdm__1 ............................................ C-33
Eigenvalue Calculation ........................... 26-1 ElmMdm__3 ............................................ C-33
Eigenvalue Plot ....................................... 20-3 ElmMdm__5 ............................................ C-33
Element ..................................................... A-4 ElmNet ......................................................7-12
Elements Reference ................................ C-1 ElmNet (DPL Methods) ......................... H-90
ElmArea .................................................... 7-14 Activate ............................................. H-90
ElmAsm ................................................... C-11 Deactivate ......................................... H-90
ElmAsmsc ................................................ C-18 ElmOperator ............................................7-15
ElmBmu .................................................... 7-14 ElmOwner ................................................7-16
ElmBoundary ........................................... 7-14 ElmPhi__pll ............................................. C-71
ElmBranch ................................................ 7-11 ElmRec .................................................... C-44
ElmCabsys ............................................... C-14 ElmRecmono ........................................... C-42
ElmCircuit ................................................. 7-15 ElmReg .................................................... C-71
ElmClock ................................................. C-66 ElmRelay ................................................32-16
ElmComp ................................................ 25-26 ElmRes ...........................................13-9, 20-45
ElmComp (DPL Methods) ..................... H-94 ElmRes (DPL Methods) ....................... H-103
Slotupd .............................................. H-94 AddVars ........................................... H-106
ElmCompare ............................................ 27-1 Clear ................................................ H-104
ElmCoup (DPL Methods) ...................... H-95 Draw ................................................ H-105
Close .................................................. H-95 GetObj ............................................. H-107
IsClosed ............................................ H-96 Init ................................................... H-103
IsOpen ............................................... H-96 SetAsDefault ................................... H-106
Open .................................................. H-96 Write ................................................ H-104
ElmDcdc .................................................. C-18 WriteDraw ....................................... H-105
ElmDsl .................................................... 25-32 ElmRoute ..................................................7-16
ElmFeeder ................................................ 7-15 ElmSamp ................................................. C-72
ElmFeeder (DPL Methods) ................... H-91 ElmScap ................................................... C-46
GetAll ................................................. H-91 ElmShnt ................................................... C-49
GetBranches ..................................... H-92 ElmSind ................................................... C-47
GetBuses ........................................... H-92 ElmSite .....................................................7-12
GetNodesBranches .......................... H-93 ElmStactrl .......................................22-5, C-59
GetObjs ............................................. H-94 ElmSubstat ...............................................7-11
ElmFft ...................................................... C-67 ElmSvs ..................................................... C-57
ElmFile ..................................................... C-68 ElmSym ................................................... C-59
ElmFsrc .................................................... C-69 ElmTerm ...................................................7-10
ElmGenstat ............................................. C-54 ElmTow ................................................... C-62
ElmLne .................................................... C-23 ElmTr2 ....................................................... C-1
ElmLne (DPL Methods) ......................... H-97 ElmTr2n ..................................................... C-1
CreateFeederWithRoutes .............. H-100 ElmTr3 ....................................................... C-7

J-6
DIgSILENT PowerFactory User’s Manual Index

ElmTrb ..................................................... C-13 ComSimoutage ................................. H-81


ElmTrigger .............................................. C-73 ExecuteCntcy
ElmVac ........................................... 33-2, C-64 ComSimoutage ................................. H-82
ElmVar ..................................................... C-52 exit ............................................................. H-1
ElmVdc .................................................... C-65 exp
ElmVsc ..................................................... C-40 DSL ........................................................I-1
ElmVscmono ........................................... C-38 Expansion Stage ..................................... 17-1
ElmXnet ................................................... C-20 Export
ElmZone ................................................... 7-16 Curve Data ....................................... 20-38
ElmZone (DPL Methods) .................... H-110 to Spreadsheet Programs (e. g. MS EX-
GetAll ............................................... H-110 CEL) ...................................... 11-25
GetBranches ................................... H-112 ExportFullRange
GetBuses ......................................... H-111 ComRes ............................................. H-78
GetNodes ........................................ H-111 exps
GetObjs ........................................... H-112 DPL ...................................................... G-7
ElmZpu ........................................... 33-2, C-16 External Network ................................... C-20
EMT Simulation ....................................... 25-1
EMT Simulations ..................................... 25-1 F
ENS (Reliability Analysis) .................... 29-16 Failure .................................................... 29-46
Equipment Type Library ........................ 14-1 Failure Effect Analysis .......................... 29-33
Equivalent Network ................................ 33-1 Failure Models ....................................... 29-17
Error .......................................................... H-7 Fast Fourier Transform ......................... C-67
Event ...................................................... 25-15 fault
Inter-Circuit ..................................... 25-19 DSL ................................................... 25-62
Load .................................................. 25-19 Fault Case .............................................. 28-21
Outage ............................................. 25-19 Fault Clearing (Reliability) ................... 29-33
Parameter ........................................ 25-18 Fault Group ............................................ 28-21
Short-Circuit .................................... 25-18 Fault Isolation (Reliability) .................. 29-35
Switching ......................................... 25-18 fclose ....................................................... H-14
Synchronous Machine .................... 25-19 FEA (Failure Effect Analysis) ............... 29-10
event Feeder ...................................................... 12-6
DSL ........................................................I-5 file
Events .................................................... 25-15 DSL ........................................................I-3
EvtLod File Object ............................................... C-68
Data Model ........................................ 13-7 FileNmResNm
EvtOutage ComRes ............................................. H-79
Data Model ........................................ 13-7 First
EvtParam Set ...................................................... H-53
Data Model ........................................ 13-7 FirstFilt
EvtShc Set ...................................................... H-54
Data Model ........................................ 13-7 Firstmatch
EvtShcll Set ...................................................... H-54
Data Model ........................................ 13-7 Flexible Data Page ................................ 11-20
EvtSym flipflop
Data Model ........................................ 13-7 DSL ........................................................I-3
Exe ........................................................... H-73 floor
Execute ................................................... H-72 DPL ...................................................... G-7
ComDpl ............................................. H-88 DSL ........................................................I-1
ComInc .............................................. H-77 fopen ....................................................... H-14
ComLdf .............................................. H-75
for(){}
ComRel3 ............................................ H-86 DPL ...................................................... G-9
ComShc ............................................. H-76 Forced Outage ...................................... 29-45

J-7
DIgSILENT PowerFactory User’s Manual Index

Form Editor ............................................ 20-48 GetContents


Format Editor Object ................................................ H-37
Predefined Variables ...................... 20-48 GetCubicle
Text Editor ....................................... 20-48 Object ................................................ H-40
User Selection ................................. 20-48 GetFullName
Format String Syntax (printf) .............. H-20 Object ................................................ H-37
Fourier Source ........................................ C-69 GetGlobalLib ............................................. H-2
fprintf ....................................................... H-11 GetGraphBoard ...................................... H-31
frac GetLanguage ............................................ H-2
DPL ...................................................... G-7 GetLocalLib ............................................. H-28
DSL ........................................................I-1 GetNode
fRand ......................................................... H-4 Object ................................................ H-39
Frequency Dependent Parameters .... 24-12 GetNodes
Frequency Sweep ................................... 24-4 ElmZone .......................................... H-111
Advanced Options ............................ 24-6 GetNodesBranches
Basic Options ..................................... 24-5 ElmFeeder ......................................... H-93
fscanf ....................................................... H-12 GetObj
fscanfsep ................................................. H-13 ElmRes ............................................. H-107
fWrite ....................................................... H-12 GetObject
ComOutage ....................................... H-79
G GetObjs
ElmFeeder ......................................... H-94
General Selection (DPL) ....................... G-13
ElmZone .......................................... H-112
Get
GetPage
IntMat .............................................. H-151
SetDesktop.GetPage ........................ H-16
IntVec .............................................. H-155
GetPageLen ............................................ H-11
SetFilt ................................................ H-58
GetParent
GetAll
Object ................................................ H-39
ComNmink ........................................ H-85
GetResData ........................................... H-108
ElmFeeder ......................................... H-91
GetScaleObjX
ElmZone .......................................... H-110
SetVipage ........................................ H-123
SetFeeder .......................................... H-67
VisPlot .............................................. H-139
SetPath .............................................. H-68
GetScaleObjY
SetSelect ........................................... H-65
VisPlot .............................................. H-141
GetBranches
GetSize
ElmFeeder ......................................... H-92
Object ......................................H-44, H-45
ElmZone .......................................... H-112
GetTime ..................................................... H-2
SetFeeder .......................................... H-68
GetType
SetPath .............................................. H-70
ElmLne ............................................... H-98
GetBuses
GetVal
ElmFeeder ......................................... H-92
Object ................................................ H-46
ElmZone .......................................... H-111
GetVar
SetFeeder .......................................... H-67
IntMon ............................................. H-150
GetBusses
GetVI
SetPath .............................................. H-69
SetVipage ........................................ H-116
GetCaseCommand ................................. H-73
Glossary ..................................................... A-1
GetCaseObject ....................................... H-34
Graphic
GetClass
Already Existing Network Elements .10-
Object ................................................ H-38
24
GetConnectedElms
Attributes .........................................10-32
Object ................................................ H-40
Balloon Help ....................................10-47
GetConnectionCount
Colour ...............................................10-45
Object ................................................ H-41

J-8
DIgSILENT PowerFactory User’s Manual Index

Edit Result Box ................................ 10-48 ElmLneroute ................................... H-101


Imported Data ................................ 10-25 Hazard Rate Function .......................... 29-47
Insert ................................................ 10-31 Help ............................................................ 3-3
Interconnect ...................................... 10-6 Hidden Failure ....................................... 29-46
Layers ............................................... 10-41 HMC .......................................................... 24-1
Legend Block ................................... 10-46 HmcCur .................................................... 24-8
Mark Element .................................... 10-5 Hotkeys ..................................................... B-1
Options ............................................. 10-34 Hotkeys References ................................ B-1
Print .................................................. 10-31
Rebuild ............................................. 10-31 I
Reference Point .............................. 10-48 IEAR (Reliability Analysis) ................... 29-17
Remove Page .................................. 10-32 IEC 61363 .............................................. 23-26
Rename Page .................................. 10-32 if(){}
Result Box ........................................ 10-47 DPL ...................................................... G-9
Result Boxes .................................... 10-34 if(){}else{}
Title Block ........................................ 10-46 DPL ...................................................... G-9
Toolboxes ........................................ 10-23 Impedance
Zoom ................................................ 10-30 Common, Element ........................... C-16
Graphic Window Import
New .................................................. 10-21 from Spreadsheet Programs (e. g. MS
Page Tab .......................................... 10-22 EXCEL) .................................. 11-26
Graphic Windows inc
Settings ................................................ 6-2 DSL ................................................... 25-57
Graphics Board ..................................... 10-17 inc0
Graphics Board Window ......................... A-4 DSL ................................................... 25-57
Grid ............................................................ A-4 incfix
Grouping Objects .................................... 12-1 DSL ................................................... 25-57
Induction Machine
H Doubly Fed ....................................... C-18
Harmonic Info ............................................................ H-8
Filter Analysis .................................... 24-6 Init
Harmonic Analysis .................................. 24-1 ElmRes ............................................ H-103
Harmonic Calculation IntMat .............................................. H-152
Modeling ............................................ 24-8 IntVec .............................................. H-156
Plot .................................................... 24-14 Inom
Result Variables .............................. 24-15 Object ................................................ H-48
Harmonic Impedance ............................ 24-4 input
Harmonic Load-Flow .............................. 24-2 DPL .................................................... G-10
Advanced Options ............................ 24-4 IntCase ..................................................... 13-1
Basic Options .................................... 24-2 The Study Case Edit Dialogue ........ 13-4
Result Variables ................................ 24-3 IntCase (DPL Methods)
Harmonic Source Activate ............................................. H-30
Current ............................................. 24-11 Deactivate ......................................... H-30
Harmonic Sources .................................. 24-8 IntCase (DPL) ......................................... H-29
Harmonics Analysis ................................ 24-1 IntCbrating .............................................. 7-21
HasResults IntEigen ................................................... 26-8
Object ................................................ H-40 IntEigstate ............................................... 26-9
HasRoutes Interconnect ............................................ 10-6
ElmLne .............................................. H-97 Interface
HasRoutesOrSec DGS .......................................................F-1
ElmLne .............................................. H-97 Interfaces ...................................................F-1
HasSections Interruption ........................................... 29-46

J-9
DIgSILENT PowerFactory User’s Manual Index

intervalinc IntSstage ..................................................7-17


DSL ................................................... 25-58 IntSubset .................................................16-2
IntEvt ........................................................ 7-25 IntSym ....................................................... E-1
IntEvtshc ................................................ 23-10 IntTemplate ...........................................10-11
IntFaultgrp ............................................... 7-27 IntThrating ...............................................7-30
IntFltcases ............................................... 7-24 IntVariant (DPL Methods) .................. H-148
IntFltgroups ............................................. 7-24 Activate ........................................... H-148
IntForm .................................................. 20-48 Deactivate ....................................... H-148
IntForm (DPL Methods) ...................... H-157 IntVec (DPL Methods) ......................... H-155
SetText ............................................ H-157 Get ................................................... H-155
WriteOut .......................................... H-158 Init ................................................... H-156
IntGrf .......................................................... 7-8 Resize .............................................. H-156
IntGrfnet ................................................ 10-32 Set .................................................... H-156
Options ............................................. 10-32 Size .................................................. H-157
IntLogon .................................................... 5-1 IntVersion ................................................21-1
IntMat (DPL Methods) ........................ H-151 Inverter
ColLbl ............................................... H-154 1-DC Connection .............................. C-42
Get ................................................... H-151 2-DC Connections ............................ C-44
Init ................................................... H-152 invlapprox
NCol ................................................. H-154 DSL ........................................................I-4
NRow ............................................... H-153 IsCable
Resize .............................................. H-153 ElmLne ............................................... H-99
RowLbl ............................................. H-154 ElmLneroute ................................... H-101
Set .................................................... H-152 TypLne ............................................. H-102
IntMon ...........................................13-11, 19-1 IsClass
IntMon (DPL Methods) ....................... H-148 Object ................................................ H-38
AddVar ............................................. H-151 IsClosed
ClearVars ......................................... H-150 ElmCoup ............................................ H-96
GetVar ............................................. H-150 StaSwitch ........................................ H-115
NVars ............................................... H-149 IsIn
PrintAllVal ........................................ H-149 Set ...................................................... H-55
PrintVal ............................................ H-149 IsInFeeder
RemoveVar ..................................... H-150 Object ................................................ H-44
IntMonsel ............................................... 11-20 IsNetCoupling
IntNewobj ................................................ 11-4 ElmLne ............................................... H-99
IntOutage .......................................7-22, 7-27 IsNode
Demad Transfer ................................ 7-23 Object ................................................ H-40
IntPlot (DPL Methods) ........................ H-144 IsOpen
SetAdaptY ....................................... H-146 ElmCoup ............................................ H-96
SetAutoScaleY ................................ H-146 StaSwitch ........................................ H-114
SetScaleY ........................................ H-144 IsOutOfService
IntPrj .......................................................... 9-3 Object ................................................ H-43
IntPrj (DPL Methods) IsRelevant
Activate ............................................. H-28 Object ................................................ H-43
Deactivate ......................................... H-29
IntPrj (DPL) ............................................ H-27 L
IntPrjfolder ................................................ 7-2 lapprox
IntQlim ..................................................... 7-27
DSL ........................................................I-4
IntRunarrange ......................................... 7-29 lapprox2
IntScenario .............................................. 16-1
DSL ........................................................I-4
IntScheme ............................................... 7-17
LCOL
IntSscheduler .......................................... 17-6 DIg Output Language ....................20-54

J - 10
DIgSILENT PowerFactory User’s Manual Index

lim M
DSL ........................................................I-2 Macro
Limits ...................................................... 30-10 DSL ................................................... 25-61
limstate Maintenance .......................................... 29-45
DSL ........................................................I-2 MarkInGraphics
Line Object ................................................ H-48
Element ............................................. C-23 Set ...................................................... H-58
Element, Sub-Section ..................... C-26 Matlab Interface
Type .................................................. D-17 Concept ............................................ 25-66
Line Coupling Matlab File ....................................... 25-69
Element ............................................. C-62 Model Implementation ................... 25-66
ln max
DPL ...................................................... G-7 DPL ...................................................... G-7
DSL ........................................................I-1 DSL ........................................................I-1
lnm MDM ........................................................ C-33
Object ................................................ H-46 min
Load DPL ...................................................... G-7
Element ............................................. C-27 DSL ........................................................I-1
Element, Low Voltage ..................... C-30 Modal Analysis ........................................ 26-1
Element, Partial ............................... C-31 Data Browser .................................. 26-10
Type, General .................................. D-16 Participation Factor .......................... 26-1
Load Flow Analysis ................................. 22-1 Plots ...........................................20-3, 26-7
Load Shedding (Reliability) ................. 29-38 Results ................................................ 26-5
Load Transfer (Reliability) ................... 29-37 Start .................................................... 26-4
Load-Flow Model Analysis
Active Power Control ....................... 22-9 Theory ................................................ 26-1
Adv.Simulation Options ................. 22-15 Model Parameter Identification ............ 27-1
Advanced Options .......................... 22-10 Modeling and Simulation Tools .......... 25-45
Basic Options .................................... 22-7 modulo
Iteration Control ............................. 22-12 DPL ...................................................... G-7
Low-Voltage Analysis ..................... 22-14 DSL ........................................................I-1
Optimizing ......................................... 30-1 Motor Driven Machine ........................... C-33
Output .............................................. 22-13 Move
Reactive Power Control ................... 22-8 Object ................................................ H-42
Trouble Shooting ............................ 22-16
Load-Flow Analysis ................................. 22-1
LoadResData ........................................ H-109
N
log NCol
DPL ...................................................... G-7 IntMat .............................................. H-154
DSL ........................................................I-1 NEC .......................................................... C-36
Log-on ........................................................ 5-1 NET
Logon DIg Output Language .................... 20-53
Advanced Settings .............................. 5-5 Network Model
loopinc Variations ........................................... 17-1
DSL ................................................... 25-58 Network Reduction ................................. 33-1
Lost load ................................................ 29-45 Example ............................................. 33-1
LPEIC (Reliability Analysis) ................. 29-16 Handling ............................................. 33-3
LPENS (Reliability Analysis) ................ 29-15 Options ............................................... 33-5
LPES (Reliability Analysis) ................... 29-15 Network Variations ................................. 17-1
LPIF (Reliability Analysis) .........29-13, 29-17 newtoninc
LPIT (Reliability Analysis) .........29-13, 29-17 DSL ................................................... 25-58
Next
Set ...................................................... H-53

J - 11
DIgSILENT PowerFactory User’s Manual Index

NextFilt Sorting ..............................................11-12


Set ...................................................... H-55 Objects relevant for Calculation .............8-2
Nextmatch Off
Set ...................................................... H-54 ComEcho ........................................... H-89
Node .......................................................... A-4 On
NoFinalUpdate ........................................ H-10 ComEcho ........................................... H-88
NRow Open
IntMat .............................................. H-153 ElmCoup ............................................ H-96
NULL .......................................................... G-7 StaSwitch ........................................ H-114
NVars Open Tie Optimization .........................31-10
IntMon ............................................. H-149 Options .............................................31-11
Operation Scenario .................................16-1
O Operational Data .....................................15-1
Operational Library .................................15-1
Obj
Operator ...................................................12-8
Set ...................................................... H-56
OBJECT OPF ...........................................................30-1
DIg Output Language .................... 20-53 Opt. Capacitor Placement
Object ........................................................ A-4 Basic Options .....................................31-5
Object (DPL Methods) Optimization Procedure ...................31-4
AddCopy ............................................ H-42 Sensitivity Analysis ...........................31-4
CreateObject .................................... H-36 Target Function .................................31-1
Edit ..................................................... H-41 Optimal Capacitor Placement ................31-1
GetClass ............................................ H-38 Optimal Power Flow ...............................30-1
GetConnectedElms .......................... H-40 Optimal Power-Flow ...............................30-1
GetConnectionCount ....................... H-41 Optimization Procedure .......................31-10
GetContents ...................................... H-37 Optimization Tools for Distribution Net-
GetCubicle ......................................... H-40 works ........................................................31-1
GetFullName ..................................... H-37 Outage ....................................................29-45
GetNode ............................................ H-39 output
GetParent .......................................... H-39 DPL ..................................................... G-10
GetSize ....................................H-44, H-45 DSL ...................................................25-62
GetVal ................................................ H-46 Output of Device Data .........................20-57
HasResults ........................................ H-40 Documentation ................................20-59
Inom .................................................. H-48 Filter/Annex .....................................20-59
IsClass ............................................... H-38 Output of Results ..................................20-60
IsInFeeder ........................................ H-44 Output Window
IsNode ............................................... H-40 Context Sensitive Menu ...................4-15
IsOutOfService ................................. H-43 Copy ....................................................4-17
IsRelevant ......................................... H-43 Legend ................................................4-16
lnm ..................................................... H-46 Settings ................................................6-5
MarkInGraphics ................................ H-48 Output window ........................................4-13
Move .................................................. H-42 Overload Alleviation (Reliability) ........29-37
ShowFullName ................................. H-36 Owner .......................................................12-8
snm .................................................... H-46
StochEvt ............................................ H-49 P
unm ................................................... H-47 Page Tab ................................................... A-4
Unom ................................................. H-47 Parameter Characteristics .....................18-1
VarExists ........................................... H-44 Parameter Identification ........................27-1
Objects Application .........................................27-8
Edit .................................................... 10-19 Comparison Slot ................................27-4
Filtering ............................................ 11-13 Measurement File .............................27-3
Search .............................................. 11-12 Model Creation ..................................27-4

J - 12
DIgSILENT PowerFactory User’s Manual Index

Performing ......................................... 27-6 R


Target Function ................................ 27-2 Random ..................................................... H-3
Passive Failure ...................................... 29-46 Rectifier
Path .......................................................... 12-9 1-DC Connection .............................. C-42
Phase Locked Loop ............................... C-71 2-DC Connections ............................ C-44
Phase Measurement Device ................. C-71 Type ................................................... D-21
pi Reducing Network .................................. 33-1
DPL ...................................................... G-8 Reduction ................................................. 33-1
DSL ........................................................I-1 Redundant Unit ..................................... 29-47
picdro Reference to the use of Symbols ...........E-1
DSL ........................................................I-3 RelDir ...................................................... 32-17
PostCommand ........................................ H-74 RelFmeas ............................................... 32-19
pow RelFrq ..................................................... 32-19
DPL ...................................................... G-7 RelFuse ................................................... 32-20
DSL ........................................................I-1 Reliability Analysis .................................. 29-1
Power at Risk ........................................ 29-37 Advanced Options .......................... 29-12
Power Measurement ............................. C-66 Basic Options ..................................... 29-7
Power Restoration (Reliability) ........... 29-36 Calculated Results .......................... 29-13
PowerFactory Overview ........................... 4-1 FEA Options ..................................... 29-10
Primitive Block Definitions (DSL) ....... 25-51 Glossary ........................................... 29-45
Print Graphic ......................................... 10-31 Options ............................................... 29-6
PrintAllVal Outputs .............................................. 29-9
IntMon ............................................. H-149 Probabilistic ....................................... 29-1
printf .......................................................... H-5 State Enumeration .......................... 29-30
PrintVal Stochastic Models ............................. 29-3
IntMon ............................................. H-149 Theory ................................................ 29-2
Probability Density Function ............... 29-47 Reliability Assessment ............................ 29-1
Program Configuration ............................ 5-1 Reliability Model
Program Setting, Logging on and User Ac- Busbar and Terminal ...................... 29-18
counts ......................................................... 5-1 Common Mode ................................ 29-23
Program Settings ...................................... 5-1 Interruption Cost ............................ 29-27
Project ....................................................... A-5 Lines ................................................. 29-20
Basic Defintion .................................... 9-1 Load .................................................. 29-25
Validity Period ..................................... 9-5 Load Shedding/Transfer ................ 29-29
Project Settings ......................................... 9-4 Transformer ..................................... 29-22
Protection ................................................ 32-1 Reliability Models .................................. 29-17
Protection Coordination Wizard .......... 32-47 RelIoc ............................................32-9, 32-21
PSS/E Dyn.Data Import ........................... F-5 RelLogic .......................................32-10, 32-22
General Settings ................................. F-6 RelMeasure ...................................32-8, 32-23
Import Options ................................... F-7 RelToc ...........................................32-9, 32-24
PSS/E Export ............................................. F-7 RelUlim ................................................... 32-26
General Settings ................................. F-8 Remote Scripts (DPL) ........................... G-15
Options ................................................. F-8 Remove
PSS/E Import ............................................ F-1 Set ...................................................... H-52
General Settings ................................. F-2 RemoveEvents
Graphical Options ............................... F-5 ComOutage ...................................... H-80
Import Options ................................... F-3 ComRel3 ............................................ H-86
PWM Converter RemoveOutages
1 DC Connection .............................. C-38 ComRel3 ............................................ H-86
2 DC Connections ............................ C-40 RemoveVar
IntMon ............................................. H-150
Repair ..................................................... 29-46

J - 13
DIgSILENT PowerFactory User’s Manual Index

Reporting Results ................................... 20-1 Add ..................................................... H-51


ReportObjs Clear .................................................. H-52
ComSimoutage ................................. H-83 Count ................................................. H-56
RES First .................................................... H-53
DIg Output Language .................... 20-54 FirstFilt ............................................... H-54
Reset Firstmatch ......................................... H-54
ComSimoutage ................................. H-81 IsIn .................................................... H-55
ResetCalculation .................................... H-73 MarkInGraphics ................................ H-58
ResIndex ............................................... H-107 Next ................................................... H-53
Resize NextFilt .............................................. H-55
IntMat .............................................. H-153 Nextmatch ........................................ H-54
IntVec .............................................. H-156 Obj ..................................................... H-56
ResNval ................................................. H-108 Remove ............................................. H-52
ResNvars ............................................... H-109 SortToClass ....................................... H-57
Result Box SortToName ...................................... H-57
Edit .................................................... 10-48 SortToVar .......................................... H-56
Result Comparison SetAdaptX
Setup .................................................... 8-4 SetDesktop.SetAdaptX .................... H-19
Result Export ......................................... 20-46 SetVipage ........................................ H-122
Result Object .................................20-45, A-5 VisPlot .............................................. H-137
Results ...................................................... 20-1 SetAdaptY
DIgSILENT Output Language ....... 20-50 IntPlot .............................................. H-146
RMS Simulation ....................................... 25-1 VisPlot .............................................. H-138
round SetAsDefault
DPL ...................................................... G-7 ElmRes ............................................. H-106
DSL ........................................................I-1 SetAutoScaleX
RowLbl SetDesktop.SetAutoScaleX ............. H-19
IntMat .............................................. H-154 SetVipage ........................................ H-121
VisPlot .............................................. H-135
S SetAutoScaleY
IntPlot .............................................. H-146
SAIDI (Reliability Analysis) ................. 29-14
VisPlot .............................................. H-136
SAIFI (Reliability Analysis) .................. 29-14
SetColgr .......................................10-39, 10-45
Sample and Hold ................................... C-72
SetCondmg ............................................32-32
sapprox
SetCorr
DSL ........................................................I-4
ElmLne ............................................. H-100
sapprox2
SetCrvDesc
DSL ........................................................I-5
Scenario ................................................... 16-1 VisPlot .............................................. H-142
SetCrvfilt ................................................20-37
Scheduled Outage ................................ 29-45
SetCubop ..................................................10-3
SEAR (Reliability Analysis) .................. 29-16
SetDefScaleX
Security .................................................. 29-47
SetVipage ........................................ H-120
SEL ............................................................. G-7
VisPlot .............................................. H-131
select
SetDefScaleY
DSL ........................................................I-3
VisPlot .............................................. H-132
Sensitivity Analysis ............................... 22-17
SetDesktop (DPL Methods) .................. H-15
Series Capacitance ................................ C-46
DoAutoScaleX ................................... H-18
Series Reactance ................................... C-47
GetPage ............................................. H-16
SES (Reliability Analysis) ..................... 29-16
SetAdaptX ......................................... H-19
Set
SetAutoScaleX .................................. H-19
IntMat .............................................. H-152
SetResults ......................................... H-16
IntVec .............................................. H-156
SetScaleX .......................................... H-17
Set (DPL Methods) ................................ H-49

J - 14
DIgSILENT PowerFactory User’s Manual Index

SetXVar ............................................. H-17 AllOpenBreakers .............................. H-66


Show .................................................. H-15 AllSym ............................................... H-63
WriteWMF ......................................... H-15 AllTypLne .......................................... H-63
SetDisplt ................................................. 32-45 Clear .................................................. H-60
SetFeeder (DPL Methods) .................... H-67 GetAll ................................................. H-65
GetAll ................................................. H-67 SetStyle
GetBranches ..................................... H-68 SetVipage ........................................ H-116
GetBuses ........................................... H-67 SetText
SetFilt ..................................................... 11-12 IntForm ........................................... H-157
SetFilt (DPL Methods) ........................... H-58 SetTile
Get ..................................................... H-58 SetVipage ........................................ H-117
SetGrfpage ............................................ 10-41 SetTime .................................................... 13-3
SetLevelVis ............................................ 10-42 SetTime ............................................. H-31
SetLimits SetTime (DPL Methods) ....................... H-31
ComSimoutage ................................. H-83 Date ................................................... H-32
SetLineFeed .............................................. H-9 SetTime ............................................. H-31
SetMotorst ............................................. 32-36 Time ................................................... H-33
SetNomCurr Settings
TypLne ............................................ H-103 Data Manager ..................................... 6-4
SetObjs Directories ........................................... 6-6
ComOutage ...................................... H-79 Editor .................................................... 6-6
SetOcplt ................................................. 32-37 Functions ............................................. 6-5
SetPath .............................. 7-16, 32-26, 32-38 General ................................................. 6-1
SetPath (DPL Methods) ........................ H-68 Graphic Windows ................................ 6-2
AllBreakers ........................................ H-70 Output Window ................................... 6-5
AllClosedBreakers ............................ H-71 SetTitm ................................................... 10-46
AllOpenBreakers .............................. H-71 SetTrfdmg .............................................. 32-34
GetAll ................................................. H-68 SetTrigger .....................................7-32, 13-12
GetBranches ..................................... H-70 SetUser ....................................................... 6-1
GetBusses ......................................... H-69 SetValue ................................................. 11-17
SetPrj .......................................................... 9-4 SetVilytaxis ............................................ 20-42
SetRandSeed ............................................ H-3 SetVilytpage .......................................... 20-42
SetResults SetVilytplot ............................................ 20-42
SetDesktop.SetResults .................... H-16 SetViPage ................................................. 20-3
SetVipage ........................................ H-117 SetVipage (DPL Methods) .................. H-115
SetScaleX DoAutoScaleX ................................. H-120
SetDesktop.SetScaleX ..................... H-17 DoAutoScaleY ................................. H-121
SetVipage ........................................ H-119 GetScaleObjX ................................. H-123
VisPlot ............................................. H-129 GetVI ............................................... H-116
SetScaleY SetAdaptX ....................................... H-122
IntPlot ............................................. H-144 SetAutoScaleX ................................ H-121
VisPlot ............................................. H-130 SetDefScaleX .................................. H-120
SetSelect (DPL Methods) ...................... H-59 SetResults ....................................... H-117
AddRef .............................................. H-59 SetScaleX ........................................ H-119
All ....................................................... H-64 SetStyle ........................................... H-116
AllAsm ............................................... H-62 SetTile ............................................. H-117
AllBars ............................................... H-61 SetXVar ........................................... H-118
AllBreakers ........................................ H-65 SetXVar
AllClosedBreakers ............................ H-66 SetDesktop.SetXVar ........................ H-17
AllElm ................................................ H-60 SetVipage ........................................ H-118
AllLines .............................................. H-61 VisPlot .............................................. H-127
AllLoads ............................................. H-62 Shed load ............................................... 29-45

J - 15
DIgSILENT PowerFactory User’s Manual Index

Short-Circuit sqrt
Adv.Options ANSI ........................... 23-22 DPL ....................................................... G-7
Adv.Options Complete M. .............. 23-25 DSL ........................................................I-1
Advanced Options IEC/VDE .......... 23-17 sscanf ...................................................... H-27
Background ........................................ 23-1 Stability Analysis
Basic Options ................................... 23-12 Models ..............................................25-21
Basic Options ANSI ......................... 23-20 Stability and EMT Simulations ..............25-1
Basic Options Complete M. ........... 23-23 Stability Simulation .................................25-1
Basic Options IEC/VDE .................. 23-16 StaCt ..............................................32-7, 32-10
Calculation ......................................... 23-7 StaCubic ...................................................7-10
Calculation Method ......................... 23-12 StaExtpmea ...........................................34-22
Calculation Options ........................ 23-12 StaExtqmea ...........................................34-22
Complete Method ............................. 23-3 StaExtvmea ............................................34-22
Explanation IEC/VDE Method ......... 23-5 StaImea ................................................... C-66
Fault Type ........................................ 23-13 STALNE
IEC Correction Factors ..................... 23-6 DIg Output Language ....................20-54
Line Faults ......................................... 23-9 StaPqmea ................................................ C-66
Multiple Faults ................................. 23-10 StaSwitch .................................................7-10
Verification ....................................... 23-15 StaSwitch (DPL Methods) ................... H-113
Short-Circuit Analysis ............................. 23-1 Close ................................................ H-113
Show IsClosed ........................................... H-115
SetDesktop.Show ............................. H-15 IsOpen ............................................. H-114
ShowFullName Open ................................................ H-114
Object ................................................ H-36 State Enumeration ................................29-30
Shunt State Estimation ......................................34-1
Element ............................................. C-49 Static Generator ..................................... C-54
sin Static Var System .................................. C-57
DPL ...................................................... G-7 Station Controller ..........................22-5, C-59
DSL ........................................................I-1 StationWare ...............................................F-9
Single Line Graphic ....................10-37, 10-38 Statistic ...................................................29-45
sinh StaVmea .................................................. C-66
DPL ...................................................... G-7 StaVt .......................................................32-12
DSL ........................................................I-1 StaVtsec .................................................32-14
Size Stochastic ...............................................29-45
IntVec .............................................. H-157 StochEvt
Slot ............................................................. A-5 Object ................................................ H-49
Slotupd StoCommon ...........................................29-23
ElmComp ........................................... H-94 strchg ....................................................... H-24
snm strcmp ..................................................... H-23
Object ................................................ H-46 strcpy ....................................................... H-23
Soft Starter ............................................. C-52 strftime .................................................... H-25
SortToClass strlen ........................................................ H-24
Set ...................................................... H-57 strstr ........................................................ H-23
SortToName strtok ....................................................... H-25
Set ...................................................... H-57 Study Case .......................................13-1, A-5
SortToVar Study Time ........................................13-3
Set ...................................................... H-56 Study Cases .............................................13-1
Spare Unit .............................................. 29-46 Study Time ..............................................13-3
sprintf ...................................................... H-22 Subplot (VI) ...........................................20-10
sqr SummaryGrid ......................................... H-30
DPL ...................................................... G-7 Support .......................................................2-1
DSL ........................................................I-1 Symbols ..................................................... E-1

J - 16
DIgSILENT PowerFactory User’s Manual Index

Symbols of Elements Type, 2-Winding ................................ D-1


Editing and Changing .................... 10-46 Type, 3-Winding ................................ D-4
Synchronous Machine Type, Booster ................................... D-11
Element ............................................. C-59 Transient Analysis .................................. 25-1
Type .................................................. D-22 Transients
System Stage ........................................... A-5 electromagnetical ............................. 25-2
electromechanical ............................. 25-2
T long-term ........................................... 25-2
TriCont ..................................................... 18-6
tan
TriDisc ...................................................... 18-5
DPL ...................................................... G-7
TriFreq ...................................................... 18-7
DSL ........................................................I-1
Trigger
tanh
Element ............................................. C-73
DPL ...................................................... G-7
TriVal ........................................................ 18-2
DSL ........................................................I-1
trunc
TechRef ..................................................... C-1
DPL ...................................................... G-7
The ............................................................. 5-1
DSL ........................................................I-1
The Graphics Editor ............................... 10-1
TTF (Reliability Analysis) ....................... 29-4
this ............................................................. G-7
TTR (Reliability Analysis) ....................... 29-4
Time
twopi ............................................................I-1
SetTime ............................................. H-33
DPL ...................................................... G-8
time
DSL ........................................................I-1
DSL ................................................. I-1, I-3
TypAsm (DPL Methods) ........................ H-90
Time Phases .......................................... 28-12
CalcElParams .................................... H-90
Time-Domain Simulation
TypAsmo ................................................... D-8
3-phase EMT Simulation ................. 25-4
TypAsmo (DPL Methods) ...................... H-91
3-phase RMS Simulation ................. 25-3
CalcElParams .................................... H-91
Advanced Options ............................ 25-9
TypCab .................................................... D-13
Balanced RMS Simulation ................ 25-3
TypCon .................................................... D-14
Basic Options .................................... 25-6
TypCt ...................................................... 32-12
Calculation Methods ......................... 25-3
Type ........................................................... A-5
Events .............................................. 25-15
Define element type ......................... 7-19
Load Flow ........................................ 25-12
Types Reference ...................................... D-1
Long-Term Stability ........................ 25-10
TypGeo .................................................... D-25
Noise Generation ............................ 25-11
TypHmcCur .............................................. 24-8
Reference System .......................... 25-10
TypLne .................................................... D-17
Result Objects ................................. 25-13
TypLne (DPL Methods) ....................... H-102
Run ................................................... 25-20
IsCable ............................................ H-102
Setup .................................................. 25-4
SetNomCurr .................................... H-103
Simulation Results .......................... 25-14
TypLod .................................................... D-16
Step-Size Adaption ..................25-7, 25-8
TypRec .................................................... D-21
Time-Domain Simulations ..................... 25-1
TypSym ................................................... D-22
TITLE
TypTow ................................................... D-25
DIg Output Language .................... 20-53
TypTr2 ....................................................... D-1
Toolbar Definitions ................................... 4-9
TypTr3 ....................................................... D-4
ToStr ........................................................ H-22
Tower TypTrb ..................................................... D-11
TypVt ...................................................... 32-15
Types ................................................. D-25
TypVtsec ................................................ 32-15
Trace ...................................................... 28-19
Transformer
Element, 2-Winding .......................... C-1 U
Element, 3-Winding .......................... C-7 unm
Element, Booster ............................. C-13 Object ................................................ H-47

J - 17
DIgSILENT PowerFactory User’s Manual Index

Unom VI Panel
Object ................................................ H-47 Automatic Arrangement ...................20-5
User Interface ........................................... 4-6 Automatic Scale Buttons ..................20-5
User Settings ............................................. 6-1 Background ........................................20-8
Context Sensitive Menu ...................20-8
V Create Virtual Instruments ..............20-9
Default Styles ....................................20-9
Validity Period ........................................... 9-5
Defining Styles ................................20-42
validLDF .................................................. H-75
Edit ......................................................20-4
validRMS ................................................. H-77
Moving and Resizing ........................20-6
validSHC .................................................. H-76
Page Format ......................................20-6
validSIM .................................................. H-77
Plots ....................................................20-9
VarExists
Results ................................................20-8
Object ................................................ H-44
Title Block ..........................................20-7
Variable Sets ........................................... 19-1
Variables of Plots ..............................20-6
VARIANT
Virtual Instrument ................................... A-6
DIg Output Language .................... 20-53
Virtual Instrument Panel ........................ A-6
Variation ................................................... 17-1
Virtual Instrument Panels ......................20-3
Vector Diagram
Virtual Instruments .................................20-1
Changing the object ....................... 20-21
Types ..................................................20-1
Changing the Variables .................. 20-22
Types Feeders ...................................20-2
Coordinates ..................................... 20-21
Types Harmonics ..............................20-3
Editing the Unit/Tick ...................... 20-21
Types Protection ...............................20-2
Label of Vectors .............................. 20-21
Virtual Power Plant .................................12-1
Origin ................................................ 20-21
VisDefcrv ................................................20-27
X and Y Axes ................................... 20-21
VisDraw ..................................................32-43
VecVis ..................................................... 20-19
VisEigen ....................................................26-7
Version ..................................................... 21-1
Viseigen ....................................................20-3
VI
VisFft .......................................................20-18
Constant Value ................................ 20-35
VisFft (DPL Methods) .......................... H-143
Curve Filter ...................................... 20-37
DoAutoScaleX ................................. H-143
Curve Input ..................................... 20-27
VisHrm ....................................................20-25
Defining Styles ................................ 20-42
VisLabel ..................................................20-33
Edit Dialogues ................................. 20-31
VisModbar .......................................20-3, 26-8
Embedded Graphic Windows ........ 20-30
VisModphasor ..........................................26-9
Export Curve Data .......................... 20-38
VisOcplot ................................................32-30
Export Curve Graphic ..................... 20-38
VisPath ...................................................20-22
FFT Plot ............................................ 20-18
Schematic Visualization .................20-24
Format Label ................................... 20-33
VisPlot .....................................................20-10
Labelling Plots ................................. 20-32
Curves ..............................................20-15
Plot Style .......................................... 20-43
Editing Subplots ..............................20-10
Pre-defined Style ............................ 20-44
Setting the X-Axis ...........................20-11
Status Bar ........................................ 20-32
Setting the Y-Axis ...........................20-13
Straight Line .................................... 20-37
VisPlot (2 Y-Axes) .................................20-17
Styles ................................................ 20-41
VisPlot/VisPlot2 (DPL Methods) ......... H-124
Text Label ........................................ 20-32
AddResVars ..................................... H-126
Tools for Virtual Instruments ........ 20-31
AddVars ........................................... H-125
User-defined Styles ........................ 20-41
Clear ................................................ H-127
Value Label ...................................... 20-32
DoAutoScaleX ................................. H-133
Vector Diagram ............................... 20-19
DoAutoScaleY ................................. H-133
Voltage Profile Plot ......................... 20-22
GetScaleObjX .................................. H-139
Waveform Plot ................................ 20-25
GetScaleObjY .................................. H-141
X-Y-Plot ............................................ 20-17

J - 18
DIgSILENT PowerFactory User’s Manual Index

SetAdaptX ....................................... H-137


SetAdaptY ....................................... H-138
SetAutoScaleX ................................ H-135
SetAutoScaleY ................................ H-136
SetCrvDesc ..................................... H-142
SetDefScaleX .................................. H-131
SetDefScaleY .................................. H-132
SetScaleX ........................................ H-129
SetScaleY ........................................ H-130
SetXVar ........................................... H-127
VisPlot2 .................................................. 20-17
VisPlot2 (DPL Methods)
DoAutoScaleY2 .............................. H-134
VisPlottz ................................................. 32-38
VisValue ................................................. 20-32
VisXvalue ............................................... 20-35
VisXYPlot ................................................ 20-17
Voltage Measurement ........................... C-66
Voltage Sag Analysis ............................ 29-39
Options ............................................. 29-39
Results ............................................. 29-42
Voltage Source
Element (AC) .................................... C-64
Element (DC) ................................... C-65

W
Warn .......................................................... H-8
Waveform Plot ...................................... 24-14
Weibull-Markov-Model ........................... 29-5
Welcome .................................................... 1-1
while(){}
DPL ...................................................... G-9
Write .......................................................... H-6
ElmRes ............................................ H-104
WriteDraw
ElmRes ............................................ H-105
WriteOut
IntForm ........................................... H-158
WriteWMF
SetDesktopWriteWMF ..................... H-15

Z
Zone ......................................................... 12-9

J - 19
DIgSILENT PowerFactory User’s Manual Index

J - 20

You might also like