Sie sind auf Seite 1von 1427

I NT E GR AT E D P OWE R S YS T E M ANALYS I S S OF T WAR E

DIgSILENT
PowerFactory 15
User Manual
D
I
G
SILENT
PowerFactory

DIgSILENT PowerFactory
Version 15.1
User Manual
Online Edition
DIgSILENT GmbH
Gomaringen, Germany
December 2013
Publisher:
DIgSILENT GmbH
Heinrich-Hertz-Strae 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 permission
of the publisher.
December 2013
r1181
Contents
I General Information 1
1 About this Guide 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Contents of the User Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Used Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Contact 5
2.1 Direct Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Documentation and Help System 7
4 PowerFactory Overview 9
4.1 General Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Database, Objects, and Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3 PowerFactory Simulation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.4 General Design of PowerFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.5 Type and Element Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.6 Data Arrangement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.6.1 Global Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.6.2 Project Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6.3 Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6.4 Network Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6.5 Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.6.6 Study Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.6.7 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
DIgSILENT PowerFactory 15, User Manual i
CONTENTS
4.7 Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.7.1 Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.7.2 Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.3 Cubicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.4 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.5 Substations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.6 Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.7 Branch Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.8 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.8.2 Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8.3 Main Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.8.4 The Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.9 DIgSILENT Programming Language (DPL) Scripts . . . . . . . . . . . . . . . . . . . . . . 28
II Administration 31
5 Program Administration 33
5.1 Program Installation and Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 The SetCong Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.2 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.3 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.4 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.5 External Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.6 Advanced Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3 Workspace options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.1 Show Workspace Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.2 Import and Export Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.3 Show Default Export Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 Ofine Mode User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4.1 Functionality in Ofine mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4.2 Functionality in Online mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
ii DIgSILENT PowerFactory 15, User Manual
CONTENTS
5.4.3 Terminate Ofine session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.5 Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.5.2 Conguring permanently logged-on users . . . . . . . . . . . . . . . . . . . . . . 41
5.5.3 Conguring housekeeping tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.4 Conguring deletion of old projects . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.5.5 Conguring purging of projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.5.6 Conguring emptying of recycle bins . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.5.7 Monitoring Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.5.8 Summary of Housekeeping Deployment . . . . . . . . . . . . . . . . . . . . . . . 44
6 User Accounts, User Groups, and Proles 45
6.1 PowerFactory Database Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.2 The Database Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.3 Creating and Managing User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.4 Creating User Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.5 Creating Proles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.5.1 Tool Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.5.2 Conguration of Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.5.3 Conguration of Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.5.4 Conguration of Dialogue Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.5.5 Conguration of Dialogue Parameters . . . . . . . . . . . . . . . . . . . . . . . . 53
6.5.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7 User Settings 55
7.1 General Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 Graphic Windows Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.3 Data Manager Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.4 Output Window Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.5 Functions Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.6 Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.7 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.8 StationWare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
DIgSILENT PowerFactory 15, User Manual iii
CONTENTS
7.9 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
III Handling 61
8 Basic Project Denition 63
8.1 Dening and Conguring a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.1.1 The Project Edit Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.1.2 The Project Overview Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.1.3 Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8.1.4 Activating and Deactivating Projects . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.1.5 Exporting and Importing of Projects . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.1.6 External References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.2 Creating New Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9 Network Graphics (Single Line Diagrams) 71
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.2 Dening Network Models with the Graphical Editor . . . . . . . . . . . . . . . . . . . . . . 71
9.2.1 Adding New Power System Elements . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.2.2 Drawing Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.2.3 Drawing Branch Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.2.4 Marking and Editing Power System Elements . . . . . . . . . . . . . . . . . . . . 74
9.2.5 Interconnecting Power Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . 76
9.2.6 Working with Substations in the Graphical Editor . . . . . . . . . . . . . . . . . . 77
9.2.7 Working with Composite Branches in the Graphical Editor . . . . . . . . . . . . . 81
9.2.8 Working with Single and Two Phase Elements . . . . . . . . . . . . . . . . . . . . 81
9.3 Dening and Working with Lines and Cables . . . . . . . . . . . . . . . . . . . . . . . . . 82
9.3.1 Dening a Line (ElmLne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
9.3.2 Dening Line Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
9.3.3 Example Cable System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
9.3.4 Example Line Couplings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
9.4 Neutral winding connection in network diagrams . . . . . . . . . . . . . . . . . . . . . . . 87
9.5 Graphic Windows and Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.5.1 Network Diagrams and Graphical Pages . . . . . . . . . . . . . . . . . . . . . . . 90
iv DIgSILENT PowerFactory 15, User Manual
CONTENTS
9.5.2 Active Graphics, Graphics Board and Study Cases . . . . . . . . . . . . . . . . . 91
9.5.3 Single Line Graphics and Data Objects . . . . . . . . . . . . . . . . . . . . . . . . 92
9.5.4 Editing and Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.5.5 Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.5.6 Creating New Graphic Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.5.7 Basic Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.5.8 Page Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.5.9 Drawing Toolboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.5.10 Active Grid Folder (Target Folder) . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.6 Drawing Diagrams with Existing Network Elements . . . . . . . . . . . . . . . . . . . . . 96
9.6.1 Drawing Existing Busbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.6.2 Drawing Existing Lines, Switches, and Transformers . . . . . . . . . . . . . . . . 98
9.6.3 Building Single Line Diagrams from Imported Data . . . . . . . . . . . . . . . . . 98
9.7 Graphic Commands, Options, and Settings . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.7.1 Zoom, Pan, and Select Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.7.2 Page, Graphic, and Print Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9.7.3 Graphic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.7.4 Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
9.7.5 Element Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.7.6 Graphic Attributes and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.7.7 Node Default Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
9.8 Editing and Changing Symbols of Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 117
9.9 Results Boxes, Text Boxes and Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
9.9.1 Results Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
9.9.2 Text Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
9.9.3 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
9.9.4 Free Text Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
9.10 Annotation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
9.11 Annotation of protection device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
9.12 Geographical Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
10 Data Manager 127
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
DIgSILENT PowerFactory 15, User Manual v
CONTENTS
10.2 Using the Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.2.1 Navigating the Database Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.2.2 Adding New Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.2.3 Deleting an Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.2.4 Cut, Copy, Paste and Move Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.2.5 The Data Manager Message Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10.2.6 Additional Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10.3 Dening Network Models with the Data Manager . . . . . . . . . . . . . . . . . . . . . . . 134
10.3.1 Dening New Network Components in the Data Manager . . . . . . . . . . . . . 134
10.3.2 Connecting Network Components in the Data Manager . . . . . . . . . . . . . . . 134
10.3.3 Dening Substations in the Data Manager . . . . . . . . . . . . . . . . . . . . . . 134
10.3.4 Dening Composite Branches in the Data Manager . . . . . . . . . . . . . . . . . 135
10.3.5 Dening Sites in the Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.3.6 Editing Network Components using the Data Manager . . . . . . . . . . . . . . . 136
10.4 Searching for Objects in the Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.4.1 Sorting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.4.2 Searching by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.4.3 Using Filters for Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.5 Editing Data Objects in the Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.5.1 Editing in Object Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.5.2 Editing in "Detail" Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
10.5.3 Copy and Paste while Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.6 The Flexible Data Page Tab in the Data Manager . . . . . . . . . . . . . . . . . . . . . . 145
10.6.1 Customizing the Flexible Data Page . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.7 The Input Window in the Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.7.1 Input Window Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.8 Save and Restore Parts of the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10.8.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.9 Spreadsheet Format Data Import/Export . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.9.1 Export to Spreadsheet Programs (e. g. MS EXCEL) . . . . . . . . . . . . . . . . 149
10.9.2 Import from Spreadsheet Programs (e. g. MS EXCEL) . . . . . . . . . . . . . . . 151
11 Study Cases 157
vi DIgSILENT PowerFactory 15, User Manual
CONTENTS
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
11.2 Creating and Using Study Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
11.3 Summary Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
11.4 Study Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
11.5 The Study Case Edit Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
11.6 Variation Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.7 Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.8 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.9 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
11.9.1 Dispatch Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.9.2 External Measurement Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.9.3 Intercircuit Fault Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.9.4 Events of Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.9.5 Message Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.9.6 Outage of Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.9.7 Parameter Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.9.8 Save Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.9.9 Short-Circuit Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.9.10 Stop Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.9.11 Switch Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.9.12 Synchronous Machine Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
11.9.13 Tap Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
11.10Simulation Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
11.11Results Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
11.12Variable Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.13Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.14Graphic Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
12 Project Library 169
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
12.2 Equipment Type Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
12.3 Operational Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
12.3.1 Circuit Breaker Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
DIgSILENT PowerFactory 15, User Manual vii
CONTENTS
12.3.2 Demand Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.3.3 Fault Cases and Fault Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.3.4 Capability Curves (Mvar Limit Curves) for Generators . . . . . . . . . . . . . . . . 177
12.3.5 Planned Outages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
12.3.6 Running Arrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
12.3.7 Thermal Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
12.4 Templates Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12.4.1 General Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.4.2 Substation Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.4.3 Busbar Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.4.4 Composite Branch Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.4.5 Example Generator Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
12.4.6 Example Busbar Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
13 Grouping Objects 189
13.1 Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
13.2 Virtual Power Plants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
13.2.1 Dening and Editing a New Virtual Power Plant . . . . . . . . . . . . . . . . . . . 190
13.2.2 Applying a Virtual Power Plant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
13.2.3 Inserting a Generator into a Virtual Power Plant and Dening its Virtual Power
Plant Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
13.3 Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
13.4 Circuits (ElmCircuit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
13.5 Feeders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
13.6 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
13.7 Owners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
13.8 Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
13.9 Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
13.10Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
14 Operation Scenarios 199
14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
14.2 Operation Scenarios Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
14.3 How to use Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
viii DIgSILENT PowerFactory 15, User Manual
CONTENTS
14.3.1 How to create an Operation Scenario . . . . . . . . . . . . . . . . . . . . . . . . . 201
14.3.2 How to save an Operation Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 202
14.3.3 How to activate an existing Operation Scenario . . . . . . . . . . . . . . . . . . . 203
14.3.4 How to deactivate an Operation Scenario . . . . . . . . . . . . . . . . . . . . . . 203
14.3.5 How to identify operational data parameters . . . . . . . . . . . . . . . . . . . . . 204
14.4 Administering Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
14.4.1 How to view objects missing from the Operation Scenario data . . . . . . . . . . 205
14.4.2 How to compare the data in two operation scenarios . . . . . . . . . . . . . . . . 205
14.4.3 How to view the non-default Running Arrangements . . . . . . . . . . . . . . . . 206
14.4.4 How to transfer data from one Operation Scenario to another . . . . . . . . . . . 206
14.4.5 How to update the default data with operation scenario data . . . . . . . . . . . . 207
14.4.6 How exclude a grid from the Operation Scenario data . . . . . . . . . . . . . . . 207
14.4.7 How to create a time based Operation Scenario . . . . . . . . . . . . . . . . . . . 207
14.5 Advanced Conguration of Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . 209
14.5.1 How to change the automatic save settings for Operation Scenarios . . . . . . . 209
14.5.2 How to modify the data stored in Operation Scenarios . . . . . . . . . . . . . . . 209
15 Network Variations and Expansion Stages 211
15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
15.2 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
15.3 Expansion Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
15.4 The Study Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
15.5 The Recording Expansion Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
15.6 The Variation Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
15.7 Variation and Expansion Stage Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
15.8 Variation and Expansion Stage Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . 216
15.8.1 Applying Changes from Expansion Stages . . . . . . . . . . . . . . . . . . . . . . 216
15.8.2 Consolidating Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
15.8.3 Splitting Expansion Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
15.8.4 Comparing Variations and Expansion Stages . . . . . . . . . . . . . . . . . . . . 217
15.8.5 Colouring Variations the Single Line Graphic . . . . . . . . . . . . . . . . . . . . . 218
15.8.6 Variation Conicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
15.8.7 Error Correction Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
DIgSILENT PowerFactory 15, User Manual ix
CONTENTS
15.9 Compatibility with Previous PowerFactory
Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
15.9.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
15.9.2 Converting System Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
16 Parameter Characteristics,
Load States, and Tariffs 225
16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
16.2 Parameter Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
16.2.1 Time Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
16.2.2 Prole Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
16.2.3 Scalar Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
16.2.4 Vector Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
16.2.5 Matrix Parameter Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
16.2.6 Parameter Characteristics from Files . . . . . . . . . . . . . . . . . . . . . . . . . 233
16.2.7 Characteristic References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
16.2.8 Edit Characteristic Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
16.2.9 Browser in Scales mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
16.2.10 Example Application of Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 235
16.3 Load States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
16.3.1 Creating Load States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
16.3.2 Viewing Existing Load States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
16.3.3 Load State Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
16.3.4 Example Load States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
16.4 Load Distribution States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
16.4.1 Creating Load Distribution States . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
16.4.2 Viewing Existing Load Distribution States . . . . . . . . . . . . . . . . . . . . . . 242
16.4.3 Load Distribution State Object Properties . . . . . . . . . . . . . . . . . . . . . . 242
16.4.4 Example Load Distribution States . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
16.5 Tariffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
16.5.1 Dening Time Tariffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
16.5.2 Dening Energy Tariffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
17 Reporting and Visualizing Results 247
x DIgSILENT PowerFactory 15, User Manual
CONTENTS
17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
17.2 Results, Graphs and Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
17.2.1 Editing Result Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
17.2.2 Output of Device Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
17.2.3 Output of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
17.2.4 Result Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
17.3 Comparisons Between Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
17.3.1 Editing a Set Of Comparison Cases . . . . . . . . . . . . . . . . . . . . . . . . . 257
17.3.2 Update Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
17.4 Variable Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
17.4.1 The Variable Selection Monitor Dialogue . . . . . . . . . . . . . . . . . . . . . . . 258
17.4.2 Searching the Variables to Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . 260
17.4.3 Examples of Variable Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
17.4.4 Selecting the Bus to be Monitored . . . . . . . . . . . . . . . . . . . . . . . . . . 265
17.5 Virtual Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
17.5.1 Virtual Instrument Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
17.5.2 Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
17.5.3 Calculated Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
17.5.4 The Vector Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
17.5.5 The Voltage Prole Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
17.5.6 Schematic Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
17.5.7 The Waveform Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
17.5.8 The Curve-Input Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
17.5.9 Embedded Graphic Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
17.5.10 Tools for Virtual Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
17.5.11 User-Dened Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
18 Data Management 309
18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
18.2 Project Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
18.2.1 What is a Version? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
18.2.2 How to Create a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
18.2.3 How to Rollback a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
DIgSILENT PowerFactory 15, User Manual xi
CONTENTS
18.2.4 How to Check if a Version is the base for a derived Project . . . . . . . . . . . . . 312
18.2.5 How to Delete a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
18.3 Derived Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
18.3.1 Derived Projects Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
18.3.2 How to Create a Derived Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
18.4 Comparing and Merging Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
18.4.1 Compare and Merge Tool Background . . . . . . . . . . . . . . . . . . . . . . . . 316
18.4.2 How to Merge or Compare two projects using the Compare and Merge Tool . . . 317
18.4.3 How to Merge or Compare three projects using the Compare and Merge Tool . . 318
18.4.4 Compare and Merge Tool Advanced Options . . . . . . . . . . . . . . . . . . . . 319
18.4.5 Compare and Merge Tool diff browser . . . . . . . . . . . . . . . . . . . . . . . . 320
18.5 How to update a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
18.5.1 Updating a Derived Project from a new Version . . . . . . . . . . . . . . . . . . . 325
18.5.2 Updating a base project from a Derived Project . . . . . . . . . . . . . . . . . . . 327
18.5.3 Tips for working with the Compare and Merge Tool . . . . . . . . . . . . . . . . . 327
18.6 Sharing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
18.7 Database archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
19 The DIgSILENT Programming Language - DPL 329
19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
19.2 The Principle Structure of a DPL Command . . . . . . . . . . . . . . . . . . . . . . . . . 330
19.3 The DPL Command Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
19.3.1 Creating a new DPL Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
19.3.2 Dening a DPL Commands Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
19.3.3 Executing a DPL Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
19.3.4 DPL Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
19.3.5 DPL Script Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
19.4 The DPL Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
19.5 The DPL Script Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
19.5.1 Variable Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
19.5.2 Constant parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
19.5.3 Assignments and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
19.5.4 Standard Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
xii DIgSILENT PowerFactory 15, User Manual
CONTENTS
19.5.5 Program Flow Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
19.5.6 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
19.6 Access to Other Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
19.6.1 Object Variables and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
19.7 Access to Locally Stored Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.8 Accessing the General Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.9 Accessing External Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
19.10Remote Scripts and DPL Command Libraries . . . . . . . . . . . . . . . . . . . . . . . . 342
19.10.1 Subroutines and Calling Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 344
19.11DPL Functions and Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
20 PowerFactory Interfaces 347
20.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
20.2 DGS Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
20.2.1 DGS Interface Typical Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 348
20.2.2 DGS Structure (Database Schemas and File Formats) . . . . . . . . . . . . . . . 349
20.2.3 DGS Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
20.2.4 DGS Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
20.3 PSS/E File Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
20.3.1 Importing PSS/E Steady-State Data . . . . . . . . . . . . . . . . . . . . . . . . . 352
20.3.2 Import of PSS/E le (Dynamic Data) . . . . . . . . . . . . . . . . . . . . . . . . . 355
20.3.3 Exporting a project to a PSS/E le . . . . . . . . . . . . . . . . . . . . . . . . . . 357
20.4 NEPLAN Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
20.4.1 Importing NEPLAN Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
20.5 INTEGRAL Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
20.5.1 Importing Integral Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
20.6 UCTE-DEF Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
20.6.1 Importing UCTE-DEF Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
20.6.2 Exporting UCTE-DEF Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
20.7 CIM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
20.7.1 Importing CIM Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
20.7.2 Exporting CIM Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
20.8 MATLAB Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
DIgSILENT PowerFactory 15, User Manual xiii
CONTENTS
20.9 OPC Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
20.9.1 OPC Interface Typical Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 367
20.10StationWare Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
20.10.1 About StationWare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
20.10.2 Component Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
20.10.3 Fundamental Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
20.10.4 Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
20.10.5 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
20.10.6 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
20.10.7 Technical Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
20.11API (Application Programming Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
20.12Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
20.12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
20.12.2 Installation of a Python Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . 395
20.12.3 The Python PowerFactory Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
20.12.4 The Python Command Object (ComPython) . . . . . . . . . . . . . . . . . . . . . 396
20.12.5 Running PowerFactory in Engine Mode . . . . . . . . . . . . . . . . . . . . . . . . 399
20.12.6 Debugging Python Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
20.12.7 Example of a Python Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
IV Power System Analysis Functions 403
21 Load Flow Analysis 405
21.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
21.2 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
21.2.1 Network Representation and Calculation Methods . . . . . . . . . . . . . . . . . 409
21.2.2 Active and Reactive Power Control . . . . . . . . . . . . . . . . . . . . . . . . . . 412
21.2.3 Advanced Load Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
21.2.4 Temperature Dependency of Lines and Cables . . . . . . . . . . . . . . . . . . . 420
21.3 Executing Load Flow Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
21.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
21.3.2 Active Power Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
21.3.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
xiv DIgSILENT PowerFactory 15, User Manual
CONTENTS
21.3.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
21.3.5 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
21.3.6 Low Voltage Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
21.3.7 Advanced Simulation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
21.4 Result Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
21.4.1 Viewing Results in the Single Line Diagram . . . . . . . . . . . . . . . . . . . . . 433
21.4.2 Flexible Data Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
21.4.3 Predened Report Formats (ASCII Reports) . . . . . . . . . . . . . . . . . . . . . 434
21.4.4 Diagram Colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
21.4.5 Load Flow Sign Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
21.5 Troubleshooting Load Flow Calculation Problems . . . . . . . . . . . . . . . . . . . . . . 435
21.5.1 General Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
21.5.2 Data Model Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
21.5.3 Some Load Flow Calculation Messages . . . . . . . . . . . . . . . . . . . . . . . 437
21.5.4 Too many Inner Loop Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
21.5.5 Too Many Outer Loop Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
21.6 Load Flow Sensitivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
21.6.1 Load Flow Sensitivities Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
21.6.2 Load Flow Sensitivities Execution and Results . . . . . . . . . . . . . . . . . . . . 443
21.6.3 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
22 Short-Circuit Analysis 447
22.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
22.2 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
22.2.1 The IEC 60909/VDE 0102 Method . . . . . . . . . . . . . . . . . . . . . . . . . . 451
22.2.2 The ANSI Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
22.2.3 The Complete Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
22.2.4 The IEC 61363 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
22.2.5 The IEC 61660 (DC) Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
22.2.6 The ANSI/IEEE 946 (DC) Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
22.3 Executing Short-Circuit Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
22.3.1 Toolbar/Main Menu Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
22.3.2 Context-Sensitive Menu Execution . . . . . . . . . . . . . . . . . . . . . . . . . . 463
DIgSILENT PowerFactory 15, User Manual xv
CONTENTS
22.3.3 Faults on Busbars/Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
22.3.4 Faults on Lines and Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
22.3.5 Multiple Faults Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
22.4 Short-Circuit Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
22.4.1 Basic Options (All Methods) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
22.4.2 Verication (Except for IEC 61363, IEC 61660 and ANSI/IEEE 946) . . . . . . . . 470
22.4.3 Basic Options (IEC 60909/VDE 0102 Method) . . . . . . . . . . . . . . . . . . . . 471
22.4.4 Advanced Options (IEC 60909/VDE 0102 Method) . . . . . . . . . . . . . . . . . 472
22.4.5 Basic Options (ANSI C37 Method) . . . . . . . . . . . . . . . . . . . . . . . . . . 474
22.4.6 Advanced Options (ANSI C37 Method) . . . . . . . . . . . . . . . . . . . . . . . . 476
22.4.7 Basic Options (Complete Method) . . . . . . . . . . . . . . . . . . . . . . . . . . 477
22.4.8 Advanced Options (Complete Method) . . . . . . . . . . . . . . . . . . . . . . . . 478
22.4.9 Basic Options (IEC 61363) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
22.4.10 Advanced Options (IEC 61363) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
22.4.11 Basic Options (IEC 61660 Method) . . . . . . . . . . . . . . . . . . . . . . . . . . 481
22.4.12 Advanced Options (IEC 61660 Method) . . . . . . . . . . . . . . . . . . . . . . . 482
22.4.13 Basic Options (ANSI/IEEE 946 Method) . . . . . . . . . . . . . . . . . . . . . . . 482
22.4.14 Advanced Options (ANSI/IEEE 946 Method) . . . . . . . . . . . . . . . . . . . . . 483
22.5 Result Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
22.5.1 Viewing Results in the Single Line Diagram . . . . . . . . . . . . . . . . . . . . . 483
22.5.2 Flexible Data Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
22.5.3 Predened Report Formats (ASCII Reports) . . . . . . . . . . . . . . . . . . . . . 484
22.5.4 Diagram Colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
23 Power Quality and Harmonics Analysis 487
23.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
23.2 Harmonic Load Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
23.2.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
23.2.2 IEC 61000-3-6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
23.2.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
23.3 Frequency Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
23.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
23.3.2 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
xvi DIgSILENT PowerFactory 15, User Manual
CONTENTS
23.4 Filter Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
23.5 Modelling Harmonic Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
23.5.1 Denition of Harmonic Injections . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
23.5.2 Assignment of Harmonic Injections . . . . . . . . . . . . . . . . . . . . . . . . . . 501
23.5.3 Harmonic Distortion Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
23.5.4 Frequency Dependent Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 503
23.5.5 Waveform Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
23.6 Flicker Analysis (IEC 61400-21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
23.6.1 Continuous Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
23.6.2 Switching Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
23.6.3 Flicker Contribution of Wind Turbine Generator Models . . . . . . . . . . . . . . . 509
23.6.4 Denition of Flicker Coefcients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
23.6.5 Assignment of Flicker Coefcients . . . . . . . . . . . . . . . . . . . . . . . . . . 510
23.6.6 Flicker Result Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
23.7 Short-Circuit Power Sk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
23.7.1 Balanced Harmonic Load Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
23.7.2 Unbalanced Harmonic Load Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
23.7.3 Sk Result Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
23.7.4 Short-Circuit Power of the External Grid . . . . . . . . . . . . . . . . . . . . . . . 513
23.8 Connection Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
23.8.1 Connection Request Assessment: D-A-CH-CZ . . . . . . . . . . . . . . . . . . . 513
23.8.2 Connection Request Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
23.8.3 Connection Request Assessment Report . . . . . . . . . . . . . . . . . . . . . . 516
23.9 Denition of Result Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
23.9.1 Denition of Variable Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
23.9.2 Selection of Result Variables within a Variable Set . . . . . . . . . . . . . . . . . 518
24 Flickermeter 521
24.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
24.2 Flickermeter (IEC 61000-4-15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
24.2.1 Calculation of Short-Term Flicker . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
24.2.2 Calculation of Long-Term Flicker . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
24.3 Flickermeter Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
DIgSILENT PowerFactory 15, User Manual xvii
CONTENTS
24.3.1 Flickermeter Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
24.3.2 Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
24.3.3 Signal Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
24.3.4 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
24.3.5 Input File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
25 Quasi-Dynamic Simulation 531
25.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
25.2 Technical background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
25.3 How to complete a
Quasi-Dynamic Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
25.3.1 Dening the variables for monitoring in the Quasi dynamic simulation . . . . . . . 533
25.3.2 Running the Quasi dynamic simulation . . . . . . . . . . . . . . . . . . . . . . . . 534
25.3.3 Considering maintenance outages . . . . . . . . . . . . . . . . . . . . . . . . . . 535
25.4 Analysing the Quasi-dynamic
simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
25.4.1 Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
25.4.2 Quasi-Dynamic simulation reports . . . . . . . . . . . . . . . . . . . . . . . . . . 536
25.4.3 Statistical summary of monitored variables . . . . . . . . . . . . . . . . . . . . . . 536
26 Stability and EMT Simulations 539
26.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
26.2 Calculation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
26.2.1 Balanced RMS Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
26.2.2 Three-Phase RMS Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
26.2.3 Three-Phase EMT Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
26.3 Setting Up a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
26.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
26.3.2 Step Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
26.3.3 Step Size Adaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
26.3.4 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
26.3.5 Noise Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
26.3.6 Advanced Simulation Options - Load Flow . . . . . . . . . . . . . . . . . . . . . . 548
26.4 Result Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
xviii DIgSILENT PowerFactory 15, User Manual
CONTENTS
26.4.1 Saving Results from Previous Simulations . . . . . . . . . . . . . . . . . . . . . . 551
26.5 Simulation Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
26.5.1 Frequency Scan Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
26.5.2 Loss of Synchronism Scan Module . . . . . . . . . . . . . . . . . . . . . . . . . . 552
26.5.3 Variables Scan Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
26.5.4 Voltage Scan Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
26.5.5 Simulation scan example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
26.6 Events (IntEvt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
26.7 Running a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
26.8 Models for Stability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
26.9 System Modelling Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
26.9.1 The Composite Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
26.9.2 The Composite Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
26.9.3 The Common Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
26.10The Composite Block Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
26.10.1 Drawing Composite Block Diagrams and Composite . . . . . . . . . . . . . . . . 577
26.11User Dened (DSL) Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
26.11.1 Modelling and Simulation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
26.11.2 DSL Implementation: an Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 585
26.11.3 Dening DSL Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
26.12The DIgSILENT Simulation Language (DSL) . . . . . . . . . . . . . . . . . . . . . . . . . 592
26.12.1 Terms and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
26.12.2 General DSL Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
26.12.3 DSL Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
26.12.4 DSL Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
26.12.5 Denition Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
26.12.6 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
26.12.7 Equation Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
26.12.8 Equation Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
26.12.9 DSL Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
26.12.10Events and Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
26.12.11Example of a Complete DSL Model . . . . . . . . . . . . . . . . . . . . . . . . . 601
DIgSILENT PowerFactory 15, User Manual xix
CONTENTS
26.13DSL Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
26.13.1 DSL Standard Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
26.13.2 DSL Special Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
26.14MATLAB Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
26.14.1 Example Implementation of Voltage Controller . . . . . . . . . . . . . . . . . . . 608
26.14.2 Additional notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
27 Modal Analysis / Eigenvalue Calculation 617
27.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
27.2 Theory of Modal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
27.3 How to Complete a Modal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
27.3.1 Completing a Modal Analysis with the Default Options . . . . . . . . . . . . . . . 620
27.3.2 Explanation of Modal Analysis Command Basic
Options (ComMod) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
27.3.3 QZ method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
27.3.4 Selective Modal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
27.3.5 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
27.3.6 Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
27.4 Viewing Modal Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
27.4.1 Viewing Modal Analysis Reports in the Output Window . . . . . . . . . . . . . . . 626
27.4.2 Viewing Modal Analysis Results using the built-in Plots . . . . . . . . . . . . . . . 629
27.4.3 Viewing Modal Analysis Results using the Modal Data Browser . . . . . . . . . . 635
27.4.4 Viewing Results in the Data Manager Window . . . . . . . . . . . . . . . . . . . . 637
27.5 Troubleshooting Modal Analysis Calculation Problems . . . . . . . . . . . . . . . . . . . . 639
27.5.1 The Arnoldi/Lanczos Method is slow . . . . . . . . . . . . . . . . . . . . . . . . . 639
28 Model Parameter Identication 641
28.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
28.2 Target Functions and Composite Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
28.2.1 The Measurement File Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
28.2.2 Power System Element Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
28.2.3 Comparison Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
28.3 Creating The Composite Identication Model . . . . . . . . . . . . . . . . . . . . . . . . . 644
28.3.1 The Comparison Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
xx DIgSILENT PowerFactory 15, User Manual
CONTENTS
28.4 Performing a Parameter Identication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
28.5 Identifying Primary Appliances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
29 Contingency Analysis 651
29.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
29.2 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
29.2.1 Single Time Phase Contingency Analysis . . . . . . . . . . . . . . . . . . . . . . 654
29.2.2 Multiple Time Phases Contingency Analysis . . . . . . . . . . . . . . . . . . . . . 654
29.2.3 Time Sweep Option (Single Time Phase) . . . . . . . . . . . . . . . . . . . . . . 655
29.2.4 Consideration of Predened Switching Rules . . . . . . . . . . . . . . . . . . . . 655
29.2.5 Parallel Computing Option (Single Time Phase) . . . . . . . . . . . . . . . . . . . 655
29.3 Executing Contingency Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
29.4 The Single Time Phase Contingency Analysis Command . . . . . . . . . . . . . . . . . . 657
29.4.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
29.4.2 Effectiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
29.4.3 Multiple Time Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
29.4.4 Time Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
29.4.5 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
29.4.6 Parallel Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
29.4.7 Calculating an Individual Contingency . . . . . . . . . . . . . . . . . . . . . . . . 666
29.4.8 Representing Contingency Situations
Contingency Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
29.5 The Multiple Time Phases Contingency Analysis Command . . . . . . . . . . . . . . . . 668
29.5.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
29.5.2 Effectiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
29.5.3 Multiple Time Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
29.5.4 Time Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
29.5.5 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
29.5.6 Parallel Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
29.5.7 Dening Time Phases for Contingency Analyses . . . . . . . . . . . . . . . . . . 671
29.5.8 Representing Contingency Situations with Post - Fault Actions . . . . . . . . . . . 673
29.6 Creating Contingency Cases Using Fault
Cases and Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
DIgSILENT PowerFactory 15, User Manual xxi
CONTENTS
29.6.1 Browsing Fault Cases and Fault Groups . . . . . . . . . . . . . . . . . . . . . . . 675
29.6.2 Dening a Fault Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
29.6.3 Dening a Fault Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
29.7 Creating Contingency Cases Using the
Contingency Denition Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
29.8 Comparing Contingency Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
29.9 Result Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
29.9.1 Predened Report Formats (Tabular and ASCII Reports) . . . . . . . . . . . . . . 681
30 Reliability Assessment 685
30.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
30.2 Probabilistic Reliability Assessment
Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
30.2.1 Reliability Assessment Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
30.2.2 Stochastic Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
30.2.3 Calculated Results for Reliability Assessment . . . . . . . . . . . . . . . . . . . . 690
30.2.4 System State Enumeration in Reliability Assessment . . . . . . . . . . . . . . . . 695
30.3 Setting up the Network Model for Reliability Assessment . . . . . . . . . . . . . . . . . . 696
30.3.1 How to Dene Stochastic Failure and Repair models . . . . . . . . . . . . . . . . 697
30.3.2 How to Create Feeders for Reliability Calculation . . . . . . . . . . . . . . . . . . 701
30.3.3 Conguring Switches for the Reliability Calculation . . . . . . . . . . . . . . . . . 701
30.3.4 Load Modelling for Reliability Assessment . . . . . . . . . . . . . . . . . . . . . . 702
30.3.5 Modelling Load Interruption Costs . . . . . . . . . . . . . . . . . . . . . . . . . . 703
30.3.6 System Demand and Load States (ComLoadstate) . . . . . . . . . . . . . . . . . 704
30.3.7 Fault Clearance Based on Protection Device Location . . . . . . . . . . . . . . . 704
30.3.8 How to Consider Planned Maintenance . . . . . . . . . . . . . . . . . . . . . . . 704
30.3.9 Specifying Individual Component Constraints . . . . . . . . . . . . . . . . . . . . 705
30.4 Running The Reliability Assessment Calculation . . . . . . . . . . . . . . . . . . . . . . . 705
30.4.1 How to run the Reliability Assessment . . . . . . . . . . . . . . . . . . . . . . . . 705
30.4.2 Viewing the Load Point Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
30.4.3 Viewing the System Reliability Indices (Spreadsheet format) . . . . . . . . . . . . 712
30.4.4 Printing ASCII Reliability Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
30.4.5 Using the Colouring modes to aid Reliability Analysis . . . . . . . . . . . . . . . . 713
xxii DIgSILENT PowerFactory 15, User Manual
CONTENTS
30.4.6 Using the Contribution to Reliability Indices Script . . . . . . . . . . . . . . . . . . 714
31 Optimal Power Restoration 717
31.1 Failure Effect Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
31.2 Animated Tracing of Individual Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
31.3 Optimal RCS Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
31.3.1 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
31.3.2 Output Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
31.3.3 Advanced Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
31.3.4 Example Optimal RCS Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . 724
31.4 Optimal Manual Restoration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
31.4.1 OMR Calculation Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
31.4.2 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
31.4.3 Advanced Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
31.4.4 Denition of the objective function . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
31.4.5 Example of an Optimal Manual Restoration Calculation . . . . . . . . . . . . . . . 730
32 Generation Adequacy Analysis 733
32.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
32.2 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
32.3 Database Objects and Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
32.3.1 Stochastic Model for Generation Object (StoGen) . . . . . . . . . . . . . . . . . . 736
32.3.2 Power Curve Type (TypPowercurve) . . . . . . . . . . . . . . . . . . . . . . . . . 737
32.3.3 Meteorological Station (ElmMeteostat) . . . . . . . . . . . . . . . . . . . . . . . . 737
32.4 Assignment of Stochastic Model for Generation Object . . . . . . . . . . . . . . . . . . . 738
32.4.1 Denition of a Stochastic Multi-State Model . . . . . . . . . . . . . . . . . . . . . 738
32.4.2 Stochastic Wind Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
32.4.3 Time Series Characteristic for Wind Generation . . . . . . . . . . . . . . . . . . . 740
32.4.4 Demand denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
32.4.5 Generation Adequacy Analysis Toolbar . . . . . . . . . . . . . . . . . . . . . . . . 743
32.4.6 Generation Adequacy Initialisation Command
(ComGenrelinc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
32.4.7 Run Generation Adequacy Command (ComGenrel) . . . . . . . . . . . . . . . . . 746
32.5 Generation Adequacy Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
DIgSILENT PowerFactory 15, User Manual xxiii
CONTENTS
32.5.1 Draws (Iterations) Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
32.5.2 Distribution (Cumulative Probability) Plots . . . . . . . . . . . . . . . . . . . . . . 748
32.5.3 Convergence Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
32.5.4 Summary of variables calculated during the Generation Adequacy Analysis . . . 753
33 Optimal Power Flow 755
33.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
33.2 AC Optimization (Interior Point Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
33.2.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
33.2.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
33.2.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
33.2.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
33.2.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
33.3 DC Optimization (Linear Programming) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
33.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
33.3.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
33.3.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
33.3.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
33.4 Contingency Constrained DC Optimization (LP Method) . . . . . . . . . . . . . . . . . . . 781
33.4.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
33.4.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
33.4.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
33.4.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
33.4.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
34 Techno-Economical Calculation 791
34.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
34.2 Requirements for Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
34.3 Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
34.3.1 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
34.3.2 Costs Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
34.3.3 Output Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
34.4 Example Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
xxiv DIgSILENT PowerFactory 15, User Manual
CONTENTS
35 Distribution Network Tools 799
35.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
35.2 Voltage Sag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
35.2.1 Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
35.2.2 How to Perform a Voltage Sag Table Assessment . . . . . . . . . . . . . . . . . . 801
35.2.3 Voltage Sag Table Assessment Results . . . . . . . . . . . . . . . . . . . . . . . 802
35.3 Voltage Prole Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
35.3.1 Optimization Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
35.3.2 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
35.3.3 Output Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
35.3.4 Advanced Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
35.3.5 Results of Voltage Prole Optimization . . . . . . . . . . . . . . . . . . . . . . . . 808
35.4 Tie Open Point Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
35.4.1 Tie Open Point Optimization Background . . . . . . . . . . . . . . . . . . . . . . . 809
35.4.2 How to run a Tie Open Point Optimization . . . . . . . . . . . . . . . . . . . . . . 810
35.5 Backbone Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
35.5.1 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
35.5.2 Scoring Settings Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
35.5.3 Tracing Backbones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
35.5.4 Example Backbone Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
35.6 Optimal Capacitor Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
35.6.1 OCP Objective Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
35.6.2 OCP Optimization Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
35.6.3 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
35.6.4 Available Capacitors Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
35.6.5 Load Characteristics Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
35.6.6 Advanced Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
35.6.7 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
36 Cable Sizing 827
36.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
36.2 Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
36.2.1 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
DIgSILENT PowerFactory 15, User Manual xxv
CONTENTS
36.2.2 Constraints Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
36.2.3 Output Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
36.2.4 Advanced Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
36.2.5 Type Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
36.3 Cable Sizing Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
36.3.1 Cable Sizing Line Type Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 838
36.3.2 Cable Sizing Line Element Parameters . . . . . . . . . . . . . . . . . . . . . . . . 839
36.4 System Technology Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
36.5 Predened Laying Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
36.5.1 NF C 15-100 (Tableau 52C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
36.5.2 NF C 13-200 (Tableau 52E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
37 Motor Starting 849
37.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
37.2 How to dene a motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
37.2.1 How to dene a motor Type and starting methodology . . . . . . . . . . . . . . . 849
37.2.2 How to dene a motor driven machine . . . . . . . . . . . . . . . . . . . . . . . . 851
37.3 How to run a Motor Starting simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
37.3.1 Basic Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
37.3.2 Output Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
37.3.3 Motor Starting simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
37.3.4 Motor Starting Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
38 Arc-Flash Hazard Analysis 859
38.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
38.2 Arc-Flash Hazard Analysis Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
38.2.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
38.2.2 Data Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
38.3 Arc-Flash Hazard Analysis Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . 861
38.3.1 Arc-Flash Hazard Analysis Basic Options Page . . . . . . . . . . . . . . . . . . . 861
38.3.2 Arc-Flash Hazard Analysis Advanced Options Page . . . . . . . . . . . . . . . . 862
38.4 Arc-Flash Hazard Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
38.4.1 Viewing Results in the Single Line Graphic . . . . . . . . . . . . . . . . . . . . . . 863
xxvi DIgSILENT PowerFactory 15, User Manual
CONTENTS
38.4.2 Arc-Flash Reports Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
38.4.3 Arc-Flash Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
38.5 Example Arc-Flash Hazard Analysis Calculation . . . . . . . . . . . . . . . . . . . . . . . 864
39 Protection 867
39.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
39.1.1 The modelling structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
39.1.2 The relay frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
39.1.3 The relay type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
39.1.4 The relay element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
39.2 How to dene a protection
scheme in PowerFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
39.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
39.2.2 Adding protective devices to the network model . . . . . . . . . . . . . . . . . . . 871
39.2.3 Protection single line diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
39.2.4 Locating protection devices within
the network model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
39.3 Setup of an overcurrent
protection scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
39.3.1 Overcurrent relay model setup - basic data page . . . . . . . . . . . . . . . . . . 877
39.3.2 Overcurrent relay model setup - max/min fault
currents tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
39.3.3 Conguring the current transformer . . . . . . . . . . . . . . . . . . . . . . . . . . 880
39.3.4 Conguring the voltage transformer . . . . . . . . . . . . . . . . . . . . . . . . . . 883
39.3.5 How to add a fuse to the network model . . . . . . . . . . . . . . . . . . . . . . . 887
39.3.6 Basic relay blocks for overcurrent relays . . . . . . . . . . . . . . . . . . . . . . . 889
39.4 The time-overcurrent plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
39.4.1 How to create a time-overcurrent plot . . . . . . . . . . . . . . . . . . . . . . . . . 897
39.4.2 Understanding the time-overcurrent plot . . . . . . . . . . . . . . . . . . . . . . . 898
39.4.3 Showing the calculation results on the time-overcurrent plot . . . . . . . . . . . . 898
39.4.4 Displaying the grading margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
39.4.5 Adding a user dened permanent current line to the time-overcurrent plot . . . . 900
39.4.6 Conguring the auto generated protection diagram . . . . . . . . . . . . . . . . . 900
39.4.7 Overcurrent plot options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
DIgSILENT PowerFactory 15, User Manual xxvii
CONTENTS
39.4.8 Altering protection device characteristic settings from the time-overcurrent plot . 902
39.4.9 How to split the relay/fuse characteristic . . . . . . . . . . . . . . . . . . . . . . . 902
39.4.10 Equipment damage curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
39.5 Setup and analysis of a distance
protection scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
39.5.1 Distance relay model setup - basic data page . . . . . . . . . . . . . . . . . . . . 918
39.5.2 Primary or secondary Ohm selection for distance relay parameters . . . . . . . . 918
39.5.3 Basic relay blocks used for distance protection . . . . . . . . . . . . . . . . . . . 918
39.6 The impedance plot (R-X diagram) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
39.6.1 How to create an R-X diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
39.6.2 Understanding the R-X diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
39.6.3 Conguring the R-X plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
39.6.4 Modifying the relay settings and branch elements from the R-X plot . . . . . . . . 934
39.7 The time-distance plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
39.8 Distance protection coordination assistant . . . . . . . . . . . . . . . . . . . . . . . . . . 939
39.8.1 Distance protection coordination assistant - technical background . . . . . . . . . 939
39.8.2 Worked example of the distance protection coordination assistant . . . . . . . . . 942
39.8.3 Prerequisites for using the distance protection coordination tool . . . . . . . . . . 945
39.8.4 How to run the distance protection coordination calculation . . . . . . . . . . . . 945
39.8.5 Distance protection coordination options . . . . . . . . . . . . . . . . . . . . . . . 945
39.8.6 How to output results from the protection coordination assistant . . . . . . . . . . 947
39.9 Accessing results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
39.9.1 Tabular protection setting report . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
39.9.2 Results in single line graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
39.10Short circuit trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
39.10.1 Short Circuit Trace Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956
39.11Building a basic overcurrent relay model . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
39.12Appendix - other commonly used relay blocks . . . . . . . . . . . . . . . . . . . . . . . . 966
39.12.1 The frequency measurement block . . . . . . . . . . . . . . . . . . . . . . . . . . 966
39.12.2 The frequency block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
39.12.3 The under-/overvoltage block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
40 Network Reduction 969
xxviii DIgSILENT PowerFactory 15, User Manual
CONTENTS
40.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
40.2 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
40.2.1 Network Reduction for Load Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
40.2.2 Network Reduction for Short-Circuit . . . . . . . . . . . . . . . . . . . . . . . . . 970
40.3 How to Complete a Network Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970
40.3.1 How to Backup the Project (optional) . . . . . . . . . . . . . . . . . . . . . . . . . 970
40.3.2 How to run the Network Reduction tool . . . . . . . . . . . . . . . . . . . . . . . . 971
40.3.3 Expected Output of the Network Reduction . . . . . . . . . . . . . . . . . . . . . 971
40.4 Network Reduction Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
40.4.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
40.4.2 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975
40.4.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975
40.5 Network Reduction Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976
40.6 Tips for using the Network Reduction Tool . . . . . . . . . . . . . . . . . . . . . . . . . . 979
40.6.1 Station Controller Busbar is Reduced . . . . . . . . . . . . . . . . . . . . . . . . . 979
40.6.2 Network Reduction doesnt Reduce Isolated Areas . . . . . . . . . . . . . . . . . 980
40.6.3 The Reference Machine is not Reduced . . . . . . . . . . . . . . . . . . . . . . . 980
41 State Estimation 981
41.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
41.2 Objective Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
41.3 Components of the PowerFactory State Estimator . . . . . . . . . . . . . . . . . . . . . . 982
41.3.1 Plausibility Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983
41.3.2 Observability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984
41.3.3 State Estimation (Non-Linear Optimization) . . . . . . . . . . . . . . . . . . . . . 985
41.4 State Estimator Data Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
41.4.1 Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
41.4.2 Activating the State Estimator Display Option . . . . . . . . . . . . . . . . . . . . 990
41.4.3 Editing the Element Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
41.5 Running SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
41.5.1 Basic Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
41.5.2 Advanced Setup Options for the Plausibility Check . . . . . . . . . . . . . . . . . 997
41.5.3 Advanced Setup Options for the Observability Check . . . . . . . . . . . . . . . . 997
DIgSILENT PowerFactory 15, User Manual xxix
CONTENTS
41.5.4 Advanced Setup Options for Bad Data Detection . . . . . . . . . . . . . . . . . . 997
41.5.5 Advanced Setup Options for Iteration Control . . . . . . . . . . . . . . . . . . . . 998
41.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
41.6.1 Output Window Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
41.6.2 External Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000
41.6.3 Estimated States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
41.6.4 Colour Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
V Appendix 1005
A Glossary 1007
B Hotkeys Reference 1013
B.1 Calculation Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
B.2 Graphic Windows Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
B.3 Data Manager Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015
B.4 Dialogue Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
B.5 Output Window Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
B.6 Editor Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
C Technical References of Models 1023
C.1 Branch Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
C.1.1 2-Winding Transformer (ElmTr2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
C.1.2 3-Winding Transformer (ElmTr3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
C.1.3 Autoransformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
C.1.4 Booster Transformer (ElmTrb) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
C.1.5 Overhead Lines Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
C.1.6 Cables Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
C.1.7 Series Capacitances (ElmScap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
C.1.8 Series Reactance (ElmSlt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
C.1.9 Series Filter (ElmSind) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
C.1.10 Common Impedance (ElmZpu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
C.2 Generators and Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
C.2.1 Asynchronous Machine (ElmAsm) . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
xxx DIgSILENT PowerFactory 15, User Manual
CONTENTS
C.2.2 Doubly Fed Induction Machine (ElmAsmsc) . . . . . . . . . . . . . . . . . . . . . 1028
C.2.3 Static Generator (ElmGenstat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
C.2.4 PV System (ElmPvsys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
C.2.5 Synchronous Machine (ElmSym) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
C.2.6 Loads (ElmLod) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
C.2.7 Low Voltage Load (ElmLodlv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
C.2.8 Partial Loads (ElmLodlvp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
C.2.9 Motor Driven Machine (ElmMdm__X) . . . . . . . . . . . . . . . . . . . . . . . . . 1030
C.3 Power Electronic Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
C.3.1 PWM AC/DC Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
C.3.2 Rectier/Inverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
C.3.3 Soft Starter (ElmVar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
C.3.4 DC/DC Converter (ElmDcdc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
C.4 Reactive Power Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
C.4.1 Neutral Earthing Element (ElmNec) . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
C.4.2 Shunt/Filter Element (ElmShnt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
C.4.3 Static Var System (ElmSvs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.5 Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.5.1 Station Controller (ElmStactrl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.5.2 Power Frequency Control (ElmSecctrl) . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.6 Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.6.1 AC Voltage Source (ElmVac) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.6.2 DC Voltage Source (ElmVdc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.6.3 AC Current Source (ElmIac) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
C.6.4 DC Current Source (ElmDci) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
C.6.5 Impulse Source (ElmImpulse) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
C.6.6 DC Battery (ElmBattery) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
C.6.7 DC Machine (ElmDcm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
C.6.8 External Network (ElmXnet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
C.6.9 Fourier Source (ElmFsrc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
C.7 Measurement Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
C.7.1 Current Measurement (StaImea) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
DIgSILENT PowerFactory 15, User Manual xxxi
CONTENTS
C.7.2 Power Measurement (StaPqmea) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
C.7.3 Voltage Measurement (StaVmea) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
C.7.4 Phase Measurement Device (Phase Locked Loop, ElmPhi__pll) . . . . . . . . . . 1034
C.7.5 Measurement File (ElmFile) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
C.8 Digital Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
C.8.1 Digital Clock (ElmClock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
C.8.2 Digital Register (ElmReg) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
C.8.3 Sample and Hold Model (ElmSamp) . . . . . . . . . . . . . . . . . . . . . . . . . 1035
C.8.4 Trigger Model (ElmTrigger) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
C.9 Analysis Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
C.9.1 Fast Fourier Transform (ElmFft)) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
C.10 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
C.10.1 Surge Arrester (StaSua) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
D DPL Reference 1037
D.1 Class Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037
D.2 DPL Methods and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047
D.3 General Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
D.3.1 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
D.3.2 General Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
D.3.3 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
D.3.4 Time and Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103
D.3.5 Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107
D.3.6 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113
D.3.7 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116
D.4 Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
D.4.1 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
D.4.2 Project Methods (IntPrj) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134
D.4.3 Project Version Methods (IntVersion) . . . . . . . . . . . . . . . . . . . . . . . . . 1137
D.4.4 Project Folder Methods (IntPrjfolder) . . . . . . . . . . . . . . . . . . . . . . . . . 1139
D.4.5 StudyCaseMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140
D.4.6 Variant Methods (IntVariant) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143
D.4.7 Variation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
xxxii DIgSILENT PowerFactory 15, User Manual
CONTENTS
D.4.8 Scenario Methods (IntScenario) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146
D.5 Reporting and Graphical Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
D.5.1 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
D.5.2 Virtual Instrument Methods: SetVipage . . . . . . . . . . . . . . . . . . . . . . . . 1149
D.5.3 Virtual Instrument Methods: VisPlot/VisPlot2 Methods . . . . . . . . . . . . . . . 1159
D.5.4 Virtual Instrument Methods:VisFft Methods . . . . . . . . . . . . . . . . . . . . . 1178
D.5.5 Virtual Instrument Methods: IntPlot Methods . . . . . . . . . . . . . . . . . . . . . 1179
D.5.6 Graphic Board Methods (SetDesktop) . . . . . . . . . . . . . . . . . . . . . . . . 1183
D.5.7 Text Box Methods (SetLevelvis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1190
D.5.8 Table Report Methods (ComTablereport) . . . . . . . . . . . . . . . . . . . . . . . 1193
D.6 Data Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208
D.6.1 SetFilt Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208
D.6.2 SetSelect Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209
D.6.3 Feeder (SetFeeder) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
D.6.4 Path (SetPath) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217
D.6.5 IntDplmap Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220
D.6.6 IntDplvector Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227
D.7 PowerFactory Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231
D.7.1 General Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231
D.7.2 Load Flow Calculation (ComLdf) Methods . . . . . . . . . . . . . . . . . . . . . . 1234
D.7.3 Short-Circuit Calculation (ComShc) . . . . . . . . . . . . . . . . . . . . . . . . . . 1235
D.7.4 Time-Domain Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236
D.7.5 Result Export (ComRes) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 1237
D.7.6 Contingency Case (ComOutage) Methods . . . . . . . . . . . . . . . . . . . . . . 1238
D.7.7 Contingency Analysis (ComSimoutage) Methods . . . . . . . . . . . . . . . . . . 1240
D.7.8 Contingency Denition (ComNmink) Methods . . . . . . . . . . . . . . . . . . . . 1242
D.7.9 Reliability Assessment (ComRel3) Methods . . . . . . . . . . . . . . . . . . . . . 1244
D.7.10 DPL Command (ComDpl) Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
D.7.11 ComImport Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
D.7.12 ComMerge Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248
D.7.13 ComLink Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
D.7.14 ComUcteexp Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255
DIgSILENT PowerFactory 15, User Manual xxxiii
CONTENTS
D.8 Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
D.8.1 Grid (ElmNet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
D.8.2 Asynchronous Machine (ElmAsm) . . . . . . . . . . . . . . . . . . . . . . . . . . 1257
D.8.3 Double Fed Induction Machine (ElmAsmsc) . . . . . . . . . . . . . . . . . . . . . 1258
D.8.4 Feeder (ElmFeeder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1259
D.8.5 Boundary (ElmBoundary) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263
D.8.6 Cubicles (StaCubic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264
D.8.7 Composite Model (ElmComp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
D.8.8 Breaker/Switch (ElmCoup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
D.8.9 Line (ElmLne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270
D.8.10 Result Object (ElmRes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1276
D.8.11 Station Control (ElmStactrl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1288
D.8.12 Substation (ElmSubstat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290
D.8.13 Synchronous Machine (ElmSym) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1296
D.8.14 Terminal (ElmTerm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299
D.8.15 Tower (ElmTow) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1302
D.8.16 Transformer (ElmTr2 / ElmTr3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1304
D.8.17 Zone (ElmZone) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305
D.8.18 Switch (StaSwitch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307
D.8.19 Bay (ElmBay) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309
D.9 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1310
D.9.1 Induction Machine Type (TypAsm) . . . . . . . . . . . . . . . . . . . . . . . . . . 1310
D.9.2 Induction Machine Type (TypAsmo) . . . . . . . . . . . . . . . . . . . . . . . . . . 1310
D.9.3 Line Type (TypLne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1310
D.10 Additional Objects (Int*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
D.10.1 IntEvt Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
D.10.2 IntForm Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
D.10.3 IntMat Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314
D.10.4 IntMon Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320
D.10.5 IntThrating Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322
D.10.6 IntUser Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1323
D.10.7 IntUserman Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324
xxxiv DIgSILENT PowerFactory 15, User Manual
CONTENTS
D.10.8 IntVec Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327
D.11 DDE Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1329
D.12 DPL Extension for MS Ofce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1330
D.12.1 Functions for MS Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1330
D.12.2 MS Excel Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343
D.12.3 Functions for MS Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
D.12.4 MS Access Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349
E The DIgSILENT Output Language 1355
E.1 Format string, Variable names and text Lines . . . . . . . . . . . . . . . . . . . . . . . . . 1356
E.2 Placeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
E.3 Variables, Units and Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357
E.4 Colour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
E.5 Advanced Syntax Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
E.6 Line Types and Page Breaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360
E.7 Predened Text Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360
E.8 Object Iterations, Loops, Filters and Includes . . . . . . . . . . . . . . . . . . . . . . . . . 1361
F Element Symbol Denition 1363
F.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363
F.2 General Symbol Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363
F.3 Geometrical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364
F.4 Including Graphic Files as Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
G Standard Functions DPL and DSL 1367
Bibliography 1369
Index 1371
DIgSILENT PowerFactory 15, User Manual xxxv
CONTENTS
xxxvi DIgSILENT PowerFactory 15, User Manual
Part I
General Information
Chapter 1
About this Guide
1.1 Introduction
This User Manual is intended to be a reference for users of the DIgSILENT PowerFactory software. This
chapter provides general information about the contents and the used conventions of this documenta-
tion.
1.2 Contents of the User Manual
The rst section of the User Manual provides General Information, including an overview of PowerFac-
tory software, a description of the basic program settings, and a description of the PowerFactory data
model. The next sections describe PowerFactory administration, handling, and power system analysis
functions. In the Power System Analysis Functions section, each chapter deals with a different calcula-
tion, presenting the most relevant theoretical aspects, the PowerFactory approach, and the correspond-
ing interface. Additional tools such as the DIgSILENT Programming Language (DPL), the reporting
functions, and communication interfaces with other programs are presented in the appendices. The
online version of this manual includes additional sections dedicated to the mathematical description of
models and their parameters, referred to as Technical References. To facilitate their portability, visual-
ization, and printing, the papers are attached to the online help as PDF documents. They are opened
by clicking on the indicated links within the manual. References for DIgSILENT Programming Language
functions are also included as appendices of the online manual. It is recommended that new users com-
mence by reading Chapter 4 (PowerFactory Overview), and completing the PowerFactory Tutorials.
1.3 Used Conventions
Conventions to describe user actions are as follows:
Buttons and Keys Dialogue buttons and keyboard keys are referred to with bold and underline text
formatting. For example, press the OK button in the PowerFactory dialogue, or press CTRL+B on
the keyboard.
Menus and Icons Menus and icons are usually referenced using Italics. For example, press the User
Settings icon , or select Tools User Settings. . .
Other Items "Speech marks" are used to indicate data to be entered by the user, and also to refer to
an item dened by the author. For example, consider a parameter "x".
DIgSILENT PowerFactory 15, User Manual 3
CHAPTER 1. ABOUT THIS GUIDE
4 DIgSILENT PowerFactory 15, User Manual
Chapter 2
Contact
For further information about the company DIgSILENT , our products and services please visit our web
site, or contact us at:
DIgSILENT GmbH
Heinrich-Hertz-StraSSe 9
72810 Gomaringen / Germany
www.digsilent.de
2.1 Direct Technical Support
DIgSILENT experts offer direct assistance to PowerFactory users with valid maintenance agreements
via telephone or online via support queries raised on the customer portal.
To register for the on-line portal, select Help Register. . . or go to directly to the registration page (link
below). Log-in details will be provided by email shortly thereafter.
To log-in to the portal, enter the email (or Login) and Password provided. When raising a new support
query, please include the PowerFactory version and build number in your submission, which can be
found by selecting Help About PowerFactory. . . from the main menu. Note that including relevant
*.dz or *.pfd le(s) may assist with our investigation into your query. The customer portal is shown in
Figure 2.1.1.
Phone: +49-(0)7072-9168-50 (German)
+49-(0)7072-9168-51 (English)
Portal log-in and Registration: http://www.digsilent.de/index.php/support.html
DIgSILENT PowerFactory 15, User Manual 5
CHAPTER 2. CONTACT
Figure 2.1.1: DIgSILENT customer portal
2.2 General Information
For general information about DIgSILENT or your PowerFactory license, please contact us via:
Phone: +49-(0)7072-9168-0
Fax: +49-(0)7072-9168-88
E-mail: mail@digsilent.de
6 DIgSILENT PowerFactory 15, User Manual
Chapter 3
Documentation and Help System
DIgSILENT PowerFactory is provided with a complete help package to support users at all levels of
expertise. Documents with the basic information of the program and its functionality are combined with
references to advanced simulation features, mathematical descriptions of the models and of course
application examples.
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 from the DIgSILENT
Customer Portal under Download. Also in this manual is described how to congure Power-
Factory for local caching of projects when an external server connection is unavailable (Ofine
Mode). It is available from the DIgSILENT Customer Portal. The Ofine mode guide is available
in section 5.4: Ofine Mode User Guide.
Tutorial: Basic Information for new users and hands-on tutorial. Access via Help menu (CHM le)
of PowerFactory , and the DIgSILENT customer portal (PDF le) by searching for Tutorial on the
Knowledge section.
User Manual: This document. Access via Help menu of PowerFactory. Current and previous
manuals (PDF les) can also be found on the DIgSILENT Customer Portal by search for Manual
on the Knowledge section.
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: Technical References of Models).
Context Sensitive Help: Pressing the key F1 while working with PowerFactory will lead you di-
rectly to the related topic inside the User Manual.
PowerFactory Examples: The window PowerFactory Examples provides a list of application ex-
amples of PowerFactory calculation functions. Every example comes with an explaining document
which can be opened by pressing the corresponding document button. Additional videos are avail-
able for demonstrating the software handling and its functionalities.
The PowerFactory Examples window will pop up" automatically every time the software is open,
this could be deactivated by unchecking the Show at Startup checkbox. PowerFactory Examples
are also accessible on the main menu, by selecting File Examples. . . .
Release Notes: For all new versions and updates of the program Release Notes are provided,
which document the implemented changes. They are available from the DIgSILENT Customer
Portal under Download, and on the DIgSILENT webpage.
FAQs: Users with a valid maintenance agreement can access the FAQ section, on the DIgSILENT
customer portal under Knowledge. In this section you will nd interesting questions and answers
DIgSILENT PowerFactory 15, User Manual 7
CHAPTER 3. DOCUMENTATION AND HELP SYSTEM
regarding specic applications of PowerFactory. See Chapter 2: Contact, for Customer Portal
log-in and registration details.
Technical Support: See Chapter 2: Contact
Portal log-in and Registration:
http://www.digsilent.de/index.php/support.html
Website: www.digsilent.de
8 DIgSILENT PowerFactory 15, User Manual
Chapter 4
PowerFactory Overview
The calculation program PowerFactory , as written by DIgSILENT , is a computer aided engineering
tool for the analysis of transmission, distribution, and industrial electrical power systems. 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 objectives of planning and operation optimiza-
tion.
DIgSILENT " is an acronym for DIgital SImuLation of Electrical NeTworks". DIgSILENT Version 7 was
the worlds rst power system analysis software with an integrated graphical single-line interface. That
interactive single-line diagram included drawing functions, editing capabilities and all relevant static and
dynamic calculation features.
PowerFactory was designed and developed by qualied engineers and programmers with many years of
experience in both electrical power system analysis and programming elds. The accuracy and validity
of results obtained with PowerFactory has been conrmed in a large number of implementations, by
organizations involved in planning and operation of power systems throughout the world.
To address users power system analysis requirements, PowerFactory was designed as an integrated
engineering tool to provide a comprehensive suite of power system analysis functions within a single
executable program. Key features include:
1. PowerFactory core functions: denition, modication 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 geometri-
cal or nameplate information).
5. Power system network conguration with interactive or on-line SCADA access.
6. Generic interface for computer-based mapping systems.
Use of a single database, with the required data for all equipment within a power system (e.g. line
data, generator data, protection data, harmonic data, controller data), means that PowerFactory can
easily execute all power simulation functions within a single program environment - functions such as
load-ow, short-circuit calculation, harmonic analysis, protection coordination, stability calculation, and
modal analysis.
Although PowerFactory includes some sophisticated power system analysis functions, the intuitive user
interface makes it possible for new users to very quickly perform common activities such as load-ow
and short-circuit calculations.
DIgSILENT PowerFactory 15, User Manual 9
CHAPTER 4. POWERFACTORY OVERVIEW
The functionality purchased by a user is congured in a matrix, where the licensed calculation functions,
together with the maximum number of busses, are listed as coordinates. The user may, as required,
congure the interface as well as some functions according to their requirements.
Depending on user requirements, a specic PowerFactory license may or may not include all the func-
tions described in this manual. As requirements dictate, additional functionality can be added to a
license. These functions can be used within the same program interface with the same network data.
Only additional data, as may be required by an added calculation function, need be added.
4.1 General Concept
The general PowerFactory program design concept is summarized as follows:
Functional Integration
DIgSILENT PowerFactory software is implemented as a single executable program, and is fully
compatible with Windows XP/Vista and Windows 7. The programming method employed allows
for fast selection of different calculation functions. There is no need to reload modules and up-
date or transfer data and results between different program applications. As an example, the
Load Flow, Short-Circuit, and Harmonic Load Flow analysis tools can be executed sequentially
without resetting the program, enabling additional software modules and engines, or reading and
converting external data les.
Vertical Integration
DIgSILENT PowerFactory software has adopted a unique vertically integrated model concept that
allows models to be shared for all analysis functions. Furthermore, studies relating to Genera-
tion", Transmission", Distribution", and Industrial" analysis can all be completed within Power-
Factory . Separate software engines are not required to analyze separate aspects of the power
system, or to complete different types of analysis, as DIgSILENT PowerFactory can accommo-
date everything within one integrated program and one integrated database.
Database Integration
Single Database Concepts:DIgSILENT PowerFactory provides optimal organization of data and
denitions required to perform various calculations, memorization of settings or software op-
eration options. The PowerFactory database environment fully integrates all data required for
dening Study Cases, Operation Scenarios, Single Line Graphics, textual and graphical Results,
calculation options, and user-dened models, etc. Everything required to model and simulate
the power system is integrated into a single database which can be congured for single and/or
multiple users.
Project Management: All data that denes a power system model is stored in Project" folders
within the database. Inside a Project" folder, Study Cases" are used to dene different studies
of the system considering the complete network, parts of the network, or Variations on its cur-
rent state. This project and study case" approach is used to dene and manage power system
studies in a unique application of the object-oriented software principle. DIgSILENT PowerFac-
tory has taken an innovative approach and introduced a structure that is easy to use, avoids
data redundancy, and simplies the task of data management and validation for users and or-
ganizations. Additionally, the application of Study Cases and project Variations in PowerFactory
facilitates efcient and reliable reproduction of study results.
Multi-User Operation: Multiple users each holding their own projects or working with data
shared from other users are supported by a Multi-user" database operation. In this case the def-
inition of access rights, user accounting and groups for data sharing are managed by a database
Administrator.
Ofine Mode: In some instances, a network connection to a server database may not be avail-
10 DIgSILENT PowerFactory 15, User Manual
4.2. DATABASE, OBJECTS, AND CLASSES
able. To address this, PowerFactory provides functionality to work in Ofine Mode. The required
project data is cached to the users local machine, which can then later be synchronized to the
server database. Ofine Mode functionality includes the ability to lock and unlock projects, edit
projects as read-only, and limit the database size on the computer(s) working in ofine mode.
Customization
By default, Beginner" and Default" user proles are available in PowerFactory . Proles can
be selected from the main menu under Tools Proles. The Beginner" prole limits the icons
displayed on the main toolbar to those typically used by new users, such as load-ow and short-
circuit commands. The database Administrator can create and customize user proles, in partic-
ular:
Customize the element dialogue pages that are displayed.
Customize element dialogue parameters. Parameters can be Hidden (not shown) or Disabled
(shown but not editable).
Fully congure Main Toolbar and Drawing Toolbar menus, including denition of custom DPL
Commands and Templates with user-dened icons.
Customize Main Menu, Data Manager, and context-sensitive menu commands.
Chapter 6: User Accounts, User Groups, and Proles (Section 6.5 Creating Proles) details the
customization procedure.
Note: When right-clicking with the mouse button, the available menu options depend on the location of
the mouse pointer. For example, if a load is selected, the menu options are those appropriate for
loads, whereas when the mouse pointer is over the Output Window, the menu options are those
appropriate for the Output Window. These menus are collectively referred to as Context sensitive
menus.
4.2 Database, Objects, and Classes
PowerFactory uses a hierarchical, object-oriented database. All the data, which represents power sys-
temElements, Single Line Graphics, Study Cases, systemOperation 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 denition of the studies and optimize the use of the tools provided by the pro-
gram.
The objects are grouped according to the kind of element that they represent. These groups are
known as Classes" within the PowerFactory environment. For example, an object that represents a
synchronous generator in a power system belongs to a Class called ElmSym, and an object storing the
settings for a load ow calculation belongs to a Class called ComLdf. Object Classes are analogous
to computer le extensions. Each object belongs to a Class and each Class has a specic set of pa-
rameters that denes the objects it represents. As explained in Section 4.8 (User Interface), the edit
dialogues are the interfaces between the user and an object; the parameters dening the object are
accessed through this dialogue. This means that there is an edit dialogue for each class of objects.
Note: Everything in PowerFactory is an object, all the objects belong to a Class and are stored accord-
ing to a hierarchical arrangement in the database tree.
DIgSILENT PowerFactory 15, User Manual 11
CHAPTER 4. POWERFACTORY OVERVIEW
4.3 PowerFactory Simulation Functions
PowerFactory incorporates a comprehensive list of simulation functions, described in detail in Volume II
of the manual, including the following:
Load Flow Analysis, allowing meshed and mixed 1-,2-, and 3-phase AC and/or DC networks
(Chapter 21: Load Flow Analysis).
Low Voltage Network Analysis (Section 21.2.3: Advanced Load Options).
Short-Circuit Analysis, for meshed and mixed 1-,2-, and 3-phase AC networks (Chapter 22: Short-
Circuit Analysis).
Harmonic Analysis (Chapter 23: Harmonics Analysis).
RMS Simulation (time-domain simulation for stability analysis, Chapter 26: Stability and EMT
Simulations).
EMT Simulation (time-domain simulation of electromagnetic transients, Chapter 26: Stability and
EMT Simulations).
Eigenvalue Analysis (Chapter 27: Modal Analysis / Eigenvalue Calculation).
Model Parameter Identication (Chapter 28: Model Parameter Identication).
Contingency Analysis (Chapter 29: Contingency Analysis).
Reliability Analysis (Chapter 30: Reliability Assessment).
Generation Adequacy Analysis (Chapter 32: Generation Adequacy Analysis).
Optimal Power Flow (Chapter 33: Optimal Power Flow).
Distribution Network Optimization (Chapter 35: Distribution Network Tools).
Protection Analysis (Chapter 39: Protection).
Network Reduction (Chapter 40: Network Reduction).
State Estimation (Chapter 41: State Estimation).
4.4 General Design of PowerFactory
PowerFactory is primarily intended to be used and operated in a graphical environment. That is, data is
entered by drawing the network Elements, and then editing and assigning data to these objects. Data
is accessed from the graphics page by double-clicking on an object. An input dialogue is displayed and
the user may then edit the data for that object.
Figure 4.4.1 shows the PowerFactory Graphical User Interface (GUI) when a project is active. The GUI
is discussed in further detail in Section 4.8
12 DIgSILENT PowerFactory 15, User Manual
4.4. GENERAL DESIGN OF POWERFACTORY
Figure 4.4.1: PowerFactory Main Window
All data entered for objects is hierarchically structured in folders for ease of navigation. To view the data
and its organization, a Data Manager" is used. Figure 4.4.2 shows the Data Manager window. The
Data Manager is similar in appearance and functionality to a Windows Explorer window.
Within the Data Manager, information is grouped based on two main criterion:
1. Data that pertains directly to the system under study, that is, electrical data.
2. Study management data, for example, which graphics should be displayed, what options have
been chosen for a Load Flow, which Areas of the network should be considered for calculation,
etc.
Figure 4.4.2: PowerFactory Data Manager
DIgSILENT PowerFactory 15, User Manual 13
CHAPTER 4. POWERFACTORY OVERVIEW
Note that most user-actions can be performed in both the Single Line Graphic and the Data Manager.
For example, a new terminal can be added directly to the Single Line Graphic, or alternatively created
in the Data Manager. In the latter case, the terminal could be shown in the Single Line Graphic by
drawing existing net elements", by dragging and dropping" from the Data Manager, or by creating a
new Graphical Net Object in the Data Manger (advanced).
4.5 Type and Element Data
Since power systems are constructed using standardized materials and components, it is convenient to
divide electrical data into two sets, namely Type" data and Element" data sets.
Characteristic electrical parameters, such as the reactance per km of a line, or the rated voltage of
a transformer are referred to as Type data. Type objects are generally stored in the Global Library
or Project Library, and are shown in red. For instance, a Line Type object, TypLne ( ).
Data relating to a particular instance of equipment, such as the length of a line, the derating
factor of a cable, the name of a load, the connecting node of a generator, or the tap position of a
transformer are referred to as Element data. Element objects are generally stored in the Network
Data folder, and are shown in green. For instance, a Line Element object, ElmLne ( ).
Consider the following example:
A cable has a Type reactance of X" Ohms/ km, say 0.1 Ohms/ km.
A cable section of length L" is used for a particular installation, say 600 m, or 0.6 km.
This section (Element) therefore has an reactance of X * L Ohms, or 0.06 Ohms.
Note that Element parameters can be modied using Operation Scenarios (which store sets of network
operational data), and Parameter Characteristics (which can be used to modify parameters based on
the Study Case Time, or other user-dened trigger).
4.6 Data Arrangement
The PowerFactory database supports multiple users (as mentioned in 4.1) and each user can manage
multiple projects. User Account" folders with access privileges only for their owners (and other users
with shared rights) must then be used. User accounts are of course in a higher level than projects.
Figure 4.6.1 shows a snapshot from a database as seen by the user in a Data Manager window, where
there is a User Account for User", and one project titled Project". The main folders used to arrange
data in PowerFactory are summarized below:
14 DIgSILENT PowerFactory 15, User Manual
4.6. DATA ARRANGEMENT
Figure 4.6.1: Structure of a PowerFactory project in the Data Manager
4.6.1 Global Library
This global Library contains a wide range of pre-dened models, including:
Type data for standard components such as conductors, motors, generators, and transformers.
Standard control system frames, models, and macros (i.e. transfer functions and logic blocks,
etc).
Standard CT, VT, fuse, and relay models.
Pre-dened model templates, including:
Battery System with frequency control (10 kV, 30 MVA).
Double Fed Induction Wind Turbine Generator (0.69 kV, 2 MW).
Fully Rated Converter Wind Turbine Generator (0.4 kV, 2 MW).
Variable Rotor Resistance Wind Turbine Generator (0.69 kV, 0.66 MW).
Photovoltaic System (0.4 kV, 0.5 MVA)
DIgSILENT PowerFactory 15, User Manual 15
CHAPTER 4. POWERFACTORY OVERVIEW
Standard DPL scripts, including scripts to:
Produce PV and QV curves.
Minimize the Net Present Value of project (Variation) costs by varying the project service
date.
Conduct time-sweep load ow calculations.
4.6.2 Project Library
The project Library contains the equipment Types, network operational information, DPL scripts, tem-
plates, and user-dened models (generally) only used within a particular project. A particular project
may have references to the project Library and / or global Library. The Project Library folder and sub-
folders are discussed in detail in Chapter 12 (Project Library).
4.6.3 Diagrams
Single Line Graphics are dened in PowerFactory by means of graphic folders of class IntGrfNet ( ).
Each diagram corresponds to a IntGrfNet folder. They are stored in the Network Diagrams folder ( ) of
the Network Model. Single line diagrams are composed of graphical objects, which represent compo-
nents of the networks under study. Graphical components reference network components and symbol
objects (IntSym).
The relation between graphical objects and network components allows the denition and modication
of the studied networks directly fromthe Single Line Graphics. Network components can be represented
by more than one graphical object (many IntGrf objects can refer to the same network component).
Therefore, one component can appear in several diagrams.
These diagrams are managed by the active Study Case, and specically by an object called the Graph-
ics Board. If a reference to a network diagram is stored in a Study Cases Graphics Board, when the
Study Case is activated, the diagram is automatically opened. Diagrams can be easily added and
deleted from the Graphics Boards.
Each diagram is related to a specic Grid (ElmNet ). When a Grid is added to an active Study Case, the
user is asked to select (among the diagrams pointing to that grid) the diagrams to display. References
to the selected diagrams are then automatically created in the corresponding Graphics Board.
Chapter 9 (Network Graphics (Single Line Diagrams)), explains how to dene and work with single line
graphics.
4.6.4 Network Data
The Network Data folder holds network data (Element data) in Grid" folders, network modication
information in Variation" folders, and object Grouping information.
Grids
In PowerFactory , electrical network information is stored in Grid" folders (ElmNet, ). A power system
may have as many grids as dened by the user. These grids may or may not be interconnected. As long
as they are active, they are considered by the calculations. Data may be sorted according to logical,
organizational and/or geographical areas (discussed further in Section 4.7: Project Structure).
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.
16 DIgSILENT PowerFactory 15, User Manual
4.6. DATA ARRANGEMENT
Note: A Grid (and in general any object comprising the data model) is active when it is referred to by
the current study case. Only objects referred in the current (active) Study Case are considered for
calculation. In the Data Manager, the icon of an active Grid is shown in red, to distinguish it from
inactive Grids.
For details of how to dene grids refer to Chapter 8.Basic Project Denition, Section 8.2 (Creating New
Grids).
Variations
During the planning and assessment of a power system, it is often necessary to analyze different vari-
ations and expansion alternatives of the base network. In PowerFactory these variations are modelled
by means of Variations". These are objects that store and implement required changes to a network,
and can be easily activated and deactivated. The use of Variations allows the user to conduct studies
under different network congurations in an organized and simple way.
Variation objects (IntScheme, ) are stored inside the Variations folder ( ) which resides in the Net-
work Model folder. Variations are composed of Expansion Stages" (IntStage), which store the changes
made to the original network(s). The application of these changes depends on the current study time
and the activation time of the Expansion Stages.
The study time is a parameter of the active Study Case, and is used to situate the current study within a
time frame. The activation time is a parameter given to the Expansion Stages, to determine whether or
not, according to the study time, the changes contained within the Expansion Stages are applied to the
network. If the activation time precedes the study time, the changes are applied to the original network.
The changes of a subsequent expansion stage add to the changes of its predecessors.
In order that changes to the network conguration 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. Changes contained in an Expansion
Stage can be classied as:
Modications to network components.
Components added to the network.
Components deleted from the network.
Note: If there is no active Operation Scenario, modications to operational data will be stored in the
active Variation.
Grouping Objects
In addition to Grid folders, the Network Data folder contains a set of objects that allow further grouping
of network components. By default, when a new project is created, new empty folders to store these
grouping objects is created inside the Network Model folder.
For details of how to dene grouping objects, refer to Chapter 13: Grouping Objects.
4.6.5 Operation Scenarios
Operation Scenarios may be used to store operational settings, a subset of Element data. Operational
data includes data that relates to the operational point of a device but not to the device itself e.g. the tap
position of a transformer or the active power dispatch of a generator. Operation Scenarios are stored in
the Operation Scenarios folder.
DIgSILENT PowerFactory 15, User Manual 17
CHAPTER 4. POWERFACTORY OVERVIEW
4.6.6 Study Cases
The Study Cases folder holds study management information. Study Cases are used to store informa-
tion such as command settings, active Variations and Operations Scenarios, graphics to be displayed,
and study results. See Chapter 11 (Study Cases) for details.
4.6.7 Settings
Project settings such as user-dened diagram styles for example, which differ from global settings, are
stored inside the Settings folder.
4.7 Project Structure
The structure of project data depends on the complexity of the network, use of the model, and user
preferences. The user has the exibility to dene network components directly within the Grid, or to
organize and group components in a way that simplies management of project data.
Consider the example network data arrangement shown in Figure 4.7.1 In this case, two busbar sys-
tems (ElmSubstat in PowerFactory ) have been dened, one at 132 kV, and one at 66 kV. The two
busbar systems are grouped within a Site, which includes the 132 kV / 66 kV transformers (not shown
in Figure 4.7.1). A Branch composed of two line sections and a node connects 132 kV Busbar" to
HV terminal". Grouping of components in this way simplies the arrangement of data within the Data
Manager, facilitates the drawing overview diagrams, and facilitates storing of Substation switching con-
gurations.
Figure 4.7.1: Example Project Structure
The following subsections provide further information regarding the PowerFactory representation of key
network topological components.
4.7.1 Nodes
In PowerFactory , nodes connecting lines, generators, loads, etc. to the network are generally called
Terminals" (ElmTerm). Depending on their usage within the power system, Terminals can be used to
represent Busbars, Junctions, or Internal Nodes (their usage is dened by a drop down menu found in
the Basic Data page 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.
18 DIgSILENT PowerFactory 15, User Manual
4.7. PROJECT STRUCTURE
4.7.2 Branches
Elements with multiple connections are referred to Branches" (as distinct from a Branch Element",
which is a grouping of elements, discussed in Section 4.7.7). Branches include two-connection el-
ements such as transmission lines and transformers, and three-connection elements such as three-
winding transformers, AC/DC converters with two DC terminals, etc.
For information about how to dene transmission lines (and cables) and sections refer to Chapter 9: Net-
work Graphics, Section 9.2(Dening Network Models with the Graphical Editor). Technical information
about transmission line and cable models is provided in Appendix C (Line (ElmLne)).
4.7.3 Cubicles
When any branch element is directly connected to a Terminal, PowerFactory uses a Cubicle" (StaCubic)
to dene the connection. Cubicles can be visualized as the panels on a switchgear board, or bays
in a high voltage yard, to which the branch elements are connected. A Cubicle is generally created
automatically when an element is connected to a node (note that Cubicles are not shown on the Single
Line Graphic).
4.7.4 Switches
To model complex busbar-substation congurations, switches (ElmCoup) can be used. Their usage
can be set to Circuit-Breaker, Disconnector, Switch Disconnector, or Load Switch. The connection of
an ElmCoup to a Terminal is carried out by means of an automatically generated Cubicle without any
additional switch (StaSwitch) object.
4.7.5 Substations
Detailed busbar congurations are represented in PowerFactory as Substations (ElmSubstat ). Sepa-
rate single line diagrams of individual substations can be created. Substation objects allow the use
of running arrangements to store/set station circuit breaker statuses (see Chapter 12: Project Library,
Section 12.3: Operational Library). For information about how to dene substations refer to Chapter 9:
Network Graphics, Section 9.2(Dening Network Models with the Graphical Editor) and Chapter 10,
Section 10.3(Dening Network Models with the Data Manager).
4.7.6 Sites
Network components including Substations and Branches can be grouped together within a Site" (Elm-
Site). This may include Elements such as substations / busbars at different voltage levels. For informa-
tion about how to dene sites refer to Chapter 10, Section 10.3(Dening Network Models with the Data
Manager).
4.7.7 Branch Elements
Similar to Substations, Terminal Elements and Line Elements can be stored within an object called a
Branch Element (ElmBranch). Branches are composite" two-port elements that may be connected to
a Terminal at each end. They may contain multiple Terminals, Line sections (possible including various
line types), and Loads etc, but be represented as a single Branch on the Single Line Graphic. As for
Substations, separate diagrams for the detailed branch can be created with the graphical editor.
DIgSILENT PowerFactory 15, User Manual 19
CHAPTER 4. POWERFACTORY OVERVIEW
For information about how to dene branches refer to Chapter 9: Network Graphics, Section 9.2(Den-
ing Network Models with the Graphical Editor) and Chapter 10, Section 10.3(Dening Network Models
with the Data Manager).
4.8 User Interface
An overview of the PowerFactory user interface is provided in this section, including general discussion
of the functionality available to enter and manipulate data and graphics. Aspects of the user interface
are discussed in further detail in the following chapters, in particular:
Chapter 6 (User Accounts, User Groups, and Proles).
Chapter 9(Network Graphics (Single Line Diagrams)).
Chapter 10 (Data Manager).
4.8.1 Overview
The main PowerFactory window is shown in Figure 4.8.1
Figure 4.8.1: PowerFactory user interface
Key features of the main window are as follows:
1. The main window includes a description of the PowerFactory version, and standard icons to Mini-
mize, Maximize/Restore, Resize, and Close the window.
20 DIgSILENT PowerFactory 15, User Manual
4.8. USER INTERFACE
2. The main menu bar includes drop-down menu selections. The main menu is discussed further in
section 4.8.2 (Menu Bar).
3. The Main Toolbar includes commands and other icons. The Main Toolbar is discussed in further
detail in section 4.8.3 (Main Toolbar).
4. The Graphical Editor displays single line diagrams, block diagrams and/or simulation plots of the
active project. Studied networks and simulation models can be directly modied from the graphical
editor by placing and connecting elements.
5. When an object is right clicked (in the graphical editor or in the data manager) a context sensitive
menu with several possible actions appears.
6. When an object is double clicked its edit dialogue will be displayed. The edit dialogue is the inter-
face between an object and the user. The parameters dening the object are accessed through
this edit dialogue. Normally an edit dialogue is composed of several pages". Each page groups
parameters that are relevant to a certain function. In Figure 4.8.1 the Load Flow page of a gener-
ator is shown, where only generator parameters relevant to load ow calculations are shown.
7. The Data Manager" is the direct interface with the database. It is similar in appearance and
functionality to a Windows Explorer window. The left pane displays a symbolic tree representation
of the complete database. The right pane is a data browser that shows the content of the currently
selected folder. The data manager can be accessed by pressing the Data Manager icon ( )
on the left of the main toolbar. It is always oating, and more than one can be active at a
time. Depending on how the user navigates to the Database Manager, it may only show the
database tree for selecting a database folder, or it may show the full database tree. The primary
functionality of the Data Manager is to provide access to power system components/objects. The
data manager can be used to edit a group of selected objects within the data manager in tabular
format. Alternatively, objects may be individually edited by double clicking on an object (or right-
click Edit ).
8. The output window is shown at the bottom of the PowerFactory window. The output window cannot
be closed, but can be minimized. The output window is discussed in further detail in section 4.8.4
(The Output Window).
9. The Project Overview" window is displayed by default on the left side of the main application
window between the main toolbar and the output window. It displays an overview of the project
allowing the user to assess the state of the project at a glance and facilitating easy interaction with
the project data.
4.8.2 Menu Bar
The menu bar contains the main PowerFactory menus. Each menu entry has a drop down list of menu
options and each menu option performs a specic action. To open a drop down list, either click on the
menu entry with the left mouse button, or press the Alt key together with the underlined letter in the
menu. Menu options that are shown in grey are not available, and only become available as the user
activates projects or calculation modes, as required.
DIgSILENT PowerFactory 15, User Manual 21
CHAPTER 4. POWERFACTORY OVERVIEW
Figure 4.8.2: The help menu on the Menu bar
For example as show in Figure 4.8.2:
To access PowerFactory tutorials: Press Alt-H to open the help menu. Use the keyboard to select
Start Tutorial. Press Execute to open the Tutorial. Note that the on-line Getting Started Tutorial is
identical to the printed version.
To access the User Manual: Left click the Help menu. Left-click the option User Manual to open
the electronic User Manual.
4.8.3 Main Toolbar
The main PowerFactory toolbar provides the user with quick access to the main commands available
in the program (see Figure 4.8.1). Buttons that appear in grey are only active when appropriate. All
command icons are equipped with balloon help text which are displayed when the cursor is held still
over the icon for a moment, and no key is pressed.
To use a command icon, click on it with the left mouse button. Those icons that perform a task will
automatically return to a non-depressed state when that task is nished. Some command icons will
remain depressed, such as the button to Maximise Output Window. When pressed again, the button
will return to the original (non-depressed) state.
This section provides a brief explanation of the purpose of the icons found on the upper part of the
toolbar. Icons from the lower part of the toolbar are discussed in Chapter 9(Network Graphics (Single
Line Diagrams)). Detailed explanations for each of the functions that the icons command are provided
in the other sections of the manual.
Open Data Manager
Opens a new instance of the Database Manager. When the option Use Multiple Data Manager"
is enabled in the user settings menu (User Settings General ) the user will be able to open
as many instances of the data manager as required. If Use Multiple Data Manager" is disabled
in the user settings menu, the rst instance of the data manager will be re-opened. For more
information on the Data Manager refer to Chapter 10.
Edit Relevant Objects for Calculation
Provides a list of elements (coloured in green) and types (coloured in red) that are in an active
Grid: e.g. transformer types, line elements, composite models, etc. When an object icon is
selected, all objects from the selected class(es) will be shown in a browser.
22 DIgSILENT PowerFactory 15, User Manual
4.8. USER INTERFACE
Date/Time of Calculation Case (SetTime)
Displays the date and time for the case calculation. This option is used when parameter charac-
teristics of specic elements (e.g. active and reactive power of loads) are set to change according
to the study time, or a Variation status is set to change with the study time.
Edit Trigger
Displays a list of all Triggers that are in the active Study Case. These Triggers can be edited in
order to change the values for which one or more characteristics are dened. These values will
be modied with reference to the new Trigger value. All Triggers for all relevant characteristics
are automatically listed. If required, new Triggers will be created in the Study Case. For more
information, see Chapter 16: Parameter Characteristics, Load States, and Tariffs. Section 16.2
(Parameter Characteristics).
Data Verication (ComCheck)
Performs model data verication, see Section 21.5 (Troubleshooting Load Flow Calculation Prob-
lems).
Calculate Load-Flow (ComLdf)
Activates the load-ow command dialogue. For more information about the specic settings, refer
to Chapter 21 (Load Flow Analysis).
Calculate Short-Circuit (ComShc)
Activates the short-circuit calculation command dialogue. For more information, refer to Chap-
ter 22 (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. See section 4.9 for a general description of DPL
scripts, and Chapter 19 (The DIgSILENT Programming Language - DPL) for detailed information.
Output Calculation Analysis (ComSh)
Presents calculation results in various formats. The output is printed to the Output Window and
can be viewed, or copied for use in external reports. Several different reports, depending on
the calculation, can be created. For more information about the output of results refer to Chap-
ter 17:Reporting and Visualizing Results, Section 17.2.3 (Output of Results).
Documentation of Device Data (ComDocu)
Presents a listing of device data (a device is the model of any physical object that has been en-
tered into the project for study). This output may be used in reports, and for checking data that
has been entered. Depending on the element chosen for the report, the user has two options;
generate a short listing, or a detailed report. For more information please refer to Chapter 17:Re-
porting and Visualizing Results, Section 17.2.3 (Output of Results).
Comparing of Results On/Off
Turns on/off comparing of calculation results. Used to compare results where certain settings
DIgSILENT PowerFactory 15, User Manual 23
CHAPTER 4. POWERFACTORY OVERVIEW
or designs options of a power system have been changed from one calculation to the next. For
more information please refer to Chapter 17:Reporting and Visualizing Results, Section 17.3
(Comparisons Between Calculations).
Edit Comparing of Results (CommDiff)
Enables the user to select the cases/ calculation results that are to be compared to one an-
other, or to set the colouring mode for the difference reporting. For more information please refer
to Chapter 17:Reporting and Visualizing Results, Section 17.3 (Comparisons Between Calcula-
tions).
Update Database
Utilizes the current calculations results (i.e. the calculation output data) to change input param-
eters (i.e. data the user has entered). An example is the transformer tap positions, where these
have been calculated by the load-ow command option Automatic Tap Adjust of Tap Chang-
ers." For more information refer to Chapter 17:Reporting and Visualizing Results, Section 17.3
(Comparisons Between Calculations).
Save Operation Scenario
Saves the current operational data to an Operation Scenario (e.g. load values, switch statuses,
etc.). See Chapter 14 (Operation Scenarios).
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.
Note: In User Settings, on the General page, if Retention of results after network change is set to
Show last results in the User Settings (see Chapter 7: User Settings, section 7.1), results will
appear in grey on the Single Line Diagram and on the Flexible Data tab until the calculation is
reset, or a new calculation performed.
User Settings (SetUser)
User options for many global features of PowerFactory may be set from the dialogue accessed
by this icon. For more information refer to Chapter 7 (User Settings).
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.
Change Toolbox
In order to minimize the number of icons displayed on the taskbar, some icons are grouped based
on the type of analysis, and are only displayed when the relevant category is selected from the
Change Toolbox icon. In Figure 4.8.3, the user has selected RMS/EMT Simulation, and therefore
only icons relevant for RMS and EMT studies are displayed to the right of the Change Toolbox
icon. If, for example, Reliability Assessment were selected then icons to the right of the Change
24 DIgSILENT PowerFactory 15, User Manual
4.8. USER INTERFACE
Toolbox icon would change to those suitable for a reliability assessment.
Figure 4.8.3: Change Toolbox selection
4.8.4 The Output Window
In addition to results presented in the Single Line Graphics and / or Data Manager, the Output Window
displays other textual output, such as error messages, warnings, command messages, device docu-
mentation, result of calculations, and generated reports, etc. This section describes Output Window
use and functionality.
Sizing and Positioning the Output Window
The default location of the Output Window is docked" (xed) at the bottom of the main window, as
shown in Figure 4.8.1 It can be minimized, but not closed. When right-clicking the mouse button with the
cursor in the output windows area, the context sensitive menu of the output window appears. The output
window can then be undocked by deselecting the Dock Output Window. The undocked output window
is still conned to the main window, but now as a free oating window. This can occur unintentionally
when the user left clicks the tool bar for the output window and drags the mouse (keeping the mouse
button down) to somewhere outside of the output window boundaries. To rectify this simply left-click in
the title bar of the undocked window and drag it down to the bottom of the screen where it will dock once
more (if you have right-clicked and unticked Docking View" then right click and select Docking View"
once more).
The upper edge of the output window shows a splitter bar which is used to change the size of 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 (grey bar at the upper edge of the output window) when the output window
is in docking mode".
Double-clicking the frame of the output window to dock/undock it from the main window.
Pressing the Maximize Graphic Window icon ( ) on the main toolbar to enlarge the graphics
board by hiding the output window.
DIgSILENT PowerFactory 15, User Manual 25
CHAPTER 4. POWERFACTORY OVERVIEW
Pressing the Maximize Output Window icon ( ) icons on the main toolbar to enlarge the output
window.
Output Window Options The contents of the output window may be stored, edited, redirected, etc.,
using the icons shown on the right-hand pane of the output window. Some commands are also available
from the context sensitive menu by right-clicking the mouse in the output window pane.
Opens an editor. The user can copy and paste text from the output window to the editor, and
manually type data in the editor.
Opens a previously saved output le.
Saves the selected text to an ASCII le, or the complete contents of the output window if no selection
was made.
Copies the selected text to the Windows Clipboard. Text may then be pasted in other programs.
Clears the output window by deleting all messages. Note that when the user scrolls through previous
messages in the output window, the output window will no longer automatically scroll with new
output messages. The Clear All icon will reset" scrolling of the output window.
Searches the text in the output window for the occurrences of a given text.
Changes the font used in the output window.
Redirects the output window to a le. The output window will not display messages while this icon
is depressed.
Redirects the output window to be printed directly.
Redirects the output window to be printed directly.
Using the Output Window
The Output Window facilitates preparation of data for calculations, and identication of network data
errors. Objects listed in the output window (with a folder name and object name) can be double-clicked
with the left mouse button to open an edit dialogue for the object. Alternatively, the object can be
right-clicked and then Edit, Edit and Browse Object, or Mark in Graphic selected. For example, if
a Synchronous Machine Element does not have a Type dened, the load-ow will not solve and a
message will be reported. (see Figure 4.8.4). This simplies the task of locating objects in the Single
Line Graphic.
Figure 4.8.4: Output Window Context Sensitive Menu
Output Window Context Sensitive Menu
As mentioned in the previous section, to show the Output Windows context sensitive menu, right-click
the mouse button whilst pointing at the object name. The available option are as follows:
26 DIgSILENT PowerFactory 15, User Manual
4.8. USER INTERFACE
Edit Object : Opens the edit dialogue of the selected object.
Edit and Browse Object : Opens a Data Manager and displays the Element and its parameters.
Mark in Graphic: Marks the selected element in the Single Line Graphic and zooms into the region
it is placed.
Output Window Legend
The Output Window uses colours and other formatting to distinguish between different types of mes-
sages, and for bar graph results. Used text message formats are as follows:
DIgSI/err - ... Error messages. Format: red coloured.
DIgSI/info - .... Information messages. Format: green coloured.
DIgSI/wrng - ... Warning message. Format: brown coloured.
DIgSI/pcl - ... Protocol message. Format: blue coloured.
Text only Output text. Format: black coloured.
Output Window Graphical Results
Reports of calculation results may contain bar graphical information. The voltage proles" report after
a load-ow command, for instance, produces bar graphs of the per-unit voltages of busbars. These
bars will be coloured blue, green or red if the Verication" option in the load-ow command dialogue
has been enabled. They will be hatch-crossed if the bars are too large to display.
Part of a bar graph output is shown in Figure 4.8.5 The following formatting is visible:
Figure 4.8.5: Output window bar diagram
Green Solid Bar: Used when the value is in the tolerated range.
Blue Solid Bar: Used when the value is below a limit.
Red Solid Bar: Used when the value is above a limit.
Hatch-crossed Bar: Used when the value is outside the range.
DIgSILENT PowerFactory 15, User Manual 27
CHAPTER 4. POWERFACTORY OVERVIEW
Copying from the Output Window
The contents of the Output Window, or parts of its contents, may be copied to the built-in editor of
PowerFactory , or to other programs. Normally, not all selected lines will be copied and the format of the
copied text may undergo changes. The latter is caused by the fact that the PowerFactory output window
uses special formatting escape sequences", which other programs may not support.
The lines that are to be copied is determined by the Output Window settings. When text from the output
window is copied, an info message will be displayed, informing the user about the current settings (see
Figure 4.8.6). From this dialogue, the Output Window User Settings may be modied, and the Info
message may be disabled.
Figure 4.8.6: The output window Info Message
4.9 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 and in-built editor, the user can dene
automation commands (scripts) to perform iterative or repetitive calculations on target networks, and
post-process the results.
To nd the name of an object parameter to be used in a DPL script, simply hover the mouse pointer
over the relevant eld in an object dialogue. For example, for a General Load, on the Load Flow page,
hover the mouse pointer over the Active Power eld to show the parameter name plini".
User-dened DPL scripts can be used in all areas of power system analysis, for example:
Network optimization.
Cable-sizing.
Protection coordination.
Stability analysis.
Parametric sweep analysis.
Contingency analysis.
DPL scripts may include the following:
28 DIgSILENT PowerFactory 15, User Manual
4.9. DIGSILENT PROGRAMMING LANGUAGE (DPL) SCRIPTS
Program ow commands such as if-else and do-while.
PowerFactory commands (i.e. load-ow or short-circuit commands: ComLdf, ComShc).
Input and output routines.
Mathematical expressions.
PowerFactory object procedure calls.
Subroutine calls.
DPL command objects provide an interface for the conguration, preparation, and use of DPL scripts.
These objects may take input parameters, variables and/or objects, pass these to functions or subrou-
tines, and then output results. DPL commands are stored inside the Scripts folder ( ) in the project
directory.
Consider the following simple example shown in Figure 4.9.1 to illustrate the DPL interface, and the
versatility of DPL scripts to take a user-selection from the Single Line Graphic. The example DPL script
takes a load selection from the Single Line Graphic, and implements a while loop to output the Load
name(s) to the Output Window. Note that there is also a check to see if any loads have been selected
by the user.
Figure 4.9.1: Example DPL Script
For further information about DPL commands and how to write and execute DPL scripts refer to Chap-
ter 19 (The DIgSILENT Programming Language - DPL), and Appendix D DPL Reference.
DIgSILENT PowerFactory 15, User Manual 29
CHAPTER 4. POWERFACTORY OVERVIEW
30 DIgSILENT PowerFactory 15, User Manual
Part II
Administration
Chapter 5
Program Administration
This chapter provides information on how to congure the program, and how to log on. More Detailed
descriptions of the installation, database settings and additional information on these topics can be
found in the PowerFactory Installation Manual.
5.1 Program Installation and Conguration
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 PowerFactory has been set up in a computer PowerFactory can be started directly by clicking
either on the shortcut on the Desktop or by selecting PowerFactory in the in the Windows start menu.
PowerFactory will start automatically and create a User account when logging on for the rst time. As a
default user name for PowerFactory the User name from Windows will be used if the user is working in a
single-user-database environment. In case more users accounts have been created a Log-On dialogue
will pop up and the User can select the User name used for the session. The user will be asked to enter
a password if the user has dened a password for the user account.
In a multi-user-database installation (see Chapter 6: User Accounts, User Groups, and Proles) new
accounts and passwords are created by the administrator. The Administrator account is created when
installing PowerFactory and is used to create and manage users accounts in a multi-user environment
(see Chapter 6: User Accounts, User Groups, and Proles). To log on as administrator, the shortcut from
the Windows Start Menu can be used. As default the administrator account password is Administrator.
When already running a PowerFactory session, the user can select Tools Switch User in the main
menu to log-on as Administrator.
For further information about the roll of the database administrator please refer Section 6.2: The
Database Administrator.
Changes to the default settings of the installation settings can be carried out by means of the SetCong
dialogue. This dialogue can be found in the Windows Start menu. Through the Database and Licence
tabs of the SetCong dialogue, the answers to the questions above are provided and the program
installation is congured. Administrator rights are necessary to perform changes to the settings. Once
DIgSILENT PowerFactory 15, User Manual 33
CHAPTER 5. PROGRAM ADMINISTRATION
PowerFactory is started, the Congurations Dialgue can be accessed via Tools Conguration in the
main menu of PowerFactory .
A detailed description of the installation procedure and the program conguration alternatives is given
in the PowerFactory Installation Manual.
5.2 The SetCong Dialogue
The SetCong-dialogue is used to apply changes to the Conguration settings. Windows Administration
rights are required.
5.2.1 General
In this page the user can select the application language for the session.
5.2.2 Database
In this page it is specied 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 systems:
Oracle.
Microsoft SQL Server.
For further information about the database conguration please refer to the PowerFactory Installation
Manual.
5.2.3 License
In order to run the program, the user require to dene the License Setting in the License page of the
SetCong-dialogue. The options are described below, more information about the licenses types is
available in the PowerFactory Installation Manual
Demo request
When starting PowerFactory for the rst time with this option, the DIgSILENT License Activation dia-
logue is opened with the instructions to get the activate the installation.
PowerFactory Workstation
This option is for single-user clients with a license key (also known as a dongle or hardlock).
PowerFactory Server
34 DIgSILENT PowerFactory 15, User Manual
5.3. WORKSPACE OPTIONS
This option if for multi-user clients with a network license key which allows access to several users over
a network.
The network license key requires an additional program which is also part of the installation package:
License Server.
When using PowerFactory Server, the computer name or the IP network address of the license server
is required.
Advanced RPC-Settings
If a network license key with protocol based communication is used, the Advanced RPC-Settings must
be given. These elds, are in the Advanced tab of the License page.
The RPC settings must be the ones specied in the license server. For detailed information the network
administrator should be consulted, also more information is available in the PowerFactory Installation
Manual.
5.2.4 Workspace
The Workspace tab allows the User to set the Workspace directory and the Workspace backup directory.
In the Workspace the local database, the result les and the log-les are saved. For more options how
to congure and use the workspace, please refer to chapter 5.3.
5.2.5 External Application
The External Application tap is used to set the Python editor path. This setting is taken by Python
functionality.
5.2.6 Advanced Settings
The advanced program settings should only be changed under the guidance of the DIgSILENT Power-
Factory support (see Chapter 2 Contact)
5.3 Workspace options
By selecting Tools Workspace in the main menu the user is able to perform several steps as follows.
5.3.1 Show Workspace Directory
The user is able to see the workspace directory by clicking Tools Workspace Show workspace
directory.
5.3.2 Import and Export Workspace
To import the workspace the user can select Tools WorkspaceImport Workspace.... This is a con-
venient way to import the entire workspace after a new installation. Accordingly, to export the workspace
the user can select Tools Workspace Export Workspace.... The package will be saved as a .zip
DIgSILENT PowerFactory 15, User Manual 35
CHAPTER 5. PROGRAM ADMINISTRATION
format. The option Tools WorkspaceImport Workspace from 14.x or 15.0 allows the user to import
the workspace from an older version of PowerFactory .
5.3.3 Show Default Export Directory
The selection Tools WorkspaceShow Default Export Directory in the main menu offers the user to
see the directory that is used for the export.
5.4 Ofine Mode User Guide
This section describes user actions relevant when working in Ofine mode.How to install the Ofine
Mode is described in the PowerFactory Installation Manual.
5.4.1 Functionality in Ofine mode
5.4.1.1 Start Ofine Session
Preconditions:
A PowerFactory user account must already exist in the Online database. The PowerFactory "Ad-
ministrator" user is able to create user accounts.
The user mustnt be logged on in an Online session. In the example showed in gure 5.4.1 User
2 and User 3 are able to start an Ofine session, but not User 1, who is already logged on in an
Online session.
Figure 5.4.1: Users allowed to start Ofine session
Note: the Administrator user isnt allowed to work in Ofine mode, but only in Online mode.
Steps to create an Ofine session:
Start PowerFactory . In the Log on dialogue enter the user name and password.
On the "Database" tab insert the Ofine Proxy Server settings (see gure 5.4.2)
36 DIgSILENT PowerFactory 15, User Manual
5.4. OFFLINE MODE USER GUIDE
Figure 5.4.2: Log-on dialogue. Database page
Press OK
An info message is shown. (g. 5.4.3)
Figure 5.4.3: Info message
Press OK
After initialization the usual PowerFactory application window will is shown.
5.4.1.2 Release Ofine Session
Open the main menu File OfineTerminate Ofine session
A warning message is shown to conrm the synchronization.
Press Yes
Then all unsynchronized local changes are transferred to the server and the local Ofine database
is removed.
DIgSILENT PowerFactory 15, User Manual 37
CHAPTER 5. PROGRAM ADMINISTRATION
5.4.1.3 Synchronize All
Synchronizes the global data (new users, projects added, projects removed, projects moved) and all
subscribed projects.
Open the main menu File OfineSynchronize all
5.4.1.4 Subscribe Project for reading only
Open the Data Manager and navigate to the project
Right-click on the project stub. A context menu is shown.
Select Subscribe project in Ofine mode for reading only
Then the project is retrieved from the Ofine Proxy Server and stored in the local Ofine DB cache.
5.4.1.5 Subscribe Project for reading and writing
Write access to the project is required.
Open the Data Manager and navigate to the project
Right-click on the project stub. A context menu is shown.
Select Subscribe project in Ofine mode for reading and writing
5.4.1.6 Unsubscribe Project
Open the Data Manager and navigate to the project
Right-click on the project. A context menu is shown.
Select Unsubscribe project in Ofine mode
5.4.1.7 Add a new project
A new project is created in Ofine mode. It is available only in this Ofine session. Later this project
should be published to other users and synchronized to the Online database.
Create new project or import an PFD le with a project
Open the Data Manager and navigate to the project
Right-click on the project stub. A context menu is shown.
Select Subscribe project in Ofine mode for reading and writing
38 DIgSILENT PowerFactory 15, User Manual
5.4. OFFLINE MODE USER GUIDE
5.4.1.8 Synchronize Project
Synchronizes a subscribed project. If the project is subscribed for reading only, the local project will be
updated from the Online database. If the project is subscribed for reading and writing, the changes from
the local Ofine database will be transferred to the Online database.
Open the Data Manager and navigate to the project
Right-click on the project stub. A context menu is shown.
Select Synchronize
5.4.2 Functionality in Online mode
5.4.2.1 Show current Online/Ofine sessions
The session status for each user is shown in the Data Manager.
Figure 5.4.4: Online and Ofine Users
In gure 5.4.4:
User 1 and Administrator are logged in an Online session. They are marked by the green
ONLINE icon.
User 2 has started an Ofine session. It is marked by the red OFFLINE icon.
Public, Demo, and User 3 are not logged on at all.
5.4.3 Terminate Ofine session
It might be necessary that an Ofine session has to be terminated by the Administrator e.g. if the
computer where the Ofine session was initialized is now damaged and cant be used any more, and
the user wants to start a new Ofine session on a different computer.
The Administrator is able terminate such a session:
Right-click on the user object; the context menu is shown.
Select Terminate session (see g. 5.4.5)
DIgSILENT PowerFactory 15, User Manual 39
CHAPTER 5. PROGRAM ADMINISTRATION
Figure 5.4.5: Terminate Ofine session
A warning message is shown to conrm the synchronization.
Press Yes
As shown in gure 5.4.6 User 2 has no active session now:
Figure 5.4.6: Online Users
5.5 Housekeeping
5.5.1 Introduction
Housekeeping automates administration of certain aspects of the database, in particular purging projects,
emptying user recycle bins and the deletion of old projects. Housekeeping is triggered by the execution
of a Windows Scheduled Task; this can be set up to run at night, thus improving performance during the
day by moving regular data processing to off-peak periods. An additional benet to housekeeping is that
users will need to spend less time purging projects and emptying recycle bins, something in particular
that can slow down the process of exiting PowerFactory .
Housekeeping is only available for multi-user databases (e.g. Oracle, SQL Server). For details about
how to schedule housekeeping, see the PowerFactory Installation Manual.
40 DIgSILENT PowerFactory 15, User Manual
5.5. HOUSEKEEPING
5.5.2 Conguring permanently logged-on users
Normally housekeeping will not process data belonging to logged-on users; however, some user ac-
counts (e.g. those for a control room) may be connected to PowerFactory permanently. These users
can be congured to allow housekeeping to process their data whilst logged-on. This is done from the
User Settings dialogue (see gure 5.5.1). Regardless of this setting, housekeeping will not operate on
a users active project.
Figure 5.5.1: The User Settings Dialogue: housekeeping for connected users
5.5.3 Conguring housekeeping tasks
The SetHousekeeping object is used to control which housekeeping tasks are enabled (see gure 5.5.2).
It is recommended that you move this object from Database\System\Conguration\Housekeeping to
Database\Conguration
\Housekeeping, in order to preserve your conguration through database upgrades.
The following sections discuss the different housekeeping tasks shown on the SetHousekeeping object.
DIgSILENT PowerFactory 15, User Manual 41
CHAPTER 5. PROGRAM ADMINISTRATION
Figure 5.5.2: The SetHousekeeping object
5.5.4 Conguring deletion of old projects
If Delete projects based on last activation is set on the SetHousekeeping object, then when house-
keeping executes, for each user, each project in turn will be considered for automatic deletion.
The project properties determine whether a project can be automatically deleted, as shown in g-
ure 5.5.3. The default setting is for project deletion to be off. When set on, the default retention pe-
riod is 60 days. These defaults can be changed for new projects by using a template project (under
Conguration/Default in the Data Manager tree).
Figure 5.5.3: Project properties
You can change the settings for many existing projects at once using the tabular pane of the Data
Manager window (select the relevant column, right-click and choose Modify Values). A value of 1 is
42 DIgSILENT PowerFactory 15, User Manual
5.5. HOUSEKEEPING
equivalent to the Housekeeping project deletion radio button being set to On. (see gure 5.5.4). You
can also change projects in bulk via the tabular window resulting from a Find operation, though note
that executing a Find is potentially a lengthy operation.
Figure 5.5.4: Setting parameters for many projects at once
A project will be deleted by the housekeeping task if it meets the following criteria:
1. The project is congured for automatic deletion on the Storage page of the project properties.
2. The last activation of the project is older than the retention setting on the project.
3. It is not a base project with existing derived projects
4. It is not a special project (user settings, or anything under System or Conguration trees)
5. The project is not locked (e.g. active).
6. The owner of the project is not connected, unless that user is congured to allow concurrent
housekeeping (see section 5.5.2).
5.5.5 Conguring purging of projects
If Purge projects is set on the SetHousekeeping object, then when housekeeping executes, each
project in turn will be considered for purging. A project that is already locked (e.g. an active project) is
not purged.
The criteria for housekeeping to purge a project are:
if the project has been activated since its last purge.
DIgSILENT PowerFactory 15, User Manual 43
CHAPTER 5. PROGRAM ADMINISTRATION
if it is now more than a day beyond the object retention period since last activation, and the project
hasnt been purged since then.
if the project is considered to have invalid metadata (e.g. is a pre 14.0 legacy project, or a PFD
import without undo information).
Once housekeeping is congured to purge projects you can consider disabling the automatic purging
of projects on activation, thus preventing the Yes/No dialogue popping up. To do this set Automatic
Purging to Off on the Storage page of the Project properties dialogue. You can also set this parameter
to Off for many projects at a time (see methods described in section 5.5.4).
5.5.6 Conguring emptying of recycle bins
If Delete recycle bin objects is set on the SetHousekeeping object, then when housekeeping executes,
each users recycle bin in turn will be examined. Entries older than the number of days specied on the
SetHousekeeping object (see gure 5.5.2) will be deleted.
5.5.7 Monitoring Housekeeping
Once deployed, how do you know that housekeeping is operating effectively? For example, it could be
failing every night with a connection error. An administrator should regularly check that housekeeping
is working. The primary check is to inspect the HOUSEKEEPING_LOG table via SQL or the data
browsing tools of your multi-user database. For each run, housekeeping will insert a new row to this
table showing the start and end date/time and the completion status (success or failure). Other statistics
such as the number of deleted projects are kept. Note that absence of a row in this table for a given
scheduled day indicates that the task failed before it could connect to the database. In addition to the
HOUSEKEEPING_LOG table, there is also a detailed log of a Housekeeping run in the log le of the
Housekeeper user.
5.5.8 Summary of Housekeeping Deployment
The basic steps to implement housekeeping are:
1. Set up the Windows Scheduled Task, as described in the PowerFactory Installation Manual..
2. Congure users expected to be active during housekeeping, as described in section 5.5.2.
3. Congure the SetHousekeeping object as described in section 5.5.3.
4. If using the project deletion task, congure automatic deletion properties for new projects, as
described in section 5.5.4.
5. If using the project deletion task, congure automatic deletion properties for existing projects, as
described in section 5.5.4.
6. Regularly monitor HOUSEKEEPING_LOG table to check for success after housekeeping runs, as
described in 5.5.7.
44 DIgSILENT PowerFactory 15, User Manual
Chapter 6
User Accounts, User Groups, and
Proles
This chapter provides details of how to create and manage user accounts, user groups, and proles.
Key objectives of the user account managing system are to:
Protect the system parts of the database from changes by normal (non-Administrator) users.
Protect parts of the databases belonging to user A" from changes by user B".
Facilitate sharing of user data.
The user account managing system provides each user with their own private" database space. The
user is nevertheless able to use shared data, either from the common system database or from other
users, and may enable other users to use data from their private database.
The user account managing system manages this whilst using only one single database in the back-
ground, which allows for simple backup and management of the overall database.
The default name for a PowerFactory user is the Windows user name, which ia automatically created
when PowerFactory is started for the rst time.
6.1 PowerFactoryDatabase Overview
A brief introduction to the top level structure of the PowerFactory database is convenient before present-
ing 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 Conguration folder Contains company specic customizing for user groups, user default set-
tings, project templates and class templates for objects. Conguration folder is read only for
normal users.
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.
DIgSILENT PowerFactory 15, User Manual 45
CHAPTER 6. USER ACCOUNTS, USER GROUPS, AND PROFILES
User account folders Contain user project folders and associated objects and settings.
The structure described above is illustrated in Figure 6.1.1
Figure 6.1.1: Basic database structure
6.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.
Under a multiuser database environment, the administrator is the only user with permissions to:
Add and delete users.
Dene users groups.
Set individual user rights.
Restrict or allow calculation functions.
Set/reset user passwords.
Create and edit Proles (see Section 6.4 for details).
The administrator is also the only user that can modify the main library and the system folders. Although
the administrator has access to all the projects of all the users, it does not have the right to perform any
calculation.
To log on as administrator, there are two options:
Select the Shortcut in the Windows Start Menu PowerFactory 15.1 (Administrator).
Log into PowerFactory as a normal User and select via the Main menu Tools Switch User. Se-
lect Administrator and enter the corresponding password. By default the administrator password
is Administrator.
For further information about the administrator roll, please refer to the PowerFactory Installation Man-
ual.
46 DIgSILENT PowerFactory 15, User Manual
6.3. CREATING AND MANAGING USER ACCOUNTS
6.3 Creating and Managing User Accounts
In the case of an installation with a local database, the default name for a PowerFactory user is the
Windows user name, which is automatically created when PowerFactory is started for the rst time. (see
Chapter 5: Program Administration). In this case the program will automatically create and activate the
new account, without administrator intervention. In order to create other PowerFactory users if required,
the User Manager object can be used as described below:
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 Conguration folder.
To create a new user:
Log on as administrator. You can do so by starting the PowerFactory 15.1 (Administrator) shortcut
in the Windows Start menu or by switching the user via Tools Switch User in the main tool bar.
In the left pane of the Data Manager click on Conguration 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 be displayed:
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 dene 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 be displayed.
Any user can edit her/his own account by means of the User edit dialogue. In this case only the full
name and the password can be changed.
Note: The administrator is the only one who may delete a user account. Although users can delete
all projects inside their account folder, they cannot delete the account folder itself or the standard
folders that belong to it (i.e. the Recycle Bin or the Settings folder).
6.4 Creating User Groups
Any project or folder in a user account may be shared. This action can be performed selectively by shar-
ing only with certain user groups. User groups are created by the administrator via the User Manager.
To create a new user group:
Log on as administrator.
In the Data Manager open the Conguration folder and double click on the User Manager icon( ).
DIgSILENT PowerFactory 15, User Manual 47
CHAPTER 6. USER ACCOUNTS, USER GROUPS, AND PROFILES
In the User manager dialogue that appears press Add Group. . .
Enter the name of the new group, optionally a description and press Ok.
The new group is automatically created in the User Groups directory of the Conguration folder.
The administrator can change the name of an existing group by means of the corresponding edit dia-
logue (right 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 (right-click the user group and select Paste
Shortcut from the context sensitive menu).
Users are taken out of a group by deleting their shortcut from the corresponding group.
The administrator can also set the Groups Available Proles on the Prole tab of the Group dialogue.
For information about sharing projects please refer to Chapter 18 (Data Management).
6.5 Creating Proles
Proles can be used to congure toolbars, menus, dialogue pages, and dialogue parameters. By de-
fault, PowerFactory includes Base Package" and Standard" proles, selectable from the main menu
under Tools Proles. Selecting the Base Package" prole limits icons shown on the Main Toolbar to
those that are used with the Base Package of the software. The Standard" prole includes all available
PowerFactory icons.
Proles are created in the Conguration Proles folder by selecting the New Object icon and then
Others SettingsProle. An Administrator can create and customize proles, and control User/User
Group selection of proles from the Prole tab of each group.
Figure 6.5.1 shows the Prole dialogue for a new prole, CustomProle, and Figure 6.5.2 illustrates
aspects of the GUI that may be customized using this prole. This section describes the customization
procedure.
48 DIgSILENT PowerFactory 15, User Manual
6.5. CREATING PROFILES
Figure 6.5.1: Prole Dialogue
Figure 6.5.2: GUI Customization using Proles
6.5.1 Tool Conguration
Denition of Icons
Icons can be dened in the Conguration Icons folder by selecting the New Object icon and then
Others Other ElementsIcon. From the Icon dialogue, icon images can be imported and exported.
Icons should be 19 pixels by 19 pixels in Bitmap format (recommended to be 24-bit format).
Command Conguration
Figure 6.5.3 shows the Tool Conguration Commands tab.
DIgSILENT PowerFactory 15, User Manual 49
CHAPTER 6. USER ACCOUNTS, USER GROUPS, AND PROFILES
Figure 6.5.3: Commands Conguration.
Command: This is the selected DPL script (which should generally be located in the Conguration
DPL commands folder), or selected Com* object.
Edit: If selected, the DPL command dialogue will appear when a Command is executed. If de-
selected, the DPL command dialogue will not appear when a Command is executed.
Icon: Previously created icons can be selected, which will be shown on the menu where the
command is placed. If no icon is selected, a default icon will appear (a Hammer, DPL symbol, or
default Com* icon, depending on the Class type).
Template Conguration:
Figure 6.5.4 shows the Tool Conguration Templates tab.
Figure 6.5.4: Template Conguration
Template The name of the template. The name may be for a unique template, or include wild-
cards (such as *.ElmLne) for selection of a group of templates. Templates should be in

SSys-
tem/Library/Busbar Systems folder, or in the

STemplates folder of the active project.
Drawing modeThe drawing mode can be set where there are multiple diagrammatic representa-
tions for a template (such as for a substation). Three options are available:
50 DIgSILENT PowerFactory 15, User Manual
6.5. CREATING PROFILES
Blank will place the default (detailed) graphic of the template.
Simplied will place the simplied graphic of the template.
Composite will place a composite representation of the template.
Symbol name Sets the representation of templates with a composite drawing mode (e.g. Gener-
alCompCirc or GeneralCompRect).
Icon Previously created icons can be selected, which will be shown on the menu where the tem-
plate is placed. If no icon is selected, a default icon will appear (a Template symbol or custom
icon).
Description This description will be displayed when a user hovers the mouse pointer over the
icon. If left blank, the template name will be displayed.
6.5.2 Conguration of Toolbars
The Main Toolbar and Drawing Toolbars can be customized using the Toolbar Conguration. The eld
Toolboxes may either refer to a Toolbox Conguration (SetTboxcong) or a Toolbox Group Conguration
(SetTboxgrcong), which may in-turn refer to one or more Toolbox Congurations.
Figure 6.5.5 shows an example where there is a main toolbox, and a toolbox group. The toolbox group
adds a Change Toolbox icon to the menu, which allows selection of Basic Commands and Custom
Commands groups of commands.
Figure 6.5.5: Toolbar Conguration
Each toolbox can be customized to display the desired icons, such as illustrated in Figure 6.5.6
DIgSILENT PowerFactory 15, User Manual 51
CHAPTER 6. USER ACCOUNTS, USER GROUPS, AND PROFILES
Figure 6.5.6: Toolbox Conguration
Prior to customizing the displayed buttons and menu items etc, the user should rst dene any required
custom Commands and Templates. A Tool Conguration object can be created in the Conguration
Proles folder, or within a user-dened Prole, by selecting the New Object icon and then Others
SettingsTool Conguration. If created in the Proles folder, the commands will be available from the
Standard" prole. Conversely, if the Tool Conguration object is created within a prole (SetProle) the
commands and templates will only be available for use in this prole. If there is a Tool Conguration
within a user-dened prole, as well as in the Proles folder, the Tool Conguration in the user-dened
prole will take precedence. Optionally, customized icons can be associated with the Commands and
Templates.
6.5.3 Conguration of Menus
The Main Menu, Data Manager, Graphic, Virtual Instruments, and Output Window menus can be cus-
tomized from the Menu Conguration dialogue. The Change to Conguration View button of the Prole
dialogue is used to display description identiers for congurable items, such as illustrated in the context-
sensitive menu shown in Figure 6.5.7. The Menu Conguration includes a list of entries to be removed
from the specied menu. Note that a Prole may include multiple menu congurations (e.g. one for
each type of menu to be customized).
Figure 6.5.7: Menu Conguration
52 DIgSILENT PowerFactory 15, User Manual
6.5. CREATING PROFILES
6.5.4 Conguration of Dialogue Pages
The Dialogue Page Conguration may be used to specify the Available and Unavailable Dialogue pages
shown when editing elements, such as illustrated in Figure 6.5.8. Note that Users can further customize
the displayed dialogue pages from the Functions tab of their User Settings.
Figure 6.5.8: Dialogue Page Conguration
6.5.5 Conguration of Dialogue Parameters
The Dialogue Conguration may be used to customize element dialogue pages, such as illustrated for
a Synchronous Machine element in Figure 6.5.9. Hidden Parameters" are removed from the element
dialogue page, whereas Disabled Parameters" are shown but cannot be modied by the user. A Prole
may include multiple dialogue congurations (e.g. one for each class to be customized).
Note that if a there is a Dialogue Conguration for say, Elm* (or similarly for ElmLne,ElmLod), as well
as a Dialogue Conguration for ElmLne (for example), the conguration settings will be merged.
Figure 6.5.9: Dialogue Conguration
Note: Conguration of Dialogue parameters is an advanced feature of PowerFactory , and the user
should be cautious not to hide or disable dependent parameters. Please seek assistance from
DIgSILENT support if required.
DIgSILENT PowerFactory 15, User Manual 53
CHAPTER 6. USER ACCOUNTS, USER GROUPS, AND PROFILES
6.5.6 References
Proles can also contain references to congurations. This allows several proles to use the same
congurations. These referenced congurations can either be stored in another prole or in a subfolder
of the Proles" folder (e.g. a user-dened prole can use congurations from a pre-dened prole).
54 DIgSILENT PowerFactory 15, User Manual
Chapter 7
User Settings
The User Settings dialogue, shown in Figure 7.0.1, offers options for many global features of Power-
Factory. This chapter is dedicated to describe this options. The User settings dialogue may be opened
either by clicking the User Settings button ( ) on the main tool bar, or by selecting the Options User
Settings. . . menu item from the main menu.
Figure 7.0.1: User Settings dialogue
7.1 General Settings
The general settings include (Figure 7.0.1):
Conrm Delete Activity Pops up a conrmation 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.
DIgSILENT PowerFactory 15, User Manual 55
CHAPTER 7. USER SETTINGS
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 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 lter edit dialogue when a lter is selected, allowing the user
to edit the lter before application. However, this is sometimes irksome when a user is applying a
lter several times. Thus one may choose to go straight to the list of ltered objects when the lter
is applied by un-checking this option.
Always conrm Deletion of Grid Data When this option checked a conrmation 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 exibility is permitted, so as to
suit the users needs, and thus the standard structure may be engaged by checking this option.
System Stage Prole The ability to create system stages may be limited by this option. Existing sys-
tem 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.
Retention of results after network change when the option Show last results" is selected, modica-
tions to network data or switch status etc. will retained the results, these will be shown on the
single line diagram and on exible data pages in grey until the user reset the results (e.g. by
selecting Reset Calculation, or conducting a new calculation).
7.2 Graphic Windows Settings
The graphic windows has the following settings.
Cursor settings
Denes the cursor shape:
Arrow A normal, arrow shaped cursor.
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 Drawing Tools Floater Species the width of the graphics toolbar when this
is a oating window.
56 DIgSILENT PowerFactory 15, User Manual
7.3. DATA MANAGER SETTINGS
No. of Columns in Drawing Tools Docker Species 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 specied
percentage when printing.
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 Colours
May be used to exclude colours, by number code, which are to be used for feeder denitions. This
is used to prevent the use of colours which are already used for other purposes. Ranges of colour
numbers are entered as 2-9. Multiple ranges of colours must separated by commas, as in 2-9;16-23.
Update Graphic while Simulation is running
Use own background colour for single line graphics
If the option is enabled, the user can dene the background colour of the single line graphics by using
the pop up menu and then pressing OK.
In the Advanced tab of the Graphic Window page more graphic setting options are available:
Allow Resizing of branch objects
If the option is enabled, the user can left click a branch element within the single line graphic and then
resize it.
Edit Mode Cursor Set
Allows the selection of the mouse pointer shape.
Mark Objects in Region
Denes how objects within an user dened region of the single line graphic (dened by left clicking and
then drawing a rectangle) are selected:
Complete Only the objects, that are completely enclosed in the dened region, are selected.
Partial All the objects within the dened area are selected.
Show balloon Help
Enables or disables the balloon help dialogues.
For information about the Graphic Windowrefer to Chapter 9(Network Graphics (Single Line Diagrams)).
7.3 Data Manager Settings
The data manager page species which object types will be displayed or hidden in the tree representa-
tion, and whether conrmation prompts will appear when objects or data is changed in the data manager
itself.
DIgSILENT PowerFactory 15, User Manual 57
CHAPTER 7. USER SETTINGS
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 conrmation every time a value is
changed in the data browser when this option is selected.
Sort Automatically Species that objects are automatically sorted (by name) in the data browser.
Operation Scenario
If the Save active Operation Scenario automatically is enabled, the period for automatic saving must be
dened.
Export/Import Data
Congures the export and import of PowerFactory DZ-les, as follows:
Binary DataSaves binary data, such as results in the result folders, to the DZ export les accord-
ing 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
predened object types, but objects within this folder may not be changed by the user (read-only ac-
cess). This option allows the user to specify a different Global Type Folder, possibly a company
specic and dened type library.
For information about the PowerFactory Database Manager refer to Chapter 10 (Data Manager).
7.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 inuenced.
Escape sequences are special hidden codes which are used for colouring 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
inuenced by the options chosen here.
The number of lines displayed in the output window may also be limited.
7.5 Functions Settings
The functions settings page provides check boxes for the function modules that are accessible from the
data manager or from the object edit dialogues. The user may choose to see only certain modules in
58 DIgSILENT PowerFactory 15, User Manual
7.6. DIRECTORIES
order to unclutter" dialogues.
This may also be used to protect data by allowing only certain calculation functionality to be seen by
certain users. This is particularly useful in a multi-user environment or in when inexperienced users
utilize PowerFactory .
7.6 Directories
Compiled DSL Models Pre-compiled DSL models may be available for use as external models.
The DSL directory should be directed to the correct folder/ directory in order for PowerFactory to
nd these models.
PFM-DSM
7.7 Editor
The editor which is used to enter large pieces of text (such as DPL scripts, objects descriptions, etc.)
can be congured 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 Denes 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 colouring
Denes the syntax-highlighting used when the type of text is not known.
ShortCuts
Opens the short-cut denition dialogue.
7.8 StationWare
When working with DIgSILENT s StationWare, connection options are stored in the user settings.The
connection options are as follows:
DIgSILENT PowerFactory 15, User Manual 59
CHAPTER 7. USER SETTINGS
Service Endpoint Denotes the StationWareserver 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 StationWareapplication.
Username/Password
Username and Password have to be valid user account in StationWare. A StationWareuser account
has nothing to do with the StationFactory user account. The very same StationWareaccount can be
used by two different PowerFactory users.The privileges of the StationWareaccount actually restrict the
functionality. For device import the user requires read-access rights. For exporting additionally write-
access rights are required.
7.9 Advanced Options
Contingency Analysis
A conrmation dialogue is showed when the Remove Contingencies option is selected in the Contin-
gency Analysis dialogue.
60 DIgSILENT PowerFactory 15, User Manual
Part III
Handling
Chapter 8
Basic Project Denition
The basic database structure in PowerFactory and the data model used to dene and study a power
system is explained in Chapter 4 (PowerFactory Overview). It is recommended that users become
familiar with this chapter before commencing project denition and analysis in PowerFactory . This
Chapter describes how to dene and congure projects, and how to create grids.
8.1 Dening and Conguring 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 NewProject.
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 eld at the bottom of the New Object window type IntPrj (after selecting the option Others
in the Elements eld). 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.
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.
DIgSILENT PowerFactory 15, User Manual 63
CHAPTER 8. BASIC PROJECT DEFINITION
Note: The ComNew command is used to create objects of several classes. To create a new project it
must be ensured that the Project option is selected.
In order to dene 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 auto-
matically 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 dialogue:
The new grid folder is created in the newly created project folder.
An empty single line diagram associated to the grid is opened.
The newly created project has the default folder structure shown in 8.1.1. Although a grid folder and a
study case are enough to dene a system and perform calculations, the new project may be expanded
by creating library folders, extra grids, variations, operation scenarios, operational data objects, extra
study cases, graphic windows, etc.
Projects can be deleted by right clicking on the project name on the data manager and selecting Delete
from the context sensitive menu. Only non active projects can be deleted.
Note: The default structure of the Project folder is arranged to take advantage of the data model struc-
ture and thus the user is advised to keep to this pre-determined data structure, at least at rst until
sufcient 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.
Figure 8.1.1: Default Project Structure
64 DIgSILENT PowerFactory 15, User Manual
8.1. DEFINING AND CONFIGURING A PROJECT
8.1.1 The Project Edit Dialogue
The project dialogue of 8.1.2 pops up when selecting Edit Project. . . on the main menu or when
right-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 eld opens a dialogue where the validity period of
the project, the input units to be used within the project (unit system and the decimal prexes for
the adaptable element input dialogues within the project) and the calculation settings (the base
apparent power and the minimal value of the resistances and conductances in p.u) are dened.
Pressing the New Grid button will create a new grid and will open the grid edit dialogue. A second
dialogue will ask for the study case to which the new grid folder will be added. For additional
information about creating a new grid please refer to Section 8.2(Creating New Grids).
The New Study Case button will create a new study case and will open its dialogue. The new
study case will not be activated automatically. For further information about creating study cases
please refer to Chapter 11: Study Cases, Section 11.2 (Creating and Using Study Cases).
When a project is created, its settings (i.e.the result box denitions, the reports denitions, the
exible page selectors, etc.) are dened 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 Set to default in the Changed Settings eld 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 dialogue window under the
Active Study Case assignment, its edit dialogue can be opened by pressing the button.
DIgSILENT PowerFactory 15, User Manual 65
CHAPTER 8. BASIC PROJECT DEFINITION
Figure 8.1.2: The project dialogue
Pressing the Contents button on the dialogue will open a new data browser displaying all the
folders included in the current project directory.
The Sharing page of the dialogue allows the denition of the project sharing rules. This function is
especially suitable when working in a multiple user database environment, further information is given
in Chapter 18 (Data Management).
The Derived Project page provides information when the project is a derived project of a master project.
The Storage page provides information about the stored data inside the project.
The Description page, like all objects description pages is used to add user comments and the approval
status.
8.1.2 The Project Overview Window
The Project Overview window is illustrated in gure 8.1.3. It is a dockable window, displayed by default
on the left side of the main application window between the main toolbar and the output window. It
displays an overview of the project allowing the user to assess the state of the project at a glance and
facilitating easy interaction with the project data. The window is docked by default, but can be undocked
by the user and displayed as a oating window that can be placed both inside and outside of the main
application window. If required, the window can be closed by the user. To close or reopen the window
the user should deselect or select the option Window Dock Output Window. . . from the main menu.
Only one window can be open at a time.
66 DIgSILENT PowerFactory 15, User Manual
8.1. DEFINING AND CONFIGURING A PROJECT
Figure 8.1.3: The project Overview Window
The following objects and information can be accessed via the project window.
Study Cases
Active Study Case
Inactive Study Cases
Current Study Time
Operation Scenarios
Active Scenario Schedulers
Active Scenarios
Inactive Scenarios
Variations
Recording Expansion Stage
List of active Variations with active Expansion Stages as children
List of inactive Variations with inactive Expansion Stages as children
Grid/System Stages
List of active Grids or System Stages
List of active Grids or System Stages
Trigger
Active triggers
Entries for active objects are displayed with bold text, entries for inactive objects (where currently no
object is active, but inactive objects exist) are displayed as disabled/grey.
A context sensitive menu can be accessed by right clicking on each of the tree entries. The following
actions are available for each of the entries:
DIgSILENT PowerFactory 15, User Manual 67
CHAPTER 8. BASIC PROJECT DEFINITION
Change active item(s): Activate, Deactivate, Change active
Show all available items
Edit (open dialogue)
Edit and Browse
Delete
Save (for Operation Scenario only)
8.1.3 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.
The Validity Period of the Project
PowerFactory 15 extends the idea of a model into the dimension of time. The Project may span a period
of months or even years considering network expansions, planned outages and other system events.
The period of validity of a project species therefore the time span the network model, which is dened
in the Project, is valid for.
The Validity Period is dened by Start Time and End Time of the Project (see Figure 8.1.2). The Study
Case has got a Study Time, which has to be inside the Validity Period of the Project.
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 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
Auto slack assignment
This option has only an inuence of the automatic slack assignment (e.g. if no machine is marked
as "Reference Machine")
Method 1: all the synchronous machines can be selected as "Slack" (Reference Machine);
Method 2: a synchronous machine is not automatically selected as "Slack" if for that machine
the option on load ow page: "Spinning if circuit-breaker is open" is disabled.
Calculation of symmetrical components for untransposed lines
The selection of one of these methods denes how the sequence components of lines in Power-
Factory will be calculated:
Method 1: apply the 012 transformation (irrespective of line transposition). This is the stan-
dard method used;
Method 2: rst calculate a symmetrical transposition for untransposed lines, and then apply
the 012 transformation.
68 DIgSILENT PowerFactory 15, User Manual
8.2. CREATING NEW GRIDS
8.1.4 Activating and Deactivating Projects
To activate a project use the option File Activate 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 eld of the main menu bar. The currently active project
is the rst 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 Deactivate 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.
8.1.5 Exporting and Importing of Projects
Projects (or any folder in the data base) can be exported using the *.dz or the *.pfd (PowerFactory
Data) le 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 le 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 le format.
To export a project select File Export. . . Data. . . from the main menu or by clicking on the icon
of the Data Manager. Alternatively projects can be exported by selecting the option Export. . . 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 le to import from the Files of type
menu of the Windows Open le that pops up. Alternatively projects can be imported by selecting the
option Import. . . on the project context sensitive menu (only available for non active projects).
Additionally a lot of Import/Export lters are available for foreign data formats.
8.1.6 External References
In order to avoid problems when exporting/importing projects, it is recommended to check for external
references before exporting the project. This can be done by selecting the option Check for external
References on the project context sensitive menu.
If external references are found, these can be packed before exporting by selecting the option Pack
external References on the project context sensitive menu.
The user can dene the source of the External References (i.e. Global Library, Conguration folder,
etc). A new folder call "External" containing all the external references will be created inside the Project.
8.2 Creating New Grids
Electrical networks can be dened 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
DIgSILENT PowerFactory 15, User Manual 69
CHAPTER 8. BASIC PROJECT DEFINITION
manual denition of the cubicles within the terminals and the selection of the specic cubicle where
a branch element is to be connected. This manual denition is more suitable for big networks whose
graphical representation becomes complicated. Advanced users may combine both graphical and data
manager methods to dene and modify their network models more efciently.
Besides explaining the basic methods used to dene and edit the network models, this section is in-
tended 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 dening and working with variations and variations
stages will be given in a separate section. To start with the description of the network model denition,
a description of how new grid folders are created is required.
Note: Experienced users may dene networks combining the Data Manager and the Graphical Editor.
A good practice is to create and connect the network components in the single line graphic and
multi edit them in the Data Manager.
To add a grid folder to the current network model, various methods may be employed:
1. Select Edit Project on the main menu. This will open the dialogue of the project that is currently
active. Press the New Grid button.
2. Select Insert Grid . . . on the main menu.
3. Right-click the project folder in a data manager and select Edit. Press the New Grid button.
4. 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 specied. 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 newstudy
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-ow or other calculations. To analyze the
combination of two or more grids, new study cases may be created later on, or the existing ones may
be altered.
As indicated in Chapter 11(Study Cases), grids can be added or removed from the active study case
afterwards by right clicking and selecting Add/Remove from Active study case.
70 DIgSILENT PowerFactory 15, User Manual
Chapter 9
Network Graphics (Single Line
Diagrams)
9.1 Introduction
PowerFactory works with three different classes of graphics which constitute the main tools used to
design new power systems, controller block diagrams and displays of results:
Single Line Diagrams (described in this chapter)
Block Diagrams (described in Section 26.8: Models for Stability Analysis)
Virtual Instruments (described in Section 17.5: Virtual Instruments)
Diagrams are organized in Graphic Boards for visualization (see Section 9.5.2 for more information).
9.2 Dening Network Models with the Graphical Editor
In this section it is explained how the tools of the Graphical Editor are used to dene and work with
network models.
9.2.1 Adding New Power System Elements
Drawing power system elements is a simple matter of choosing the required element representation in
the Drawing Toolbox located in the right hand pane of the PowerFactory GUI. Input parameters of the
element are edited through the element and type dialogue. Complete information about the element
and type parameters are given in the Appendix C Technical References of Models.
To create a new power system element, select the corresponding button in the Drawing Toolbox. This
toolbar is only visible to the user when a project and study case is active and the open graphic is
unfrozen by deselecting the Freeze Mode button ( ). As the cursor is positioned over the drawing
surface, it will have a symbol of the selected tool attached to it, showing that the cursor is, for example,
in Terminal drawing mode (to reset the mode either press the one of the cursor icons (rectangular or
free-form selection) or press ESC or right-click with the mouse).
Power system elements are placed and connected in the single line graphic by left clicking on empty
places on the drawing surface (places a symbol), and by left clicking nodes (makes a connection). If
DIgSILENT PowerFactory 15, User Manual 71
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
wishing to stop the drawing and connecting process press the Escape key or right click at the mouse.
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 rst two terminal connections automatically.
2. By rst left clicking on an empty place to position the symbol and then left clicking a node to make
the connections.
3. By rst left clicking on an empty place, consequently clicking on the drawing surface to dene a
non-straight connection line and nally clicking on a terminal to make the connection.
Note: Nodes for connecting branches are usually dened before placing them on the single line dia-
gram. However, it is possible to place connection free branch element on the single line diagram
by pressing the Tab key once for each required connection (e.g. twice for a line, three times for a
three winding transformer)
Figure 9.2.1 shows an example of a generator placed according to the rst 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).
Figure 9.2.1: Illustration of graphical connection methods
If a load or machine is connected to a terminal using the rst 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.
Note: By default all power system elements are positioned bottom down". However, if the Ctrl key
is pressed when the graphic symbol is positioned onto the drawing surface, it will be positioned
either turned 90 degrees (terminals) or 180 degrees (edge elements). If the element has already
been placed and the user wishes to ip it to the other side of the terminal, it can be done by
selecting the element and the right-click Flip At Busbar.
Once drawn, an element can be rotated by right-click and selecting from the Rotate commands. Fig-
ure 9.2.2 shows an example of rotated and ipped power system elements.
72 DIgSILENT PowerFactory 15, User Manual
9.2. DEFINING NETWORK MODELS WITH THE GRAPHICAL EDITOR
Figure 9.2.2: Flipped and rotated power system elements
The connection between edge elements and terminals is carried out by means of cubicles. When work-
ing with the graphical editor, the cubicles are automatically generated in the corresponding terminal.
Note: When connections to terminals are dened with switch elements of the class ElmCoup (circuit
breakers), cubicles without any additional switches (StaSwitch) are generated.
9.2.2 Drawing Nodes
When commencing a single line diagram, it is common to rst place the required nodes / terminals
(ElmTerm) on the graphic. There are several symbol representations available for busbar type terminals,
from the drawing toolbox on the right-hand pane of the PowerFactory GUI.
Busbar This is the most common representation of a node.
Busbar (Short) Looks the same as a Busbar 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.
Junction / Internal Node 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.
Busbar (rectangular) Typically used for reticulation and / or distribution networks.
Busbar (circular) Typically used for reticulation and / or distribution networks.
Busbar (polygonal) Typically used for reticulation and / or distribution networks.
Busbars (terminals) should be placed in position and then, once the cursor is reset, dragged, rotated
and sized as required. Re-positioning is performed by rst 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 rst left clicking on the terminal to mark it. Sizing
handles appear at the ends.
9.2.3 Drawing Branch Elements
Single port elements (loads, machines, etc.) can be positioned in two ways. The simplest method is
to select the symbol from the toolbar and then left click the busbar where the element is to be placed.
This will draw the element at a default distance under the busbar. In case of multi busbar systems, only
DIgSILENT PowerFactory 15, User Manual 73
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
one of the busbars need be left-clicked. The switch-over connections to the other busbars will be drawn
automatically.
The free-hand method rst places the element symbol wherever desired, that is, rst click wherever
you wish to place the symbol. The cursor now has a rubber band connected to the element (i.e. a
dashed line), left-clicking on another node will connect it to that node. To create corners in the joining
line left click on the graphic. The line will snap to grid, be drawn orthogonally, as determined by the
Graphic Options" that have been set.
Double port elements (lines, transformers, etc.) are positioned in a similar manner to single port sym-
bols. By left-clicking the rst busbar, the rst connection is made. The second connection line is now
held by the cursor. Again, left-clicking the drawing area will create corners. Double-clicking the drawing
area will position the symbol (if not a line or cable - e.g. a transformer). The second connection is made
when a node is left clicked.
Triple port elements (e.g. three-winding transformers) are positioned in the same manner as two port
symbols. Clicking the rst, 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
rst 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.
Note: Pressing the Tab key after connecting one side will leave the second leg unconnected, or jump
to the third leg in the case of three port elements (press Tab again to leave the third leg un-
connected). Pressing Esc or right-click will stop the drawing and remove all connections. If the
element being drawn seems as if it will be positioned incorrectly or untidily there is no need to
escape the drawing process, make the required connections and then right-click the element and
Redraw the element whilst retaining the data connectivity.
Annotations are created by clicking one of the annotation drawing tools. Tools are available for drawing
lines, squares, circles, pies, polygons, etc. To draw these symbols left click at on an empty space on
the single line diagram and release the mouse at another location (e.g. circles, lines, rectangles). Other
symbols require that you rst set the vertices by clicking at different positions and nishing the input
mode by double-clicking at the last position.
For further information on dening lines, see section 9.3 (Dening and Working with Lines and Cables).
9.2.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.
74 DIgSILENT PowerFactory 15, User Manual
9.2. DEFINING NETWORK MODELS WITH THE GRAPHICAL EDITOR
(a) Freeze Mode (b) Unfreeze Mode
Figure 9.2.3: Marking/ Selecting elements
The element is highlighted with a different pattern depending on whether the graphic has been frozen
or not, as seen in Figure 9.2.3, where 9.2.3a is the when the Freeze Mode is selected and 9.2.3b when
Freeze Mode is deselected.
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 dened rectangle will now be marked. A setting, found in the User Settings
dialogue under the Graphic Windows page, on the Advanced tab, 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.
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 rst element.
In PowerFactory it is possible to place a terminal on an existing line in the single line diagram by
placing the terminal on the line itself. Moving the terminal to a different location on the single line
diagram may move line sections in an undesirable manner. By holding the Ctrl+Alt keys whilst
moving the terminal, the line sections will not be moved. However, note that this does not change
the actual location of the terminal along the line.
The data of any element (its edit dialogue) may be viewed and edited by either double-clicking the
graphic symbol under consideration, or by right-clicking it and selecting Edit Data.
When multiple objects are selected, their data can be viewed and edited trough a data browser by
right-clicking the selection and choosing Edit Data from the context sensitive menu.
Note: Finding specic elements in a large project may be difcult if one had to look through the single
line diagram alone. PowerFactory includes the Mark in Graphic tool, to assist the user in nding
elements within the graphic. The user has to rst search for the desired object in the Data Man-
ager using any of the methods presented in Chapter 10 (Data Manager). Once a searched object
is identied, it may be right-clicked and the option Mark in Graphic selected.
DIgSILENT PowerFactory 15, User Manual 75
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
9.2.5 Interconnecting Power Subsystems
Interconnections between two different graphics can be achieved using two methods:
1. Representing a node in additional different graphics by copying and pasting the graphic only and
then by connecting branch and edge elements to the graphical object in the additional graphic.
This is performed by copying the desired node (right-click Copy) and then clicking on the other
graphic in which it should be represented and right-click Paste Graphic Only. Only a graphical
object is pasted into the second graphic and no new data element is created.
2. Ensure that there is a node to connect to in the graphics that are to be interconnected. Then
connect an edge element between the two graphics.
Example
In this example a line will be used to interconnect two regions according to the second method.
1. Select a line drawing tool from the toolbar and create the rst connection as normal by left clicking
a node (see Figure 9.2.4).
2. Double-click to place the symbol. Your cursor is now attached to the line by a rubber band.
Move the cursor to the bottom of the drawing page and click on the tab of the graphic that the
interconnection is to be made to (see Figure 9.2.5).
3. Once in the second graphic left click to place the line symbol (see Figure 9.2.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.
Figure 9.2.4: First step to interconnecting
76 DIgSILENT PowerFactory 15, User Manual
9.2. DEFINING NETWORK MODELS WITH THE GRAPHICAL EDITOR
Figure 9.2.5: Second step to interconnecting
Figure 9.2.6: Third step to interconnecting
Note: The rst method of interconnection, that of representing a node in two, or more, different graph-
ics, may lead to confusion at a later point as the inow and outow to the node will not appear
correct when just one graphic is viewed - especially if a user is not familiar with the system. The
node may be right-clicked to show all connections in what is known as the Station Graphic (menu
option Show station graphic). Thus, the second method may be preferred. To check for nodes that
have connections on other graphics the Missing graphical connections" diagram colouring may
be employed.
9.2.6 Working with Substations in the Graphical Editor
Substations and Secondary Substations from existing templates are created using the network dia-
grams. The substations are represented in these diagrams by means of composite node symbols.
Creating a New Substation in an Overview Diagram
Overview diagrams are single line diagrams without detailed graphical information of the substations.
Substations and Secondary Substations are illustrated as Composite Nodes", which can be coloured
DIgSILENT PowerFactory 15, User Manual 77
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
to show the connectivity of the connected elements (Beach Ball"). Substations and Secondary Sub-
stations from pre-dened templates (or templates previously dened 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 an existing template in an overview diagram:
Click on the symbol of the composite node ( or ) for Substations or ( ) for Secondary
Substations listed among the symbols on the right-hand drawing pane.
Select the desired substation template from the list.
Click on the overview single line diagram to place the symbol. The substation is automatically
created in the active grid folder.
Right click the substation, select Edit Substation, and rename the substation appropriately.
Close the window with the templates.
Press Esc or right click on the mouse 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 conguration and to connect the
desired components to the grid.
To resize a composite node:
Click once on the composite node you want to resize.
When it is highlighted, place the cursor on one of the black squares at the corners and hold down
the left mouse button.
A double-arrow symbol appears and you can resize the gure by moving the mouse. For a rect-
angular composite node you can also resize the shape by placing the cursor on one of the sides.
For further information on templates please refer to Chapter 12: Project Library, Section 12.4 (Templates
Library).
To show the connectivity inside a composite node:
Press the button to open the colouring dialog. Select the Function for which the colouring mode
is relevant (for example, select the Basic Data tabpage). Under Other select Topology, and then
Station Connectivity.
There are two ways to open the graphic page of a substation. The rst is to double-click on the cor-
responding composite node in the overview diagram. The second is to go to the graphic object of the
substation in the data manager, right-click and select Show Graphic.
Details of how to dene templates are provided in Chapter 12 (Project Library).
Substation Switching Rules
Switching Rules ( ) (IntSwitching) store switching actions for a selected group of switches that are
dened inside a substation. The different switching actions (no change, open or close) are dened by
the user considering different fault locations that can occur inside a substation. By default, the number
of fault locations depends on the number of busbars and bay-ends contained inside the substation;
although the user is allowed to add (and remove) specic fault locations and switches belonging to the
substation. The switch actions will always be relative to the current switch positions of the breakers.
78 DIgSILENT PowerFactory 15, User Manual
9.2. DEFINING NETWORK MODELS WITH THE GRAPHICAL EDITOR
The selection of a Switching Rule for a substation is independent of the selection of a Running Arrange-
ment and if required, the reference to the switching rule in a substation can be stated to be operational
data; provided the user uses the Scenario Conguration object. For more information on the scenario
conguration refer to Chapter 14 (Operation Scenarios).
A typical application of Switching Rules is in contingency analysis studies, where there is a need to
evaluate the contingency results considering the actual" switch positions in a substation and compare
them to the results considering a different substation conguration (for the same contingency).
To create a switching rule
To create a new Switching Rule:
Edit a Substation, either by right-clicking on the substation busbar from the single line graphic,
and from the context-sensitive menu choosing Edit a Substation, or by clicking on an empty place
in the substation graphic, and from the context-sensitive menu choosing Edit Substation. This will
open the substation dialogue.
Press the Select button ( ) in the Switching Rule section and select New. . .
The new Switching Rule dialogue pops up, where a name and the switching actions can be spec-
ied. The switching actions are arranged in a matrix where the rows represent the switches and
the columns the fault locations. By default the fault locations (columns) correspond to the number
of busbars and bay-ends contained inside the substation, while the switches correspond only to
the circuit breakers. The user can nevertheless add/remove fault locations and/or switches from
the Conguration page. The switch action of every dened breaker in the matrix can be changed
by double clicking on the corresponding cell, as illustrated in Figure 9.2.7. Press afterwards Ok.
The new switching rule is automatically stored inside the substation element.
DIgSILENT PowerFactory 15, User Manual 79
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Figure 9.2.7: Switching Rule Dialogue
To select a Switching Rule
A Switching Rule can be selected in the Basic Data page of a substation dialogue (ElmSubstat ) by:
Opening the substation dialogue.
Pressing the Select button ( ) in the Switching Rule section. A list of all Switching Rules for the
current substation is displayed.
Selecting the desired Switching Action.
To apply a Switching Rule
A Switching Rule can be applied to the corresponding substation by pressing the Apply button from
within the switching rule dialogue. This will prompt the user to select the corresponding fault locations
(busbars) in order to copy the statuses stored in the switching rule directly in the substation switches.
Here, the user has the option to select either a single fault location, a group or all of them.
The following functional aspects must be regarded when working with switching rules:
A switching rule can be selected for each substation. By default the selection of a switching rule
in a substation is not recorded in the operation scenario. However, this information can dened
as part of an operational scenario by using the Scenario Conguration object (see Chapter 14:
Operation Scenarios).
80 DIgSILENT PowerFactory 15, User Manual
9.2. DEFINING NETWORK MODELS WITH THE GRAPHICAL EDITOR
If a variation is active the selection of the Switching Rule is stored in the recording expansion
stage; that is considering that the Scenario Conguration object hasnt been properly set.
To assign a Switching Rule
The Assign button contained in the switching rule dialogue allows to set it as the one currently selected
for the corresponding substation. This action is also available in the context-sensitive menu in the data
manager (when right-clicking on a switching rule inside the data manager).
To preview a Switching Rule
The Preview button contained in the switching rule dialogue allows to display in a separate window the
different switch actions for the different fault locations of the corresponding substation.
9.2.7 Working with Composite Branches in the Graphical Editor
New composite branches can be created in the Data Manager using the procedure described in Chap-
ter 10, Section 10.3.4 (Dening Composite Branches in the Data Manager). The denition and con-
nection of the branch components can then be carried out in the relevant single line diagram, which is
automatically generated after the creation of the new branch.
Branches from previously dened templates are created using the single line diagram. The branches
are represented in these diagrams by means of the Composite Branch symbol ( ). To create a new
branch from a template:
Click on the Composite Branch button ( ) listed among the symbols on the right-hand drawing
pane. A list of available templates (from the Templates library) for branches will appear. If only
one Branch template exists, no list is shown.
From this list choose the template that you want to create the branch from.
If the branch is to be connected with terminals of the same single line graphic, simply click once
on each terminal.
If the branch is to be connected with a terminal from another single line diagram, you have to
Paste graphically one of the terminals on the diagram where you want to represent the branch,
or connect across pages as discussed in section 9.2.5 (Interconnecting Power Subsystems).
If the branch is to be connected with terminals from a substation, click once on each composite
node to which the branch is to be connected. You will be automatically taken inside each of those
composite nodes to make the connections. In the substation graphic click once on an empty spot
near the terminal where you want to connect the branch end, and then on the terminal itself.
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 conguration and to change the
branch connections.
Details of how to dene templates are provided in Chapter 12 (Project Library).
9.2.8 Working with Single and Two Phase Elements
It is possible to dene the phase technology of elements such as terminals, lines, and loads. In in-
stances where the number of phases of a connecting element (e.g. a circuit breaker or line) is equal
to the number of phases of the terminal to which it connects, PowerFactory will automatically assign
the connections. However, when connecting single-phase elements to a terminal with greater than one
phase, or two-phase elements to terminals with greater than three phases, it is sometimes necessary to
DIgSILENT PowerFactory 15, User Manual 81
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
adjust the phase connectivity of the element to achieve the desired connections. The phase connectivity
can be modied as follows:
Open the dialogue window of the element (by double-clicking on the element).
Press the Figure >> button to display a gure of the elements with its connections on the bottom
of the dialogue window.
Double-click on the dark-red names for the connections inside this gure.
Specify the desired phase connection/s.
Alternatively, click the right arrow ( ) next to the Terminal entry and specify the desired phase connec-
tion/s.
Note: It is possible to colour the grid according to the phases (System Type AC/DC and Phases). For
more information about the colouring refer to Section 9.7.6 (Graphic Attributes and Options).
9.3 Dening and Working with Lines and Cables
This section describes specic features and aspects of line and cable data models used in PowerFactory
. Detailed technical descriptions of the models are provided in Appendix C (Technical References of
Models).
In PowerFactory , lines and cables are treated alike, they are both instances of the generalized line
element ElmLne. A line may be modelled simply as a point-to-point connection between two nodes and
will refer to a line (TypLne), tower (TypTow), a tower geometry (TypGeo), a line coupling (ElmTow), or a
cable system coupling (ElmCabsys) type. Alternatively, lines may be subdivided into sections referring
to different types.
Note: Anywhere that line is written in this section, lines and/or cables may be read, unless otherwise
specied.
The two basic line congurations are depicted in Figure 9.3.1:
1. Top line: the simplest line is a single line object (ElmLne).
2. 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.
Figure 9.3.1: Basic line congurations
The purpose of separating lines into sections is to obtain different line parts, with different types (such as
when a line uses two or more different tower types, or when manual transpositions should be modelled
- since the Transposed" option in the type object is a perfect, balanced, transposition).
82 DIgSILENT PowerFactory 15, User Manual
9.3. DEFINING AND WORKING WITH LINES AND CABLES
9.3.1 Dening a Line (ElmLne)
The simplest line model is a point-to-point connection between two nodes. This is normally done in the
single line graphic by selecting the ( ) icon and by left clicking the rst 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.
Figure 9.3.2: Editing a transmission line
The dialogue shows the two cubicles to which the transmission line is connected (terminal i and ter-
minal j). The example in Figure 9.3.2 shows a line which is connected between the nodes called Line
End Terminal and Line Feeder Bus from a grid called North. The line edit dialogue shows the name
of the node (in red) in addition to the name of the cubicle (in blue). The actual connection point to the
node is the cubicle and this may be edited by pressing the edit button ( ). The cubicle may be edited
to change the name of the cubicle, add/remove the breaker, or change phase connectivity as discussed
in section 9.2.8 (Working with Single and Two Phase Elements).
The type of the line is selected by pressing the ( ) next to the type eld. Line types for a line/ line route
are:
The TypLne object type, where electrical parameters are directly written (the user can select if the
type is dened for an overhead line or a cable).
Tower types (TypTow and TypGeo), where geometrical coordinates and conductor parameters are
specied, and the electrical parameters are calculated from this data. Selection of the tower type
will depend on the users requirement to link conductor type data to the line element as in TypGeo
(for re-use of the one tower geometry with different conductors), or to link conductor type data to
the tower type as in TypTow (for re-use of one tower geometry with the same conductors).
Once the lines (or cables) have been created it is possible to dene couplings between the circuits that
DIgSILENT PowerFactory 15, User Manual 83
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
they are representing by means of line coupling elements ElmTow (for overhead lines) and cable system
coupling elements ElmCabsys (for cables).
Details of how to create Line Sections, Cable Systems, and Line Couplings are provided in the fol-
lowing sections, and further information about line/cable modelling is given in the respective Technical
References.
9.3.2 Dening Line Sections
To divide a line into sections:
Press the Sections/Line Loads button in the line dialogue. This will open a data browser showing
the existing line sections (if the line has not been sectioned, it will be empty).
Click on the new object icon ( ) and select the element Line Sub-Section (ElmLnesec).
The edit dialogue of the new line section will pop up. There it is possible to dene the type and
length of the new section.
9.3.3 Example Cable System
Consider a three-phase underground cable comprised of three single-core cables with sheaths. The
cable system is created within the active project by taking the following steps.
1. Create a Single Core Cable Type (TypCab) and Cable Denition Type (TypCabsys):
Navigate to the Equipment Type Library and select the New Object icon, or on the right-hand
side of the data manager right-click and select New Others.
Select Special Types, Single Core Cable Type, and then Ok.
Enter the Type parameters and select Ok. (Note that in this example, a Sheath is also
selected, and therefore a separate line will later be dened in the Network Model to represent
the sheath.)
Again select the New Object icon, or on the right hand side of the data manager right-click
and select New Others.
Select Special Types, Cable Denition, and then Ok.
Enter type parameters including Earth Resistivity, and Coordinates of Line Circuits (note
that positive values indicate the depth below the surface). Select the Single Core Cable Type
dened in the previous steps and press Ok.
2. Create the Network Model:
Add four terminals in the single line diagram at the same voltage dened in the Single Core
Cable Type.
Connect a Line Element between two of the terminals to represent the phase conductors,
and enter the element parameters.
Connect another Line Element between the other two terminals to represent the sheath,
and enter the element parameters. (Add connections from the sheath terminals to earth as
required.)
3. Create a Cable System Element (ElmCabsys):
Create a Cable System by selecting the two lines drawn in the single line diagram (hold down
Ctrl and left-click each line). Then right-click one of the lines and select Dene Cable
System from the context sensitive menu. Alternatively, dene the cable system in the Data
Manager by creating a New Object and selecting Other Net Elements Cable System,
and then select the required Cable Denition and Line Elements to represent the Conductor
and Sheath circuits.
84 DIgSILENT PowerFactory 15, User Manual
9.3. DEFINING AND WORKING WITH LINES AND CABLES
Select the Cable Denition dened in step 1 and press Ok twice.
Note that the steps above could be conducted in an alternative order. For example, item 2 could be
completed before 1. Also, item 3 could be completed before item 1, and Cable Types could be created
at the time the Cable System Element is created. However, the recommended approach is to rst dene
the Type data that is to be used in the Network Model, then to create the Network Model with particular
instances of the cable as in the example.
Figure 9.3.3 illustrates the interrelationship between the elements and types used to dene cable sys-
tems inPowerFactory. Note that by right-clicking the line that represents the sheath and selecting Edit
Graphic Object the Line Style can be modied to indicate graphically that this line represents the sheath.
Figure 9.3.3: Example Cable System
DIgSILENT PowerFactory 15, User Manual 85
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
9.3.4 Example Line Couplings
Consider an example where there are two parallel transmission lines, each with a three-phase HV (132
kV) circuit, three-phase MV (66 kV) circuit, and two earth conductors. The tower element is created
within the active project by taking the following steps.
1. Create the Conductor Types (TypCon) for phase and earth conductors:
Navigate to the Equipment Type Library and select the New Object icon, or on the right-hand
side of the data manager right-click and select New Others.
Select Special Types, Conductor Type, and then Ok.
Enter the Type parameters and select Ok. In this example, conductors are dened for HV,
MV, and earth conductors.
2. Create a Tower Geometry Type (TypeGeo):
Again select the New Object icon, or on the right hand side of the data manager right-click
and select New Others.
Select Special Types, Tower Geometry Type, and then Ok.
Enter type parameters for the number of Earth Wires and Line Circuits (in this example, two
earth wires and two line circuits), and the coordinates of the conductors.
3. Create the Network Model:
Add two HV and two MV terminals in the single line diagram (at voltages consistent with the
previously dened conductor types).
Connect two Line Elements between the HV terminals, connect two Line Elements between
the MV terminals, and enter element parameters.
4. Create a Line Couplings Element (ElmTow):
Create a Line Coupling by selecting the four lines drawn in the single line diagram (hold
down Ctrl and left-click each line). Then right-click one of the lines and select Dene
Line Couplings from the context sensitive menu. Alternatively, dene the Line Coupling in
the Data Manager by creating a New Object and selecting Other Net Elements Line
Couplings.
Enter the Number of Overhead Line Systems (in this case, two) select the previously dened
tower Geometries, Earth Wires, Circuits, and Types, and enter element parameters such as
the Distance between the Towers.
Optionally dene a Route so that the single line diagram may be coloured based on the
dened Line Couplings and press Ok.
Note that the steps above could be conducted in an alternative order. For example, item 3 could be
completed before 1 and 2. Also, item 4 could be completed before items 1 and 2, and Conductor
Types and Towers could be created at the time the Line Couplings Element is created. However, the
recommended approach is to rst dene the Type data that is to be used in the Network Model, then to
create the Network Model with particular instances of the lines/towers as in the example.
Figure 9.3.4 illustrates the interrelationship between the elements and types used to dene Line Cou-
plings (Tower Elements) in PowerFactory.
86 DIgSILENT PowerFactory 15, User Manual
9.4. NEUTRAL WINDING CONNECTION IN NETWORK DIAGRAMS
Figure 9.3.4: Example Tower
9.4 Neutral winding connection in network diagrams
PowerFactory offers the user the option to explicitly represent the neutral connections and interconnec-
tions of the following widely used elements:
Power transformers (ElmTr2 and ElmTr3)
Shunt elements (ElmShunt)
DIgSILENT PowerFactory 15, User Manual 87
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
External grids (ElmXnet)
Synchronous (ElmSym) and asynchronous machines (ElmAsm)
Static generators (ElmGenstat)
PV systems (ElmPvsys)
Neutral earthing elements (ElmNec)
The interconnection of separate neutral wires is illustrated with the help of the Synchronous Generator.
A separate neutral connection can be activated by choosing the option N-Connection on the Zero Se-
quence/Neutral Connection tab on the basic data page of the element as shown in gure 9.4.1, the
graphical symbol of the object will change. An illustration for the the Synchronous Generator element is
shown in gure 9.4.2. Please note, once the N-Connection via a separate terminal option is selected,
the Vector Groups layer can no longer be hidden in the single line diagram.
Figure 9.4.1: Zero Sequence/Neutral Connection Tap
Figure 9.4.2: Generator with N-Connection via seperate terminal
To connect the neutral of the Element to a neutral busbar, right click on the element and press Connect
Element. An example of a single line diagram with the interconnection of neutral wires is shown in gure
9.4.3. A Neutral terminal is congured by ensuring that the Phase Technology of the terminal is set to
N as shown in gure 9.4.4.
88 DIgSILENT PowerFactory 15, User Manual
9.4. NEUTRAL WINDING CONNECTION IN NETWORK DIAGRAMS
Figure 9.4.3: Grid with neutral winding connection
Figure 9.4.4: Set neutral Terminal
DIgSILENT PowerFactory 15, User Manual 89
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
9.5 Graphic Windows and Database Objects
In the PowerFactory graphic windows, graphic objects associated with the active study case are dis-
played. 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 congured.
Many of the tools and commands are found in the drop down menus or as buttons in the toolbars, but by
far the most convenient manner of accessing them is to use the right mouse button to display a menu.
This menu is known as a Context Sensitive Menu; PowerFactory evaluates where the tip of your cursor
is, and then presents a menu that is appropriate to the cursor location. Thus cursor position is important
when selecting various menu options. It is important to keep the cursor in place when right-clicking, as
the menu presented is determined from cursor position primarily, and not from the selected or marked
object.
9.5.1 Network Diagrams and Graphical Pages
Four types of graphical pages are used in PowerFactory:
1. Single Line Diagrams (network diagrams) for entering power grid denitions and for showing cal-
culation results.
2. Detailed graphics of substations or branches (similar to network diagrams) for showing busbar
(nodes) topologies and calculation results
3. Block Diagrams for designing logic (controller) circuits and relays.
4. Virtual Instrument Pages for designing (bar) graphs, e.g. for the results of a stability calculation,
bitmaps, value boxes, etc...
The icon Graphical Pages ( ) can be found inside the Data Manager. Grids, substations, branches,
and controller types (common and composite types in PowerFactory terminology) each have a graphical
page. In order to see the graphic on the screen, open a Data Manager and locate the graphic page
object you want to show, click on the icon next to it, right-click and select Show Graphic. The Show
Graphic" option is also available directly from each object. So for example you can select a grid in the
data manager, right-click, and show the graphic. The graphic pages of grids and substations are to be
found in the subfolder Diagrams ( ) under the Network Model" folder.
Note that it is also possible to store Diagrams within the Grid, although this is generally not recom-
mended.
90 DIgSILENT PowerFactory 15, User Manual
9.5. GRAPHIC WINDOWS AND DATABASE OBJECTS
Figure 9.5.1: The Diagrams folder inside the Data Manager
9.5.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 is much like the Summary Grid folder which is
also stored within the Study Case, and links active grids to the Study Case. Both the Graphics Board
and Summary Grid are automatically created and maintained and should generally not be edited by the
user.
Within a PowerFactory project, the Network Model folder contains a sub-folder called Diagrams. This
sub-folder should generally also not be edited by the user as it is automatically created and maintained.
It contains the objects that represent single line and substation graphics (IntGrfnet objects). More
than one graphic (single line or substation diagrams) may be created for a grid, either to display the
different grid elements over several pages, or to display the same grid elements in different graphical
arrangements.
Consider the Project that is shown in Figure 9.5.2. The active study case is called Study Case_1 and
the active grid has three single line graphics that have been created for it, Grid_1, Grid_2 and Grid_3.
The graphics board folder in the study case has a reference to only the Grid_1 graphic object and thus
only this graphic for the grid will be shown when the study case is activated.
In the case of single line graphics, the references in the graphics board folder are created when the
user adds a grid to a study case. PowerFactory will ask the user which graphics of the grid should be
displayed. At any time later the user may display other graphics by right-clicking the grid and selecting
Show Graphic from the context sensitive menu. Graphics may be removed from the active study case
by right-clicking the tab at the bottom of the corresponding graphic page and selecting Remove Page(s).
The study case and graphics board folder will also contain references to any other graphics that have
been created when the study case is active, such as Virtual Instrument Panels.
DIgSILENT PowerFactory 15, User Manual 91
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Figure 9.5.2: Relationship between the study case, graphics board and single line diagrams
9.5.3 Single Line Graphics and Data Objects
In a simple network there may be a 1:1 relationship between data objects and their graphical repre-
sentations, i.e. every load, generator, terminal and line is represented once in the graphics. However,
PowerFactory provides additional exibility 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 repre-
sented graphically on more than one graphic. All graphical representations contain the link to the same
data object.
Furthermore, graphical symbols may be moved without losing the link to the data object they represent.
Likewise, data objects may be moved without affecting the graphic.
The graphics themselves are saved in the database tree, by default in the Diagrams folder of the Network
Model. This simplies nding the correct Single Line graphic representation of a particular grid, even in
the case where there are several graphic representations for one grid.
When the drawing tools are used to place a new component (i.e. a line, transformer, etc.) a new data
object is also created in the database tree. A Single Line Graphic object therefore has a reference
to a grid folder. The new data objects are stored into the target folders that the graphics page are
associated with. This information may be determined by right-clicking the graphic Graphic Options,
see Section 10.5 (Editing Data Objects in the Data Manager) for more information.
Since data objects may have more than one graphic representation the deletion of a graphic object
should not mean that the data object will also be deleted. Hence the user may choose to delete only the
graphical object (right-click menu Delete Graphical Object only). In this case the user is warned that
the data object will not be deleted. This suggests that a user may delete all graphical objects related to
a data object, with the data object still residing in the database and being considered for calculations.
92 DIgSILENT PowerFactory 15, User Manual
9.5. GRAPHIC WINDOWS AND DATABASE OBJECTS
When an element is deleted completely (right menu option Delete Element ) a warning message will
conrm the action. This warning may be switched off in the User Settings dialogue, General page,
Always conrm deletion of Grid Data").
9.5.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 10.5 (Editing Data Objects in
the Data Manager).
Finding specic elements in a large project may be difcult if one had to look through the single line
diagram alone. PowerFactory includes the Mark in Graphic tool, to assist the user in nding elements
within the graphic. To use this tool the user has to rst search for the desired object in the Data Manager
using any of the methods presented in Chapter 10 (Data Manager). Once a searched object/element
is identied, 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 9.5.3. The
menu will be different to that seen when selecting an individual eld, as shown in Figure 9.5.4.
Figure 9.5.3: Selecting an object correctly to Mark in Graphic
DIgSILENT PowerFactory 15, User Manual 93
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Figure 9.5.4: Selecting an object incorrectly to Mark in Graphic
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.
9.5.5 Creating a New Project
A new project may be created by selecting File New on the main menu. This creates a new Project
folder and a dialogue is displayed where the user can dene a grid folder in the Project folder. Finally
the Graphic page in which the single line diagram will be displayed.
9.5.6 Creating New Graphic Windows
A new graphic window can be created using the New command dialogue. This dialogue may be opened
using one of the following methods:
By pressing the icon.
By pressing the keyboard shortcut Ctrl+N.
By selecting from the Insert menu on the main menu.
The ComNew dialogue must be congured to create the desired new object and the new object should
be named appropriately. Ensure that the correct target folder for the new object is selected. Graphical
objects that may be created using this dialogue (DiaPagetyp) are:
Grid Creates a new grid folder and a new Single Line Graphic object in that folder. The (empty)
single line graphic will be displayed.
Block Diagram Creates a new Block Diagram folder in the selected folder and a new Block
Diagram Graphic object. The (empty) block diagram graphic will be displayed.
94 DIgSILENT PowerFactory 15, User Manual
9.5. GRAPHIC WINDOWS AND DATABASE OBJECTS
Virtual Instrument Panel Creates a new Virtual Instrument Page object. The (empty) Virtual
Instrument Page will be displayed.
Single Line Diagram Creates a Single Line Graphic in the target folder. Before the graphic is
inserted, the user is prompted to select the relevant grid.
The target folder will be set to the \User folder by default, but may be changed to any folder in the
database tree. The new grid, Block Diagram or Virtual Instruments folder will be created in the target
folder.
In all cases, a new graphics board object is also created, because graphic pages can only be shown as
a page in a graphics board. An exception is the creation of a new page, while in a graphics board. This
can be done by pressing the icon on the graphics board toolbar. This will add the new graphics page
to the existing graphics board.
Further information about how to draw network components is given in the following sections.
9.5.7 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. Specic behaviour and functionality of the
graphic windows themselves are described other sections of the manual.
9.5.8 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 only available
for virtual instrument panels.
9.5.9 Drawing Toolboxes
Each graphics window has a specic Drawing Tool Box. This toolbox has buttons for new network
symbols and for non-network symbols. See Figure 9.5.5 for two examples.
DIgSILENT PowerFactory 15, User Manual 95
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
(a) Single Line Diagrams (b) Block Diagrams
Figure 9.5.5: Drawing Toolbox examples
The toolboxes have:
Network or block diagram symbols, which are linked to a database object: terminals, busbars,
lines, transformers, switches, adders, multipliers, etc.
Graphical add-on symbols: text, polygons, rectangles, circles, etc.
The toolboxes are only visible when the graphics freeze mode is off. The graphics freeze mode is turned
on and off with the icon (found at the main icon bar of the graphical window).
9.5.10 Active Grid Folder (Target Folder)
On the status bar of PowerFactory (Figure 9.5.6), the active grid folder is displayed on the left-most eld,
indicating the target folder (grid) that will be modied when you make changes in the network diagram.
To change the active target folder, double-click this eld and then select the desired target folder. This
can be useful if the user intends to place new elements on a single line diagram, but have the element
stored in a different grid folder in the data manager.
Figure 9.5.6: The Status Bar
9.6 Drawing Diagrams with Existing Network Elements
This section provides information about how to draw network components from existing objects.
Designing new (extensions to) power system grids, is preferably done graphically. This means that the
new power system objects should be created in a graphical environment. After the new components
96 DIgSILENT PowerFactory 15, User Manual
9.6. DRAWING DIAGRAMS WITH EXISTING NETWORK ELEMENTS
are added to the design, they are edited, either from the graphical environment itself (by double-clicking
the objects), or by opening a database manager and using its editing facilities.
It is however possible, to rst create objects in the database manager (either manually, or via import
from another program), and subsequently draw these objects in one or more single line diagrams.
PowerFactory allows for this either by drag and drop facilities to drag power system objects from the
data manager to a graphic window, or by the Draw Existing Net Elements tool. The way this is done is
as follows:
1. Select from the drawing tools toolbox the type of object that is to be drawn in the graphic.
2. Enable the drag & drop feature in the data manager by double-clicking the drag & drop message
in the message bar.
3. Select the data object in the data manager by left clicking the object icon.
4. Hold down the left mouse button and move the mouse to the graphic drawing area (drag it).
5. Position the graphical symbol in the same way as is done normally.
6. A new graphical symbol is created, the topological data is changed, but the graphical symbol will
refer to the dragged data object. No new data object is created.
The Draw Existing Net Elements tool may also be used to perform this action, as described in the next
sections.
9.6.1 Drawing Existing Busbars
Click on the button Drawing existing Net Elements ( ) and a window with a list of all the terminals
(busbars) in the network that are not visualized in the active diagram will appear.
Click on the symbol for busbars ( ) in the drawing toolbox. The symbol of the busbar (terminal) is now
attached to the cursor.
If the list is very large, press the button Adjacent Element Mode ( ), and then right-click an existing
node in the single line diagram and select Set as starting node. This activates the selecting of distance
(number of elements) from elements in the active node. Select the Distance of 1 in order to reduce the
number of busbars (terminals) shown.
If the button Use drawn nodes as starting objects ( ) is also selected, the list will be ltered based on
all drawn nodes (not just a single starting node).
If Show elements part of drawn composite nodes ( ) is selected, elements internal to already drawn
composite nodes will be shown in the list. However, since they are already drawn as part of the com-
posite node, they should not be re-drawn.
The marked or selected element can now be visualized or drawn by clicking somewhere in the active
diagram. This element is drawn and disappears from the list.
Note that the number of elements in the list can increase or decreases depending on how many el-
ements are a distance away from the element lastly drawn. Scroll down the list, in case only certain
elements have to be visualized.
Close the window and press Esc to return the Cursor to normal. The drawn terminals (busbars) can be
moved, rotated or manipulated in various ways.
DIgSILENT PowerFactory 15, User Manual 97
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
9.6.2 Drawing Existing Lines, Switches, and Transformers
Similar to the busbars, elements like lines and transformers connecting the terminals in the substation
can be drawn.
Press the button Draw Existing Net Elements ( ). For lines select the line symbol ( ) from the drawing
toolbox, for transformers select the transformer symbol ( ), and so on.
Similar to terminals, a list of all the lines (or transformers, or elements which have been chosen) in the
network, that are not in the active diagram are listed. Reduce the list by pressing the button Elements
which can be completely connected ( ) at the top of the window with the list. A list of lines with both
terminals in the active diagram is pre-selected. If the list is empty, then there are no lines connecting
any two unconnected terminals in the active diagram.
For each selected line (or transformers...) a pair of terminals, to which the line is connected is marked
in the diagram. Click on the rst terminal and then on the second. The selected line is drawn and is
removed from the list of lines.
Continue drawing all lines (or transformers...), until the list of lines is empty or all the lines to be drawn
have been drawn. If a branch cannot be completely drawn (for example, when the terminal at only one
end of a line is shown on the diagram), it is possible to double-click the diagram and arrows will appear
to indicate that the line connects to a terminal that is not shown. Figure 9.6.1 provides an illustration.
Figure 9.6.1: Illustration of single line diagram connectivity
9.6.3 Building Single Line Diagrams from Imported Data
When a power system model is imported from DGS format that includes graphical information or GIS
data, single line diagram/s will automatically be created. However, if a model is imported from another
program it may only include network data (some data converters provided in PowerFactory do also
import graphics les). Even without a single line diagram, it is possible to perform load-ow and other
calculations, and new single line diagram can be created by drawing existing database elements.
This is done by rst creating a new single line graphic object in the Diagrams folder of the Network Model
(right-click the Diagrams folder and select New Graphic). This opens the single line graphic dialogue,
where the Current Net Data pointer should be set to the respective grid folder. See Section 9.7 for more
information.
As soon as the correct folder has been set, and OK has been pressed, the single line graphic object ( )
is created and a blank graphic page will be displayed. The Draw Existing Net 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 9.6.2) and which have not yet been inserted into the new single
line graphic.
This list may be ltered to show only particular grids or all grids by using the drop down window (Fig-
ure 9.6.2, red square) provided. Once a drawing tool is chosen, in this case the Terminal tool, the list is
further ltered to show only terminals, as can be seen in the example. When the user now clicks on the
graphic the highlighted terminal (in the browser, Figure 9.6.2) will be removed from the list and placed
onto the graphic, and the next terminal down will be highlighted, ready for placement.
98 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
Figure 9.6.2: Using the Draw Net Elements tool
After all busbars have been inserted into the single line graphic, branch elements may be selected in
the graphic toolbox. When one of the branch elements is selected in the browser, the corresponding two
busbars will be highlighted in the single line graphic. This is also why the nodes should rst be placed
on the graphic. Branch elements are placed once the nodes are in position.
See also:
9.6.1: Drawing Existing Terminals
9.6.2: Drawing Existing Lines, Switches, and Transformers
Note: Another useful approach to developing single line diagrams is to rst dene a feeder (say, at
the cubicle closest to the source node), then run a load-ow, navigate to the feeder in the data
manager, right-click and select Show Schematic visualization by Distance or Bus Index. See
Section 13.5 (Feeders) for further information on how to dene feeders.
Note: Before placing elements onto the graphic users may nd it useful to congure and display a
background layer. This will be an image of an existing single line diagram of the system. It may be
used to trace over so that the PowerFactory network looks the same as current paper depictions;
see Section 9.7.4 for more information on layers.
9.7 Graphic Commands, Options, and Settings
In this section the commands, options and settings that are available in PowerFactory to congure and
use the graphic windows are introduced. The sub-sections of this chapter are divided as illustrated in
Figure 9.7.1.
Figure 9.7.1: Categories of graphic commands, options, and settings
DIgSILENT PowerFactory 15, User Manual 99
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
9.7.1 Zoom, Pan, and Select Commands
Figure 9.7.2 shows the commands available for zooming, panning, and selecting. These commands
are also available from the main menu under View. The commands are described below.
Figure 9.7.2: Zoom, Pan, and Select Commands
Freeze Mode:
Locks the diagram from graphical changes, no network elements can be added or deleted. Note that
the status of switches can still be modied when freeze mode is on.
Zoom In:
Press the Zoom In icon to change the cursor to a magnifying glass. The mouse can then be clicked and
dragged to select a rectangular area to be zoomed. When the frame encompasses the area you wish
to zoom into release the mouse button. Alternatively, Ctrl+- and Ctrl++ keys can be used to zoom in
and out, or Ctrl and the mouse scroll wheel.
Note: The Acceleration Factor for zooming and panning can be changed on the second page of the
Graphic Window page in User Settings.
Zoom Back:
To zoom back" press the Zoom Out button - this will step the zoom back to the last state.
Zoom All:
Zooms to the page extends.
Zoom Level:
Zooms to a custom or pre-dened level.
Hand Tool:
Use the hand tool to pan the single line diagram (when not at the page extends). Alternatively, the
mouse scroll wheel can be used to scroll vertically, and Ctrl+Arrow keys used to scroll vertically and
horizontally. When zoomed to the extent of the page, the tool will automatically switch to either Rectan-
gular Selection or Free-form Selection.
Rectangular Selection:
Used to select a rectangular section of the single line diagram. Note that this icon is generally depressed
when using the mouse pointer for other tasks, such as selecting Menu items, however the Hand Tool
or Free-form Selection may also be used.
100 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
Free-form Selection:
Used to select a custom area of the single line diagram.
DIgSILENT PowerFactory 15, User Manual 101
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Mark All Elements:
This function marks (selects) all objects in the single line diagram. This is helpful for moving the whole
drawing to another place or copying the whole drawing into the clipboard. In block diagrams the sur-
rounding block will not be marked. The keyboard short cut Ctrl+A may also be used to perform this
action.
9.7.2 Page, Graphic, and Print Options
Figure 9.7.3 shows the page, graphic, and print options buttons available. These commands are dis-
cussed in this section, as well as some commands available through the page tab menu.
Figure 9.7.3: Page, Graphic, and Print Options
Print: This function will send the graphic to a printer. A printer dialogue will rst appear.
Also accessed through:
Main Menu: File Print
Keyboard: Ctrl+P
Drawing Format: The drawing area for single line diagrams, block diagrams and virtual instruments is
modied in the Drawing Format" dialogue. A predened paper format can be selected as-is, edited, or
a new format be dened. The selected paper format has Landscape orientation by default and can be
rotated by 90 degrees by selecting Portrait. The format denitions, which are shown when an existing
format is edited or when a new format is dened, 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 ts 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 t 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:
102 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
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.
Also accessed through:
Main Menu: File Page Setup
Rebuild:
The drawing may not be updated correctly in some circumstances. The rebuild function updates the
currently visible page by updating the drawing from the database.
Also accessed through:
Main Menu: Edit Rebuild
Right-Click: Drawing Rebuild
Insert New Graphic:
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 congure the new graphics object will appear rst.
Also accessed through:
Page Tab Menu: Insert Page Create New Page
Note: The Page Tab menu is opened by right-clicking a page tab, shown just below the single line dia-
gram.
Insert Existing Graphic:
Inserts existing graphics, which may be one of the following:
Graphic folder object (IntGrfnet, single line network or substation diagrams) opens the se-
lected graphic.
Terminal (ElmTerm, ) opens the station graphic of the selected terminal (this may also be ac-
cessed by right-clicking the terminal in a Data Manager, or a terminal on the single line graphic
Show Station Graphic.
Block Denition (BlkDef, ) The graphic of the block denition is opened. If there is no graphic
dened for the block denitions the command is not executed
Virtual Instrument Panels (SetVipage) A copy of the selected virtual instrument panel is created
and displayed.
Graphic folder objects (IntGrfnet ) may be opened in more than one Graphics Board at the same time,
even more than once in the same Graphics Board. Changes made to a graphic will show themselves
on all pages on which the graphic object is displayed.
Also accessed through:
Page Tab Menu: Insert Page Open Existing Page
Other Page Commands:
Other page commands accessed through the Page Tab Menu are as follows:
Remove Page:
This function will remove the selected graphic from the Graphics Board. The graphic itself will not be
deleted and can be re-inserted to the current or any other Graphics Board at any time.
DIgSILENT PowerFactory 15, User Manual 103
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Rename Page:
This function can be used to change the name of the selected graphic.
Move/Copy Page(s):
This function can be used to move a page/s to modify the order of graphics.
Also accessed through:
Mouse Click: Left-click and select a single page (optionally press control and select multiple
pages) and drag the page/s to change the order graphics are displayed.
Data Manager: (Advanced) Modify the order eld of Graphics Pages listed within the Study Case
Graphics Board. To reect the changes, the study case should be deactivated and then re-
activated.
9.7.3 Graphic Options
Each graphic window has its own settings, which may be changed using the Graphic Options function
( ).
9.7.3.1 Basic Attributes page:
This function presents a dialogue for the following settings. See Figure 9.7.4.
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 modied. The drawing toolboxes are not
displayed and the freeze icon becomes inactive.
Snap Snaps the mouse onto the drawing raster.
Grid Shows the drawing raster using small points.
Ortho-Type Denes 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 rst 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 Denes the length of a connection when a branch symbol is drawn
by clicking on the busbar/terminal. This is the default distance from the busbar/terminal in grid points.
Allow Individual Line Style Permits the line style to be set for individual lines. The individual style may
be set for any line in the graphic by right-clicking the line Set Individual Line Style. This may also be
performed for a group of selected lines/cables in one action, by rst multi selecting the elements.
104 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
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 dened by selecting the corre-
sponding option in the right mouse menu (may also be performed for a group of selected lines/cables in
one action).
Figure 9.7.4: Graphic Options dialogue
Text Boxes page:
Boxes of Object Names - Background Species 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 Species the transparency of result boxes (as boxes of object names).
Always show result boxes of detailed couplers Self-explanatory.
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 dened reference will be used.
DIgSILENT PowerFactory 15, User Manual 105
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
9.7.3.2 Switches page:
Cubicle representation Selects the switch representation (see Figure 9.7.5):
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).
Figure 9.7.5: 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 simplied substation representation Denes how the
connection points on busbars are represented in busbar systems.
Additional Attributes and Coordinates pages should generally only be congured with the assistance
of DIgSILENT support staff. Note that if Use Scaling Factor for Computation of Distances is selected
on the Coordinates page, it is possible to calculate the length of lines on the Single Line Graphic by
right-clicking and selecting Measure Length of Lines.
Also accessed through:
Right-click: Graphic Options
Note: The settings for the cursor type for the graphic windows (arrow or tracking cross) may be set
in the User Settings dialogue, see Section 7.2 Graphic Windows Settings. This is because the
cursor shape is a global setting, valid for all graphic windows, while all graphic settings described
above are specic for each graphic window.
9.7.4 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 dened in the Graphical Layers dia-
logue, accessed through the main toolbar ( ), by right-clicking on an empty spot of the graphic area
106 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
Show Layer, or selecting View Layers from the main menu. The layers dialogue has a Visibility"
page to determine which layers will be visible, and a Conguration" page to dene various attributes
for the layers. See Figure 9.7.6.
In Figure 9.7.6, the layers in the left pane (Base Level, Object Names, Results, etc.) are visible in the
graphical window. The layers in the right pane are invisible. Layers can be made visible by multi select-
ing 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 dene user-specic
layers, by pressing the New button.
Figure 9.7.6: Graphical layers dialogue (SetLevelvis)
The layers existing in PowerFactory are described in Table 9.7.1.
Each graphic symbol in a single line diagram or block diagram is assigned to default layer at rst. 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 specic junction node), or when user dened layers are used.
Note: Certain names and results boxes are, by default, assigned to the Invisible Objects layer. An ex-
ample are the names and results boxes for point terminals. This is done to unclutter the graphic.
Should the user wish to display names and/or results boxes for certain Junction / Internal nodes
simply make the Invisible Objects layer visible and re-assign the names and results boxes re-
quired to another layer, such as the Object Names or Results layers - then make the Invisible
Objects layer invisible once more.
The Conguration page has a drop down list showing all layers that may be congured by the user.
Considering the Object Names layer as shown in Figure 9.7.7, it may be seen that a target (or focus)
may be set. The selected target will be the focus of the performed conguration command. Various
actions or settings may be performed, such as e.g. changing the font using the Change Font button.
The conguration page may also be used to mark (select/ highlight) the target objects in the graphic
using the Mark button.
The options available to congure a layer depend on the type of Layer. Table 9.7.1 shows for each layer
in which way its content can be changed in format.
DIgSILENT PowerFactory 15, User Manual 107
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Figure 9.7.7: Graphical layers conguration 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 rst 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 layer, that layer may be invisible.
Layer visibility should be inspected and changed if required.
Layer Content
Conguration
Options
Diagram Type
SL Single Line
B Block
Base Level
Symbols for the elements
of the grid
Text/Box For-
mat
SL/B
Object
Names
Boxes with names and
additional data descrip-
tion, if congured
Text/Box For-
mat
SL/B
Results
Boxes with calculation re-
sults
Text/Box For-
mat
SL/B
108 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
Layer Content
Conguration
Options
Diagram Type
SL Single Line
B Block
Connection
Points
Dots at the connections
between edges and bus-
es/terminals and signal
connections to blocks
Text/Box For-
mat
SL/B
Device Data
Additional Text explana-
tion given in the device
symbol
Text/Box For-
mat
SL/B
Invisible
Objects
Layer containing the sym-
bols of elements hidden
by default
Text/Box For-
mat
SL/B
Background
Graphic used as the
background ( Swallpa-
per

T) to allow easier
drawing of the diagram or
to show additional infor-
mation (map information)
Name of le
with graphics
(WMF, DXF,
BMP, JPEG,
PNG, GIF,
TIF)
SL/B
Numbers of
connection
lines
Number of lines for each
connection
Text/Box For-
mat
SL
Sections
and Line
Loads
Symbols at lines consist-
ing of sections and/or
where line loads are con-
nected
Text/Box For-
mat
SL
Connection
Arrows
Double-Arrow at connec-
tions where the end point
is not represented in the
current diagram.
Text/Box For-
mat
SL
Tap Posi-
tions
Positions of taps for
shunts and transformers
Text/Box For-
mat
SL
Vector
Groups
Vector group for rotating
machines and transform-
ers
Text/Box For-
mat
SL
Direction
Arrows
Arrows that can be cong-
ured for active and reac-
tive power ow represen-
tation
Active/Reactive
Power for di-
rect/ inverse/
homopolar
system
SL
Phases
Number of phases of a
line/cable, shown as par-
allel lines
Text/Box For-
mat
SL
Connection
Numbers
Index of each possible
block connection point
Text/Box For-
mat
B
Connection
Names
Name of each unused
connection of a block
Text/Box For-
mat
B
Signals
Name of the signal trans-
mitted
Text/Box For-
mat
B
Block De-
nition
Denition each block is
based on
Text/Box For-
mat
B
DIgSILENT PowerFactory 15, User Manual 109
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Layer Content
Conguration
Options
Diagram Type
SL Single Line
B Block
Remote
Controlled
Substa-
tions
Remote Controlled Sub-
stations
Colour SL
Annotations Annotations in the graphic
Text/Box For-
mat
SL
Table 9.7.1: Diagram Layers of PowerFactory
9.7.5 Element Options
Figure 9.7.8 shows the commands available for zooming, panning, and selecting.
Figure 9.7.8: Element options
Edit and Browse Data:
This option lets the user edit the device data of all marked objects in the drawing. If only one object
is marked, then this objects edit dialogue will be displayed. When more than one object is marked,
the Data Manager window will show the list of marked objects. As with a normal Data Manager, these
objects can be double-clicked to open their edit dialogues. See Chapter 10 (Data Manager) for more
information.
Note: Changes made in the device data of objects are not registered by the graphical Undo Function.
Undoing these changes is therefore not possible.
Also accessed through:
Right-click: Edit and Browse Data
Note: To edit data for a single element, double-click the element, or select the element and press
Alt+Return.
Delete Element:
This function deletes all marked objects in the diagram. The database objects for the graphical object
will also be deleted (a warning message will pop up rst - this may be switched off in the User Settings"
dialogue; see Section 7.2 (Graphic Windows Settings).
110 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
Also accessed through:
Right-click: Delete
Keyboard: Del
Note: To delete graphical objects only, right click the selected element/s and select Delete Graphical
Object only.
Cut:
This function cuts the marked objects in the diagram. Objects can then later be pasted as discussed
below.
Also accessed through:
Right-click: Cut
Keyboard: CTRL+X
Copy:
Copies all marked objects from the current drawing and puts them into the clipboard.
Also accessed through:
Right-click: Delete
Keyboard: CTRL+C
Paste:
Copies all objects from the clipboard and pastes them into the current drawing. The objects are pasted
at the current graphical mouse position. Objects that are copied and pasted create completely new
graphic and data objects in the graphic that they are pasted into.
Also accessed through:
Right-click: Paste
Keyboard: CTRL+V
Note: If you wish to copy and paste just the graphic, then choose Paste Graphic Only from the right-
click menu. Similar results are obtained when using the Draw Existing Net Elements" tool (see
Section 9.6: Drawing Diagrams with Existing Network Elements).
Note: The undo command undoes the last graphic action and restore deleted elements, or deletes cre-
ated elements. Note that data that has been deleted or changed will not be restored. The undo
command is accessed through the undo icon ( ), by right-clicking and selecting Undo, or by
pressing Ctrl+Z.
Reconnect Element:
Disconnects the selected elements and then presents the element for immediate re-connection. The
branch to be connected will be glued to the cursor. Left clicking a bar or terminal will connect the
element.
Also accessed through:
Right-click: Reconnect Element
Note: Elements can also be disconnected and connected by selecting right-clicking and selecting Dis-
connect or Connect.
DIgSILENT PowerFactory 15, User Manual 111
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Other Commands:
Rotate: Right-click selection and Rotate to rotate symbols clockwise, counter-clockwise, or 180 de-
grees. It is generally preferable to disconnect an element before rotating it.
Disconnect:
Right-click and select Disconnect to disconnect the selected element/s.
Connect:
Right-click and select Connect to connect an element.
Redraw:
Right-click and select Redraw to redraw a selected element.
Move:
Marked objects can be moved by left clicking them and holding down the mouse button. The objects
can be moved when the cursor changes to an arrowed cross ( ). Hold down the mouse button and
drag the marked objects to their new position. Connections from the moved part of the drawing to other
objects will be adjusted.
Edit Line Points:
Right-click and select Edit Line Points will show the black squares (line points) that dene the shape
of the connection. Each of these squares can be moved by left clicking and dragging them to a new
position (see Figure 9.7.9). New squares can be inserted by left clicking the connection in between
squares. 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.
Figure 9.7.9: Editing line points
112 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
9.7.6 Graphic Attributes and Options
Figure 9.7.10 shows the commands available for zooming, panning, and selecting.
Figure 9.7.10: Graphic Attributes and Options
9.7.6.1 Select Graphic Attributes:
This dialogue sets the line style, line width, brush style, colour and font, for annotations (i.e. not for
power system elements).
The line style includes several kinds of dashed or dotted lines and one special line style: the TRUE
DOTS style. This style will only put a dot at the actual coordinates. In a single line 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 ll solid symbols like squares and circles. These settings may also be
accessed by simply double-clicking an annotation.
9.7.6.2 Diagram Colouring:
The single line graphic window has an automatic colour representation mode. The Diagram Colouring
icon on the local toolbar will open the diagram colouring representation dialogue (alternatively, select
View Diagram Colouring on the main menu). This dialogue is used to select different colouring
modes and is dependent if a calculation has been performed or not. If a specic calculation is valid,
then the selected colouring for that calculation is displayed.
The Diagram Colouring has a 3-priority level colouring scheme also implemented, allowing colouring
elements according to the following criteria: 1
st
Energizing status, 2
nd
Alarm and 3
rd
Normal" (Other)
colouring.
Energizing Status If this check box is enabled De-energized" or Out of Calculation" elements
are coloured according to the settings in the Project Colour Settings". The settings of the De-
energized" or Out of Calculation" mode can be edited by clicking on the Colour Settings button.
Alarm If this check box is enabled a drop down list containing alarm modes will be available. It
is important to note here that only alarm modes available for the current calculation page will be
listed. If an alarm mode is selected, elements exceeding" the corresponding a limit are coloured.
Limits and colours can be dened by clicking on the Colour Settings button.
Normal" (Other) Colouring Here, two lists are displayed. The rst list will contains all available
colouring modes. The second list will contain all sub modes of the selected colouring mode. The
settings of the different colouring modes can be edited by clicking on the Colour Settings button.
DIgSILENT PowerFactory 15, User Manual 113
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Every element can be coloured by one of the three previous criteria. Also, every criterion is optional and
will be skipped if disabled. Regarding the priority, if the user enables all three criterion, the hierarchy
taken account will be the following:
Energizing Status" overrules the Alarm" and Normal Colouring" mode. The Alarm" mode over-
rules the Normal Colouring" mode.
The graphic can be coloured according to the following listed below. Availability of some options will
depend on the Function that is selected (e.g. Voltage Violations does not appear when the Basic Data
page is selected, but does when the Load Flow page is selected).
Energizing Status:
De-energized
Out of Calculation
Alarm:
Feeder Radiality Check (Only if Feeder is supposed to be operated radially" is selected).
Outages
Overloading of Thermal/Peak Short Circuit Current
Voltage Violations/Overloadings
Normal" (Other) Colouring:
Results
Average Interruption Duration
Fault Clearing Times
Load Point Energy Not Supplied
Loading of Thermal / Peak Short-Circuit Current
State Estimator
Voltages / Loading
Yearly interruption frequency
Yearly interruption time
Incident Energy
PPE - Category
Topology
Boundaries (Denition)
Boundaries (Interior Region)
Connected Components
Connected Components, Voltage Level
Connected Grid Components
Energizing Status
Feeders
Missing graphical connections
Outage Check
114 DIgSILENT PowerFactory 15, User Manual
9.7. GRAPHIC COMMANDS, OPTIONS, AND SETTINGS
Station Connectivity
Station Connectivity (Beach Balls only)
Supplied by Secondary Substation
Supplied by Substation
System Type AC/DC and Phases
Voltage Levels
Primary Equipment
Cross Section
Forced Outage Duration
Forced Outage Rate
Year of Construction
Secondary Equipment
Measurement Locations
Power Restoration
Relays, Current and Voltage Transformers
Switches, Type & Usage
Groupings (Grids, Zones, Areas...)
Areas
Grids
Meteo Stations
Operators
Owners
Paths
Routes
Zones
Variations / System Stages
Modications in Recording Expansion Stage
Modications in Variations / System Stages
Original Locations
User-dened
Individual
An illustration of diagram colouring options is shown in Figure 9.7.11. In this case, the Voltage Colouring
Mode is set to Voltage Drop and Rise, under Colour Settings. Also, the Colouring scheme for voltages
and loading is set to Continuous on the Advanced tab.
DIgSILENT PowerFactory 15, User Manual 115
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Figure 9.7.11: Illustration of diagram colouring
9.7.6.3 Show Title Block:
The title block can be turned on and off from the single line diagram toolbar ( ) or the View menu.
The title block is placed in the lower right corner of the drawing area by default, see Figure 9.7.12 for an
example.
Figure 9.7.12: Single line title mask
The contents and size of the title mask can be changed by right-clicking the title block and selecting
the Edit Data option from the context sensitive menu. The Select Title dialogue that pops up is used to
scale the size of the title block by setting the size of the block in percent of the default size. The font
used will be scaled accordingly. To edit the text in the title block press the edit button ( ) for the Title
Text eld. All text elds have a xed format in the title block. The data and time elds may be chosen as
automatic or user dened. Most text elds are limited to a certain number of characters. When opening
a new graphic the title will appear by default.
116 DIgSILENT PowerFactory 15, User Manual
9.8. EDITING AND CHANGING SYMBOLS OF ELEMENTS
9.7.6.4 Show Legend Block:
The legend block can be turned on and off from the single line diagram toolbar ( ), or from the View
menu. The legend block describes the contents of result boxes (for information about result boxes
see 9.9).
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 denitions, it may be required to manually resize the
legend box in order to show all result box legends.
The Legend Box denition 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 congured. When opening a new
graphic the legend will appear by default.
9.7.6.5 Colour Legend Block:
The colour legend block can be turned on and off from the single line diagram toolbar ( ), or from the
View menu. The legend updates automatically based on the colouring options selected.
9.7.7 Node Default Options
Figure 9.7.13 shows the commands available for setting node default options. These are discussed in
further detail in this section.
Figure 9.7.13: Node default options
Default Voltage Levels for Terminals and Busbars:
The default voltage level for terminals can be set in this eld. New terminals placed on the single line
diagram will have this voltage (e.g. 110 kV, 0.4 kV).
Default Phase Technologies for Terminals:
The default phase technology for terminals can be set in this eld. New terminals placed on the single
line diagram will be of this type (e.g. three-phase ABC, one-phase, DC, etc.).
9.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, then either:
Select Edit Graphic Object from the context sensitive menu in order to edit the symbol of the
element. Note that colour changes will only be displayed if Other User-dened is selected in
the Diagram Colouring options.
DIgSILENT PowerFactory 15, User Manual 117
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Select Change Symbol from the context sensitive menu in order to use a different symbol for the
element. PowerFactory supports user-dened symbols as Windows-Metale (

.wmf) and Bitmap


(

.bmp) les.
For additional information refer to Appendix F (Element Symbol Denition).
9.9 Results Boxes, Text Boxes and Labels
PowerFactory uses results boxes, text boxes, and labels in the Single Line Diagramto display calculation
results and other useful information. Figure 9.9.1 illustrates how these can be shown in the Single Line
Diagram.
Figure 9.9.1: Results boxes, text boxes, and labels available in PowerFactory
9.9.1 Results Boxes
General:
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-ow, 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 denition. This form denition,
and the PowerFactory output language that is used to dene it, allows for the display of a wide range of
calculated values, object parameters, and even for colouring or user dened 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 xed size font. This is depicted in Figure 9.9.1. The result box balloon always states the
name of the variable, and may thus also be used as a legend.
118 DIgSILENT PowerFactory 15, User Manual
9.9. RESULTS BOXES, TEXT BOXES AND LABELS
Reference points:
A result box is connected to the graphical object for which it displays the results by a reference point.
Figure 9.9.1 shows the default reference points for the resultbox of a terminal. A reference point is a
connection between a point on the result box (which has 9 optional points), and one of the docking
points of the graphical object. The terminal has three docking points: on the left, in the middle and on
the right. The reference point can be changed by:
Right-clicking the resultbox with the graphics cursor (freeze mode off), and selecting Change
Reference Points.
The reference points are shown: docking points in green, reference points in red. Select one of
the reference points by left-clicking it.
Left-click the selected reference point, and drag it to a red docking point and drop it.
An error message will result if you drop a reference point somewhere else than on a docking point.
Result boxes can be freely moved around the diagram. They will remain attached to the docking point,
and will move along with the docking point. A result box can be positioned back to its docking point by
right-clicking it and selecting Reset Settings from the menu.
If the option Reset textboxes completely" is set in the graphical settings, then the default reference
and docking points will be selected again, and the result box is moved back to the default position
accordingly.
Editing Results 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 denition is used.
A newly installed version of PowerFactory has pre-dened result box formats for all object groups. These
default formats cannot be changed, however the user may dene 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 predened 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 predened formats for an specic 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 predened formats for the element class
Asynchronous Machine (ElmAsm). The selected format will in this case apply only to the visualized
asynchronous machines.
If the user wants to create a specic format that is different from the pre-dened 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 specic element, then the Create Textbox option
should be used. An additional results box/ textbox will be created, using the current format for the object.
This may then be edited. Information about text boxes is given in 9.9.2.
When the Edit Format option has been selected the user can modify the variables and how are they
showed as described Chapter 17: Reporting and Visualizing Results, Section 17.2.1: Editing Result
Boxes.
DIgSILENT PowerFactory 15, User Manual 119
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
Formatting Results Boxes:
Result boxes can be formatted by means of the context sensitive menu (right-clicking the desired result
box). The available options include:
Shift to layer (see 9.7.4).
Rotate the result box.
Hide the results box.
Change the font type and size of the text.
Change the width.
Set the text alignment.
Adapt width
Change reference points.
Set the default format (Reset Settings, only available after changes have been made).
Resetting Calculation Results:
When pressed, the Reset Calculation icon ( ) will clear the results shown on the Single Line Diagram.
By default, PowerFactory will also clear the calculation results when there is a change to network data
or network conguration (such as opening a switch). However, if Retention of results after network
change is set to Show last results in the User Settings (see Section 7.1: General Settings), results will
appear in grey on the Single Line Diagram and on the Flexible Data tab until the calculation is reset,
or a new calculation performed. Reset Calculation can also be accessed from the main menu under
Calculation.
9.9.2 Text Boxes
As mentioned before, text boxes are used to display user dened variables from a specic 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 de-
scribed in 9.9.1. In this case after right-clicking the text box, the option Edit Format should be selected.
By default the text boxes are graphically connected to the referred object by means of a line. This con-
nection line can be made invisible if the option show line from General Textboxes.... from the Result
Boxes page of the Graphic Option dialogue (9.7.3, Figure 9.7.4) is disabled.
9.9.3 Labels
In the general case, a label showing the name of an element within the single line graphic is automat-
ically created with the graphical objects (see Figure 9.9.1). The label can be visualized as a text box
showing only the variable corresponding to the name of the object. As for text boxes, the format of
labels can be set using the context sensitive menu.
9.9.4 Free Text Labels
Free Text Labels (see Figure 9.9.1) can be anchored to an element on the single line diagram, and used
to display custom text. The are created by right-click and selecting Create Free Text Label.
120 DIgSILENT PowerFactory 15, User Manual
9.10. ANNOTATION LAYER
9.10 Annotation Layer
The Annotation Layer function offers the user the opportunity to include additional graphical information
in one or more congurable layers in the single line diagram. Examples include:
Built in graphical annotation elements
text
icons (bitmap les)
To draw the Elements in the single line diagram the user has to activate the Freeze Annotation Layer
button in the upper right corner (marked in gure 9.10.1).
Figure 9.10.1: Geographical diagram example
The activation of the annotation layer deactivates the selection of power system elements and activates
the selection of annotation elements. By selecting an annotation element, the user can place it in
the single line diagram. In Addition, the user can choose a *.bmp le as a background image. The
annotation elements are as follows:
graphical annotation
Line:
Polyline:
Arrow:
Polyline with arrow:
Polygon:
Rectangle:
Circle:
Pie:
Arc:
DIgSILENT PowerFactory 15, User Manual 121
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
text:
icons (bitmap les):
It is possible to create multiple annotation layers. To do this, the user should click on the button
and then select the Annotation Layer tab from the Visibility page (see gure 9.10.2). Alternatively, this
dialogue can be accessed by right clicking on the single line diagram and select Layers.... A new layer
can be created by pressing the edit layers button as illustrated in gure 9.10.2 and the by pressing the
icon ( ). The new layer should be given an appropriate name.
Figure 9.10.2: Layer overview
The newly created layers can be made visible or invisible by clicking or in the dialogue shown
in gure 9.10.2. The Network Elements layer can not be hidden, since it contains the fundamental
Elements of the diagram which are to be annotated.
To edit a particular layer the layer has to be selected in the drop-down menu shown in the Layer Edit
Modes section of the dialogue.
Drawing sequence of Layers
If annotation layers are drawn on top of each other the sequence in which the layers are drawn becomes
important. The sequence of the layers can be changed by dragging them to a higher or lower position
in the Visibility/Order list shown in gure 9.10.2. The rst entry in the list will be displayed as the upper
layer of the diagram. Layers can be given a higher entry in the list than the Network Elements layer and
this will be reected in the graphic.
Export graphical layer
122 DIgSILENT PowerFactory 15, User Manual
9.11. ANNOTATION OF PROTECTION DEVICE
To export a graphical layer the user should press the Edit Layers Button as shown in gure 9.10.2. In
the following Window a list of all the available layers is shown. The user can export the layer as an *.svg
le as shown in gure 9.10.3.
Import graphical layer
To import a graphical layer, the user should select the Edit Layers button. By creating a new layer with
( ), it is possible to Import an existing layer as shown in (gure 9.10.4).
Figure 9.10.3: Layer overview
Figure 9.10.4: New Layer
9.11 Annotation of protection device
The functionality of adding a protection device into the single line diagram is shown in section 39.2.2.
DIgSILENT PowerFactory 15, User Manual 123
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
9.12 Geographical Diagrams
In PowerFactory it is possible to specify terminal GPS coordinates, and automatically generate Geo-
graphical Diagrams. GPS coordinates (latitude and longitude) are entered on the Description page of
terminals and lines. This is on the Geographical Coordinates tab. Once GPS coordinates are entered,
a single geographical diagram can be created by either:
Opening the Data Manager, right-clicking the active project or active grid and selecting Show
Geographical Diagram.
On the main menu, on the Window tab, selecting Show Geographical Diagram.
The geographical diagram provides a visual representation of the network, it is not possible to add new
elements to the diagram.
An additional layer call Load / Generation Distribution is available for GPS coordinates to illustrate the
magnitude of network load and generation (apparent power), as illustrated in Figure 9.12.1. Note that
the displayed size of circles does not change as the user zooms in and out of the diagram. Colour
and Scaling Factor settings can be modied on the Conguration page of Graphic Layers, see 9.7.4
(Layers).
Figure 9.12.1: Geographical diagram example
To display background images (e.g. maps) on the geographical diagram a File for reading Background
Images must be selected in the Geographic Diagram" page of the Graphic Options dialogue. This
facilitates tiling of multiple images in the background of the GPS graphic if required.
The File for reading background images is simply a text le with semi-coma delimited entries in the
following format:
Image_lename; X1; Y1; X2; Y2
124 DIgSILENT PowerFactory 15, User Manual
9.12. GEOGRAPHICAL DIAGRAMS
Where:
Image_lename is the name of the image le. If it is not in the same directory as the File for
reading background images it should include the le path.
X is the latitude and Y is the longitude.
(X1,Y1) are the bottom-left coordinates of the image.
(X2,Y2) are the top-right coordinates of the image.
The # symbol can be used to comment out entries.
DIgSILENT PowerFactory 15, User Manual 125
CHAPTER 9. NETWORK GRAPHICS (SINGLE LINE DIAGRAMS)
126 DIgSILENT PowerFactory 15, User Manual
Chapter 10
Data Manager
10.1 Introduction
To manage/ browse the data in PowerFactory , a Data Manager is provided. The objective of this
chapter is to provide detailed information on how this Data Management tool. Before starting, users
should ensure that they are familiar with Chapter 4 (PowerFactory Overview).
10.2 Using the Data Manager
The Data Manager provides the user with all the features required to manage and maintain all the data
from the projects. It gives both an overview over the complete data base as well as detailed information
about the parameters of single power system elements or other objects. New case studies can be
dened, new elements can be added, system stages can be created, activated or deleted, parameters
can be changed, copied, etc. All of these actions can be instituted and controlled from a single data
base window.
The data manager uses a tree representation of the whole database, in combination with a versatile
data browser.To initially open a data manager window press the icon from the main toolbar. The
settings of this window can be edited using the User Settings dialogue (Section 10.2.5: Data Manager
Settings).
The data manager window has the following parts (see Figure 10.2.1):
The title bar, which shows the name and path of the of the folder currently selected in the database
[1].
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 10.7 (The Input Window in the Data Manager)
[4].The input window is opened and closed by the clicking on the Input Window button ( ).
On the right side is the database browser that shows the contents of the currently selected folder
[5].
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 10.2.5).
DIgSILENT PowerFactory 15, User Manual 127
CHAPTER 10. DATA MANAGER
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 elds [a].
Active Title buttons of each column; click on any title button to sort the items in the column; rst
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 rst 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].
Figure 10.2.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.
128 DIgSILENT PowerFactory 15, User Manual
10.2. USING THE DATA MANAGER
Figure 10.2.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 10.2.2 shows an Illustration of a context-sensitive right mouse button menu.
The symbolic tree representation of the complete database shown in the database window may not
show all parts of the database. The user settings offer options for displaying hidden folders, or for
displaying parts that represent complete stations. Set these options as required (Section 10.2.5: Data
Manager Settings).
Note: It is useful to keep in mind that object folders, such as the grid ( ) folder are merely common
folders , that have been designated to contain particular classes of objects.
10.2.1 Navigating 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 Fig-
ure 10.2.1) in the browser to open the corresponding object. This could result in opening a folder,
in the case of a common or case folder, or editing the object dialogue for an object. Once again,
the action resulting from your input depends on where the input has occurred (left or right side of
the data manager).
DIgSILENT PowerFactory 15, User Manual 129
CHAPTER 10. DATA MANAGER
The buttons Up Level ( ) and Down Level ( ) on the data manager tool bar can be used to
move up and down the database tree.
10.2.2 Adding New Items
Generally, new network components are added to the database via the graphical user interface (see
Section 9.2: Dening 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 t" 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 10.2.3.
To simplify the selection of the new objects, a lter is used to sort the object list. This lter determines
what sort of list will appear in the drop-down list of the Element eld. If Branch Net Elements" is rst
selected, the selection of, for instance, a 2-winding transformer is accomplished by then scrolling down
the element list.
The Element eld is a normal edit eld. 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 eld.
The possible list of new objects is therefore context sensitive and depends on the type or class of the
originally selected folder.
130 DIgSILENT PowerFactory 15, User Manual
10.2. USING THE DATA MANAGER
Figure 10.2.3: The element selection dialogue
After the selection for a new object has been conrmed, 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, set-
tings, 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 7 (User Settings).
10.2.3 Deleting an Item
A folder or object which is selected may be deleted by pressing the Delete key on the keyboard, or by
clicking the icon on the toolbar of the database manager.
DIgSILENT PowerFactory 15, User Manual 131
CHAPTER 10. DATA 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 referenced object has been deleted" by:
Showing the path to the recycle bin and the name of the recycle object in stead of the original
location and name.
Colouring: a reference to a deleted object will be coloured 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 objects context sensitive menu. All references to the object will also
be restored.
10.2.4 Cut, Copy, Paste and Move Objects
Cut, Copy and Paste
Cutting, copying and pasting may be achieved in four different manners:
1. By using the data manager tool bar buttons.
2. By using the normal MS Windows shortcuts:
Ctrl-X will cut a selection,
Ctrl-C will copy it,
Ctrl-V will paste the selection to the active folder.
Cutting a selection will colour 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 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 reect 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.
132 DIgSILENT PowerFactory 15, User Manual
10.2. USING THE DATA MANAGER
4. By dragging selected objects to another folder. The Drag & Drop option must be enabled rst
by double-clicking the Drag & Drop: off message on the data managers 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.
10.2.5 The Data Manager Message Bar
The message bar shows the current status and settings of the database manager. Some of the mes-
sages 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.
10.2.6 Additional Features
Most of the data manager functionality is available through the context sensitive menus (right mouse
button).
The following items can also be found in the context sensitive menus:
Show Reference List (Output... 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 rst.
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 rst.
DIgSILENT PowerFactory 15, User Manual 133
CHAPTER 10. DATA MANAGER
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 rst.
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 check-mark sign (this will only be shown fol-
lowing a calculation). Editing one of these objects will reset the calculation results.
10.3 Dening Network Models with the Data Manager
In this section it is explained how the tools of Data Manager are used to dene network models.
10.3.1 Dening 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.
10.3.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 eld (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 eld select Cubicle (StaCubic). The edit
dialogue of the new cubicle will pop up; by default no internal switches will be generated. If you want
a connection between the edge element and the terminal trough a circuit breaker, you have to press
the Add Breaker button. After pressing the Ok button the new cubicle will be available to connect new
branch elements.
Note: New users are recommended to create and connect elements directly from the single line graph-
ics. The procedures described above are intended for advanced users.
10.3.3 Dening Substations in the Data Manager
The concept and the application context of substations is presented in Section 4.7 (Project Structure).
A description of the procedure used to dene new substations with the data manager is given as fol-
lows. For information about working with substations in the graphical editor please refer to Section 9.2
(Dening Network Models with the Graphical Editor).
134 DIgSILENT PowerFactory 15, User Manual
10.3. DEFINING NETWORK MODELS WITH THE DATA MANAGER
To dene 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 rst option is recommended. For the second option, a data
browser with the content of the substation will pop up after pressing the Contents button; there you can
use the New Object icon to create the new components.
Components of a substation can of course be connected with components of the corresponding 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 9.2 (Den-
ing Network Models with the Graphical Editor). For information about the denition of Running Arrange-
ments please refer to Section 12.3.6 (Running Arrangements).
10.3.4 Dening Composite Branches in the Data Manager
The concept and the application context of composite branches is discussed in Section 4.7 (Project
Structure), and a description of how to dene branches from within the diagram is provided in Sec-
tion 9.2 (Dening Network Models with the Graphical Editor). This section provides a description of the
procedure used to dene new branches from within the Data Manager.
Branches can be dened in the Data Manager as follows:
1. To create a Branch template, navigate to the Library Templates folder in the Data Manager.
2. Right-click on the right pane of the Data Manager and select New Branch from the context
sensitive menu.
3. In the branch edit dialogue, dene the name of the branch and press Ok.
4. Now navigate back to the branch edit dialogue (right-click and

Sedit, or double click), and se-
lect Contents to add terminal and line elements etc. to the template as required. The internal
elements can be connected as discussed in Section 10.3.2.
5. Use the elds Connection 1 and Connection 2 to dene how the branch is to be connected to
external elements.
6. To create an instance of the Branch from the created Branch template, either:
Select the Composite Branch icon and connect the branch to existing terminals on the
Single Line Diagram.
Select the Composite Branch icon and place the branch on the single line diagram, press
Tab twice to place the branch without making any connections. Then connect the branch to
external elements by right-clicking and selecting

SConnect, or double-clicking the branch
and selecting external connections for the relevant internal elements (e.g. lines). Select
Update on in the Branch dialogue to update the external connections.
Alternatively, for a single Branch (i.e. not using Templates) the branch can be dened in the grid folder.
DIgSILENT PowerFactory 15, User Manual 135
CHAPTER 10. DATA MANAGER
10.3.5 Dening Sites in the Data Manager
The concept and the application context of sites are presented in the Section 4.7 (Project Structure).
Next a description of the procedure used to dene new sites is given.
To dene 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.
10.3.6 Editing Network Components using the Data Manager
Each component can be individually edited by double clicking on it to open the corresponding dia-
logue. The class dialogue is composed of several tabs each corresponding to a calculation function
of PowerFactory. The parameters required by a determined calculation are always available on the
corresponding tab. The description of the network components models, explaining the relations among
the input parameters is given in the technical reference papers attached to the Appendix C (Technical
References of Models).
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 elds for the selected calculation function data set, which
can be selected by clicking on a 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 eld button. The widths of the data
elds can be adjusted by pointing the mouse on the separation line between two title elds and dragging
the eld border by holding a mouse button down. The data elds 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 eld for more than one object simultaneously. The parameter
elds which are going to be changed have to be multi-selected rst, 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").
Set all the selected parameter elds to a new xed (absolute") value.
Note: It is not possible to simultaneously alter parameter elds 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.
136 DIgSILENT PowerFactory 15, User Manual
10.4. SEARCHING FOR OBJECTS IN THE DATA MANAGER
For further information please refer to 10.5 (Editing Data Objects in the Data Manager).
10.4 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 ltering.
10.4.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 calculation-relevant object (e.g. synchronous
machine, terminal, general load, but not graphics, user settings etc.) to be displayed in a browser.
Further sorting can be done according to the data listed in a table- either in the data manager or in a
browser obtained using the procedure described above. This is done by clicking on the column title. For
example, clicking on the column title Name in a data browser sorts the data alphanumerically (A-Z and
1-9). Pressing it again sorts the data Z-A, and 9-1.
Tabulated data can be sorted by multiple criteria. This is done by clicking on various column titles in a
sequence. For example, terminals can be sorted alphanumerically rst by name, then by rated voltage
and nally by actual voltage by pressing on the titles corresponding to these properties in reverse-
sequence (actual voltage

Erated voltage

Ename). A more detailed example follows:


Suppose that you have executed a load ow calculation and that, for each rated voltage level in the
network, you want to nd the terminal with the highest voltage. These terminals could be identied
easily in a table of terminals, sorted rst by rated voltage and then by calculated voltage. Proceed as
follows:
Perform the load ow 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 10.6).
In the table (Flexible Data page tab), click on the title u, Magnitude p.u to sort all terminals from
highest to lowest calculated voltage.
Then click on the title Nom.L-L Volt kV to sort by nominal voltage level.
Now you will have all terminals rst sorted by voltage level and then by rated terminal voltage.
10.4.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 rst 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 rst object whose name starts with T, etc.
Continue typing until the selection matches the object that you are looking for
DIgSILENT PowerFactory 15, User Manual 137
CHAPTER 10. DATA MANAGER
10.4.3 Using Filters for Search
Advanced ltering capability is provided with the Find

E function . A lter is normally dened to nd


a group of objects, rather than individual objects (although the latter is also possible). Advanced search
criteria can be dened, 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

E in the data
manager allows the user to apply a predened lter or to dene a new lter, called General lter. If a
new lter is dened, the database folder that will be searched can be dened. Clicking on Find

E in a
data browser allows the user to dene a General Filter for objects within the browser.
General Filters dened by the user are objects stored in the Changed Settings \ Filters folder.
The options in the General Filter dialogue window are now explained with reference to Figure 10.4.1:
Name: Name of lter.
Object lter: This eld denes either the complete or a part of the search criteria, and is optional.
Examples are as follows:
*.ElmSym: Include element objects of the class synchronous machines.
*.TypSym: Include type objects of the class synchronous machines.
Lahney.*: Include all objects with the name Lahney.
Lahney.Elm*: Include all element objects with the name Lahney.
D*.ElmLod: Include all load element objects whose names start with D.
A drop down list providing various object classes can be accessed with .
Look in: This eld is available if a lter id dened 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 specied 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.
Figure 10.4.1: General Filter dialogue
138 DIgSILENT PowerFactory 15, User Manual
10.4. SEARCHING FOR OBJECTS IN THE DATA MANAGER
The OK button will close the search dialogue, but save the lter 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 (lter) 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 specied
in the Advanced page of the General Filter dialogue (Figure 10.4.2). The lter criterion is dened 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 lter criterion is to limit the data in the browser to transmission lines having a length exceeding 0.7
km. The logical expressions can be expanded to include other relations (e.g. >=), standard functions
(e.g. sin()), and logical operators (e.g. .and.).
Note: Parameter names can be object properties or results. The parameter names for object proper-
ties are found, for example, by letting the mouse pointer hover over an input eld in an objects
dialogue window. Parameter names for result variables are found from variable sets, which are
described in Section 17.4 (Variable Sets).
Figure 10.4.2: Filter dialogue - Advanced
Search Literally" is used to search for user dened strings inside parameter elds. 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 10.4.3. All parameter elds will be searched for this string.
DIgSILENT PowerFactory 15, User Manual 139
CHAPTER 10. DATA MANAGER
Figure 10.4.3: Searching literally
As stated before, the objects matching the lter criteria are displayed in a data browser. They may also
be highlighted in the graphic using the Color representation function described in Chapter 9: Network
Graphics (Single Line Diagrams). The colour to be used in this case can be specied under the page
Graphic of the General Filter dialogue window.
Note: New a lters 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 particu-
lar grid simply proceed as follows: right-click the grid folder FindLocal FiltersFilter Name
(e.g. Lines longer than 700m). Remember to press the Apply button to perform the search. If you
unchecked the Show Filter Settings before Application box under User Settings General then
the lter will be applied as soon as it is selected from the menu. This is useful when you have
already dened several lters for regular use.
10.5 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 representation of an element in the
graphic window.
140 DIgSILENT PowerFactory 15, User Manual
10.5. EDITING DATA OBJECTS IN THE DATA MANAGER
Figure 10.5.1: Full size edit window appearing after double-clicking the object icon in the data manager
An open edit dialogue will disable the data manager windowfromwhich it was opened. The edit dialogue
has to be closed rst 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 com-
paring objects and parameters.
Using the edit dialogues (Figure 10.5.1) has one major drawback: it separates the edited object from
the rest of the database, making it impossible to copy data from one object to the other, or to look at
other object parameter values while editing.
PowerFactory brings the big picture back in sight by offering full scale editing capabilities in the data
managers browser window itself. The browser window in fact acts like a spreadsheet, 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.
10.5.1 Editing in Object Mode
In the general case the icon, the name, the type and the modication date (with its author) of the objects
are shown in the object mode (see Figure 10.5.2). Certain objects, for example network components,
show additional elds like the Out of Service" eld.
DIgSILENT PowerFactory 15, User Manual 141
CHAPTER 10. DATA MANAGER
Figure 10.5.2: The browser window in object mode
The title buttons are used to sort the entries in the browser. The visible data elds 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 eld has been changed, move to the other elds of the same object using the arrow-keys
or by clicking on these data elds, and alter them too.
The new contents of a data eld are conrmed by pressing the Return key, or by moving to another
eld 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 conrm the changes. See Section 10.2.5 (Data Manager Settings) to disable these conformation
messages.
10.5.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 10.5.3). It will display only the objects from the same class as the one which was
selected when the button was pressed. In the example of Figure 10.5.3, this is a load object (ElmLod).
The icon or a lter (10.4.3) may also be used to engage detail mode.
Figure 10.5.3: The browser window in detail mode
142 DIgSILENT PowerFactory 15, User Manual
10.5. EDITING DATA OBJECTS IN THE DATA MANAGER
In detail mode, the browser shows all data elds for the selected calculation function data set, which
can be selected by clicking on a 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 eld button. The widths of the
data elds can be adjusted by pointing the mouse on the separation line between two title elds and
dragging the eld border by holding a mouse button down.
As with the browser in object mode, the data elds 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 eld of the same object has been edited too, but not conrmed, because this star would
otherwise be a triangle.
It is possible to change a parameter eld 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-ow result i.e. by
alleviating line overloads. An example is shown in Figure 10.5.4 where the nominal current for a range
of lines is changed at once.
Figure 10.5.4: Modify values dialogue
Figure 10.5.5: Modify values dialogue
The parameter elds which have to be changed have to be multi-selected rst. Right-clicking the se-
lection will pop up a case sensitive menu from which the Modify Value(s) option opens the SetValue
dialogue, see Figure 10.5.5.
This dialogue can be used to:
DIgSILENT PowerFactory 15, User Manual 143
CHAPTER 10. DATA MANAGER
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 elds to a new xed (absolute") value.
It is not possible to simultaneously alter parameter elds from more than one column, i.e. to change
nominal currents and nominal frequencies simultaneous, even if they would happen to take the same
value or would have to be raised with the same percentage.
10.5.3 Copy and Paste while Editing
One of the great advantages of editing data elds in the data managers browser windowis the possibility
to copy data from one object to another. This is done by selecting one or more objects or object elds,
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 nd the objects to be copied. Please
do not open the icon for the Objects relevant for the calculation , as this is a lter view collecting
objects stored at various locations.
2. Select them (see Figure 10.5.6).
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 10.5.7).
Figure 10.5.6: Copying an object in the browser
Figure 10.5.7: Modify values dialogue
Copying data elds from one object to another is done just like for any spreadsheet software you may
be familiar with. To copy one or more data elds,
1. Select them by clicking them once. Select more data elds by holding down the Ctrl key.
2. Copy the elds to the clipboard by pressing Ctrl-C or the icon.
3. Select one or more target objects data elds. If more than one eld was copied, make sure that
the target eld is the same as the rst copied data eld.
4. Press Ctrl-V or the icon. The contents of the data elds will be copied to the target objects.
144 DIgSILENT PowerFactory 15, User Manual
10.6. THE FLEXIBLE DATA PAGE TAB IN THE DATA MANAGER
10.6 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 xed format.
The Flexible Data tab, normally used to display calculation results, allows the user to dene a custom
set of data to be displayed.
The default format for the calculation results displayed in the exible page depends on the calculation
performed: Following a load-ow calculation, the default variables for terminals are line-to-line voltage,
per unit voltage and voltage angle. Following a short-circuit calculation the default variables are initial
short-circuit current, initial short-circuit power, peak current etc. Figure 10.6.1 shows an example of the
exible data page tab.
Figure 10.6.1: The Flexible Data page tab
10.6.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 ow calculation, a variable set for short-circuit calculation etc. There may also be
more than one variable set for any calculation function. For example, the object ElmTr2 may have two
variable sets for symmetrical load ow calculation.
The Flexible Page Selector allows the user to specify the variable set to use, or to dene new variable
sets. Furthermore, the Flexible Page Selector allows the user to access and edit the variable sets, i.e.
to specify which variables to display in the Flexible Data page.
The Flexible Page Selector dialogue is shown in Figure 10.6.2. This dialogue is opened by pressing
the ( ) icon on the data manager toolbar. The Flexible Page Selector has a menu with all the different
calculation functions. It opens in the page corresponding to the most recent calculation.
The selection of variables within Variable Sets is presented in detail in Section 17.4 (Variable Sets).
DIgSILENT PowerFactory 15, User Manual 145
CHAPTER 10. DATA MANAGER
Figure 10.6.2: The Flexible Page Selector
The Format/Header tab (Figure 10.6.3) allows the user to customize the header of the Flexible Data
page.
Figure 10.6.3: The Flexible Page Selector
146 DIgSILENT PowerFactory 15, User Manual
10.7. THE INPUT WINDOW IN THE DATA MANAGER
Note: Variable Sets are objects of class IntMon, within PowerFactory they have multiple uses. This
section only presents their use in conjunction with Flexible Data. For further information please
refer to Section 17.4 (Variable Sets).
The number format per column in the Flexible Data Page can also be modied by right clicking on
the column header of the variable and selecting Edit Number Format . . . . A new window showed in
gure 10.6.4 will appear and the user may dene the number representation.
Figure 10.6.4: Number Format
10.7 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 le, 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 congured.
10.7.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-ow 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 le or to a printer. All following
DIgSILENT PowerFactory 15, User Manual 147
CHAPTER 10. DATA MANAGER
messages will again be shown only in the output window.
cl/out stops redirection to a le cl/prn stops redirection to a printer
Cls Command Clears the output or input window.
cls/out clears output window
cls/inp clears input window completely
cls/inp/done clears only previously executed commands
.../y asks for conrmation
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 Queries or sets a variable.
Example:
man/set obj=Load_1.elmlod variable=plini value=0.2
Op CommandC Redirects output to either a le 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 le.
Stop Command Stops the running calculation.
Wr Command Writes to a le.
10.8 Save and Restore Parts of the Database
A selected part of the database can be written to a DZ" Import/Export le with the button Export Data...
. This will bring a File Save dialogue where a lename must be specied.
Alternatively, the folder or object that is to be exported can be right-clicked in the database tree, after
which the option Export... is selected.
The exported part of the database may be a complete project, a library, or a specic 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 practical 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 le 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-le can be selected.
148 DIgSILENT PowerFactory 15, User Manual
10.9. SPREADSHEET FORMAT DATA IMPORT/EXPORT
The DZ"-le will be analyzed and error messages will be displayed when the le is not a genuine
PowerFactory data le, or if it is corrupted. If the le format has been found to be correct, a dialogue will
appear which shows the data and version of the le. The default target folder is shown also, which is the
original folder of the saved data. If this is not desired, another target folder can be selected by pressing
the Drop Down button. This button will bring a small version of the database tree. A new target folder
can be selected from this tree.
10.8.1 Notes
By exporting a folder from the database, only the information in that folder and all its subfolders will be
stored. If the exported objects use information (e.g. power system types like line or transformer types)
that is saved somewhere else, then that information will not be stored. Make sure that the used power
system types and all other referenced information is exported too.
When importing a le that contains objects which use data outside the import-le, 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-le, 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 nd 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.
10.9 Spreadsheet Format Data Import/Export
The PowerFactory data browser in the data managers window looks and acts like a spreadsheet pro-
gram as far as creating and editing power system objects is concerned. To enable and simplify the use
of power system element data which is stored in spreadsheet programs such as the Microsoft Excel or
the Lotus 123 programs, the data browser offers Spreadsheet Format import and export facilities.
10.9.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:
DIgSILENT PowerFactory 15, User Manual 149
CHAPTER 10. DATA MANAGER
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 le (Write to File), or to put it on the Windows Clipboard
(Copy (with column headers)). See Figure 10.9.1.
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 10.9.2 calculates a mean
value from a range of line loading percentages.
Figure 10.9.1: Exporting a range of data
150 DIgSILENT PowerFactory 15, User Manual
10.9. SPREADSHEET FORMAT DATA IMPORT/EXPORT
Figure 10.9.2: Imported data in a spreadsheet program
10.9.2 Import from Spreadsheet Programs (e. g. MS EXCEL)
There are two methods available for importing data from a spreadsheet program. The rst 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.
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 10.9.3, a range of active and reactive power values is copied in a spreadsheet program. In
Figure 10.9.4, this range is pasted to the corresponding elds of 6 load objects by right-clicking the
upper left most eld which is to be overwritten. The result of this action is shown in Figure 10.9.5.
In contrast to the import of whole objects, the anonymous import of data does not need a parameter
description. This would complicate the import of complete objects, as the user would have to enter all
parameters in the correct order.
Figure 10.9.3: Copying a range of spreadsheet data
DIgSILENT PowerFactory 15, User Manual 151
CHAPTER 10. DATA MANAGER
Figure 10.9.4: Pasting spreadsheet data from clipboard
Figure 10.9.5: 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 rst header must be the class name of the listed objects.
The following headers must state a correct parameter name.
This is shown in Figure 10.9.6.
152 DIgSILENT PowerFactory 15, User Manual
10.9. SPREADSHEET FORMAT DATA IMPORT/EXPORT
Figure 10.9.6: DExcel required format
Figure 10.9.7 shows an example of valid spreadsheet data of some line types and some 2-winding
transformer types.
Figure 10.9.7: Example of valid spreadsheet data
The import of the spreadsheet data into PowerFactory is performed as follows.
Select the header line and one or more objects lines.
Copy the selection. See Figure 10.9.8 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 10.9.9 for example.
Figure 10.9.8: Selecting object data in spreadsheet
DIgSILENT PowerFactory 15, User Manual 153
CHAPTER 10. DATA MANAGER
Figure 10.9.9: 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 10.9.10, none of
the imported objects existed in the database an all were created new therefore. The example shows
the database in detail mode.
Figure 10.9.10: 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

? = " , \ |
154 DIgSILENT PowerFactory 15, User Manual
10.9. SPREADSHEET FORMAT DATA IMPORT/EXPORT
Default Data
When an imported object is created newly, the imported data is used to overwrite the correspond-
ing 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 exam-
ple, will be possible. All spreadsheet values therefore have to be in the same units as used by
PowerFactory.
DIgSILENT PowerFactory 15, User Manual 155
CHAPTER 10. DATA MANAGER
156 DIgSILENT PowerFactory 15, User Manual
Chapter 11
Study Cases
11.1 Introduction
The concept of Study Cases was introduced in Chapter 4 (PowerFactory Overview). Study Cases
(IntCase, ) dene the studies to be performed in the modelled system. They store all the denitions
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 considered 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 become 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 conguration. Similarly, it would be
necessary to dene over and over again the same calculation command setup used to analyze the
behaviour of the selected network.
Besides storing the objects that dene a network study, study case objects set the output units for the
performed calculations and allow the denition of certain calculation options for the solving algorithms.
The following sections describe the main objects stored inside the study cases, as mentioned before
they are used to dene the network studies. For information about dening and working with study
cases please refer to Section 11.2 (Creating and Using Study Cases).
DIgSILENT PowerFactory 15, User Manual 157
CHAPTER 11. STUDY CASES
11.2 Creating and Using Study Cases
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 11.5.1).
The user may dene 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 11.5.1) and edit (if required) the default settings.
Only one study case can be active at any time. To (de)activate a study case:
Open the Data Manager. The active study case and the folder(s) where it is stored are highlighted.
Right-click on the active study case and choose Deactivate from the context sensitive menu. To
activate a dormant study case place the cursor on its name, right-click and choose Activate. Study
cases may also be activated in the Project Overview Window (see Figure 11.2.1).
Figure 11.2.1: Activating a study case from the Project Overview Window
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 15 (Network Variations and Expansion Stages).
To add (activate) a variation to the active study case:
Right-click on it and select Activate from the context sensitive menu. The variation will be activated
and stages will be highlighted depending on the study time.
An operation scenario can be (de)activated via context menu or using the option File Activate Op-
eration Scenario/ Deactivate Operation Scenario from the main menu. On activation, a completeness
158 DIgSILENT PowerFactory 15, User Manual
11.3. SUMMARY GRID
check is done (check if operational data is available for all components). This is reported in the Pow-
erFactory output window. If an operation scenario is active, all operational data attributes in property
sheets or in data manager are highlighted in a blue colour. 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 modied, a user
conrmation is requested whether to save the changes or to discard them. For further information about
working with operation scenarios, please refer to Chapter 14 (Operation Scenarios).
Note: Only one study case can be activated at a time. Although network components and diagrams
can be edited without an active study case, calculations can not be performed unless a study case
is activated. Variations and operation scenarios used by a study case are automatically activated
with the corresponding study case.
11.3 Summary Grid
The primary task of a Study Case is to activate and deactivate a calculation target, which is a combi-
nation 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 rst. The grid or system stage is then activated
in conjunction with whichever choice is made.
11.4 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 denes the point in time you wish to analyze.
The Study Time must be inside the Validity Period of the Project, which species the time span the
Project is valid for (see Chapter 8: Basic Project Denition, Section 8.1.3 (Project Settings)). PowerFac-
tory will use the Study Time in conjunction with time-dependent network expansions (see Chapter 15:
Network Variations and Expansion Stages) to determine which network data is applicable to that point in
time. You are able to change the Study Time in order to analyze a different point in time. The Expansion
Stages will be activated/deactivated with the Study Time.
The status bar at the bottom of the PowerFactory program window shows the currently set Study Time.
The most easy way to change the Study Time is:
Double click on the Study Time shown in the status bar of PowerFactory.
Enter the date and time or press the button Date andTime 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:
DIgSILENT PowerFactory 15, User Manual 159
CHAPTER 11. STUDY CASES
Press the button Date/Time of Calculation Case in the main toolbar of PowerFactory.
Enter the date and time or press the button Date andTime 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 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.
11.5 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 11.5.1 will appear.
Figure 11.5.1: Study Case edit dialogue
In the Basic Data page, the user can dene the name and an owner to the study case. The output units
of the calculated variables are dened in the Output Variables eld. The grids that are linked to a study
case may be viewed by pressing the Grids/System Stages button. The study time can be edited by
pressing the button; this will open the edit dialogue of the study case time trigger (see Section 15.4:
Study Time). Please regard that the study time can also change as a result of setting the recording
expansion stage explicitly (see Chapter 15: Network Variations and Expansion Stages).
The Calculation Options page 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 objects 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
160 DIgSILENT PowerFactory 15, User Manual
11.6. VARIATION CONFIGURATION
the time of the simulation case is displayed. By double-clicking on this eld you are taken to the
same window.
11.6 Variation Conguration
Similarly to the Summary Grid object, the Variation Conguration object (IntAcscheme ) holds refer-
ences to the active variations.
11.7 Operation Scenarios
A reference to the active operation scenario (if any) is always stored in the study cases. Similar to
variation congurations and summary grids, when a study case is activated, the operation scenario (if
any) whose reference is hold, will be automatically activated. The reference to the active operation
scenario is automatically updated by the program.
11.8 Commands
In PowerFactory a calculation (i.e load ow , short circuit , initial conditions of a time domain simu-
lation , etc.) is performed via Calculation Commands, which are the objects that store the calculation
settings dened 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 rst time, a calculation command of the corresponding class is automatically created in-
side the active study case. Different calculation commands of the same class (i.e different load ow
calculation commands: objects of the class ComLdf or different short circuit calculation commands:
objects of the class ComShc ) can be stored in the same study case. These approach allows the
user to repeat any calculation, with all the settings (such as fault location, type, fault impedance, etc.)
as last performed in the study case. Of course the calculations are performed only over the active grids
(expansion stages).
Figure 11.8.1 shows a study case called Study 1 witch contains two load ow calculation 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 calcula-
tion commands existing in PowerFactory is described in the chapter corresponding to that calculation
function.
DIgSILENT PowerFactory 15, User Manual 161
CHAPTER 11. STUDY CASES
Figure 11.8.1: Calculation Commands in a Study Case
Actions such as generating a report of the actual calculation results or the state of the dened network
components are carried out via command objects (in this case ComSh and ComDocu objects respec-
tively). For information about reporting commands please refer to Chapter 17 (Reporting and Visualizing
Results).
Note: Command objects basically consist of the data set that congures the calculation, and the Exe-
cution function to perform the computations. Like any other object calculation commands can be
copied, pasted, renamed and edited.
11.9 Events
Simulation Events objects are used to dene simulation events. For time-domain simulations, events
are stored within the Study Case Simulation Events/Fault folder (see Chapter 26: Stability and EMT
Simulations, Section 26.6 for a general description). For short-circuit studies, they are stored in the
Study Case Short Circuits folder. For other steady-state calculations that utilize Simulation Events,
they are stored within the Operational Library Faults folder. PowerFactory offers several kinds of
events:
Dispatch Event (EvtGen)
External Measurement Event (EvtExtmea)
Intercircuit Fault Events (EvtShcll )
Events of Loads (EvtLod)
Message Event (EvtMessage)
Outage of Element (EvtOutage)
Parameter Events (EvtParam)
Save Results (EvtTrigger )
Short-Circuit Events (EvtShc)
Stop Events (EvtStop)
162 DIgSILENT PowerFactory 15, User Manual
11.9. EVENTS
Switch Events (EvtSwitch)
Synchronous Machine Event (EvtSym)
Tap Event (EvtTap)
11.9.1 Dispatch Event
The user species the point in time in the simulation for the event to occur, and a generation element
(ElmSym, ElmXnet or ElmGenstat ). The incremental change of the generator can then be altered using
the dispatch event.
11.9.2 External Measurement Event
External measurement events can be used to set and reset values and statuses of external measure-
ment objects.
11.9.3 Intercircuit Fault Events
This type of event is similar to the short-circuit event described in Section 11.9.9 (Short-Circuit Events
(EvtShc)). Two different elements and their respective phases are chosen, between which the fault
occurs. As for the short-circuit event, four different elements can be chosen:
Busbar (StaBar )
Terminal (ElmTerm)
Overhead line or cable (ElmLne)
11.9.4 Events of Loads
The user species the point in time in the simulation for the event to occur, and a load element(s)
(ElmLod, ElmLodlv, ElmLodmv or ElmLodlvp). The value of the load can then be altered using the load
event. The power of the selected load(s) can be changed as follows:
Step Changes the current value of the power (positive or negative) by the given value (in % of the
nominal power of the load) at the time of the event.
Ramp Changes the current value of the power by the given value (in % of the nominal power of
the load), over the time specied by the Ramp Duration (in seconds). The load ramping starts at
the time of the event.
11.9.5 Message Event
A message will be printed to the output window at the specied time in the simulation.
11.9.6 Outage of Element
This Outage of Element event can be used to take an element out of service at a specied point in time.
It is intended for use in steady-state calculations e.g. short-circuit calculation and reliability assessment.
DIgSILENT PowerFactory 15, User Manual 163
CHAPTER 11. STUDY CASES
It may also be used to take elements out of service in time-domain simulations, however it is not possible
to bring an outaged element back into service using this event during a transient simulation. This is
only possible in steady-state calculation functions. The following message will be displayed if the user
attempt to bring a previously outaged element back into service using Outage of Element :
DIgSI/err (t=000:000 ms) - Outage Event in Simulation
not available.
Use Switch-Event instead!
11.9.7 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 specied. Then an element has to be to specied/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.
11.9.8 Save Results
This event is only used for PowerFactory Monitor applications. It cannot be used during time-domain
simulations.
11.9.9 Short-Circuit Events
This event applies a short-circuit on a busbar, terminal or on a specied point on a line. The fault
type (three-phase, two-phase or single-phase fault) can be specied as well as the fault resistance and
reactance and the phases which are affected.
The duration of the fault cannot be dened. Instead, to clear the fault, another short-circuit event has to
be dened, which will clear the fault at the same location.
11.9.10 Stop Events
Stops the simulation at the specied time within the simulation time-frame.
11.9.11 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 containing all dened simulation
events. Click on the icon in this browser, which will show a IntNewobj (Figure 11.9.1) dialogue which
can be used to create a new switching event.
164 DIgSILENT PowerFactory 15, User Manual
11.10. SIMULATION SCAN
Figure 11.9.1: Creation of a New Switch Event (IntNewobj )
After pressing OK, the reference to the switch (labelled Breaker or Element ) must be manually set. Any
switch in the power system may be selected, thus enabling the switching of lines, generators, motors,
loads, etc. The user is free to select the switches/breakers of all phases or of only one or two phases.
It should be noted that more than one switching event must be created if, for instance, a line has to be
opened at both ends. These switch events should then have the same execution time.
11.9.12 Synchronous Machine Event
The Synchronous Machine Event is used to easily change the mechanical torque of a synchronous
machine (ElmSym). The user species the point in time in the simulation for the event to occur, and
an active synchronous machine. The user can then dene the additional mechanical torque supplied to
the generator. The torque can be positive or negative and is entered in per unit values.
11.9.13 Tap Event
The user species 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 specied.
11.10 Simulation Scan
For details of Simulation Scan modules, refer to Chapter 26 Section 26.5.
11.11 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 specic 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 11.11.1.
DIgSILENT PowerFactory 15, User Manual 165
CHAPTER 11. STUDY CASES
Figure 11.11.1: The Results Object Dialogue
The result object shows the following elds:
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-le.
The Clear Data will clear all result data (only available if calculation results are stored).
Note: Clearing the data will delete the result-le and will reset the database ID. This will destroy all
calculated or measured data in the result le. It will not be possible to restore the data.
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
Variables button. This will show the list of monitor sets currently in use by the result object.
Note: Selecting a set of result variables, trough the use of monitor objects is necessary because oth-
erwise all available variables would have to be stored, which is practically impossible.
When the Export button is pressed, all events that happened during the simulation, could be exported
in different formats. For information about exporting results, please refer to Chapter 17: Reporting and
Visualizing Results, Section 17.2.4 (Result Objects).
166 DIgSILENT PowerFactory 15, User Manual
11.12. VARIABLE SETS
11.12 Variable Sets
The result object combines one or more monitor variable sets (IntMon ), allowing a very exible and
highly transparent result denition. 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 11.12.1 red circle, in this case a transformer called EBT1). To facilitate the
selection of the variables, monitor variable sets are organized according to the calculation functions of
PowerFactory and by the type of data. For example, if the results of a harmonics calculation are to be
recorded, the user should go to the Harmonics/Power Quality page (Figure 11.12.1, green circle). If
the voltage or the power of the referred element is to be stored, the selected Variable Set should be
Currents, Voltages and Powers (Figure 11.12.1 blue circle).
Figure 11.12.1: Monitor Variable Set Dialogue
For further information about the denition of Monitor Variable Sets please refer to Chapter 17: Report-
ing and Visualizing Results, Section 17.4 (Variable Sets).
11.13 Triggers
As described in Chapter 16 (Parameter Characteristics, Load States, and Tariffs), parameter charac-
teristics are used to dene parameters as ranges of values instead of xed amounts. The parameter
characteristics are set over user dened scales. The current value of the parameter is at the end deter-
DIgSILENT PowerFactory 15, User Manual 167
CHAPTER 11. STUDY CASES
mined by a trigger object (SetTrigger, ), which sets a current value on the corresponding scale. For
example if the value of a certain parameter depends on the temperature, a characteristic over a temper-
ature scale is set. The current value of the temperature is dened by the trigger. The current value of
the temperature determines the current value of the parameter, according to the dened 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 denition of characteristics, scales and triggers is given in Chapter 16
(Parameter Characteristics, Load States, and Tariffs).
11.14 Graphic Board
The Study Case folder contains a folder called the Graphics Board folder (SetDesktop, ) where ref-
erences to the graphics to be displayed are contained. This folder, much like the Summary Grid folder,
is automatically created and maintained and should generally not be edited by the user.
The references in the graphics board folder are created when the user adds a grid to a study case.
PowerFactory will ask the user which graphics of the grid should be displayed. At any time later the user
may display other graphics in the grid by right-clicking the grid and selecting Show Graphic. Graphics
may be removed by right-clicking the tab at the bottom of the page and selecting Remove Page(s).
The study case and graphics board folder will also contain references to any other graphics that have
been created when the study case is active.
168 DIgSILENT PowerFactory 15, User Manual
Chapter 12
Project Library
12.1 Introduction
The project library stores the following categories of data:
Equipment Types (Section 12.2: Equipment Type Library)
Operational Data (Section 12.3: Operational Library)
DPL Scripts (See Chapter 19: The DIgSILENT Programming Language - DPL)
Table Reports (See Appendix D, section D.5.8 Table Report Methods)
Templates (Section 12.4: Templates Library).
User Dened Models (See Section 26.11: User Dened (DSL) Models)
This chapter is describes the Equipment Type Library, Operational Library, and Templates library. Note
that in addition to the project Library, the global Library includes a range of pre-dened types, models,
templates, and scripts (refer to Chapter 4: PowerFactory Overview, Section 4.6: Data Arrangement for
details).
12.2 Equipment Type Library
The Equipment Type Library is used to store and organize Type data for each class of network com-
ponent. Once a new project is created, an Equipment Type Library is automatically set by the program
within the Library folder. It also includes a subfolder for storing Scales.
To create or edit a folder in the Equipment Type Library:
1. On the Equipment Type Library folder in the left pane of the Data Manager right-click and select
New Project Folder from the context sensitive menu (or to edit an existing folder, right-click the
folder and select Edit ). The project folder edit dialogue is displayed.
2. In the Name eld, enter the name of the new folder.
3. In the Folder Type eld, select Generic.
4. In the Class Filter eld, write the name of the type class(es) to be allowed in the folder (case
sensitive). If more than one class is to be allowed, write the class names separated by commas.
An asterisk character (

) can be used to allow all classes.


DIgSILENT PowerFactory 15, User Manual 169
CHAPTER 12. PROJECT LIBRARY
5. In the Icon eld, select Library.
To create new type objects in these folders select the New Object icon and select the appropriate
type class. Alternatively, types can be copied from other projects or the global library. If the type class
does not match the folder lter, an error message is displayed.
Within the Equipment Type Library, the Scale folder is used to store the Scales used by the parameter
characteristics. Refer to Chapter 16 (Parameter Characteristics, Load States, and Tariffs) for details.
Note: By default new block denitions (used by dynamic models) created from block diagrams are also
stored in the Equipment Types Library. Chapter 26 (Stability and EMT Simulations) provides de-
tails related to dynamic modelling and block denitions.
Figure 12.2.1 shows the equipment library of a project containing generator, load, and transformer
types, sorted using library sub-folders.
Figure 12.2.1: The Equipment Library
Unlike the Global Library", which is accessible to all users, the local Equipment Type Library is used
to dene types that are to be used in the specic project. It can only be used by the project owner, and
users with which the project is shared.
There are three options available for dening Type data for network components, as illustrated in (Fig-
ure 12.2.2):
1. Select Global Type from the Global Library. The Data Manager is launched in the Global Library".
2. Select Project Type. The Data Manager is launched in the local Equipment Type Library.
3. New Project Type. A new type will be dened and automatically stored in the local Equipment
Type Library.
Note that Global Types and Project Types buttons can be used to quickly switch between the global
and local libraries (Figure 12.2.2).
170 DIgSILENT PowerFactory 15, User Manual
12.3. OPERATIONAL LIBRARY
Figure 12.2.2: Selecting a Synchronous Machine Type
12.3 Operational Library
The Operational Library is used to store and organize operational data for application to a number of
elements, without the need to duplicate operational information.
To illustrate, consider an example where there are two generators, G1" and G2". The units have
slightly different Type data, and thus unique Type models, G 190M-18kV Ver-1" and G 190M-18kV
Ver-2". The Capability Curves for these units are identical, and so the user wishes to create only a
single instance of the capability curve. By dening a Capability Curve in the Operational Library, a
single Capability Curve can be linked to both generators.
Similarly, various circuit breakers may refer to the same short-circuit current ratings. A Circuit Breaker
Rating object can be dened in the Operational Library and linked to relevant circuit breakers
This section describes the denition and application of operational data objects.
12.3.1 Circuit Breaker Ratings
Circuit Breaker Ratings objects (IntCbrating) contain information that dene the rated short-circuit
currents of circuit breakers (objects of class ElmCoup). They are stored inside the CB-Rating folder
in the Operational Library. Any circuit breaker (ElmCoup) dened in the Network Model can use a
reference to a Circuit Breaker Rating object in order to change its current ratings.
The parameters dened 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.
DIgSILENT PowerFactory 15, User Manual 171
CHAPTER 12. PROJECT LIBRARY
Single phase RMS break short circuit current.
DC time constant.
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.
To assign a circuit breaker rating to a circuit breaker (ElmCoup object) from the network model:
1. Go to the Complete Short-Circuit page of the elements dialogue.
2. In the Ratings eld click on the button to select the desired rating from the CB Ratings folder.
The parameters dened 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.
For information regarding short-circuit calculations, refer to Chapter 22 (Short-Circuit Analysis). For
further information about variations and expansion stages, refer to Chapter 15(Network Variations and
Expansion Stages).
Note: Variations in the CB Ratings folder act locally, they will only affect the circuit breaker ratings
stored within the folder. Similarly, the variations of the Network Model will only affect the network
components from the grids.
Note: Circuit breaker elements (ElmCoup) must be distinguished from Switch objects (StaSwitch); the
latter are automatically created inside cubicles when connecting a branch element (which differs
to a circuit breaker) to a terminal. Ratings can also be entered in the StaSwitch Type object.
Example Time-Dependent Circuit Breaker Rating
Consider an example where a substation circuit breaker CB" operates with different ratings depending
on the time of the year. From 1st January to 1st June it operates according to the ratings dened in a
set of parameters called CBR1". From 1st June to 31st December it operates with the ratings dened
in a set of parameters called CBR2".
This operational procedure can be modelled by dening a circuit breaker rating CBR" in the CB Ratings
folder, and a variation CB_Sem_Ratings" containing two expansion stages. The rst expansion stage
should activate on the 1st January and the second on the 1st June. The rst task is the denition of the
time-dependant circuit breaker rating CBR". To set the parameters of CBR" for the rst period:
1. Set a study time before the 1st June to activate the rst expansion stage (the Variation CB_Sem_Ratings"
must be active).
2. Edit the parameters of CBR" (previously dened) according to the values dened in CBR1". The
new parameters will be stored in the active expansion stage.
3. To set the parameters of CBR" for the second period:
172 DIgSILENT PowerFactory 15, User Manual
12.3. OPERATIONAL LIBRARY
4. Set a study time after the 1st June to activate the second expansion stage;
5. 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 apply the relevant ratings for CB" (note that the variation must be active).
12.3.2 Demand Transfers
The active and reactive power demand dened for loads and feeders in the network model can be
transferred to another load (or feeder) within the same system by means of a Demand Transfer (objects
class IntOutage). This transfer only takes place if it is applied during a validity period dened by the
user (i.e. if the current study time lies within the validity period).
To create a new load demand transfer:
1. In the data manager, open the Demand Transfer folder.
2. Click on the New Object icon .
3. In the Element Selection dialogue select Planned Outage (IntOutage) and press Ok.
4. Set the validity time, the source and target loads/feeders and the power transfer.
Note: If there is a demand transfer, which transfers load between two loads (ElmLod) belonging to
different feeders (ElmFeeder ), then the same MW and Mvar value is transferred from one feeder
to the other.
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
t into the current study time. Before execution, the user is asked if the current network state should
be saved in a new operation scenario. The same demand transfers can be applied as many times as
desired during the validity period.
If a non-zero power transfer has been executed and the sources power is less than zero, a warning is
printed to the output window indicating that the power limit has been exceeded. The applied transfers
can be reverted by using the Reset all button.
When the current operation scenario is deactivated, all load transfers executed while the operation
scenario was active will be reverted.
For information about operation scenarios please refer to Chapter 14 (Operation Scenarios).
12.3.3 Fault Cases and Fault Groups
This section discusses the data structure of the Faults folder, and the objects contained within it. The
functionality of Event objects is described in Section 26.6: Events (IntEvt ).
The Faults folder stores two types of subfolders:
1. Fault Cases folders which in turn store objects that represent Simulation Events . Simulation
Events may contain a number of individual Events (Evt

), e.g. short-circuits events, switching


events.
DIgSILENT PowerFactory 15, User Manual 173
CHAPTER 12. PROJECT LIBRARY
2. Fault Groups folders store Fault Groups (IntFaultgrp) objects, which in-turn reference fault
Cases (Simulation Events or individual Events).
The uppermost window in Figure 12.3.1 show an example project Faults folder. Two Fault Cases sub-
folders (Cases North" and Cases South"), and a Fault Groups subfolder Grouping Faults have been
dened.
The center window in Figure 12.3.1 shows the content of Cases South", which stores three fault cases,
Bus 1", G1", and T1". In the lower window of Figure 12.3.1, a Fault Group named Fault Group has
been dened inside the Grouping Faults folder, and contains a reference to the fault case Line2-Line5"
(which has previously been dened in the folder Cases North").
Note: The use of IntEvt objects extends beyond PowerFactory s reliability analysis functions. Time
domain simulations (EMT/RMS) make reference to IntEvt objects, in order to include simulation
events which take place during a time-domain simulation. In this case the execution time se-
quence of the events must be dened. In the case of fault representations in the Operational
Library by means of fault cases, only short-circuit and switching events are relevant.
174 DIgSILENT PowerFactory 15, User Manual
12.3. OPERATIONAL LIBRARY
Figure 12.3.1: The Faults Folder
DIgSILENT PowerFactory 15, User Manual 175
CHAPTER 12. PROJECT LIBRARY
Note that the calculation commands provided by the reliability assessment function of PowerFactory use
Contingencies objects (ComContingency and ComOutage) to simulate the outage (and subsequent
recovery) of one or more system elements. To avoid duplication of data, these objects can refer to
previously dened Simulation Events (IntEvt ). For information regarding the functionality of fault cases
and fault groups in contingency analysis tools refer to Chapter 29 (Contingency Analysis). For the use
of fault cases to create outages for the contingency analysis tools please refer to Chapter 30 (Reliability
Assessment).
The following sections provide a details of how to dene Fault Cases and Fault Groups.
Fault Cases
A fault case can represent a fault in more than one component, with more than one event dened.
For example, the fault case Line 2-Line 5" shown in Figure 12.3.1 represents a short-circuit fault in
transmission lines Line2 and Line5, i.e. the fault case Line 2-Line 5" consists of short-circuit events for
both components.
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 refer to Chapter 30 (Reliability Assessment).
2. Fault Case with at least one switch event (Type 2): A Fault Case of Type 2 predenes 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 30 (Reliability Assessment).
To create new Fault Cases or new Fault Groups folders, open the Faults project folder from the Oper-
ational Library and use the New Object icon (select Fault Cases(IntFltcases) or Fault Groups (IntFlt-
groups) respectively).
To create new fault case (object of class IntEvt ):
1. Multi-select the target components on a single line diagram.
2. Right-click and select Dene Fault Cases from the context-sensitive menu.
3. Select from the following options:
Single Fault Case: This creates a single simultaneous fault case including all selected ele-
ments. A dialogue box containing the created fault case is opened to allow the user to specify
a name for the fault case. Press Ok to close the dialogue and saves the new fault case.
Multi fault Cases, n-1: This creates an n-1 fault case for each selected component. There-
fore 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 automat-
ically created in the database after selection.
Multi fault Cases, n-2: This creates an n-2 fault case for each unique pair among the se-
lected 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 compo-
nent is selected. If only one component is selected, then no fault case will be created. The
fault case is automatically created in the database after selection.
Mutually Coupled Lines/Cables, n-k: This creates fault cases considering the simultane-
ous outage of each coupled line in the selection.
The fault cases created will consist of short-circuit events applied to the selected components. All
breakers (except for circuit breakers, which are used to model a circuit breaker failure) will be ignored.
If only breakers are included in the selection, an error message will be issued.
176 DIgSILENT PowerFactory 15, User Manual
12.3. OPERATIONAL LIBRARY
If a simple switch (not a circuit breaker) is included in the selection, a warning message will be
issued that this switch will be ignored.
If a circuit breaker is contained in the selection, then an Info message will be issued, that the CB
will be used for modelling a CB failure and will not be handled as a fault location.
Note: In the case that a branch is selected, the short-circuit event is generated for a (non-switch device
with more than one connection) component of the branch. The component used in the event is:
Connection 1" if suitable, otherwise Connection 2" if suitable, otherwise a suitable random com-
ponent of the branch (line, transformer . . . ).
Fault Groups
New Fault Groups are created in the data manager as follows:
1. Open the target Fault Groups folder and select the New Object icon .
2. In the edit dialogue, specify the name of the Fault Group, and Add Cases (IntEvt ) to the Fault
Group.
12.3.4 Capability Curves (Mvar Limit Curves) for Generators
Reactive Power operating limits can be specied in PowerFactory through denition of Capability Curves
(IntQlim). They are stored in Operational Library, within the Mvar Limit Curves folder . Syn-
chronous generators (ElmSym) and static generators (ElmGenstat ) dened in the Network Model can
use a pointer to a Capability Curve object from the Load Flow page of their edit dialogue. When execut-
ing a Load Flow (with Consider Reactive Power Limits selected on the Basic Options page) generator
Reactive Power dispatch will be limited to within the extends of the dened capability curve. For in-
formation about the dispatch of synchronous generators, refer to the synchronous machine technical
reference in the appendix C (Synchronous Machine (ElmSym)). For information about Load Flow cal-
culations and reactive power limits, refer to Chapter 21 (Load Flow Analysis).
Note: If Consider Active Power Limits is selected on the Active Power Control page of the Load Flow
command, Active power is limited to the lesser of the Max. Operational Limit and the Max. Active
Power Rating specied on the Synchronous Machine Load Flow page.
Dening Capability Curves
To dene a new generator Capability Curve:
1. Open the folder Mvar Limit Curves from the Operational Library.
2. Click on the New Object icon and select Capability Curve. The new capability curve dialogue
will be displayed.
3. Enter data points to dene the generation limits, and Append Rows to add the required number of
rows to the table.
4. To apply a Capability Curve to a generator:
Locate the Reactive Power Limit section on the Load Flow page of the synchronous ma-
chines or static generators dialogue.
Press next to Capability Curve.
DIgSILENT PowerFactory 15, User Manual 177
CHAPTER 12. PROJECT LIBRARY
Choose Select and then select the required curve in the Mvar Limit Curves folder of the
Operational Library (the required curve can also be created at this step by selecting the New
Object icon .
5. Select a capability curve and press OK.
Capability curves are included in operation scenario subsets; meaning that if a capability curve is se-
lected/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 14 (Operation
Scenarios).
To enter a capability curve for information purposes only (i.e. a capability curve which is not to be
considered by the calculation), enter it on the Advanced tab of the Load Flow page. Then select User
dened 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.
Dening a Variation of a Capability Curve
Similar to circuit breaker ratings (see Section 12.3.1 (Circuit Breaker Ratings), Capability Curves can
become time-dependant by means of variations and expansion stages stored inside the Mvar Limit
Curves folder.
To create a time-dependent variation for a Capability Curve, navigate to theMvar Limit Curves folder in
the left pane of a data manager window. Right-click on the folder and select New Variation. Name
the variation, press OK, name the Expansion Stage, and press OK. Changes to Capability Curves are
recorded in the active expansion stage.
To activate a variation of a Capability Curve, open the data manager. Right-click the Variation object
in the Mvar Limit Curves folder and select Activate.
For general information about variations and expansion stages please refer to Chapter 15(Network
Variations and Expansion Stages).
12.3.5 Planned Outages
A Planned Outage is an object used to check and/or apply an Outage of Element or Generator Derating
over a specied time period. Planned Outages are stored within the Operational Library in the Outages
folder.
For the Outage of Element type, PowerFactory automatically isolates the referenced components.
The switches connecting the target elements with the other network components are open and the
terminals connected to the elements are earthed (if the Earthed option in the terminal (ElmTerm)
dialogue is checked). Note that the target element can only be earthed if it is directly connected
(without switches in the cubicle) to terminals, which are then connected through switches to the
network terminals.
For a Generator Derating, a reference to the generator which is to be derated and the magnitude
of the MW reductions is specied. For the Generator Derating, the maximum active power that can
be dispatched (dened on the Load Flow page of the generator element dialogue, in the section
Operational Limits) is recalculated as the difference between the maximum active power (section
Active Power: Ratings) and the MW reductions.
Note: If a Planned Outage object is dened 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 dened in the Demand transfer folder, only the outage type Demand Transfer is enabled.
178 DIgSILENT PowerFactory 15, User Manual
12.3. OPERATIONAL LIBRARY
Dening Outages and Deratings
To create a new Element Outage or Generator Derating:
1. In the data manager, open the Outages folder.
2. Click on the New Object icon , select Planned Outage and press Ok.
3. The Planned Outage dialogue will be displayed. In the Outage Type frame of the dialogue, the
options Outage of an Element and Generator Derating will be enabled. Set the desired Outage
Type, Start Time and End Time.
4. The denition of a Planned Outage requires reference(s) to relevant network components. To
create a reference:
Press the Contents button of the outage object.
In the data browser that is displayed, create a reference to the target element by selecting
the New Object icon (IntRef ).
Press the button in the Reference eld to select the target element.
Press Ok to add the reference.
5. (Generator Derating only) Specify the MW Reduction (see previous section for details) for the
generator derating.
6. To apply the Planned Outage, press the Apply button (the Apply button is only available if the
study time lies within the outage period, and an Operation Scenario is active).
Applied outages and generator deratings can be reset using the Reset button.
Checking Outages and Deratings
The Check All button in the Planned Outage dialogue is used to verify if the actions dened for the
target element(s) have been performed (right-click a Planned Outage and select Check to perform an
individual check). Only the outages within a valid period are considered. Outages marked as Out of
Service are not regarded (even if the study time lies within the outage period).
For an Outage of Element, the energizing state is always determined by a connectivity analysis. Any
component that is connected to an External Grid or a reference Generator is considered to be energized.
All other components are considered to be deenergized (if circuit breakers are open). A deenergized
component is earthed if a topological connection to a grounding switch or an earthed terminal exists
(terminal with the Earthed option checked).
Note: If the outaged element is a branch element (ElmBranch), all contained elements are checked.
If any of these elements is not correctly outaged, the whole branch is reported as not correctly
outaged.
The fullment of programmed outages can also be checked via the use of the color representation
function available within the single line graphic by setting the Colouring option to Outage Check from
the color representation dialogue . The following states are colored, according to user preferences:
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.
Generators that are not derated, but should be outaged.
Generators that are derated, but should NOT be outaged.
DIgSILENT PowerFactory 15, User Manual 179
CHAPTER 12. PROJECT LIBRARY
12.3.6 Running Arrangements
Running Arrangement objects store operational data (switch status) for a single substation. As
shown in Figure 12.3.2, a Running Arrangement uses a reference to the substation object (ElmSubstat )
whose switch statuses are stored. A Start Time and End Time is used to specify the validity period of
the Running Arrangement. Running arrangements are stored in the Running Arrangements folder in
the Operational Library .
Figure 12.3.2: RA object dialogue
Different congurations of the same substation can be dened by storing the corresponding switch sta-
tuses in Running Arrangements. Different Running Arrangements can then be easily selected during a
study. If a running arrangement is selected for a substation, the status of the substation switches cannot
be modied (i.e. they become read-only). If there is no setting for a switch in a Running Arrangement
(i.e. the Running Arrangement is incomplete), the switch will remain unchanged but its status will also
be set to read-only. If the current Running Arrangement is deselected, switch status will be reverted
to the status prior to application of the Running Arrangement, and write-access will be re-enabled.
Running arrangements are dened and selected in the substation object dialogue Basic Data page.
Note: Running arrangements store only the status of switches of class ElmCoup. The status of switches
which are automatically created in a cubicle following the connection of a branch element (StaSwitch
objects) are not considered in a running arrangement.
Further details of how to create, select, apply, and assign Running Arrangements are provided in the
following sections.
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):
1. Click on an empty place in the substation graphic, and from the context-sensitive menu choose
Edit Substation. Open the substation dialogue.
2. Click Save as (see Figure 12.3.3) to store the switch settings of the substation as a new RA. This
button is only available if there is currently no RA selection active.
180 DIgSILENT PowerFactory 15, User Manual
12.3. OPERATIONAL LIBRARY
3. In the new RA dialogue is displayed, specify a name and time period, and press Ok. The new RA
is automatically stored in the Running Arrangements folder in the Operational Library.
An Overwrite button is available in the substation dialogue (if no RA is selected), to store current switch
statuses to an existing RA.
Figure 12.3.3: Running Arrangement in a Substation Dialogue
Selecting a Running Arrangement
A Running Arrangement (RA) can be selected in the Basic Data page of a substation dialogue (see
Figure 12.3.3):
1. Open the substation dialogue.
2. In the Running Arrangement frame of the Substation dialogue, select from a list of previously
dened RAs.
3. Select the desired RA. This selection is immediately reected in the substation graphic.
While an RA is selected, the switch statuses of a substation are determined by this RA and cannot be
changed by the user (i.e. they are read-only).
If there is no setting for a switch in an RA (i.e. the RA is incomplete), such a switch will remain un-
changed but its status is also set to read-only.
DIgSILENT PowerFactory 15, User Manual 181
CHAPTER 12. PROJECT LIBRARY
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 PowerFactorys output window (nothing is selected in this case).
Applying and Resetting a Running Arrangement
An active Running Arrangement (RA) can be applied to a substation by pressing the Apply and Reset
button from within the substation dialogue. This action copies the statuses stored in the RA directly
in the substation switches. It is only available only if an RA is selected. The RA will be deselected
afterwards. An RA can be directly set as the substations selected RA, using the Assign button (from
within the RA dialogue).
The following functional aspects must be regarded when working with running arrangements:
An RA can be selected for each substation. If an operation scenario is active, the selection of
an RA in a substation is recorded in the operation scenario (i.e. the RA selection is part of the
operational data included in the operation scenario subset).
If a variation is active (and there is no active operation scenario), the selection of the RA is stored
in the recording expansion stage.
While an RA is selected, the switch statuses of the corresponding substation are determined by
the RA and can not be modied. 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
modication made to the network model. For example, if an RA was dened and then deactivated,
and then later new switches were added to a substation. In this case if the RA is re-activated, a
warning would be printed to the output window and the current switch statuses, which depend on
the base network, active variations and active operation scenario, remain unchanged. Missing
switch statuses will be added only when performing the Save as or Overwrite functions (available
in the substation dialogue).
Switch statuses stored in the RA, and which are currently not required (depending on expansion
stages) are ignored and remain unchanged. In this case a summary warning is printed during the
RA activation.
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 operation scenarios and their application refer to Chapter 14 (Operation Sce-
narios).
Assigning a Running Arrangement
The Assign button contained in the Running Arrangement (RA) dialogue facilitates the selection of the
RA as the one currently selected for the corresponding substation. This action is also available in the
context-sensitive menu in the data manager (when right-clicking on an RA inside the data manager). It
should be noted that assignment is executed immediately and cannot be undone by pressing the cancel
button of the dialogue.
182 DIgSILENT PowerFactory 15, User Manual
12.3. OPERATIONAL LIBRARY
Figure 12.3.4: Running Arrangement Dialogue
12.3.7 Thermal Ratings
Thermal Ratings objects (IntThrating) allow the denition of post-fault operational ratings for certain
branch elements, depending on the fault duration and the loading prior to the fault. Thermal Ratings
objects are stored in the Thermal Ratings folder in the Operational Library . They are two-dimensional
matrices, with cells that contain the "short time" post-fault ratings (in MVA), according to the pre-fault
loading (dened in the rst column) and the duration of the fault/overloading (dened in the rst row).
References to Thermal Ratings are dened on the Basic Data page of the dialogue of the target branch
elements. Elements that can use references to Thermal Ratings are:
Transmission lines (ElmLne).
2- and 3-winding transformers (ElmTr2) and (ElmTr3).
Series reactors (ElmSind).
Series capacitors (ElmScap).
Note that the rating table given on the Ratings page of the Thermal Rating object (when option Consider
short term ratings is enabled) is used solely for the contingency analysis command in PowerFactory. In
this calculation, the pre-fault loading conditions of the network components are determined after a base
load ow calculation. The contingency analysis is then performed using a load ow command, where
the post-contingency duration is specied.
To create a new Thermal Ratings object:
1. Open the folder Thermal Ratings from the Operational Library.
2. Click on the New Object icon and select Thermal Ratings.
3. The new object dialogue is displayed. To congure the table for the short-term ratings (only visible
if the option Consider short term ratings is checked), go to the Conguration page and:
Introduce the increasing values for the pre-fault loading axis (Prefault %). By default, values
between 0% and 80%, with increments of 5%, up to 84% are set.
Introduce the fault duration in minutes. Default values are: 360min, 20min, 10min, 5min, 3
min).
The pre-fault continuous rating (used as the base to calculate the loading before the fault) and the post-
fault continuous rating (assumed as the branch element post-fault rating if the fault duration is larger
than the largest duration time dened in the table) are dened on the Ratings page.
The values of a thermal rating object can be edited at any time by double-clicking on it to open the
Thermal Ratings dialogue. Similar to Circuit Breaker Ratings and Capability Curves, Thermal Ratings
DIgSILENT PowerFactory 15, User Manual 183
CHAPTER 12. PROJECT LIBRARY
objects can be made to be time-dependant by means of variations and expansion stages stored inside
the Thermal Ratings folder (refer to the Circuit Breaker Ratings section for an explanation on how to
dene time-dependant operational objects).
When a contingency analysis (ComSimoutage) is congured, the user can dene a post-contingency
time. According to the pre-fault loading found by the load ow used to calculate the base case, and
the post-contingency time (if specied), the ratings to be used in the contingency load ow are deter-
mined (based on the referred Thermal Ratings object). The loading of the branch elements after the
contingency load ow are calculated with respect to the new ratings.
For information about contingency analysis refer to Chapter 29 (Contingency Analysis).
12.4 Templates Library
The Templates folder is used to store and organize templates of network components (or groups of
components) for re-use in a power system model. Components from templates are created using the
graphical editor. Five kinds of templates are supported in PowerFactory:
1. Element template for single network elements: New single network elements with the same pa-
rameters 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 conguration as the origi-
nal substation (including its diagram).
4. Secondary Substation template: New secondary substations.
5. Branch template (composite branch): New branches with the same conguration 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 dened, 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 con-
tents (including the diagram) to the Templates folder. New templates for groups of objects will copy
the corresponding objects, together with their graphical information to a subfolder for groups of class
IntTemplate within the Templates Library.
For further information about working with templates, please refer to Section 9.2 (Dening Network
Models with the Graphical Editor).
Substation (composite node) templates ( or ), secondary substation ( ), busbar templates ( ),
branch templates ( ), and general templates ( ) can be selected from the Drawing Toolbox on the
right-hand pane of the PowerFactory GUI. To apply an element template:
Select the symbol for a substation, secondary substation, busbar, branch, or general template as
required.
Select the required template.
Insert the new element in the single line graphic.
Note: The use of Substation templates is recommended for diagrams of networks, where components
are grouped in branches and substations. In this case the composite nodes can be graphically
connected with the composite branch, forming an overview diagram of the complete network.
This section explains how to create and use templates.
184 DIgSILENT PowerFactory 15, User Manual
12.4. TEMPLATES LIBRARY
12.4.1 General Templates
Any kind of single network component (lines, transformers, terminals, etc.) can be used to dene
an "Element" template; this is done by right clicking the desired element on a single line graphic and
selecting Dene Template from the context sensitive menu, a dialogue where the name of the new
template is to be written pops up. After the name is given and the Ok button is pressed, a copy of the
selected element is stored in the templates folder. Similarly, a group of network components can be
used to dene a "Group" template, which will create a

Stemplate folder ( ) storing the objects from
the group together with their graphical information. If a group of elements containing substation and
branches has been selected the elements outside the substation will not be added to the template.
12.4.2 Substation Templates
Existing substations can be used as "models" to dene templates, which may be used later to create new
substations. A new substation template is created by right clicking on one of the busbars of the detailed
substation single line diagramand selecting Dene substation template fromthe 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.
Note: In case of creating templates which contain graphical information the default settings of the
names and result boxes dening their graphical representation (font, frame, size,...) are copied
into the template diagram so that they appear as in the source object(s).
12.4.3 Busbar Templates
Similar to creating substation templates, existing busbars can be used as a "models" to create user-
dened templates, which may be used later to create new busbars. A new busbar template is created
by right clicking on the detailed single line diagram or simplied diagram of busbar and selecting

SDene
substation template from the context sensitive menu. This action will copy the busbar together with all
of its contents (including detailed and simplied diagrams) in the Templates folder. If the detailed busbar
conguration has been modied, it is possible to right-click the (existing) simplied representation in the
main single line diagram and select

SUpdate representation.
Busbars that have been created by the user in this way can be added to the single line diagram by
selecting the

SGeneral Busbar System icon ( ). Note that for a busbar to be accessible from this icon,
both detailed and simplied diagrams must be included within the busbar template, as in the previously
described method.
12.4.4 Composite Branch Templates
Composite Branch templates can be dened as follow
1. To create a Branch template, navigate to the Library Templates folder in the Data Manager.
2. Right-click on the right pane of the Data Manager and select New Branch from the context
sensitive menu.
3. In the branch edit dialogue, dene the name of the branch and press Ok.
4. A new (empty) single line diagram will be displayed. Draw the required elements (for example, a
terminal with two lines connected, with each line connected at one end only).
DIgSILENT PowerFactory 15, User Manual 185
CHAPTER 12. PROJECT LIBRARY
5. To create an instance of the Branch from the newly created Branch template, navigate back to the
main grid diagram, then select the Composite Branch ( ) icon and connect the branch to existing
terminals on the Single Line Diagram.
Alternatively, composite branches can be dened in the Data Manager as described in Chapter 10:
Data Manager, Section 10.3.4 (Dening Composite Branches in the Data Manager).
12.4.5 Example Generator Template
Consider the following example, where there is a power station with multiple transformers, generators,
and control systems of the same type. The model can be created using templates as follows:
1. Firstly, dene type data for the transformer, generator, and control system.
2. Add a single instance of the generating unit (including generator transformer) to the network
model.
3. Dene a Template by selecting the generator, generator bus, and transformer, then right-click and
select Dene Template. Optionally include the control system model with the template.
4. To create another instance of the newly created template, select the General Templates icon ( )
and place it on the single line graphic.
12.4.6 Example Busbar Template
Consider the following example where there is network with multiple instances of a Double Busbar
System. However, the Double Busbar System required for this particular model is a variant on the
standard Double Busbar System, which requires two switches. To simplify the task of developing the
model, a Template may be dened as follows:
1. Place a standard Double Busbar System on the single line graphic.
2. Right-click and select Show Detailed Graphic of Substation.
3. Extend the busbar length, and then copy and duplicate the switches connecting "BB1" to "BB2"
(see Figure 12.4.1).
Figure 12.4.1: Detailed Busbar Layout
4. On the main Grid single line graphic, select Draw Existing Net Elements, press the Logical Switch
icon ( ) and draw the second switch connecting "BB1" to "BB2".
186 DIgSILENT PowerFactory 15, User Manual
12.4. TEMPLATES LIBRARY
5. Right-click either busbar in the overview diagram and select Dene Substation Template (see
Figure 12.4.2), then name the Template.
Figure 12.4.2: Example Busbar Template
6. Use the General Busbar System icon ( ) to place additional instances of the busbar system in
the power system model.
DIgSILENT PowerFactory 15, User Manual 187
CHAPTER 12. PROJECT LIBRARY
188 DIgSILENT PowerFactory 15, User Manual
Chapter 13
Grouping Objects
This chapter describes the management and functionality of the objects used to group network compo-
nents.
13.1 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 ow calculations (Area summary report and Area interchange report) can be generated.
Area objects are stored inside the Areas folder ( ) in the Network Data directory.
To dene 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 Dene Area from the context sensitive menu.
After the area has been dened, 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 colour 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 concerning the visualization of areas within the single line Graphic please refer to Chap-
ter 9: Network Graphics, subsection 9.7.6 (Graphic Attributes and Options). For information about
reporting Area results please refer to Chapter 17 (Reporting and Visualizing Results).
13.2 Virtual Power Plants
DIgSILENT PowerFactory 15, User Manual 189
CHAPTER 13. GROUPING OBJECTS
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 eld 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.
13.2.1 Dening 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 Dene Virtual Power Plant from the context
sensitive menu.
Figure 13.2.1: Dening 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 dening 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 eld Active Power. The dispatch of the
190 DIgSILENT PowerFactory 15, User Manual
13.2. VIRTUAL POWER PLANTS
belonging generators (variable pgini" from the Load Flow tab of the generator) is set by pressing the
Apply button. If the Maximal active power sum of the included generators (sum of the maximal active
power operational limit of the generators) is smaller than the active power to be dispatched, an error
message pops up. Otherwise the dispatch is set according the user dened 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 dened DPL scripts, which are
stored inside Virtual Power Plant object. To create new scripts or to edit the existing ones you
must open a data browser with the Scripts button.
Note: The Virtual Power Plant active power is part of the operation scenario subsets and therefore is
stored in the active operation scenario (if available). The active power is stored in the active ex-
pansion stage (if available) if no active operation scenario is active. Virtual Power Plants that are
created/deleted when a recording expansion stage is active; become available/non available only
if the corresponding variation is active and the expansion stage activation time is earlier than the
current study time.
13.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.
13.2.3 Inserting a Generator into a Virtual Power Plant and Dening 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. Dene 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.
DIgSILENT PowerFactory 15, User Manual 191
CHAPTER 13. GROUPING OBJECTS
Figure 13.2.2: Virtual Power Plant
13.3 Boundaries
Boundaries are used in the denition of network reductions and to report the interchange of active and
reactive power after a load ow calculation. Boundary objects (ElmBoundary ) may dene topological
regions by specifying a topological cut through the network.
New boundaries are created by specifying the cubicles that dene the cut through the network. The
cubicles in the boundary element dene a cut through the network, that together with the orientations are
used to dene 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 dene a new Boundary:
Multi select a set of cubicles and terminals in the single line diagram, which will dene the bound-
ary. For doing this: freeze (!) the network diagram and click on the corresponding ends of lines,
transformers etc., and on one busbar to dene the orientation of the boundary.
Then click with the right mouse button on the selection.
Choose in the context sensitive menu Dene. . . Boundary. . . . The dialogue of the new Bound-
ary will pop up.
192 DIgSILENT PowerFactory 15, User Manual
13.4. CIRCUITS (ELMCIRCUIT)
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 Orientation (direction used to determine
the interior region) is set to the branch; you can change it in order to direct the denition 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 colour 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 colour will be assigned
to that specic boundary colour.
If it belongs to exactly two of the interior regions of the boundaries to be drawn, its will be repre-
sented with dashed lines in the specic boundary colours.
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 colour 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 dened interior
regions are automatically detected by the program.
Note: Boundaries that are created or deleted when a recording expansion stage is active; become
available/not available only if the corresponding variation is active and the expansion stage acti-
vation time is earlier than the current study time.
13.4 Circuits (ElmCircuit)
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 dened
circuit object. This feature allows branches to be sorted according to the circuit to which they belong.
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.
DIgSILENT PowerFactory 15, User Manual 193
CHAPTER 13. GROUPING OBJECTS
Branches are added to a circuit using the pointer from the Circuit eld 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 avail-
able/not available only if the corresponding variation is active and the expansion stage activation
time is earlier than the current study time.
13.5 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 Denitions (ElmFeeder ).
A feeder is dened at a line or transformer end, and then the feeder denition algorithm searches the
system from the denition 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 dened it may be used to scale the loads connected along it according to a
measured current or power, to create voltage prole plots or to select particular branches and connected
objects in the network. Following load ow calculations, special reports can be created for the dened
feeders. To distinguish the different feeder denitions, they can be coloured uniquely in the single line
graphic. All feeder objects are stored in the Feeders folder ( ) in the Network Data folder.
A new feeder is created by right-clicking on a cubicle (that is, when the cursor is held just above the
breaker in the single line diagram) and selecting Dene Feeder. . . . Once the option Feeder has been
selected, the Feeder dialogue pops up. There you can dene 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 elds:
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 colour be used when the Feeder Denitions colouring mode ( ) is engaged in
the single line diagram.
Terminate feeder when

E 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 dened cubicle if desired. To manually terminate a feeder right-click a branch element
above the breaker (to select the desired cubicle where the feeder is going to end) and select Edit
Cubicle. The dialogue of the cubicle dialogue will be presented, and the Terminate feeder at this
point option may be checked.
194 DIgSILENT PowerFactory 15, User Manual
13.5. FEEDERS
Orientation The user may select the direction towards the feeder is dened. 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 dened 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 rst dene 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-ow
calculation function when:
At least one feeder is dened with load scaling according to a current or power.
The option Feeder Load Scaling is enabled in the load-ow command dialogue (basic options).
At least one load exists in the feeder area for which
A change in operating point affects the load-ow at the feeder position
The option Adjusted by Load Scaling has been enabled.
The load-ow calculation will then adjust the scaling of all adjustable loads in the feeder areas in such
a way that the load-ow at the feeder equals the current or power set-point.
The feeder setpoint is inuenced by the zone scaling. This means that the current or power ow as
calculated by the load-ow could differ from the setpoint in the feeder dialogue when the busbar where
the feeder is dened is part of a zone.
For instance, a feeder has a set-point of 1.22 MVA. The busbar is in a zone and the zone-scale is set to
0.50. The ow at the feeder position will thus be 0.61 MVA.
For information about colouring the single line graphic according to feeder denitions please refer to
Chapter 9: Network Graphics, Section 9.7.6 (Graphic Attributes and Options). For information about
voltage prole plots, please refer to Chapter 17 (Reporting and Visualizing Results).
Dening Feeders from a Terminal Element
Often it is useful to be able to quickly setup a feeder or many feeders from a source bus within the
system. There is a specic methodology within PowerFactory for this purpose. The procedure is as
follows:
1. Right-click the target terminal where the feeder/s should be dened from.
2. Choose the option Dene Feeder. . . from the context sensitive menu that appears. This step
is illustrated in Figure 13.5.1.
3. PowerFactory will automatically create Feeder objects for each of the connected two terminal el-
ements, for example lines and transformers. The list of created feeders is displayed in a pop-up
window. The default name for each feeder is the concatenation of the terminal name and the
connected object.
4. Adjust the feeder colours and denitions as required and remove any unwanted feeders.
DIgSILENT PowerFactory 15, User Manual 195
CHAPTER 13. GROUPING OBJECTS
Figure 13.5.1: Denition of Feeders from a terminal by right-clicking the terminal
Note: The Load Scaling options are part of the operation scenario subsets; therefore they are stored
in the active operation scenario (if available). The Load Scaling options are stored in the active
expansion stage (if available) if no active operation scenario is active. feeders that are created
or deleted when a recording expansion stage is active; become available/not available only if the
corresponding Variation is active and the expansion stage activation time is earlier than the cur-
rent study time.
13.6 Operators
For descriptive purposes, it is useful to sort network components according to their operators. Addition-
ally, system operators may nd it advantageous to generate summary reports of the losses, generation,
load, etc. according to their designated region(s). PowerFactory allows the denition of operators, the
assignment of network components to these operators, and the identication of operators on single line
diagrams by means of Operator objects. The Operator objects (ElmOperator, ) are stored in the
Operators folder ( ) in the Network Model directory.
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 colour to represent the operator se in the corresponding colouring mode of the single
line diagram.
Press Ok.
Network elements (class name Elm

) such as terminals, switches, lines, generators, transformers, re-


lays 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 avail-
able/not available only if the corresponding variation is active and the expansion stage activation
time is earlier than the current study time
196 DIgSILENT PowerFactory 15, User Manual
13.7. OWNERS
13.7 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 denition 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 direc-
tory. They are created following the same procedure described for operators. Network elements (class
name Elm

) such as terminals, switches, lines, generators, transformers, relays or composite models


(ElmComp), Substations (ElmSubstat ) and Branches (ElmBranch) can be assigned to an operator by
means of the reference Operator from the Description tab of their dialogue.
Note: Operators that are created or deleted when a recording expansion stage is active; become avail-
able/not available only if the corresponding variation is active and the expansion stage activation
time is earlier than the current study time
13.8 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 dened paths can be coloured in a single line graphic using the colouring function. New paths are
stored inside the Paths folder ( ) in the Network Data directory.
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 colour for the corre-
sponding colour representation mode in the single line diagram. The references to the objects
dening 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 rstly found path denition of which at least one of the selected objects is a member.
For information about the colouring function please refer to Chapter 9: Network Graphics, subsec-
tion 9.7.6 (Graphic Attributes and Options). For information about the use of the path denitions for the
analysis of the protective devices, please refer to Chapter 39 (Protection).
DIgSILENT PowerFactory 15, User Manual 197
CHAPTER 13. GROUPING OBJECTS
Note: Paths that are created or deleted when a recording expansion stage is active; become avail-
able/not available only if the corresponding variation is active and the expansion stage activation
time is earlier than the current study time
13.9 Routes
Routes are objects which are used to group line couplings (tower elements). Each coupling (ElmTow)
can have a reference to any dened route (ElmRoute, ). Each route has a color that can be used to
identify it in single line diagrams, when the corresponding colouring function is enabled.
For information regarding line couplings please refer to the technical reference for the transmission line
model (See Appendix C: Technical References of Models, section C.1.5.1(Line ElmLne)).
13.10 Zones
Components of a network may be allocated to a zone object (ElmZone, ) in order to represent ge-
ographical regions of the system. Each zone has a colour 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 can be quickly scaled from the zone edit dialogue.
Reports for the dened zones can be generated following calculations.
Upon being dened, zones are by default stored inside the Zones folder ( ) in the Network Data folder.
Zones are created by multi-selecting elements, right-clicking and choosing Dene Zone. . . from the
context sensitive menu. The option Add to Zone. . . can be selected when a zone(s) have already
been dened.
198 DIgSILENT PowerFactory 15, User Manual
Chapter 14
Operation Scenarios
14.1 Introduction
Operation Scenarios are used to store operational data such as generator dispatch, load demand, and
network line/switch status. Individual Operation Scenarios are stored within the Operations Scenarios
folder, and can be easily activated and deactivated. This Chapter describes PowerFactory operation
scenarios.
Note: Parameter Characteristics can also be used to modify network operational data - see Sec-
tion 16.2 (Parameter Characteristics) for details.
14.2 Operation Scenarios Background
Operation Scenarios are used to store network component parameters that dene the operational point
of a system. Examples of operational data include generator power dispatch and a load demand.
Operational data is typically distinguished from other component data because it changes frequently.
Compare for instance, how often a generator changes its power set-point, with how often the impedance
of the generator transformer changes.
Storing recurrent operation points of a network and being able to activate or deactivate them when
needed accelerates the analyses of the network under different operating conditions. PowerFactory can
store complete operational states for a network in objects called operation scenarios (IntScenario, ).
Operation scenarios are stored inside the operation scenarios folder ( ) in the project directory. You
can dene as many operation scenarios as needed; each operation scenario should represent a differ-
ent operational point. Figure 14.2.1 shows a project containing three operation scenarios (Peak Load,
Light Load and Shoulder Load) the content of the Peak Load scenario (its subsets) is shown in the
right pane of the data manager.
DIgSILENT PowerFactory 15, User Manual 199
CHAPTER 14. OPERATION SCENARIOS
Figure 14.2.1: Operation Scenarios and operation scenarios Subsets
A new operation scenario is dened by saving the current operational data of the active network com-
ponents. Once they have been created, operation scenarios can be activated to load the corresponding
operational data. If an operation scenario is active and certain operational data is changed, these
changes are stored in the active operation scenario (if you decide to save the changes). If the current
operation scenario is deactivated, the active network components revert to the operational data that
they had before the activation of the operation scenario (this is the default operational data). Changes
made to the default operational data do not affect data within existing operation scenarios.
Operation scenario data stored within each operation scenario is separated into subsets, with one
subset of operational data created for every grid in the network model. It is possible to exclude the
operational data for individual grids. This prevents the operation scenario from saving the operational
data for any subset where this option is active. For example, you might be working with a network model
with four grids, say North, South, East and West. Perhaps you do not wish to store operational data
for the West grid because the models in this grid have xed output regardless of the operational state.
By excluding the operational data subset for this grid, the default data can be used in all cases, even
though the operational data is different in the other three grids.
When working with active operation scenarios and active expansion stages, modications on the op-
erational data are stored in the operation scenario whereas the expansion stage keeps the default
operational data and all other topological changes. If no operation scenarios are active and new com-
ponents are added by the current expansion stage, the operational data of the new components will be
added to the corresponding operation scenario when activated.
Note: When an operation scenario is active, the operational data is distinguished in the network com-
ponent dialogues because it is written using a blue font colour.
14.3 How to use Operation Scenarios
This sub-section explains how to complete the common tasks you will need when working with operation
scenarios. The most common tasks are creating a new operation scenario, saving data to an operation
scenario, Activating an existing operation scenario, Deactivating an operation scenario and identifying
parameters stored within an operation scenario.
200 DIgSILENT PowerFactory 15, User Manual
14.3. HOW TO USE OPERATION SCENARIOS
14.3.1 How to create an Operation Scenario
There are two ways to create an operation scenario.
Method 1
Follow these steps:
1. In the data manager, right-click on the operation scenarios folder in the active project.
2. Select New Operation Scenario from the context-sensitive menu as shown in Figure 14.3.1.
The dialogue of the new operation scenario pops up.
Figure 14.3.1: Creating a new operation scenario object using the data manager.
3. Enter the name for the operation scenario in the name eld.
4. Press OK. The operation scenario will appear as a new object within the operation scenarios
folder.
Method 2
Follow these steps:
1. Fromthe main PowerFactory menu go to the File menu and select File Save Operation Scenario
as. . . (see Figure 14.3.2). The dialogue of the new operation scenario pops up.
Figure 14.3.2: Using the Main Menu to Save as a new operation scenario
DIgSILENT PowerFactory 15, User Manual 201
CHAPTER 14. OPERATION SCENARIOS
2. Enter the name for the operation scenario in the name eld.
3. Press OK. The new operation scenario is created within the operation scenarios project folder
and automatically activated and saved.
14.3.2 How to save an Operation Scenario
Why do you need to save Operation Scenarios?
Unlike all other PowerFactory data, changes to operational data are not automatically saved to the
database if an operation scenario is active. So, after you update an operation scenario (by changing
some operational data) you must save it. If you prefer automatic save behavior, you can activate an
automatic save option setting - see Section 14.5.1.
How to know if an Operation Scenario contains unsaved data
If any operational data (of a network component) is changed when an operation scenario is active, the
unsaved status of it is indicated by an asterisk (

) next to the icon for the operation scenario as shown


in Figure 14.3.3. The other situation that causes an operation scenario icon to appear with an asterisk
is when new network components are added to the model. Any operational parameters from these
models are not incorporated in the active operation scenario until it is saved.
Figure 14.3.3: An asterisk indicates unsaved changes in operation scenarios
Options to Save an Operation Scenario
There are four ways to save a modied operation scenario to the database. They are:
The menu entry Save Operation Scenario in PowerFactory s main le menu.
The button Save in the dialogue window of the operation scenario.
The button Save Operation Scenario ( ) in the main icon bar (see Figure 14.3.4).
Figure 14.3.4: The Save Operation Scenario Button in the Main Icon Bar
The context-sensitive menu (right mouse button) entry Action -> Save of the operation scenario
(see Figure 14.3.5).
202 DIgSILENT PowerFactory 15, User Manual
14.3. HOW TO USE OPERATION SCENARIOS
Figure 14.3.5: Saving an operation scenario using the context-sensitive menu
Note: The button Save as from the operation scenario dialogue (only available for active operation sce-
narios) can be used to save the current operational data as a new operation scenario. The new
operation scenario is automatically activated upon being created.
14.3.3 How to activate an existing Operation Scenario
Switching between already available operation scenarios is a common task. There are two methods for
activating an existing operation scenario.
Method 1
Follow these steps:
1. Go to the operation scenarios folder within your project using the data manager.
2. Right-click the operation scenario that you wish to activate. The context sensitive menu will ap-
pear.
3. Choose the option Activate from the menu. If a currently active operation scenario contains un-
saved data, you will be prompted to save or discard this information.
Method 2
Follow these steps:
1. From the main le menu choose the option Activate Operation Scenario. A pop-up dialog will
appear, showing you the available operation scenarios.
2. Select the operation scenario you wish to Activate and press OK. If a currently active operation
scenario contains unsaved data, you will be prompted to save or discard this information.
Note: The active operation scenario can be displayed in the status bar. To do this right-click the lower
right of the status bar and choose display options operation scenario.
14.3.4 How to deactivate an Operation Scenario
There are two ways to deactivate an active operation scenario.
DIgSILENT PowerFactory 15, User Manual 203
CHAPTER 14. OPERATION SCENARIOS
Method 1
Follow these steps:
1. Go to the operation scenarios folder within your project using the data manager.
2. Right-click the operation scenario that you wish to deactivate. The context sensitive menu will
appear.
3. Choose the option deactivate from the menu. If the operation scenario contains unsaved data,
you will be prompted to save or discard this information.
Method 2
From the main le menu choose the option Deactivate Operation Scenario. If the operation scenario
contains unsaved data, you will be prompted to save or discard this information.
Note: On deactivation of an operation scenario, previous operational data (the default operational
data) is restored.
14.3.5 How to identify operational data parameters
Because the operation scenario only stores a subset of the network data, it is useful to know exactly
what data is being stored by the operation scenario. This is relatively easy to see when you have an
active scenario. Data that is stored in the operation scenario is highlighted with a blue font. This appears
in both the object dialogues and the data manager browser as shown in Figures 14.3.6 and14.3.7.
Figure 14.3.6: Blue highlighted operational data in an element dialogue
204 DIgSILENT PowerFactory 15, User Manual
14.4. ADMINISTERING OPERATION SCENARIOS
Figure 14.3.7: Blue highlighted operational data in a browser window
14.4 Administering Operation Scenarios
In this sub-section the operation scenario administrative tasks are explained. This includes reporting
operational scenario data status, comparing operation scenarios, viewing the non-default running ar-
rangements, applying data from one operation scenario to another (copying), updating the base network
model, excluding grids from the operation scenario and creating a time based operation scenario.
14.4.1 How to view objects missing from the Operation Scenario data
When you add a component to a network, the data is not automatically captured in the active operation
scenario until you save the scenario. The operation scenario appears with an asterisk next to its name
in the data manager. If you want to get a list of all the objects that have operational data that is missing
from the active scenario, then you need to print the operation scenario report. To do this, follow these
steps:
1. Open the active operation scenario dialog by nding the operation scenario in the data manager
right-clicking it and selecting edit from context sensitive menu.
2. Press the Reporting button. A list of objects with data missing from the operation scenario is
printed by PowerFactory to the output window.
Note: If you double click a listed object in the output window the dialog box for that object will open
directly allowing you to edit the object. You can also right click the name in the output window and
use the function Mark in Graphic to nd the object.
14.4.2 How to compare the data in two operation scenarios
It is sometimes useful to compare data in two separate operation scenarios so that key differences can
be checked. To compare two operation scenarios:
1. Deactivate all operation scenarios that you wish to compare. Only inactive operation scenarios
can be compared.
2. Open the rst operation scenario dialog by nding the operation scenario in the data manager
right-clicking it and selecting edit from context sensitive menu.
3. Press the Compare button. A data window browser will appear.
DIgSILENT PowerFactory 15, User Manual 205
CHAPTER 14. OPERATION SCENARIOS
4. Choose the second operation scenario and press OK. A report of the operation scenario differ-
ences is printed by PowerFactory to the output window.
14.4.3 How to view the non-default Running Arrangements
Any running arrangements that are assigned to substations will be stored as part of the operational
data. The operation scenario has a function that allows you to view any substations with active running
arrangements that are different from the default running arrangement for that substation. The default
running arrangement is determined by the running arrangement that is applied to the substation when
no operation scenarios are active. To view all the non-default Running Arrangements follow these steps:
1. Open the active operation scenario dialog by nding the operation scenario in the data manager,
right-clicking it and selecting edit from context sensitive menu.
2. Press the Reporting RA button. PowerFactory prints a report of the non-default Running Arrange-
ments to the output window.
Note: Most of these actions are also available in context-sensitive menu when right-clicking on an op-
eration scenario (Action . . . ).
14.4.4 How to transfer data from one Operation Scenario to another
As explained in the chapter introduction, within each operation scenario there is a subset of operation
scenario data for each grid in the network model. Therefore, there are two options when transferring
data from one operation scenario to another, either copying all the operation scenario data at once, or
only copying a subset of data for an individual grid. Both methods are explained within this section.
Transferring operational data from one grid only
To transfer the operational data from a single grid subset to the same grid subset of another operation
scenario follow these steps:
1. Activate the target operation scenario.
2. Right-click the source operation scenario subset.
3. From the context sensitive menu select Apply. A pop-up dialog will appear asking you if you really
want to apply the selected operational data to the active operation scenario.
4. Click OK. The data is copied automatically by PowerFactory. Warning, any data saved in the
equivalent subset in the active scenario will be overwritten. However, it will not be automatically
saved.
Transferring operational data from a complete operation scenario
To transfer the operational data from a complete operation scenario to another operation scenario follow
these steps:
1. Activate the target operation scenario.
2. Right-click the source operation scenario.
3. From the context sensitive menu select Apply. A pop-up dialog will appear asking you if you really
want to apply the selected operational data to the active operation scenario.
4. Click OK. The data is copied automatically by PowerFactory. Warning, any data saved in the
active scenario will be overwritten. However, it will not be automatically saved.
206 DIgSILENT PowerFactory 15, User Manual
14.4. ADMINISTERING OPERATION SCENARIOS
14.4.5 How to update the default data with operation scenario data
As a user, sometimes you need to update the default operational data (the operational data parameters
that exist in the network when no operation scenario is active) with operational data from an operation
scenario within the project. To do this:
1. Deactivate any active operation scenario.
2. Right-click the operation scenario that you want to apply to the base model.
3. From the context sensitive menu select Apply. A pop-up dialog will appear asking you if you really
want to apply the selected operational data to the base network data
4. Click OK. The data is copied automatically by PowerFactory. Warning, any data saved in the base
network model will be overwritten.
14.4.6 How exclude a grid from the Operation Scenario data
Background
By default, each operation scenario contains several subsets, one for each grid in the network model.
For example, you might be working with a network model with four grids, say North, South, East and
West. In such a case each operation scenario would contain four subsets. Now it might be the case
that you do not wish to store operational data for the West grid because the models in this grid have
xed output etc. regardless of the operational state. By excluding the operational data subset for this
grid, the default data can be used in all cases, even though the operational data is different in the other
three grids.
How to exclude a Grid from the Operation Scenario
1. Select an operation scenario using the data manager.
2. Double-click the subset of the grid that you wish to exclude (you can only see the subsets in the
right panel of the data manager). A dialog for the subset should appear.
3. Check the Excluded option and the operational data from this grid will not be included within the
operation scenario the next time it is saved.
14.4.7 How to create a time based Operation Scenario
Background
By default, operation scenarios do not consider the concept of time. Therefore, when you activate
a particular operation scenario, the operational parameters stored within this scenario are applied to
network model regardless of the existing time point of the network model. However, sometimes it is
useful to be able to assign a validity period for an operation scenario, such that if the model time is
outside of the validity period, then the changes stored within the operation scenario will be ignored and
the network model will revert to the default parameters.
The concept of validity periods can be enabled in PowerFactory by using the Scenario Scheduler. There
are two tasks required to use a Scenario Scheduler. Firstly, it must be created, and secondly it must
be activated. These tasks are explained below.
How to create a Scenario Scheduler
To create a Scenario Scheduler follow these steps:
DIgSILENT PowerFactory 15, User Manual 207
CHAPTER 14. OPERATION SCENARIOS
1. Go to the operation scenarios folder within your project using the data manager.
2. Click the New Object icon . A object selection window will appear.
3. From the Element drop down menu choose the Scenario Scheduler (IntScensched).
4. Press OK. The scenario scheduler object dialogue will appear as shown in Figure 14.4.1. Give
the scheduler a name.
Figure 14.4.1: The Scenario Scheduler (IntScensched) dialogue
5. Double-click on the rst cell within the operation scenario. A scenario selection dialogue will
appear.
6. Choose an operation scenario to schedule.
7. Adjust the start time of the schedule by double clicking the cell within the Start Time column.
8. Adjust the end time of the schedule by double clicking the cell within the End Time column.
9. Optional: To add more scenarios to the scheduler, right-click an empty area of the scheduler and
Append Rows. Repeat steps 5-9 to create schedules for other operation scenarios.
How to Activate a Scenario Scheduler
When rst created, a scenario scheduler is not automatically activated. To activate it, follow these steps:
1. Go to the operation scenarios folder within your project using the data manager.
2. Right-click the scenario scheduler object that you wish to activate and choose the option Acti-
vate from the context sensitive menu. The operation scenario validity periods dened within the
scenario scheduler will now determine whether an operation scenario is activated automatically
based on the study case time.
Note: It is possible to create more than one scenario scheduler per project. However, only one may
be active. Also, if you have dened overlapping validity periods for operation scenarios within
the scenario scheduler, then the operation scenario listed rst (lowest row index) in the scenario
scheduler will be activated and all other scenarios ignored.
208 DIgSILENT PowerFactory 15, User Manual
14.5. ADVANCED CONFIGURATION OF OPERATION SCENARIOS
14.5 Advanced Conguration of Operation Scenarios
This sub-section describes some advanced conguration options for the operation scenarios. This
includes adjusting the automatic save settings and modifying the data that is stored within the operation
scenarios. Note for new users, it is recommended to use the default settings.
14.5.1 How to change the automatic save settings for Operation Scenarios
As mentioned in Section 14.3.2, by default operation scenarios do not automatically save your modi-
cations to the network data operational parameters at the time the changes are made. As a user, you
can enable automatic saving of operation scenario data and you can alter the automatic save interval. It
is also possible to change the save interval to 0 minutes so that all operational data changes are saved
as soon as the change is made. To change the save interval for operation scenarios, follow these steps:
1. Open the PowerFactory User Settings by clicking the ( icon on the main toolbar).
2. Select the Data Manager page.
3. In the operation scenario section of the page, enable the option Save active Operation Scenario
automatically.
4. Change the Save Interval time if you would like to alter the automatic save interval from the default
of 15 minutes. Setting this value to 0 minutes means that all operation scenarios will be saved
automatically as soon as operational data is modied.
Note: If an operation scenario is active any changes to the network model operational parameters
are stored within such an scenario. If no operation scenario is active, then the changes are
stored within the network model as usual, within a grid or within a recording expansion stage. A
changed operation scenario is marked by a

" next to the operation scenario name in the status


bar. In the data manager the modied operation scenario and operation scenario subset are also
marked ( ).
14.5.2 How to modify the data stored in Operation Scenarios
Background
PowerFactory denes a default set of operational data for each object within the network model. This
is the information that is stored within the operation scenarios. However, it is possible to alter the
information that is stored to a limited extent by creating a Scenario Conguration. The procedure is
divided into two tasks. Firstly, a special Scenario Conguration folder must be created and then the
object denitions can be created within this folder.
Task 1: Creating a Scenario Conguration Folder
To create a scenario conguration folder follow these steps:
1. Go to the Settings folder within the project using the data manager.
2. Click the New Object icon . A object selection window will appear.
3. Choose the Scenario Conguration (SetScenario). A scenario conguration dialog will appear.
You can rename it if you like.
4. Press OK.
DIgSILENT PowerFactory 15, User Manual 209
CHAPTER 14. OPERATION SCENARIOS
Task 2: Dening the Operational Data Parameters
Once you have created the scenario conguration folder (task 1 above), then you can create the object
denitions that determine which parameters are dened as operational data. Follow these steps:
1. Deactivate any active operation scenario.
2. Open the Scenario Conguration folder object using the data manager.
3. Press the Default button. PowerFactory then automatically creates the object denitions accord-
ing to the defaults.
4. Open the object denition that you would like to change by double clicking it. The list of default
operational data parameters is shown in the Selected Variables panel of the dialog box that ap-
pears.
5. You can remove an operational parameter of this object by double clicking the target parame-
ter from the Selected Variables panel. Likewise, a variable can be added to this list by clicking
the black triangle underneath the cancel button and then adding the variable name to the list of
parameters.
6. Once you have altered the dened parameters, click OK.
7. Repeat steps 4-6 for as many objects as you would like to change.
8. Open the scenario conguration folder object again (step 2) and press the Check button. Power-
Factory will notify you in the output window if your changes are accepted.
Note: Some variables cannot be removed from the default operational parameters due to internal de-
pendencies. If you need to remove a certain variable but the check function doesnt allow you to,
it is suggested that you contact DIgSILENT support to discuss alternative options.
210 DIgSILENT PowerFactory 15, User Manual
Chapter 15
Network Variations and Expansion
Stages
15.1 Introduction
As introduced in Chapter 4 (PowerFactory Overview), Variations and Expansion Stages are used to
store changes to network data, such as parameter changes, object additions, and object deletions. This
Chapter describes how to dene and manage Variations, and presents an example case. The term
Variation" is used to collectively refer to Variations and Expansion Stages.
The use of Variations in PowerFactory facilitates the recording and tracking of data changes, indepen-
dent of changes made to the base Network Model. Data changes stored in Variations can easily be
activated and deactivated, and can be permanently applied to the base Network Model when required
(for example, when a project is commissioned).
The concept of having a permanent graphic" in PowerFactory means that graphical objects related to
Variations are stored in Diagrams folders, and not within Variations. When a Variation is inactive, its
graphic (if applicable) is shown on the Single Line Graphic in yellow. Turning on Freeze Mode ( ) hides
inactive variations graphics.
When a project uses Variations, and the user wants to make changes to the base network model
directly, Variations should be deactivated, or the Study Time set to be before the activation time of the
rst Expansion Stage (so that there is no recording Expansion Stage).
In general there are two categories of data changes stored in Variations:
1. Changes that relate to a future project (e.g. a potential or committed project). The changes may
be stored in a Variation to be included with the Network Model at a particular date, or manually
activated and deactivated as required by the user.
2. Changes that relate to data corrections or additions based on the current (physical) network. The
changes may be stored in a Variation in order to assess the model with and without the changes,
to track changes made to the model, and to facilitate reversion to the original model in case the
changes are to be revised.
Notes regarding Variations and Expansion Stages:
General:
The user may dene as many Variations and Expansion Stages as required.
DIgSILENT PowerFactory 15, User Manual 211
CHAPTER 15. NETWORK VARIATIONS AND EXPANSION STAGES
Variations and Expansion Stages cannot be deleted when active.
Variations may also be used to record operational data changes, when there is no active
Operation Scenario.
Expansion Stages are by default sorted according to their activation time in ascending order.
To quickly show the recording Expansion Stage, project name, active Operation Scenario,
and Study Case, hover the mouse pointer over the bottom right corner of the PowerFactory
window, where (by default) the project name is shown. To change this to display the recording
Expansion Stage, choose Display Options Recording Expansion stage.
Activating and deactivating Variations:
Active Variations and Expansion Stages are shown with red icons in the Data Manager.
The Activation Time of Expansion Stages can only be modied when the parent Variation is
inactive.
To activate or deactivate single or multiple Variations in the Data Manager, navigate to the
Variations" folder, select and right-click on the Variation(s) and choose to activate or deacti-
vate the selected Variation(s).
In the active Study Case, the Variation Conguration" object stores the status of project
Variations. It is automatically updated as Variations are activated and deactivated.
Recording changes:
Elements in PowerFactory generally include references to Type data. Changes to Type data
are not recorded in Expansion Stages. However, changes to Element Type references are
recorded.
When there are multiple active Expansion Stages, only the Recording Expansion Stage
stores changes to Network Data (shown with a dark red icon and bold text). There can be
only one recording Expansion Stage per study case.
With the exception of objects added in the active Recording Expansion Stage, objects (e.g.
Terminals in the base network model) cannot be renamed while there is a Recording Ex-
pansion Stage.
DPL:
Deleted objects are moved to the PowerFactory Recycle Bin, they are not completely deleted
until the Recycle Bin is emptied. If a DPL script is used to create an Expansion Stage,
and Expansion Stage objects are subsequently deleted, re-running the DPL script may rst
require the deleting of the Expansion Stage objects from the Recycle Bin. This is to avoid
issues with references to objects stored in the Recycle Bin.
15.2 Variations
To dene a new Variation (IntScheme):
1. First, either:
From the Main Menu, select Insert Variation.
In a Data Manager, right-click on the Variations folder ( ) and from the context-sensitive
menu select New Variation.
In a Data Manager, select the Variations folder and click on the New Object icon . Ensure
that the Element eld is set to Variation (IntScheme), and press Ok.
2. Dene the Variation Name.
3. Optionally set the Variation Colour. This is used to highlight modications introduced by the Vari-
ation in the Single Line Graphic.
212 DIgSILENT PowerFactory 15, User Manual
15.3. EXPANSION STAGES
4. On the second page of the Basic Data tab, optionally select to Restrict Validity Period of the
Variation.
The starting" and completed" Activation Time are set automatically according to the Expansion Stages
stored inside the Variation. The starting" time is the activation time of the earliest Expansion Stage,
and the completed" time is the activation time of the latest Expansion Stage. If no Expansion Stages
are dened, the activation time is set by default to 01.01.1970.
To activate a previously dened Variation, in the Data Manager, right-click on the Variation and from
the context-sensitive menu select Activate. The Variation and associated Expansion Stages will be
activated based on their activation times and the current study case time.
In the Variation dialogue, the Contents button can be used to list the Expansion Stages stored within
the Variation.
15.3 Expansion Stages
To dene a new Expansion Stage (IntSstage):
1. First, either:
Right-click on the target Variation and select New Expansion Stage.
Select the target Variation and click on the New Object button in the Data Managers icon
bar. Set the Element eld to Expansion Stage (IntStage) and press Ok.
2. Dene the Expansion Stage Name.
3. Set the Expansion Stage Activation Time.
4. Optionally select to Exclude from Activation to put the Expansion Stage out of service.
5. Optionally enter Economical Data on the Economical Data page (see Chapter 34 (Techno-Economical
Calculation) for details).
6. Press OK.
7. Select whether or not to set the current Study Time to the Activation Time of the dened Expansion
Stage. See Section 15.5 for details.
From the Expansion Stage dialogue, the following buttons are available:
Press Contents to view changes introduced by the Expansion Stage.
Press Split to assign changes fromthe recording Expansion Stage to a target (see Section 15.8.3).
Press Apply to apply the changes of an Expansion Stage (only available if the parent Variation is
inactive). Changes are applied to the Network Model, or to the recording Expansion Stage (see
Section 15.8.1).
15.4 The Study Time
The study case Study Time determines which Expansion Stages are active. If the Study Time is equal to
or exceeds the activation time of an Expansion Stage, it will be active (provided that the parent Variation
is active, and provided that Exclude from Activation" is not selected in the Expansion Stage or an active
Variation Scheduler). The Study Time can be accessed from:
DIgSILENT PowerFactory 15, User Manual 213
CHAPTER 15. NETWORK VARIATIONS AND EXPANSION STAGES
The Date/Time of Calculation Case icon .
Clicking on the lower right corner of the PowerFactory window, where the time of the active Study
Case is displayed.
The Main Menu under Edit Project DataDate/Time of Study Case, or Edit Project Data
Study Case and then the button.
The Data Manager in the active Study Case folder, object Set Study Time".
15.5 The Recording Expansion Stage
When a Variation is activated for a study case, the active Expansion Stage with the latest activation time
is automatically set to the recording Expansion Stage. If there are multiple Expansion Stages with this
same activation time, the stage that previously set to the recording stage will remain as the recording
Expansion Stage. Changes made to the network data by the user are saved to this stage.
As discussed previously, the Study Time can be changed in order to set the active Expansion Stages,
and as a consequence, set the recording Expansion Stage". To simplify selection of the recording
Expansion Stage, in the Data Manager it is possible right-click an Expansion Stage, and select Set
Recording Expansion stage to quickly modify the Study Time to set a particular Expansion Stage as
the recording Expansion Stage.
As noted in 15.1, unless an Operation Scenario is active, changes made to operational data are stored
in the recording Expansion Stage.
15.6 The Variation Scheduler
As an alternative to setting the activation time of Expansion Stages individually, Variation Schedulers
(IntSscheduler ) may be used to manage the activation times and service status of each Expansion
Stage stored within a Variation. Multiple Variation Schedulers can be dened within a particular Varia-
tion, but only one may be active at a time. If there is no active Variation Scheduler, the Expansion Stage
activation times will revert to the times specied within each individual Expansion Stage.
To dene a Variation Scheduler:
1. Open a Data Manager, and navigate to the Variation where the Scheduler is to be dened. Then,
either:
Right-click on the Variation and select New Variation Scheduler.
Click on the New Object button and select Variation Scheduler (IntScheduler).
2. Press the Contents button to open a data browser listing the included stages with their activation
times and service statuses, and modify as required.
The activation time and status of Expansion Stages referred to be a Variation Scheduler can only be
changed when the Variation is active, and the Variation Scheduler is inactive. Note that Expansion
Stage references are automatically updated in the scheduler.
Note: If the parent Variation is deactivated and reactivated, the Variation Scheduler must be re-activated
by the user, if required.
214 DIgSILENT PowerFactory 15, User Manual
15.7. VARIATION AND EXPANSION STAGE EXAMPLE
15.7 Variation and Expansion Stage Example
Figure 15.7.1 shows an example project where there are two Variations, New Connection" and New
Line". The study time is set such that:
Expansion Stage Ld1", shown with a light red icon and bold text, is active and is the recording
Expansion Stage.
Expansion Stage Ld2", shown without any colouring, is inactive.
Expansion Stage Line and T2", shown with a dark red icon, is active.
The Variation Scheduler Scheduler1" within the New Connection" Variation, shown with a red icon and
bold text, is active. Therefore, the activation time and service status of each Expansion Stage within the
Variation New Connection" is determined from the activation times specied in this Variation Scheduler.
The alternative Variation Scheduler Scheduler2" is inactive (only one Variation Scheduler can be active
at a time).
Also shown in Figure 15.7.1 on the right-side pane are the modications associated with Expansion
Stage Ld1". In this stage, a load and an associated switch and cubicle has been added. Note that
since graphical objects are stored within the Diagrams folder, no graphical changes are included in the
Variation.
Figure 15.7.1: Example Variations and Expansion Stages - Data Manager
Figure 15.7.2 shows the Single Line Graphic of the associated network. Since the Expansion Stage
Ld2" is inactive, the Load Ld2" is shown in yellow.
DIgSILENT PowerFactory 15, User Manual 215
CHAPTER 15. NETWORK VARIATIONS AND EXPANSION STAGES
Figure 15.7.2: Example Variations and Expansion Stages - Single Line Graphic
15.8 Variation and Expansion Stage Housekeeping
15.8.1 Applying Changes from Expansion Stages
Changes stored in non-active Expansion Stages can be applied to the Network Data folder, or if there is
an active recording Expansion Stage, to the recording Expansion Stage. To apply the changes, either:
In the Data Manager, right-click the Expansion Stage and select Apply Changes, or in the Ex-
pansion Stage dialogue press Apply (only available if the Expansion Stage is within a non-active
Variation).
In the Data Manager, select item(s) within an inactive Expansion Stage, right-click and select
Apply Changes. If required, delete the item(s) from the original Expansion Stage.
15.8.2 Consolidating Variations
Changes that are recorded in a projects active Variations can be permanently applied to the Network
Data folder by means of the Consolidation function. After the consolidation process is carried out, the
active (consolidated) Expansion Stages are deleted, as well as any empty active Variations.
To consolidate an active Variation(s):
1. Right-click on the active study case and from the context-sensitive menu select Consolidate Net-
work Variation.
2. A conrmation message listing the Variations to be consolidated is displayed. Press Yes to imple-
ment the changes.
3. View the list of consolidated Variations and Expansion Stages in the Output Window
216 DIgSILENT PowerFactory 15, User Manual
15.8. VARIATION AND EXPANSION STAGE HOUSEKEEPING
Note: Variations stored within the Operational Library must be consolidated in separate actions. To
consolidate a Variation stored in the Operational Library, right-click and from the context-sensitive
menu select Consolidate.
15.8.3 Splitting Expansion Stages
Changes stored in the recording Expansion Stage can be split into different Expansion Stages within
the same Variation using the Merge Tool.
To split an Expansion Stage:
1. Open the dialogue of the recording Expansion Stage and press Split. Alternatively, right-click and
from the context-sensitive menu select Split.
2. A data browser listing the other Expansion Stages from the parent Variation is displayed. Double-
click on the target Expansion Stage.
3. The Merge Tool window is displayed, listing all the changes from the compared Expansion Stages.
Select the changes to be moved to the Target" stage by double-clicking on the Assigned from cell
of each row and selecting Move or Ignore. Alternatively, double-click the icon shown in the Target"
or Source" cell of each row.
4. Press Split. All the changes marked as Move will be moved to the target Expansion Stage, and
the changes marked as Ignore will remain in the original Base" stage. Once completed, the
Variation is automatically deactivated.
15.8.4 Comparing Variations and Expansion Stages
Variations and Expansion Stages can be compared, as can any other kind of object in PowerFactory,
using the Merge Tool. To compare objects using the Merge Tool, a base object" and an object to
compare" must be selected. The comparison results are presented in a data browser window, which
facilitates the visualization, sorting, and possible merging of the compared objects. Comparison results
symbols indicate the differences between each listed object, dened 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.
To compare two Variations:
1. In an active project, right-click on a non-active Variation and fromthe context-sensitive menu select
Select as Base to Compare.
2. Right-click on the (inactive) Variation to compare and from the context-sensitive menu select Com-
pare to "Name of the base object".
3. The Merge Tool dialogue (ComMerge) is displayed. By default, all of the contained elements
are compared. The Compare elds can be congured however, to compare only the objects or
selected subfolders.
4. Once the Compare options are set, press the Execute button.
DIgSILENT PowerFactory 15, User Manual 217
CHAPTER 15. NETWORK VARIATIONS AND EXPANSION STAGES
5. When prompted, select Yes to deactivate the project and perform the comparison.
Figure 15.8.1 shows an example comparison of two Variations (based on the example presented in
Section 15.7), where the Variation New Line" is set as the Base" for comparison. The Assigned from"
options are set such that all Expansion Stages from both New Line" and New Connection" Variations
will be merged into a single Variation, which will retain the name of the Base" Variation New Line".
Figure 15.8.1: Merge Tool Window
Refer to Chapter 18: Data Management, Section 18.4 (Comparing and Merging Projects) for further
details on use of the Merge Tool.
15.8.5 Colouring Variations the Single Line Graphic
The single-line graphic colouring function offers three modes which may be used to identify changes
from Variations and Expansion Stages. To set the colouring mode, go to Diagram Colouring, and under
Other select Variations / System Stages, and the desired mode from the following:
Modications in Recording Expansion Stage. Colours can be dened for Modied, Added, and
Touched but not modied components.
Modications in Variations / System Stages. Objects are shown in the colour of the Variation in
which the object is last added or modied.
Original Locations. Objects are shown in the colour of the grid or the Variation in which the object
is added.
15.8.6 Variation Conicts
Active Expansion Stages with the same activation time must be independent. This means that the
same object can not be changed (modied, deleted, or added) in active Expansion Stages with the same
218 DIgSILENT PowerFactory 15, User Manual
15.8. VARIATION AND EXPANSION STAGE HOUSEKEEPING
activation times. If there are dependent Expansion Stages, when the Variation is activated PowerFactory
will display an error message to the Output Window and the activation process will be cancelled. Other
conicts 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.
A previously deleted object is deleted. In this case the deletion is ignored and a warning message
is displayed in the Output Window.
An object is changed or deleted in a Expansion Stage but it does not exist. In this case the change
is ignored and a warning message is displayed in the Output Window.
A deleted object is changed in a Expansion Stage. In this case the change is applied to the
deleted target object and a warning message is displayed in the Output Window.
15.8.7 Error Correction Mode
As well as recording the addition and removal of database objects, variations also record changes to
database objects. Human error or the emergence of new information can result in a need to update a
change. Suppose that at some time after the change has been introduced, the user wishes to update
the change. If additional variations have been created since the change was introduced, this will be
hard to achieve. The user must rst remember in which Expansion Stage the change was introduced,
then they must make this Expansion Stage the Recording Stage before nally updating the change or
rectifying the error. The Error Correction mode is intended to simplify this procedure. The following
example illustrates use of the Error Correction Mode.
Suppose that a project is planned consisting of a base case and 2 Variations, namely Variation 1 and
Variation 2. Suppose that the base case network contains a line object (ElmLne) of length 1km. When
Variation 1 is recorded, the length of the line is updated from the base case value to a new value of
10km. This change is recorded in the Expansion Stage associated with Variation 1. Subsequently, the
user creates Variation 2 and records a new set of changes in the Expansion Stage of Variation 2. The
user makes no changes to the line object in Variation 2, but suddenly realises that the length of the line
is incorrect. The length should be 15km not 10km. If the user makes a change to the line length while
Variation 2 is recording this change will be recorded and applied while Variation 2 is activated. However,
as soon as Variation 2 is deactivated, providing Variation 1 is activated, the line length will return to the
10km value. This is incorrect and the error is therefore still present in the project.
Instead of recording the change in the Recording Expansion Stage of Variation 2, the user should turn
on the Error Correction Mode. This can be achieved by rst ensuring that the Project Overview Window
is visible. (If not, select Window Show Project Overview Window). Then, by Right clicking in the
Project Overview Window on the title line of the Network Variations section. A contextual menu as
illustrated in Figure 15.8.2 will appear. The option Error Correction Mode should be selected from the
contextual menu.
Figure 15.8.2: Activating Error Correction Mode
DIgSILENT PowerFactory 15, User Manual 219
CHAPTER 15. NETWORK VARIATIONS AND EXPANSION STAGES
Once the Error Correction Mode has been switched on, any changes introduced will now, not automati-
cally be stored in the Recording Expansion Stage. Instead, they will be stored in the Expansion Stage
containing the record of the last change to the object in question. For the example described, this will be
in the Expansion Stage associated with Variation 1, where the length was updated from 1km to 10km.
The 10km value will be updated to 15km. If the Error Correction Mode is now switched off, again by
right clicking in the Project Overview Window, the user can proceed knowing that the error has been
eliminated from the project.
Please note, if any change to the line had been recorded during Variation 2 prior to the application of the
Error Correction Mode, not necessarily a change to the length of the line, but a change to any ElmLne
parameter, then with Error Correction Mode active, the change would be recorded in the Recording
Expansion Stage of Variation 2. This is because the Expansion Stage containing the record of the last
change to the object in question would infact be the one in Variation 2. In this case, the error would still
be present in the project.
15.9 Compatibility with Previous PowerFactory
Releases
15.9.1 General
Prior to PowerFactory v14, System Stages" where used to analyze design alternatives as well as dif-
ferent operating conditions. They recorded model changes (addition/removal of equipment, topology
changes, etc.), operational changes (switch positions, tap positions, generator dispatch, etc.), and
graphical changes. Since version 14.0, the System Stage denition has been replaced by Variations
and Operation Scenarios, which provides enhanced exibility and transparency.
When importing (and then activating) a project that was implemented in a previous PowerFactory ver-
sion, the activation process will automatically make a copy of the project, rename it (by appending _v14
or _v15 to the project name) and migrate the structure of the copied project.
The migration process creates new Project Folders (such as Network Data, Study Cases, Library fold-
ers, etc.) and moves the corresponding information to these project folders. Additionally, existing Sta-
tions and Line Routes elements are migrated to their corresponding denition in v14 and v15 (i.e.
Substations and Branches).
If the project contains System Stages, they will not be converted automatically. They will be still
be dened, and functions related to their handling will still be available. If the user wishes to take
full advantage of the Variation and Operational Scenario concepts, then the System Stages must be
converted manually. The procedure is described in the following section.
15.9.2 Converting System Stages
The conversion process of System Stages is described with reference to an example project opened in
PowerFactory v14, with the structure shown in Figure 15.9.1. The project contains three grids Grid 110
kV", Grid 220 kV" and Grid 33 kV". Each Grid contains a 2010 Base Case" System Stage with three
System Stages 2010 MAX", 2010 MIN", and 2011 Base Case". The 2011 Base Case" stage in-turn
contains two stages, 2011 MAX" and 2011 MIN". The Study Cases are congured so that the 2011
MAX" Study Case and the 2011 MAX" stages are active.
220 DIgSILENT PowerFactory 15, User Manual
15.9. COMPATIBILITY WITH PREVIOUS POWERFACTORY
RELEASES
Figure 15.9.1: Example Project - System Stage Structure
To convert the System Stages to Variations / Operation Scenarios:
1. Activate the Study Case that uses the base grids (in this example Base Case 2009"), so that no
System Stage is active.
2. Create a Variations folder inside the Network Data folder by opening the Data Manager window
and from the left pane select the Network Data folder (located inside the Network Model folder),
right-click and select New Project Folder. In the dialogue window that appears, type in a name
(for example Variations") and select Variations" as the folder type. Press OK.
3. Dene a Variation inside the Variations folder. From the Data Manager window select the Varia-
tions folder, right-click and select New Variation. In the dialogue window that appears, type in
a name (for example 2010"). Press OK, and select Yes to activate the new Variation.
DIgSILENT PowerFactory 15, User Manual 221
CHAPTER 15. NETWORK VARIATIONS AND EXPANSION STAGES
4. The Expansion Stage dialogue will be displayed. Type in a name and set the activation time as
appropriate (in this case, it is set to 01.01.2010). Press OK, and select Yes to set the stage as
recording. After this step, the Variation should be active and the Expansion Stage be recording.
5. From the Data Manager, select a Study Case that uses System Stages (it should not be active),
right-click and select Reduce Revision. This will copy both network data and operational data from
the System Stages used by the study case into the recording Expansion Stage, and will delete the
System Stages (to copy operational data to an Operation Scenario, an Operation Scenario must
be active at this step). In this example, the 2010 Base Case" is reduced, followed by the 2011
Base Case" - this is because the complete System Stage branch, containing all System Stages
between the selected stage and the target folder are reduced. Figure 15.9.2 shows the result of
reducing the 2010 Base Case" and 2011 Base Case" to Variations.
Figure 15.9.2: Reduce Revision performed for the 2011 Base Case
6. After converting System Stages 2010 Base Case" and 2011 Base Case" (with Network Data
modications) to Variations, and System Stages 2010 MAX", 2010 MIN", 2011 MAX", and 2011
MIN" (with operational modications) to Operation Scenarios, the Variations and Operation Sce-
narios are assigned to Study Cases. Figure 15.9.3 shows the resulting project structure for this
example, where all System Stages have been converted to Variations and Operation Scenarios.
222 DIgSILENT PowerFactory 15, User Manual
15.9. COMPATIBILITY WITH PREVIOUS POWERFACTORY
RELEASES
Figure 15.9.3: Resulting Project Structure
DIgSILENT PowerFactory 15, User Manual 223
CHAPTER 15. NETWORK VARIATIONS AND EXPANSION STAGES
224 DIgSILENT PowerFactory 15, User Manual
Chapter 16
Parameter Characteristics,
Load States, and Tariffs
16.1 Introduction
This chapter provides details on how to dene and use characteristics, load states, load distribution
states, and tariffs.
16.2 Parameter Characteristics
General Background
In PowerFactory any parameter may be assigned a range of values (known as a Characteristic) that is
then selectable by date and time, or by a user-dened trigger. The range of values may be in the form
of a one-dimensional vector or a two-dimensional matrix, such as where:
Load demand varies based on the minute, day, season, or year of the study case.
Generator operating point varies based on the study being conducted.
Line/transformer ratings, generator maximum power output, etc. vary with ambient temperature.
Wind farm output varies with wind speed, or solar farm output varies with irradiance.
The assignment of a characteristic may be made either individually to a parameter or to a number of
parameters. New characteristics are normally dened in either:
The Characteristics folder of the Operational Library.
The Global Characteristics folder within Database Library.
Studies which utilize characteristics are known as parametric studies.
Scales and Triggers
The value of the characteristic is dened by the value of the scale. New scales are normally dened in
the Scales folder of the Operational Library.
DIgSILENT PowerFactory 15, User Manual 225
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
When a scale is created, a means to set the scale, and thereby to set the parameter to the correspond-
ing value, is required. This is called a trigger (SetTrigger, ). After a new scale has been dened,
a trigger is automatically created in the active study case folder (see also Chapter 11, Section 11.13:
Triggers). When a trigger is edited and a current value is set the scale is set and the parameter value
is changed. When a different study case is activated, or a new study case is created, and a load-ow is
performed, all relevant triggers are copied into the study case folder and may be used in the new study
case. Triggers for characteristics may be created at any time in the Data Manager within the Library
Operational Library Characteristics Scale folder, or at the time the Characteristic is created.
Triggers for characteristic can generally be accessed from either:
The Date/Time of Study Case icon ( ).
The Trigger of Study Case icon ( ).
Figure 16.2.1 illustrates an application of scales and triggers, where the study case time is used to set
the output of a load based on the hour of the day.
Figure 16.2.1: Illustration of Scales and Triggers
Available Characteristics
Table 16.2.1 shows a summary of the Parameter Characteristics available in PowerFactory. Note: Click
on Characteristic description to link to the relevant section.
226 DIgSILENT PowerFactory 15, User Manual
16.2. PARAMETER CHARACTERISTICS
Characteristic Description of Application
16.2.1: Time Charac-
teristics
Parameter(s) are to be modied based on
the day, week, or month set in the Study
Time. Parameter states may be interpolated
between entered values.
16.2.2: Prole Char-
acteristics
Parameter(s) are to be modied according
to seasonal variation and the day, week and
month set in the Study Time.
16.2.3: Scalar Char-
acteristics
Parameter(s) are to be manually modied by
a scalar value.
16.2.4: Vector Charac-
teristics with Discrete
Scales
Discrete parameter states are to be se-
lectable.
16.2.4: Vector Charac-
teristics with Continu-
ous Scales
Parameter states may be interpolated be-
tween entered values.
16.2.4: Vector Char-
acteristics with Fre-
quency Scales
Parameter(s) are to be modied with Fre-
quency.
16.2.4: Vector Char-
acteristics with Time
Scales
Parameter(s) are to be modied based on
a user-dened scale referencing the Study
Time.
16.2.5: Matrix Param-
eter Characteristics
Parameter states are based on two variables,
and may be interpolated between entered val-
ues.
16.2.6: Parameter
Characteristics from
Files
Parameter states and the trigger (optional) is
to be read from a le.
16.2.7: Characteristic
References
Reference link between a parameter and a
Characteristic
Table 16.2.1: Summary of Parameter Characteristics
Usage
With the exception of the Scalar Characteristic, the Usage" eld at the bottom of the characteristic
dialogue can be used to specify how Values" are applied to the parameter that the characteristic is
associated with:
Relative in % will multiply the parameter by the percentage value.
Relative will multiply the parameter by the value.
Absolute will replace the current parameter with the absolute value entered.
Characteristic Curves
For continuous characteristics, various approximation methods are available to interpolate and extrapo-
late from the entered Values:
Constant: holds the Y-value in between X-values.
Linear: uses a linear interpolation.
Polynomial: uses a polynomial function with a user dened degree.
DIgSILENT PowerFactory 15, User Manual 227
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
Spline: uses a spline function.
Hermite: uses Hermite interpolation.
The approximation curve will be shown in the diagram page of the Characteristic dialogue. The inter-
polated Y-value may vary considerably depending on the entered data and the approximation function
applied.
Figure 16.2.2 highlights the difference between interpolation methods for an example characteristic with
a continuous scale (shown on the horizontal axis from -20 to +45). For instance, at a trigger value of
25, linear interpolation will give an output value of 60, whereas constant interpolation will give an output
value of 40.
Figure 16.2.2: Approximated characteristics
Note that Approximation methods are not available for discrete characteristics.
Creating a Characteristic
To create a Characteristic, right-click on the desired parameter (e.g. Active Power), right-click and se-
lect New Characteristic (or edit previously created characteristics) and create the desired characteristic.
Details of how to create the different types of characteristics are provided in the following sub-sections,
including an example application of characteristics.
16.2.1 Time Characteristics
General background on characteristics and their properties is provided in Section 16.2. The time char-
acteristic determines the value of the parameter according to the study time (SetTime). The time char-
228 DIgSILENT PowerFactory 15, User Manual
16.2. PARAMETER CHARACTERISTICS
acteristic (ChaTime) uses an internally dened Recurrence period that is convenient to dene a peri-
odically recurring characteristic. The user simply selects a Recurrence and enters the corresponding
values. The Recurrence values available are:
Daily
Weekly
Monthly
Yearly
None
There are two options for dening the data source of values used in a time characteristic, Table and
File. The Table data is stored internally within PowerFactory . The File data is stored externally to
PowerFactory in a Comma Separated Values (*.csv) le or User Dened Text File.
Time characteristic using internal table
To dene a project time characteristic for a parameter using a table:
In the edit dialogue of the target network component right-click on the desired parameter.
Select Add Project Characteristic Time Characteristic . . .
Click the New Object button
The edit dialogue of the Time Characteristic will be displayed. Dene the parameter name and
select Data Source Table.
Select the desired Recurrence and the Resolution.
Dene the Usage and Approximation and enter the characteristic values in the table.
Press Ok.
Time characteristic using an external le
To dene a project time characteristic for a parameter using an external le:
In the edit dialogue of the target network component right-click on the desired parameter.
Select Add Project Characteristic Time Characteristic . . .
Click the New Object button
The edit dialogue of the Time Characteristic will be displayed. Dene the parameter name and
select Data Source File.
Select the desired Filename and le Format.
Dene the le conguration including the Unit of time or Time Stamped Data format, Time
Column and Data Column and Column separator and Decimal separator.
Dene the Usage and Approximation.
Press Ok.
Discrete Time Characteristics
The discrete time characteristic (ChaDisctime) is provided for backward compatibility with previous ver-
sions of PowerFactory . It is more restricted than the time characterisitc and hence its use is limited
since PowerFactory version 15.1. Similar to the time characteristic, the discrete time characteristic uses
an internally dened series of time scales that are convenient to use to dene the characteristic. The
user simply selects a scale (e.g. day of the week) and enters the corresponding values.
DIgSILENT PowerFactory 15, User Manual 229
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
16.2.2 Prole Characteristics
General background on characteristics and their properties is provided in Section 16.2.
The prole characteristic is used to select a time characteristic (ChaTime) corresponding to individual
days or group of days and each season. The prole characteristic can also be used to select a time
characteristic for certain holiday days.
To dene a project prole characteristic for a parameter:
In the edit dialogue of the target network component right-click on the desired parameter.
Select Add Project Characteristic Prole Characteristic ...
Click the New Object button
The edit dialogue of the Prole Characteristic will be displayed.
Select the Seasons page and dene one or more seasons with a Description, Start Day, Start
Month, End Day and End Month. Note that Seasons can not overlap with each other.
Select the Groups of Days page and dene grouping for each day and holiday.
Select the Holidays page and dene one or more holidays with a Description, Day, Month, if it
is Yearly or select a holiday Year.
Select the General page, Right Click and Select Select Element/Type . . . or Double-Click on
each relevant cell and select or create a time characteristics for each group of days, holiday and
season.
Press Ok.
Yearly Growth Characteristic
In addition to seasonal characteristic variation, a yearly growth characteristic can also be dened. A
yearly growth characteritic is dened using a time characteristic (ChaTime) with a recurrence value of
"None", for the specied years.
Note: All daily and yearly characteristics must be relative. No absolute-value characteristics are per-
missive
16.2.3 Scalar Characteristics
General background on characteristics and their properties is provided in Section 16.2.
Scalar characteristics are used when a parameter should vary according to a mathematical relationship,
with reference to a scale value x". For example, a Parameter Characteristic may reference a Scalar
and Trigger (TriVal ) with a Unit of Temperature. Then, if the temperature is set to, say, 15 deg, the
parameter that this characteristic is applied to will thus be multiplied by 2 15 + 3 = 33.
To dene a project scalar characteristic for a parameter:
In the edit dialogue of the target network component right-click on the desired parameter (e.g.
Active Power).
Select Add Project Characteristic Scalar Value. . .
Click the New Object button
230 DIgSILENT PowerFactory 15, User Manual
16.2. PARAMETER CHARACTERISTICS
The edit dialogue will be displayed. Click Select from the drop down menu next to Scale and
select an existing scale and press Ok, or create a new scale:
Click on the New Object button to create a Scalar and Trigger (TriVal ) and set the desired
units of the scale. The associated trigger is automatically created in the current study case.
Press Ok.
Dene the Usage and enter parameters for A and b.
Press Ok.
16.2.4 Vector Characteristics
Vector Characteristics may be dened with reference to Discrete Scales, Continuous Scales, Frequency
Scales, and Time Scales.
Vector Characteristics with Discrete Scales (TriDisc)
General background on characteristics and their properties is provided in Section 16.2.
A discrete parameter characteristic is used to set the value of a parameter according to discrete cases
set by the trigger of a discrete scale. A discrete scale is a list of cases, each dened by a short text
description. The current value is shown in the characteristic dialogue in red, according to the case that
is currently active.
To dene a new project discrete parameter characteristic:
In the edit dialogue of the target network component right-click on the desired parameter.
Select Add Project Characteristic One Dimension Vector. . .
Click the New Object button
The edit dialogue of the one dimension vector characteristic (generic class for one dimensional
characteristics) will be displayed. Click Select from the drop down menu next to Scale and select
an existing scale and press Ok, or create a new scale:
Click on the New Object button and select Discrete Scale and Trigger (TriDisc).
Write the name of the scale cases (one case per line).
Press Ok twice.
Dene the Usage and enter the characteristic values.
Press Ok.
The diagram page for the discrete characteristic shows a bar graph for the available cases. The bar for
the case that is currently active (set by the trigger) is shown in black.
Vector Characteristics with Continuous Scales (TriCont)
General background on characteristics and their properties is provided in Section 16.2.
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.
To dene a new project continuous parameter characteristic:
In the edit dialogue of the target network component right-click on the desired parameter.
Select Add Project Characteristic One Dimension Vector. . .
DIgSILENT PowerFactory 15, User Manual 231
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
Click the New Object button
The edit dialogue of the one dimension vector characteristic (generic class for one dimensional
characteristics) will be displayed. Click Select from the drop down menu next to Scale and select
an existing scale and press Ok, or create a new scale:
Click on the New Object button and select Continuous Scale and Trigger (TriCont ).
Enter the unit of the X values.
Append the required number of rows (right-click on the rst row of the Scale table and select
Append n rows) and enter the X values.
Press Ok.
Dene the Usage, enter the characteristic Y values, and dene the Approximation function.
Press Ok.
Vector Characteristics with Frequency Scales (TriFreq)
General background on characteristics and their properties is provided in Section 16.2.
A frequency characteristic is a continuous characteristic with a scale dened by frequency values in
Hz. The denition procedure is similar to that of the continuous characteristics, although the Frequency
Scale (TriFreq) is selected.
Vector Characteristics with Time Scales (TriTime)
General background on characteristics and their properties is provided in Section 16.2.
Time parameter characteristics are continuous characteristics using time scales. A time scale is a
special kind of continuous scale that uses the global time trigger of the active study case. The unit of
the time trigger is always a unit of time but may range from seconds to years. This means that changing
the unit from minutes to hours, for instance, will stretch the scale 60-fold. The units s, m, and h are
respectively, the second, minute and hour of normal daytime. A Time Scale may be used, for example,
to enter four equidistant hours in a year (1095, 3285, 5475, and 7665).
The denition procedure is similar to that of the continuous characteristics, although the Time Scale
(TriTime) scale is selected.
16.2.5 Matrix Parameter Characteristics
General background on characteristics and their properties is provided in Section 16.2.
When dening a matrix parameter characteristic, two scales must be dened. The rst scale, that for
columns, must be a discrete scale. The scale for rows may be a discrete or continuous scale.
To dene a new project matrix parameter characteristic:
In the edit dialogue of the target network component right-click on the desired parameter.
Select Add Project Characteristic Two Dimension - Matrix. . .
Click the New Object button
The edit dialogue of the matrix characteristic will be displayed. Click Select from the drop down
menu next to each Scale and select an existing scale and press Ok, or create a new scales.
Scales can be dened as discussed in previous sections.
A column calculator can be used to calculate the column values, as a function of other columns. This
is done by pressing the Calculate. . . button. Once the values have been entered and the triggers have
been set, the Current Value eld will show the value to be used by the characteristic.
232 DIgSILENT PowerFactory 15, User Manual
16.2. PARAMETER CHARACTERISTICS
16.2.6 Parameter Characteristics from Files
General background on characteristics and their properties is provided in Section 16.2.
When a series of data is available in an external le, such as an Excel le, or tab or space separated
le this data may be utilized as a characteristic if the Parameter Characteristic from File" (ChaVecle
object) is used. The external le must have the scale column for the data series in column 1.
To dene a new parameter characteristic from le:
In the edit dialogue of the target network component right-click on the desired parameter.
Select New Characteristic Characteristic from File. . .
Complete the input data elds, including:
Dene (or select) a scale and trigger. Scales can be dened as discussed in previous sec-
tions.
Generally the Column should be set to the default of 1. The eld is used for specialized
purposes.
Set the Factor A and Factor B elds to adjust or convert the input data. The data contained
in column 2 of the external le will be adjusted by y = ax + b where x" is the data in the
external le and y" is what will be loaded into the characteristic.
Set the Usage and Approximation.
Once the le link has been set, press the Update button to upload the data from the external
le to the characteristic.
16.2.7 Characteristic References
When a characteristic is dened for an objects parameter, PowerFactory automatically creates a char-
acteristic reference (ChaRef object). The characteristic reference is stored within the PowerFactory
database with the object. The characteristic reference acts as a pointer for the parameter to the char-
acteristic. The characteristic reference includes the following parameters:
Parameter the name of the object parameter assigned to the characteristic. This eld cannot be modi-
ed by the user.
Characteristic the characteristic which is to be applied to the parameter.
Inactive a check-box which can be used to disable to characteristic reference.
The ability to disable the characteristic for individual objects using the object lter and the Inactivate
option makes data manipulation using characteristics quite exible.
16.2.8 Edit Characteristic Dialogue
Once a parameter has a characteristic dened, then an option to Edit characteristic(s) becomes visible
on the parameters context sensitive menu, i.e. select parameter and right-click Edit characteristic(s).
Once selected, the Edit characteristics dialogue appears which lists all the characteristics referenced by
the parameter. The Edit characteristics dialogue provides a graphical representation of the character-
istic and allows characteristics to be inserted, appended and deleted. The Edit characteristics dialogue
also allows modication of individual characteristics values, triggers and characteristic activation and
deactivation.
Note: By default the value of the rst active characteristic is assigned to the parameter.
DIgSILENT PowerFactory 15, User Manual 233
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
16.2.9 Browser in Scales mode
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
page. An example of a browser showing the Scales page is shown in Figure 16.2.3 (remember that
the browser must be in detail mode to see these tabs).
Figure 16.2.3: Browser in Scales mode
The browser in Scales mode shows all characteristics dened for the displayed objects, together with
the original value and the current value as determined by the characteristic. In the example, various
scales are applied to modify the active power from 100 MW to the Current Value. The current values
will be used in all calculations.
The browser Scales mode is not only used to quickly inspect all dened characteristics, but may also
be helpful in dening new characteristics for individual or multiple elements, by selecting the relevant
elds and right-clicking with the mouse button.
The Scales tab of the browser will only show the Characteristic column when at least one of the
objects has a characteristic dened for a parameter. It is thus necessary to dene 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 dene a Project 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 eld and assign the vector characteristic to the
relevant parameter.
Open a browser with all loads, activate the detail mode and select the Scales tab.
Select the characteristic column (right-click Select Column) and then right-click the selected
column.
Use the Select Project Characteristic. . . option and select the vector characteristic.
234 DIgSILENT PowerFactory 15, User Manual
16.2. PARAMETER CHARACTERISTICS
16.2.10 Example Application of Characteristics
Consider the following example, where the operating point of a generator should be easily modied by
the user to predened values within the capability limits of the machine.
Firstly, the Active Power of the synchronous generator is set to the maximum capability of 150 MW.
Then, a vector characteristic is added to the Active Power parameter. To create a new Project Vector
Characteristic, right-click on the Active Power parameter (pgini) and select Add Prole Characteristic
One Dimension - Vector. . . . Click on the New Object icon and dene a characteristic called "Active
Power" in the ChaVec dialogue.
A new discrete scale is required. To create the scale, click on the arrow next to Scale and select
Select. . . . Click on the New Object icon and create a new Discrete Scale and Trigger (TriDisc). The
Discrete Scale and Trigger is named "Output Level", with three cases as shown in Figure 16.2.4.
Figure 16.2.4: Active Power Discrete Scale and Trigger
Click on ok to return to the Vector Characteristic. Dene the values for the different loading scenarios.
Values are entered in %, and thus Usage is set to relative in %. Figure 16.2.5 shows the resultant
vector characteristic, including a reference to the Scale Output Level and the current parameter value.
Figure 16.2.5: Active Power Parameter Characteristic
Next, a matrix characteristic is added to the Reactive Power parameter of the generator in a similar
DIgSILENT PowerFactory 15, User Manual 235
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
fashion to the Active Power characteristic. A new discrete scale named Operating Region is created
(for the Columns) and three operating regions are dened (see Figure 16.2.6).
Figure 16.2.6: Reactive Power Discrete Scale and Trigger
The scale Operating Region is linked to the Scale for Columns, and the previously dened scale
Output Level is selected for the Scale for Rows. Absolute Mvar values are entered in the Matrix
Characteristic as shown in Figure 16.2.7.
236 DIgSILENT PowerFactory 15, User Manual
16.2. PARAMETER CHARACTERISTICS
Figure 16.2.7: Reactive Power Matrix Characteristic
Now that the characteristics and triggers are dened, the Operating Region and Real Power Output
Level triggers can be used to quickly modify the operating point of the generator (see Figure 16.2.8).
Figure 16.2.8: Setting of Discrete Triggers
DIgSILENT PowerFactory 15, User Manual 237
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
16.3 Load States
This section describes Load States, as used in Reliability and Optimal Capacitor Placement calcula-
tions.
16.3.1 Creating Load States
Pre-requisites:
Prior to creating load states, a time-based parameter characteristics must be dened for at least one
load in the network model. See Time Characteristics (ChaTime) in section 16.2.1 and Vector Charac-
teristics with Time Scales (TriTime) in section 16.2.4 for more information on parameter characteristics,
as well as the example later in this section.
Follow these steps to create the load states:
1. For calculation of load states:
(Reliability) click the Create Load States icon ( ) on the reliability toolbar and select Load
States. Optionally inspect or alter the settings of the Reliability Calculation and Load Flow
commands.
(Optimal Capacitor Placement) Click on Load Characteristics page of the Optimal Capacitor
Placement command and select Create Load States.
2. Enter the time period for calculation of load states:
(Reliability) Enter the year.
(Optimal Capacitor Placement) Enter Start Time and End Time. The time period is inclusive
of the start time but exclusive of the end time.
3. Enter the Accuracy. The lower accuracy percentage, the more load states are generated.
4. Optional: Limit the number of load states to a user-dened value. If the total number of calculated
load states exceeds this parameter then either the time period of the sweep or the accuracy should
be reduced.
5. Optional: Change the threshold for ignoring load states with a low probability by altering the
Minimum Probability. If selected, states with a probability less than this parameter are excluded
from the discretisation algorithm.
6. Click Execute to generate the load states.
16.3.2 Viewing Existing Load States
After you have generated the load states as described above, or if you want to inspect previously
generated load states follow these steps:
1. Using the data manager, select the Reliability Assessment or Optimal Capacitor Placement
Command within the Active Study Case.
2. Optional: Use the lter ( ) (in the Data Manager window) to select the load states object ( ).
There should now be created load states visible in the right panel of the data manager.
3. Locate the load states object and double-click to view the load states.
238 DIgSILENT PowerFactory 15, User Manual
16.3. LOAD STATES
16.3.3 Load State Object Properties
The load states object properties are as follows:
Basic Data
Year The Year used to create the load states.
Number of loads: Number of loads considered in the load cluster object.
Number of states: This equals the number of columns in the Clusters" table.
Loads: Table containing each load considered by the load states creation algorithm and their
peak demand.
Clusters: Table containing all load clusters. The rst row in the table contains the probability
of the corresponding cluster. The remaining rows contain the power values of the loads. Every
column in the table contains a complete cluster of loads with the corresponding power.
Diagram Page
Displayed Load: Use the selection control to change the load displayed on the plot.
The plot shows the cluster values (P and Q) for the selected load where the width of each bar represents
the probability of occurrence for that cluster in the given year.
16.3.4 Example Load States
The example below shows how load states can be generated for a network model with four Loads (Ld1,
Ld2, Ld3, and Ld4).
1. The Vector Characteristic shown in Figure 16.3.1 is applied to both Active Power and Reactive
Power of load Ld4 only, with the associated Time Scale shown in Figure 16.3.2 Ld4 is initially set
to 3.1 MW, 0.02 Mvar.
DIgSILENT PowerFactory 15, User Manual 239
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
Figure 16.3.1: Load State Vector Characteristic
Figure 16.3.2: Time Scale for Load State Characteristic
2. Load States are generated by clicking Create... Load States (as discussed in the preceding
section).
3. PowerFactory calculates the resultant Load States:
The maximum value of each load L
p
is determined for the time interval considered. In the
240 DIgSILENT PowerFactory 15, User Manual
16.4. LOAD DISTRIBUTION STATES
example, Ld4 has a peak load of 4.03 MW.
The load interval size (Int) is determined for each load, where Int = L
p
Acc and Acc is
the accuracy parameter entered by the user. For the example above using an accuracy of 10
%, the interval size for Active Power is 0.403 MW.#
For each hour of the time sweep and for each load determine the Load Interval: LInt =
Ceil
_
L
i
Int
_
where L
i
is the load value at hour i.
Identify common intervals and group these as independent states.
Calculate the probability of each state based on its frequency of occurrence.
The independent states and their probabilities are shown in Figure 16.3.3. Load states for Ld4 vary
according to the characteristic parameters, where the states from characteristic values of 93 % and 100
% have been combined due to the selection of 10 % accuracy in the calculation. Load states for Ld1,
Ld2, and Ld3 do not vary, since characteristics were not entered for these loads.
Figure 16.3.3: Load States (SetCluster) dialogue box
16.4 Load Distribution States
This section describes how to create load distribution states, as used by the Reliability calculation.
16.4.1 Creating Load Distribution States
Pre-requisites:
Prior to creating load distribution states a substation/s must have been dened within the model. A
distribution curve must have also been dened (accessed from the reliability page of the substation/s).
Follow these steps to create the load distribution states:
1. Click the Create Load States button ( ) on the reliability toolbar. The load states creation
dialogue will appear.
2. Optional: Use the Reliability Assessment selection control to inspect or alter the settings of the
Reliability Calculation command. This selection control points to the default reliability command
within the active Study Case.
3. Optional: Use the Load Flow selection button to inspect and alter the settings of the load ow
command. This selection control points to the default load-ow command within the active Study
Case.
DIgSILENT PowerFactory 15, User Manual 241
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
4. Enter the Minimum Time Step in hours (suggested to be the minimum step size on the load
distribution curve).
5. Enter the Maximum Power Step (0.05pu by default).
6. Optional: Force Load State at S = 1.0pu so that a state is created at P = 1.0pu, irrespective of the
load distribution curve data and step sizes entered.
7. Click Execute to generate the load distribution states.
16.4.2 Viewing Existing Load Distribution States
After you have generated the load states as described above, or if you want to inspect previously
generated load states follow these steps:
1. Using the data manager, select the Reliability Assessment Command within the Active Study
Case.
2. Optional: Use the lter ( ) (in the Data Manager window) to select the load distribution states
object ( ). There should now be created load distribution states visible in the right panel of the
data manager.
3. Locate the load distribution states object and double-click to view the load states.
16.4.3 Load Distribution State Object Properties
The distribution load states object properties are as follows:
Basic Data
Year The Year used to create the load states.
Clusters: Table containing all substation clusters. The rst row in the table contains the probability
of the corresponding cluster. The remaining rows contain the power values of the substations.
Every column in the table contains a complete cluster of substations with the corresponding power.
Number of substations: Number of substations considered in the Distribution State object.
Number of states: This equals the number of columns in the Distribution State table.
Diagram Page
Displayed Station: Use the selection control to change the load displayed on the plot
The plot shows the cluster values (Apparent power in pu with reference to the substation load) for the
selected substation where the width of each bar represents the probability of occurrence for that cluster.
16.4.4 Example Load Distribution States
In this example, a Load Distribution Curve is entered for a substation.
1. The Load Distribution Curve shown in Figure 16.4.1 is entered for the substation (Apparent power
in pu of substation load).
242 DIgSILENT PowerFactory 15, User Manual
16.4. LOAD DISTRIBUTION STATES
Figure 16.4.1: Substation Load Distribution Curve (IntDistribution)
2. Load States are generated by clicking Create... Load Distribution States (as discussed in the
preceding section).
3. The resultant Load Distribution States are shown in Figure 16.4.2. Force Load State at S = 1.0
p.u. has not been selected in this instance.
Figure 16.4.2: Load Distribution States (SetDistrstate)
DIgSILENT PowerFactory 15, User Manual 243
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
16.5 Tariffs
This section describes the denition of Time Tariffs (as used in Reliability calculations), and Energy Tar-
iffs (as used in Reliability calculations and Optimal RCS Placement calculations, and Techno-Economical
calculations).
16.5.1 Dening Time Tariffs
A time tariff characteristic can be dened by taking the following steps:
1. Choose the Select option from the Tariff selection control on the reliability page of the load
element. A data manager browser will appear with the Equipment Type Library selected.
2. Optional: If you have previously dened a Tariff characteristic and want to re-use it, you can
select it now. Press OK to return to the load element to reliability page.
3. Create a time tariff object by pressing the New Object button from the data browser toolbar. A
type creation dialogue should appear.
4. Select Time Tariff and press OK. A Time Tariff dialogue box will appear.
5. Select the unit of the interruption cost function by choosing from the following options:
$/kW Cost per interrupted power in kW, OR
$/customer Cost per interrupted customer, OR
$ Absolute cost.
6. Enter values for the Time Tariff (right click and Append rows as required).
7. Press OK to return to the load element reliability page.
8. Optional: enter a scaling factor for the Tariff.
Example Time Tariff
An example Time Tariff characteristic is shown in Figure 16.5.1. In this example, Approximation is set
to constant, i.e. no interpolation between data points, and Unit is set to $. An interruption to a load for
a duration of 200 minutes would lead to a cost of $20, irrespective of the active power consumption.
244 DIgSILENT PowerFactory 15, User Manual
16.5. TARIFFS
Figure 16.5.1: Example Time Tariff
16.5.2 Dening Energy Tariffs
An energy tariff characteristic can be dened by taking the following steps:
1. Choose the Select option from the Tariff selection control on the reliability page of the load
element. A data manager browser will appear with the Equipment Type Library selected.
2. Optional: If you have previously dened a Tariff characteristic and want to re-use it, you can
select it now. Press OK to return to the load element to reliability page.
3. Create an energy tariff object by pressing the New Object button from the data browser toolbar.
A type creation dialogue should appear.
4. Select Energy Tariff and press OK. An Energy Tariff dialogue box will appear.
5. Enter Energy and Costs values for the Energy Tariff (right click and Append rows as required).
6. Press OK to return to the load element reliability page.
7. Optional: enter a scaling factor for the Tariff.
Example Energy Tariff
An example Energy Tariff characteristic is shown in Figure 16.5.2. In this example, Approximation is
set to constant, i.e. no interpolation between data points. A fault which leads to energy not supplied of
2.50 MWh would result in a cost of
DIgSILENT PowerFactory 15, User Manual 245
CHAPTER 16. PARAMETER CHARACTERISTICS,
LOAD STATES, AND TARIFFS
$9, 20 2, 50 1000 = $23000 (16.1)
Figure 16.5.2: Example Energy Tariff
246 DIgSILENT PowerFactory 15, User Manual
Chapter 17
Reporting and Visualizing Results
17.1 Introduction
This chapter presents the tools and options included in PowerFactory to view the results of the pre-
formed calculations. Key concepts in this topic are Result Boxes, Virtual Instruments (VIs), Results
Objects, and Variable Selection.
17.2 Results, Graphs and Documentation
This section presents the set of objects, commands and tools, dedicated to the handling and presenta-
tion of results in PowerFactory.
17.2.1 Editing Result Boxes
Results are displayed with help of result boxes in the single line diagrams, as described in Chapter 9:
Network Graphics, Section 9.9 (Results Boxes, Text Boxes and Labels). To edit result boxes (e. g. for
selecting additional variables to be displayed) the so-called Format Editor is used. With the Format
Editor one can dene text reports, from very small result boxes to more complex and comprehensive
reports within DIgSILENT PowerFactory .
For a detailed technical description of the report generating language, see Appendix E (The DIgSILENT
Output Language).
The Format 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 denition:
selecting three variables out of three predened lists
selecting one or more variables out of all available variables
writing a new user dened format, using the PowerFactory Format Editor.
Because of all these, the result boxes are used as example to introduce the nature and use of the
Format Editor. As explained in Chapter 9: Network Graphics, Section 9.9.1 (Result Boxes) the result
boxes may be right-clicked to select a particular format. Figure 17.2.1 shows the Format Editor dialogue.
DIgSILENT PowerFactory 15, User Manual 247
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.2.1: The Format Editor
Different variables can be added by appending new rows. The user should double click in the corre-
sponding row in the column Variable" and the list of all available variables will appear.
This Format Editor has a page to change the format by selecting variables, and a page to manually
dene a format. What is displayed on this page depends on the input mode of the Format Editor, this
can be changed using the button Input Mode.
Figure 17.2.2: The Format Editor - Selection Mode
As shown in Figure 17.2.2 the two modes are:
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.
248 DIgSILENT PowerFactory 15, User Manual
17.2. RESULTS, GRAPHS AND DOCUMENTATION
It is also possible to dene how the variable will be showed by selecting the columns Show Name,
Show =, Decimal Places and Show Unit. A preview of the Result Box is showed in the Preview
eld.
Format Editor
This is the most exible, but also the most difcult mode. In this mode, any text and any available
variable, in any color, can be entered in the Form. The highly exible DIgSILENT output language
allows for complex automatic reports. This mode also offers a fast append of predened lines.
The User dened button acts like the input mode User Selection" with one important difference.
Where the User Selection" mode is used to redene the complete form text, the User dened
button appends a line for each set of variables to the existing form text.
In Figure 17.2.1, the editor is in the default User Selection mode. The three predened rows show the
names of the variables, their units and their descriptions.
The example in Figure 17.2.1 shows that the active and reactive power at the element Xnet have been
selected as well as power factor. This selection will produce three lines of DIgSILENT output language
code. This code can be viewed by changing the Input Mode to Format Editor". The text editor in this
page will be disabled, because a format is selected instead of typing in the codes ourselves. However,
it still shows the format of our selection as:
#.## $N,@:m:P:_LOCALBUS
#.## $N,@:m:Q:_LOCALBUS
#.## $N,@:m:cosphi:_LOCALBUS
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 rst #-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 ll 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 Format 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,@:m:cosphi:_LOCALBUS,@:[m:cosphi:_LOCALBUS
The [-sign encodes for the unit of the variables, instead 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,@: m:cosphi:_LOCALBUS,@:m:cosphi:_LOCALBUS
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
DIgSILENT PowerFactory 15, User Manual 249
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
will lead to the following text in the result box:
P -199,79 MW
Other often used format characters are %, which encodes the full variable description, and &, which
encodes he short description, if available.
17.2.2 Output of Device Data
The ComDocu command (Output of Device Data" ) is used to produce an output of device data. The
output can be used in reports or may help to check the entered data. Reports of calculated results can
be made with the ComSh command. See Section 17.2.3 (Output of Results) for more information.
The Short Listing
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 modied by the user. When the report form is changed,
it is stored in the Settings" object of the active project. This does not inuence the reports of other
projects. The output of objects without a dened 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 addition, type data can
be included (Print Type Data in Element"). Device Data is split into the different calculation functions
like Load-Flow" or Short-Circuit". The Basic Data" is needed in all the different calculations. Selected
Functions" shows a list of the functions whose data will be output. If one wants to report the device data
for all functions move all functions from left to right. If Selected Functions" is empty no device data will
be output.
Device Data
Figure 17.2.3: Device data page
250 DIgSILENT PowerFactory 15, User Manual
17.2. RESULTS, GRAPHS AND DOCUMENTATION
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 species the set of elements for the report. This page is de-
scribed 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 its own annex. There is either the default annex or the individual annex. To use
the default annex check "Use default Annex". Changes of the annex are stored in the "Settings"
of the active project. The local annex is stored in the "Output of Device Data" command. To
modify the local annex press the "Change Annex" button. See (The Annex for Documentation)
for details.
Title
Most reports display a title on top of each page. The reference "Title" denes the contents of the
header.
Filter/Annex
Figure 17.2.4: Filter/Annex page
If one wants to report elements without dening a set of objects "Use Selection" on the "Device Data"
page must not be checked. The objects in the list "Selected Objects" will be ltered 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 eld will be
set as default annex for the selected class.
The Annex for Documentation
DIgSILENT PowerFactory 15, User Manual 251
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The "Annex for Documentation" stores the annex for the documentation of results. The annex number
and the page number for the rst page are unique for each class.
Figure 17.2.5: The annex dialogue
Objects This column shows the different classes with their title.
Annex This column stores the annex number shown in the Annex eld of the report.
First Page This column denes the start page for the class in the report. The rst page number de-
pends on the class of the rst element output in your report. The page number of its class is the
page number of the rst page.
17.2.3 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 17.2.6. To
generate a report with input data use the ComDocu command, see Section 17.2.2 (Output of Device
Data).
Several different reports, depending on the actual calculation, can be created. The radio button on the
upper left displays the different reports possible for the active calculation (Figure 17.2.6 shows a load-
ow). Some reports may be inactive, depending on the object(s) chosen for output. In Figure 17.2.6, a
Complete System Report was selected for output. In the second page ( ) the "Used Format displays
the format(s) used for the report. Some reports are a set of different outputs. For these reports more
than one form is shown. If the form is modied it will be stored automatically in the "Settings" folder of
the active project. The changed form does not inuence the reports of other projects. If "Use Selection"
is active a set of objects (selection) or a single object must be chosen. The report is generated only for
these elements. All relevant objects are used if "Use Selection" is not selected. The relevant objects
depend on the chosen report. Most reports display a title on top of each page. The reference "Title"
denes the contents of the header.
For some reports additional settings are required. These settings depend on the chosen report, the
selected objects for output and the calculation processed before. The calculation (left top) and the used
252 DIgSILENT PowerFactory 15, User Manual
17.2. RESULTS, GRAPHS AND DOCUMENTATION
format(s) (right top) are always shown.
Figure 17.2.6: Output of Results dialogue after a Load Flow calculation
17.2.4 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 specic variables during a transient simulation, or during a
data acquisition measurement. Result objects are also used in DPL scripts, in reliability calculations, for
harmonic analysis, etc.
An example of the result object dialogue is depicted in Figure 17.2.7.
DIgSILENT PowerFactory 15, User Manual 253
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.2.7: The result object
The result object shows the following elds:
Name the name of the result object
File path is the path where the result le is saved inside the data base
Last Modication date when the result le was changed the last time
Default for the default use
Info information about the currently stored data including:
the time interval
the average time step
the number of points in time
the number of variables
the size of the database result-le
Trigger-Times trigger times (in case of a Triggered default use)
The Clear Data button will clear all result data.
Note: Clearing the data will delete the result-le and will reset the database ID. This will destroy all
calculated or measured data in the result le. 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 elds.
254 DIgSILENT PowerFactory 15, User Manual
17.2. RESULTS, GRAPHS AND DOCUMENTATION
When the Output Protocol 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 Selection (IntMon)
objects. These monitor objects can be edited by pressing the Variables button. This will show the list
of monitor sets currently in use by the result object.
Selecting a set of result variables, using monitor objects is necessary because otherwise all available
variables would have to be stored, which is practically impossible.
Exporting Results
The stored results for the monitored result variables can be exported by pressing the Export button
in the result object. This will activate the "ASCII Results Export" command ComRes and will pop up
the ASCII-results export dialogue, which allows for exporting to the output window, to the windows
clipboard, to a le or to other export formats.
This command is the same command for exporting curve data form a VI plot. This is described further
in Export of Curve Data.
In this dialogue the individual step size can also be set, the columns of the result le and the header for
the export as can be seen from Figure 17.2.8.
Figure 17.2.8: 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/les:
Output Window
Windows Clipboard
Measurement File (ElmFile)
ComTrade
DIgSILENT PowerFactory 15, User Manual 255
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Textle
PSSPLT Version 2.0
Comma Separated Values (*.csv)
The export command allows for exporting an interval of results only and to export every n-th result.
Additionally, in the Advanced Options page, a User dened interval for the time/x-scale can be set as
the minimum and maximum value of the rst recorded variable (in time domain simulations this is of
course the time).
By default, the option Export all variables" is selected, which mean that all the results for all monitored
variables are exported. But also a selection of variables can be made by selecting the option Export
only selected variables".
17.3 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 specied by the user by altering the result-box denitions.
When pressing the Comparing of Results on/off button ( ), the results of the rst calculation are
frozen. All subsequent calculations will then show their results as deviations from the rst calculation
made. The subsequent calculation results are stored together with the rst result. This allows the user
to re-arrange the comparisons as desired by pressing the icon (see the next Section).
The differences between cases are coloured according to the severity of the deviation, making it possible
to recognize the differences between calculation cases very easily. The colouring 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 rst case by activating a certain calculation case and, for example, calculating a
load-ow.
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 rst 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, chang-
ing calculation cases, adding or deleting elements, changing the active variations of scenario, etc.
Repeat the calculations as performed for the rst case.
The result boxes in the single line graphic will now show the percentage change as compared to
the rst case. If the calculation report, as generated for the rst case, is generated again, it will
also show relative results.
Make and calculate the other cases. After each calculation, the comparison to the rst case is
shown.
256 DIgSILENT PowerFactory 15, User Manual
17.3. COMPARISONS BETWEEN CALCULATIONS
17.3.1 Editing a Set Of Comparison Cases
The set of calculated comparisons may be edited to select the cases which are to be compared to each
other or to set the colouring mode. When the icon on the main toolbar is pressed, the Compare
dialogue will open. See Figure 17.3.1.
Figure 17.3.1: The Compare dialogue
With the Compare dialogue, the two cases which are to be compared can be selected. Furthermore, a
list of colours may be set which is then used to colour the results displayed in the result boxes, according
to certain levels of percentage change.
17.3.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. Output data, such as the new tap positions following an automatic tap
adjustment calculation, does not overwrite the settings that the user originally entered, unless the user
specically commands this, using the icon on the main toolbar.
Note: The corresponding input parameters of the database will be overwritten 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
DIgSILENT PowerFactory 15, User Manual 257
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
P,Q of Asynchronous machines
P,Q,V of Synchronous machines and Static Generators
Example:
A load-ow is calculated with the options "Automatic Tap Adjust of Transformers" and "Automatic Shunt
Adjustment" enabled. The calculated tap and shunt positions may be seen in the single line diagram,
but it will be noticed that the input data parameter in the element data dialogue is as originally entered.
If the icon is clicked, and the input parameters are now overwritten by the calculated values found
on the single line diagram.
17.4 Variable Selection
Variable Selection (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 selection, determines the variables
to be recorded during a simulation run of the variables to be displayed by a "Flexible Page Selector".
Before a calculation is performed or after initial conditions of a time domain simulation have been cal-
culated, the user can dene variable selection monitors from the single line graphic. To do this, perform
the following steps:
Right click on the target network component.
Select Dene Variable Selection (SIM) from the context sensitive menu.
A data browser listing all the results objects dened in the active study case should appear. Double
click on a target result object to select it. If no result objects have been dened, PowerFactory will
generate a default one, called All calculations".
Variable Selection 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 selections that have
already been dened. To dene a new variable selection, the icon in the browser can be pressed.
17.4.1 The Variable Selection Monitor Dialogue
An example of the variable selection object is shown in Figure 17.4.1. Here the variable selection for the
load called Load C, which is found in a grid called Nine_Bus of the active project is shown (red circle).
In this case a RMS simulation (green circle) is to be performed and the total active and the reactive
power owing to the load are going to be monitored (blue circle).
258 DIgSILENT PowerFactory 15, User Manual
17.4. VARIABLE SELECTION
Figure 17.4.1: Example of a variable selection dialogue
In the Variable Selection Monitor dialogue the following elds can be seen:
Object
Is the selected object (normally a network component), whose variables are going to be moni-
tored.
Class Name
If no object has been selected the "Class Name" eld 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 output window.
Filter for
As mentioned previously, there is a large number of variables that may be observed in PowerFac-
tory. To be able to nd and select these they are sorted into sets. A series of lters 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 rst sorting of the variables is by calculation function (load-ow, short-circuit, etc.). In the
example of Figure 17.4.1, the RMS-Simulation page 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 lter).
DIgSILENT PowerFactory 15, User Manual 259
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Selected Variables
The selected variables are shown here. Variables are placed here by clicking on them on the
"Available Variables" side, by selecting their checkbox, or by selecting them and then pressing
the ( ) button. The user can remove variables from the Selected Variables area by double-
clicking on them.
Display All
If this box is checked then all of the selected variables are shown in the Selected Variables area.
If it is not checked then the lter will also apply to the "Selected Variables" area and only those
selected variables in the ltered 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 un-
balanced), the user can toggle between balanced and unbalanced variable selections.
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 page (e.g. Basic Data) to
the output window.
The second tab of the Variable Selection Monitor Dialogue, goes to the Editor, where variables can be
manually input- for advanced use.
17.4.2 Searching the Variables to Monitor
The rst sorting of the variables is by calculation function (load-ow, 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 Selection eld. 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 vari-
able 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/es 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 dened 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
260 DIgSILENT PowerFactory 15, User Manual
17.4. VARIABLE SELECTION
Variables that are derived from the primary calculations (i.e. currents, loading, power, losses,
etc.), from input data (i.e. the absolute impedance of a line, derived from impedance/ km * line
length), or that have been transformed from input data to a format useful for calculation (actual to
per unit), or that are required for such transformation (e.g. nominal power). The parameters that
actually are available depend on the object type. Calculation parameters are preceded by a "c:".
Element Parameter
Input Parameters that belong directly to the object selected (preceded by "e:").
Type Parameter
Input Parameters from the corresponding type object 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 refer-
ence 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 sufcient to simply select the variables required and transfer them to the selected
variables column. To nd a particular variable requires some knowledge of where the variables are
stored in the object under consideration.
17.4.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 nal use of the variable selection monitor, i.e.
Flexible Data Page, Results Box, Plots, etc.
Suppose that a two winding transformer called T1 is to be monitored. The following variables are going
to be selected:
Type name
Tap setting
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 parameters (as the
Variable Selection) in the lter - the name is also entered on the basic data page so we should select
the Basic Data page, and the type name parameter is "loc_name" (Figure 17.4.2). Notice that the focus
object for the variable selection object is a transformer.
DIgSILENT PowerFactory 15, User Manual 261
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.4.2: Finding the type name
The tap setting will be found in the element data and the parameter is located on the load-ow page
(this information is gained as the user becomes more familiar with PowerFactory and recalls where the
data was entered; such recollection directs the user to the correct variable sub-set). The variables seen
in the selected Variables column should now be:
t:loc_name
e:nntap
To be able to see the variables for the HV bus we use the reference parameters. The reference parame-
ters work like a refer to command. In Figure 17.4.3 this is illustrated schematically. We have started by
creating a variable selection for the object T1 which is an element object. Using the reference param-
eter we will refer to the object that the LV side of the transformer is connected to, which is the cubicle
Cub_2. Since the nominal and calculated voltages of the node are located in the node object itself we
will next need to refer to this node object LV.
262 DIgSILENT PowerFactory 15, User Manual
17.4. VARIABLE SELECTION
Figure 17.4.3: Referring to with reference parameters
Step by step, the process will be as follows: We rst 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 page, so this is where we will logically nd the link to the connected
object (the cubicle). In Figure 17.4.4 we can see that this selection has been made (Basic Data page).
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.
Figure 17.4.4: Selecting the parameter to be displayed
Double-clicking on this jumps us to another variable selection 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 Selection object appears directly on top of the original one. If grabbing
DIgSILENT PowerFactory 15, User Manual 263
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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" eld has changed), and will look as shown in Figure 17.4.5.
The second jump must now be affected - to the node that the cubicle is connected to. In a logical fashion
this connectivity is also found on the Basic Data page. Figure 17.4.6 shows the result of these jumps
in PowerFactory. Lastly, the parameter required must be selected.
Figure 17.4.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 page and we must choose the element parameter set to nd the parameter, as shown
in Figure 17.4.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 page.
After having clicked Ok until you are back at the original variable selection 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
selection object.
Note: In this particular example we have used a long method to show to the node variables for illus-
tration purposes. Typically, however, a user wishes to display calculated variables such as the
264 DIgSILENT PowerFactory 15, User Manual
17.4. VARIABLE SELECTION
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".
Figure 17.4.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 17.4.7.
Figure 17.4.7: Internal node
17.4.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 lter called Bus Name. This is used to determine which side of an edge element is to be considered.
DIgSILENT PowerFactory 15, User Manual 265
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 exible 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 clas-
sication, that of _LOCALBUS. This classication 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.
17.5 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 simulation, by dening one or
more plotted curves showing the variables changing with time.
But there are various other applications of virtual instruments, for example to graphically display voltage
proles, FFT plots or the results of a harmonic analysis. This could be in the form of a bar graph, a
plotted curve, single displayed variables, tables of values, etc.
To visualize results from a calculation, two different parts are important:
Virtual Instrument Panel
The Virtual Instrument Panel is basically a page in the active graphics board, where different plots
or graphs are stored and displayed. The basic information about the included virtual instruments
is stored here.
Virtual Instruments
Virtual Instruments (VIs) are shown on Virtual Instrument Panels and display the results of one or
more variables or parameters. Multiple VIs can be dened for any one Virtual Instruments Panel
and individual VIs can be set up as required by the variable(s) displayed.
All signals, parameters, variables or other magnitudes from PowerFactory can be shown in a Virtual
Instrument. The variables are normally oating point numbers, but there is also the possibility to show
discrete variables as well as binary numbers, for example an "out of service" ag or the switching
operation of a circuit-breaker.
There are various designs of Virtual Instruments available in PowerFactory . These Virtual Instruments
can be divided into several groups, which are described in the subsequent sections of this chapter:
Plots are the basic diagrams used to show variables. Variables can be plotted against either a time
axis or an axis dened by another variable. PowerFactory plots include the following:
Subplots (VisPlot )
Subplots with two y-axis (VisPlot2)
X-Y plots (VisXyplot )
FFT plots (VisFft )
Bar Diagrams are similar to Plots. In Bar Diagrams the results are not shown as a line, but as single
bars for each data point.
266 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Vector Diagrams show different variables - like voltage, current or power - in a vector diagram using
polar or cartesian coordinates.
Meter Panels display variables or parameters using a mimic of a physical display or provide a means
of user interaction via a button or switch. Meter Panels include:
digital display
horizontal scale of a meter
vertical scale of a meter
measurement VI
interactive button/switch
Curve Inputs are used to convert graphical information (graphs or curves) into a set of data by scan-
ning and sampling the data points.
Bitmaps can be inserted as a remark or to provide further information.
In addition to the above options there are further types of virtual instruments for specic purposes. For
example, the time-overcurrent plot or the time distance diagram is available for protection studies. Study
specic plots are not described in this chapter but rather directly in the section of the manual dealing
with the individual calculation method. The following list briey describes some other virtual instrument
types:
VIs for Protection Studies
Time-Overcurrent Plot
When studying overcurrent relays the tripping characteristic is often displayed by plotting the
magnitude of the current on the x-axis and the resulting relay tripping time on the y-axis. In
PowerFactory, the characteristic curves of power system elements which are to be protected can
also be inserted into the Time-Overcurrent Plot. See Chapter 39: Protection and Section 39.4
(Time-Overcurrent Plot) for further details.
R-X Plot
For distance protection relays, the tripping characteristic of one or more relays can be visualized
in a R-X diagram. PowerFactory includes a R-X Plot for showing the characteristics of distance
relays. PowerFactory also includes a feature to dene the impedance of adjacent elements graph-
ically inside the R-X diagram. See Section 39.6 (The impedance plot) for further details.
Time-Distance Diagram
For studying the selectivity of distance protection, the Time-Distance Diagram is often used. Pow-
erFactory provides a convenient method to automatically show all distance relays in a specied
protection path in one Time-Distance Diagram. See Section 39.7 (The time-distance plot) for
further details.
Feeder Denitions
Voltage Prole
The Voltage Prole shows the voltage prole of a complete subsystem belonging to a dened
feeder in the power system. The voltage prole can be plotted against either the feeder distance
or the node number. See Chapter 13 (Grouping Objects) for further details.
Schematic Path
The Schematic Path plot allows a meshed or radial network to be shown in a brief schematic.
Instead of displaying result boxes, visual information like colours for overloading or voltage are
selected by the user and displayed.
DIgSILENT PowerFactory 15, User Manual 267
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Harmonics
Waveform Plot
A Waveform Plot can be used to show the magnitude and phase angle of voltages and currents
at harmonic frequencies. With this diagram a variable like the voltage or current, which is dened
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. For a more
detailed description see 17.5.7: The Waveform Plot.
Modal Analysis
Eigenvalue Plot
The Eigenvalue Plot (Viseigen) displays the eigenvalues calculated in the modal analysis (Chap-
ter 27: Modal Analysis / Eigenvalue Calculation). Double-clicking any of the displayed eigen-
values, 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 see
Section 27.4.2 (Viewing Modal Analysis Results using the built-in 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 Section 27.4.2 (Viewing Modal
Analysis Results using the built-in 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 Section 27.4.2 (Viewing Modal Analysis Results
using the built-in Plots).
The tools available for modifying virtual instruments, such as labels and constants, can be applied
equally to most virtual instrument types.
17.5.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 Instru-
ment 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 boards toolbar and selecting "Virtual
Instrument Panel". This will also create a new VI panel in the current graphics board.
All virtual instrument panels are stored in graphics boards. A graphic board holds default settings for
plots and other diagrams. The icon is clicked or the Edit Actual Virtual Instrument Panel option is
selected from the context sensitive menu to edit the dialogue.
Note: If a 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.
268 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
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 specic 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 automat-
ically. But it is possible to turn on user dened moving and resizing of the plots. In this mode the plots
can be moved or resized by the user. Also the and icons are used to tile the Virtual Instruments
horizontal or to arrange the VIs automatically.
A ViPage uses a predened style which set line-styles, line-width, fonts and other graphical settings.
User dened 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 different 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.
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-ow
calculation, where the x-axis is given by the harmonic frequencies. Different types of plots, like the
subplot and the waveform plot, can be scaled simultaneously.
With the button Zoom X-Axis a certain range of the x-axis or of several x-axes can be zoomed easily.
Click on the icon to activate the function, then click on a plot, hold the right mouse button and drag the
mouse to the right or to the left to mark the desired range on the x-axis. If the mouse button is released,
PowerFactory will then show the marked x ranged zoomed.
DIgSILENT PowerFactory 15, User Manual 269
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Automatic Arrangement of VIs
Virtual instrument panels usually set the size and position of new virtual instruments like plots automat-
ically. 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
freely be moved by dragging them on the panel. See also Moving and Resizing.
Another way to rearrange the VIs is to open the dialogue of the VI panel by pressing the icon and then
use the Arrangement options on the "Advanced" page. Here the option User dened can be activated.
So the VIs will no longer be arranged automatically but can be resized and moved inside the panel. So
the user is free to arrange the VIs ad libitum. This mode is also activated by disabling the selected icon
or .
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 currently active icon or . Also the
option User dened can be activated on the Advanced page of the edit dialogue of the VI panel.
A VI is clicked to mark it. The VI is dragged inside the panel by clicking it with the mouse button
pressed. Then the VI can be move across the panel. The mouse is released to set the new position.
Note: Please note that some VIs can not be resized at all because their size is set automatically. This
applies e.g. for the bitmap VI with the option Adapt Size of VI to Size of Bitmap enabled.
Page Format
The page format is modied using the in the toolbar of the graphics board. VI panels use the page
format set in the graphics board. In addition a local page format can be created for each VI panel. The
option Create local Page Format is selected in the context sensitive menu to create a local page format.
The VI panel now uses a local page format independent of the page format set in the graphics board.
Set default Page Format is selected in the context sensitive menu to reset the local page format. The
VI panel now uses the default format of the graphics board again.
Editing Variables of Plots
The icon is clicked to open the Edit Plots on Page dialogue for dening curves of several plots. If the
variables of only one subplot are to be changed, it is suggested to edit the dialogue of the plot itself by
double-clicking it. This procedure is more convenient.
This dialogue gives a very good overview over the diagrams on the VI panel and the variables, axis and
curve styles. Figure 17.5.1 shows an example of the dialogue.
270 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.1: Editing all plots on the page
Each line of the table named Curves denes a variable shown on the panel. The variables denition
applies to the plot shown in the rst 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
modied. Here additionally in the column y the y-axis can be dened to which the variable is related.
In Figure 17.5.1 this can be seen in the to last rows of the table. Here both variables are shown in one
plot number 7 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 lter dialogue. The selected lter will be
applied to all plots on the current virtual instrument panel.
Default Result File for Page is a reference to the default results element of the virtual instrument panel.
This is exactly the same setting like the one displayed on the Results page of the dialogue box of the
virtual instrument panel.
Title Block
All virtual instrument panels in a Graphics Board show the same title by default. The only difference of
the title blocks on the VI-Panels are the panel name and the page number which are unique for each
panel. To create a local title for a VI-Panel simply right-click on the title and select Create local Title from
the context sensitive menu.
Like in the single line graphics the icon in the toolbar is clicked to show or hide the title block. The
title can be dened or changed by double-clicking on them or use the icon to modify the title text.
For details about the settings of the title object refer to Chapter 9: Network Graphics.
Results
Some VIs like the most frequently used class "subplot" show curves stored in one ore more result
objects (ElmRes). The curves are selected in a table where the result element, the element and a
variable have to be selected.
DIgSILENT PowerFactory 15, User Manual 271
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 denes the background le, which can be either a Windows Metale (*.wmf), a Bitmap
(*.bmp) or a AutoCad DXF le. If the selected le does not exist, or if the lename 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 lls 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 cursor and the
settings of the panel. The options are listed below:
Edit Actual Virtual Instrument Panel opens the virtual instrument panel dialogue.
Create local Page Format creates a page format for the current panel.
Paste Text inserts text from the from the clipboard into the panel.
A VI can be selected from the list shown in the Create VI . . . option to create a new VI on the
panel.
Style Select Style is clicked to select a style for the panel.
Style Create new Style is selected to create a new style for the panel.
Style Edit Style of clicked Element is selected to modify the style of the selected element only.
Select All i s selected to mark all VIs.
Export Results. . . exports the shown result into e.g. the output window, a ASCII le, a Comtrade
le or the clipboard.
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 number 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 dened. There are six predened styles available in DIgSILENT PowerFactory , which are:
272 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
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-les are included
in text-programs. In addition to the layout the styles hold predened VIs.
There are several ways to select a predened or user-dened 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-dened styles are described in detail in Section 17.5.11 later in this chapter.
17.5.2 Plots
Plots are the most used diagrams to show parameters, states, signals or variables depending on either
time or on another variable. The following plots are available in PowerFactory:
SubPlot (VisPlot )
SubPlot (2y) with two y-axes (VisPlot2)
X-Y plot (VisXyplot )
FFT plots (VisFft )
The Subplot
SubPlots are the basic diagrams and are typically used to display one or more plotted curves from the
results of an EMT or RMS simulation.
A new subplot is created on the current Virtual Instrument panel by pressing the icon and selecting
a Subplot (VisPlot ) from the pull down list. More than one subplot may be created at once by setting the
Number of VI(s). The new empty subplots appear with standard settings, as shown in Figure 17.5.2.
DIgSILENT PowerFactory 15, User Manual 273
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.5.2: Creating a new SubPlot (VisPlot )
To edit the subplot either:
right-click on the subplot, and select the Edit option from the context sensitive menu; or
double-click on the subplot.
Editing Subplots
The edit dialogue of a subplot, as shown in Figure 17.5.3 has pages for the y-axis and x-axis of the
individual subplot as well as an additional Advanced page for auxiliary settings. The y-axis page is
normally used to set the curves in the subplot, while the x-axis normally shows time (by default).
274 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.3: The SubPlot edit dialogue
The subplot edit dialogue has the following features:
Scale
The y-axis may be dened for more than one subplot at the same time, or, and by default, may
be dened 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 le (ElmRes). This object will be used, if no result
le is specied in the Curves denition table.
Curves
The denition table for the curves is used to specify the result le (optional), object and parameter
for each of the curves as well as their representation.
User Dened Signals
DIgSILENT PowerFactory 15, User Manual 275
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
User dened curves can be created from calculated results using DSL compatible arithmetic
equations.
The available options are described in more detail below.
Setting the X-Axis
The x-axes often needs to be synchronized for all subplots or for all subplots on one VI panel, for
instance to show the same time-scale in all plots. In order to synchronize the x-axes without losing the
freedom to manually set each subplot, a hierarchy of x-axes is used in the Graphics Board:
The Graphics Board contains the basic x-axis denition. This denition is used by default by each
new subplot.
A VI panel, however, may dene a local x-axis denition, 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 denition by default, but may
also use a local x-axis denition.
Note: If you change the settings of the x-axis, which uses the denition stored in the graphics board,
all x-axis are changed using the same denition 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 denition of the different x-axes:
To edit the graphics board denition, either right click on the Virtual Instrument and select Edit or
double-click on the Virtual Instrument. Next click on the x-Axis page of the edit dialogue of the
plot and select the option Graphics Board under Scale, Axis. The dialogue for changing the x-
axis denition for the complete graphics board can be then accessed via the Used Axis selection.
Another way to modify the graphics board denition is to click the icon for the graphics board
dialogue and then go to the x-Axis page.
Similar to the graphics board denition, to edit the virtual instrument panel specic x-axis, either
right click on the Virtual Instrument and select Edit or double-click on the Virtual Instrument. Next
click on the x-Axis page of the edit dialogue of the plot and select the option Page under Scale,
Axis. The dialogue for changing the x-axis denition for the virtual instrument panel can be
then accessed via the Used Axis selection. This will display the dialogue of the of the VI panel
(SetVipage). Another way get to the panel dialogue is 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 (virtual instrument) x-axis denition is accessed by selecting the option Local. When
Local is selected, the options for specifying the x-axis are shown directly in the edit dialogue.
The options available for the x-axis are similar to the one for the y-axis. They are described in the
following section. The only difference is in selecting the variable of the axis.
Within the x-axis page there are numerous options to choose from for the x-Axis Variable as shown in
Figure 17.5.4. The Default value depends on the type of simulation and the result object created during
the previous simulation. For time-domain simulations different representations of the time scale are
available. For an FFT plot, the x-axis can be scaled using the frequency in Hz or the harmonic order.
276 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.4: The variable list available for the x-Axis
The option User dened enables the user to choose any variable for the x-axis, selectable from a result
object. In this way an x-y plot can be created. Whilst the VisPlot can be used to create x-y plots, there
is also a specic plot type to create an x-y plot: the VisXyplot. The VisXyplot is described in more detail
in section VisXyplot.
Setting the Y-Axis
The y-axes are normally not synchronized across virtual instruments like the x-axis can be, because
they all show different parameter values and thus need parameter-specic settings. By default, the
Graphics Boards 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 misinterpreting a difference in curve amplitude.
The y-axis page in the subplot edit dialogue has the option to Use local Axis. Similar to the x-axis, if
the Use local Axis checkbox is not ticked, the graphics board y-axis settings are selected. The graphics
board y-axis settings can be altered by selecting Type when the Use local Axis checkbox is unticked.
The local denitions of an axis (either the x-axis or the y-axis) has three parts:
The axis Limits (minimum and maximum)
The axis Mapping (linear, logarithmic)
Auto scale options
The Adapt Scale settings to adapt the scale to a setpoint.
DIgSILENT PowerFactory 15, User Manual 277
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The axis Limits can be set manually, or can be auto scaled via the Scale button. The scale button sets
the limits automatically from the curve shape. 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 specied range. During the simulation, only an 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. The tick marks
can be forced by setting the Offset value for the y-axis and the Trigger value for the x-axis. 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 both Trigger and Offset equal to zero. With the default values, the main ticks of
both axes start at zero.
For the y-axis, to see the deviations from the offset, the Show Deviations from Offset option will draw
a second axis on the right, which has its zero baseline at the offset value. The Show Deviations from
Offset option is available for the y-axis only.
An example of two subplots is given in Figure 17.5.5 where a voltage sag is shown with both an in-
stantaneous and a RMS value curve. The top curve has the Adapt option disabled, and both axes
autoscaled.
Figure 17.5.5: Two subplots with different axis denitions
The bottom subplot has a smaller x-axis, to show only the interesting part, and has the Adapt option set
on both axes.
In Figure 17.5.5, the y-axis has its offset set to the nominal voltage level (11kV) and also shows the
deviations from that level in the right vertical axis. From this deviation, it is 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
278 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
The curves in a subplot must be taken from a result object (ElmRes) or a Calculated result object
(IntCalcres). A result object is created by a power system calculation function like the RMS or EMT
simulation. The method to create a result object is explained in 17.2.4: Result Objects. The method to
create a calculated result object is explained in 17.5.3: Calculated Result Objects.
The selection of variables to display on the current plot is done in the y-axis page of the edit dialogue.
To view the edit dialogue, double-click on the background of the plot or right-click the plot and select
Edit. The curve denition is shown on the Y-Axis page of the edit dialogue as shown in Figure 17.5.6.
Figure 17.5.6: Dening a new curve
Each line in the Curves table is used to dene a variable to plot and the visual representation of the
curve.
The rst column states the result object from which the data to plot the curve will be read. If it is
empty, the standard result le will be used, as dened in the reference to Shown Results in the
same dialogue.
The second column states the power system element (here the generator "G1d"), which is se-
lected from the available elements in the result object.
The third column states the actual variable for the curve (here "xspeed"), selected from the vari-
ables 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 normalise (Norm.) the values of the variable to a nominal
value (Nom. Value).
To select a new result object, element or parameter, double-click the eld or right-click the eld and
select Select Element/Type or Edit from the context sensitive menu. Then select a new entry from the
list of possible result objects, resp. elements and parameters that appear.
The colour, line style and line width settings are edited in the same way: double-click the cell or right-
click the cell and select Edit.
To create a new curve denition line, right-click on the column number (on the far left) (see cursor arrow
in Figure 17.5.6) and select Insert Rows or Append (n) Rows. Similarly, to delete a marked curve
denition from the list, select Delete Rows.
Note: To see changes between two consecutive simulations, the following procedure can be used.
First run the initial simulation, the simulation results will be stored inside the dened result object
*.ElmRes, which can be found in the active study case. Copy the *.ElmRes object, paste it and
rename it e.g. to "old Results". Once this is complete, add the same variable to a plot (so that
there are two instances) and select the "old Results" result object for one of them (as shown in
Figure 17.5.6). Upon updating the simulation, the old and the new results will both be shown in
DIgSILENT PowerFactory 15, User Manual 279
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
one plot.
To easily specify more than one curve for the same result le and element in one action, select more
than one variable at once from the variable list. This will automatically create new entries in the curve
denition table for all additionally selected variables. The entered Result File and Element columns are
copied automatically. This convenient procedure is shown in Figure 17.5.7 and Figure 17.5.8.
Figure 17.5.7: Dening subplots with minimum effort, step 1
Figure 17.5.8: Dening subplots with minimum effort, step 2
Similarly several elements can be selected and PowerFactory will automatically insert the corresponding
number of rows. The variables are set automatically to the one selected in the rst row.
Some plot types (e.g. VisPlot) have the option to dene a User Dened Signal which allows arithmetic
calculation of additional results based on PowerFactory calculated results. The method to create a
calculated result is explained in 17.5.3: Calculated Results.
The Subplot with two Y-Axes
A plot with two y-axes can be seen in Figure 17.5.9. To create this plot, press the icon and select a
Subplot(2y)(VisPlot2) from the pull down list. This will add a subplot with two y-axes to the current VI
panel.
280 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.9: The denition of the second y-axis
To deactivate the additional axis, navigate to the page for the second y-axis and untick the option Use
second y-Axis.
The X-Y Plot
A further type of plot is the x-y plot. This plot shows one variable dependant on a second variable.
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-y plot to the current VI panel.
Figure 17.5.10 shows the edit dialogue of the plot.
Figure 17.5.10: Dening variables for a X-Y plot
On the variables page the variables for the x- and y-axis are specied. Both variables have to be stored
in one result le 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 17.5.2 (The Subplot).
DIgSILENT PowerFactory 15, User Manual 281
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
On the page Scales of the dialogue, the scales of the two axis can be set automatically or global
denitions can be used.
On page Time Range the time range can be set to the whole simulation time or alternatively select a
specied range to show the results pertaining to a specic time range only.
The FFT Plot
The FFT plot (VisFft ) is similar to the normal subplot (VisPlot ) in terms of edit dialogues, with the key
difference being the x-Axis scale. The FFT plot does not show signals on a time scale, but rather uses
a frequency scale. A time range for the signal can be selected prior to transformation into the frequency
domain using the Fast-Fourier Transformation (FFT) algorithm. An FFT will show the harmonic content
of the time bounded signal.
To create an FFT plot, click on the Append VI(s) icon . Alternatively click on a plotted curve and
then select Create FFT Plot from the context sensitive menu. Once selected, the mouse pointer can be
dragged from the selected point on the curve to the left or right to dene a time range for the FFT. Hold
the mouse still to reveal a quick-help box which shows the range, beginning and end of the curve to be
transformed.
To set the nal range for the FFT, simply click the diagram again. The FFT is then calculated and shown
in a new FFT plot.
To view the FFT plot edit dialogue, double-click on the FFT plot. The x- and y-axis can be dened on
the various dialogue pages similar to the VisPlot. Additional options specic to FFT plots are:
Calculate
The Calculate option on the page y-Axis modies 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 option allows the unit of the x-axis to be set to either Frequency or Harmonic Order.
When Harmonic Order is selected, the nominal frequency can be set. The nominal frequency is
not restricted 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.
17.5.3 Calculated Results
Some plot types, such as the VisPlot, have the option to dene a User Dened Signal. The User
Dened Signal option allows calculation of additional results based on the arithmetic manipulation of
one or more results calculated by PowerFactory and recorded in a result object (ElmRes ).
As the calculated result object is used to plot additional values based on other recorded values, the
calculated result object is stored within the relevant VisPlot object under the virtual instrument panel
and the graphics board in the data manager.
To dene a new Calculated Result, rst perform a simulation, record a result in a result object and create
a VisPlot. Double-click on the Visplot or right-click on the Visplot and select Edit and dene at least one
curve from the results stored in the result object. Once at least one curve is assigned in the VisPlot, the
User Dened Signals dialogue should become visible as shown in Figure 17.5.11.
282 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.11: The calculated result object
Click on New to create a new calculated result. An example of the calculated result object dialogue is
depicted in Figure 17.5.12.
Figure 17.5.12: The calculated result object
The calculated result object dialogue includes the following elds:
Name
the name of the calculated result object
Input Parameters
Results denes the result object from which the arithmetic operands are located.
Operands denes the elements and variable names of the operands within the result object. Addi-
tional operands can be inserted or appended by Mouse over Operand row Right-ClickClick
Insert Row(s) or Append Row(s) or Append n Row(s).
DIgSILENT PowerFactory 15, User Manual 283
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Result
Name denes the name of the user dened curve
Description a free text eld for description of the curve
Unit user dened variable unit
Formula DSL expression for arithmetic calculation, operands are dened in accordance with the
naming convention in the Input Parameters eld i.e. in1, in2, in3 etc.
Refer to section 26.12 for more information on DSL and DSL syntax.
17.5.4 The Vector Diagram
A vector diagram is used to visualise complex values such as voltages, currents and apparent power as
vectors. A complex variable can be dened and shown in one of two different representations:
Polar coordinates, e.g. magnitude and phase of the current
Cartesian coordinates, e.g. active-and reactive power
There are predened vector diagrams for calculation results. The predened vector diagrams can easily
be created using the context sensitive 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 predened variable, i.e. Voltage/Currents
The example in Figure 17.5.13 shows the voltage and current at one terminal of a line.
Figure 17.5.13: Vector diagram of voltage and current at a point on a line
284 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Note: A vector diagram can only be shown when branch elements like lines, load, transformers, etc.
are selected. The vectors of the voltage, current or power across the elements or at the nodes
connected to the elements are shown in diagrams. The vector can be shown after a load-ow
calculation or before and after a transient RMS simulation.
A vector diagram VecVis can be added to the current VI panel, in a similar fashion to the addition of a
subplot. To do this, press the icon and select a Vector Diagram (VecVis) from the pull down list. In
the edit dialogue, variables can then be shown as described in Section 17.5.2 (The Subplot).
The objects and variables of the vector diagram can be changed manually by editing the dialogue.
To open the dialogue, double-click on the vector diagram. Alternatively right-click on the diagram and
select:
Default Vectors . . . to select a predened vector from the list.
Label of Vectors to change 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 ele-
ment.
Set Origin to set the origin of the diagram to the position selected with a mouse-click.
Center Origin to set the origin of the diagram in the middle of the plot.
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 cant be dened using minimum and maximum for each scale because the x- and the y-ratio
must be equal. The ratio for each unit is therefore set as the parameter units per axis tick. In addition
the location of the origin can be dened.
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 added in the bottom-right
corner of the plot. The balloon help of the scale highlights the absolute values for each unit.
Editing the Unit/Tick
To modify the scale of an axis the Scales table in the edit dialogue can be changed. The column "Unit"
denes the unit and the column "Scale" denes the ratio in units per tick with a higher ratio compressing
the vector.
If the "Auto Scale" option in the dialogue is turned on, the scales are adapted whenever a new calcula-
tion is ready. Turn off "Auto Scale" to keep the dened scale limits.
Setting the Origin
The origin position of the vector plot can be changed either graphically or with the dialogue:
Right-click the vector plot and select Set Origin. This will move the origin to the right-clicked
position.
Modify the "x-Min." and "y-Min." values in the plot dialogue to the starting value of the x-and y
scale.
Changing Coordinates
The plot displays the vectors in cartesian or in polar representation. The grid of a polar plot is shown as
circles and can be altered as described in Section 17.5.2 (The Subplot). The representation setting is
also used for the mouse position display in the status bar.
DIgSILENT PowerFactory 15, User Manual 285
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
The option Polar in the context sensitive menu toggles between representation in polar and cartesian
coordinates. This representation can also ba changed on the Advanced page in the edit dialogue.
Label of Vectors
In the edit dialogue as well as from the context sensitive menu of the plot, the label of the vector can
be displayed in the different coordinate representations. The different coordinate systems allow display
with either the real and imaginary values or the magnitude and phase angles of the vectors.
Changing the Object
There are two different ways to change the objects for which the vector plot is made, either:
Right-click on 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 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.
Double-click the "Element" column in the variables table in the plot dialogue, as depicted in Fig-
ure 17.5.14 and select a new Object from the drop-down list.
Figure 17.5.14: 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 predened
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.
Double-click the "Var. x-Axis" column in the variables table in the plot dialogue, as depicted in
Figure 17.5.14 and select a new variable from the drop-down 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 results are available.
17.5.5 The Voltage Prole Plot
Background
The Voltage Prole Plot VisPath shows the voltage prole of a radial network based on the networks
load-ow results. The Voltage Prole Plot is directly connected to a feeder object dened in the network,
so it can only be created for parts of the system where a feeder is assigned.
The Voltage Prole Plot requires a successful load-ow calculation before it can display any results and
hence it can not be created if there is no load-ow calculated. The easiest way to create a voltage
prole plot is to dene the plot directly from the single line graphic.
286 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
How to create a Voltage Prole Plot
There are two methods to create a Voltage Prole plot. Either from the single line graphic or from the
data manager (or calculation relevant objects lter).
To create a voltage prole plot directly from the single line graphic follow these steps:
1. First dene a feeder for the part of the radial network where a voltage prole plot is required. To
dene a feeder, right-click on the cubicle at the beginning of the feeder and then select Dene
Feeder. . .
2. Right-click a branch (ElmLne) of a pre-dened feeder. Next select Show Voltage Prole from
the context sensitive menu. PowerFactory will then create a new object VisPath diagram showing
the voltage prole for the feeder.
To create a voltage prole plot directly from the Data Manager (or calculation relevant objects lter)
follow these steps:
1. Navigate to the Feeder grouping objects within the data manager (Project Network Model
Network DataFeeders).
2. Right-click on the icon of the feeder object for which the voltage prole is required.
3. Select Show Voltage Prole from the context sensitive menu.
Note: The option Show Voltage Prole is only available after a load-ow calculation and only if the
results of the calculation are valid.
Interpreting a Voltage Prole Plot
The voltage prole plot shows the voltage of terminals or busbars along the length of a feeder. The
variable(s) shown by the plot can be changed. If there is no valid load-ow calculation the plot remains
empty. An example of a voltage prole plot is shown in Figure 17.5.15.
Figure 17.5.15: Example of a voltage prole plot
DIgSILENT PowerFactory 15, User Manual 287
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Click on the curve to mark the busbar positions (points) on the voltage prole. Like most plots available
in DIgSILENT PowerFactory , the voltage prole plot can be labelled. See the context sensitive menu
or the description of the result graphs for details.
The plot in the example shows the default settings, which is voltage m:u with the unit "p.u." shown as
the y-axis variable. The position of the busbars (x-axis) is shown as the distance from the beginning of
the feeder. The unit is "km". The variables shown for the busbars can be changed by the user through
the edit dialogue of the plot.
Customising the Voltage Prole Plot
Changing the x-axis variable
To change the x-axis variable of the voltage prole follow these steps:
1. Double left-click on a blank area of the plot to open the voltage prole plot dialogue box.
2. On the Scale page of the Edit dialogue a list box denes the x-axis variable. By default Distance
is selected. This shows the distance from the beginning of the feeder in km. There are two other
options:
Bus Index
When Bus Index is selected, each bus is numbered sequentially from the beginning of the feeder
and all of the buses are displayed equidistantly on the plot.
Other
The Other option allows plotting against a user dened variable. Only variables available at all
terminals in the feeder can be used. The software variable name must be typed in the Variable
textbox. For example, to display on the x-axis the load at each terminal, the variable m:Pload
could be used. Note, do not enter the single quotes around the variable name.
Changing the y-axis variable
The y-axis variable(s) can also be user-dened. The predened 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 used as an
alternative. To change the variable shown, follow these steps:
1. Double left-click on a blank area of the plot to open the voltage prole plot dialogue box.
2. Select the Curves page. At the bottom of the page there is a table called Variables. To manually
add a user-dened variable double-click in the Variable cells. For example, to display the positive
sequence voltage, replace the variable m:u with the variable m:u1. Right click the table and select
the option Append Rows to add additional curves to the plot.
Changing the branch colouring settings
By default, any branch with a loading greater than 80 % will appear in red colour on the voltage prole
plot. To adjust the colour and the loading limits follow these steps:
1. Double left-click on a blank area of the plot to open the voltage prole plot dialogue box.
2. The Branch Colouring settings dene the settings for the branch coloring at the bottom of the
Scale page. Any branches that are loaded less than the Lower Limit will be coloured according to
the colour next to the Lower Limit variable. Likewise, any branches loaded greater than the Upper
Limit will be coloured according to the colour next to this variable. This concept is illustrated in
Figure 17.5.16.
288 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.16: Changing the branch colour settings
The Parallel Branches option is required because the voltage prole plot only shows a single connection
line between nodes, regardless of how many parallel branches connect the two nodes. If there is a
situation where one of these parallel lines is below the Lower Limit and another is above the Upper
Limit, then the parallel branches option determines whether the single line in the voltage prole plot is
either the line with the maximum loading or the line with the minimum loading. Typically, most users are
concerned with the maximum loading, so the default of Show Maximum will be ne in the majority of
cases.
Changing the busbar names colour
The colour of the busbar (terminal) names on the voltage prole plot can be altered according to the
user preference. To change the colour setting follow these steps:
1. Double left-click on a blank area of the plot to open the voltage prole plot dialogue box.
2. On the Advanced page towards to centre, the Colouring of the busnames shown in the plot can
be changed by altering the setting Show Busnames.
The meaning of each option on the advanced page are as follows:
Off does not display any bus names.
Black shows all names in black font style.
Coloured acc. to Feeder colours the bus names according to the colour of the different feeders.
Some other nice to know features of the Voltage Prole Plot
To access the context sensitive menu, right-click on the plot or on the prole. The context sensitive
menu shows additional functions regarding the voltage prole plot including:
Edit Feeder Open the edit dialogue of the feeder related to the plot.
Edit Data Right-click on a branch in the plot to open the edit dialogue of the selected line, transformer
or other element.
Edit and Browse Show the selected element in the data manager.
Mark in Graphic Mark the selected element in the single line graphic(s).
17.5.6 Schematic Visualization
In addition to the voltage prole, the Schematic Path VisPath object can 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 prole plot detailed in Section 17.5.5.
DIgSILENT PowerFactory 15, User Manual 289
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
As the name implies, the Schematic Path diagram shows a schematic of a radial network. Similar to
the voltage prole plot, a Schematic Path diagram is also directly connected to a dened feeder in the
network, so it can only be created for the parts of the system with which a feeder is dened. Also the
Schematic Path can only be shown or created, if a load-ow is calculated for the system.
To create a schematic diagram:
To dene a feeder in the radial network, right-click on a switch in the single line graphic or in the
data manager and then select Dene Feeder. . . .
The context sensitive menu of a branch with a dened feeder will now show the option Show
Schematic Visualization Plot. PowerFactory will create a new VisPath and the schematic
diagram showing the prole for the radial network.
In the calculation relevant objects or in the data manager select the feeder object and select Show
Schematic VisualizationPlot from the context sensitive menu.
In the plot, the terminals and busbars are displayed as well as the electrical elements belonging to the
feeder depending on the real distance of the network or on the bus index, where the distance between
every node is constant.
Schematic Single Line Diagram
Another function to show the schematics of radial networks is the Schematic Single Line Diagram.
These functions are convenient when no single line graphics of a network exists and one wants to let
PowerFactory draw the schematic of a radial network automatically.
These functions can be activated from the context sensitive menu of the branch element with a dened
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 net-
work dened by the feeder. The distances between the terminals/busbars in "km" are set auto-
matically according to the distances specied 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-ow prior to activating these functions. Otherwise you will not have
access to the options.
17.5.7 The Waveform Plot
The waveform plot VisHrm is used to display the voltage or current waveform after a harmonics load-
ow calculation. Harmonics are typically emitted by a harmonic voltage or current source described in
Chapter 23: Harmonics Analysis, Section 23.5.5. The waveform is calculated according to the following
formula:
u(t) =
n

i=1
u(i) cos(2(f(i) t +(i)) (17.1)
290 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
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
If a successful harmonic load-ow calculation with the option All Frequencies is performed, the wave-
form plot will show the results of any distorted or pure sinusoidal variable, e.g. voltages or currents, from
any element in the network. The waveform plot can be created even if there is no load-ow calculated.
To create a waveformplot on the current VI panel, press the icon and select a WaveformPlot (VisHrm)
from the pull down list. More than one subplot may be created at once by setting the Number of VI(s).
The new empty subplots appear with standard settings.
The usage, settings and tools for this plot type are similar to the subplot. A detailed description can
be found in 17.5.2 (The Subplot), although the denition of variables is slightly different. The variable
denition requires a reference to the result object and the element as per the Subplot, but in contrast to
the Subplot, the magnitude of the variable and the angle relating to the magnitude can also be dened.
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. Although the angle can be dened, the parameter is not obligatory.
Figure 17.5.17 shows an example for dening a variable in the VisHrm.
Figure 17.5.17: Dening variables in a waveform plot (VisHrm)
The Waveform Plot Settings Most other settings/options for the waveform plot are the same as the
settings for the Subplot (VisPlot ). See Section 17.5.2 (The Subplot) for more information. However there
are some specic settings unique to the waveform plot, these include the step size and time range. The
step size and time range are specied within the waveform plot settings object stored in the "Settings"
directory 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 sensitive menu on the plot. The Settings Waveform Plot SetWave
object holds the Step Size and the Range for the calculation of waveforms in the Waveform Plots (see
Figure 17.5.18).
DIgSILENT PowerFactory 15, User Manual 291
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.5.18: The waveform plot settings dialogue
Step Size
The visible waveforms 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-ow. To
guarantee that this criteria is always fullled, independent of the harmonics calculation, the Step Size
is entered in Number of Samples in Highest Frequency. The Highest Frequency and the resulting Step
Size are shown for information.
Range
To be independent of the basic frequency, the time range of the waveform is entered in Number of cycles
of Basic Frequency. Basic Frequency and the resulting Range are shown for information.
17.5.8 The Curve-Input Command
The curve input command is used for measuring printed curves. The original curves must be available
in windows metale (*.wmf) or in bitmap (*.bmp) format. The graphics le is displayed as a background
in a curve input plot. This plot then allows for dening plot points by successive mouse clicks.
The curve input plot (VisDefcrv) allows the measurement and editing of single curves or 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 quick and easy.
Creating a Curve-Input Plot
The special Curve Input virtual instrument plot VisDefcrv is needed for measuring curves. Such a plot,
like all other virtual instruments, is displayed on a Virtual Instrument Panel. A new virtual instrument
panel is created with the new command in the le menu or the new icon of the graphics window.
To create a new Curve Input plot, right-click an empty panel, or press on the panel button bar and
select the Curve-Input (VisDefcrv). Double-click the curve input plot to open the curve input option
dialogue shown in Figure 17.5.19.
The Input Options
The input options are used to select the graphics le which is to be measured. Only windows metale
(*.wmf) or bitmap (*.bmp) formats are supported. 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 le.
292 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.19: Editing the curve input plot
Two different types of curves can be input:
Single
Each matrix input denes a single curve. The rst column in the matrix holds the x-values, the
second one the y values. Other columns are ignored.
Set of Curves
Only the rst matrix is used for input. The rst column in the matrix holds the x-values, the other
columns hold the y-values of each curve in the group of curves.
The measured curve is drawn between the measured points by interpolation. This is important for later
when the measured curve is used with a specic interpolation. Setting the correct interpolation mode
when measuring the curve causes a better t while avoiding excess curve point denitions. Available
modes of interpolation:
Linear
Cub. Spline
Polygon
Hermite
The Context Sensitive Menu
To open the context sensitive menu for Curve Input, right-click the curve input plot. The menu is used
DIgSILENT PowerFactory 15, User Manual 293
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
to select the curve for which points are to be measured or edited, to select the measurement mode, to
synchronize x-values by interpolation, etc as detailed below:
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 undened y values for all curves for all dened x-values
Interpolate N Interpolates undened y values of curve N for all dened 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 gure 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 origin of the graph to be inserted.
Origin Sets the origin of the graph to be inserted.
Input Species 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 click and delete the point 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 le
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.
Dene 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
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.
294 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Open the curve-input dialogue and adapt the scale of the curve input plot to the scale of back-
ground plot
Right-click the plot and select the Active Curve option and activate the rst 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 rst 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 nish the denition of the curve
17.5.9 Embedded Graphic Windows
Some dialogues contain embedded graphic windows to visualize input settings. An example is shown
in Figure 17.5.20 for the parameter characteristic dialogue. An embedded graph has some similar
functionality and features to the subplot, detailed in section 17.5.2.
Figure 17.5.20: Example of an embedded graph
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 graph offers commands for printing and zooming. To
access the context sensitive menu, right-click on the embedded graphic.
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 includes an
option 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
DIgSILENT PowerFactory 15, User Manual 295
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
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 inside or outside the window. This will move the zoomed area in that
direction. Press the right mouse button to change the cursor back again.
In some embedded graphs an option exists to dene Limits 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.
17.5.10 Tools for Virtual Instruments
Different kinds of plots are used to display calculation results or device data. There are numerous tools
which help the user interpret and analyze data and calculation results. Most of the tools are accessible
directly through the "status bar" of PowerFactory or through the context sensitive menu. To activate the
context sensitive menu, right-click on the curve or on the plot background (depending on the desired
function).
Edit Dialogues
To access the Edit dialogue of the plots, double-click on the background of a plot or Right-Click
Edit. A quick way to access information pertaining to the plot is to double-click directly on the element
requiring change. This includes:
Legend
Manipulation of the legend text and representation.
X-Axis
The x-axis limits, scales and variable representation and auto scaling options of the current graph-
ics board or panel.
Y-Axis
The y-axis limits, scales and variable representation and auto scaling options as well as the
variable displayed.
A double-click on other positions will open the plot dialogue.
The Status Bar
In the status bar of PowerFactory on the bottom of the program window useful information regarding 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 curve is clicked and marked with a cross, the cross value is 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, 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. Double-
click on this font to enable the "Curve-Tracking" mode. In this mode a cross will appear if the
mouse arrow is near a curve. Hold the mouse pointer still for one second and the x- and y-value
will be shown in a balloon window.
296 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Labelling Plots
There are different styles of labels available for labelling curves and graphics. Setting labels is possible
in most of the different plots, although some of the labels are not available in all plot types. Labels are
all created in the same way.
To create a label, rst click on the curve to mark the desired data point with a cross, then right-click on
the plot to display the context sensitive menu. The option Label Insert . . . Label can be selected for
different label types. Alternatively there are also two icons and in the toolbar, which can be used
to create labels directly.
After selecting the appropriate label from the sub-option of label, a rubber band from the cross to the
mouse is shown. A click with the left mouse button sets the label, the right mouse button cancels. The
following different labels are available.
The Text Label
The text-label (Add Label with Text option) displays user dened text above and below a line
connected to the curve. Edit the label to change the text shown.
The Value Label
The value-label (Add Label with Value of the Current Curve option) displays the x/y coordinates
of the cross. The label is a text-label lled with the marked coordinates. Edit the label to change
the text.
The Format Label
The format-label (Add Label with denable format option) uses a form to print the displayed text.
The form can be selected as local for each label or a common label can be sued for all plots of
the same type in the active project.
More information regarding each labelling option is provided in the following sections.
The Text and Value Label
The text-label and the value-label are dened using the same object type, the VisValue. The VisValue
labels curves or graphics displayed in plots. The text of the label is written above and below a horizontal
line and the line is connected to the curve/graphic with a rubber band.
After creating labels, they can be freely dragged across the plot while staying connected to the data
point on the curve. To change the text of the label, double-click the label or the rubber band. The edit
dialogue of these (VisValue) object is depicted in Figure 17.5.21.
DIgSILENT PowerFactory 15, User Manual 297
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.5.21: X/Y value dialogue
Value
Value displays the connected curve position of the label. For labels created as a value-label this
position is displayed automatically as label text. "x-Axis" displays the x axis value and "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 Bottom
Text written below the horizontal line.
Delete Label when a new Simulation is started
Labels in plots showing simulation results are usually automatically 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-label and value-label, the format-label (VisLabel ) is also set in plots to label curves or
graphics. However, the format-label displays text printed using a form. The form is different for each
type of diagram. It is either dened locally per label or dened for all diagrams of the same type in the
activated project. The format-label dialogue is shown in Figure 17.5.22.
298 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.22: The format-label dialogue
Value
Value displays the connected curve position of the label. "x-Axis" displays the x axis value and
"y-Axis" the y axis value.
Data Object
"Data Object" is a reference to the object of which the plotted curve parameter is derived. If "Data
Object" is not set the label itself is taken as the "Shown Object".
Shown Object
The object output by the form, see "Data Object" described above.
Edit Used Format
Shows the used "Format Manager". The used format is either the local format or the one dened
for all plots of the same type in the active project.
Create Local Format
Creates a new "Format Manager" valid for the current label only. The forms can be edited without
inuencing 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 is dened.
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 is reset.
Delete Label when a new Simulation is started
Labels in plots showing simulation results are usually automatically 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 context sensitive menu of the format labels provide access to further options. To access the context
sensitive menu, right-click on the format label. The following options can be selected:
Border
A simple border of the selected label can be turned on or off.
DIgSILENT PowerFactory 15, User Manual 299
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Form
The format options can be directly accessed by Edit used Format and Create Local Format for
the marked format label.
Reconnect with...
Reconnects the format label to another curve or data point.
The Constant Value
The constant label (VisXvalue) is used to display a straight line. The VisXvalue can be used to display
y-values for a constant x-quantity or x-values for a constant y-quantity. In some plots like the overcurrent
plot, constant labels are created and deleted automatically for certain simulations e.g. to visualize the
short-circuit current for relays.
The look of constant labels can be varied with different settings including the label location, intersection
values and other options. The dialogue of the constant label is depicted in Figure 17.5.23.
Figure 17.5.23: The constant label dialogue
To insert a constant label into a diagram or plot, right-click on the plot and select the option Set constant
x-Value or Set constant y-Value to place a constant x-value or a constant y-value respectively.
The dialogue for the VisXvalue object will be displayed as shown in Figure 17.5.23 and a horizontal or
vertical line will be displayed at the value specied in the dialogue.
There are different options and styles for the constant label:
Name denes the name of the constant line displayed in the plot.
Style changes the representation of the constant label as follows:
Line Only displays only the solid line and the related label.
Line with Intersections shows a solid line including label and indicates the values when inter-
sections with the curves of the plot.
Short Line Only (Left/Right indicates the constant value at the bottom/top respectively at the
right/left side of the plot.
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.
300 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Label denes the position of the constant value label as follows:
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 denes the constant value, either X or Y. The dialogue shows if either an X or Y is set. Also
the actual position of the cross will be shown as an x- or y-value. It is not possible to change a
constant X into a constant Y label other than by removing the old label and creating the new one.
Colour species the colour of the line and the labels/intersections.
Linestyle and Width species 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 exists 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 coloured like the curve crossed.
Intersections Constant x values created automatically in the overcurrent plot are displaying the short-
circuit current. To get the tripping times "Intersections" can be set to SHC Currents. "All" would
display the intersection of the relay curve ignoring the type of current. Visible only for automatic
constant x values showing currents in the time overcurrent diagrams.
Set User Dened The button "Set user dened" 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 dened.
The Straight Line
There are various ways of inserting lines into a plot. Another way is to insert a Straight line. To create a
straight line right-click on the plot background or on a marked point and select Straight line. The Straight
Line . . . includes the following options:
Set Secant to add a line directly through the selected data point.
Through Point denes a graphic line through the selected data point with a dened gradient and gives
back the function of the line.
User Dened denes a line independent from the curves shown with a dened 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 is similar to the options for the constant value
(VisXvalue).
DIgSILENT PowerFactory 15, User Manual 301
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Curve Filter
Curves shown in the plots and diagram can be ltered using the Curve Filter. The option Filter... from
the context sensitive menu displays the lters available to be applied to the data read from the result
object. Another way to access this function is from the "edit" dialogue of the plot. Here the Filter...
button can be pressed. The Figure 17.5.24 shows the dialogue of the function.
Figure 17.5.24: Dening a curve lter
The Curve Filter species the type of lter applied to the data read from the result object. This object
is a lter applied to curves in plots. There are different lter types available. The following lter settings
are available. (N=number of points in the original curve, K=number of points in the ltered curve)
Disabled No ltering will be performed. K=N.
Average The ltered curve is the running average of the last n points. The rst n-1 points are omitted.
K=N-n+1.
Balanced Average The ltered curve is the running average of the last (n-1)/2 points, the current point
and the next (n-1)/2 points. This lter thus looks ahead of time. The rst and last (n-1)/2 values
are omitted, n must be an odd number. K=N-n+1.
Purge Points by averaging The ltered curve contains the averages of each block of n values. K=N/n.
This lter may be used to speed up the display of large curves.
Purge Points The ltered curve only contains every n-th value. All other values are omitted. K=N/n.
This lter may be used to speed up the display of large curves.
Note: A curve lter can only be applied at the end of the simulation or measurement, points added
during a simulation or measurement are not ltered. The option Filter... is not available in all plots.
Border
Off
Simple
3D
3D with label
The border with 3-dimensional effect and label will insert an additional label on the bottom of the se-
lected plot. This label can now be dened by double-clicking on it. Furthermore the text style can be
altered by choosing the option Select Font for Border.
Export of Curve Graphic
302 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
The whole diagram or plot can also be exported for further usage in reports. Thereto rst mark the plot
which is to be exported to a graphic le. Then select the option File Export. . . . . . from the main
menu.
There is the selection between the export into a Windows MetaFile (*.wmf) or into a Bitmap File (*.bmp).
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 le gives the opportunity to directly export
several variables at once and is described in more detail in Section 17.2.4(Exporting Results).
Exporting curves of a single VI:
Press the Export... button in the right side of the dialogue box of a virtual instrument.
Right-click on the VI and select Export... from the context sensitive menu.
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 le 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/les:
Output Window
Windows Clipboard
Measurement File (ElmFile)
ComTrade
Textle
In this dialogue the individual step size can be set, the columns of the result le and the header for the
export as can be seen from Figure 17.5.25.
DIgSILENT PowerFactory 15, User Manual 303
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
Figure 17.5.25: 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
specied.
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 dened 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
dened in the "edit" dialogue of the x- and y-axes or by double-clicking on the corresponding axis.
Show dx/dy Right-click on data point on a curve and select Show dx/dy from the menu. The two lines
will appear, which are connected to the tip of the mouse pointer. A balloon window will show the x-
304 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
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.
17.5.11 User-Dened Styles
Each VI panel, each virtual instrument and every single plot uses a style where line-widths, fonts,
brushes and other graphical settings are dened. These objects normally use predened styles. In
PowerFactory there are six predened 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 modied for all VIs or only for single plots. For this user-dened styles can easily
be created and specied. The base for an user dened style is always the previous default style.
There are several ways to select a predened or user-dened 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 Panel dialogue.
The user-dened styles are stored in the settings folder element of the active project. Therefore each
project has its own \ Settings \ Styles \... path and user dened styles. Only the changed elements are
stored in the project, the unchanged ones are the ones predened in the default style.
The settings folder elements can be seen in the database in Figure 17.5.26.
Figure 17.5.26: The settings folder in the database
Dening Styles for the VI Panel The Style Create new Style option in the context sensitive menu of
the VI panel SetVipage or every plot on the panel is selected to create a new style for the actual virtual
instrument panel. Insert a name for the style to be created in the input dialogue. Then the new style is
added to the predened styles and is automatically selected for the current VI panel. The created style
is not set automatically in other VI panels of the project.
DIgSILENT PowerFactory 15, User Manual 305
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
If a user-dened style is selected for the current VI panel, the Style Edit Style option of the context
sensitive menu of the panel may be selected to open the dialogue of the new panel style. Figure 17.5.27
shows the dialogue for editing the layout of the panel.
Figure 17.5.27: Editing the panel style
With the settings shown in Figure 17.5.27, mainly the layout of the title block of the VI panel is edited.
Here the user can dene
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 9.7.3: Graphic Options)
the line width of the title block and of the page frame
Dening Styles for the Virtual Instruments
There is the possibility to dene the x- and y-axis of the plots inside on one page. These settings then
are valid every plot on panels using this style.
To change the styles, right-click on a virtual instrument on the panel and select the option Style Edit
Style in the context menu. Then a dialogue will pop up containing the settings for
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 gures 17.5.28, the dialogue of the
selected axis will be opened and can then be modied.
306 DIgSILENT PowerFactory 15, User Manual
17.5. VIRTUAL INSTRUMENTS
Figure 17.5.28: Editing the styles of X-axis
In the dialogue the following settings of the axes can be specied 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 specied.
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.
Dening 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 17.5.29 and then
double-clicking on the settings of the VisPlot object.
Another and simpler way to change the settings of the style is to directly select the option Style Edit
Style of clicked Element from the context sensitive menu. These are the same dialogues shown in
Figure 17.5.29 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
DIgSILENT PowerFactory 15, User Manual 307
CHAPTER 17. REPORTING AND VISUALIZING RESULTS
on the plot itself to access the settings plot style, i.e. the grid, legend, etc.
Figure 17.5.29: Editing the settings of the plot
Figure 17.5.29 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 Predened 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 predened VI form the context
menu of every plot or VI.
This option saves the setting of the plot and stores a new VI in the list of all VIs. Hence if adding a plot
the newly created VI can now be selected from the list by pressing the icon and selecting the e.g.
NewName(VisPlot) from the pull down list or by using the option Create VI . . . from the context menu
of theSetVipage to add new virtual instruments to the VI panel. The new empty subplots appear with
new dened settings.
308 DIgSILENT PowerFactory 15, User Manual
Chapter 18
Data Management
18.1 Introduction
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 administer
all input information and settings related to PowerFactory 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 do advanced management tasks such as: versioning, deriving, comparing, merging
and sharing. These advanced features simplify data management in multi-user environments.
The following chapters explain in more detail, each of the data management functions, including:
Project Versions;
Derived Projects;
Comparing and Merging Projects;
How to update a Project; and
Sharing Projects
18.2 Project Versions
The section explains the PowerFactory concept of a version. The section rst explains what a version
is and when it can be used. Next the procedure for creating a version is explained. Specic procedures
related to versions such as rolling back to a version, checking if a version is the basis for a derived
project and deleting a version are then explained.
18.2.1 What is a Version?
A version is a snapshot of a project taken at a certain point in time. Using versions, the historic devel-
opment of a project can be controlled. Also, the previous state of a project can be recovered by rolling
back a version. From the PowerFactory database point of view, a version is a read-only copy of the orig-
inal project (at the moment of version creation), which is stored inside a version object (IntVersion, ).
Version objects are stored inside the original project in a special folder called Versions.
The concept of versions is illustrated in Figure 18.2.1. At time t0, the project SIN is created. After a
time, t1, when the owner has made several changes they decide to make a copy of the project in its
DIgSILENT PowerFactory 15, User Manual 309
CHAPTER 18. DATA MANAGEMENT
current state by creating the version V1. After more time, t2, and after more changes with respect to
V1, another version V2 is created by the owner. The version control can continue with time like this,
with versions accumulating with a periodicity of t.
After versions are created, the owner can revert the project to the state of the version by using the roll-
back function. This destroys all modications implemented after such a version was created (including
all versions created after the rolled back version.
Figure 18.2.1: Project Versions
18.2.2 How to Create a Version
This sub-section describes the procedure for creating a version. To create a version of the active project
follow these steps:
1. Right-click on the active project.
2. Select New Version from the context sensitive menu. Alternatively, use the option File New
Version

E from the main PowerFactory menu. The dialogue for the new version appears as shown
in Figure 18.2.1.
3. Set the desired options (explained in the following section) and press OK. PowerFactory auto-
matically creates and stores the version in the versions folder (which is automatically created if it
doesnt yet exist).
310 DIgSILENT PowerFactory 15, User Manual
18.2. PROJECT VERSIONS
Figure 18.2.2: The Create Project Version Dialogue
Options in the Create Project Version Dialogue
Point in Time By default this is set to the system clock time when you initiate the creation of the
version. However, it is also possible to enter an earlier time back to the beginning of retention
period of the project.
Note: Setting a Point in Time earlier than the clock time means that the version is created considering
the state of the project at the time entered. This can be used for example, to revert the project to
a previous state, even though you have not yet created other versions.
Notify users of derived projects If this option is enabled, when a user of a project that is derived
from the active project activates their derived project, they are informed that this new version is
available. Thereafter, updates of the derived project can be made (for further information about
derived projects please refer to Section 18.3).
Complete project approval for versioning required If this option is enabled, PowerFactory
checks if all the objects in the active project are approved. If Not Approved objects are found, an
error message is printed and the version is not created.
Note: The Approval Status is found on the description page in the dialogue of most grid and library
objects.
18.2.3 How to Rollback a Project
This sub-section describes the use of the Rollback function to revert a project to the state of a version
of that project. For example, consider a project called V0, created at a point in time, t. If a Rollback
DIgSILENT PowerFactory 15, User Manual 311
CHAPTER 18. DATA MANAGEMENT
to V0 is completed, the project returns to the state it had at the creation of V0. After the Rollback,
all changes implemented after V0 (after V0s point in time) are deleted. Also, all versions newer than
V0 are removed. This concept is illustrated in Figure 18.2.3.
Figure 18.2.3: Example of a Rollback
To complete a Rollback
1. Deactivate the target project.
2. Right-click on the version that you wish to rollback to and select the option Rollback to this version
from the context sensitive menu.
3. Press OK on the conrmation message.
Note that a Rollback is not allowed (not enabled in the context sensitive menu) if a newer version of the
project exists and this version is the base of a derived project. A Rollback cannot be undone!
Note: A version can only be deleted if it does not have derived projects.
18.2.4 How to Check if a Version is the base for a derived Project
This sub-section explains the procedure for checking if a version is the base for a derived project. Follow
these steps:
1. Activate the project.
2. Go to the versions folder inside the project.
3. Right-click on the version that you want to check. Note, do this from the right window pane in the
data manager, not the main data manager tree.
4. Select the option Output... Derived Projects.
5. A list of derived projects will be shown in PowerFactorys output window.
312 DIgSILENT PowerFactory 15, User Manual
18.3. DERIVED PROJECTS
18.2.5 How to Delete a Version
To delete a version:
1. Activate the project containing the version.
2. Go to the versions folder inside the project.
3. Right-click on the version that you want to delete.
4. Select the option Delete.
18.3 Derived Projects
This section explains the concept of a derived project. First, background on the use of derived projects is
presented in sub-section 18.3.1. Then, sub-section 18.3.2 explains the procedure for creating a derived
project.
18.3.1 Derived Projects Background
Often, several users might wish to work on the same project. To avoid the large amount of data duplica-
tion needed to create a project copy for each user, DIgSILENT has developed a virtual copy approach
called derived projects. From a users point of view a derived project behaves like a normal copy of a
project version. However, only the differences between the original project version (Base Project ) and
the virtual copy (derived project ) are stored in the database. Because the derived project is based on a
version, changes made to the base project do not affect it. Like normal projects, derived projects can
be controlled in time by versions, but these derived versions cannot be used to create further derived
projects.
Note: A derived project is a local virtual copy of a version of a base project (master project):
- It behaves like a real copy" from the users point of view.
- Internally only the data differences between the Base Project and the derived project are stored
in the database.
- This approach reduces the data overhead.
In a multi-user database, the data administrator might publish a base project in a public area of the
database. Every user can subsequently create their own derived project and use as if it is the original
base project. Changes made by individual users are stored in their respective derived projects, so that
the base project remains the same for all users.
The purpose of a derived project is that all users work with an identical power system model. The
derived project always remains connected to the base project.
The concept of derived projects is illustrated in Figure 18.3.1; here version Version3 of the base project
(MasterProject) was used to create DerivedProject. After DerivedProject was created, two Versions
of it were created.
DIgSILENT PowerFactory 15, User Manual 313
CHAPTER 18. DATA MANAGEMENT
Figure 18.3.1: Principle of Derived Projects
At any stage, the data administrator might create a version of a base project that has derived projects
from other versions of the base project. The user might wish to update their derived project with one of
these new versions. Alternatively, the data administrator might like to incorporate changes made in a
derived project to the base project. All of these features are possible, by using the Compare and Merge
Tool, explained in section 18.4.
Figure 18.3.2: Derived Projects in a multi-user database
In the Data Manager a derived project looks like a normal project. The Derived Project page of its
dialogue has a reference where the user can see the base project and the version used for deriving the
project.
Users are notied of changes in the base project, if there is a new version of the base project (newer
than the used version) which has the option Notify users of derived projects enabled (the user/adminis-
trator enables this option when creating a new version), and the option Disable notication at activation
disabled (found within the derived project tab of the project dialogue).
The option of updating a derived project is presented to the user when they next activate the derived
project, when the conditions above are met. The newest version that can be used to update a derived
project is referred to (if available) in the Most recent Version eld of the dialogue. The users can
compare this new version with their own derived project and decide which changes to include in the
derived project. For comparing and accepting or refusing individual changes, the Compare and Merge
Tool is used. For information about the Compare and Merge Tool refer to section 18.4.
314 DIgSILENT PowerFactory 15, User Manual
18.3. DERIVED PROJECTS
Figure 18.3.3: New Version of the base project in a multi-user database
Figure 18.3.4: Merging the new Version of the base project into the Derived Projects
18.3.2 How to Create a Derived Project
A new derived project is created using the Data Manager as follows:
1. Right-click the desired folder in the right pane of the Data Manager where the derived project is to
be created.
2. Select New Derived Project from the context-sensitive menu.
3. Select the source version of the base project using the data browser that appears. This will likely
be the last available version of a project in a public area, created by the data administrator.
4. Press OK.
Note: The base or master project has to have at least one version before other projects can be derived
from it.
-You cannot derive a project from a derived project.
- You can check if a project is derived or not by opening the Edit dialogue of the project itself and
selecting the derived project tab.
DIgSILENT PowerFactory 15, User Manual 315
CHAPTER 18. DATA MANAGEMENT
To create a derived project from a Base Project stored in another users account, you need at least
read access, see Section 18.6.
After the derived project is created, it can be used like a normal project.
The Derived Project can be exported as a Regular Project" or with the Base Project. The option can
be selected from the Export Dialogue.
18.4 Comparing and Merging Projects
This section describes the procedure for comparing and merging projects within the PowerFactory
database. There are many circumstances when you might need to merge together data from multi-
ple projects. For example, one of the most common would be when the data administrator updates a
master project that is the base project for a derived project that you are working with. The Compare
and Merge Tool (CMT) can be used to update your project with the data changes, but it also gives you
control over what changes you implement.
This section is separated into six sub-sections. Firstly, the background of the CMT is presented. The
next sub-section explains the procedure needed for merging together or comparing two projects. Sub-
section 18.4.3 explains the procedure for merging or comparing three projects. In sub-section 18.4.4,
the advanced options of the CMT are explained. The CMT uses a diff browser for showing the differ-
ences and conicts between compared projects and also for allowing you to make data assignments.
This is explained in sub-section 18.4.5.
18.4.1 Compare and Merge Tool Background
During collaborative working in a multi-user environment, a data administrator might often need to up-
date the Master project to create a version based on updates completed by one or more users to derived
projects of the Master project. PowerFactory has a specic tool called the Compare and Merge Tool
(CMT), that is used for this purpose. This tool can also be used for project comparison in addition to the
merging of project data. It is capable of a two way comparison between two projects and also a three
way comparison for three projects.
Internally, PowerFactory refers to each of the compared projects according to the following nomencla-
ture:
<Base> Project - the base project for comparison.
<1st> - the rst project to compare to the <Base> project.
<2nd> - the second project to compare to the <Base> project and to the <1st> project (three
way comparison only).
The CMT internally compares the chosen projects and generates an interactive window known as the
CMT diff browser to show the differences. For a two-way merge, the changes found in the <1st>Project
can be implemented in the <Base>, provided that the user selects <1st> as the source (<Base> is
by default the target ). When merging together three projects, the target is either the <1st> or <2nd>
project.
316 DIgSILENT PowerFactory 15, User Manual
18.4. COMPARING AND MERGING PROJECTS
18.4.2 How to Merge or Compare two projects using the Compare and Merge
Tool
This section describes the procedure for merging together or comparing two projects using the Compare
and Merge Tool (CMT). Note the comparison procedure is completed using a similar procedure but with
slight differences that will also be explained here.
To merge or compare two Projects:
1. In the data manager, right-click an inactive project and choose Select as Base to Compare.
2. Right-click a second (also inactive) project and select Compare to [Name of Base Project]. The
CMT options dialogue will appear as shown in Figure 18.4.1. The <Base> and the <1st> project
are listed in the Compare section of the dialogue.
Figure 18.4.1: Compare and Merge Tool options dialogue
3. Optional : If you want to include a third project in the comparison, the box next to <2nd> must be
checked. The third project can then be selected with a data browser by using the icon. Please
see Section 18.4.3 for a more detailed explanation of the 3-way comparison.
4. Optional : If you decide that you need to switch the base and compare projects you can press the
button. For instance in Figure 18.4.1, if you would like Project A to be the <1st> project and
Project B to be the <Base>.
5. Select one of the options Compare only, Manually or Automatically. The differences between
these three choices are explained below:
Compare only: If you only want to compare the two projects and no merge is desired, then
select the radio button Compare only. This disables the merge functionality and only the
differences between the two projects will be shown.
Manually: When this option is selected, you will later be asked to make assignments (to
choose the source project data for common objects that are merged together). For this
option, the target project can also be selected. Selecting <Base> will merge changes into
the <Base> project, whereas selecting <1st> will instead merge changes into the <1st>
comparison project.
Automatically: When this option is selected, PowerFactory will attempt to automatically merge
the two projects together, by automatically making data assignments. In a two-way compar-
ison, merging will be automatically into the base project (the base is automatically assumed
to be the target for the merging procedure). Note that if conicts are detected during an
automatic merge, the CMT will automatically switch to manual mode.
6. Press Execute to run the compare or merge. The CMT diff browser will appear (unless an au-
tomatic merge was selected and no conicts were identied by PowerFactory ). Interpreting and
using the diff browser is described in Section 18.4.5.
DIgSILENT PowerFactory 15, User Manual 317
CHAPTER 18. DATA MANAGEMENT
Note: It is possible to assign user dened names for each of the compared projects to make it more con-
venient for remembering which project is being referred to by the CMT later on in the diff browser
(see Section 18.4.5). For example, you might wish to name two compared projects something like

SMaster and

SUser. Custom names can be implemented by typing the desired name in the as ...
eld in the CMT options dialogue shown in Figure 18.4.1. These user-dened names are limited
to a maximum of ten characters.
18.4.3 How to Merge or Compare three projects using the Compare and Merge
Tool
This section describes the procedure for merging together or comparing three projects using the Com-
pare and Merge Tool (CMT). The comparison procedure is completed using a similar method to a
two-way merge or compare but with slight differences that will be explained here.
To merge or compare three Projects:
1. In the data manager, right-click an inactive project and choose Select as Base to Compare.
2. In the window on the right of the data manager, hold the CTRL key to multi-select a second and
third inactive project.
3. Right-click the multi-selection and select the option Compare to <project>. The CMT options
dialogue will appear as shown in Figure 18.4.2. The <Base>, the <1st> and the <2nd> project
are listed in the Compare section of the dialogue.
Figure 18.4.2: Compare and Merge Tool options dialogue for a three way merge
4. Select one of the options Compare only, Manually or Automatically. The differences between
these three choices are explained below:
Compare only: If you only want to compare the two projects and no merge is desired, then
select the radio button Compare only. This disables the merge functionality and only the
differences between the two projects will be shown.
Manually: When this option is selected, you will later be asked to make assignments (to
choose the source project data for common objects that are merged together). For this
option, the target project can also be selected. or a three-way merge you cannot merge into
the <Base>, either the <1st> or the <2nd> project must be selected.
Automatically: When this option is selected, PowerFactory will attempt to automatically merge
the three projects together, by automatically making data assignments. As for the Manually
option, the target can be either the <1st> or <2nd> project. Note that if conicts are de-
tected during an automatic merge, the CMT will automatically switch to manual mode.
318 DIgSILENT PowerFactory 15, User Manual
18.4. COMPARING AND MERGING PROJECTS
5. If using the Manually or Automatic options, you must choose the Assignment priority, by selecting
an option from the Assign drop-down menu. This denes the default assignment in the CMT diff
browser (or automatic merge) when PowerFactory identies conicts. For example, say the CMT
identies that the load called L1 has an active power of 10 MW in <Base>, 12 MW in <1st> and
13 MW in <2nd>. By choosing the option Automatically and favor 1st, the default assignment for
L1 would be <1st> and a power of 12 MW would be assigned to this load in the target project if
you did not alter the assignment manually.
6. Press Execute to run the compare or merge. The CMT diff browser will appear (unless an au-
tomatic merge was selected and no conicts were identied by PowerFactory ). Interpreting and
using the diff browser is described in Section 18.4.5.
Note: It is possible to assign user dened names for each of the compared projects to make it more
convenient for remembering which project is being referred to by the CMT later on in the diff
browser (see Section 18.4.5). For example, a user might wish to name two compared projects
something like Master and User. Custom names can be implemented by typing the desired name
in the as ... eld in the CMT options dialogue shown in Figure 18.4.1. These user-dened names
are limited to a maximum of ten characters.
18.4.4 Compare and Merge Tool Advanced Options
The Advanced Options page of the CMT shown is shown Figure 18.4.3.
Figure 18.4.3: Compare and Merge Tool Advanced Options
Search correspondents for added objects
This option is only available for a three way merge and is enabled by default. If enabled then
PowerFactory can automatically align two independently added objects as being the same
object. This option can be useful when completing a comparison on projects where users
have added the same object (same name) in each of their respective projects and you want
to make sure PowerFactory identies this object as being the same object. Note this option
is only considered when the Identify correspondents always by name/rules option is also
enabled.
Consider approval information
By default this option is disabled, which means that information in the object description page
under Approval Information is not compared. For example, when this option is disabled if an
objects Approval status changes from Not Approved to Approved or vice versa, then this
modication would not be registered by the CMT comparison engine.
Depth
DIgSILENT PowerFactory 15, User Manual 319
CHAPTER 18. DATA MANAGEMENT
This option controls whether the CMT compares only the selected objects or also all objects
contained within the compared objects. By default, Chosen and contained objects is enabled
which means the CMT compares all objects within the selected comparison objects. This is
generally the most appropriate option when merging projects.
Ignore differences <
This eld controls the sensitivity of the comparison engine when comparing numerical pa-
rameters. If the difference between two numerical parameters is less than the value entered
into this eld, then the comparison will show the two values as equal =.
18.4.5 Compare and Merge Tool diff browser
After the CMT options are set, and the button Execute is used to start the CMT comparison. Then
the comparison and assignment results are presented in a data browser window (the CMT diff browser
window shown in Figure 18.4.4). The diff browser is divided into three parts:
The Data Tree Window on the left;
The Comparison and Assignment Window on the right; and
The Output Window at the bottom.
These features are explained in the following sections.
Figure 18.4.4: Compare and Merge Tool diff browser after a three-way merge
The Output Window
The Output window displays reports from the context sensitive right-click menu and other error informa-
tion.
How to use the Comparison and Assignment Window
In the CMT Comparison and Assignment Window, a list of the compared objects is shown. The win-
dow appears slightly different depending on whether a two way merge, a three way merge or a com-
parison has been completed. For instance, after a comparison, the Assigned from and Assignment
Conict columns are not shown. After a two-way merge, the columns with the project names will show
<Base> and <1st> (or user-dened names), whereas after a three-way merge they will show <1st>
and <2nd>. A comparison result symbol, indicating the differences found for each object from the list,
320 DIgSILENT PowerFactory 15, User Manual
18.4. COMPARING AND MERGING PROJECTS
is displayed in the columns <Base> and <1st> after a two-way merge and in columns <1st> and
<2nd> after a three-way merge. The possible combinations of these symbols are shown and explained
in Tables 18.4.1 and 18.4.2.
Base 1st Comment
Objects are identical in all projects
A parameter of the object is modied in the
<2nd> project
A parameter of the object is modied in
<1st> project
A new object in the <2nd> project
A new object in <1st> project
Object removed in <2nd> project
Object removed in <1st> project
Modied in both projects but the same
modications in both
Modied in both projects but the modica-
tions are different
Modied in the <1st> project and re-
moved in the <2nd> project
Modied in the <2nd> project and re-
moved in the <1st> project
dentical object added in both projects
Object added in both projects but parame-
ters are different
Object removed in both projects
Table 18.4.2: Possible results after a three-way comparison or merge
For a project merge (i.e. the Merge option was enabled in the command dialogue), the Assigned from
must dene the source project of the changes to implement in the target project. All listed objects must
have an Assignment. If you dont want to implement a certain change in the target; then the target
project must be selected as the source.
You should pay special attention to all results indicated with the conict symbol . This symbol
indicates that objects are different in both compared projects or that another error has occurred. In the
case of conicts, you must always indicate to PowerFactory the source project for the data.
In a two-way merge, the only available sources for assignment are the <Base> (which is also the
target) and <1st>. In a three-way merge, the possible sources are <Base>, <1st> and <2nd>. The
assignment can be made manually by double-clicking on the corresponding cell in the Assigned from
column and selecting the desired source, or double-clicking the <Base>, <1st> or <2nd> cell that you
wish to assign. However, this task can be tedious in large projects where there are many differences.
To rapidly assign many objects, the objects can be multi-selected and then Assign from ... or Assign
with Children from ... can be selected from the context sensitive right-click menu.
Base 1st Comment
The object has been removed in the <1st> project
The object has been added to the <1st> project
A parameter of the object has been modied in <1st> project
The object is identical in both projects
Table 18.4.1: Possible results after a two way comparison or merge
DIgSILENT PowerFactory 15, User Manual 321
CHAPTER 18. DATA MANAGEMENT
After the assignment of all the objects, the projects can be merged by pressing the Merge button. The
changes are then automatically implemented in the target project.
Note: The Comparison and Assignment Window always shows the selected object in the Data Tree
Window in the rst row.
Data Tree Window
The windowon the left side of Figure 18.4.4 shows the Data Tree Window, which is similar in appearance
to the data manager tree. This window shows the compared objects in a normal project tree structure.
At each level of the tree, there is an indication on the right showing the status of the comparison of
the contained objects (and the object itself). The legend for the comparison indication is shown in
Table 18.4.3.
Icon/Text Meaning
Assignments/Comparison is okay
Conicts exist
Mixed/<Base>/<1st>/<2nd> The text indicates the assignments
within by indicating the assigned
project. If assignments within are from
multiple different sources, then Mixed
will show.
Assignments missing
Bold red font three way merge - information will be
lost during the merge two way merge
information could be lost during the
merge
Table 18.4.3: Data Tree Window Legend
Diff Browser Toolbar
As previously mentioned, the objects displayed in the CMT window can be sorted and organized by the
toolbar as shown in Figure 18.4.5. The available buttons are explained in this section.
Figure 18.4.5: Compare and Merge Tool diff browser toolbar
Modications to be shown The Modications to be shown drop-down menu allows the results
in the comparison windows to be ltered according to their comparison status. Possible lter
options for a three way comparison are:
All objects
All modications (default)
All modications in <1st> (show all modications, additions and deletions in the <1st> project)
All modications in <2nd> (show all modications, additions and deletions in the <2nd> project)
All modications in both (show only those objects which exist in both projects and have been
modied in both projects)
322 DIgSILENT PowerFactory 15, User Manual
18.4. COMPARING AND MERGING PROJECTS
All modications in both but different (show only those objects which exist in both projects and
have been modied in both projects to different values)
Added in <1st> (show only objects added in the <1st> project)
Modied in <1st> (show only objects modied in the <1st> project)
Deleted in <1st> (show only objects deleted in the <1st> project)
Added in <2nd> (show only objects added in the <2nd> project)
Modied in <2nd> (show only objects modied in the <2nd> project)
Deleted in <2nd> (show only objects deleted in the <2nd> project)
The following options are available for a two way comparison:
All objects
All modications
Added in <1st>
Modied in <1st>
Deleted in <1st>
Only one option can be selected at a time.
Show all objects inside chosen object This button will list all compared objects and also
all contained objects (at every level of the tree).
Show graphical elements Pressing this button will prevent graphical differences from ap-
pearing in the comparison window. Because graphical changes often occur, and can often be
trivial, for example a slight adjustment to the x-axis position of an object, this button is extremely
useful for organizing the data.
Detail mode and Detail mode class select The functionality of these two buttons is
identical to their function in the data manager.
Show only not assigned Filters the display to show only objects not yet assigned. This lter
is only available when the merge option is used. By default all assigned and unassigned objects
are displayed.
Show only Objects with assignment conicts Only objects with assignment conicts are
displayed. This lter is only available when the merge option is used. By default objects with and
without assignment conicts are displayed.
Group dependent objects If this option is enabled, dependent objects are listed indented
underneath each listed comparison object. A dependent object is dened as an object that is
referenced by another object. For example, a line type (TypLne) is a dependent object of a Line
Element (ElmLne), likewise the cubicles that connect the Line Element to a terminal. If the objects
are grouped and not ltered otherwise, every object has to be listed at least once but can be listed
several times as a dependency. Non-primary objects (such as graphical elements) are only listed
separately if they are not listed as a dependency for another object.
Dependent objects are not ltered. By default, the grouping of dependent objects is not displayed
because this type of display can quickly expand to become unusable because in a typical project
there are many dependencies.
Diff window right-click menu options
DIgSILENT PowerFactory 15, User Manual 323
CHAPTER 18. DATA MANAGEMENT
A context sensitive menu can be activating by right-clicking a cell or object in the tree window
or the comparison and assignment window. The following options are available: Show Object
... A project selection window will appear so that you can show specic object data. After you
choose the reference project, the dialogue of the selected object is then displayed. The displayed
dialogue is read-only.
Output Modication Details This prints a report to the output window showing the details of the
differences for the selected objects. The format of the report is a ASCII table with the modied
parameters as rows and the parameter values in each compared project as columns. The date
and time of the last modication along with the database user who made the last change are
always shown in the rst two rows.
Output Non-OPD Modication Details This option is similar to the Output Modication Details
option, but it only shows the modications that are not classed as Operational Data.
Align Manually This option allows the compared objects to be realigned across the compared
projects. What this means is that disparate objects can instead be compared directly. This could
be useful for example when two different users have added an object to their derived projects but
each has given it a slightly different name, even though the objects are representing the same
real world object. The CMT would see these objects as different objects by default. In this case,
the data administrator might wish to tell PowerFactory that these two different objects are the
same object and this can be completed using the Align Manually function.
Ignore Missing References For every compared object missing references can be optionally
ignored. The assignment check then does not check the references of the object. Missing refer-
ences can also be considered again by using the Consider Missing References option. By default
missing references are not ignored.
Set Marker in Tree A right-click in the data tree window allows you to set a marker within the data
tree. This behaves somewhat like a bookmark and you can return to this point in the data tree at
any time by using the Jump to Marker ... in Tree. Note it is only possible to set one marker at a
time - setting a new marker will automatically over-write the last marker.
Diff window buttons
The various diff window buttons as highlighted in Figure 18.4.6 will now be explained.
Figure 18.4.6: Compare and Merge Tool Diff window with buttons highlighted
324 DIgSILENT PowerFactory 15, User Manual
18.5. HOW TO UPDATE A PROJECT
Check This button checks that all assignments are okay. The following conicts are checked for
all compared objects:
Missing assignment;
Missing parent (Parent object of an assigned object will not exist in the target after merge.)
Missing reference (Referenced object of an assigned object will not exist in the target after merge.)
All conicts are printed as errors to the output window of the CMT. Conicts are listed in groups
and with the icon in the data tree and comparison and assignment window.
Recompare After a realignment, it is necessary to run the CMT again using this button to update
the comparison results.
Merge The merge procedure updates the target by copying objects or parameters or deleting
objects according to the assignments. Before the merge procedure is started an assignment
check is done. The merge procedure is cancelled if the check detects conicts. If no conicts are
detected, the Diff Browser is closed and then the merge procedure is started. After the merge
procedure is complete all data collected by the CMT is discarded.
Info The Info dialogue called by the Info button shows more information about the comparison:
database path of the top level projects/objects that are being compared;
target for merge (only if merge option is active);
selected comparison options;
number of objects compared;
number of objects modied; and
number of objects with conicts (only if merge option is active).
18.5 How to update a Project
There are two common procedures that users and data administrators need to complete when working
with Master Projects and other user projects that are derived from versions of this Master project:
Updating a derived project with information from a new version; and
Updating a Master Project with information from a derived project.
This section explains these two procedures and also tips for working with the CMT.
18.5.1 Updating a Derived Project from a new Version
When a derived project is activated after a new version of the Base project has been created (provided
that the ag Notify users of derived projects was checked when the version was created and that the
derived project option Disable notication at activation is unchecked), then the user will be presented
with the dialogue shown in Figure 18.5.1.
DIgSILENT PowerFactory 15, User Manual 325
CHAPTER 18. DATA MANAGEMENT
Figure 18.5.1: New Version available - dialogue box
The options offered in the notication dialogue are:
Merge new version with derived project and
PowerFactory automatically generates a temporary copy derived of the new version and executes
a 3-way comparison with the base version of the users project (as the Base), the derived project
(as <1st>) and the temporary copy (as <2nd> and target). In the case of a conict, one of the
following actions will be taken:
favor none: The CMT diff browser is displayed, and the user can then resolve the conict(s) by
dening how the changes should be assigned.
favor derived project: Conicts are resolved automatically by favouring the users modications,
thereby discarding modications in the Base.
favor new version: Conicts are resolved automatically by favouring the Bases modications,
thereby discarding the users modications.
Get new version and discard modications in derived project The derived project is auto-
matically replaced by the new version. All user modications will be lost.
Merge manually Use the CMT to merge the modications manually. The results of the compar-
ison are displayed in a CMT diff browser, where the user denes how the changes should be
assigned. After these assignments have been dened, 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-notication, and the derived project
is activated according to how it was left in the previous session. The notication is deactivated
for the indicated number of days.
Note: In a multi-user environment, updated versions of the Base project can be released regularly and
the user will often be presented with the new version notication in Figure 18.5.1. In many cases,
the user will not want to apply the updated version because they will be in the middle of a project or
other calculation and dont want to risk corrupting or changing their results. Therefore, the option
Notify me again in... is the appropriate choice because it will leave the users project unchanged.
If the Cancel button is used, the project is activated as it was left in the previous session. The notication
will appear following the next activation.
An alternative way to manually initiate the above procedure is to right-click the derived project and select
the option Merge from base project. This feature is only possible with deactivated projects.
326 DIgSILENT PowerFactory 15, User Manual
18.6. SHARING PROJECTS
18.5.2 Updating a base project from a Derived Project
Changes implemented in derived projects can also be merged to the base project. In this case, the
option Merge to base project must be selected from the context-sensitive menu available by right-
clicking on the derived project. As in previous cases, the CMT is started and you can manually resolve
conicts using the diff browser.
18.5.3 Tips for working with the Compare and Merge Tool
One of the most common uses of the CMT is for merging changes made by users to their derived
projects back into the Master project to create an updated version for all users. Such a task is often
done by the data administrator. For this task it can help to follow the steps as outlined below:
1. Check the users modications with a 2-way merge (derived vs. base; What changes were done?
Are all changes intended? Modications which were made by mistake should be corrected in the
users derived model before continuing with the merge procedure.). The check of the modications
should be done by the user and the data administrator.
2. The data administrator creates a new derived project based on the most recent version of the
Master model.
3. A three way merge is done, selecting the version on which the users derived project is based on
as Base, the derived project created in the previous step as <1st> and the users derived project
as <2nd>. The changes are merged into <1st> (target).
4. The resulting model is then validated. Conicts which could not be solved automatically by the
CMT are corrected manually.
5. The validated model (derived project in data administrator account) is merged to the base model
by using the context sensitive menu entry Merge to Base Project. This will not cause problems if
the master model has not been changed since deriving the model in step 2.
6. A new version is created by the data administrator and the users informed.
Note: The Compare and Merge Tool can be used to compare any kind of object within a PowerFactory
project. The functionality and procedure to follow is similar to that explained in this section for
project comparison and merging.
18.6 Sharing Projects
In PowerFactory , any project can be shared with other users according to the rules dened by its owner.
Projects are shared to groups of users and not directly to individuals. Therefore, users must be part of
a group (created and managed by the data Administrator) in order to access shared projects.
Depending on the access level that the owner assigns to a group, other users can get:
read-only access to the shared project, which allows the copying of objects and the creation of
derived projects from versions within the shared project;
read-write access; This allows users full control over all objects within the project.
Full access. Full access allows the user to modify the sharing properties and create versions.
Each access level includes the rights of the lower levels.
To share a project:
DIgSILENT PowerFactory 15, User Manual 327
CHAPTER 18. DATA MANAGEMENT
1. Open the project dialogue by right-clicking the project name and selecting the option Edit.
2. Select the Sharing tab;
3. Right-click within the Groups or Sharing access level columns on the right side of the Sharing
information table to insert (or append) a row(s);
4. Double-click the Groups cell of the new line and select the group with whom the project is shared
using the data browser;
5. 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 data administrator, please refer to Chapter 6 (User
Accounts and User Groups).
18.7 Database archiving
An archiving function for decreasing the used database storage space and increasing performance of
large multi-user databases is available. Older projects that are currently not used but still important for
a possibly use in the future can now be archived. In multi-user database environments, the user can
easily send projects to the archive folder by executing the Archive command in the context sensitive right
mouse button menu of each project itemand selecting Archive" The archived projects are exported from
database and stored in a separate folder (Archived Projects) for long term storing. The user increases
thus system performance and the speed of general database operations (e.g. project loading/closing).
All information regarding the initial project location is also saved allowing the user to restore projects in
the exact location it originated from.
Projects can be accessed back and loaded into the active database by executing the Restore" com-
mand in the context sensitive right mouse button menu of each project.
328 DIgSILENT PowerFactory 15, User Manual
Chapter 19
The DIgSILENT Programming
Language - DPL
19.1 Introduction
The DIgSILENT Programming Language DPL serves the purpose of offering an interface for automating
tasks in the PowerFactory program. The DPL method distinguishes itself from the command batch
method in several aspects:
DPL offers decision and ow commands
DPL offers the denition and use of user-dened variables
DPL has a exible 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-dened 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-ow or short-circuit commands)
Input and output routines
DIgSILENT PowerFactory 15, User Manual 329
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
Mathematical expressions
PowerFactory object procedure calls
Subroutine calls
19.2 The Principle Structure of a DPL Command
The principle Structure of a DPL script is shown in Figure 19.2.1.
Figure 19.2.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 predened input parameters, single objects from the single line dia-
gram or the database or a set of objects/elements, which are then stored inside a so called General
Selection".
These input information can then be evaluated using functions and internal variables inside the script.
Also internal objects can be used and executed, like
a calculation command, i.e. ComLdf, ComSim, etc., especially dened with certain calculation
options
subscripts also released in DPL
lter 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 settings, parameters or results
directly in the database objects. There is nearly no object inside the active project, which can not be
accessed or altered.
330 DIgSILENT PowerFactory 15, User Manual
19.3. THE DPL COMMAND OBJECT
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 predened output command ComSh or
to dene own outputs with the DPL commands available.
19.3 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 19.3.1 is apparently a referring command, since its DPL
script" reference is set to the remote command \ Library\ DPL Commands\ CheckVLoading.
Figure 19.3.1: 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.
19.3.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 specied.
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 .
DIgSILENT PowerFactory 15, User Manual 331
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
19.3.2 Dening a DPL Commands Set
The DPL command holds a reference to a selection of objects (General Selection). At rst this general
selection is empty, but there are several ways to dene a special set of object used in the DPL command.
This DPL Commands Set" (SetSelect ) can be specied through:
Select one or more elements in the single line diagram. Then right-click the selection (one of the
selected elements) and choose the option Dene. . . 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 Dene. . . DPL Commands Set. . . from the context sensitive menu.
19.3.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 dene a selection for it is
To select one or more elements in the single line diagram or in the data manager and then right-
click the selection.
Choose the option Execute DPL Scripts from the context sensitive menu.
Then select a DPL script from the list. This list will show DPL scripts from the global as well as
from the local library.
Select a DPL script, insert/change the variables and then press the button Execute
In this way the selection is combined into a DPL Commands Set and the set is automatically selected
for the script chosen.
Only one single DPL command set is valid at a time for all DPL scripts. This means that setting the DPL
command set in one DPL command dialogue, will change the DPL command set for all DPL commands
in the database.
Note: To choose different sets for various DPL scripts you can either use different selection object Set-
Select 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 dene variables that are accessible from outside the
DPL command itself. DPL commands that call other DPL commands as subroutines, may use and
change the values of the interface variables of these DPL subroutines.
The list of External Objects is used to execute the DPL command for specic 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
specic busbar, would access that specic busbar as an external object. Performing the same command
for another busbar would then only require setting the external object to the other busbar.
19.3.4 DPL Advanced Options
On the Advanced Options page a Remote script can be selected, which is then used by this script
instead of a local dened script on the next page Script. This is a so called referring command". The
root command" as described above in the example uses the local dened script.
332 DIgSILENT PowerFactory 15, User Manual
19.4. THE DPL SCRIPT EDITOR
Also there can be Result parameters dened. 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.
19.3.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 dened 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.
19.4 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 dialogue.
Now a new window will be opened in PowerFactory. Here the script can be written in a very convenient
way similar to the programming language C++. The highlighting will be activated automatically.
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
modied 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 nd/replace/go to the next matching word.
With the search previous icon nd/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 nished editing, press the icon and the script will be synchronized with the main dialogue.
One can also jump to the main graphics board by selecting the option Window Graphic. . . from the
main menu.
19.5 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:
DIgSILENT PowerFactory 15, User Manual 333
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
variable denitions
assignments and expressions
program ow instructions
method calls
The statements in a DPL script are separated by semicolons. Statements are grouped together by
braces. Example:
statement1;
statement2;
if (condition)
{
groupstatement1;
groupstatement2;
}
19.5.1 Variable Denitions
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 object
Vectors and Matrices are available as external objects.
The syntax for dening variables is as follows:
[VARDEF] = [TYPE] varname, varname, ..., varname;
[TYPE] = double | int | object | set
All parameter declarations must be given together in the top rst lines of the DPL script. The semicolon
is obligatory.
Examples:
double Losses, Length, Pgen;
int NrOfBreakers, i, j;
string txt1, nm1, nm2;
object O1, O2, BestSwitchToOpen;
set AllSwitches, AllBars;
19.5.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 dened in the DPL syntax:
334 DIgSILENT PowerFactory 15, User Manual
19.5. THE DPL SCRIPT LANGUAGE
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.
19.5.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-assignment -="
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
19.5.4 Standard Functions
The following operators and functions are available:
Arithmetic operators: +, -,

, /
Standard functions ( all trigonometric functions based on radians (RAD))
DIgSILENT PowerFactory 15, User Manual 335
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
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
ceil(x) smallest larger integer ceil(1.15)=2.000
oor(x) largest smaller integer oor(1.78)=1.000
Table 19.5.1: DPL Standard Functions
Constants:
pi() pi
twopi() 2 pi
e() e
Table 19.5.2: DPL Internal Constants
19.5.5 Program Flow Instructions
The following ow 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."
336 DIgSILENT PowerFactory 15, User Manual
19.5. THE DPL SCRIPT LANGUAGE
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" commands. The
break" and continue" commands may not appear outside a loop statement.
The break" command terminates the smallest enclosing do-while" or while-do" statement. The exe-
cution of the DPL script will continue with the rst 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 rst 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;
}
DIgSILENT PowerFactory 15, User Manual 337
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
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();}
19.5.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 variables value.
Example:
input(diameter, 'enter diameter');
output('the entered value=diameter');
The example results in the pop up of a window as depicted in Figure 19.5.1.
Figure 19.5.1: The input window
The following text will appear in the output window:
DIgSI/dpl - the entered value=12.3400
338 DIgSILENT PowerFactory 15, User Manual
19.6. ACCESS TO OTHER OBJECTS
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.
19.6 Access to Other Objects
With the syntax for the parameter denitions, program ow and the input and output, it is already possi-
ble 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 specic line
by possibly better alternatives, in order to select the best line type. Such a script must be able to access
specic objects (the specic line) and specic sets of objects (the set of alternative line types).
The DPL language has several methods with which the database objects and their parameters become
available in the DPL script:
The most direct method is to create an object, or a reference to an object, in the DPL command
folder itself. Such an object is directly available as object" variable in the script. The variable
name is the name of the object in the database.
The DPL command set may be used. This method is only useful when the order in which the
objects are accessed is not important. The DPL command set is automatically lled 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 specic objects or
selections. The list of external objects is nothing more than a list of aliases". The external object
list is used to select specic objects for each alias, prior to the execution of the script.
19.6.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-ow command in order to force an
asymmetrical load-ow 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-ow 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-ow 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-ow 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
DIgSILENT PowerFactory 15, User Manual 339
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
09. }
This examples is very primitive but it shows the basic methods for accessing database objects and their
parameters.
19.7 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 variable name. It will not be
possible to access an internal object which name is My Load-ow\{}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 19.7.1, where a DPL script is shown on the left which has a load-ow command and a reference
to a line in its contents folder on the right.
Figure 19.7.1: 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-ow command, is used in line 01 to perform a
load-ow.
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-ow is calculated by calling the method Execute()" of the load-ow command. The
details of the load-ow command, such as the choice between a balanced single phase or an unbal-
anced three phase load-ow 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".
19.8 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 ll it with all lines. The data manager
offers several ways in which to ll this object DPL Command Set with little effort. The selection may
340 DIgSILENT PowerFactory 15, User Manual
19.9. ACCESSING EXTERNAL OBJECTS
then be used to access each line indirectly by a DPL object" variable. In this way, a loop is created
which is performing the search for the highest loading. This is shown in the following example.
Example
00. int error;
01. double max;
02. object O, Omax;
03. set S;
04.
05. error =
Ldf.Execute();
! execute a load-flow
06. if (error) exit(); ! exit on error
07.
08. S =
SEL.AllLines();
! get all selected
lines
09. Omax = S.First(); ! get first line
10. if (Omax) {
11. max =
Omax:c:loading;
! initialize maximum
12. } else {
13. output('No lines
found in selection');
14. exit(); ! no lines: exit
15. }
16. O = S.Next(); ! get next line
17. while (O) { ! while more lines
18. if
(O:c:loading>max) {
19. max = O:c:loading; ! update maximum
20. Omax = O; ! update max loaded
line
21. }
22. O = S.Next();
23. }
24. output('max
loading=max for line');
!output results
25.
Omax.ShowFullName();
The object SEL used in line 08 is the reserved object variable which equals the General Selection in the
DPL command dialogue. The SEL object is available in all DPL scripts at all times and only one single
General Selection" object is valid at a time for all DPL scripts. This means that setting the General
Selection in the one DPL command dialogue, will change it for all other DPL commands too.
The method AllLines()" in line 08 will return a set of all lines found in the general selection. This set is
assigned to the variable S". The lines are now accessed one by one by using the set methods First()"
and Next()" in line 09, 16 and 22.
The line with the highest loading is kept in the variable Omax". The name and database location of this
line is written to the output window at the end of the script by calling ShowFullName()".
19.9 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.
DIgSILENT PowerFactory 15, User Manual 341
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
Although exible, this method would create problems if more than one specic object should be ac-
cessed in the script. By creating references to those objects in the DPL command itself, the DPL
command would become specic 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-specic 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-ow 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 19.9.1, an example of an external object is given. This external object may be referred to in
the DPL script by the name Bar1", as is shown in the example.
Figure 19.9.1: DPL external object table
Example:
sagdepth = Bar1:u;
19.10 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:
342 DIgSILENT PowerFactory 15, User Manual
19.10. REMOTE SCRIPTS AND DPL COMMAND LIBRARIES
A DPL command either executes its own script or the script of another, remote, DPL command.
In the rst 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 dene interface variables that are accessible from outside the script and
which are used to dene default values.
Each root command may dene one or more external objects. External object are used to make
a DPL command run with specic power system objects, selections, commands, etc.
A referring command may overrule all default interface values and all selected external objects of
the remote command.
Each DPL command can be called as a subroutine by other DPL commands.
The use of remote scripts, external objects and interface variables makes it possible to create generic
DPL commands, which may be used with different settings in many different projects and study cases.
The easiest way to develop a new DPL command is to create a new ComDpl in the currently active
study case and to write the script directly in that DPL object. In such a way, a DPL root command" is
made. If this root command needs DPL subroutines, then one or more DPL command objects may be
created in its contents. Each of these subroutines will normally also be written as root functions.
The newly written DPL command with its subroutines may be tested and used in the currently active
study case. However, it cannot be executed when another study case is active. In order to use the DPL
command in other study cases, or even in other projects, one would have to copy the DPL command
and its contents. This, however, would make it impossible to alter the DPL command without having to
alter all its copies.
The solution is in the use of remote scripts". The procedure to create and use remote scripts is
described as follows.
Suppose a new DPL command has been created and tested in the currently active study case. This
DPL command can now be stored in a save place making it possible to use it in other study cases and
projects.
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 its DPL subroutines and other locally stored objects.
Generalize" the copied DPL command by resetting all project specic 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.
DIgSILENT PowerFactory 15, User Manual 343
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
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.
19.10.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 command. In principle, this
is not different from calling, for example, a load-ow 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 illustrates this.
Suppose we have a DPL sub-command Sub1" with the interface section as depicted in Figure 19.10.1.
Figure 19.10.1: 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:
344 DIgSILENT PowerFactory 15, User Manual
19.11. DPL FUNCTIONS AND SUBROUTINES
error = Sub1.Execute();
However, using calling arguments, we may also write:
! execute the subroutine:
error = Sub1.Execute(5.0, MyLine, MySelection);
19.11 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 subroutines. 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-ow command, the line object, the asynchronous machine, etc.
Please see the Appendix D DPL Reference for a description of these functions including implementation
examples.
DIgSILENT PowerFactory 15, User Manual 345
CHAPTER 19. THE DIGSILENT PROGRAMMING LANGUAGE - DPL
346 DIgSILENT PowerFactory 15, User Manual
Chapter 20
PowerFactoryInterfaces
20.1 Introduction
PowerFactory supports a wide set of interfaces. Depending on the specic data exchange task the user
may select the appropriate interface.
The interfaces are divided as follows:
Interfaces for the exchange of data according to DIgSILENT specic formats:
DGS
StationWare (DIgSILENT GmbH trademark)
Interfaces for the exchange of data using proprietary formats:
PSS/E
NEPLAN
MATLAB
INTEGRAL
Interfaces for the exchange of data according to standardized formats:
UCTE-DEF
CIM
OPC
Interfaces for remote control of PowerFactory
API
Python
The above mentioned interfaces are explained in the following sections.
20.2 DGS Interface
DGS (DIgSILENT) is PowerFactorys standard bi-directional interface specically designed for bulk data
exchange with other applications such as GIS and SCADA, and, for example, for exporting calculation
results to produce Crystal Reports, or to interchange data with any other software package.
DIgSILENT PowerFactory 15, User Manual 347
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.2.1 illustrates the integration of a GIS (Graphical Information System) or SCADA (Supervisory
Control And Data Acquisition) with PowerFactory via the DGS interface
Here, PowerFactory can be congured either in engine or normal mode. When used in engine mode,
PowerFactory imports via DGS the topological and library data (types), as well as operational informa-
tion. Once a calculation has been carried out (for example a load ow or short circuit), the results are
exported back so they are displayed in the original application; which in this example relates to the
SCADA or GIS application. The difference with PowerFactory running in normal mode (see right section
of Figure 20.2.1) is that, besides the importing of data mentioned previously, the graphical information
(single line graphics) is additionally imported, meaning therefore that the results can be displayed di-
rectly in PowerFactory. In this case, the exporting back of the results to the original application would
be optional.
Figure 20.2.1: DGS - GIS/SCADA Integration
Although the complete set of data can be imported in PowerFactory every time a modication has been
made in the original application, this procedure would be impractical. The typical approach in such
situations would be to import the complete set of data only once and afterwards have incremental
updates.
20.2.1 DGS Interface Typical Applications
Typical applications of the DGS Interface are the following:
Importing to PowerFactory
Data Import/Update into PowerFactory from external data sources such as GIS (Network
Equipment), SCADA (Operational Data) and billing/metering systems (Load Data) in order to
perform calculations.
Exporting from PowerFactory
Performing calculations in PowerFactory and exporting back the results to the original appli-
cation.
Integration
348 DIgSILENT PowerFactory 15, User Manual
20.2. DGS INTERFACE
Importing data sets to PowerFactory from GIS or SCADA, performing calculations, and ex-
porting back results to GIS or SCADA.
20.2.2 DGS Structure (Database Schemas and File Formats)
PowerFactory s DGS interface is based on the PowerFactory data model. Data can be imported and
exported with DGS using different le formats and database schemas.
The following database schemas or le formats are supported:
Database Schemas
Oracle DB Server (ODBC client 10 or newer)
Microsoft SQL Server (ODBC driver 2000 or newer)
System DSN (ODBC)
File Formats
DGS File - ASCII
XML File
Microsoft Excel File (2003 or newer)
Microsoft Access File (2003 or newer)
Important to note here is that the content of the les is the same; the only difference being the format.
Note: It is highly recommended to use the latest available DGS version.
The core principle of DGS is to organize all data in tables. Each table has a unique name (within
the DGS le or database/table space) and consists of one or more table columns, where generally all
names are case-sensitive.
For more detailed information on the DGS structure, please refer to the DGS Interface document located
inside the PowerFactory installation folder (for example C:\ProgramFiles\DIgSILENT\PowerFactory 15\DGS\).
Also available in the same location are some examples.
20.2.3 DGS Import
To import data via the DGS interface, the general procedure is as follows:
From the main menu go to File Import. . . DGS Format. . . which opens the DGS-Import
dialogue window.
Specify the required options in both the General and Options pages, and click on the Execute
button.
When importing DGS les, the user has two options:
1. Importing into a new project. With this option selected a newly generated project is left activated
upon completion.
2. Importing into an existing project. If an operational scenario and/or a variation is active at the
moment the import takes place, the imported data set will be divided correspondingly. For example
importing breaker status (opened/closed) while an operational scenario is active will store this
information in the operational scenario.
DIgSILENT PowerFactory 15, User Manual 349
CHAPTER 20. POWERFACTORY INTERFACES
The following sections describe each of these options.
General Settings Tab Page
Import into New Project By choosing this option, a project will be created where all the DGS
data will be stored. The user will have the option of specifying a specic name and location (other
than the default).
Import into Existing Project By choosing this option, the DGS data will be imported into an
already existing project. Here, the data can be selective and its not required that the imported
data must be complete. In some cases, most of the objects are already existent and only an
update is required for some of them.
Import from The source of the data to be imported is specied with this option. If a File Format
source is selected then the location and type of data (DGS, XML, MDB or XLS) must be specied.
If a Database Schema source is selected, then a DB service, User and Password information is
required (the SQL server option will require an extra Database information).
Note: The GIS conversion uses millimetre units with respect to the bottom-left origin and A0 paper
format limit (1188 x 840 mm). It could therefore be necessary to transform the GIS coordinates
before creation of the .DGS" le.
For more detailed information on the General settings, please refer to the DGS Interface document lo-
cated inside the PowerFactory installation folder (for example C:\ProgramFiles\DIgSILENT\PowerFactory
15\DGS\).
Options Settings Tab Page
Predened Library A predened library located somewhere else in the database can be selected. The
option of copying the library into the project is also available.
Options for DGS version <5.0
Create Switch inside Cubicle In cases where the source data has no switches dened inside
the cubicles, the enabling of this option will create the switches automatically during the import.
If switches already exist in a certain cubicle, the creation of switches in that particular cubicle is
ignored.
Replace non-printable characters If the source data contains not allowed characters (, ?,
etc.), they are replaced by an underscore character.
Use foreign keys (available only with the option Import into Existing Project) Every object in
PowerFactory provides a parameter named Foreign Key" which can be used to identify the object
uniquely within its project. The parameter is a character eld with a maximum of 20 characters
and can be found on the Description page of the various property sheets.
If the DGS import interface is used for updating an existing network model the Name" column
can be lled with the Foreign Key" of an existing object. The object will then be identied by
this Foreign Key" and the data dened in the DGS le will overwrite the objects parameters.
Parameters which are not included in the DGS le will remain unchanged.
Additional Parameters This eld is specied for internal use only. No extra information is re-
quired by the user.
For more detailed information on the Optional settings, please refer to the DGS Interface document lo-
cated inside the PowerFactory installation folder (for example C:\ProgramFiles\DIgSILENT\PowerFactory
15\DGS\).
350 DIgSILENT PowerFactory 15, User Manual
20.2. DGS INTERFACE
20.2.4 DGS Export
In contrast to the DGS Import, where it is not relevant if a project is active or not; the DGS Export is
based on what information is active at the moment the export takes place. In other words, only the
active project, with the corresponding active Study Case, active Scenario, and active Variations are
exported (objects are exported in their current state). Furthermore, the export can be fully congured,
meaning that user has the option of selecting the amount of information to be exported per class object.
In general, the following data can be exported:
Element data
Type data
Graphic data
Result data (such as load ow results)
To export data via the DGS interface, the general procedure is as follows:
Import to PowerFactory the le DGS 5.0 Export Denitions.dz located inside the PowerFactory
installation folder (for example C:\Program Files\DIgSILENT\PowerFactory 15\DGS\). The se-
lected import location can be anywhere inside the current user (a typical location would be directly
inside the user). By performing this step, a default variable set denition is imported (denition
of the variables to export via DGS). Instead of the user creating the variable set denition from
scratch, the default denition can be used and modied if required (increase or decreasing the
amount of information to be exported).
Note: In previous versions of PowerFactory (13.2), the default denition set is named DGS Variable-
Sets.dz.
The location however is the same (for example C:\ProgramFiles\DIgSILENT\PowerFactory 15\DGS\).
Activate the project to be exported, considering the which Study Case, Scenario and Variations
should be active.
From the main menu go to File Export. . . DGS Format. . . which opens the DGS-Export
dialogue window.
Specify the required options in both the General and Options pages, and click on the Execute
button.
The following sections describe each of these options.
General Settings Tab Page
DGS Version Version of the DGS structure. It is highly recommended to use 5.0 for PowerFactory
V14.0.
Format Output format. Either as ASCII, XML, MS Excel or MS Access le (for Excel or Access,
Microsoft Ofce must be installed on the computer) or as Oracle, MS SQL Server and ODBC
DSN databases (databases format available only for DGS Version 5.0).
Insert Description of Variables If checked, a description of the columns is included (only avail-
able for ASCII, XML and MS Excel).
Variable Sets With this option, the data exported will be according to the variable denitions
specied (see the explanation at the beginning of the section) It is required to select a folder that
contains the monitor variable objects (IntMon) related to each class that is to be exported.
DIgSILENT PowerFactory 15, User Manual 351
CHAPTER 20. POWERFACTORY INTERFACES
Options Settings Tab Page
Settings currently not relevant for DGS 5.0.
For more detailed information on the Variable Sets denitions (IntMon), please refer to the DGS Interface
document located inside the PowerFactory installation folder (for example C:\Program Files\DIgSILENT
\PowerFactory 15 \DGS\).
20.3 PSS/E File Interface
Although both import and export functions for PSS/E les are integrated commands of PowerFactory ,
the export function is licensed separately. For more information on prices and licensing please contact
the sales department at mail@digsilent.de.
PSS/E Import supports versions 23 to 32 and can be performed by going to the main menu and selecting
File Import. . . PSS/E.
In the same manner, and provided the appropriate licensing exists, a project can be exported in PSS/E
format by selecting form the main menu File Export. . . PSS/E.
20.3.1 Importing PSS/E Steady-State Data
PowerFactory is able to convert both steady-state data (for load-ow and short-circuit analyses) and
dynamic data les. It is good practise to rst import the steady-state data (described in this section),
then to add the dynamic models (described in Section 20.3.2: Import of PSS/E le (Dynamic Data).
Before starting the next steps for importing a PSS/E le, please make sure that no project is active.
Once this has been conrmed, please select from the main menu File Import. . . PSS/E. By doing
so, the Convert PSS/E Files command dialogue seen in Figure 20.3.1 will be displayed, asking the user
to specify various options.
General Settings Page
352 DIgSILENT PowerFactory 15, User Manual
20.3. PSS/E FILE INTERFACE
Figure 20.3.1: PSS/E Import - General Settings
Nominal Frequency Nominal frequency of the le to be Converted/Imported.
PSS/E File Type
PSS/E Raw data Location on the hard disk of the PSS/E raw data le. By default the program
searches for

.raw extensions.
Sequence Data Location of the PSS/E sequence data le. By default the program searches for

.seq extensions.
Add Graphic Files Location of the PSS/E drw les on the le system. Again by default the
programs searches for les with extension

.drw.
Note: After the Conversion/Importing has nished, the resulting project will contain a graphics folder
where all of the PSS/E drw converted graphics will be stored. The user must therefore relocate
each one of them to the corresponding diagram folder.
Save converted data in
Project The project name that will be assigned to the converted/imported le in PowerFactory.
in Location in the data manager tree where the imported le will be stored.
The following topics: Dyn. Models Data, Composite Frame Path, DSL - Model Path, Parameter
Mapping; are not used for the import of steady-state data and will be explained in the dynamic import
Section 20.3.2.
Import Options Tab Page
DIgSILENT PowerFactory 15, User Manual 353
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.3.2: PSS/E Import - Options
Convert only sequence data le With this option enabled, the converter will only add the se-
quence data to an existing project.
Convert only dynamic models le With this option enabled, the converter will only add the
dynamic data le to an existing project (only for dynamic data import).
Convert only graphic le With this option enabled, the converter will add only a single-line
diagram to an existing project.
Only convert le (no DB action) Internal option used for syntax check and error messages
during conversion. Normally this box should be left unchecked.
Output only used dynamic models Displays a list of used dynamic models (only for dynamic
data import).
Unit of LEN for lines in miles instead of km With this option enabled, all lengths will be
interpreted in miles in the PSS/E raw les.
Consider transformer phase shift With this option enabled, transformer phase shifts will be
considered. This option is recommended and activated by default.
Convert Induction Machines (Generators: P<0) With this option enabled, all generators in the
raw data le that have negative active power will be converted to asynchronous machines. For
transmission grids the option should be disabled for proper modelling of phase shift generators.
Automatic 3-W. Transformer detection/conversion In versions <27, PSS/E does not handle 3-
winding transformers as a dedicated model. In such cases, the 3-winding transformer is modelled
with three 2-winding transformers connected to a busbar. If this option is selected, the converter
will try to detect the existence of three 2-Winding Transformers connected to a busbar. If any can-
didates are available, PowerFactory will replace them by a 3-Winding Transformer. The detection
algorithm uses the impedances and the voltage control of the transformers as reference. From
version 27 onwards PSS/E supports the 3W-transformer model, so that PowerFactory does not
start an automatic detection of 3W-Trf modelled as 2W-Trfs.
354 DIgSILENT PowerFactory 15, User Manual
20.3. PSS/E FILE INTERFACE
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 If this option is selected, the Common Impedance
in PSS/E may be converted to a PowerFactory common impedance or to a transformer.
Convert Series Capacitance as Common Impedance Older versions of PSS/E do not handle
series capacitances as a dedicated model. These elements therefore are represented by lines
with negative reactances. During the conversion, PowerFactory detects these branches and con-
verts 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 posi-
tion.
Busbar naming: PSSE_NAME With this option enabled, the busbars are named similar to the
PSS/E raw data le (without bus number).
Branch naming: BUSNAME1_BUSNAME2_ID With this option enabled, the branches are
named as the name of the busbars + ID.
Additional Parameters This eld is specied for internal use only. No extra information is re-
quired by the user.
Import Graphical Options Tab Page
Figure 20.3.3: PSS/E Import - Graphical Options
Rotate with respect to busbars The converter will rotate the graphical layout in case of the
majority of busbars being in vertical or horizontal position.
Snap coordinates to grid The converter will snap to grid all objects in the single line graphics.
Transformer Symbol according to IEC This options lets the user choose the transformer sym-
bol as IEEE (default) or IEC representation.
Scaling factor The graphic les are scaled according to the scaling factor shown.
20.3.2 Import of PSS/E le (Dynamic Data)
As explained in Section 20.3.1 it is good practise rst to import the steady-state data and then to add
the dynamic model data.
Before converting dynamic data, it is recommended to copy the Standard Models library folder located
in the global library into the user directory. The Standard Models dynamic data library folder can be
found under Library\Standard Models. This folder has the structure as shown in Figure 20.3.4.
DIgSILENT PowerFactory 15, User Manual 355
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.3.4: Standard Models Library
The following folders and sub folders are of importance in the conversion / importing.
Standard Models This folder contains the information for most typical models; for example, auto-
matic voltage regulators (AVRs), power system stabilizers (PSS), primary controllers (PCO) and
others. The models are constructed in DIgSILENT Simulation Language (DSL). The folders also
may contain user-dened models.
Composite Model Frames This folder contains the composite frames which are basically wired
diagrams.
An important condition for successful le 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 specic folders for the different types of controllers
(AVR,PCO,PSS, etc.), the user should copy all of the models into the same library folder. After the
conversion, the user may re-arrange the models.
The procedure to start the import of dynamic network data is very similar to the import of steady-state
data. Some parameter adjustments have to be made.
General Settings Tab Page - Dynamic Model Import
In the dialogue of General Settings in Figure 20.3.1 the following topics have to be specied:
Dyn. Models Data Location of the PSS/E Dynamic Models data le. By default the program
searches for

.dyn and *dyr extensions.
Use Standard Models from global library If this option in enabled, PowerFactory will automat-
ically point to the Standard Models library located in the Global library. There will be no need of
selecting the composite Frame Path and DSL Model Path.
Composite Frame Path Location in the PowerFactory data base where the composite frames
356 DIgSILENT PowerFactory 15, User Manual
20.3. PSS/E FILE INTERFACE
are stored (Standard Models/Composite Models Frames. . . ).
DSL - Model Path Location in the PowerFactory data base where the DSL models are stored
(Standard Models. . . ).
Parameter Mapping Location of the PowerFactory mapping le. This is an option that normally
will not have to be dened by the user. By default PowerFactory will automatically set up its
own internal mapping le. This le denes how to translate the PSS/E internal models into
PowerFactory models, including the mapping of controller parameters. For automated conversion
of user-dened PSS/E controllers the mapping le may be customized.
Import Options Tab Page - Dynamic Model Import
In the dialogue of Import Options in Figure 20.3.1 the following options should be considered:
Convert only dynamic models le With this option enabled, the converter will only add the
dynamic data le to an existing project.
Output only used dynamic models Displays a list of used dynamic models.
20.3.3 Exporting a project to a PSS/E le
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 PowerFactorys DSL can not be
automatically translated and must be modelled as user-dened controller types separately in PSS/E.
To export a project in PSS/E format select File Export. . . PSS/E from the main menu.
Export General Settings Tab Page
Figure 20.3.5: PSS/E Export - General settings
RAW Conversion File Path and le name for the PSS/E RAW le, containing the symmetrical
description of the model.
SEQ Conversion File Path and le name for the PSS/E SEQ le, containing the additional de-
scription of the model necessary for unbalanced conditions.
DYN Conversion File Path and le name for the PSS/E DYN le, containing the dynamic models
of the project.
PSS/E Version Version of the exported PSS/E le (25 to 32).
DIgSILENT PowerFactory 15, User Manual 357
CHAPTER 20. POWERFACTORY INTERFACES
Export Options Tab Page
Figure 20.3.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.
Use serial number for bus numbering With this option enabled, the serial number information
stated in the Description page of each terminal will be used for the numbering. If the serial
number eld is empty, the numbering assigned will be according to the name (in ascending
order/alphabetical order).
Convert voltage controlled SVS to generator Selecting this option will convert the SVS models
(only the SVS set to voltage control) to generator models.
Export branch as single equivalent line Selecting this option will convert the branch models to
an equivalent line.
Base Apparent Power Base for the power values given in per-unit system.
Min (Zero) Impedance Branch Minimum impedance for ideal connections.
Export PSS/E-Area index as Here, two options are available:
Girds: The exported le will have the areas dened according to the Grids dened in the Power-
Factory model.
Areas: The exported le will have the areas dened according to the Areas dened in the Pow-
erFactory model.
Additional Parameters This eld is specied for internal use only. No extra information is re-
quired by the user.
20.4 NEPLAN Interface
PowerFactory offers to the user the option of importing different types of NEPLAN les. The les sup-
ported for importing are the following:
NEPLAN 4
Project File Data (.mcb) containing the topological, electrical and graphical data.
358 DIgSILENT PowerFactory 15, User Manual
20.4. NEPLAN INTERFACE
Line Data Type (.ldb) containing the line type information.
NEPLAN 5
Node Table (.ndt) containing the node data, such as rated voltages and loads.
Element table (.edt) containing the branch data, such as lines and transformers.
GIS/NMS Interface (.cde) containing the graphical information of all the networks which are
part of the NEPLAN project.
20.4.1 Importing NEPLAN Data
To import data via the NEPLAN interface, the general procedure is as follows:
From the main menu go to File Import. . . NEPLAN. . . which opens the NEPLAN-Import
dialogue window.
Specify the required options and click on the Execute button.
The NEPLAN data import always creates a new PowerFactory project. Once the import process has
been executed, the newly generated project is left activated upon completion.
Independent of the NEPLAN le version (4 or 5), the user has the option of importing the data with
or without graphical information. That is, if the user selects importing the data without graphical in-
formation, only the topological and electrical data will get imported, and no single line graphic will be
generated.
Importing NEPLAN 4 Files
When importing NEPLAN 4 les, the user has basically two options:
3. Selection of a

.mcb le.
If the user selects this type of le and if a corresponding

.ldb le is present (should be in the same
directory where the

.mcb is stored), then the information of both les gets imported. If only the

.mcb le exists, then only the information regarding this le is imported (which can also contain line
data).
4. Selection of a

.ldb.
If the user selects this type of le only the information regarding this le (line data) is imported.
Importing NEPLAN 5 Files
When importing NEPLAN 5 les, the user is only required to select the

.ndt. By doing so, the corre-
sponding

.edt le is automatically imported also. This basically means that a

.edt le must be present
otherwise the import will not be executed. The

.cde le is however optional. Additionally, all three les
must have the same name and must be in the same directory! As a recommendation, create a separate
folder and place all the les there.
The following section describes each of the NEPLAN import dialogue options.
General Settings
DIgSILENT PowerFactory 15, User Manual 359
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.4.1: NEPLAN Import - Settings
File Type
Neplan Data Location on the hard disk of the NEPLAN data le. Three types of les are available:

.mcb,

.ldb and

.ndt.
Save converted data in
Project The project name that will be assigned to the converted/imported le in PowerFactory.
in Location in the data manager tree where the imported le will be stored.
Common Conversion Settings
Import Graphic Information If this option is enabled then the graphical information is imported
and the single line diagram is generated. In case of NEPLAN 5 import the

.cde le is required.
Graphic Import Options (only for NEPLAN 5 import)
Additional Rotation Angle for 1-port Elements (deg) If a value different than 0 is stated,
then the single port elements (loads, generators, motors, etc.) are rotated counter clockwise
(degrees) with respect to the original position.
Automatically Scale to A0 If this option is selected, then the graphic is rescaled according
to the A0 page format.
Additional Parameters This eld is specied for internal use only. No extra information is re-
quired by the user.
360 DIgSILENT PowerFactory 15, User Manual
20.5. INTEGRAL INTERFACE
20.5 INTEGRAL Interface
PowerFactory offers the user the option to import Integral les for Load Flow and Short Circuit analysis.
The following les are supported:
*.dvg
*.dtf
*.xml
20.5.1 Importing Integral Data
To import Integral data, the procedure is as follows:
From the main menu go to File Import. . . Integral. . . (this will open the Integral-Import
dialogue window).
In the Save converted data in eld the user can enter a project name, and the PowerFactory user for
this project can be selected. The Integral data import always creates a new PowerFactory project.
The *.xml Integral les contain graphical information. However, for older Integral les with the ending
*.dvg and *.dtf it is necessary to select graphical data with the ending *.bild.
20.6 UCTE-DEF Interface
In PowerFactory , both export and import of UCTE-DEF (Union for the Co-ordination of Transmission of
Electricity-Data Exchange Format) is supported. The UCTE interface is currently intended for import-
ing/exporting grid data of a country belonging to the former UCTE community.
The data contained in these les correspond basically to load ow and short circuit (3 phase) type data.
Furthermore, it only considers specic UCTE voltage levels according to voltage level codes, as well as
UCTE specic country codes, such as DK for Denmark, P for Portugal, etc.
Important to note here is that from 1
st
of July 2009, ENTSO-E (European Network of Transmission
System Operators for Electricity) took over all operational tasks of the 6 existing TSO associations in
Europe, including the Union for the Coordination of Transmission of Electricity (UCTE).
For more information related to the UCTE format, please refer to the following link:
https://www.entsoe.eu/resources/publications/former-associations/ucte/other-reports/
20.6.1 Importing UCTE-DEF Data
To import data via the UCTE interface, the general procedure is as follows:
From the main menu go to File Import. . . UCTE. . . which opens the UCTE-Import dialogue
window.
Specify the required options and click on the Execute button.
Once the import process has been executed, the project (new or existing) is left activated upon comple-
tion.
DIgSILENT PowerFactory 15, User Manual 361
CHAPTER 20. POWERFACTORY INTERFACES
The following section describes each of the UCTE import dialogue options.
General Settings
Figure 20.6.1: UCTE Import - Settings
Import into
New Project By choosing this option, a project will be created where all the UCTE data will be
stored. The user will have the option of specifying a specic name and location (other than the
default).
Existing Project By choosing this option, the UCTE data will be imported into an already existing
project.
File Type
Add UCTE Files Location on the hard disk of the UCTE les. Two types of les are available:

.uct and

.ucte.
Options
Import for DACF process With this setting the user has the option to import the Day Ahead
Forecast.
Convert negative loads to generators With this option enabled, negative loads dened in the
UCTE le will be converted to generators in the PowerFactory model.
Convert transformer equivalent to common impedance With this option enabled, transformer
equivalents dened in the UCTE le will be converted to common impedances in the PowerFac-
tory model.
362 DIgSILENT PowerFactory 15, User Manual
20.6. UCTE-DEF INTERFACE
Automatically Scale to A0 If this option is selected, then the graphic is rescaled according to
the A0 page format.
Additional Parameters This eld is specied for internal use only. No extra information is re-
quired by the user.
20.6.2 Exporting UCTE-DEF Data
As in the other export interfaces, the UCTE Export is based on the active project at the moment the
export takes place. To export data via the UCTE interface, the general procedure is as follows:
Activate the project to be exported, considering the which Study Case, Scenario and Variations
should be active.
From the main menu go to File Export. . . UCTE. . . which opens the UCTE-Export dialogue
window.
Specify the required options, and click on the Execute button.
The following sections describe each of these options.
General Settings
Figure 20.6.2: UCTE Export - Settings
File Type
UCTE Data Location on the hard disk where the UCTE les will be stored. Two types of les are
available:

.uct and

.ucte.
Grids Selection of which grids to export.
Export UCTE voltage >= Only the elements having a voltage grater than the UCTE voltage
specied are exported.
DIgSILENT PowerFactory 15, User Manual 363
CHAPTER 20. POWERFACTORY INTERFACES
Export branch as single equivalent line By enabling this option the export will convert the
PowerFactory branch denitions into single equivalent lines.
Use rst character of characteristic name as branch order code If checked, the characteristic
name (rst character) is used in the branch order code of the exported UCTE le.
20.7 CIM Interface
In PowerFactory , both export and import of CIM (Common Information Model) is supported. The CIM
interface is currently intended for importing/exporting the following prole:
ENTSO-E 2009
CIM is dened in IEC-61970, and its purpose is to allow the exchange of information related to the
conguration and status of an electrical system.
20.7.1 Importing CIM Data
To import data via the CIM interface, the general procedure is as follows:
From the main menu go to File Import. . . CIM. . . which opens the CIM-Import dialogue
window.
Specify the required options and click on the Execute button.
Once the import process has been executed, the project (new or existing) is left activated upon comple-
tion.
The following section describes each of the CIM import dialogue options.
General Settings
Figure 20.7.1: UCTE Export - Settings
364 DIgSILENT PowerFactory 15, User Manual
20.7. CIM INTERFACE
Import into
New Project By choosing this option, a project will be created where all the CIM data will be
stored. The user will have the option of specifying a specic name and location (other than the
default).
Active Project By choosing this option, the CIM data will be imported into the active project.
Import from
Prole Currently the prole ENTSO-E 2009 is supported.
CIM File Location on the hard disk of the CIM les. Two types of les are supported:

.zip and

.xml.
separated Files With this setting the user has the option to import the equipment, topology and
solved state les separately.
Additional Parameters This eld is specied for internal use only. No extra information is re-
quired by the user.
20.7.2 Exporting CIM Data
As in the other export interfaces, the CIM Export is based on the active project at the moment the
export takes place. To export data via the CIM interface, the general procedure is as follows:
Activate the project to be exported, considering which Study Case, Scenario and Variations should
be active.
From the main menu go to File Export. . . CIM. . . which opens the CIM-Export dialogue
window.
Specify the required options, and click on the Execute button.
The following sections describe each of these options.
General Settings
DIgSILENT PowerFactory 15, User Manual 365
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.7.2: CIM Export - Settings
Export to
Prole Currently the prole ENTSO-E 2009 is supported.
CIM File Location on the hard disk where the CIM les will be stored. Two types of les are
supported:

.zip and

.xml.
separated Files With this setting the user has the option to export the equipment, topology, and
solved state les separately.
Grids Selection of which grids to export.
Border Nodes Grid Selection of the grid which contains the X-nodes.
20.8 MATLAB Interface
For a detailed description on the MATLAB interface please refer to Chapter 26: Stability and EMT
Simulation, Section 27.3.6: Modal Analysis, Section 26.14: MATLAB Interface for DSL models.
20.9 OPC Interface
PowerFactory s OPC (Object Linking and Embedding for Process Control) interface is an asynchronous
communication and data exchange mechanism used in process interaction and is widely applied in
SCADA and control systems.
366 DIgSILENT PowerFactory 15, User Manual
20.9. OPC INTERFACE
This OPC-implementation assumes that the PowerFactory software is executed as an OPC-Client while
the OPC Server is controlled via the external source. OPC server libraries are available from various
manufacturers. An example of a freeware OPC-Server is that available from Matrikon (MatrikonOPC
Simulation Server").
Figure 20.9.1 illustrates the integration of a SCADA system with PowerFactory via the OPC interface.
In this OPC-implementation, PowerFactory can be used either in engine or normal mode. Some further
characteristics of this integration include:
OPC-Client/Server exchange of any PowerFactory object parameter as well as any signal (bi-
directional Data Exchange).
PowerFactory listening mode to receive any data or signal from a registered OPC Server.
PowerFactory sending mode to write back any data or signal to a registered OPC Server.
Figure 20.9.1: SCADA -PowerFactory integration via the OPC interface.
The OPC interface can be congured in two different modes:
Ofine
The bi-directional data exchange is carried out through an explicit command given by the user
in PowerFactory. For example, by pressing a button predened by the user in PowerFactory.
Online
The bi-directional data exchange is automatically carried out at a certain frequency rate;
where the frequency rate is determined by the user.
Note: The OPC functionality in PowerFactory is not considered part of the base package. For more
information on prices and licensing please contact the sales department at mail@digsilent.de.
20.9.1 OPC Interface Typical Applications
Some typical applications of the OPC Interface are the following:
SCADA Online State Estimation
SCADA Simulation Mode, for example dispatcher load ow, switching validation.
DIgSILENT PowerFactory 15, User Manual 367
CHAPTER 20. POWERFACTORY INTERFACES
SCADA Training Simulator
Importing to PowerFactory
in order to update the operational data.
in order to reect the Operator actions, such as breaker status and tap positions.
in order to perform state estimation based on the measured network data.
Exporting from PowerFactory
in order to update the SCADA interface with the calculated results.
20.10 StationWare Interface
This chapter describes the StationWareinterface. An introduction into StationWares general philosophy
is given in Section 20.10.1.
The following two sections describe the overall StationWarearchitecture (Section 20.10.2) and the con-
ceptual differences between PowerFactory and StationWare(Section 20.10.3).
Both PowerFactory and StationWarehave to be congured before they can be used together (Sec-
tion 20.10.4).
The Getting Started section (Section 20.10.5) provides a gentle introduction into the most important
features. The complete documentation can be found in the Reference section (Section 20.10.6).
The nal Technical Reference (Section 20.10.7) provides some deeper knowledge how PowerFactory
data is converted to StationWaredata and vice versa.
The terms StationWareand 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 Sta-
tionWare.
20.10.1 About StationWare
DIgSILENT StationWareprovides a reliable central protection settings database and management sys-
tem 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.
StationWarestores and records all settings in a central database, allows modelling of all relevant work
ow sequences, provides quick access to relay manuals, interfaces with manufacturer specic 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 communi-
cated 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 StationWareprovides a single system that incorporates all such different device protocols,
thereby providing one manageable software data storage system, based on modern IT techniques,
facilitating data interfacing and exchange in a transparent and hassle free manner.
PowerFactory s data exchange facility allows it to access the settings stored in StationWare, such that
these may be used as input for the powerful PowerFactory system simulation and protection setting
tools. Settings that are calculated by using these tools may then be transferred back to StationWare.
368 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
20.10.2 Component Architecture
DIgSILENT StationWareis a so-called Client-Server Application: the functionality is distributed on at
least two computers: client and server. Figure 20.10.1 gives an overview on the components.
Figure 20.10.1: 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, modies them, and afterward stores them back to the server. On other clients these changes
are visible.
DIgSILENT StationWareserver provides two interfaces to access from client machines:
Visualization by means of a standard web browser. The HTML interface can be used with an usual
web browser (e.g. Microsoft Internet Explorer or Mozilla Firefox) as shown in Figure 20.10.2.
The browser displays HTML pages which are created by StationWares HTML front end. The
HTML pages are transferred using the HTTP protocol on top of the TCP/IP internet protocol.
HTML allows to present all kind of data e.g. plain text, tables or images.
Additionally HTML provides concepts to achieve interactivity: by submitting HTML forms or press-
ing on hyperlinks data is sent to the server. The server interprets such requests and creates new
HTML pages which are displayed by the browser again.
The web service interface, similar to the HTML interface uses the HTTP protocol to communi-
cate 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 con-
veniently.
PowerFactory is able to play the role of a web service client. It integrates parts of StationWares
data and concepts smoothly into its own world.
DIgSILENT PowerFactory 15, User Manual 369
CHAPTER 20. POWERFACTORY INTERFACES
The functionality of the HTML interface is covered in the StationWaremanual. The remainder of this
chapter focuses on PowerFactory as client.
Figure 20.10.2: HTML interface
20.10.3 Fundamental Concepts
Though both in StationWareand in PowerFactory the settings and data associated with protective de-
vices, 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 StationWareit is possible to model a location hierarchy and associate the devices to nodes in this
hierarchy (e.g. substations). This has no equivalent on the PowerFactory side where the devices are
stored inside the parent grid (ElmNet ) object.
On the other side PowerFactory allows to create a topological representation of networks which is not
supported in StationWare.
This section describes the concept mismatch between PowerFactory and StationWare. In order to use
the StationWareinterface its important to know about the differences between both applications.
Location
In StationWareeach 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 Fig-
ure 20.10.3.
370 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
Figure 20.10.3: StationWarelocations
In PowerFactory the data is organized in projects (IntPrj ). A project may have one or more grids (Elm-
Net ) which in turn contain net elements e.g. terminals, cubicles, and relays (ElmRelay). See Fig-
ure 20.10.4 for a typical PowerFactory project.
Figure 20.10.4: PowerFactory project
StationWares location concept and PowerFactory s project/grid concept hardly t together. Thats the
reason why the data mapping between PowerFactory and StationWarebegins at the device level which
is the subject of the next sections.
Device
StationWaremanages 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
DIgSILENT PowerFactory 15, User Manual 371
CHAPTER 20. POWERFACTORY INTERFACES
object. The ElmRelay object contains several sub-components e.g. the I> component (a RelToc ob-
ject), the Logic component (RelLogic), or the Ios component (RelMeasure). See Figure 20.10.5 for
an example. The device ID is used to link one StationWaredevice to one PowerFactory device. The
PowerFactory device e.g. an ElmRelay object stores the StationWaredevice ID as foreign key.
Figure 20.10.5: PowerFactory relay
Device State
A devices state is in StationWarecalled 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 oating 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 StationWarethe setting attributes are organized
in so-called setting groups. A setting group groups the attributes together which belong somehow
together. Its often dened by the device manufacturer. Each attribute belongs to exactly one setting
group. Inside a group the attribute name is unique.
The device type denes which attributes and groups characterize a device. Table 20.10.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.
372 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
Group Name Type Default Unit
G a integer in [0,10] 0 A
b oat -0.32 l/s
c oat in [0.03, 4.65] 1.0
H d string DEFAULT
e enum yes, no, maybe yes
Table 20.10.1: Settings Denition
According to this attribute denition a device can have settings as shown in tables 20.10.2 or 20.10.3.
Group, Name Value
G,a 7
G,b 23.43
G,c 1.1
H,d abc
H,e maybe
Table 20.10.2: Settings Example 1
Group, Name Value
G,a 8
G,b 0
G,c 1.1
H,d abcdef
H,e yes
Table 20.10.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 20.10.4 for a denition and
table 20.10.5 for an example. The TypRelay type denes components and parameters.
StationWareattributes are somehow mapped to PowerFactory parameters and vice versa. How this ac-
tually is accomplished, is described in Section 20.10.7: Technical Reference. The mapping is non-trivial
since only a small subset of the attributes (the calculation-relevant data) is modelled 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
los r oat
s oat
Table 20.10.4: Parameter Denition
Some relays support multiple setting groups (MSG) also called parameter sets. Such relays have the
same group many times (c.f. table 20.10.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 modelling all
MSGs, only one instance of the H groups is provided.
In this case a group index parameter denes which of the MSGs actually is transferred from StationWare
to PowerFactory .
DIgSILENT PowerFactory 15, User Manual 373
CHAPTER 20. POWERFACTORY INTERFACES
Life Cycle Phase
In StationWareeach 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
los:r 18,5
los:s 19,5
Table 20.10.5: Parameter Example
Group Name Type Default Unit
G a integer in [0,10] 0 A
b oat -0.32 l/s
H1 c string DEFAULT
d oat in [0.03,1.65] 1.0
H2 c string DEFAULT
d oat in [0.03,1.65] 1.0
H3 c string DEFAULT
d oat in [0.03,1.65] 1.0
Table 20.10.6: Multiple Setting Group Denition
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 StationWaremust be specied.
For PowerFactory purposes a special PowerFactory planning phase is introduced. The transfer direc-
tions are specied as follows:
Imports from StationWareinto PowerFactory are restricted to Applied and PowerFactory set-
tings. Applied denotes the current applied setting (Applied) or a previous applied (Historic)
setting.
Exports from PowerFactory to StationWareare restricted to the PowerFactory setting. (Applied
and Historic settings are read-only and can never be changed).
(Actually PowerFactory s sophisticated variant management is similar to the phase concept, but there
is no obvious way how to bring them together.)
20.10.4 Conguration
In order to transfer data between PowerFactory and StationWareboth systems must be congured.
StationWare Server
An arbitrary StationWareuser account can be used for the StationWareinterface in PowerFactory. The
user must have enough access rights to perform operations e.g. for the export from PowerFactory to
StationWarewrite-rights must be granted.
The bi-directional transfer of settings is restricted to lifecycle phases with
374 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
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 fulls these requirements, and there exists a setting of this phase.
PowerFactory Client
The client operating system must allow connections to the server (network and rewall settings etc.).
Nothing has to be done in the PowerFactory conguration itself. The TypRelays in the Library must of
course support StationWare/PowerFactory mapping.
20.10.5 Getting Started
This section is a simple walkthrough and covers the most essential StationWareinterface functionality.
By using a simple PowerFactory project and simple StationWaresubstation, it describes
1. how relays in StationWareand 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 20.10.6: Reference).
Prepare substation in StationWare
We begin with the StationWareside. We create a substation and two relays within:
start the web browser,
log on to the StationWaresystem,
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 20.10.6.
Go to the detail page of the Getting Started Relay 1 (Figure 20.10.7).
Since we have just created the device it has no settings, yet. Later it will contain a PowerFactory setting
which reects the relay state on the PowerFactory side.
DIgSILENT PowerFactory 15, User Manual 375
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.10.6: Substation
Figure 20.10.7: Device
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 Fig-
ure 20.10.8.
376 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
Figure 20.10.8: 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 20.10.9.
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 StationWareimport/export (see Figure 20.10.10).
press OK
in the same way add a relay Getting Started Relay 2 to the second terminal.
PowerFactory s object lter mechanism gives an overview over all devices inside the current project.
DIgSILENT PowerFactory 15, User Manual 377
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.10.9: Cubicle context menu
Press the icon (Edit Relevant Objects for calculation) in the toolbar and select the icon
(ElmRelay) to lter out all non-relay objects as shown in Figure 20.10.11.
All calculation relevant relays (actually there only the two we created above) are displayed in a table
(see Figure 20.10.12).
Link Relays and establish a Connection
Now the PowerFactory relays must get linked to the StationWarerelays.
mark both relay icons with the mouse,
press the right mouse button.
A context menu pops up as shown in Figure 20.10.13.
select the StationWaremenu item,
select the Select Device ID item.
A Log on to StationWareserver dialogue pops up. Since this is the rst time PowerFactory connects to
the StationWareserver some connection settings must be entered.
378 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
Figure 20.10.10: Relay dialogue
Figure 20.10.11: Relay object lter
enter the Server Endpoint URL of the StationWareserver. The URL should have a format similar
to
http://192.168.1.53/psmsws/psmsws.asmx
enter Username and Password of a valid StationWareuser account.
DIgSILENT PowerFactory 15, User Manual 379
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.10.12: Relay display
Figure 20.10.13: Device context menu
Figure 20.10.14 shows the dialogue settings.
Figure 20.10.14: Log on dialogue
press OK.
380 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
The connection procedure may take some seconds. If the server could be accessed and the user could
be authenticated a success message is printed into the output window
DIgSI/info - Established connection to StationWare server
http://192.168.1.53/psmsws/psmsws.asmxas userpf00002
Otherwise an error dialogue pops up. Correct the connection settings until the connection is successfully
created. The reference section (Section 20.10.6) explains the connection options in detail.
Having established a connection to the server, a browser dialogue pops up which displays the location
hierarchy as known from the StationWareHTML interface. The dialogue is shown in Figure 20.10.15.
navigate to the Getting Started substation,
select the Getting Started Relay 1 device,
press OK.
Figure 20.10.15: Browser dialogue
Now the PowerFactory relay is connected" to the StationWaredevice.
in the same way select Getting Started Relay 2 for the second PowerFactory relay.
Export and Import Settings
Having linked PowerFactory to StationWaredevices, 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 Fig-
ure 20.10.13.
select the Export. . . item in the StationWaremenu entry
A ComStationware dialogue is shown which allows to specify the export options (See Figure 20.10.16.
See Export and Import Settings in the Section 20.10.6 Reference section for all export options.
DIgSILENT PowerFactory 15, User Manual 381
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.10.16: 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 StationWareHTML interface.
382 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
Figure 20.10.17: Device detail page
navigate to the relay detail view of the Getting Started Relay 1 relay (c.f. Fig. 20.10.17)
Observe the new created PF setting. The phase of this setting is PowerFactory.
switch to the settings detail page of the new PF setting (c.f.Fig. 20.10.18).
Figure 20.10.18: Setting detail page
DIgSILENT PowerFactory 15, User Manual 383
CHAPTER 20. POWERFACTORY INTERFACES
The setting values should correspond to the relay state in PowerFactory. In the same way the Getting
Started Relay 2 relay has a new PF setting.
Now try the opposite direction and import a setting from StationWareinto PowerFactory.
modify the PF settings in StationWareby 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 20.10.13.
select the Import. . . item in the StationWaremenu entry.
Again the ComStationware dialogue (see Figure 20.10.16) pops up as known from the export.
leave the default settings,
press Execute.
Again the result of the settings transfer is reected in the output window:
DIgSI/info - Imported 2 of 2 device settings successfully
nd ElmRelay object parameters changed according to the changes on the StationWareside
All import options are described in detail in the reference section : Export and Import Settings.
20.10.6 Reference
This section describes all options and features concerning the StationWareinterface.
The Device Context Menu
Almost all functionality can be accessed by the device context menu. Mark one ore more objects which
supports the StationWaretransfer e.g. ElmRelay
in the object lter (Figure 20.10.13)
in the data manager as shown in Figure 20.10.19.
384 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
Figure 20.10.19: Device context menu
The StationWaresubmenu 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 20.10.6 : The ComStationware Object.
Export. . . does the same for the export direction.
Select Device ID. . . starts the Browser dialogue (Figure 20.10.23) to link this device to a Sta-
tionWaredevice. The dialogue is subject of section 20.10.6 : The Browser Dialogue.
Reset Device ID resets the device ID.
Connect. . . terminates the current StationWaresession if its already existing. Shows a Log On
dialogue. The connection settings are covered by Section 20.10.6. This may be useful when you
are using several StationWareaccounts and want to switch between them.
Disconnect terminates the StationWaresession
Connection
Similar to the HTML interface the StationWareinterface in PowerFactory is session - oriented: when a
user logs on to the system by specifying a valid StationWareaccount (username and password) a new
session is created. Only inside such a session StationWarecan be used. The account privileges restrict
the application functionality e.g. an administrator account is more powerful than a usual user account.
DIgSILENT PowerFactory 15, User Manual 385
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.10.20: Log on dialogue
Working with PowerFactory the rst time the StationWareserver is required the Logon dialogue is shown
as shown in Figure 20.10.20.
The StationWareconnection options are stored in the user settings (Figure 20.10.21). After each suc-
cessful logon the user settings are updated.
Figure 20.10.21: Log on dialogue
As mentioned in the Architecture section (Section 20.10.2) StationWareis a client-server application.
The StationWareserver 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 StationWareuse to communicate is called web services and is stan-
dardized like many other internet technologies (HTML, HTTP). The server computer (or more exactly
the StationWareservice 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 StationWareapplication.
The connection options are as follows:
Service Endpoint The Service Endpoint denotes the StationWareserver name as described
above
Username/Password Username and Password have to be valid user account in StationWare. A
386 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
StationWareuser account has nothing to do with the PowerFactory user account.
The very same StationWareaccount can be used by two different PowerFactory users. The privileges
of the StationWareaccount 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 20.10.3: Device) the StationWaredevice ID is
stored as Foreign Key in the ElmRelay object dialogue (Description page) as shown in Figure 20.10.22.
Figure 20.10.22: ElmRelay dialogue
A more convenient way is to use the Browser dialogue shown in Figure 20.10.23. The dialogue allows to
browse through the StationWarelocation hierarchy and select a device. The hierarchy data is cached to
minimize network accesses. Due this caching its 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 rst 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.
Figure 20.10.23: Browser dialogue
DIgSILENT PowerFactory 15, User Manual 387
CHAPTER 20. POWERFACTORY INTERFACES
You can even specify the fault location. All these calculation options are stored in the ComShc object.
Every action object has an Execute button which starts the action. In fact there is a large number of
parametrized actions like load ow calculation (ComLdf ), simulation (ComSim), there is even a ComExit
object that shuts down PowerFactory. All objects which can do something have the Com prex.
Since the StationWareinterface is actually doing something (it does import data, it does export data) it
is implemented as a ComStationware object.
The ComStationware object is used both for the import (Section 20.10.6) and the export (Section 20.10.6).
It is located in the projects study case according to PowerFactory conventions.
By default the study case of a new project contains no ComStationWare object. It is automatically
created when it is rst needed, as well as the ComShc object is instantiated at the time when the rst
short-circuit calculation is performed.
Import Options
The ComStationware dialogue provides import options as follows (Figure 20.10.24):
Transfer Mode select Import from StationWareas Transfer Mode
Check only Plausibility if the Check only Plausibility ag is enabled the import is only simulated
but not really executed.
Life cycle Phase/Time stam A list of available life cycle phases is shown.
Figure 20.10.24: ComStationware import options
PowerFactory selects the current setting with PowerFactory phase as source setting.
388 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
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 StationWareare ignored.
Device Selection Unless All Devices is enabled, the Device Selection provides a more subtle
way to specify which devices are to be transferred. The Device Selection parameter can be
an ElmRelay object: this and only this relay is imported
a SetSelect object: a SetSelect is a container that may hold several objects. All of them are
transferred, except the ones not supported by StationWare
a SetFilt object: the SetFilt is the most exible 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 20.10.6
: The Device Context Menu) is used.
All Settings Groups/Group Index This parameter species how multiple settings groups (MSG)
are handled.
If the relay in StationWarehas MSGs and the PowerFactory relay model supports MSGs and
All Settings Groups is enabled: then all groups are transferred
All Settings Groups is disabled: then only the Group Index -th group is transferred.
If the relay in StationWarehas MSGs and the PowerFactory relay model doesnt 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.
DIgSILENT PowerFactory 15, User Manual 389
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.10.25: ComStationware export options
Export Options
The export options are almost identical to the import options (Figure 20.10.25):
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.
20.10.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
390 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
library for new device types is shown in this section as well. The StationWareinterface 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 StationWareattributes and a ElmRelay object as input and lls some-
how the ElmRelay objects and its sub-objects parameters.
The export DPL script takes a ElmRelay object as input parameter and calculates some output param-
eters which are the StationWareattributes.
Note: DPLs most important benet is: you can do anything. Thats exactly DPLs most important dis-
advantage 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 shouldnt 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 20.10.26 for an example
database structure.
Import Scripts
The algorithm used for the import from StationWareto PowerFactory is as follows. Let d be the device
whose setting is to be imported:
1. let t be ds device type
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
DIgSILENT PowerFactory 15, User Manual 391
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.10.26: Database structure
The execution step actually sets the relay parameters.
We use the StationWaredevice type example shown in table 20.10.1 from the Concept section (Sec-
tion 20.10.3) and the PowerFactory device type as shown in table 20.10.3 The StationWareattributes
are G.a, G.b, G.c, H.d, and H.e, the PowerFactory parameters are I>:o, Logic:p, Logic:q, Ios:r, and
Ios:s.
Only the attributes G.a, G.c, and H.d and the parameters I>:o, Logic:p, and Ios:r are mapped. The
others are ignored since there is no equivalent concept on the other system.
The PsmsImport.ComDpl must meet the requirements as follows:
Name must be PsmsImport
General Selection must be empty
Input Parameters this table holds the StationWareattributes. The Name has the format [group
name]__[attribute name]
The Type may either be int (for integer numbers), double (for oating point numbers), or string
(for string and enum values).
The Value eld must be empty. The attribute unit has to inserted in the Unit eld if appropriate. A
Description may be inserted, too.
External Object this table contains exactly one entry: an object with the Name Relay. The object
column must be empty.
The Input parameters get initialized with the StationWareattribute 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.
Remote Script this parameter must be un-set
392 DIgSILENT PowerFactory 15, User Manual
20.10. STATIONWARE INTERFACE
General Selection the table must have one entry with Name Result of Type String. The DPL
script should set this parameter to OK if the import procedure was successful. Otherwise it may
hold an error message which is displayed in the output window.
The code must be a valid DPL program. It should set the relay parameters according to the input
parameters.
Export Scripts
The export direction is almost symmetric to the import process. Be d the device whose setting is to
exported:
1. let t be ds device type
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:
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.
Remote Script this parameter must be un-set
Result Parameters the table must have the rst entry with Name Result of Type String.
The DPL script should set this parameter to OK if the import procedure was successful. Other-
wise it may hold an error message which is displayed in the output window.
Below the Result parameter are the StationWareattributes.
The code must be a valid DPL program. It should not change the database.
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 :
create in StationWarea 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 StationWaredevice by setting the foreign key to the device ID.
Then write the import script:
create an empty PsmsImport.ComDpl near the TypRelay object.
dene the input and output parameters of the ComDpl object
DIgSILENT PowerFactory 15, User Manual 393
CHAPTER 20. POWERFACTORY INTERFACES
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 StationWareand re-try the
import. In quite the same way create and verify a PsmsExport.ComDpl script.
20.11 API (Application Programming Interface)
For a further detailed description on API, a reference document is available inside the subfolder api in
the installation directory of the software (i.e. C:\Program Files\DIgSILENT\PowerFactory 15\api).
20.12 Python
20.12.1 Introduction
This Section describes the integration of the Python scripting language in PowerFactory and explains
the associated procedure for developing Python scripts. The Python scripting language can be used in
PowerFactory to perform the following actions:
Automate tasks
Create user dened calculation commands
Integrate PowerFactory into other applications
Some of the most notable features of Python are mentioned below:
General-purpose, high-level programming language
Very clear, readable syntax
Non-proprietary, under liberal open source license
Widely used
Extensive standard libraries and third party modules
Interfaces to external databases and Microsoft Ofce like applications
Web-services, etc.
Python integration makes all of the above advantages available in PowerFactory . Several steps need
to be followed to start using Python with PowerFactory :
1. Install a Python Interpreter
2. Write Python scripts using the PowerFactory Python module powerfactory.pyd
3. Execute a Python script within PowerFactory with the Python command object (ComPython)
394 DIgSILENT PowerFactory 15, User Manual
20.12. PYTHON
20.12.2 Installation of a Python Interpreter
By default, no Python Interpreter is installed with PowerFactory . A separate installation of the Python
Interpreter is therefore necessary. The recommended version is available in the PowerFactory instal-
lation directory (e.g. C:\Program Files\DIgSILENT\PowerFactory 15.1\python). PowerFactory supports
the CPython 3.3 implementation of the Python programming language.
The PowerFactory architecture (32 or 64 bit) determines the Python architecture as shown below:
PowerFactory 32 bit requires Python Interpreter for 32 bit
PowerFactory 64 bit requires Python Interpreter for 64 bit
To check which PowerFactory architecture is installed, press Alt-H to open the Help menu and choose
the About PowerFactory. . . command. If the name of PowerFactory includes (x86)" then a 32 bit
version is installed. If the name of PowerFactory includes (x64)" then a 64 bit version is installed.
To avoid issues with third party software, the Python Interpreter should be installed with default settings
(for all users, into the directory proposed by the installer). Depending on the functions to be performed
by a particular Python script, it may be necessary to install the corresponding Python add-on/package.
As an example, Microsoft Excel can be used by a python script if the Python for Windows Extensions"
PyWin32 (http://sourceforge.net/projects/pywin32/) package is installed, which includes
Win32 API, COM support and Pythonwin extensions.
20.12.3 The Python PowerFactory Module
The functionality of PowerFactory is provided in Python through a dynamic Python module (power-
factory.pyd") which interfaces with the PowerFactory API (Application Programming Interface). This
solution enables a Python script to have access to a comprehensive range of data available in Power-
Factory:
All objects
All attributes (element data, type data, results)
All commands (load ow calculation, etc.)
Most special built-in functions (DPL functions)
A Python script which imports this dynamic module can be executed from within PowerFactory through
the new command ComPython (see Section 20.12.4) or externally (PowerFactory is started by the
Python module in engine mode)(see Section 20.12.5).
20.12.3.1 Python PowerFactory Module Usage
To allow access to the Python PowerFactory Module it must be imported using the following Python
command:
import powerfactory
To gain access to the PowerFactory environment the command below must be added:
app = powerfactory.GetApplication()
A python object of class powerfactory.Application is called an application object. Using the applica-
tion object from the command above(app"), it is possible to access global PowerFactory functionality.
Several examples are shown below:
DIgSILENT PowerFactory 15, User Manual 395
CHAPTER 20. POWERFACTORY INTERFACES
user = app.GetCurrentUser()
project = app.GetActiveProject()
script = app.GetCurrentScript()
objects = app.GetCalcRelevantObjects()
lines = app.GetCalcRelevantObjects("
*
.ElmLne")
sel = app.GetDiagramSelection()
sel = app.GetBrowserSelection()
project = app.CreateProject("MyProject", "MyGrid")
ldf = app.GetFromStudyCase("ComLdf")
The listed methods return a data object (Python object of class powerfactory.DataObject) or a python
list of data objects. It is possible to access all parameters and methods associated with a data ob-
ject. Unlike DPL scripting, with python scripting it is necessary to use the dot (.) operator instead
of the colon (:) operator in order to access individual parameters of objects (in DPL the syntax is:
objectname:parametername).
Examples:
project = app.GetActiveProject()
projectName = project.loc_name
project.Deactivate()
or:
lines = app.GetCalcRelevantObjects("
*
.ElmLne")
line = lines[0]
currLoading = line.c.loading
For printing into the PowerFactory output window the following application object (e.g. app" object)
methods are provided:
app.PrintPlain("Hello world!")
app.PrintInfo("An info!")
app.PrintWarn("A warning!")
app.PrintError("An error!")
Printing the string representation of data objects into the PowerFactory output window makes them
clickable (creates a hyperlinked string in the output window):
project = app.GetActiveProject()
app.PrintPlain("Active Project: " + str(project))
A list of all parameters and methods associated with an object can be given using the dir() function
as shown below:
project = app.GetActiveProject()
app.PrintPlain(dir(project))
20.12.3.2 Python PowerFactory Module Reference
A detailed Python Module Reference document is available containing a comprehensive list of sup-
ported functions.
20.12.4 The Python Command Object (ComPython)
The Python command object ComPython links to a Python script le as shown in Figure 20.12.1. It
stores only the le path of the script and not the le itself. For optimal operation, the script should be
located in the External Data directory.
396 DIgSILENT PowerFactory 15, User Manual
20.12. PYTHON
Figure 20.12.1: Python command object ComPython dialogue
The script may be executed by clicking on the Execute button of the corresponding dialogue. Editing
the script le is possible by clicking the Open in External Editor button. The preferred editor may be
chosen in the External Applications tab of the PowerFactoryConguration dialogue by selecting the
Tools Conguration. . . menu item from the main menu as shown in Figure 20.12.2). Python scripts
may be created in any text editor as long as the script le is saved using the UTF-8 character encoding
format.
Figure 20.12.2: Selection of the preferred Python editor program
The Python command object may also contain objects or references to other objects available in the
PowerFactory database. These can be accessed by clicking on the Contents button. New objects are
dened by rst clicking the New Object icon in the toolbar of the Python script contents dialogue and
then by selecting the required object from the New Object pop-up window which appears. References
to other objects are created by dening a IntRef" reference object. An example showing the possible
contents of a Python command object is shown in Figure 20.12.3).
DIgSILENT PowerFactory 15, User Manual 397
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.12.3: Contents of a Python command object
20.12.4.1 Creating a New Python Command
To create a new Python command object click on the New Object ( ) icon in the toolbar of the data
manager and select DPL Command and more as shown in Figure 20.12.4). From the drop-down list of
the Element eld select the Python Script (ComPython) element. Then press OK and a new Python
command is created. The Python command dialogue is now shown (as in Figure 20.12.1) and the le
path to the script can now be specied. This dialogue is also opened by double-clicking a Python script,
by selecting Edit from the context sensitive menu or by selecting the script from the list when pressing
the main toolbar icon Execute Scripts ( ).
Figure 20.12.4: Creating a new Python command object (ComPython)
398 DIgSILENT PowerFactory 15, User Manual
20.12. PYTHON
20.12.4.2 Executing a Python Command
To execute a Python command double click the Python command object. After the dialogue of the script
appears, click the Execute button.
Alternative methods for Python script execution are listed below:
From the Data Manager Window
Right click on the Python command object and from the context sensitive menu select the
command Execute Script
Right click in a blank area and from the context sensitive menu select the command Execute
Script. A list of existing DPL and Python scripts contained in the global and local library will
pop up. Select the required Python script and click OK.
From the single line diagram
Select one or more elements in the single line diagram. Right click the marked elements and
from the context sensitive menu select the command Execute Script. A list of existing DPL
and Python scripts contained in the global and local library will pop up. Select the required
Python script and click OK.
A button may be created in the single line diagram to automate the execution of a specic
Python script.
From the main toolbar - Click the icon Execute Scripts . A list of existing DPL and Python scripts
from the global and local library will appear. Select the specic Python script and click OK.
20.12.5 Running PowerFactory in Engine Mode
PowerFactory may be run externally by Python. In order to do this, the script must additionally import
the le path to the dynamic module (powerfactory.pyd"). The following commands should be included
to obtain access to the PowerFactory environment in engine mode:
# Add powerfactory.pyd path to python path.
# This is an example for 32 bit PowerFactory architecture.
import sys
sys.path.append("C:\\Program Files\\DIgSILENT\\PowerFactory 15.1\\python")
#import PowerFactory module
import powerfactory
#start PowerFactory in engine mode
app = powerfactory.GetApplication()
#run Python code below
#.....................
The PowerFactory environment can be accessed directly fromthe Python shell as shown in Figure 20.12.5
DIgSILENT PowerFactory 15, User Manual 399
CHAPTER 20. POWERFACTORY INTERFACES
Figure 20.12.5: Python Shell
20.12.6 Debugging Python Scripts
As with any other Python script, it is possible to remotely debug scripts written for PowerFactory by using
specialised applications.
20.12.6.1 Prerequisites
The recommended IDE for debugging is Eclipse (www.eclipse.org) with the Python add-on PyDev
(www.pydev.org).
1. Install Eclipse Standard from www.eclipse.org/downloads/
2. Open Eclipse
3. Click Install New Software . . . " in the Help" menu
4. Add the repository http://pydev.org/updates and install PyDev
20.12.6.2 Debugging a Python script for PowerFactory
The following is a short description of remote debugging with PyDev. For more information please con-
sult the remote debugger manual of PyDev (http://pydev.org/manual_adv_remote_debugger.
html).
1. Start Eclipse
2. Open Debug perspective
3. Start the remote debugger server by clicking Start Debug Server" in the Pydev" menu
4. Start PowerFactory
5. Prepare the python script for debugging:
Add pydevd.py" path to sys.path
Import PyDev debugger module pydevd"
Start debugging calling pydevd.settrace()
Example:
400 DIgSILENT PowerFactory 15, User Manual
20.12. PYTHON
#prepare debug
import sys
sys.path.append \
("C:\\Program Files\\eclipse\\plugins\\org.python.pydev_2.8.2.2013090511\\pysrc")
import pydevd
#start debug
pydevd.settrace()
6. Execute the Python command object of the script
7. Change to Eclipse and wait for the remote debugger server
It is not possible to stop and restart the remote debugger server while running PowerFactory .
20.12.7 Example of a Python Script
A small practical example which calculates a load-ow and prints a selection of results to the output
window. The following script can be executed from within PowerFactory .
if __name__ == __main__:
#connect to PowerFactory
import powerfactory as pf
app = pf.GetApplication()
if app is None:
raise Exception("getting PowerFactory application failed")
#print to PowerFactory output window
app.PrintInfo("Python Script started..")
#get active project
prj = app.GetActiveProject()
if prj is None:
raise Exception("No project activated. Python Script stopped.")
#retrieve load-flow object
ldf = app.GetFromStudyCase("ComLdf")
#force balanced load flow
ldf.iopt_net = 0
#execute load flow
ldf.Execute()
#collect all relevant terminals
app.PrintInfo("Collecting all calculation relevant terminals..")
terminals = app.GetCalcRelevantObjects("
*
.ElmTerm")
if not terminals:
raise Exception("No calculation relevant terminals found")
app.PrintPlain("Number of terminals found: %d" % len(terminals))
for terminal in terminals:
voltage = terminal.__getattr__("m.u")
app.PrintPlain("Voltage at terminal %s is %f p.u." % (terminal , voltage))
#print to PowerFactory output window
app.PrintInfo("Python Script ended.")
DIgSILENT PowerFactory 15, User Manual 401
CHAPTER 20. POWERFACTORY INTERFACES
402 DIgSILENT PowerFactory 15, User Manual
Part IV
Power System Analysis Functions
Chapter 21
Load Flow Analysis
21.1 Introduction
Whenever evaluating the operation and control of power systems, the electrical engineer is typically
encountered with questions such as:
Are the voltages of every busbar in the power system acceptable?
What is the loading of the different equipment in the power system? (transformers, transmission
lines, generators, etc.)
How can I achieve the best operation of the power system?
Does the power system have a weakness (or weaknesses)? If so, where are they located and
how can I countermeasure them?
Although we may consider that the above questioning would arise only when analyzing the behaviour
of existing" power systems; the same interrogations can be formulated when the task relates to the
analysis of future" systems or expansion stages" of an already existing power system; such as evalu-
ating the impact of commissioning a transmission line or a power plant, or the impact of refurbishment
or decommissioning of equipment (for example shutting down a power plant because it has reached its
life expectancy).
DIgSILENT PowerFactory 15, User Manual 405
CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.1.1: Power System Analysis: System Operation and System Planning
Taking into account these two aspects: 1) Present operation and 2) Future operation, is how power
should be analyzed. From one side, an operation or control engineer requires relevant information to
be available to him almost immediately, meaning he must be able to obtain somehow the behaviour
of the power system under different congurations that can occur (for example by opening or closing
breakers in a substation); on the other side, a planning engineer requires obtaining the behaviour of
the system reecting reinforcements that have not yet been built while considering the corresponding
yearly and/or monthly load increase. Regardless of the perspective, the engineer must be able to
determine beforehand the behaviour of the power system in order to establish, for example, the most
suitable operation conguration or to detect possible weakness and suggest solutions and alternatives.
Figures 21.1.2 and 21.1.3 illustrate the system operation and planning aspects.
Figure 21.1.2: Power System Operation Example
406 DIgSILENT PowerFactory 15, User Manual
21.1. INTRODUCTION
Figure 21.1.3: Power System Planning Example
Load ow calculations are used to analyze power systems under steady-state non-faulted (short-circuit-
free) conditions. Where steady-state is dened as a condition in which all the variables and parameters
are assumed to be constant during the period of observation. We can think of this as taking a picture of
the power system at a given point in time. To achieve a better understanding let us refer to Figure 21.1.4.
Here a 24 hour load demand prole is depicted. The user can imagine this varying demand to be the
demand of a specic area or region, or the demand of a whole network. In this particular case the load
is seen as increasing from early in the morning until it reaches its maximum at around 18:00 hrs. After
this point in time, the total load then begins to decrease. A load ow calculation is stated to be a steady-
state analysis because it reects the system conditions for a certain point in time, such as for instance
at 18:00 hrs (maximum demand). As an example, if we require determining the behaviour of the system
for every hour of the day, then 24 load ows need to be performed; if the behaviour for every second is
required then the number of load ow calculations needed would amount to 86 400. In PowerFactory
, the active power (and/or reactive power) of the loads can be set with a Characteristic so they follow
a certain prole (daily, weekly, monthly, etc.). By doing so, the active power will change automatically
according to the date ant time specied. For more information please refer to Chapter 16(Parameter
Characteristics, Load States, and Tariffs).
DIgSILENT PowerFactory 15, User Manual 407
CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.1.4: Example of a Load Demand Curve
A load ow calculation will determine the active and reactive power ows for all branches, and the
voltage magnitude and phase for all nodes.
The main areas for the application of load ow calculations can be divided in normal and abnormal
(Contingency) system conditions as follows:
Normal System Conditions
Calculation of branch loadings, system losses and voltage proles.
Optimization tasks, such as minimizing system losses, minimizing generation costs, open tie opti-
mization in distributed networks, etc.
Calculation of steady-state initial conditions for stability simulations or short-circuit calculations
using the complete superposition method.
Abnormal System Conditions
Calculation of branch loadings, system losses and voltage proles.
Contingency analysis, network security assessment.
Optimization tasks, such as minimizing system losses, minimizing generation costs, open tie opti-
mization in distributed networks, etc.
Verication of system conditions during reliability calculations.
Automatic determination of optimal system resupplying strategies.
Optimization of load-shedding.
Calculation of steady-state initial conditions for stability simulations or short-circuit calculations
using the complete superposition method (special cases).
Regarding the above denitions of normal and abnormal system conditions, a distinction should be
made in terms of the manner simulations should be performed:
408 DIgSILENT PowerFactory 15, User Manual
21.2. TECHNICAL BACKGROUND
Simulation of normal operating conditions: Here, the generators dispatch as well as the loads are
known, and it is therefore sufcient for the load ow calculation to represent these generators
dispatch and to provide the active and reactive power of all loads. The results of the load ow
calculation should represent a system condition in which none of the branch or generator limits
are exceeded.
Simulation of abnormal operating conditions: Here a higher degree of accuracy from the models
is needed. It can no longer be assumed that the entire system is operating within limits. The
models must be able to correctly simulate conditions which deviate from the normal operating
point. Hence the reactive power limits of generators or the voltage 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 bal-
anced systems may be inappropriate for certain distribution networks. State of the art computational
tools for power systems analysis must be therefore able to represent unbalanced networks for load ow
calculations as well.
The calculation methods and the options provided by PowerFactorys load ow analysis function allow
the accurate representation of any combination of meshed 1-, 2-, and 3-phase AC and/or DC systems.
The load ow tool accurately represents unbalanced loads, generation, grids with variable neutral po-
tentials, HVDC systems, DC loads, adjustable speed drives, SVSs, and FACTS devices, etc., for all AC
and DC voltage levels. With a more realistic representation of the active and reactive power balance
mechanisms, the traditional requirement of a slack generator is left optional to the user.
The most considerable effect of the resistance of transmission lines and cables is the generation of
losses. The conductor resistance will at the same time depend on the conductor operating temperature,
which is practically linear over the normal range of operation. In order to carry out such type of analysis,
PowerFactory offers a Temperature Dependency option, so that the conductor resistance is corrected
according to the specied temperature value.
For very fast and reliable analysis of complex transmission networks, where only the ow of active power
through the branches is considered, PowerFactory offers an additional load ow method, namely DC
load ow (linear)", which determines the active power ows and the voltage angles within the network.
The following sections introduce the calculation methods and the options provided with PowerFactorys
load ow tool. This information is a guide to the conguration of the PowerFactory load ow analysis
command
21.2 Technical Background
This section presents the general aspects of the implementation of PowerFactorys load ow calculation
tool. An understanding of the concepts introduced here should be sufcient background to manage the
options presented in the load ow analysis command dialogue. Further technical details related to the
models (Network Components) implemented in PowerFactory for load ow calculations are provided in
the Appendix C: Technical References of Models.
21.2.1 Network Representation and Calculation Methods
A load ow calculation determines the voltage magnitude (V) and the voltage angle () of the nodes,
as well as the active (P) and reactive (Q) power ow on branches. Usually, the network nodes are
represented by specifying two of these four quantities. Depending on the quantities specied, nodes
can be classied as:
DIgSILENT PowerFactory 15, User Manual 409
CHAPTER 21. LOAD FLOW ANALYSIS
PV nodes: here the active power and voltage magnitude are specied. This type of node is used
to represent generators and synchronous condensers whose active power and voltage magnitude
are controlled (synchronous condensers P=0). In order to consider equipment limits under abnor-
mal conditions (as mentioned in the previous section), reactive power limits for the corresponding
network components are also used as input information.
PQ nodes: here the active and reactive power are specied. This type of node is used to repre-
sent loads and machines with xed values. Loads can also be set to change (from their original Po
and Qo values at nominal voltage) as a function of the voltage of the node to which the load itself
is connected. Elements specied as PQ (for example synchronous machines, static generators
PWM converters or SVSs) can be forced by the algorithm so that the P and Q resulting from the
load ow are always within limits.
Slack node: here the voltage magnitude and angle are xed. In traditional load ow 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 specic control conditions (for example the control of active power ow at a certain MW
threshold in a HVDC converter, or the control of the voltage of a busbar by an SVS).
Note: In traditional load ow calculations, asynchronous machines are represented by PQ nodes, as-
suming that the machine operates at a certain power factor, independent of the busbar voltage.
Besides this traditional representation, PowerFactory offers a more accurate slip iteration" (AS)
representation based on the model equivalent circuit diagrams. For further information please
refer to the corresponding Technical Reference in the Appendix C.
In contrast to other power system calculation programs, PowerFactory does not directly dene the node
characteristic of each busbar. Instead, more realistic control conditions for the network elements con-
nected to these nodes are dened (see the Load Flow page of each elements dialogue). For example,
synchronous machines are modelled by dening 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 ow calculation
tool allows the denition of more realistic mechanisms to control both active and reactive power. For
further information please refer to Section 21.2.2.
AC Load Flow Method
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-dened, 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
410 DIgSILENT PowerFactory 15, User Manual
21.2. TECHNICAL BACKGROUND
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 transformer tap changers and/or
switchable shunts is considered. Once the Newton-Raphson iterations converge to a solution within the
dened tolerance (without considering the setpoint values of load ow quantities dened in the control
characteristic of the tap changers/switchable shunts (see Figure 21.2.1)), the outer loop is applied in
order to reach these target values. The actions taken by the outer iterative loop are:
Increasing/decreasing discrete taps;
Increasing/decreasing switchable shunts; and
Limiting/releasing synchronous machines to/from max/min reactive power limits.
Once the above-listed actions are taken, a new Newton-Raphson load ow iteration takes place in order
to determine the new network operating point.
Figure 21.2.1: Setting of the Control Mode for an Automatic Tap Changer
In the classical load ow calculation approach, the unbalance between phases are neglected. For the
analysis of transmission networks this assumption is generally admissible. In distribution networks this
assumption may be inappropriate depending on the characteristics of the network. PowerFactory allows
for the calculation of both balanced (AC Load Flow, balanced positive sequence) and unbalanced (AC
Load Flow Unbalanced, 3-phase (ABC)) load ows according to the descriptions above.
DIgSILENT PowerFactory 15, User Manual 411
CHAPTER 21. LOAD FLOW ANALYSIS
DC Load Flow Method
In addition to the AC" load ow calculations presented in this section, PowerFactory offers a so-called
DC" load ow calculation method. The DC load ow should not be interpreted as a method to be used
in case of DC systems given that it basically applies to AC systems.
Some occasions we may require performing fast analysis in complex transmission networks where only
a reasonable approximation of the active power ow of the system is needed. For such situations the DC
load ow can be used. Other applications of the DC load ow method include situations where the AC
load ow has trouble converging (see Section 21.5: Troubleshooting Load Flow Calculation Problems).
In this particular method, the non-linear system resulting from the nodal equations is simplied due to
the dominant relation that exists between voltage angle and active power ow in high voltage networks.
By doing so a set of linear equations is thereby obtained, where the voltage angles of the buses are
directly related to the active power ow through the reactance of the individual components. The DC
load ow does not require an iterative process and the calculation speed is therefore considerably
increased. Only active power ow without losses is considered. Summarizing, the DC load ow method
has the following characteristics:
The calculation requires the solving of a set of linear equations.
No iterations required, therefore fast, and also no convergence problems.
Approximate solution:
All node voltage magnitudes xed at 1.0 per unit.
Only active power and voltage angles calculated.
Losses are neglected.
21.2.2 Active and Reactive Power Control
Active Power Control
Besides the traditional approach of using a slack generator to establish the power balance within the
system, PowerFactory s load ow calculation tool provides other active power balancing mechanisms
which more closely represent the reality of transmission networks (see selection in the Active Power
Control page of the load ow command). These mechanisms are implemented in the steady-state
according to the control processes that follow the loss of large power stations:
As Dispatched: As mentioned at the beginning of this section, the conventional approach in
load ow calculations consists assigning a slack generator, which will establish the power balance
within the system. Besides this traditional approach, PowerFactory offers the option of balancing
by means of a single or a group of loads (Distributed Slack by Loads). Under such assumptions,
the active power of the selected group of loads will be modied so that the power balance is once
again met; while leaving the scheduled active power of each generator unchanged. Other methods
of balancing include considering the participation of all synchronous generators according to their
scheduled active power (Distributed Slack by Generation).
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/de-
crease) the active power production of each unit, leading to an over- or under-frequency situa-
tion. The secondary frequency control will then bring the frequency back to its nominal value,
re-establishing cost-efcient generation delivered by each unit. Secondary control is represented
in PowerFactory s load ow calculations by network components called Power Frequency Con-
trollers (ElmSecctrl ). If the Active Power Control option According to Secondary Control is se-
lected, 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 in the Appendix C).
412 DIgSILENT PowerFactory 15, User Manual
21.2. TECHNICAL BACKGROUND
According to Primary Control: Shortly following a disturbance, the governors of the units partici-
pating 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 (K
pf
) of their primary controllers
and which is depicted in Figure 21.2.2. If the Active Power Control option According to Primary
Control is selected in PowerFactory s load ow command, the power balance is established by
all generators (synchronous generators, static generators and external grids) having a primary
controller gain value different than zero (parameter Prim. Frequency Bias in the Load Flow page
- Figure 21.2.3). The modied active power of each generator is then calculated according to the
following equation:
P
i
= P
idispatch
+ P
i
(21.1)
where,
P
i
is the modied active power of generator i, P
idispatch
is the initial active power dispatch of
generator i and P
i
is the active power change in generator i.
The active power change of each generator (P
i
) will be determined by its corresponding primary
controller gain value (K
pfi
) and the total frequency deviation.
P
i
= K
pfi
f (21.2)
where,
K
pfi
is the primary controller gain parameter of generator i and f is the total frequency devia-
tion. The total frequency deviation (f) can be obtained according to:
f =
P
Tot

K
pf
(21.3)
where P
Tot
corresponds to the active power change sum of every generator:
P
Tot
=
n

j=1
P
j
(21.4)
Figure 21.2.2: Primary Frequency Bias
DIgSILENT PowerFactory 15, User Manual 413
CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.3: Primary Frequency Bias (K
pf
) Setting in the Load Flow Page of the Synchronous Ma-
chine Element (ElmSym)
According to Inertias: Immediately following a disturbance, the missing/excess power is deliv-
ered from the kinetic energy stored in the rotating mass of the turbines. This leads to a deceler-
ation/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 ow com-
mand, the power balance is established by all generators. Individual contributions to the balance
are proportional to the inertia/acceleration time constant of each generator (dened on the RMS-
Simulation page of the synchronous generator types dialogue and depicted in Figure 21.2.4).
This relation can be mathematically described as follows:
P
i
= P
idispatch
+ P
i
(21.5)
where,
P
i
is the modied active power of generator i, P
idispatch
is the initial active power dispatch of
generator i and P
i
is the active power change in generator i.
The active power change of each generator (P
i
) will be determined by its corresponding inertia
gain (K
pfi
) and the total frequency deviation, as follows:
P
i
= K
pfi
f (21.6)
where,
414 DIgSILENT PowerFactory 15, User Manual
21.2. TECHNICAL BACKGROUND
f is the total frequency deviation and K
pfi
is the inertia gain parameter of generator i, which
can be calculated as:
K
pfi
= J
n
2 (21.7)
with
J = S
n

T
ags

2
n
(21.8)
where,
J is the moment of Inertia,

n
is the rated angular velocity,
S
n
is the generator nominal apparent power and
T
ags
is the acceleration time constant rated to S
n
Figure 21.2.4: Inertia/Acceleration Time Constant Parameter of the Synchronous Machine Type (Typ-
Sym). RMS-Simulation Page
Figure 21.2.5 illustrates the different type of active power control.
DIgSILENT PowerFactory 15, User Manual 415
CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.2.5: Frequency Deviation Following an Unbalance in Active Power
Note: The Secondary Control option will take into account the participation factors of the machines de-
ned within a Power-Frequency Controller (ElmSecctrl ) in order to compensate for the frequency
deviation. In such a case, the nal steady state frequency is considered to be the nominal value
(number 1 in Figure 21.2.5). The Primary Control option will take into account the frequency droop
(MW/Hz) stated in every machine in order to determine the active power contribution. Depending
on the power unbalance, the steady state frequency will deviate from the nominal value (number
2 in Figure 21.2.5). The According to Inertias option will take into account the inertia/acceleration
time constant stated in every machine in order to determine its active power contribution. In this
case, depending on the power unbalance, the steady state frequency will deviate from the nominal
value (number 3 in Figure 21.2.5).
Reactive Power Control
The reactive power reserves of synchronous generators in transmission networks are used to control the
voltages at specic nodes in the system and/or to control the reactive power exchange with neighbour-
ing network zones. In PowerFactory s load ow calculation, the voltage regulator of the generators has
a voltage setpoint which can be set manually (dening a PV bus type as introduced in Section 21.2.1),
or from an Automatic Station Controller (ElmStactrl ). This Automatic Station Controller combines sev-
eral sources of reactive power to control the voltage at a given bus. In this case the relative contribution
of each reactive power source (such as generators and SVSs) is dened in the Station Controller dia-
logue. For further details about the use and denition of Automatic Station Controllers please refer to
Appendix C: Technical References of Models, section C.5.1: Station Controller (ElmStactrl ).
21.2.3 Advanced Load Options
Voltage Dependency of Loads
All non-motor loads, as well as groups of non-motor loads that conform a sub-system, for example, a
low-voltage system viewed from a medium voltage system, can be modelled as a general load".
Under normal conditions" it is permissible to represent such loads as constant PQ loads. However
under abnormal conditions", for example during voltage collapse situations the voltage-dependency of
the loads should be taken into account.
Under such assumptions, PowerFactory uses a potential approach, as indicated by Equations (21.9)
and (21.10). In these equations, the subscript 0 indicates the initial operating condition as dened in
the input dialogue box of the Load Type.
416 DIgSILENT PowerFactory 15, User Manual
21.2. TECHNICAL BACKGROUND
P = P
0
_
aP
_
v
v
0
_
e_aP
+bP
_
v
v
0
_
e_bP
+ (1 aP bP)
_
v
v
0
_
e_cP
_
(21.9)
where,
cP = (1 aP bP)
Q = Q
0
_
aQ
_
v
v
0
_
e_aQ
+bQ
_
v
v
0
_
e_bQ
+ (1 aQbQ)
_
v
v
0
_
e_cQ
_
(21.10)
where,
cQ = (1 aQbQ)
By specifying the particular exponents (e_aP, e_bP, e_cP and e_aQ, e_bQ, e_cQ) the inherent load
behaviour can be modelled. For example, in order to consider a constant power, constant current or
constant impedance behaviour, the exponent value should be set to 0, 1 or 2 respectively. In addition,
the relative proportion of each coefcient can be freely dened using the coefcients aP, bP, cP and aQ,
bQ, cQ. For further information, please refer to the General Load technical reference in the Appendix C.
Note: These factors are only considered if the Consider Voltage Dependency of Loads" is checked in
the Load-ow Command window. If no Load Type (TypLod) is assigned to a load, and the load
ow is performed considering voltage dependency then the load will be considered as Constant
Impedance.
Feeder Load Scaling
In radially operated distribution systems the problem often arises that very little is known about the
actual loading of the loads connected at each substation. The only information sometimes available
is the total power owing into a radial feeder. To be able to still estimate the voltage prole along the
feeder a load scaling tool is used. In the simplest case the distribution loads are scaled according to
the nominal power ratings of the trans-formers in the substations. Of course, more precise results are
obtained by using an average daily, monthly or annual load.
The previous is explained in Figure 21.2.6. Here, the measured value at the beginning of the feeder is
stated to be 50 MW. Throughout the feeder there are three loads dened, of which only for one of them
the load is precisely known (20 MW). The other two loads are estimated to be at around 10 MW each.
PowerFactory s load ow analysis tool offers a special Feeder Load Scaling option so that the selected
groups of loads (scalable loads) are scaled accordingly in order to meet the measured value.
Figure 21.2.6: Radial Feeder. Feeder Load Scaling Option
DIgSILENT PowerFactory 15, User Manual 417
CHAPTER 21. LOAD FLOW ANALYSIS
In PowerFactory the following options for Feeder Load Scaling are available:
No scaling.
Scaling to measured apparent power.
Scaling to active power.
Scaling to measured current.
Scaling Manually.
Scaling to measured reactive power.
Scaling to measured power factor.
Furthermore, the previous options can be combined; for example, scaling a selected groups of loads in
order to meet a measured active power and power factor.
Note: Loads that are to be scaled must be marked as such (Adjusted by Load Scaling), also the load
scaling must be enabled in the load ow command option (Feeder Load Scaling).
The feeder load scaling process also can take into account the different type of load behaviour repre-
sented. Figure 21.2.7 illustrates just this. Here, a radial feeder consisting of three different type of loads
is depicted (constant power, constant current and constant impedance). Under such assumptions, per-
forming a load ow calculation with the option Consider Voltage Dependency of Loads (see previous
Section), will result in calculated base quantities according to the type of load specied; for example,
Ibase for the constant current load and Zbase for the constant impedance load. If in addition to the
voltage dependency of loads, the Feeder Load Scaling option is enabled, the calculated scaling factor
k is applied according to the type of load dened in the feeder.
Figure 21.2.7: Feeder Load Scaling Factor Considering Different Behaviour of Loads
In PowerFactory , the amount of Feeder denitions is not limited to the amount of radial paths repre-
sented in the model. This means that the user can dene more than one feeder element (ElmFeeder )
along the same radial path, as indicated in Figure 21.2.8 In this particular example, both Feeder 1 and
2 have the same specied orientation (Branch). While Feeder 1 is dened from the beginning of the
radial path, Feeder 2 is dened after load L2. This particular type of feeder representation is termed as
Nested Feeders. Since Feeder 1 is dened from the beginning of the radial path, every load (L1, L2, L3
and L4), as well as every feeder (Feeder 2) along this path will be considered as part of its denition.
Since Feeder 2 is along the path dened for Feeder 1; Feeder 2 is nested in Feeder 1.
418 DIgSILENT PowerFactory 15, User Manual
21.2. TECHNICAL BACKGROUND
In such cases, executing the load ow (with the option Feeder Load Scaling) will treat the two feeders as
independent. Although nested, Feeder 1 will only try to scale loads L1 and L2 according to its setting,
while Feeder 2 will scale loads L3 and L4. If Feeder 2 is placed Out of Service, then Feeder 1 will scale
all the loads along the radial path (L1, L2, L3 and L4).
Figure 21.2.8: Nested Feeder Denition
For further information on Feeder denitions please refer to Chapter 13, Section 13.5 (Feeders).
Load Scaling Factors
Loads can be scaled individually by adjusting the Scaling Factor parameter located in the Load Flow
page of the Load Element.Together with the scaling factor, the actual load is calculated as follows:
P = Scale P
0
(21.11)
Q = Scale Q
0
(21.12)
If voltage dependency of loads is considered then Equations (21.9) and (21.10) become;
P = Scale P
0
_
aP
_
v
v
0
_
e_aP
+bP
_
v
v
0
_
e_bP
+ (1 aP bP)
_
v
v
0
_
e_cP
_
(21.13)
Q = Scale Q
0
_
aQ
_
v
v
0
_
e_aQ
+bQ
_
v
v
0
_
e_bQ
+ (1 aQbQ)
_
v
v
0
_
e_cQ
_
(21.14)
Note: In order to consider a load in the feeder-load-scaling process, the option Adjusted by Load Scal-
ing has to be enabled. In this case, the individual Scaling Factor of the load is not taken into
account but overwritten by the feeder-scaling factor.
Additionally, loads can be grouped in zones, areas or boundaries so the scaling factor can be easily
edited. In case of zones, there will be an additional Zone Scaling Factor.
Coincidence of Low Voltage Loads
In a low voltage system every load may consist of a xed component with a deterministic amount of
power demand plus a variable component comprising many different, small loads, such as lights, refrig-
erators, televisions, etc., whose power varies stochastically between zero and a maximum value. Under
such conditions, PowerFactory uses a probabilistic load ow calculation, which is able to calculate both
DIgSILENT PowerFactory 15, User Manual 419
CHAPTER 21. LOAD FLOW ANALYSIS
maximum and average currents as well as the average losses and maximum voltage drops. The prob-
abilistic load ow calculation used by PowerFactory can be applied to any system topology, including
meshed low-voltage systems.
PowerFactory s probabilistic load ow calculation uses low voltage loads comprised of several cus-
tomers with xed 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
(21.15)
Where S
max
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:
g(n) = g

+
1 g

n
(21.16)
The average value of the variable component is:
g(n) = g

S
max
(21.17)
Note: Low voltage loads can be represented in PowerFactory by Low Voltage Load (ElmLodlv) ele-
ments which can be directly connected to terminals or by Partial Low Voltage Loads (ElmLodlvp)
which are dened along transmission lines/cables (see the Denition of Line Loads section on the
Load Flow page of transmission line/cable elements - ElmLne).
21.2.4 Temperature Dependency of Lines and Cables
The most important effect of the resistance of transmission line and cable conductors is the generation
of losses (I
2
R). Resistance will also affect the voltage regulation of the line due to voltage drop (IR).
The resistance of a conductor is mainly affected by the operating temperature, and its variation can be
considered practically linear over the normal range of operation (an increase in temperature causes an
increase in resistance). In PowerFactory , the load ow calculation has two options for considering the
Temperature Dependency of resistance for lines and cables:
at 20

C: When this option is selected, the load ow calculation uses the resistances (lines and
cables) stated in the Basic Data page of the corresponding component (TypLne, TypCon, TypCab).
420 DIgSILENT PowerFactory 15, User Manual
21.2. TECHNICAL BACKGROUND
Figure 21.2.9: Specication of the Resistance at 20rC in the Basic Data page of the line type (TypLne)
at Maximum Operational Temperature: When this option is selected, the load ow calculation
uses the corrected value of resistance, which is obtained with the following equation:
R
max
= R
20
[1 +(T
max
20

C)] (21.18)
where,
R
20
is the resistance at temperature 20

C (Basic Data page of the corresponding type)


is the temperature coefcient in K
1
T
max
is the maximum operational temperature (Load Flow page of the corresponding type)
R
max
is the resistance at temperature T
max
Figure 21.2.10: Temperature Dependency Option Setting in the Load Flowpage of the line type (TypLne)
DIgSILENT PowerFactory 15, User Manual 421
CHAPTER 21. LOAD FLOW ANALYSIS
Additionally, the resistance temperature dependency can be dened by specifying either the resistance
at maximum operational temperature, the temperature coefcient (1/K) or the conductor material (Alu-
minium, Copper or Aldrey).
Table 21.2.1indicates the electrical resistivities and temperature coefcients of metals used in conduc-
tors and cables referred at 20

C/68

F (taken from IEC 60287-1 standard).


Material Resistivity (-m) Temperature coefcient [K
1
]
Aluminium 2.8264 10
8
4.03 10
3
Copper 1.7241 10
8
3.93 10
3
Table 21.2.1: Electrical Resistivities and Temperature coefcients of Aluminium and Copper
21.3 Executing Load Flow Calculations
A load ow 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 ow command dialogue is shown in Figure 21.3.1.
Figure 21.3.1: Load Flow Command (ComLdf ) Dialogue
The following pages explain the load ow command options. Following this, some hints are given
regarding what to do if your load ow cannot be solved.
422 DIgSILENT PowerFactory 15, User Manual
21.3. EXECUTING LOAD FLOW CALCULATIONS
The following pages describe the different load ow command (ComLdf ) options. for more detail tech-
nical background regarding the options presented here, please refer to Section 21.2.
21.3.1 Basic Options
Calculation Method
AC Load Flow, balanced, positive sequence
Performs load ow 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 21.2.1).
AC Load Flow, unbalanced, 3 Phase (ABC)
Performs load ow calculations for a multi-phase network representation. It can be used for ana-
lyzing unbalances of 3-phase systems, e.g. introduced by unbalanced loads or non-transposed
lines, or for analyzing all kinds of unbalanced system technologies, such as single-phase- or two-
phase systems (with or without neutral return). For further details please refer to Section 21.2.1.
DC Load Flow (linear)
Performs a DC load ow based on a set of linear equations, where the voltage angles of the buses
are strongly related to the active power ow through the reactance of the individual components
(for further details please refer to Section 21.2.1).
Reactive Power Control
This option is available only for AC load ow calculations.
Automatic Tap Adjust of Transformers
Adjusts the taps of all transformers which have the option Automatic Tap Changing enabled on
the Load Flow page of their element dialogues. The tap adjustment is carried out according to
the control settings dened in the transformer elements dialogue (for further information please
refer to the corresponding Technical Reference in the Appendix C).
Automatic Shunt Adjustment
Adjusts the steps of all switchable shunts that have the option Switchable enabled on the Load
Flow page of the shunts element dialogue (for further information please refer to corresponding
Technical Reference in the Appendix C).
Consider Reactive Power Limits
Considers the reactive power limits dened by generators and SVSs. If the load ow cannot
be solved without exceeding the specied limits, a convergence error is generated. If this op-
tion is not enabled, PowerFactory will print a warning message if any of the specied limits are
exceeded.
Consider Reactive Power Limits Scaling Factor
This option is only available if Consider Reactive Power Limits is enabled. If selected, the re-
active power limits of generators are scaled by the relaxation factors: Scaling factor (min) and
Scaling factor (max) which are set on the Load Flow page of the generator elements dialogue.
Note that the reactive power limits of generators are also dened on the Load Flow page of the
generator elements dialogue by one of the following: maximum/minimum values, or according to
the generators assigned type.
Load Options
DIgSILENT PowerFactory 15, User Manual 423
CHAPTER 21. LOAD FLOW ANALYSIS
Consider Voltage Dependency of Loads
The voltage dependency of loads with dened voltage dependency factors (Load Flow page 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 page of
their element dialogue by the Scaling Factor specied in the Load Scaling section of the feeder
element. In this case, the Scaling Factor specied on the Load Flow page of load element
dialogue is disregarded.
Consider Coincidence of Low-Voltage Loads
Calculates a low voltage load ow as described in Sections 21.2.3 and 21.3.6, where load coinci-
dence factors are considered, so as to produce maximum branch currents and maximum voltage
drops. Since coincidence factors are used, the result of low voltage analysis will not obey Kirch-
hoffs current law. After the load ow 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 ele-
ments) is multiplied for all low voltage loads.
Temperature Dependency: Line/Cable Resistances
...at 20

C
The resistance of each line, conductor and cable will be according to the value stated in the Basic
Data page of their corresponding type (at 20

C).
...at Maximum Operational Temperature
The resistance of each line, conductor and cable will be adjusted according to the equation
(21.18) described in Section 21.2.4 and the Temperature Dependency option stated in its corre-
sponding type (TypLne, TypCon, TypCab).
21.3.2 Active Power Control
As explained in Section 21.2.2, PowerFactory s load ow calculation offers several options for maintain-
ing 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 dened
by the user on the Load Flow page of the target element. The program automatically sets a slack
if one has not been already dened 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 21.2.2. Active power contribution is according to the secondary controller
participation factors.
424 DIgSILENT PowerFactory 15, User Manual
21.3. EXECUTING LOAD FLOW CALCULATIONS
according to Primary Control:
Power balance is established by all generators having a Kpf -setting dened (on the Load Flow
page of a synchronous machine element dialogue), as explained in Section 21.2.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 21.2.2.
Consider Active Power Limits:
Active power limits for generators (as dened on the elements 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:
Balancing by Reference Machine:
For each isolated area, the reference machine will balance the active power.
Balancing by Load at Reference Busbar:
This option is valid only when the reference bus bar has been dened. The load with highest
active power injection at the reference bus will be selected as the slack (such as to balance the
losses).
Balancing by Static Generator at Reference Bus:
As in the case of Balancing by Load, this option is valid only when the reference bus bar has
been dened. The static generator with the highest nominal apparent power at the reference bus
will be selected as the slack (i.e. to balance the losses).
Distributed Slack by Loads:
When this option is selected, only the loads which have the option Adjusted by Load Scaling
enabled in the isolated area will contribute to the balancing. The distribution factor calculated for
a load is determined by the following equation:
K
i
=
P
ini,i
n

j=1
P
ini,j
(21.19)
where,
P
ini
is the initial active power of the load.
DIgSILENT PowerFactory 15, User Manual 425
CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.3.2: Adjusted by Load Scaling option in the Load Flow page of the Load element (ElmLod)
Distributed Slack by Generation (Synchronous Generators):
All the synchronous generators in the isolated area will contribute to the balancing. As in the
Distributed Slack by Loads option, the distribution factor calculated for a generator is determined
by the following equation:
K
i
=
P
ini,i
n

j=1
P
ini,j
(21.20)
where,
P
ini
is the initial dispatched power of the generator.
Interchange Schedule:
This option is available only when the Distributed Slack by Loads or Distributed Slack by Gener-
ation is selected. It allows the loads or generation in a region to be scaled up or down to control
the interchange of this region. The type of the region could be:
Grids: Available for both distributed load slack and distributed generation.
Zones: Available for both distributed load slack and distributed generation.
Boundaries: Only available for distributed load slack.
In the load ow page of the grid, zone or boundary elements, the following operational parameters
are available:
Consider Interchange Schedule: Enables or disables the Interchange Schedule for this region. By
default this option is not selected.
Scheduled active power interchange: States the expected interchange of the grid, zone or bound-
ary.
426 DIgSILENT PowerFactory 15, User Manual
21.3. EXECUTING LOAD FLOW CALCULATIONS
Figure 21.3.3: Consider Interchange Schedule option in the Load Flow page of the Grid element (Elm-
Net )
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-dened voltage angle for the selected reference busbar. The value will be remotely con-
trolled by the slack machine (external network). Only available if a Reference Busbar has been
selected.
21.3.3 Advanced Options
Load Flow Method
As explained in Section 21.2.1, the nodal equations used to represent the analyzed networks are im-
plemented 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-dened, 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.
Distribution systems, especially unbalanced distribution systems, usually converge better using the
Current Equations formulation.
Load Flow Initialisation
DIgSILENT PowerFactory 15, User Manual 427
CHAPTER 21. LOAD FLOW ANALYSIS
No Topology Rebuild
Will speed up large sets of consecutive load ow calculations. Enabling this option means that
the topology of the system will not be rebuilt when calculating the next load ow. If no topological
changes will be made to the system between these consecutive load ow calculations, then this
option may be enabled.
No Initialisation (no at-start)
Initializes a load ow from a previously convergent solution (no at-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 ow calculation (i.e. in the
internal loop involving the Newton-Raphson iterations). The new tap positions will then be cal-
culated directly as a variable and are therefore known following a single load ow calculation.
The stepped method will calculate a load ow with xed tap positions, after which the required
tap changes are calculated from the observed voltage deviations and the tap controller time con-
stants. The load ow 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 ow 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 ow, set a factor of greater
than 1.0).
Station Controller
Available on Advanced tab of the Advanced Options page. The options presented in this eld determine
the reactive power ow from generators participating in station controllers (ElmStactrl ). Please refer to
Appendix C.5.1 (Station Controller (ElmStactrl)) for information on station controllers and their control
modes.
Modelling 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 de-
velop the equations of the lines. The equations involving coupling are modelled in the lines;
consequently, using this option results in faster performance than using option with in/output sig-
nals.
Use this load ow for initialization of OPF
428 DIgSILENT PowerFactory 15, User Manual
21.3. EXECUTING LOAD FLOW CALCULATIONS
The results of this load ow calculation are used to initialize the OPF calculation.
21.3.4 Iteration Control
The options on this page relate to the non-linear equation solver and are therefore only available for
PowerFactory s AC load ow calculation methods.
Max. Number of Iterations for
The load ow calculation comprises an inner loop involving the Newton-Raphson method (see Sec-
tion 21.2.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 ow involves the Newton-Raphson iterations. This parameter denes
the maximum number of iterations (typically 25).
Outer Loop - ictrlx
The outer loop of the load ow 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 21.2.1). The maximum number of outer loop iterations (typically 20) is set by this
parameter.
Number of Steps - nsteps
Problematic load ows with slow convergence may be improved by starting a load ow 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
ow at a load/generation level of 1/3 and the increases the power to 100% over two further steps.
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 specied 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 ow calculation, but may result in an increased likelihood of convergence for systems
which are otherwise difcult to solve.
Automatic Model Adaptation for Convergency
The PowerFactory load ow calculation will always rst try to nd 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.
Iteratively, starting from Level 1 up to Level 4, some types of models are adjusted in order to nd
a solution. The adaptations of the models for each level are the following:
DIgSILENT PowerFactory 15, User Manual 429
CHAPTER 21. LOAD FLOW ANALYSIS
Level 1
Loads: All voltage dependency factors are set to minimum 0.5
Generators and external networks: Reactive power limits are disabled
Transformers: tap control is disabled
Motors: The rotor resistance is not allowed to vary
Level 2
Loads: All voltage dependency factors are set to minimum 0.8
Generators and external networks: Reactive power limits are disabled
Transformers: tap control is disabled
Motors: The rotor resistance is not allowed to vary
Level 3
Loads: All voltage dependency factors are set to minimum 2
Generators and external networks: Reactive power limits are disabled
Transformers: tap control is disabled
Motors: The rotor resistance is not allowed to vary
Level 4
Loads: All voltage dependency factors are set to minimum 2
Generators and external networks: Reactive power limits are disabled and voltage equation
are linearized
Transformers: tap control is disabled
Motors: The rotor resistance is not allowed to vary
The models are not only lineralized but also simplied. If the user reached Level 4, he should
better switch to the DC load ow method.
21.3.5 Outputs
Show Outer Loop messages
Will print a report concerning the outer loop iterations, which may be used to solve convergence
problems.
Show Convergence Progress Report
Will print a detailed report throughout the load ow calculation. When enabling this option the
Number of reported buses/models per iteration can be stated. As a result, the required number
of buses and models with the largest error will be reported (e.g. by stating 3, the 3 buses and
models with the largest error will be printed out in the output window). As in the case of Outer
Loop messages, this information can be useful in solving convergence problems.
Show Verication Report
Produces a table in the output window with a list of overloaded power system elements and voltage
violations, according to the following values:
Max. Loading of Edge Element
Reference value of the maximum loading used by the Verication Report.
Lower Limit of Allowed Voltage
430 DIgSILENT PowerFactory 15, User Manual
21.3. EXECUTING LOAD FLOW CALCULATIONS
Reference value for the minimum allowed voltage used by the Verication Report.
Upper Limit of Allowed Voltage
Reference value for the maximum allowed voltage used by the Verication Report.
Output
Displays the report format denition that will be used. The arrow button can be pressed to edit
or inspect the report settings. This option is only available if Show Verication Report is selected.
21.3.6 Low Voltage Analysis
As explained in Sections 21.2.3 and 40.4.1, low voltage loads (ElmLodlv and ElmLodvp) are modelled
in PowerFactory with xed and variable (stochastic) components. The parameters which dene these
xed and variable components are set in both the load ow command dialogue (i.e. globally), and in the
load types dialogues (i.e. locally) according to the settings dened below.
Denition of Fixed Load per Customer
The xed load is the non-stochastic component of the load, which is not subject to coincidence factors.
The active and reactive power dened in this eld, multiplied by the number of customers (dened in the
load element itself), are added to the xed load component dened for each low voltage load (ElmLodlv
and ElmLodvp). For further information about LV loads please refer to the corresponding technical
references in the Appendix C.
Denition of Variable Load per Customer
The variable component of low voltage loads can be globally dened using the parameters in this section
or by specically dening LV load types for the target loads.
The Max. Power per Customer is the independent maximum kVA per customer. This value, multiplied
by the Coincidence Factor (ginf) (see Section 21.2.3), gives the Average Power" per customer, which
is used in load ow 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 (dened in the load element itself) as described
in Section 21.2.3.
For further information about LV loads please refer to the corresponding technical references in the
Appendix C.
Note: The factors dened in the section Denition of Variable Load per Customer are used as global
data for the load ow calculation. If specic LV load types are dened, the locally-dened 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 ow command is used.
Voltage Drop Analysis
For the consideration of the stochastic nature of loads, PowerFactory offers two calculation methods:
Stochastic Evaluation
Maximum Current Estimation
The Stochastic Evaluation method is the more theoretical approach, and can also be applied to meshed
network topologies. The Maximum Current Estimation method applies stochastic rules only for the
DIgSILENT PowerFactory 15, User Manual 431
CHAPTER 21. LOAD FLOW ANALYSIS
estimation of maximum branch ows. Based on the maximum current ow 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.
21.3.7 Advanced Simulation Options
This page, as shown in Figure 21.3.4, is not only important for load ow but also for other calculation
functions such as transient simulation. Utilizing the options on this page can result in improved perfor-
mance; i.e. the speed of a transient simulation may improved when protection devices are neglected in
the calculation.
Figure 21.3.4: Advanced Simulation Options in the load ow command dialogue
Consider Protection Devices
Calculates the tripping times for all modelled 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 specic 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 difcult to solve.
21.4 Result Analysis
In PowerFactory the results can be displayed directly in the single line diagram, in tabular form or by
using predened report formats. Also available are several diagram colouring options in other to have a
quick" overview of the results.
432 DIgSILENT PowerFactory 15, User Manual
21.4. RESULT ANALYSIS
21.4.1 Viewing Results in the Single Line Diagram
Once a load ow calculation has been successfully executed, the result boxes shown in the single-line
diagram will be populated. There is a result box associated with each side" of an element. So for
example a load has one result box, a line two result boxes, and a three-winding transformer three result
boxes. In PowerFactory these elements are collectively called edge elements. In addition, there are
result boxes for nodes or buses.
The information shown inside a result box depends on the element to which it is associated. There
are a few predened formats for edge elements and a few predened formats for buses. In order to
see the selection, rst perform a load ow, then, from the main menu, select Output Results for
Edge Elements or Output Results for Buses. These menu options will show the list of available result
box formats. Alternatively, you can select (click) inside a result box on the single-line diagram, then
right-click and from the context sensitive menu choose Format for Edge Elements or in case of a node
Format for Nodes. Figure 21.4.1 serves as an example.
Figure 21.4.1: Selecting the Result Box from the Single Line Diagram.
Besides these predened formats the result boxes can be formatted in order to display selected vari-
ables.
By right-clicking on one of the result boxes and selecting the option Edit Format for Edge Elements
and afterwards pressing the Input Mode button three options will be available: Predened Variables,
User Selection or Text Editor. The User Selection" option will allow the selection of any of the available
variables.
21.4.2 Flexible Data Page
Once a load ow calculation has been successfully executed, pressing the Edit Relevant Objects for
Calculation button ( ) located on the main menu will prompt a submenu with icons for all classes
that are currently used in the calculation. Clicking any of the class-icons will open a browser with all
elements of that class that are currently used in the calculation. The left-most tab-page at the bottom of
the browser is the Flexible Data tab page. Click on this tab page to show the exible data. To change
the columns in the exible page, press the Dene Flexible Data button ( ). This will bring a selection
window where the set of variables can be edited. In the left pane the available variables will be shown
while the right pane will list the selected variables. Pressing the or buttons will move the selected
variable from the one pane to the other pane.
DIgSILENT PowerFactory 15, User Manual 433
CHAPTER 21. LOAD FLOW ANALYSIS
21.4.3 Predened Report Formats (ASCII Reports)
In PowerFactory there are predened report formats also called ASCII reports, available to the user.
These ASCII reports can be created by pressing the Output Calculation Analysis button ( ) located on
the main menu (a load ow must be calculated rst). This will bring a selection window in which the user
can select a specic type of report. Some reports like the Complete System Report" will have various
options which the user can set. The report selection window also shows the report denition which will
be used for the selected report. Pressing Execute will write the report to the output window. Although
the reports are already predened, the user has the possibility of modifying the reports if required (by
clicking on the blue arrow pointing to the right of the used format denition).
A Verication Report can be also printed out automatically each time a load ow calculation is executed
(see Section 40.4.2).
21.4.4 Diagram Colouring
When performing load ow calculations, it is very useful to colour the single line-diagram in order to have
a quick overview of the results, for example if elements have a loading above 90% or if the voltages of
the busbars are outside the specied limits. In PowerFactory there is the option of selecting different
colouring modes according to the calculation performed. If a specic calculation is valid, then the
selected colouring for this calculation is displayed. As an example, if the user selects the colouring
mode Zones for No Calculation and Low and High Voltage/Loadings for the load ow calculation, then
the initial colouring will be according to Zones. However, as soon as the load ow is calculated, the
diagram will be coloured according to Low and High Voltage/Loadings. If the load ow calculation is
reset or invalid, the colouring mode switches back to Zones.
The Diagram Colouring has also a 3-priority level colouring scheme also implemented, allowing colour-
ing elements according to the following criteria: 1
st
Energizing status, 2
nd
Alarm and 3
rd
Normal"
(Other) colouring.
Energizing Status
If this check box is enabled De-energized" or Out of Calculation" elements are coloured accord-
ing to the settings in the Project Colour Settings". The settings of the De-energized" or Out of
Calculation" mode can be edited by clicking on the Colour Settings button.
Alarm
If this check box is enabled a drop down list containing alarm modes will be available. It is
important to note here that only alarm modes available for the current calculation page will be
listed. If an alarm mode is selected, elements exceeding" the corresponding limit are coloured.
Limits and colours can be dened by clicking on the Colour Settings button.
Normal" (Other) Colouring
Here, two lists are displayed. The rst list will contain all available colouring modes. The sec-
ond list will contain all sub modes of the selected colouring mode. The settings of the different
colouring modes can be edited by clicking on the Colour Settings button.
Every element can be coloured by one of the three previous criteria. Also, every criterion is optional and
will be skipped if disabled. Regarding the priority, if the user enables all three criterions, the hierarchy
taken into account will be the following:
Energizing Status" overrules the Alarm" and Normal Colouring" mode. The Alarm" mode overrules
the Normal Colouring" mode.
434 DIgSILENT PowerFactory 15, User Manual
21.5. TROUBLESHOOTING LOAD FLOW CALCULATION PROBLEMS
21.4.5 Load Flow Sign Convention
By default, PowerFactory has the following load ow sign convention (Mixed Mode):
Branches:
Power Flow going out of the Busbar is positive while going into the busbar is negative.
Loads:
Power Flow going out of the Busbar is positive while going into the busbar is negative. Here, the
term load considers General Loads", Low-Voltage Loads", Motors", Shunts/Filters" and SVS".
A synchronous machine stated as a Motor" will have also this sign convention.
Generation:
Power Flow going out of the Busbar is negative while going into the busbar is positive. Here,
the term Generation considers Generators", External Grids", Static Generators" and Current
and Voltage Sources". An asynchronous machine stated as a Generator" will have also this sign
convention.
21.5 Troubleshooting Load Flow Calculation Problems
In general, if a solution can be found (in other words, the network is mathematically solvable), Pow-
erFactory will nd a solution. In some cases the user may have made an error which will not allow a
solution to be found; such as a large load causing a voltage drop so large that a voltage collapse results.
In a real-world power system the same problem would be found.
When creating a network for the rst 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 ow. PowerFactory has a data verication 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.
Typical reasons for non-convergence in the load ow are:
Data model problem.
Too many inner loop iterations.
Too many outer loop iterations.
Excessive mismatch.
Tap hunting.
Clearly this is not an exhaustive list of problems, but these are the main causes of non-convergence
and that will be discussed in this section.
21.5.1 General Troubleshooting
The place to search for the causes of the non-convergence problem is in the PowerFactory output
window. Here, there can be three different types of messages printed out, which are the following:
Info messages (green/blue):
DIgSILENT PowerFactory 15, User Manual 435
CHAPTER 21. LOAD FLOW ANALYSIS
Information detailing the load ow convergence (inner and outer loop iterations). Information of
generators with reactive power compensation at output limit. Information on the total number of
isolated areas (see 21.5.3).
Warning messages (dark red):
Warning messages do not need to be corrected for the load ow to solve, however they could
give you an indication of where the problem is. Take note of the warning messages and evaluate
them in terms of your system. Important warnings, such as Exceeding Mvar limit range" may not
be acceptable. Unsupplied Areas" messages indicate that an isolated area with Consumers"
(such as loads and motors) is without a generator, power source or external supply.
Error messages (red):
Error messages must be corrected for a load ow to solve. Error messages could be generated
by PowerFactory s data checking function, which include messages such as DIgSI/err - missing
type! In most cases the messages have links to the data base and graphic. The following options
can be performed in order to trace errors:
Use the data-verication tool ( ).
Once errors have been detected, open the problematic element dialogue window by double click-
ing on the name directly from the output window. Or alternatively, right click mouse button over
the name and select edit, or edit and browse, or mark in graphic.
The amount of information being printed to the PowerFactory output window can be changed by the
user. Once error messages have been analyzed and corrected and the load ow still does not solve,
the user may want to print more detailed information on the convergence progress.
Tick the Show Convergence Progress Report option found in the Outputs page of the load ow dialogue
(refer to Section 40.4.2).
This will print messages to the output window that can provide clues as to where the convergence
problems may lie.
The single line graphic can also be coloured to show low and high voltages and overloadings. This will
also provide a good indication of possible problems. Look at the undervoltage nodes and overloaded
elements and investigate why they are overloaded; look at load setpoints, line lengths and line type data
(the impedances may be too high, for example).
Note: As explained above, there are 3 different types of messages that are printed to the output win-
dow: warning, error and information messages. Only error messages must be corrected for a load
ow 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 ow to solve. Unsupplied Areas" means
that an isolated area with Consumers" is without a generator, power source or external supply.
If there is still no convergence then set the option Out of Service for most of the elements (see each
elements Basic Data tab). Following this, bring these elements back into service, one at a time, from
the source element downwards, performing a load ow calculation each time.
When experiencing large unbalances, such as when there are a number of single or dual phase ele-
ments, or when using power electronics elements, select the Newton-Raphson (Current Iteration) option
on the Advanced page of the load ow dialogue.
21.5.2 Data Model Problem
In PowerFactory , there are three different levels of data verication implemented:
436 DIgSILENT PowerFactory 15, User Manual
21.5. TROUBLESHOOTING LOAD FLOW CALCULATION PROBLEMS
Parameter Level:
Checks the consistency of the input parameter; for example, entering a negative value in the
length of the line will prompt an error message. Other verications implemented include checking
if the parameter imputed is within certain limits.
Object Level:
Checks the consistency of the data being imputed from the component itself; for example, check-
ing if the magnetizing losses of a transformers are less that the total magnetizing apparent power
(i.e. magnetizing current), checking if the inputting of the manufactures data results in a feasible
torque-slip characteristic, etc.
System Level:
Checks the consistency of the data being imputed from a system point of view; for example,
checking if lines/cables are connected between the same voltage levels, checking if the HV/MV/LV
side of transformers is compatible with the voltage level of busbars, checking if there are missing
types, etc.
Data model problems can normally be xed easily as the output window message refers directly to the
element causing the problem.
Typical cases of data model problems are:
DIgSI/err - missing type!:
It indicates that input data (electrical data dened in types) is missing. In most cases the mes-
sages have links to the data base and graphic.
DIgSI/err - Check control conditions!:
It normally appears when more than one controller (for example a station controller) is set to
control the same element, such as the same busbar. PowerFactory will print the name of the con-
trolled element to the output window. Starting from the controlled element, access the controllers
to x the problem.
DIgSI/err - Line connected between different voltage levels!
21.5.3 Some Load Flow Calculation Messages
DIgSI/info - Grid split into 182 isolated areas
An isolated area" indicates that a busbar or a group of busbars are not connected to the slack
busbar. An isolated generator or an isolated external grid forms an isolated area. An isolated
area refers basically to nodes. Each isolated area is assigned an index (Parameter name b:ipat
under ElmTerm Basic) and needs a load ow reference (slack) of its own. These busbars can
be found colouring the single line graphic according to isolated grids.
DIgSI/wrng - 2 area(s) are unsupplied
An unsupplied area is an isolated area with Consumers (such as loads and motors) without
a generator, power source or external supply. That is U=0 and I=0. Unsupplied areas belong to
the group of isolated areas. The unsupplied areas can be identied by displaying the following
parameter in the Consumers components (loads, synchronous/asynchronous motors):
r : bus1b : ipat. Gives the Index of the isolated area
r : bus1 : b : imode = 0. Indicates there is no slack in the isolated area therefore indicating its
unsupplied.
DIgSILENT PowerFactory 15, User Manual 437
CHAPTER 21. LOAD FLOW ANALYSIS
r : bus1 : b : imode > 0. Indicates the area is supplied.
DIgSI/err - Outer loop did not converge. Maximum number of iterations reached
Fore some hints on this type of error please refer to Section 21.5.5.
21.5.4 Too many Inner Loop Iterations
Too many inner loop iterations are normally" related to voltage stability (voltage collapse) problems.
For example, a large load causing voltage drops so high that a voltage collapse results. Also very weak
connections resulting from faults or outages may lead to voltage collapse during contingency analysis.
The problem will not only be found in the simulation but would be found in the real world as well!
The main causes leading to a voltage stability problem can be summarized as follows:
Excessive active power demand leading to a high voltage drop.
Lack of reactive power compensation.
Diagnosis and Solution:
The main source of Information is the output window. Enable the Show Convergence Progress
Report option found in the Outputs page of the load-ow dialogue. Analyze the convergence of
the inner loop iterations: check the progress in the load ow error for nodes and model equations:
Are they increasing or decreasing?
If the error is not continuously decreasing, it could be an indication of a voltage stability problem.
Identify the element (load, generator) with high convergence error. Use the Mark in Graphic
option to identify the zone of the network having the problem.
Several possible countermeasures can be undertaken to x the problem:
Use the Iteration Control options on the load ow command (increasing the number of stairs as
the rst option, typically to 3).
Load shedding: disconnect the load identied as responsible for the high convergence error.
Connect additional reactive power compensation.
Using the exible data page, check if there are any heavily loaded circuits, these indicate weak
connections.
Once the load ow converges, check if there are areas with voltages with high deviation from
operating voltages.
Excessive Mismatch
Where there is a large mismatch between demand and generation (> 15%) the load ow is unlikely to
converge. This is typied by a large number of iterations followed by warnings or errors such as:
No convergence in load flow! Equation system could not be solved. Check
Control Conditions!
438 DIgSILENT PowerFactory 15, User Manual
21.5. TROUBLESHOOTING LOAD FLOW CALCULATION PROBLEMS
Depending on the size of the mismatch, the failure might occur during the initial Newton-Raphson or dur-
ing subsequent outer loop iteration. There may also be a large number of maximum/minimum reactive
power reached and transformer tap statements.
Solution:
Set the option Show Convergence Progress Report on the Outputs page and observe which
elements are having the highest mismatches. These elements should be closely checked.
Check the mismatch on the Reference machine by performing a DC load ow as Dispatched
allowing for normal losses. Rebalancing the network might alleviate convergence problems.
21.5.5 Too Many Outer Loop Iterations
Outer loops iterations are required to calculate discrete tap positions of transformers, number of steps
of switchable reactive power compensation, etc. in order to match the voltage prole or reactive power
control specied by the user.
Too many outer loop iterations is referring to a solution that is too far away from the starting point (default
tap positions) to converge in the allowed number of outer loop iterations.
Diagnosis and Solution: The outer-loop does the following:
Increasing/Decreasing discrete taps.
Increasing/Decreasing switchable shunts.
Limiting/Releasing synchronous machines to/from max/min reactive power limits.
If the outer loop does not converge, it can have the following reasons:
Tap upper and lower limits are too close, so that the voltage can never be kept in the desired
range.
The same with switchable shunts.
Other toggling effects, for example synchronous machine limits and tap positions dont nd a
stable solution.
The main source of Information is the output window. Check rst the following:
Is the number of messages reducing with each outer loop iteration?
The following messages in the output windowmay indicate a problemand lead to a non-convergent
solution.
Maximum/minimum tap position reached
DIgSI/pcl - --------------------------------
DIgSI/pcl - $ \ $ .... $\ $Transformer.ElmTr2:
DIgSI/pcl - Maximum Tap Position reached
DIgSI/pcl - --------------------------------
The message indicates that more/less reactive power is required at this location (the tap is at
maximum/minimum position). The message indicates therefore an area in the network where a
lack/excess of reactive power is likely to happen.
DIgSILENT PowerFactory 15, User Manual 439
CHAPTER 21. LOAD FLOW ANALYSIS
Reactive power limit left
DIgSI/pcl - --------------------------------
DIgSI/pcl - $ \ $.... $\ $ Generator.ElmSym:
DIgSI/pcl - Reactive Power Limit left
DIgSI/pcl - --------------------------------
This will lead to a convergence error. A load ow calculation without considering reactive power
limits may nd a solution. Check then required reactive power at the generator.
Maximum/minimum reactive power reached.
DIgSI/pcl - --------------------------------
DIgSI/pcl - $\ $....$ \ $ Generator.ElmSym:
DIgSI/pcl - Maximum Reactive Power Reached
DIgSI/pcl - --------------------------------
Basically means that there is no regulation margin in the specied generators.
In general the results from the last iteration should be available to view on the output window.
Is the mismatch always in the same (or similar) location?
How far away from the solution was the original starting point?
All actions (except for shunt switching) are displayed in the output window by blue messages.
Observing these messages allows to conclude what the reason for the convergence problem
was, for example if a synchronous machine toggles between limited/released, the problem is
related to this particular machine.
If no toggling can be observed, increasing the maximum number of outer iteration loops may help.
If the load ow converges, improve the convergence of subsequent calculations by saving the tap
positions ( ).
If the load ow does not converge after a large number of iterations then other methods of im-
proving convergence are:
Use the direct method on the advanced options page of the load ow command.
Set the maximum tap changes per iteration to be a small number, for example 1. This will result
in PowerFactory not changing all tap changers at once by several steps but only by maximum of 1
step at once. In larger networks this is often improving the convergence.
Perform a load ow without automatic taps and shunt adjustment. If the load ow does not con-
verge in this case, it could be an indication that the load is exceeding the voltage stability limits,
thus the load is too high.
Tap Hunting
Tap hunting can be easily recognised when one or more transformers oscillate between tap positions
until the number of outer loop iterations is exhausted. This is normally due to the transformer (controller)
target voltage dead band being smaller than the transformer tap step size.
The messages below indicate an example of a single transformer Tap-Hunting:
440 DIgSILENT PowerFactory 15, User Manual
21.6. LOAD FLOW SENSITIVITIES
Figure 21.5.1
This problem of no converging load-ow with the stepped tap changing method is caused by a slightly
different way of the iteration to reach the correct tap position and load-ow results. This might result in
a non-convergence in the outer loop, when the controller range (Vmax-Vmin) of the tap changer is near
to the value of the additional voltage per tap.
Solution:
Change the minimum relaxation factor on the Advanced Options page of the load ow command
to a smaller value. This might help the load ow to converge.
Check if the dead bands of the target or controlled busbars of the corresponding transformers are
correctly set. Also check if the tap changer data on the load ow page of the transformer type is
correct.
Disable the automatic tap changing of the transformers where tap hunting occur. Run the load
ow (it should converge in this case!) and then check the sensitivity of the tap changer increasing
and decreasing the tap position by one step. Verify the results against the dead band of the target
busbar.
21.6 Load Flow Sensitivities
PowerFactorys Load Flow Sensitivities (ComVstab) command is shown in Figure 21.6.1. This com-
mand performs a voltage sensitivity analysis based on the linearization of the system around the oper-
ational point resulting from a load ow calculation (as explained in Section 21.6.3).
The ComVstab command is accessible by the following means:
clicking on the Change Toolbox icon ( )and selecting Additional Tools and then clicking on the
ComVstab icon ( ); or
right-clicking on a busbar/terminal or transformer and selecting Calculate Load Flow Sensitiv-
ities... . 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.
DIgSILENT PowerFactory 15, User Manual 441
CHAPTER 21. LOAD FLOW ANALYSIS
Figure 21.6.1: Load Flow Sensitivities Command (ComVstab) Dialogue
21.6.1 Load Flow Sensitivities Options
The options available for the Load Flow Sensitivities command (Figure 21.6.1) are:
Initialization
Load Flow:
Displays which load ow command will be used to initialize the sensitivity analysis. If no load ow
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 ow
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 (ef-
fect 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 sensitivi-
ties (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 /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:
442 DIgSILENT PowerFactory 15, User Manual
21.6. LOAD FLOW SENSITIVITIES
This option evaluates the effect of changing the tap position of a selected transformer in the
network. The sensitivities dP/dtap [MW/tapstep], dQ/dtap [Mvar/tapstep] for branches, and
dphi/dtap [deg/tapstep], dv/dtap [p.u./tapstep] for buses are calculated. The target transformer
can be selected using the Transformer button ( ) located at the bottom of the dialogue. Alterna-
tively, 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 Sec-
tion 21.6.3. The number of eigenvalues to be calculated is dened in the Number of Eigenvalues
eld 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 ac-
cording to magnitude (note that the larger the number of desired eigenvalues, the longer the
calculation will take). In the Display Results for Mode eld, the user can specify the number of
a specic eigenvalue, for which the stability behaviour (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
specied (see Section 21.6.3 for further technical background).
21.6.2 Load Flow Sensitivities Execution and Results
When the ComVstab command has been congured 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.
Upon completion of the sensitivity factor calculation, the following message appears in the output win-
dow:
DIgSI/info - Load Flow Sensitivities calculated!
The calculated results can be displayed via the Flexible Data Page (see Section 10.6) by selecting the
sensitivities from the load ow variables (Variable Set: Current, Voltages and Powers). The names of
the variables correspond to the calculated derivations, i. e. the result of the expression (
i
/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.
21.6.3 Technical Background
PowerFactory s Load Flow Sensitivities function (ComVstab) performs a static voltage stability calcula-
tion as described below.
Linearizing the load ow equations around the actual operating point leads to the following equation
system:
_
J
P
J
Pv
J
Q
J
Pv
_ _

v
_
=
_
P
Q
_
(21.21)
The equation system in (21.21) shows that changes in the voltage magnitude and angle due to small
changes in the active and reactive power can be directly calculated from the load ow Jacobian matrix.
For example if P is set to 0, the sensitivities of the type dv/dQ are calculated from (21.21) according
to:
DIgSILENT PowerFactory 15, User Manual 443
CHAPTER 21. LOAD FLOW ANALYSIS
v =

J
1
Qv
Q = S
vQ
Q (21.22)
where:

J
Qv
= J
Q
J
1
P
J
Pv
+J
Qv
(21.23)
As can be seen from (21.22), the variation of voltage magnitude at each busbar can be described by a
linear combination of small reactive power variations according to:
v
i
= S
i1
Q
1
+ +S
in
Q
n
(21.24)
In this case the diagonal elements S
i1
of S represent the voltage variation at bus i due to a variation
of reactive power at the same point. The non-diagonal elements S
ij
describe the voltage variation at
busbar i due to the variation in reactive power at a different point on the network.
Positive dv/dQ sensitivity indicates stable operation. High sensitivity means that even small changes in
reactive power cause large changes in the voltage magnitude; therefore the more stable the system,
the lower the sensitivity (high voltage sensitivities are indicative of weak areas of the network).
Note: Recall that in HV networks branches are predominantly reactive. Voltage magnitudes depend
primarily on reactive power ows 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 ow, 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 (21.22) the dV/dQ sensitivity can be expressed as an uncoupled
system of the form:
v = T
1
S
vQ
T

Q =

S
vQ

Q (21.25)
where:
v = T v and Q = T

Q (21.26)
In (21.25),

S
vQ
is a diagonal matrix whose elements correspond to the eigenvalues of the sensitivity
matrix, S
vQ
, from (21.22). Therefore, the voltage variation at each mode depends only on the reactive
power variation at the same mode:
v
i
=
i

Q
i
(21.27)
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 (21.25), T = [1 . . . n] corresponds to the matrix of right eigenvectors of S
vQ
, while T
1
corresponds
to the left eigenvectors matrix:
444 DIgSILENT PowerFactory 15, User Manual
21.6. LOAD FLOW SENSITIVITIES
T
1
=
_

T
1

T
n
_

_
(21.28)
The participation factor of bus k to mode i is dened by the product of the kth component of the left and
right eigenvector of mode i:
P
ik
=
ik

ik
(21.29)
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 inuence the variation of active power on a node has on a voltage mode.
DIgSILENT PowerFactory 15, User Manual 445
CHAPTER 21. LOAD FLOW ANALYSIS
446 DIgSILENT PowerFactory 15, User Manual
Chapter 22
Short-Circuit Analysis
22.1 Introduction
Power systems as well as industrial systems are designed so that loads are supplied safely and reliably.
One of the major aspects taken into account in the design and operation of electrical systems is the
adequate handling of short-circuits. Although systems are designed to stay as free from short circuits
as possible, they can still occur. A short-circuit condition generally causes large uncontrollable current
ows, which if not properly detected and handled can result in equipment damage, the interruption of
large areas (instead of only the faulted section) as well as placing personnel at risk. A well-designed
system should therefore isolate the short-circuit safely with minimal equipment damage and system
interruption. Typical causes of short-circuits can be the following:
Lightning discharge in exposed equipment such as transmission lines.
Premature ageing of the insulation due mainly to permanent overloading, inappropriate ventilation,
etc.
Atmospheric or industrial salt Build-Up" in isolators.
Equipment failure.
Inappropriate system operation.
One of the many applications of a short-circuit calculation is to check the ratings of network equipment
during the planning stage. In this case, the planner is interested in obtaining the maximum expected
currents (in order to dimension equipment properly) and the minimum expected currents (to aid the
design of the protection scheme). Short-circuit calculations performed at the planning stage commonly
use calculation methods that require less detailed network modelling (such as methods which do not
require load information) and which will apply extreme-case estimations. Examples of these methods
include the IEC 60909/VDE 0102 method [11], the ANSI method and the IEC 61363 method [9] for AC
short circuit calculation and the IEC 61660 method [8] and ANSI/IEEE 946 method [5] for DC short
circuit calculation. A different eld of application is the precise evaluation of the fault current in a specic
situation, such as to nd out whether the malfunction of a protection device was due to a relay failure or
due to the consequence of improper settings (for example an operational error). These are the typical
applications of exact methods such as the superposition method (also known as the Complete Method),
which is based on a specic network operating point.
The short-circuit calculation in PowerFactory is able to simulate single faults as well as multiple faults
of almost unlimited complexity. As short-circuit calculations can be used for a variety of purposes,
PowerFactory supports different representations and calculation methods for the analysis of short-circuit
currents.
DIgSILENT PowerFactory 15, User Manual 447
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
This chapter presents the handling of the short-circuit calculation methods as implemented in Power-
Factory. Further background on this topic can be found in Section 22.2.
22.2 Technical Background
Beside load ow calculations, short-circuit is one of the most frequently performed calculations when
dealing with electrical networks. It is used both in system planning and system operation.
Typical application examples of short-circuit analysis in system planning include:
Ensuring that the dened short-circuit capacity of equipment is not exceeded with system expan-
sion and system strengthening.
Co-ordination of protective equipment (fuses, over-current and distance relays).
Dimensioning of earth grounding systems.
Verication of sufcient fault level capacities at load points (e.g. uneven loads such as arc fur-
naces, thyristor-driven variable speed drives or dispersed generation).
Verication of admissible thermal limits of cables and transmission lines.
Example applications of short-circuit analysis in system operation include:
Ensuring that short-circuit limits are not exceeded with system reconguration.
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.
AC short circuit calculation quantities available in PowerFactory are shown in Figure 22.2.1, also a
graphical representation of the AC short-circuit current time function is illustrated in Figure 22.2.2. Note
that the quantities relating to the IEC 61363 standard [9] and DC short-circuit quantities calculated in
DC short circuit standards IEC 61660 and ANSI/IEEE 946 are not shown in Figure 22.2.1.
Note: The current waveform for a DC short circuit calculation is dependent on the type of DC current
source(s), for more information please refer to Section 22.2.5 and Section 22.2.6 and the relevant
IEC and ANSI/IEEE standards.
448 DIgSILENT PowerFactory 15, User Manual
22.2. TECHNICAL BACKGROUND
Figure 22.2.1: Areas of Application of Short-Circuit Calculations
According to IEC 60909 [11] the denition of the currents and multiplication factors shown in Fig-
ure 22.2.1 are as follows:
Ikks initial symmetrical short-circuit current (RMS),
i
p
peak short-circuit current (instantaneous value),
I
b
symmetrical short-circuit breaking current (RMS),
I
th
thermal equivalent short-circuit current (RMS),
factor for the calculation of the peak short-circuit current,
factor for the calculation of the symmetrical short-circuit breaking current,
m factor for the heat effect of the d.c. component,
n factor for the heat effect of the a.c. component, besides the above currents, the Complete
Method introduces the following current denition:
i
b
peak short-circuit breaking current (instantaneous value).
DIgSILENT PowerFactory 15, User Manual 449
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.2.2: Short-Circuit Current Time Function
The fundamental difference between the assumptions used by the calculation methods is that for sys-
tem planning studies the system operating conditions are not yet known, and therefore estimations are
necessary. To this end, the IEC (and VDE) methods which use an equivalent voltage source at the fault
location have become generally accepted in countries using IEC based standards. For AC fault calcula-
tion, the IEC 60909 [11] (and VDE 0102) methods work independently of the load ow (operating point)
of a system. The methods are 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 results. For
the calculation of minimum and maximum short-circuit currents, different correction factors are applied.
However, it should be mentioned that both IEC 60909 and VDE 0102 do not deal with single phase
elements (except single phase elements in the neutral conductor).
Another very similar method for AC fault calculation is the ANSI method, predominately used in North
America but accepted in other countries as well. The ANSI method is based on the IEEE Standards
C37.010 [1] which is for equipment applied in medium and high voltage systems (greater than 1000
Volts) and C37.13 [4] which is for power circuit breakers in low voltage systems (less than 1000 Volts).
Other short circuit calculation methods available in PowerFactory include:
IEC 61363 [9]: Calculation of short-circuit currents on marine or offshore electrical systems such
as ships.
IEC 61660 [8]: IEC standard for the calculation of short-circuit currents in DC auxiliary systems in
power plants and substations.
ANSI/IEEE 946 [5]: ANSI/IEEE standard for the calculation of short-circuit currents in DC auxiliary
systems in power plants and substations.
For AC and DC short-circuit calculations in a systemoperation environment, the exact network operating
conditions are well-known. If the accuracy of the calculation according to approximation methods such
as IEC 60909 [11] is insufcient - or to verify the results of these methods - the superposition method
can be used. The superposition method calculates the expected short-circuit currents in the network
based on the existing network operating condition. If the system models are correct, the results from
this method are always more exact than the results of the approximation method (such as IEC 60909).
Often the system analyst must, however, ensure that the most unfavourable conditions are considered
with respect to the sizing of plant. This may require extensive studies when using a superposition
calculation method.
450 DIgSILENT PowerFactory 15, User Manual
22.2. TECHNICAL BACKGROUND
22.2.1 The IEC 60909/VDE 0102 Method
The IEC 60909/VDE 0102 [11] method uses an equivalent voltage source at the faulted bus and is a
simplication of the superposition method (Complete Method). It is illustrated in Figure 22.2.3. The goal
of this method is to accomplish a close-to-reality short-circuit calculation without the need for the pre-
ceding load-ow calculation and the associated denition of actual operating conditions. Figure 22.2.3
illustrates how the equivalent voltage source method can be derived from the superposition method.
The main simplications 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 simplied 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 volt-
age 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 simplications may be insufcient for some practical ap-
plications. 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 [11] and VDE 0102 do not deal with single phase elements (expect single
phase elements in the neutral conductor).
DIgSILENT PowerFactory 15, User Manual 451
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.2.3: Illustration of the IEC 60909/VDE 0102(shcgraec.gif) Method
As illustrated in Figure 22.2.1, IEC 60909 requires the calculation of the initial symmetrical short circuit
current in order to derive the rest of the physical quantities, each of which is a function of the following:
R/X ratio,
Machine characteristics
Synchronous generator type of excitation system,
Contact parting time,
Type of network (if its radial or meshed),
Determination if the contribution is near to" or far from" the short-circuit location,
Regarding the type of network, IEC 60909 describes three methods for the calculation of (peak short-
circuit current) in meshed networks which are dened as follows:
Method A: Uniform Ratio R/X The factor is determined based on the smallest ratio of R/X of
all the branches contributing to the short-circuit current.
Method B: Ratio R/X at the Short-Circuit Location For this method the factor is multiplied by
1.5 to cover inaccuracies caused by using the ratio R/X from a network reduction with complex
impedances.
452 DIgSILENT PowerFactory 15, User Manual
22.2. TECHNICAL BACKGROUND
Method C: Equivalent Frequency An equivalent impedance Z
c
of the system as seen from
the short-circuit location is calculated assuming a frequency f
c
= 20Hz (for a nominal frequency
f
c
= 50Hz) or f
c
= 24Hz (for a nominal frequency f
c
= 60Hz). This is the recommended Method
in meshed networks.
Note: In PowerFactory methods B and C are available to the user. Method C is the one recommended
in meshed networks. For more information please refer to Section 22.4.4
IEC Impedance Correction Factors
The IEC 60909 method uses only the rated parameters of network elements. This is advantageous in
that only little information is necessary to perform a short-circuit calculation. However, 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 correction factor (< 1).
This idea is illustrated in Figure 22.2.4. The correction factor c should be determined so that I

k
=
I

k,IEC
. The IEC 60909 standard denes an equation for the correction factor for each element type.
Figure 22.2.4: Principle of Impedance Correction (IEC/VDE Method)
As the IEC 60909 standard includes a worst-case estimation for minimum and maximum short-circuit
currents, some PowerFactory elements require additional data. These elements are:
Lines In their type, the maximum admissible conductor temperature (for minimum short-circuit currents)
must be stated (Figure 22.2.5). Line capacitances are not considered in the positive/negative sequence
systems, but must be used in the zero-sequence system.
Figure 22.2.5: Maximum End Temperature Denition in the Line Type (TypLne)
DIgSILENT PowerFactory 15, User Manual 453
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Transformers Require a ag indicating whether they are unit or network transformers as shown in
Figure 22.2.6. 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 (Figure 22.2.7).
Figure 22.2.6: Unit Transformer Denition in the Transformer Element (ElmTr2)
Figure 22.2.7: On-Load Tap Changer Denition in the Transformer Type (TypTr2)
Synchronous Machines Subtransient impedances are used. Additionally, information regarding the
voltage range must be given as seen in Figure 22.2.8
454 DIgSILENT PowerFactory 15, User Manual
22.2. TECHNICAL BACKGROUND
Figure 22.2.8: Voltage Range Denition in the Synchronous Machine Element (ElmSym)
Asynchronous Machines The ratio of starting current to rated current is used to determine the short-
circuit impedance (Figure 22.2.9)
Figure 22.2.9: Locked Rotor Current Denition in the Asynchronous Machine Type (ElmAsymo)
Please refer to the IEC 60909 standard to nd detailed information regarding specic equipment models
and correction factors for each element.
22.2.2 The ANSI Method
ANSI provides the procedures for calculating short-circuit currents in the following standards:
ANSI/IEEE Standard C37.010 [1], IEEE Application Guide for AC High-Voltage Circuit Breakers
Rated on a Symmetrical Current Basis.
ANSI/IEEE Standard C37.13 [4] , IEEE Standard for Low-Voltage AC Power Circuit Breakers
Used in Enclosures.
ANSI/IEEE Standard 141 [6], IEEE Recommended Practice for Electric Power Distribution of
Industrial Plants (IEEE Red Book).
ANSI/IEEE Standard C37.5 [2], IEEE Application Guide for AC High-Voltage Circuit Breakers
Rated on a Total Current Basis. (Standard withdrawn).
DIgSILENT PowerFactory 15, User Manual 455
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
ANSI C37.010 details the procedure for equipment applied in medium and high voltage systems con-
sidering a classication of the generators as either local" or remote" depending on the location of
the fault, as well as taking into account motor contribution. The procedure also covers rst cycle and
interrupting time currents, with emphasis on interrupting time currents.
ANSI C37.13 details the procedure for power circuit breakers applied in low voltage systems (less than
1000 Volts), while mainly focusing on rst-cycle currents, impedance of motors and the fault point X/R
ratio. Typically, fuses and low voltage circuit breakers begin to interrupt in the rst half cycle so no
special treatment for interruptive current is given. It could be the case however, that nevertheless the
equipment test include a dc component specication.
Due to the differences in the high and low voltage standards, it would be understandable to say that
two rst-cycle calculations are required. The rst calculation would be for high voltage busbars and a
second calculation would be for low-voltage busbars.
In IEEE/ANSI Standard 141-1993 [6] (Red Book) a procedure for the combination of rst cycle network is
detailed. There is stated that in order to simplify comprehensive industrial system calculations, a single
combination rst-cycle network is recommended to replace the two different networks (high/medium-
voltage and low voltage). This resulting combined network is then based on the interpretation of the
ANSI C37.010 [1], ANSI C37.13 [4] and ANSI C37.5 [2] there given.
Total and Symmetrical Current Rating Basis of Circuit Breakers and Fuses according to ANSI
Standards
Depending on the circuit breaker year of construction different ratings are specied. High-voltage circuit
breakers designed before 1964 were rated on Total" current rating while now a days high-voltage circuit
breakers are rated on a Symmetrical" current basis. The difference between these two denitions is on
how the asymmetry is taken into account. While a Total" current basis takes into account the ac and
dc decay, Symmetrical" current basis takes into account only the ac decay. To explain further these
denitions please refer to Figure 22.2.10.
Figure 22.2.10: Asymmetrical Short-Circuit Current
The DC component DC" is calculated according to the following equation:
DC =
P1 P2
2
(22.1)
The RMS value of the ac component (RMS) is then calculated as:
456 DIgSILENT PowerFactory 15, User Manual
22.2. TECHNICAL BACKGROUND
RMS =
P1 +P2
2.828
(22.2)
The total interrupting current in RMS is then:
Tot =

DC
2
+RMS
2
(22.3)
From the above, Equation (22.2) corresponds to the Symmetrical" current calculation and Equation
(22.3) to the Total" current calculation. Some of the main ANSI guidelines for the calculation of short-
circuit currents are the following:
The pre-fault busbar voltage is assumed to be nominal (1.0 p.u.).
The fault point X/R ratio is calculated based on a separate resistance network reduction which is
latter used to calculate the peak and total asymmetrical fault current.
Depending on the location of the fault, the generator currents being fed to the short circuit are
classied as local" or remote". A remote source is treated as having only a dc decay, while a local
source is treated as having a dc and ac decay. Depending on this classication, corresponding
curves are used in order to obtain the multiplication factors.
According to ANSI standard, the following short-circuit currents are calculated:
I
symm
symmetrical momentary (rst cycle) short-circuit current (RMS),
I
symi
symmetrical interrupting short-circuit current (RMS),
I
16asymm
asymmetrical momentary (Close and Latch - Duty) short-circuit current (RMS). Obtained
by applying a 1.6 factor to I
symm
I
27peakm
peak short-circuit current (instantaneous value). Obtained by applying a 2.7 factor to
I
symm
,
I
asymm
asymmetrical momentary (Close and Latch - Duty) short-circuit current(RMS). Obtained
by applying a factor to I
sym
m
according to the calculated X/R ratio,
I
peak
m
peak short-circuit current (instantaneous value). Obtained by applying a factor to I
sym
m
,
according to the calculated X/R ratio.
22.2.3 The Complete Method
The complete method (sometimes also known as the superposition method) is, in terms of system
modelling, an accurate calculation method. The fault currents of the short-circuit are determined by
overlaying a healthy load-ow condition before short-circuit inception with a condition where all voltage
supplies are set to zero and the negative operating voltage is connected at the fault location. The
procedure is shown in Figure 22.2.11. The initial point is the operating condition of the system before
short-circuit inception (see Figure 22.2.11a). This condition represents the excitation conditions of the
generators, the tap positions of regulated transformers and the breaker/switching status reecting the
operational variation.
From these pre-fault conditions the pre-fault voltage of the faulted busbar can be calculated. For the
pure fault condition the system condition is calculated for the situation where, the 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 22.2.11b). Since network impedances are assumed to be linear, the system
condition after fault inception can be determined by overlaying (complex adding) both the pre-fault and
pure fault conditions (see Figure 22.2.11c).
DIgSILENT PowerFactory 15, User Manual 457
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.2.11: Illustration of the Complete Method
The Complete Methodfor calculating short-circuits has been improved in PowerFactory Version 14 as
described below. Additionally, the quantities described below are shown in Figure 22.2.1.
A more precise Peak Short-Circuit Current i
p
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[11]);
The Short-Circuit Breaking Current I
b
(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 i
b
is calculated from the RMS short-circuit breaking cur-
rent I
b
and the decaying d.c. component;
The Thermal Equivalent Short-Circuit Current I
th
is calculated based on the IEC standard, using
the m and n factors (see Figure 22.2.1). The n-factor calculation uses the transient current instead
of the steady-state current;
Additionally, loads can have a contribution to the short-circuit current, which can be dened in the
load element (Fault Contribution section of Complete Short-Circuit tab).
458 DIgSILENT PowerFactory 15, User Manual
22.2. TECHNICAL BACKGROUND
22.2.4 The IEC 61363 Method
The IEC 61363 standard [9]describes procedures for calculating short-circuit currents in three-phase
AC radial electrical installations on ships and on mobile and xed offshore units.
The IEC 61363 standard [9]denes only calculation methods for three phase (to earth) short circuits.
Typically marine/offshore electrical systems are operated with the neutral point isolated from the hull
or connected to it through an impedance. In such systems, the highest value of short-circuit current
would correspond to a three phase short circuit. If the neutral point is directly connected to the hull,
then the line-to-line, or line-to ships hull short-circuit may produce a higher current. Two basic system
calculation approaches can be taken, time dependent" and non-time dependent".
According to the IEC 61363 standard [9], PowerFactory calculates an equivalent machine that feeds di-
rectly into the short circuit location. This machine summarizes all active" and non-active" components
of the grid.
The short-circuit procedure in IEC 61363 [9] calculate the upper envelope (amplitude) of the maximum
value of the time dependent short-circuit (see Figure 22.2.2). The envelope is calculated using particular
machine characteristics parameters obtainable from equipment manufacturers using recognized testing
methods, and applying the following assumptions:
All system capacitances are neglected.
At the start of the short-circuit, the instantaneous value of voltage in one phase at the fault point
is zero.
During the short-circuit, there is no change in the short-circuit current path.
The short-circuit arc impedance is neglected.
Transformers are set at the main tap position.
The short-circuit occurs simultaneously in all phases.
For generator connected in parallel, all generators share their active and reactive load proportion-
ally at the start of or during the short-circuit.
During each discrete time interval, all circuits components react linearly.
The exact guidelines on how this is achieved is specied in the standard.
Because the standard considers specic system components and models (active" and non-active")
some of the models that can be used in PowerFactory will have no description according to the stan-
dard (such as External Grids, Voltage Sources, Static Generators, etc.). How these elements are
considered and transformed to a replacement equivalent machine is described in the corresponding
Technical Reference (appendix C).
According to this method, the following short-circuit values are calculated:
I
k
initial symmetrical short-circuit current,
upper envelope of short-circuit current I
k
(t) ,
i
dc
(t) decaying (aperiodic) component of short-circuit current,
i
p
peak short-circuit current,
I
k
steady-state short-circuit current.
DIgSILENT PowerFactory 15, User Manual 459
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The calculating formulae and methods described produce sufciently accurate results to calculate the
short-circuit current during the rst 100 ms of a fault condition. It is assumed in the standard that during
that short time the control of the generators has no signicant inuence on the short circuit values. The
method can be used also to calculate the short-circuit current for periods longer than 100 ms when
calculating on a bus system to which the generators are directly connected. For time periods beyond
100 ms the controlling effects of the system voltage regulators may be predominant. Calculations
including the voltage regulator effects are not considered in this standard.
In PowerFactory besides the standard IEC 61363 [9] method, an EMT simulation method is available
which considers also the rst 100 ms of a three phase short-circuit.
22.2.5 The IEC 61660 (DC) Method
The IEC 61660 standard [8] describes a detailed method for calculating short-circuit currents in DC
auxiliary systems in power plants and substations. The standard details considerations for voltages up
to 250 VDC. Such systems can be equipped with the following equipment, acting as short-circuit current
sources:
rectiers in three-phase AC bridge connection.
stationary lead-acid batteries.
smoothing capacitors.
DC motors with independent excitation.
The IEC 61660 standard [8] denes equations and equivalent circuits which approximate the time-
dependent fault contribution of different DC current sources. The standard also denes correction fac-
tors and approximation methods to determine the total DC short circuit current at the point of fault. A
graphical representation of the DC short-circuit current time function of different DC sources is illustrated
in Figure 22.2.12.
460 DIgSILENT PowerFactory 15, User Manual
22.2. TECHNICAL BACKGROUND
Figure 22.2.12: DC Short-Circuit Current Time Function of different sources
In accordance with standard IEC 61660 [8], PowerFactory calculates the total DC fault current by con-
sidering all of the DC current sources feeding in to the short circuit location. How different elements
are considered and modelled is described in the corresponding Technical Reference (appendix C).
Figure 22.2.13 shows the IEC 61660 standard approximation function which covers the different short
circuit current variations. The equations which describe the function are detailed in IEC 61660.
Figure 22.2.13: IEC 61660 standard DC short-circuit approximation function
DIgSILENT PowerFactory 15, User Manual 461
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
According to the IEC 61660 method, the following short-circuit values are calculated:
i
p
peak short-circuit current
I
k
quasi steady-state short-circuit current
t
p
time to peak

r
rise-time constant

d
decay-time constant
T
k
fault clearing time
22.2.6 The ANSI/IEEE 946 (DC) Method
The IEEE 946 standard [5] describes a recommended practice for the design of DC auxiliary power
systems for nuclear and non-nuclear power stations. The standard provides guidance on the selection
of equipment including ratings, interconnections, instrumentation, control and protection.
The IEEE 946 standard [5], is closely linked to General Electrics Industrial Power Systems Data Book
[16]. The IEEE 946 standard includes examples for the calculation of short-circuit contribution from a
battery and a battery charger, whilst the GE Industrial Power Systems Data Book includes a methodol-
ogy for calculation of the DC fault contribution of Batteries, DC machines and Rectiers. The DC short
circuit calculation in PowerFactory is in accordance with the approach taken in the IEEE standard and
the GE Industrial Power Systems Data Book. How different elements are specically considered and
modelled is described in the corresponding Technical Reference (appendix C).
According to the IEEE 946 method, the following short-circuit values are calculated:
i
p
peak short-circuit current
I
k
quasi steady-state short-circuit current
T
n
network time constant
RR rate of rise of short-circuit current
22.3 Executing Short-Circuit Calculations
There are different methods of initiating the short-circuit calculation command ComShc in PowerFac-
tory , which may result in a different conguration of the command. These methods are described in
Sections 22.3.1 and 22.3.2.
22.3.1 Toolbar/Main Menu Execution
The short-circuit command may be executed from the toolbar or main menu in PowerFactory as follows:
By pressing the icon on the main toolbar; or
By selecting the Calculation Short-Circuit ... option from the main menu.
462 DIgSILENT PowerFactory 15, User Manual
22.3. EXECUTING SHORT-CIRCUIT CALCULATIONS
If the user is performing the short-circuit for the rst time (by using one of the above options), the short-
circuit command will be congured in a certain manner by default; that is the command will be set by
default to execute a short-circuit calculation on all busbars/terminals in the network. If a short-circuit
calculation has been already performed (the command exists in the study case) the settings displayed by
the short-circuit command will be according to the most recent short-circuit calculation. As an example,
if the user performs a short-circuit calculation according to ANSI for only one busbar in the system, the
next time the user executes again the short-circuit, the command will have the most recent settings, that
is, in this case according to ANSI and for the specied busbar.
22.3.2 Context-Sensitive Menu Execution
The short-circuit command may be executed from the context-sensitive menu in PowerFactory by se-
lecting 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

Ssimultaneous short-circuit of all elements selected by the user. Any combination of bus-
bars, 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.
22.3.3 Faults on Busbars/Terminals
The short-circuit command should rst be called using one of the methods described in Sections 22.3.1
and 22.3.2. The simplest way to calculate several busbar/terminal short-circuits individually and to then
combine the results into one diagram is to select the option All Busbars (or alternatively, Busbars and
Junction/Internal Nodes) in the Fault Location section of the Short-Circuit Calculation ComShc dialogue,
as displayed in Figure 22.3.1. Note that to access this option, Multiple Faults in the dialogue must be
un-selected.
Figure 22.3.1: Short-Circuit Calculation Command ComShc Dialogue: Faults at All Busbars
If the user would instead like to select from the single-line diagram a single busbar/terminal, or multi-
select several busbars/terminals for calculation, the dialogue will be congured 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.
DIgSILENT PowerFactory 15, User Manual 463
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
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/ter-
minals.
In either case, various options for the calculation can be modied. Please refer to Section 22.4 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 Lo-
cation section under User Selection.
22.3.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:
From the single-line diagram, select a single line or a single branch where the fault should be
calculated.
Right-click on the element and select Calculation Short-Circuit .... The short-circuit command
ComShc dialogue opens and the user can then dene the location of the fault relative to the ele-
ments length (see Figure 22.3.2), 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 dened as a percentage or as an absolute value.
464 DIgSILENT PowerFactory 15, User Manual
22.3. EXECUTING SHORT-CIRCUIT CALCULATIONS
Figure 22.3.2: Conguration of Line/Branch Faults in ComShc Dialogue
When a fault on a line/branch is calculated, a box containing the calculation results is displayed next to
the selected element.
22.3.5 Multiple Faults Calculation
Multiple faults involve the simultaneous occurrence of more than one fault condition in a network. This
option is only available for the complete method. To calculate simultaneous multiple faults, proceed as
follows:
Select two or more elements (i.e. busbars/terminals, lines, ...) and right-click.
Select the option Calculate Multiple Faults. The Short-Circuits dialogue pops up, displaying
the short-circuit event list. A 3-phase fault is assumed by default at all locations in the event list.
Click OK. The Short-Circuit command dialogue then pops up. In this dialogue, the Multiple Faults
option is ticked in combination with the complete short-circuit method.
Finally, press Execute to start the calculation.
In cases where the event list has to be adapted to reect the intended fault conditions (that is, not
necessarily the calculation of 3-phase faults), please proceed as follows:
Open the short-circuit events object using one of the following methods:
In the Fault Location section of the short-circuit ComShc dialogue, press the Show button
(see Figure 22.3.3; or
Press the icon located on the main tool bar (just besides the short-circuit command but-
ton); or
In a Data Manager window, open the IntEvtshc object from the current study case, also
denoted by the icon.
DIgSILENT PowerFactory 15, User Manual 465
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.3.3: Accessing the Short-Circuit Events List
A window opens up which shows the list of events (that is short-circuits at the selected locations).
When double-clicking on one entry in this list (double-clicking on the entire row), a window with a
description of the event is opened.
The short-circuit event settings can now be modied. The list of fault locations consists of a Short-
Circuit Event List"(IntEvtshc) object, which holds one or more short-circuit events (EvtShc). Each
of these events has a reference to a fault location (a busbar/terminal, line, etc.) and displays a
short description of the fault type. An example is shown in Figure 22.3.4.
The user could add more fault locations to the Short-Circuit Event List" (IntEvtshc) object by right
clicking on addition elements in the single line diagram Add to.. Multiple Faults.
466 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
Figure 22.3.4: A Short-Circuit Event (EvtShc)
Note: To re-use the event list (IntEvtshc) later, this object can be copied to a user-dened folder in the
Data Manager. This will prevent it from being modied during future calculations. When repeating
the calculation with the same conguration, the reference in Calculate Multiple Faults can be
set to this object. The other option would be to copy the events to the Fault Cases folder located
in the

TOperational Library/Faults

T folder of the project. The user would then need to press the
From Library button (22.3.3).
22.4 Short-Circuit Calculation Options
The following sections describe the options available in PowerFactorys short-circuit calculation com-
mand. Some of these options are dependent upon the selected calculation method, therefore separate
sections dedicated to each method are presented.
22.4.1 Basic Options (All Methods)
The options presented in this section are common to all implemented calculation methods and are used
to dene the general settings of the short-circuit calculation. The specic options for each method are
presented below in separate sections.
DIgSILENT PowerFactory 15, User Manual 467
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.4.1: IEC Calculation - Basic Options
An example of the short-circuit command dialogue is shown in Figure 22.4.1 (IEC calculation in this
case). The sections of the dialogue which are common to all calculation methods are:
Method
PowerFactory provides the following calculation methods for short-circuit calculation:
VDE 0102 [11] (the German VDE standard);
IEC 60909 [11] (the International IEC standard);
ANSI (the American ANSI/IEEE C37 standard);
complete (superposition method which considers the pre-fault load-owresults (see Section 22.2.3);
IEC 61363 [9];
IEC 61660 (DC) [8]; (the International IEC standard for DC short circuit calculation)
ANSI/IEEE 946 (DC) [5] (the ANSI/IEEE standard for DC short circuit calculation).
The specic options for each of these methods are available on the Advanced Options page of the
short-circuit command ComShc dialogue.
Fault Type
The following fault types are available:
3-Phase Short-Circuit
2-Phase Short-Circuit
468 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
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 (unbalanced)
The fault types with a neutral conductor should only be used for systems which are modelled using
neutral conductors.
Fault Impedance (Except for IEC 61363)
The fault impedance corresponds to the reactance and the resistance of the fault itself (such as the
impedance of the arc or of the shortening path). This can be dened by means of an enhanced model,
where line to line (Xf(L L), Rf(L L)) and line to earth Xf(L E), Rf(L E)) impedances are
regarded (note: requires option Enhanced Fault Impedance to be enabled). If the option Enhanced
Fault Impedance is not enabled, fault impedances are dened by their equivalent values, Xf and Rf.
Figures 22.4.2 to 22.4.4 illustrate the differences between the enhanced and the simplied represen-
tation of fault impedances for the following fault types: (i) 3-phase short-circuits; (ii) 2-phase faults to
ground; and (iii) 2-phase faults.
Figure 22.4.2: Fault Impedance Denition: 3-Phase Short-Circuit
Figure 22.4.3: Fault Impedance Denition: 2-Phase to Ground Fault
DIgSILENT PowerFactory 15, User Manual 469
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
Figure 22.4.4: Fault Impedance Denition: 2-Phase Fault
Show Output
A textual report is automatically written to PowerFactorys output window when the Show Output Show
Output option of the dialogue is enabled. The command which generates this report is displayed in blue
text next to the Command button . The user can click on this button to select which type of report
will be printed out. Just below the Command button, blue text informs the user of the currently-selected
report type.
Fault Location
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 22.3.3 and 22.3.4must be
given.
At Busbars and Junctions/ Internal Nodes: For every terminal (ElmTerm) in the network, a
short-circuit calculation is carried out, independently (one after the other).
At All Busbars: For every terminal (ElmTerm) in the network whose Usage is set to Busbar, a
short-circuit calculation is carried out, independently (one after the other).
If the option Multiple Faults has been ticked when the Complete Method is being used, a reference to
a set of fault objects (IntEvtshc), as explained in Section 22.3.5, must be set. This is done in the Fault
Location section of the dialogue; using the Short Circuits reference.
Note: Multiple faults will only be calculated for the Complete Method, when the option Multiple Faults is
enabled. When this option is enabled, a short-circuit calculation is carried out for each individual
fault location, simultaneously. When this option is disabled, cases where more than one fault loca-
tion have been selected (i.e. several busbars/terminals), a sequence of short-circuit calculations
is performed (i.e. each short-circuit calculation is carried out independently of each other short-
circuit calculation).
22.4.2 Verication (Except for IEC 61363, IEC 61660 and ANSI/IEEE 946)
When enabled (Verication Tab Page), the user can enter thresholds for peak, interrupting and thermal
maximum loading. The Verication option will then write a loading report to the output window with
all devices that have higher loadings than the dened max. values. This report shows the various
maximum and calculated currents for rated devices. Rated devices include, for instance:
Lines which have a rated short-time current in their line type which is greater than zero; and
Breakers or coupling switches which have a type with a valid rated current.
470 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
22.4.3 Basic Options (IEC 60909/VDE 0102 Method)
The Basic Options page of the Short-Circuit Calculation dialogue is shown in the previous section in
Figure 22.4.1. In general, please note that the calculation according to IEC 60909 [11] and VDE 0102
does not take into account line capacitances, parallel admittances (except those of the zero-sequence
system) and non-rotating loads (e. g. ElmLod). Single phase elements are considered only if they are
located in the neutral conductor.
Published
This option offers a sub-selection for the selected Method, where the version of the standard to be
used can be selected according to the year in which it was issued. The most recent standard is 2001,
however 1990 is still available for the verication of documented results.
Calculate
The drop-down list offers the choice between the minimal or maximal short-circuit current. If external
grids are dened, the corresponding maximum or minimum value will be selected automatically. For
example if in the short circuit command you select Calculate" according to Maximum Short Circuit
currents", the maximum short circuit value from the external grid is considered for the calculation. The
equivalent voltage source is based on the nominal system voltage and the voltage factor c. The voltage
factor c will depend on the voltage level and on the selection of the Calculate according to

E" stated in
the short-circuit command.
Max. Voltage tolerance for LV systems
In accordance with the IEC/VDE standard, this voltage tolerance is used to dene the respective voltage
correction factor, c. The voltage tolerance is not used when a user-dened correction factor is dened.
Short-Circuit Duration
The value for the Breaker Time is used to calculate the breaking current of a circuit breaker. The value
for the Fault Clearing Time (Ith) is required for the equivalent thermal current.
Note: The elds Method, Fault Type, Fault Impedance, Output and Fault Location are described in
Section 22.4.1.
DIgSILENT PowerFactory 15, User Manual 471
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
22.4.4 Advanced Options (IEC 60909/VDE 0102 Method)
Figure 22.4.5: IEC calculation - Advanced Options
Generally, the Advanced Options page (shown in Figure 22.4.5) is used for settings to tune the various
short-circuit calculation methods. Familiarization with the IEC/VDE standard before modifying these
options is strongly recommended.
Grid Identication
The calculation of the factor kappa is different in the cases of meshed or radial feeding of the short-
circuit. Normally PowerFactory will automatically nd the appropriate setting. The option Always meshed
will force a meshed grid approach.
c-Voltage Factor
The standard denes the voltage factor c to be used for the different voltage levels. In special cases
the user may want to dene the correction factor. In this case, activate the box User-Dened, then a
specic c-factor can be entered.
Asynchronous Motors
Whether the calculation considers the inuence of asynchronous motors on short-circuit currents de-
pends on this setting, which may be Always Considered, Automatic Neglection, or Conrmation of
Neglection.
Conductor Temperature
When activating the User-Dened option, the initial (pre-fault) conductor temperature can be set man-
ually. This will inuence the calculated maximum temperature of the conductors, as caused by the
short-circuit currents.
Decaying Aperiodic Component
Allows for the calculation of the DC current component, for which the decay time must be given. Ac-
cording to the IEC/IEC standard, methods B, C and C

can be selected.
The following nomenclature is used:
472 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
T
b
) Breaker Time (see Short-Circuit command)
f n) Nominal frequency
I
k
) Initial short-circuit current
Method B: Uses the complex calculated equivalent impedance of the network with a security
factor of 1.15:
i
DC
=

2 I

k
e
T
b

R
x
(22.4)
Method C Uses the R/X ratio calculated with the equivalent frequency method. The equivalent
frequency is dependent on the breaking time (see Table 22.4.1). This method is recommended
for maximum accuracy.
I
DC
=

2 I
k
e
T
b

R
f
x
f
(22.5)
R
f
X
f
=
R
c
X
c

f
c
f
nom
(22.6)
The ratio Rc/Xc is the equivalent impedance calculated at the frequency given by:
f
c
=
f
c
f
nom
f
nom
(22.7)
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 I
k
.
DIgSILENTMethod Considers all asynchronous motors according to their breaker current. The
breaker opens after the maximum possible time.
f
n
T
b
< 1 < 2.5 < 5 < 12.5
f
c
/f
n
0.27 0.15 0.092 0.055
Table 22.4.1: Breaking Times
DIgSILENT PowerFactory 15, User Manual 473
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
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 maxIbus-Ibranch, Ibranch. If this option is activated,
the busbar short-circuit current is used as the breaker current, which is actually an over-estimation of
the currents.
Automatic Power Station Unit detection
The IEC/VDE standard forces a different impedance correction factor to be applied to separate gen-
erators and transformers than that applied to a unit/block (power station) consisting of a generator
including its step-up transformer. PowerFactory tries to detect power stations. When this option is dis-
abled, block transformers must be marked accordingly by setting the Unit Transformer option available
in the VDE/IEC Short-Circuit page of the transformer element dialogue (Figure 22.2.6).
22.4.5 Basic Options (ANSI C37 Method)
Figure 22.4.6: ANSI calculation - Basic Options
Prefault Voltage
474 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
Value of the pre-fault voltage. In ANSI, the pre-fault voltage is the system rated voltage (1.0 p.u.).
Although a higher or lower voltage can be used in the calculation if operation conditions show otherwise.
Consider Transformer Taps
The ANSI standard optionally allows the current tap positions of the transformers to be considered. This
can be selected here.
NACD Mode
Depending on the location of the fault, ANSI classies the different currents being fed to the short circuit
as local" or remote". A remote source is treated as having only a dc decay, while a local source is
treated as having a dc and ac decay. Depending on this classication, corresponding curves are used
in order to obtain the multiplication factors.
In PowerFactory the ANSI short-circuit method has the option of selecting the NACD (No AC Decay)
mode.
The NACDfactor is the ratio of remote current contribution to the total fault current: NACD= I
remote
/I
fault
.
This NACD factor is used to calculate the breaker currents, including the DC component of the current.
The remote current contribution required to evaluate the NACD factor is the sum of all remote generator
contributions (induction generators, synchronous machines, and external grids).
The calculation of the NACD factor can be very time consuming, as the contribution of each generator
is calculated individually. Therefore, different approximation methods can be selected, which represent
the most common interpretations of the ANSI standard:
Interpolated The NACD factor is calculated, and the correction factor for the asymmetrical fault
current is interpolated between the dc decay only" and AC/DC decay" curves with the following
equation: MF = AC/DCfactor +(DCfactor AC/DCfactor)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

Sremote; 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

Slocal; 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 elds Method, Fault Type, Fault Impedance, Output and Fault Location are described in
Section 22.4.1.
DIgSILENT PowerFactory 15, User Manual 475
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
22.4.6 Advanced Options (ANSI C37 Method)
Figure 22.4.7: ANSI Calculation - Advanced Options
Calculate
This option is used to select the various currents (according to the ANSI standard) which are to be
calculated. The options are as follows:
Momentary Current (Close and Latch Duties)
Interrupting Current
30 Cycle Current
Low-Voltage Current
Bypass Series Capacitance
Series capacitances may be optionally bypassed for the ANSI short-circuit calculation, or bypassed
depending on the type of short-circuit being calculated. The series capacitor bypass options are as
follows:
No Bypassing
All Currents
LV & Interrupting & 30 Cycle Current
30 Cycle Currents
X/R Calculation
The user may select between a complex number X/R ratio calculation, or a calculation which considers
R and X separately. The fault point X/R will determine the system dc time constant and consequently
the rate of decay of the transient dc current. Although in PowerFactory the X/R ration can be calculated
from the complex network reduction, using this approach will not insure a conservative result. In an
attempt to provide a conservative approach, ANSI C31.010 requires that the X/R ratio be determined
by a separate R network reduction.
Consider Protection Devices
476 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
This option will calculate measured currents for the selected protection devices and will evaluate tripping
times. To increase the speed of the calculation, this option can be disabled when protection devices do
not need to be analyzed.
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 maxIbus-Ibranch, Ibranch. If this option is activated,
the busbar short-circuit current is used as the breaker current, which is actually an over-estimation of
the currents.
22.4.7 Basic Options (Complete Method)
Figure 22.4.8: Complete Method - Basic Options
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 system conditions immediately prior to the
onset of the fault.
Load Flow
The pre-fault system condition used by the complete method can be determined either by the evaluation
of a load ow, or by means of a simplied method, which initializes the internal voltages of all compo-
nents that contribute to the short-circuit current with their nominal values, multiplied by a scaling factor,
c.
The load ow command used to initialize the short-circuit calculation (when Load Flow Initialization on
the Advanced Options page is selected, see Section 22.4.8) is displayed next to the button labelled
Load Flow ( ). The load ow command can be accessed and modied by pressing this button .
The load ow command displayed here is initially taken from the currently active study case.
Short-Circuit Duration
The value for the Break Time (when set to SGlobal

T) 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:
DIgSILENT PowerFactory 15, User Manual 477
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
global When set to SGlobal

T, the breaking current is calculated according to the Break Time


specied in the short-circuit command.
min. of local When set to Smin. of local

T, the breaking current is calculated according to


the shortest Break Time of all circuit breakers (dened in the Complete Short-Circuit page of
ElmCoup objects) connected to the busbars being studied.
local When set to Slocal

T , the breaking current is calculated for each connected circuit-breaker


according to its own Break Time (dened in the Complete Short-Circuit page of ElmCoup ob-
jects), however, the busbar results will show the breaking current according to the shortest Break
Time of all circuit breakers.
Note: The elds Method, Fault Type, Fault Impedance, Output and Fault Location are described in
Section 22.4.1.
22.4.8 Advanced Options (Complete Method)
Figure 22.4.9: Complete Method - Advanced Options
Initialization
The user may select to initialize the complete method by one of the following options:
the load ow calculation referred to in the Load Flow eld of the wordBasic Options tab; or
the nominal voltages with a user-dened correction factor (c-Factor ). It should be noted that this
option is only available in the dialogue when Load Flow Initialisation is not selected.
Peak, DC Currents, R/X ratio (ip, ib, idc)
478 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
This option allows the denition 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.
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 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(I
bus
I
branch
, I
branch
). 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 component matrix.
The following options dene which phase matrix is used: Untransposed: the short-circuit calculation
uses the untransposed phase matrix. Symmetrically Transposed: the short-circuit calculation uses
the symmetrically transposed phase matrix for untransposed lines.
DIgSILENT PowerFactory 15, User Manual 479
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
22.4.9 Basic Options (IEC 61363)
Figure 22.4.10: IEC 61363 (EMT) - Basic Options
Calculate Using
In that section the user could select between the options:
Standard IEC 61363 Method
EMT Simulation Method
With the rst option the short-circuit is calculated according to the IEC 61363 standard [9]this is outlined
in section 22.2.4. This short-circuit calculation method is only an approximation and therefore the results
are not exact. When selecting the EMT method PowerFactory calculates for each fault case a three
phase short-circuit with a fault impedance of 0 ohm on the selected locations. This additional, high
precision short-circuit calculation method provides further valuable information, and especially when
power systems objects must be considered, which are not covered by the IEC 61363 standard[9]. The
Break Time input parameter represents the contact separation time for circuit-breakers. The default
setting is 100 ms. If the EMT Simulation Method option is active the conguration of the Simulation and
also the Simulation Results are available. The Simulation option displays the *.ComSim dialogue that is
described in more detail in Chapter 26 (Stability and EMT Simulations). The simulation time is set per
default to 160 ms. This is necessary because the short circuit is started after phase A voltage crosses
zero and because the rst 100 ms after the short-circuit are displayed as results.
The Simulation Results pointer indicates where the results of the EMT short-circuit simulation will be
stored (ElmRes). Typically no changes are required. In another note, this EMT simulation setup (Initial
Conditions and Run Simulation command) is stored separately from the normal EMT simulation in order
to avoid confusion.
480 DIgSILENT PowerFactory 15, User Manual
22.4. SHORT-CIRCUIT CALCULATION OPTIONS
Fault Impedance
The Fault Impedance option is disabled since the IEC 61363 [9] standard considers the short-circuit
impedance to be zero.
Create Plots
By enabling the Create Plots option, the user can select between the following:
Show only short-circuit currents at faulted terminal With this option selected, PowerFactory will
create automatically a time domain plot of the short-circuit current at the selected terminal, which
includes its upper envelope and DC component.
Show all short-circuit current contributions With this option selected PowerFactory will create au-
tomatically a time domain plot of the short-circuit current at the selected terminal and a plot for
all connected elements to the faulted terminal. Each created plot will consist of the short-circuit
current, the upper envelope and the DC component.
22.4.10 Advanced Options (IEC 61363)
The settings available on the advanced options page of the IEC 61363 dialogue will depend on the
selected calculation method.
Standard IEC 61363 [9]
With the standard calculation method the pre-load condition can be congured. The available options
are:
use load ow initialization If this option is selected, a load ow calculation is rst carried out (a
reference to the low ow command is shown). If the load ow is successful, the results are then
used to calculate the short circuit.
use rated current/power factor If this option is selected, the preload condition is obtained from the
rated values of the grid elements (no load ow calculation is executed).
neglect preload condition If this option is selected, no preload information is used to calculate the
short circuit.
Furthermore, the user will notice the option

CConsider Transformer Taps

S. According to the standard


however, all transformers should be considered with their main position, therefore this option should be
normally disabled.
EMT Simulation Method
If the short-circuit is calculated using the

CEMT simulation method

S, in the Advanced Options page the


user will have the option to assume the inertia as innite, meaning that if selected, the acceleration time
constant of all rotating machines will be set to 9999 seconds.
22.4.11 Basic Options (IEC 61660 Method)
The Basic Options page of the Short-Circuit Calculation dialogue provides options to set the fundamen-
tal settings of the IEC 61660 DC short circuit calculation. The calculation according to IEC 61660 [8]
can be undertaken considering minimum and maximum fault conditions and a DC fault impedance.
Calculate
DIgSILENT PowerFactory 15, User Manual 481
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The drop-down list offers the choice between the minimum or maximum short-circuit current. For the
maximum short-circuit case the resistance of joints (in busbars and terminations) is ignored, the con-
ductor resistance is referred to 20 oC, rectier current limiting controls are disabled, decoupling diodes
are neglected and batteries are set to fully charged. For the minimum short-circuit case the conductor
resistance is referred to the maximum operating temperature, resistance of joints is considered, the
contribution of reciers is set at the rated short-circuit current, batteries operation is set at the minimum
voltage, decoupling diodes are considered and the current-limiting effects of fuses and other protective
devices are considered. The equivalent voltage source is based on the nominal system voltage and the
pre-fault voltage factor.
Short-Circuit Duration
The value for the Fault Clearing Time (Ith) is required for the equivalent thermal current. The default
values is set to 1 second.
Note: The elds Method, Fault Impedance, Output and Fault Location are described in Section 22.4.1.
22.4.12 Advanced Options (IEC 61660 Method)
Generally, the Advanced Options page contains settings applicable to the IEC61660 calculation method.
Familiarization with the IEC 61660 standard before modifying these options is strongly recommended.
Initialisation
The pre-fault voltage can be set via a load ow via checking the Load Flow Initialisation check-box.
Alternatively a user dened pre-fault voltage can be set using the Pre-fault voltage factor in accordance
with the IEC standard. If the minimum fault level calculation is selected the Joint Resistance of Busbars
input will become visible and a user-dened joint resistance for bus terminations can be specied.
22.4.13 Basic Options (ANSI/IEEE 946 Method)
The Basic Options page of the Short-Circuit Calculation dialogue provides options to set the fundamen-
tal settings of the IEEE 946 DC short circuit calculation. The calculation according to IEEE 946 [5] can
be undertaken considering minimum and maximum fault conditions and a DC fault impedance.
Calculate
The drop-down list offers the choice between the minimum or maximum short-circuit current. For the
maximum short-circuit case the following assumptions are applied:
the resistance of joints (in busbars and terminations) is ignored.
the conductor resistance is referred to 20
O
C.
rectier current limiting controls are disabled.
decoupling diodes are neglected.
batteries are set to fully charged.
For the minimum short-circuit case:
the conductor resistance is referred to the maximum operating temperature.
the resistance of joints is considered.
482 DIgSILENT PowerFactory 15, User Manual
22.5. RESULT ANALYSIS
the contribution of rectiers is set by the rated short-circuit current.
battery operation is set at the minimum voltage.
decoupling diodes are considered.
the current-limiting effects of fuses and other protective devices are considered.
The equivalent DC voltage source is based on the nominal system voltage.
Short-Circuit Duration
The value for the Fault Clearing Time (Ith) is required for the equivalent thermal current. The default
values is set to 1 second.
Note: The elds Method, Fault Impedance, Output and Fault Location are described in Section 22.4.1.
22.4.14 Advanced Options (ANSI/IEEE 946 Method)
Generally, the Advanced Options page contains settings applicable to the ANSI/IEEE 946 calculation
method. Familiarization with the IEEE 946 standard before modifying these options is strongly recom-
mended.
Initialisation
The pre-fault voltage can be set via a load ow via checking the Load Flow Initialisation check-box.
Alternatively the pre-fault voltage is determined by the nominal bus voltage. The Joint Resistance of
Busbars input can be used to specify a user-dened joint resistance for bus terminations.
Using...
The calculation methodology can be dened with either the Approximation Calculation selection, which
performs the DC short circuit calculation according to the IEEE 946 standard or with the Superposition
Calculation selection, which performs a superposition calculation. In the case of the Superposition
Calculation, each DC source is treated individually and the contribution to the fault current is calculated
with other sources open circuit, the network is then represented by an equivalent resistance in series
with the source resistance. The Superposition Calculation method then determines the total fault current
using the superposition principal similar to the Complete Method (22.2.3).
22.5 Result Analysis
In PowerFactory the results can be displayed directly in the single line diagram, in tabular form or by
using predened report formats. Also available are several diagram colouring options which facilitate a
simplied results overview.
22.5.1 Viewing Results in the Single Line Diagram
Once a load ow calculation has been successfully executed, the result boxes shown in the single-line
diagram will be populated. There is a result box associated with each side" of an element. So for
example a load has one result box, a line two result boxes, and a three-winding transformer three result
boxes. In PowerFactory these elements are collectively called edge elements. In addition, there are
result boxes for nodes or buses.
DIgSILENT PowerFactory 15, User Manual 483
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
The information shown inside a result box depends on the element to which it is associated. There are
a few predened formats for edge elements and a few predened formats for buses. In order to see
the selection, rst perform a short-circuit, then, from the main menu, select Output Results for Edge
Elements or Output Results for Short-Circuit Buses or Output Results for Short-Circuit Buses.
These menu options will show the list of available result box formats. Alternatively, you can select (click)
inside a result box on the single-line diagram, then right-click and from the context sensitive menu
choose Format for Edge Elements or in case of a node Format for Nodes. Figure 22.5.1 serves as an
example.
Figure 22.5.1: Selecting the Result Box from the Single Line Diagram.
Besides these predened formats the result boxes can be formatted in order to display selected vari-
ables.
By right-clicking on one of the result boxes and selecting the option Edit Format for Edge Elements and
afterwards pressing the Input Mode" button two options will be available: User Selection" or Format
Editor". The User selection" option will allow the selection of any of the available variables.
22.5.2 Flexible Data Page
Once a short-circuit calculation has been successfully executed, pressing the Edit Relevant Objects
for Calculation button ( ) located on the main menu will prompt a submenu with icons for all classes
that are currently used in the calculation. Clicking any of the class-icons will open a browser with all
elements of that class that are currently used in the calculation. The left-most tab-page at the bottom of
the browser is the Flexible Data tab page. Click on this tab page to show the exible data. To change
the columns in the exible page, press the Dene Flexible Data button ( ). This will bring a selection
window where the set of variables can be edited. In the left pane the available variables will be shown
while the right pane will list the selected variables. Pressing the or buttons will move the selected
variable from the one pane to the other pane.
22.5.3 Predened Report Formats (ASCII Reports)
In PowerFactory there are predened report formats also called ASCII reports, available to the user.
These ASCII reports can be created by pressing the Output Calculation Analysis button ( ) located
on the main menu (a short-circuit must be calculated rst). This will bring a selection window in which
the user can select a specic type of report. Some reports like the Currents/Voltages" will have various
options which the user can set. The report selection window also shows the report denition which will
484 DIgSILENT PowerFactory 15, User Manual
22.5. RESULT ANALYSIS
be used for the selected report. Pressing Execute will write the report to the output window. Although
the reports are already predened, the user has the possibility of modifying the reports if required
(by clicking on the blue arrow pointing to the right of the User Format denition). A Show Output and
Verication Report can be also printed out automatically each time a short-circuit calculation is executed
(see Section 22.4.1 and 22.4.2).
22.5.4 Diagram Colouring
When performing short-circuit calculations, it is very useful to colour the single line-diagram in order
to have a quick overview of the results, for example if elements have a loading above rated short-time
current or if peak short-circuit currents are higher than the specied values. In PowerFactory there is
the option of selecting different colouring modes according to the calculation performed. If a specic
calculation is valid, then the selected colouring for this calculation is displayed. As an example, if the
user selects the colouring mode Areas" for No Calculation" and Loading of Thermal/Peak Short-
Circuit Current" for the short-circuit calculation, then the initial colouring will be according to Areas".
However, as soon as the short-circuit is calculated, the diagram will be coloured according to Loading
of Thermal/Peak Short-Circuit Current". If the short-circuit calculation is reset or invalid, the colouring
mode switches back to Areas". The Diagram Colouring has also a 3-priority level colouring scheme
also implemented, allowing colouring elements according to the following criteria: 1st Energizing status,
2nd Alarm and 3rd Normal" (Other) colouring.
Energizing Status If this check box is enabled De-energized" or Out of Calculation" elements
are coloured according to the settings in the Project Colour Settings". The settings of the De-
energized" or Out of Calculation" mode can be edited by clicking on the Colour Settings button.
Alarm If this check box is enabled a drop down list containing alarm modes will be available. It
is important to note here that only alarm modes available for the current calculation page will be
listed. If an alarm mode is selected, elements exceeding" the corresponding a limit are coloured.
Limits and colours can be dened by clicking on the Colour Settings button.
"Normal" (Other) Colouring Here, two lists are displayed. The rst list will contain all available
colouring modes. The second list will contain all sub modes of the selected colouring mode. The
settings of the different colouring modes can be edited by clicking on the Colour Settings button.
Every element can be coloured by one of the three previous criteria. Also, every criterion is optional and
will be skipped if disabled. Regarding the priority, if the user enables all three criterions, the hierarchy
taken account will be the following:
Energizing Status" overrules the Alarm" and Normal Colouring" mode. The Alarm" mode overrules
the Normal Colouring" mode.
DIgSILENT PowerFactory 15, User Manual 485
CHAPTER 22. SHORT-CIRCUIT ANALYSIS
486 DIgSILENT PowerFactory 15, User Manual
Chapter 23
Power Quality and Harmonics
Analysis
23.1 Introduction
One of the many aspects of power quality is the harmonic content of voltages and currents. Har-
monics can be analyzed in either the frequency domain, or in the time-domain with post-processing
using Fourier Analysis. The PowerFactory harmonics functions allow the analysis of harmonics in the
frequency domain. The following functions are provided by PowerFactory:
23.2 Harmonic Load Flow (including harmonic load ow according to IEC 61000-3-6 [7] and icker
analysis according to IEC 61400-21 [14])
23.3 Frequency Sweep
PowerFactorys harmonic load ow calculates actual harmonic indices related to voltage or current dis-
tortion, and harmonic losses caused by harmonic sources (usually non-linear loads such as current
converters). Harmonic sources can be dened by either a harmonic current spectrum or a harmonic
voltage spectrum. In the harmonic load ow calculation, PowerFactory carries out a steady-state net-
work analysis at each frequency at which harmonic sources are dened.
A special application of the harmonic load ow is the analysis of ripple-control signals. For this applica-
tion, a harmonic load ow can be calculated at one specic frequency only.
The harmonic load ow command also offers the option of calculating long- and short-term icker dis-
turbance factors introduced by wind turbine generators. These factors are calculated according to IEC
standard 61400-21 [14], for wind turbines generators under continuous and switching operations.
In contrast to the harmonic load ow, PowerFactorys frequency sweep performs a continuous frequency
domain analysis. A typical application of the frequency sweep function calculates network impedances.
The result of this calculation facilitates the identication of series and parallel resonances in the network.
These resonance points can identify the frequencies at which harmonic currents cause low or high
harmonic voltages. Network impedances are of particular importance for applications such as lter
design.
PowerFactory provides a toolbar for accessing the different harmonic analysis commands. This tool-
bar can be displayed (if not already active) by clicking the Change Toolbox button and selecting
Harmonics/Power Quality.
The Harmonics/Power Quality toolbar provides icons to access two pre-congured command dialogues:
DIgSILENT PowerFactory 15, User Manual 487
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
Calculate Harmonic Load Flow
Calculate Impedance Frequency Characteristics (Frequency Sweep)
These command dialogues can be also accessed via PowerFactory s main menu by selecting:
Calculation Harmonics/Power QualityHarmonic Load Flow. . . ; or
Calculation Harmonics/Power QualityImpedance Frequency Characteristic. . .
Additionally, following the calculation of a harmonic load ow, the icon Filter Analysis on this toolbar
is activated. This icon is used to open the Filter Analysis (ComSh) command dialogue. This command
analyzes results from the most recent harmonic load ow calculation and outputs results to PowerFac-
torys output window. All functions and their usage are described in this chapter.
23.2 Harmonic Load Flow
To calculate a harmonic load ow, click on the Calculate Harmonic Load Flow icon to open the
dialogue for the Harmonic Load Flow (ComHldf ) command as shown in Figure 23.2.1.
Figure 23.2.1: Harmonic Load Flow Command (ComHldf )
For a detailed description of how harmonic injections are considered by PowerFactory, refer to Sec-
tion 23.5 (Modelling Harmonic Sources), in which the analysis and the harmonic indices are described.
The following sections describe the options available in the harmonic load ow command.
23.2.1 Basic Options
Network Representation
Balanced In the case of a symmetrical network and balanced harmonic sources, characteristic
harmonics either appear in the positive sequence component (7th, 13th, 19th, etc.), or in the
negative sequence component (5th, 11th, 17th, etc.). 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), unbalanced harmonic injections, or harmonics in non-symmetrical networks,
488 DIgSILENT PowerFactory 15, User Manual
23.2. HARMONIC LOAD FLOW
the Unbalanced, 3-phase (ABC) option for modelling the network in the phase-domain should be
selected.
Calculate Harmonic Load Flow
Single Frequency Selecting this option will perform a single harmonic load ow calculation at the
given Output Frequency (parameter name: fshow) or at the given Harmonic Order (parameter
name: ifshow). A common application for this input mode is the 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 ow at the fundamental frequency.
All Frequencies Selecting this option will perform harmonic load ow calculations for all frequen-
cies for which harmonic sources are dened. These frequencies are gathered automatically prior
to the calculation. The results for all frequencies are stored in a result le, which can be used
to create bar chart representations of harmonic indices (see also Section 17.5.2 (Plots)). The
results of the analysis at the given Output Frequency are shown in the single line diagram.
Nominal Frequency, Output Frequency, Harmonic Order
Nominal Frequency The harmonics analysis function in PowerFactory can only calculate har-
monics of AC-systems with identical fundamental frequencies. The relevant nominal frequency
must be entered here (usually 50Hz or 60Hz).
Output Frequency This is the frequency for which results are displayed in the single-line graphic.
In the case of a Single Frequency calculation, this is the frequency for which a harmonic load ow
is calculated. When option All Frequencies is selected, this parameter only affects the display
of results in the single line diagram. It does not inuence the calculation itself. In this case, the
results displayed in the single line diagram are for the dened Output Frequency. A change made
to the Output Frequency will cause the Harmonic Order to be automatically changed accordingly.
Harmonic Order This is the same as the Output Frequency but input as the Harmonic Or-
der (f/fn). The Harmonic Order multiplied by the Nominal Frequency always equals the Output
Frequency. Both oating-point and integer values are valid as inputs. A change made to the
Harmonic Order will cause the Output Frequency to be automatically changed accordingly.
Calculate Flicker
Calculate Flicker When selected, the long- and short-term icker disturbance factors are calcu-
lated according to IEC standard 61400-21. See Section 23.6 (Flicker Analysis (IEC 61400-21))
for more detailed information.
Calculate Sk at Fundamental Frequency
Calculate Sk at Fundamental Frequency When selected, the short-circuit power, Sk, and
impedance angle, psik, are calculated at the point of common coupling (PCC) for all 3-phase
buses in the network being analyzed. This calculation is only performed at the fundamental
frequency. For an unbalanced harmonic load ow, impedance ratios (as described in Sec-
tion 23.7.2.1 (Calculation of Impedance Ratios)) at 3-phase buses are also calculated. See
Section 23.7 (Short-Circuit Power Sk) for more detailed information.
Result Variables and Load Flow
Result Variables This option is available if Calculate Harmonic Load Flow option All Frequencies
has been selected, and is used to select the target result object for storing the results of the har-
monic load ow. See Section 23.9 (Denition of Result Variables) for more information regarding
specifying and dening result variables.
Load Flow This displays the load ow command used by the calculation. Click on the arrow
button to inspect and/or adjust the load ow command settings.
DIgSILENT PowerFactory 15, User Manual 489
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
23.2.2 IEC 61000-3-6
Treatment of Harmonic Sources
The alpha exponent values on this page will only be considered by the harmonic load ow (that is to
say that the calculation will be carried out according to the IEC 61000-3-6 standard [7]) if at least one
harmonic source in the network is dened as IEC 61000 (see Section 23.5.1 (Denition of Harmonic
Injections)). On this page, if According to IEC 61000-3-6 is selected, these tables display the alpha
exponent values as given in the IEC 61000-3-6 standard, as read-only values. If User Dened is
selected, the denition of the alpha exponent values is user-denable in terms of integer and/or non-
integer harmonic orders.
23.2.3 Advanced Options
Calculate HD and THD
Based on Fundamental Frequency Values (IEEE) All values are based on fundamental fre-
quency values, as dened by IEEE standards.
Based on Total RMS-Values (DIN) All values are based on true RMS-values, as dened by
DIN standards.
Based on Rated Voltage/Current All values are based on the rated voltage/current of the buses
and branches in the network, respectively.
23.3 Frequency Sweep
To calculate frequency dependent impedances, the impedance characteristic can be computed for a
given frequency range using the Frequency Sweep command (ComFsweep). This function is available
by clicking on the Calculate Frequency Impedance Characteristic icon ( ) available in the Harmonics
toolbar. The harmonic frequency sweep command is shown in Figure 23.3.1.
Figure 23.3.1: Frequency Sweep Command (ComFsweep)
Harmonic analysis by frequency sweep is normally used for analyzing self- and mutual- network impedances.
However, it should be noted that not only self- and mutual-impedances can be analyzed and shown.
The voltage source models (ElmVac, ElmVacbi ) available in PowerFactory allow the denition of any
490 DIgSILENT PowerFactory 15, User Manual
23.3. FREQUENCY SWEEP
spectral density function. Hence, impulse or step responses of any variable can be calculated in the fre-
quency domain. One common application is the analysis of series resonance problems. The following
sections describe the options available in the harmonic frequency sweep command.
23.3.1 Basic Options
Network Representation
Balanced, positive sequence This option uses a single-phase, positive sequence network rep-
resentation, 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 repre-
sentation.
Impedance Calculation
The frequency sweep will be performed for the frequency range dened by the Start Frequency and
the Stop Frequency, using the given Step Size. The Automatic Step Size Adaptation option 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, Harmonic Order
Nominal Frequency This is the fundamental frequency of the system, and the base frequency
for the harmonic orders (usually 50Hz or 60Hz).
Output Frequency This is the frequency for which the results in the single line diagram are
shown. This value has no effect on the actual calculation.
Harmonic Order This is the harmonic order equivalent of the Output Frequency. The Harmonic
Order multiplied by the Nominal Frequency always equals the Output Frequency. Both oating-
point and integer values are valid as inputs.
Result Variables and Load Flow
Result Variables Used to select the target result object which will store the results of the har-
monic frequency sweep. See Section 23.9 (Denition of Result Variables) for more information
regarding specifying result variables.
Load Flow This displays the load ow command used by the calculation. Click on the arrow
button to inspect and/or adjust the load ow command settings.
The results of PowerFactorys frequency sweep analysis are the characteristics of the impedances over
the frequency range.
23.3.2 Advanced Options
Selecting the option Automatic Step Size Adaptation on the Basic Data page of the frequency sweep
command is one way to increase the speed of the calculation. This option enables the use of the step
size adaptation algorithm for the frequency sweep. With this algorithm, the frequency step between two
calculations of all variables is not held constant, but is adapted 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 shown below:
DIgSILENT PowerFactory 15, User Manual 491
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
Maximum Prediction Error errmax (typical value: 0.01)
Minimum Prediction Error errinc (typical value: 0.005)
Step Size Increase Delay ninc (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 impedance is calculated for all nodes.
23.4 Filter Analysis
The Filter Analysis command is a special form of the Output of Results command (ComSh), whose
function is to generate a report. It analyzes the results from the previous harmonic load ow and
outputs results to the PowerFactory output window. It outputs a summary of the harmonics for the
terminals/busbars and branch elements at the frequency specied in the Output Frequency eld of the
harmonic load ow command. It also reports the parameters and different variables for the installed
lters.
The lter analysis command can be activated using the Filter Analysis button or by using the Output
Calculation Analysis button on the main menu (see also Section 17.2.3: Output of Results). This will
open the same dialogue as that used for the reporting of harmonic results, as displayed in Figure 23.4.1.
This command can alternatively be launched from the single line graphic, after selecting one or more
elements, and right-clicking and selecting Output Data. . . Results. Results will then be output for
the selected elements. It should be noted that elements should be selected according to the type of
report being generated. This means that for Busbars and Branches only terminals and branches should
be selected, for Busbars/Terminals only terminals should be selected; and for Filter Layout and Filter
Results only shunts should be selected. In the dialogue, the Output Frequency specied in the harmonic
load ow command is displayed in red text (see top of dialogue in Figure 23.4.1).
492 DIgSILENT PowerFactory 15, User Manual
23.4. FILTER ANALYSIS
Figure 23.4.1: Filter Analysis Report Command (ComSh)
There are four different reports available for selection:
Busbars and Branches This displays the results of the harmonic load ow 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 lter layout of all active lters in the network is calculated for the given frequency. The
rated values and impedances of the lter as well as the type and vector group are printed to the output
window. Additionally, the currents through the different components are shown, as are the losses.
Filter Results The lter results show the main layout of all lters in the network for the calculation
frequency. For a set of frequencies, the voltages and currents through the lter are tabulated.
Use Selection Results will only be reported for elements dened in a selection. A selection of elements
can be dened by selecting them either in the single line graphic or in the Data Manager, right-clicking
and choosing Dene. . . General Set. This General Set then exists in the Study Case and can be
selected when the Use Selection option is activated.
The default format used for the report in the output window is dened in the Used Format section on the
second page ( )of the dialog and can be set or changed by clicking on the Filter Layout arrow button
.
DIgSILENT PowerFactory 15, User Manual 493
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
23.5 Modelling Harmonic Sources
Every switched device produces harmonics and must therefore be modelled as a harmonic source. In
PowerFactory , harmonic sources can be either current or voltage sources. The following models can
be used to generate harmonics (the PowerFactory element names are given in parentheses):
General loads (ElmLod), if they are modelled as a current source (which can be dened on the
Harmonics/Power Quality page of the loads assigned Type);
Thyristor rectiers (ElmRec, ElmRecmono);
PWM-converters (ElmVsc, ElmVscmono), which are generally modelled as harmonic voltage
sources;
Voltage sources (ElmVac, ElmVacbi ), which may also be used for ripple control applications;
Current sources (ElmIac), with a user-dened spectrum of harmonic injections.
Static generators (ElmGenstat );
Static var systems (ElmSvs).
See Section 23.5.1 (Denition of Harmonic Injections) for information on how to dene harmonic injec-
tions for these sources.
Note: Harmonic injections can be modelled in EMT simulations using the Fourier source object. For
further details please refer to the Technical References in the Appendix C.
23.5.1 Denition of Harmonic Injections
For the following PowerFactory elements, the harmonic injections must rst be dened using the Har-
monic Sources type object (TypHmccur ):
General loads (ElmLod), if they are modelled as a current source (which can be dened on the
Harmonics/Power Quality page of the loads assigned Type);
Thyristor rectiers (ElmRec, ElmRecmono);
PWM-converters (ElmVsc, ElmVscmono);
Current sources (ElmIac);
Static generators (ElmGenstat );
Static var systems (ElmSvs).
When dening the spectrumvia the Harmonic Sources type object, the harmonic infeeds can be entered
according to one of three options: Balanced, Phase Correct or Unbalanced, Phase Correct (shown
in Figures 23.5.1 and 23.5.2, respectively), or IEC 61000 (shown in Figure 23.5.3). The Harmonic
Sources object is a PowerFactory type object, which means that it may be used by many elements
who have the same basic type. Multiple current source loads may, for example, use the same Harmonic
Sources object. Note that PowerFactory has no corresponding element for this type.
Phase Correct Harmonic Sources
For the Balanced, Phase Correct harmonic sources option, in both balanced and unbalanced harmonic
load ows, the magnitudes and phases of positive and negative sequence harmonic injections at integer
harmonic orders can be dened, as shown in Figure 23.5.1.
494 DIgSILENT PowerFactory 15, User Manual
23.5. MODELLING HARMONIC SOURCES
Figure 23.5.1: Balanced, Phase Correct Harmonic Sources Type (TypHmccur )
For the Unbalanced, Phase Correct harmonic sources option, the magnitudes and phases of positive
and negative sequence harmonic injections at integer and non-integer harmonic orders can be dened,
as shown in Figure 23.5.2. In the case of a balanced harmonic load ow, harmonic injections in the zero
sequence are not considered, and harmonic injections at non-integer harmonic orders are considered
in the positive sequence. In the case of an unbalanced harmonic load ow, harmonic injections in the
zero sequence and at non-integer harmonic orders are considered appropriately. See Table 23.5.2 for
a complete summary.
DIgSILENT PowerFactory 15, User Manual 495
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
Figure 23.5.2: Unbalanced, Phase Correct Harmonic Sources Type (TypHmccur )
IEC 61000 Harmonic Sources
The IEC 61000-3-6 standard [7] describes a second summation law", applicable to both voltage and
current, which is described mathematically as:
U
h
=

m=0
U
h,m

(23.1)
where U
h
is the resultant harmonic voltage magnitude for the considered aggregation of N sources at
order h, and is the exponent as given in Table 23.5.1 [7].
The Harmonic Sources type set to option IEC 61000 (as shown in Figure 23.5.3) allows the denition of
integer and non-integer harmonic current magnitude injections. In the case of balanced and unbalanced
harmonic load ows, zero sequence order injections and non-integer harmonic injections are considered
in the positive sequence. This is summarized in Table 23.5.2. It should be noted that in order to execute
an harmonic load ow according to IEC 61000-3-6, at least one harmonic source in the network
must be dened as IEC 61000 (i.e. as shown in Figure 23.5.3).
Alpha Exponent Value Harmonic Order
1 h < 5
1.4 5 <= h <= 10
2 h > 10
Table 23.5.1: IEC 61000-3-6 Summation Exponents According to Harmonic Order
496 DIgSILENT PowerFactory 15, User Manual
23.5. MODELLING HARMONIC SOURCES
Figure 23.5.3: IEC 61000 Harmonic Sources Type (TypHmccur )
The denition of the spectrum of harmonic injections for the voltage source (ElmVac, ElmVacbi ) and
external grid (ElmXnet ) is done differently to other elements. The harmonic injections are directly input
on the Harmonics/Power Quality page of the element itself via the Harmonic Voltages table, as shown
in Figure 23.5.4.
DIgSILENT PowerFactory 15, User Manual 497
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
Figure 23.5.4: Denition of Harmonic Voltages for Voltage Source Element (ElmVac, ElmVacbi )
Table 23.5.3 describes the consideration of the sequence components of the harmonic orders for the
AC voltage source (ElmVac, ElmVacbi ) and external grid (ElmXnet ).
Additionally, the voltage source allows the following to be input for use in the Frequency Sweep calcula-
tion:
Spectral density of voltage magnitude;
Spectral density of voltage angle;
Frequency dependencies (in the formof a Frequency Polynomial Characteristic). See Section 23.5.4
(Frequency Dependent Parameters) and Chapter 16 (Parameter Characteristics,
Load States, and Tariffs) for further details.
Background Harmonics PowerFactory facilitates the modeling of background harmonics. This is done
using either the external grid element (ElmXnet ) or the AC voltage source element (ElmVac, ElmVacbi ),
on their respective Harmonics/Power Quality pages. If only the harmonic voltage amplitude is known
(and not the angle), the IEC 61000 option can be selected. Table 23.5.3 describes the consideration of
the sequence components of the harmonic orders for the AC voltage source and external grid.
Selection of Type of Harmonic Sources The Harmonic Sources object (TypHmccur ) is independent
of the whether the harmonic source is either a voltage source or a current source. The decision as
to whether harmonic sources are fed into the system as harmonic voltages or as harmonic currents is
made exclusively by the element to which the Harmonic Sources object is assigned. The consideration
by the calculation of the sequence components of harmonic injections is given in Table 23.5.2.
498 DIgSILENT PowerFactory 15, User Manual
23.5. MODELLING HARMONIC SOURCES
Magnitudes and Phase Values The quantities of the spectrum type are rated to current/voltage at the
fundamental frequency in the balanced case. Hence, in the case of a harmonic current source, the
actual harmonic current at frequency f
h
is calculated by:
I
h
= k
h
e

h
I
1
e

1
(23.2)
where
k
h
=
_

_
I
h
/I
1
if balanced
I
ah
/I
a1
if unbalanced phase a
I
bh
/I
b1
if unbalanced phase b
I
ch
/I
c1
if unbalanced phase c
(23.3)

h
=
_

1
if balanced

ah

a1
if unbalanced phase a

bh

b1
if unbalanced phase b

ch

c1
if unbalanced phase c
(23.4)
The values at the fundamental frequency, I
1
and
1
, are taken from a preceding load ow calculation.
A normal load ow calculation is therefore required prior to a harmonic load ow calculation.
In the case of balanced systems in which only characteristic harmonics of orders 5, 7, 11, 13, 17,
etc. occur, the option Balanced, Phase Correct should be selected in the Type of Harmonics Sources
section (as shown in Figure 23.5.1). In this context, Balanced refers to characteristic harmonics. In the
balanced case, the harmonic frequencies are determined by the program (note that in the unbalanced
case, the harmonic frequencies can be freely-dened).
For harmonic sources which produce non-characteristic, unbalanced or inter-harmonics, the option Un-
balanced, Phase Correct should be set in the Type of Harmonics Sources section. In the Unbalanced,
Phase Correct case, the harmonic frequency, magnitude and phase angle of each phase can be cho-
sen 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 system which
differs to the native modal system (positive, negative or zero sequence system). 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:
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

(= 0

)
B : 360

(= 0

)
C : +360

(= 0

)
Consequently, the 3rd harmonic in the ideally balanced case is only in the zero sequence component,
as their native modal system. For representing 3rd harmonics (and multiples thereof) in the positive
DIgSILENT PowerFactory 15, User Manual 499
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
sequence system, the following phase correction needs to be entered:
A : 0

B : +(n 1) 120

C : (n 1) 120

Again taking the 3rd harmonic as an example:


A : 0

(= 0

)
B : 360

+ 240

(= 120

)
C : +360

240

(= +120

)
Harmonic
Load Flow
Command
Setting
Harmonic
Current
Source
Type
Sequence Components of Harmonic
Injections
Balanced Balanced,
Phase Cor-
rect
Positive (i.e. 4, 7, 10, ...), nega-
tive (i.e. 2, 5, 8, ...);
Integer orders only.
Unbalanced,
Phase Cor-
rect
Positive, negative;
Triplen harmonics (i.e. 3, 6, 9, ...)
are ignored and non-integer har-
monic orders (i.e. 5.5, 6.2, 8.35,
...) are in the positive sequence.
IEC 61000
Positive, negative;
Triplen harmonics and non-
integer harmonics are in the
positive sequence.
Unbalanced Balanced,
Phase Cor-
rect
As for balanced harmonic load
ow.
Unbalanced,
Phase Cor-
rect
Positive, negative, zero;
Integer and non-integer harmon-
ics.
IEC 61000
As for balanced harmonic load
ow.
Table 23.5.2: Consideration of Sequence Components of Harmonic Injections for TypHmccur
500 DIgSILENT PowerFactory 15, User Manual
23.5. MODELLING HARMONIC SOURCES
Harmonic
Load Flow
Command
Setting
ElmVac or
ElmXnet
Setting
Sequence Components of Harmonic
Injections
Balanced
Phase Cor-
rect
Positive (i.e. 4, 7, 10, ...), nega-
tive (i.e. 2, 5, 8, ...);
Non-integer harmonic orders (i.e.
5.5, 6.2, 8.35, ...) are considered
in the positive sequence.
Triplen harmonics (i.e. 3, 6, 9, ...)
are ignored (with warning).
IEC 61000
Positive, negative;
Triplen harmonics and non-
integer harmonics are in the
positive sequence.
Unbalanced
Phase Cor-
rect
Positive, negative, zero;
Non-integer harmonics are con-
sidered.
IEC 61000
As for balanced harmonic load
ow.
Table 23.5.3: Consideration of Sequence Components of Harmonic Injections for AC Voltage Source
and External Grid
23.5.2 Assignment of Harmonic Injections
The assignment of harmonic injections to the following elements is done via the individual elements
dialogue on the Harmonics page.
General loads (ElmLod), if they are modelled as a current source (which can be dened on the
Harmonics/Power Quality page of the loads assigned Type);
Thyristor rectiers (ElmRec, ElmRecmono);
PWM-converters (ElmVsc, ElmVscmono);
Current sources (ElmIac);
Static generators (ElmGenstat );
Static var systems (ElmSvs).
This is illustrated in Figure 23.5.5 for the case of a general load.
DIgSILENT PowerFactory 15, User Manual 501
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
Figure 23.5.5: Assignment of Harmonic Current Source to a Load Element (ElmLod)
Harmonic Currents Used to select and display the assigned Harmonic Sources type (TypHmccur ).
Type of Harmonic Sources Displays the type of harmonic source selected in the assigned Harmonic
Sources type (TypHmccur ).
Harmonic current referred to For phase correct sources, the harmonic current may be referred to
either the fundamental current or the rated current. If the harmonic current source type (TypHmccur )
has been selected to be IEC 61000, the harmonic current is always referred to the rated current and
this option is read-only.
Harmonic injections dened for voltage sources (ElmVac, ElmVacbi ) are implicitly assigned, as they
are dened on the elements Harmonics page. No further assignment is therefore necessary. See
Section 23.5.1 (Denition of Harmonic Injections) for further information.
23.5.3 Harmonic Distortion Results
The harmonic load ow calculation in PowerFactory provides a vast number of results for network ele-
ments. Some of the more prominent result variables are described in this section.
The harmonic distortion of a current or of a voltage can be quantied in terms of the Harmonic Distortion
(HD), as described by (23.5). To describe the overall distortion, the Total Harmonic Distortion index THD
(see (23.6)) has been introduced. An alternative, less common index is the Total Arithmetic Distortion
TAD (see (23.7)). All distortion indices are described by their equations (below) for the current, but may
be similarly described for voltage distortion.
HD
I
(f
i
) =
|I
fi
|
|I
f1
|
(23.5)
502 DIgSILENT PowerFactory 15, User Manual
23.5. MODELLING HARMONIC SOURCES
THD
I
=
1
I
ref

I
2
RMS
I
2
(f
1
) (23.6)
TAD
I
=
1
I
ref
[I
A
|I(f
1
)|] (23.7)
where I(f
i
) is the component of the current at frequency f
i
and I
ref
is the reference value for the
current. The total RMS value is:
I
RMS
=

i=1
I
2
(f
i
) (23.8)
and the arithmetic sum value is:
I
A
=
n

i=1
|I(f
i
)| (23.9)
The reference value I
ref
depends on the standard used. The two possible options are the calculation
according to DIN (23.10) and according to IEEE (23.11):
I
ref,DIN
= I
RMS
(23.10)
I
ref,IEEE
= |I(f
1
)| (23.11)
Another value which may be of importance is the Total Power (23.12), which describes the power ab-
sorbed over all frequency components:
P
tot
=
n

i=1
P(f
i
) (23.12)
It should be noted that for networks containing IEC 61000 harmonic current sources, result variables for
the voltage angle and current angle are not applicable (as the angles cannot be known). Additionally,
the following result variables are available:
ku, ki : Voltage and current diversity factors, respectively (always 1 for networks containing only
phase correct sources). The voltage diversity factor is shown in (23.13):
ku =
U
2
h
(|U|)
2
(23.13)
where U
h
is the IEC 61000 harmonic voltage magnitude as dened in (23.1) and |U| is the voltage
magnitude.
HD, THD and TAD for non-integer harmonic orders.
23.5.4 Frequency Dependent Parameters
Due to the skin effect and variations in internal inductance, resistances and inductances are usually
frequency dependent. This can be modelled in PowerFactory by associating a frequency character-
istic with these quantities. Two types of characteristic may be used: either a Frequency Polynomial
Characteristic (ChaPol ) as illustrated in Figure 23.5.6, or a user-dened frequency table (TriFreq and
ChaVec). These kinds of characteristics are then assigned via the Harmonics/Power Quality page of
the corresponding elements dialogue, as illustrated by the example in Figure 23.5.7 for a line type.
DIgSILENT PowerFactory 15, User Manual 503
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
Figure 23.5.6: The Frequency Polynomial Characteristic (ChaPol )
For the frequency polynomial characteristic object illustrated in Figure 23.5.6, the formula given by
(23.14) is used:
y(f
h
) = (1 a) +a (
f
h
f
1
)
b
(23.14)
The parameters a and b are specied in the Frequency Polynomial Characteristic dialogue. Variable y
is usually expressed as a percentage of the corresponding input parameters. For example, the resulting
line resistance is given by (23.15):
R(f
h
) = R y(f
h
) (23.15)
An example of the use of the polynomial characteristic for a line type is shown in Figure 23.5.7.
Figure 23.5.7: Frequency Dependencies in a Line Type
It is also possible to dene frequency dependent characteristics using a vectorial parameter character-
istic (ChaVec). An example for a grid impedance dened with a vectorial parameter characteristic is
shown in Figure 23.5.8.
504 DIgSILENT PowerFactory 15, User Manual
23.5. MODELLING HARMONIC SOURCES
Figure 23.5.8: Frequency Dependent Grid Impedance as Vectorial Characteristic (ChaVec)
DIgSILENT PowerFactory 15, User Manual 505
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
The following objects can have frequency dependent parameters dened using a frequency character-
istic:
Line type (TypLne)
Asynchronous machine type (TypAsmo)
Synchronous machine type (TypSym)
Shunt/lter (ElmShnt )
AC voltage source (ElmVac)
AC voltage source - two terminals (ElmVacbi )
AC current source (ElmIac)
AC current source - two terminals (ElmIacbi )
NEC/NER (ElmNec)
Complex load (TypLodind)
2-W transformer (TypTr2)
3-W transformer (TypTr3)
Lines represented by a tower type (TypTow) are automatically assigned a harmonic characteristic. The
same applies to cables using the detailed cable representation type (TypTow).
23.5.5 Waveform Plot
The waveform plot is used to display the waveform of a voltage or a current following a harmonic load
ow calculation. The harmonics are typically emitted by a harmonic voltage or current source, as
described in Section 23.5 (Modelling Harmonic Sources).
In this plot, a waveform is generated using the magnitude and phase angle of the harmonic frequencies.
With this diagram, a variable such as the voltage or current, which is dened in a harmonic source (i.e.
a power electronic device or a load), can be easily shown as a time-dependent variable. This way the
real shape of the voltage can be seen and analyzed. An example plot of harmonic distortion is shown
in Figure 23.5.9.
506 DIgSILENT PowerFactory 15, User Manual
23.6. FLICKER ANALYSIS (IEC 61400-21)
Figure 23.5.9: Use of the Waveform Plot to display Harmonic Distortion
For a more detailed description of this type of plot, see Section 17.5.7 (The Waveform Plot). For other
types of plots, it should be noted that as the results of the discrete harmonic analysis are discrete,
the plots generated from the result le 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 selecting Bars in the
Presentation frame.
23.6 Flicker Analysis (IEC 61400-21)
The IEC standard 61400-21 [14] describes the measurement and assessment of power quality charac-
teristics of grid connected wind turbine generators (WTGs). One of these power quality characteristic
parameters pertains to voltage uctuations. Voltage uctuations can produce undesirable effects on the
consumer side which may manifest as icker (visible ickering effects from light sources), and voltage
changes (voltage magnitude being too high or too low).
In the assessment of a WTGs power quality in terms of voltage uctuations, the operation of WTGs
can be subdivided into two modes: continuous operation and switching operations (see Sections 23.6.1
(Continuous Operation) and 23.6.2 (Switching Operations) for denitions). These modes of operation
are considered by the PowerFactory icker calculation, which calculates the short-term and long-term
icker disturbance factors. See Section 23.6.6 (Flicker Result Variables) for a list of the icker result
variables available. The calculation of icker is performed optionally as part of the harmonic load ow
command. For a detailed description of how to congure and execute a harmonic load ow, including
the calculation of icker, refer to Section 40.4.1 (Basic Options).
DIgSILENT PowerFactory 15, User Manual 507
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
23.6.1 Continuous Operation
Continuous operation is dened in IEC standard 61400-21 as the normal operation of the wind turbine
generator (WTG) excluding start-up and shut-down operations. The short-term and long-term icker
disturbance factors during continuous operation are dened in [14] as:
P
st
= P
lt
= c(
k
, v
a
)
S
n
S
k
(23.16)
where P
st
is the short-term icker disturbance factor; P
lt
is the long-term icker disturbance factor; c is
the icker coefcient for continuous operation;
k
is the network impedance angle (degrees); v
a
is the
average annual wind speed (m/s); S
n
is the rated apparent power of the wind turbine (VA); and S
k
is the
short-circuit apparent power of the grid (VA).
When more than one WTG exists at the point of common coupling (PCC), the summed short-term and
long-term icker disturbance factors for continuous operation are described in [14] as:
P
st
= P
lt
=
1
S
k

N
wt

i=1
(c(
k
, v
a
) S
n,i
)
2
(23.17)
where N
wt
is the number of wind turbine generators at the PCC.
23.6.2 Switching Operations
Switching operations are dened in IEC standard 61400-21 as start-up or switching between wind tur-
bine generators (WTGs). In this mode of operation, the short-term and long-term icker disturbance
factors during switching operations are dened in [14] as:
P
st
= 18 N
10
0.31
k
f
(
k
)
S
n
S
k
(23.18)
where N
10
is the number of switching operations in a 10-minute period; k
f
is the icker step factor;
k
is the network impedance angle (degrees); S
n
is the rated apparent power of the wind turbine (VA); and
S
k
is the short-circuit apparent power of the grid (VA).
P
lt
= 8 N
120
0.31
k
f
(
k
)
S
n
S
k
(23.19)
where N
120
is the number of switching operations in a 120-minute period; k
f
is the icker step factor;

k
is the network impedance angle (degrees); S
n
is the rated apparent power of the wind turbine (VA);
and S
k
is the short-circuit apparent power of the grid (VA).
When more than one WTG exists at the PCC, the short-term icker disturbance factor under switching
operations is dened in [14] as:
P
st
=
18
S
k
_
N
wt

i=1
N
10,i
(k
f,i
(
k
) S
n,i
)
3.2
_
0.31
(23.20)
Likewise, the long-term icker disturbance factor under switching operations is dened as:
P
lt
=
8
S
k
_
N
wt

i=1
N
120,i
(k
f,i
(
k
) S
n,i
)
3.2
_
0.31
(23.21)
where N
wt
is the number of WTGs at the PCC.
The relative voltage change (in units of %) due to the switching operation of a single WTG is computed
as [14]:
d = 100 (k
u
(
k
)
S
n
S
k
(23.22)
508 DIgSILENT PowerFactory 15, User Manual
23.6. FLICKER ANALYSIS (IEC 61400-21)
23.6.3 Flicker Contribution of Wind Turbine Generator Models
The calculation of icker according to IEC standard 61400-21 in PowerFactory considers icker contri-
butions of the following generator models:
Static generator (ElmGenstat )
Asynchronous machine (ElmAsm)
Doubly-fed asynchronous machine (ElmAsmsc)
In order for these models to be able to contribute icker, their icker contributions must rst be dened
and assigned, as described in Sections 23.6.4 (Denition of Flicker Coefcients) and 23.6.5 (Assign-
ment of Flicker Coefcients).
23.6.4 Denition of Flicker Coefcients
Flicker coefcients are dened in PowerFactory by means of the Flicker Coefcients type (TypFlicker ),
as illustrated in Figure 23.6.1. When created, this is stored by default in the Equipment Type Library
folder in the project tree.
Figure 23.6.1: Denition of Flicker Coefcients using the Flicker Coefcients Type (TypFlicker )
The Flicker Coefcients type allows the input of six parameters (all of which are dened in IEC standard
61400-21):
Network Angle, psi (degrees) This is the network impedance angle and must be entered in either the
range [-180,180] (default), or [0,360]. Any mix of these ranges is not permitted. Network angles must
be entered in ascending order.
Coefcient, c(psi) The icker coefcient as a function of the network impedance angle.
Step Factor, kf(psi) The icker step factor as a function of the network impedance angle.
Voltage Change Factor, ku(psi) The voltage change factor as a function of the network impedance
angle.
DIgSILENT PowerFactory 15, User Manual 509
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
Maximum Switching Operations: N10 The maximum number of switching operations in a 10-minute
period.
MaximumSwitching Operations: N120 The maximumnumber of switching operations in a 120-minute
period.
23.6.5 Assignment of Flicker Coefcients
The Harmonics page of these elements dialogues contains a Flicker Contribution section which allows
the assignment of Flicker Coefcients. This is illustrated for the case of an asynchronous machine in
Figure 23.6.2.
Figure 23.6.2: Assignment of Flicker Coefcients in an Asynchronous Machine (ElmAsm)
If Flicker Coefcients is left unassigned, the generator is then considered to be an ideal source for the
icker calculation, as illustrated in Figure 23.6.3.
510 DIgSILENT PowerFactory 15, User Manual
23.7. SHORT-CIRCUIT POWER SK
Figure 23.6.3: Asynchronous Generator (ElmAsm) Model as Ideal Source
23.6.6 Flicker Result Variables
Following the calculation of icker according to IEC 61400-21, the following result variables for every
node in the network are available in the single line graphic. It should be noted that PowerFactory
calculates these icker disturbance factors and relative voltage change for impedance angles with lines
at 20 degrees Celsius and at maximum operation temperature. The following result variables are the
worst-case values in the impedance angle range, which is based on the temperature range:
Pst_cont ; Plt_cont : short-term and long-term icker disturbance factors for continuous operation
of the wind turbine generator/s;
Pst_sw; Plt_sw: short-term and long-term icker disturbance factors for switching operations of
the wind turbine generator/s;
d_sw: relative voltage change (as a percentage).
For the mathematical denitions of these result variables, refer to Sections 23.6.1 (Continuous Opera-
tion) and 23.6.2 (Switching Operations).
23.7 Short-Circuit Power Sk
For power quality assessment, the network impedance of the grid under normal operating conditions is
usually used as the basis for calculations. This impedance is represented by the short-circuit power, Sk,
of the grid. Hence, for power quality assessment at a point V in the grid, this short-circuit power, SkV ,
under normal operating conditions is used instead of the short-circuit power of the faulted grid according
to short-circuit calculations. If the option Calculate Sk at Fundamental Frequency is enabled (see
Section 40.4.1 (Basic Options)), the short-circuit power of the grid under normal operation is available
in the calculation results.
DIgSILENT PowerFactory 15, User Manual 511
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
23.7.1 Balanced Harmonic Load Flow
For the balanced harmonic load ow, the calculation of the short-circuit power, Sk, at each bus is as
follows:
Sk =
1
|Z
bus
|
(MVA) (23.23)
where Z
bus
is the impedance calculated at the bus.
The calculation of the impedance angle, psik, at each bus is as follows:
psik =

Z
bus
(degrees) (23.24)
where Z
bus
is the impedance calculated at the bus.
23.7.2 Unbalanced Harmonic Load Flow
For the unbalanced harmonic load ow, the calculation of the short-circuit power, Sk, at each bus is as
follows:
Sk =
1
|Z1
bus
|
(MVA) (23.25)
where Z1
bus
is the positive sequence impedance calculated at the bus.
The calculation of the impedance angle, psik, at each bus is calculated as follows:
psik =

Z1
bus
(degrees) (23.26)
where Z1
bus
is the positive sequence impedance calculated at the bus.
23.7.2.1 Calculation of Impedance Ratios
The following impedance ratios are calculated following an unbalanced harmonic load ow (if option
Calculate Sk at Fundamental Frequency has been selected):
z2tz1kV =
|Z2|
|Z1|
(23.27)
x0tx1kV =
X0
X1
(23.28)
r0tx0kV =
R0
X0
(23.29)
23.7.3 Sk Result Variables
Following either a balanced or an unbalanced harmonic load ow calculation with the option Calculate
Sk at Fundamental Frequency selected, the following result variables are available for every 3-phase
bus in the network:
SkV: short-circuit power (MVA)
psikV: impedance angle (degrees)
For the mathematical denitions of these result variables, refer to Section 23.7.1 (Balanced Harmonic
Load Flow), and 23.7.2 (Unbalanced Harmonic Load Flow).
Following an unbalanced harmonic load ow with the option Calculate Sk at Fundamental Frequency
selected, the following additional result variables are available for every 3-phase bus in the network:
512 DIgSILENT PowerFactory 15, User Manual
23.8. CONNECTION REQUEST
z2tz1kV: Impedance ratio
x0tx1kV: Impedance ratio
r0tx0kV: Impedance ratio
For the mathematical denitions of these impedance ratio result variables, refer to Section 23.7.2.1
(Calculation of Impedance Ratios).
23.7.4 Short-Circuit Power of the External Grid
The external grid element, ElmXnet, allows the calculation of the network impedance to be based on
the short-circuit power, Sk, and impedance angle, psik. This option can be selected in the external
grid element on the Harmonics/Power Quality page, by using the Use for calculation drop-down box
and selecting Sk. User input elds are then available for the short-circuit power, Sk (MVA), impedance
angle, psik (deg), and impedance ratios z2tz1kV, x0tx1kV, and r0tx0kV.
The impedance of the external grid, which is taken into account for power quality assessment, is cal-
culated internally based on either the short-circuit power, Sk, at normal operation; the maximum short-
circuit power, Skmax for faulted operation; or the minimum short-circuit power Skmin for faulted oper-
ation, depending on the users selection.
Data for SkV, psikV, z2tz1kV, x0tx1kV, and r0tx0kV can rst be calculated from a detailed network
model using the Harmonic Load Flow command option Calculate Sk at Fundamental Frequency (refer
to Section 23.7.3 (Sk Result Variables)), performed, for example, by the network operator. A third party,
(i.e. a wind farm planner) could get this information for the point of common coupling (PCC for the
planned wind farm) from the network operator. The planner can then enter the data into the external
grid element, which is a simplied representation of the network as seen from the PCC.
23.8 Connection Request
For power quality assessment, PowerFactory offers a Connection Request Assessment command (
ComConreq) and corresponding element ( ElmConreq). The Connection Request Assessment com-
mand, in conjunction with the Connection Request element, facilitates the execution of a power quality
assessment according to the Method selected in the command.
23.8.1 Connection Request Assessment: D-A-CH-CZ
The selection of D-A-CH-CZ as the Method in the Connection Request Assessment command carries
out a power quality assessment according to [13] and [15]. These standards consider the following
aspects of power quality for 50Hz networks, operating at low-voltage (LV), medium-voltage (MV) or
high-voltage (HV) levels:
Voltage changes and icker
Voltage unbalance
Harmonics
Commutation notches
Interharmonic voltages
The following assumptions apply to PowerFactory s Connection Request Assessment according to D-
A-CH-CZ:
DIgSILENT PowerFactory 15, User Manual 513
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
All customer installations are either loads or motors;
Calculations are valid for 50Hz networks only;
The PCC is the busbar to which the Connection Request element is connected;
Each Connection Request element is assessed independently from all other Connection Request
elements;
The short-circuit power, Sk, is calculated using a line/cable temperature of 70

C for LV networks;
and 20

C for MV and HV networks.


For the calculation of icker, voltage changes are regular and rectangular;
For the calculation of icker, Plt=Pst (i.e. 2h observation period);
For HV networks, resonances are not considered by the harmonics assessment.
23.8.1.1 Basic Options
Method
According to D-A-CH-CZ Assesses network disturbances according to [13] and [15].
Calculations
All calculations are carried out according to the selection of Method described above.
Voltage Changes and Flicker Calculates the voltage change, d and icker severity Pst, Plt
at the point of common coupling, and assesses these according to appropriate limits. For the
calculation of icker, voltage changes are assumed to be regular and rectangular.
Voltage Unbalance Calculates the voltage unbalance factor, kU, and assesses this according to
appropriate limits.
Harmonics Assesses the harmonic content based on user input in the Connection Request
element, and makes an assessment according to appropriate limits. It should be noted that for
HV networks, resonances are not considered.
Commutation Notches Calculates the relative relative short-circuit voltage of the commutation
reactance, ukkom. It should be noted that no approval status is provided following the Commuta-
tion Notches calculation, but instead a recommendation.
Interharmonic Voltages For LV and MV networks, assesses the effect of user-dened inter-
harmonic voltages in the icker critical range and on the ripple control frequency. For LV and
MV networks, limits are taken from EN 61000-2-2. For HV networks, assesses the user-dened
harmonic load and user-dened interharmonic voltages against appropriate limits.
23.8.1.2 Outputs
Report
Prints a Connection Request Assessment summary report in PowerFactory s output window.
23.8.2 Connection Request Element
The Connection Request element ( ElmConreq) allows the input of data for a network user instal-
lation. It should be noted that data input applies to network installations comprising loads and motors
only.
514 DIgSILENT PowerFactory 15, User Manual
23.8. CONNECTION REQUEST
23.8.2.1 Basic Data
Input Mode Selection of mode of data input.
Connected Load, Sa The apparent power (kVA) for which the installation of the network user is dened.
Apparent Power Change, dSa Apparent power change (kVA) for devices and installations, relevant to
the assessment of network disturbances.
Angle, phi The angle (degrees) of the installation of the network user.
Displacement Factor, cos(phi) The quotient of the active power and the apparent power, relative to
the fundamental voltage and current.
Active Power Change, dPa Active power change (kW) for devices and installations, relevant to the
assessment of network disturbances.
Reactive Power Change, dQa Reactive power change (kvar) for devices and installations, relevant to
the assessment of network disturbances.
Rated Voltage, Ur The rated voltage (V) of the motor. Applicable only when Input Mode is set to Motor
Data.
Rated Current, Ir The rated current (A) of the motor. Applicable only when Input Mode is set to Motor
Data.
Starting Current Ratio, Ia/Ir The ratio of the motor starting current (A) to the motor rated current (A).
Valid range is [3-8]. Applicable only when Input Mode is set to Motor Data.
23.8.2.2 D-A-CH-CZ
Voltage Changes and Flicker
Load Technology The type of connection of the user installation.
Transformer Characteristic Number The transformer characteristic number.
Repetition Rate The repetition rate (1/min). PowerFactory uses the Pst=1 curve (see [13]) for
the calculation of icker, and therefore supports repetition rates <= 1800/min.
Shape Factor The shape factor. Used for the conversion of special shapes of voltage change
characteristics into icker-equivalent voltage jumps.
Voltage Unbalance
Load Technology The type of connection of the user installation (3PH, 1PH PH-PH, 1PH).
Pre-existing voltage unbalance level in entire grid The voltage unbalance level (%) pre-
existing in the network under assessment. Relevant to HV networks only.
Pre-existing two-phase installations in entire grid Should be ticked if there are pre-existing
two-phase installations in the network under assessment. Relevant to HV networks only.
Harmonics
Input of Device Data: According to Groups Device data used for calculation of the harmonic
load. Input according to Groups dened in [13] and [15].
Input of Device Data: According to Total Harmonic Distortion (THDi) Device data used for
calculation of the harmonic load. Input according to Total Harmonic Distortion is automatically
DIgSILENT PowerFactory 15, User Manual 515
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
classied into corresponding Groups (as dened in [13] and [15]) and displayed as read-only
data in the table.
Maximum Connectable Power of all Consumer Installations Used in the calculation of har-
monic current emission limits and subsequently, THDiA. Relevant to HV networks only.
Commutation Notches
Converter Nominal Power Nominal power of the converter (kVA). Used in the calculation of the
commutation reactance short-circuit voltage.
Number of Pulses Number of pulses of converter. Used in the calculation of the commutation
reactance short-circuit voltage.
Worst-Case Converter Angle Worst-case angle of the converter (degrees). Used in the calcu-
lation of the commutation reactance short-circuit voltage. Relevant to HV networks only.
Interharmonic Voltages
Input of Interharmonics for Entire Installation: Harmonic Voltages (Spectral Lines) Table of
interharmonic voltage magnitudes, dened according to spectral lines.
Input of Interharmonics for Entire Installation: Harmonic Current Injections (Spectral Lines)
Table of interharmonic current injections, dened according to spectral lines.
Input of Interharmonics for Entire Installation: Harmonic Voltages (Groups) Table of inter-
harmonic voltage magnitudes, dened according to groups.
Input of Interharmonics for Entire Installation: Harmonic Current Injections (Groups) Table
of interharmonic current injections, dened according to groups.
Devices (HV Networks only) List of devices which create interharmonics. The harmonic load
content is calculated as either: the sum of the nominal powers of all identical units; or, the nominal
power of the highest-rated (power) unit. Relevant to HV networks only.
Converter Power (Devices and Installations) Used to calculate the ratio of short-circuit power
to converter power. Relevant to LV and MV networks only.
Ripple Control Frequency The frequency of the ripple control (Hz).
Converter Type: Frequency Converter
Converter Type: Pulse-Width Modulated Rectier
Switching Frequency The converter switching frequency (Hz). Applies to selection of Converter
Type as Pulse-Width Modulated Rectier.
23.8.3 Connection Request Assessment Report
Following the execution of a Connection Request Assessment, a detailed report for each Connection
Request element is printed in PowerFactory s output window. The report is divided into the following
sections:
Assessment status (overall, and per calculation)
Basic Data
PCC Data
Results per Calculation (depending on user selection of Calculations in Connection Request As-
sessment command dialogue.)
516 DIgSILENT PowerFactory 15, User Manual
23.9. DEFINITION OF RESULT VARIABLES
23.9 Denition of Result Variables
In order to record the results of either the Harmonic Load Flow or Frequency Sweep calculation, the
variables of interest must be dened. However, for each of these calculations, a small selection of
variables are recorded by default in the result object dened on each commands Basic Data page by
the Result Variables parameter. For the Harmonic Load Flow the following variables are recorded by
default (PowerFactory variable names are italicized):
Harmonic order (-);
Frequency (Hz);
HD (%) (for terminals);
Voltage across inductor (p.u.) (url ) (for shunts/lters);
Voltage across capacitor (p.u.) (uc) (for shunts/lters);
Current through inductor (A) (IL) (for shunts/lters);
Current through resistor Rp (A) (IRp) (for shunts/lters);
Current through capacitor C (A) (IC) (for shunts/lters);
Voltage across capacitor C1 (A) (uc1) (for shunts/lters);
Voltage across capacitor C2 (A) (uc2) (for shunts/lters);
Voltage across resistor Rp (p.u.) (urp) (for shunts/lters);
For the Frequency Sweep, the following variables are recorded by default:
Harmonic order (-);
Frequency in Hz (Hz);
In order to dene additional variables to be recorded, a two-step process is required of rstly creating
the desired Variable Set and then selecting the variables for recording within these sets. These steps
are described in Sections 23.9.1 (Denition of Variable Sets) and 23.9.2 (Selection of Result Variables
within a Variable Set), respectively.
23.9.1 Denition of Variable Sets
To dene a Variable Set, right-click on a network component (or multi-select several network compo-
nents and right-click), either in the single-line diagram or in the data manager, and select the option
Dene Variable Set (Harmonic Load Flow); or Dene 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 pa-
rameter Result Variables on the Basic Options page of the Harmonic Load Flow or Frequency Sweep
command dialogue).
All results of harmonic analyses, with the exception of the harmonic load ow using option Single Fre-
quency (for which no results are recorded), are stored in a normal result object (ElmRes). This result
object stores the result variables against the frequency for which they were calculated. For more infor-
mation about the result object, see Section 17.2.4 (Result Objects).
To access the variable sets, click on the Edit Result Variables button on the main toolbar. There are
two instances of this button: one associated with the Harmonic Load Flow and one associated with the
Frequency Sweep. Select the button associated with the relevant calculation. The variable set manager
DIgSILENT PowerFactory 15, User Manual 517
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
dialogue will open which displays the list of all dened variable sets for that calculation. After the variable
set has been created and its variables have been dened, each variable set contains the variables of
interest for a single object. A window is opened automatically following the denition of a new variable
set, as shown in Figure 23.9.1, displaying the list of variable sets. In Figure 23.9.1, three variable sets
have been dened for three different network elements: one for load element General Load" one for
line element Line 1" and one for terminal element Sym-Terminal".
Figure 23.9.1: Example of a List of Variable Sets
A new variable set can also be dened by clicking on the New button , shown in the top left corner
of Figure 23.9.1. By doing this, the Variable Set dialogue will appear as shown in Figure 23.9.2. To
proceed with selecting the result variables for the variable set, see Section 23.9.2 (Selection of Result
Variables within a Variable Set). For further information on variable sets, refer to Chapter 17: Reporting
and Visualizing Results.
23.9.2 Selection of Result Variables within a Variable Set
The selection of result variables for a variable set can only proceed when the column labelled Object for
any dened variable set (as shown in Figure 23.9.1) is set. This can be done by either double-clicking
the appropriate cell of the Object column, or by right-clicking the cell and selecting Select Element....
This binds the variable set to a specic object or network element.
A single variable set from the variable sets list can be accessed (and the desired variables dened)
by either double-clicking on the icon in the corresponding row, for example in the case of the Sym-
Terminal" in Figure 23.9.1), or by right-clicking on the icon and selecting the Edit menu option. The
Variable Set object (IntMon) dialogue opens, as shown in Figure 23.9.2 for the example of the Sym-
Terminal. By selecting the Harmonics/Power Quality page of this dialogue, a list of all result variables
that are available for the selected object (applicable to harmonics analysis or frequency sweep) is then
available for selection. The Object eld in the dialogue in Figure 23.9.2 shows that the variable set is
dened for the network element Sym-Terminal".
518 DIgSILENT PowerFactory 15, User Manual
23.9. DEFINITION OF RESULT VARIABLES
Figure 23.9.2: Selection of Harmonics Analysis Result Variables for a Terminal
Result variables may be added or removed from the set of selected variables by highlighting the desired
variable and pressing the left or right arrow buttons . Additionally, different variables are available
for selection depending on the selection made from the Variable Set drop-down list. This drop-down list
is available in the Filter for section on the Harmonics/Power Quality page of the Variable Set dialogue,
as displayed in Figure 23.9.2. For further information on variable sets, refer to Chapter 17: Reporting
and Visualizing Results.
DIgSILENT PowerFactory 15, User Manual 519
CHAPTER 23. POWER QUALITY AND HARMONICS ANALYSIS
520 DIgSILENT PowerFactory 15, User Manual
Chapter 24
Flickermeter
24.1 Introduction
In terms of power quality, the term icker is used to describe the phenomenon of unwanted, rapidly
uctuating light levels due to voltage uctuations. The IEC 61000-4-15 standard species the function
and design of apparatus for the measurement of icker, termed the Flickermeter. This Flickermeter
comprises ve functional blocks which, via the use of multipliers, weighting lters, and smoothing and
squaring operations, perform the tasks of simulating the lamp-eye-brain chain response, and statistically
evaluating the icker signal [12]. PowerFactory provides a Flickermeter command for the calculation of
the short-term and long-term icker according to IEC 61000-4-15.
The following sections explain the calculation of short- and long-term icker by the Flickermeter com-
mand, as well as its conguration and handling.
24.2 Flickermeter (IEC 61000-4-15)
24.2.1 Calculation of Short-Term Flicker
The short-term icker value P
st
calculated according to IEC 61000-4-15 is a measure of the severity of
the icker based on an observation period of 10 minutes. It is dened mathematically as follows [12]:
P
st
=
2

(0, 0314 P
0.1
) + (0, 0525 P
1s
) + (0, 0657 P
3s
) (24.1)
+(0, 28 P
10s
) + (0, 08 P
50s
)
where the percentiles P
0,1
,P
1
,P
3
,P
1
0 and P
5
0 are the icker levels exceeded for 0.1; 1; 3; 10; and 50%
of the time during the observation period. The subscript s used in the above formula indicates that
smoothed values should be used, which are dened as follows [12]:
P
50s
=
P
30
+P
50
+P
80
3
(24.2)
P
10s
=
P
6
+P
8
+P
10
+P
13
+P
17
5
(24.3)
P
3s
=
P
2,2
+P
3
+P
4
3
(24.4)
DIgSILENT PowerFactory 15, User Manual 521
CHAPTER 24. FLICKERMETER
P
1s
=
P
0,7
+P
1
+P
1,5
3
(24.5)
24.2.2 Calculation of Long-Term Flicker
The calculation of the severity of long-term icker, P
lt
, considers the short-term icker severity values
over a longer period of time and is calculated according to the following equation [12]:
P
lt
=
3

N
i=1
P
3
sti
N
(24.6)
where P
sti
(i = 1, 2, 3, . . .) are the consecutive P
st
values and N is the number of observation periods.
It can be seen from [12] that when N = 1, Plt = Pst.
24.3 Flickermeter Calculation
24.3.1 Flickermeter Command
This command is accessible via the Flickermeter button in the Harmonics toolbar, which is ac-
cessible by selecting Harmonics/Power Quality when clicking on the button Change Toolbox . The
PowerFactory Flickermeter command dialogue is shown in Figure 24.3.1.
Figure 24.3.1: Data Source Page of Flickermeter Command (ComFlickermeter )
522 DIgSILENT PowerFactory 15, User Manual
24.3. FLICKERMETER CALCULATION
24.3.2 Data Source
File Input
Import data from Species the type of data le containing the input data. There are ve le
types available for selection.
Filename The name of the input data le.
Result File The name of the input PowerFactory result le.
Conguration File Relevant to ComTrade input les only. The name of the corresponding con-
guration le.
Info A summary of information read from the le.
Use System Separators Relevant to comma-separated value (CSV) input les only. Tick the
checkbox to use the same separators for parsing the le as those used by the operating system.
When unchecked, separators are user-denable.
Separator for columns In the case of a Power Factory Measurement File as the input le type,
this indicates the character used as a separator for the columns in the le. In the case of a User
Dened Text File as the input le type, the separator may be selected as one of Tab, Space or
Other (user-dened).
Decimal Separator Indicates the separator used for decimal numbers. This is user-denable for
a User Dened Text File as the input le type
Selection of Data for Calculation
This table allows the selection of input le data to be analyzed. The leftmost column (with labels y1, . . .,
y24) provides a naming convention for the output of results, indicating which time-series signals from
the input le were analyzed.
Element Relevant only to a Result File input le type. Used to specify the element from the result
le for which a variable to analyze will be selected. This variable is then specied in the Variable
column of the same table
Variable Relevant only to a Result File input le type. Used to specify the variable for the Flicker-
meter command to analyze. This variable is associated with the selected Element (see above).
Column Number Refers to the column/s in the input le which correspond to the time-series
signal/s to be analyzed.
Variable Name For ComTrade les, the variable name is automatically read from the input le
and displayed in the Variable Name column. No variable name is provided for other le types.
Calculate Pst Allows the user to select the signals in the input le for which to calculate the
short-term icker (P
st
). Valid for all input le types with the exception of result les.
24.3.3 Signal Settings
Signal Settings
Signal Type Selection of either EMT or RMS input signal type.
Specify start time User-dened start time at which data should be read from le. This is an
absolute time value that exists within the input le, from which data will be read. If this value
cannot be found in the le, the next time point after the specied start time will be used instead.
DIgSILENT PowerFactory 15, User Manual 523
CHAPTER 24. FLICKERMETER
Resample Data The input data will be resampled by the user-dened New Sampling Rate. If
the time step of the data within the input le is not constant, the Flickermeter calculation will
automatically resample the data at the average sampling rate taken from the input le.
New Sampling Rate User-dened sampling rate at which data will be resampled if option Re-
sample Data has been selected.
Note: The minimum sampling rate required for instantaneous input data is 400Hz, and for RMS input
data is 800Hz.
Calculation Settings
Observation Period The time period over which the icker will be analyzed.
Calculate Plt Perform calculation of long-term icker P
lt
. When this option is checked, a result
le is written.
Observation Periods The number of successive observation periods (or time windows") to an-
alyze.
24.3.4 Advanced Options
Input signals for Flickermeter can be either RMS or EMT signals. The algorithm treats both of these in-
puts the same, with the exception of the weight lter coefcients, scaling factor and the cut-off frequency
used. The weight lter coefcients are preset (see Table 24.3.1), however the scaling factor and cut-off
frequency are user-denable parameters and are described below.
Parameter Denitions
Cut-off Frequency Cut-off frequency of Butterworth lter (Hz). When using an RMS input signal,
the cut-off frequency is set to 50Hz; when using an EMT input signal, its default value is 35Hz but
can be user-dened.
Filter Offset The offset (in seconds) for the lters to stabilize. A positive, non-zero offset should
always be entered. When using an RMS input signal, the lter offset is set to 5s; when using an
EMT input signal its default value is 5s but can be user-dened. A value of 5s is the minimum
amount of time required to initialize the lters and to attenuate the initial transient.
Scaling Factor Calibration parameter. When using an RMS input signal, the scaling factor is set
to 300469,4835 (dened as 2 / (0.0025*0.0025) / 1.065). When using an EMT input signal, its
default value is 303317,5 but can be user-dened.
Set to default Resets the Cut-off Frequency, Filter Offset and Scaling Factor to default values.
Constant Sampling Rate
Variable EMT (from IEC 61000-4-15) RMS
1, 74802 1, 74
2 4, 05981 2 4, 1

1
2 9, 15494 2 9, 15

2
2 2, 27979 2 2, 27979

3
2 1, 22535 2 1, 22535

4
2 21, 9 2 1000
Table 24.3.1: Flickermeter Weight Filter Coefcients
524 DIgSILENT PowerFactory 15, User Manual
24.3. FLICKERMETER CALCULATION
Tolerance Tolerance for determining whether the sampling rate is constant or not. This tolerance
is considered on the Data Source page in the Info frame when displaying the Constant Sampling
Rate parameter.
Result Variables This displays the location of the stored result variables. The result object can be
directly accessed by clicking on the arrow button . It should be noted that the Result Variables
parameter is only visible if the Calculate Plt checkbox on the Signal Settings page has been selected
and the value entered for the Observation Periods on the Signal Settings page is greater than 1.
Report Results of the Flickermeter calculation are displayed in PowerFactory s output window provided
that Report has been selected.
Note: When executing the Flickermeter command within DPL, the command option Report must be
disabled.
Command Displays the command used to output results. The Flickermeter command will write
results to a result le provided that option Calculate Plt on the Signal Settings page has been
selected. The result le used can be accessed via the dialogue which opens when the Command
button is pressed.
Additionally, results of the Flickermeter command can be viewed within the Data Manager as Flexible
Data of the Flickermeter command itself. The relevant variable names for selection when dening the
Flexible Data are b : Pst_y1, . . ., b : Pst_y24, for short-termicker values; and b : Plt_y1, . . ., b : Plt_y24
for long-term icker values). In this case, viewing the results of a Flickermeter calculation will appear
similar to that illustrated in Figure 24.3.2. It should be noted that when multiple Observation Periods
have been calculated, only the Plt results will be displayed (Pst results are shown as 0); and for a single
Observation Period the Pst results will be displayed. For further information on dening Flexible Data
in the Data Manager in PowerFactory , refer to Chapter 10: Data Manager, Section 10.6(The Flexible
Data Page Tab).
Figure 24.3.2: Using Flexible Data to Access Flickermeter Results
24.3.5 Input File Types
The Flickermeter command can handle ve different input le types. The conguration of the Flick-
ermeter command for each le type differs slightly, and is therefore described for each case in this
section.
Note: The minimum sampling rate required for instantaneous input data is 400Hz, and for RMS input
data is 800Hz.
ComTrade
DIgSILENT PowerFactory 15, User Manual 525
CHAPTER 24. FLICKERMETER
If a ComTrade le has been selected as input to the Flickermeter command, the command dialogue
will look similar to that shown in Figure 24.3.3. The Conguration File corresponding to the ComTrade
data le is automatically displayed, as is the Sampling Rate as read from the ComTrade conguration
le. The Selection of Data for Calculation table shows the column number and corresponding variable
name as read from the ComTrade conguration le and also a user selection for which the short-term
icker value should be calculated (checkbox in the Calculate Pst column). In the example shown in
Figure 24.3.3, a single variable has been selected for analysis. It can be read from this table that this
variable corresponds to column 1 of recorded data in the ComTrade input data le. See Section 24.3.2
(Data Source) for information on other Flickermeter command options.
Figure 24.3.3: Conguration of Flickermeter Command for ComTrade Input File
Comma Separated Values and User Dened Text Files
If a Comma Separated Values (CSV) le or a user dened text le has been selected as input to the
Flickermeter command, the command dialogue will look similar to that shown in Figure 24.3.4. For a
CSV le or user dened text le, the Selection of Data for Calculation table shows that variables can be
selected for analysis according to their corresponding column number in the input le. In the example
illustrated, data from column 1 has been selected for analysis. See Section 24.3.2 (Data Source) for
information on other Flickermeter command options.
526 DIgSILENT PowerFactory 15, User Manual
24.3. FLICKERMETER CALCULATION
Figure 24.3.4: Conguration of Flickermeter Command for CSV or User Dened Text Input File
PowerFactory Measurement File If a PowerFactory Measurement File has been selected as input to
the Flickermeter command, the command dialogue will look similar to that shown in Figures 24.3.5
and 24.3.6. The PowerFactory Measurement File is a simple ASCII le containing a column of data for
each variable recorded in it. Hence, it can be seen that the variable contained in column 5 of the le will
be analyzed by the Flickermeter command. The PowerFactory Measurement File can be used to record
results from other PowerFactory calculations and then used as input to the Flickermeter command.
For further information on the use of PowerFactory Measurement Files, please refer to Appendix C:
Technical References of Models, section C.7.5: File Object (ElmFile). See Section 24.3.2 (Data Source)
for information on other Flickermeter command options.
DIgSILENT PowerFactory 15, User Manual 527
CHAPTER 24. FLICKERMETER
Figure 24.3.5: Conguration of Flickermeter Command for PowerFactory Measurement File
Figure 24.3.6: Conguration of Flickermeter Command for PowerFactory Measurement File. Signal
Settings
Result File If a Result File has been selected as input to the Flickermeter command, the command
dialogue will look similar to that shown in Figure 24.3.7. Using a PowerFactory result le as the input le
type is practical when the user wants to rst record results from, for example, an EMS/RMS simulation
in a result le, and then analyze the icker contribution of one or more variables from this le. In
the example in Figure 24.3.7, the specied Element in the Selection of Data for Calculation table is a
terminal element (named LV Busbar") recorded in the result le, with its corresponding voltage selected
as the Variable to analyze. See Section 24.3.2 (Data Source) for information on other Flickermeter
command options.
528 DIgSILENT PowerFactory 15, User Manual
24.3. FLICKERMETER CALCULATION
Figure 24.3.7: Conguration of Flickermeter Command for Result File
DIgSILENT PowerFactory 15, User Manual 529
CHAPTER 24. FLICKERMETER
530 DIgSILENT PowerFactory 15, User Manual
Chapter 25
Quasi-Dynamic Simulation
25.1 Introduction
The load ow calculation, detailed in Chapter 21 considers the network under a single set of operating
conditions. In most electrical systems, engineers are interested in the performance of the system during
worst case operational conditions. However, due to the complexity of the network, it might be difcult
to intuitively understand what operating scenarios and network states cause such conditions. Conse-
quently, to determine the worst case operating conditions, engineers often must run several different
load-ow simulations with a range of operating conditions. This is usually achieved by modelling the
network dependence on time because most operational parameters have an underlying dependence
on time. For example:
Load is dependent on time due to daily and seasonal cyclic load variation.
Renewable sources such as solar and wind generation vary with solar insolation and wind speed
which are in turn functions of time.
Network variations, maintenance outages, faults and unscheduled outages normally have some
time dependence.
Equipment rating can also change due to the effects of wind and temperature.
Often when considering load ow variation over time, the engineer is not concerned with variations
on the time scale of seconds, rather they are more concerned with how the network performance is
changing on the scale of minutes to hours. It is of course possible to run a dynamic simulation with
explicitly modelled controllers and so on, and run this for several hours or longer of real time to simulate
such a network. However, this would take a large computational effort and furthermore, involves much
unnecessary complexity if only steady state load ow conditions are of interest. Consequently, it is
considered a reasonable and pragmatic approach to simulate so-called Quasi dynamic" phenomena
using a series of load-ow calculations and built in parameter dependence on time.
PowerFactory includes a dedicated time varying load ow calculation tool called the Quasi-Dynamic
Simulation. This tool completes a series of load ow simulations spaced in time, with the user given the
exibility to select the simulation period and the simulation step size. To achieve this, the Quasi-Dynamic
Simulation makes use of time based parameter characteristics (refer to Chapter 16), variations (refer to
Chapter 15), expansion stages and planned outages.
This chapter is divided into several sections. The rst section, Section 40.2, covers the technical back-
ground of the Quasi-dynamic simulations. Section 25.3 covers the procedure required to run a Quasi-
dynamic simulation and Section 25.4 covers the procedure for analysing the output of the simulation.
DIgSILENT PowerFactory 15, User Manual 531
CHAPTER 25. QUASI-DYNAMIC SIMULATION
25.2 Technical background
Consider a simplied power system network consisting of four loads, two conventional synchronous
machines, and a solar photo-voltaic power plant linked by transmission lines. A single line diagram of
the network is shown in Figure 25.2.1.
B04
B01
B02
B03
B05
T
-
30
~
P
V

S
y
s
t
e
m
T
-
20
T
-
10
LOAD_B02
LOAD_B05
L4-5
L2-3
L
2
-
5
L
3
-
4
L2-4
L1-5
L1-2a
G
~
G2
G
~
G1 LOAD_B04
LOAD_B03
D
I
g
S
I
L
E
N
T
Figure 25.2.1: Single line diagram of example network
In this case, the load would vary depending on the time of day, the solar output would vary also de-
pending on the insolation and consequently the conventional generators would be required to produce
varying levels of output to balance the system load and generation. The engineer might be interested to
see the line thermal loading and voltage in the network over a period of say one week or perhaps even
the seasonal variation over the course of one year. DPL or Python scripts could be written to achieve
this, however, by making use of the built-in parameter characteristics in PowerFactory and using the
Quasi-dynamic simulation tool, it is possible to complete such simulations very efciently.
Figure 25.2.2 shows an example of the type of output that be generated using this tool. The gure
shows a clear cyclical pattern in the generation output, the line loading and the bus voltages. After
determining the critical cases such a simulation, the engineer might also like to complete more detailed
RMS or EMT simulations on such cases to investigate potential short term issues. In this way, the
Quasi-dynamic simulation can be used as a useful screening tool.
532 DIgSILENT PowerFactory 15, User Manual
25.3. HOW TO COMPLETE A
QUASI-DYNAMIC SIMULATION
14:55:27 05:19:27 19:43:27 10:07:27 00:31:27 14:55:27
160.00
120.00
80.00
40.00
0.00
-40.00
G1: Active Power in MW
G2: Active Power in MW
PV System: Active Power in MW
14:55:27 05:19:27 19:43:27 10:07:27 00:31:27 14:55:27
50.00
40.00
30.00
20.00
10.00
0.00
L1-2a: Loading in %
L1-5: Loading in %
L2-3: Loading in %
L2-4: Loading in %
14:55:27 05:19:27 19:43:27 10:07:27 00:31:27 14:55:27
23.00
19.00
15.00
11.00
7.00
3.00
L2-5: Loading in %
L3-4: Loading in %
L4-5: Loading in %
14:55:27 05:19:27 19:43:27 10:07:27 00:31:27 14:55:27
1.07
1.05
1.03
1.01
0.99
0.97
B02: Voltage, Magnitude in p.u.
B03: Voltage, Magnitude in p.u.
B04: Voltage, Magnitude in p.u.
B05: Voltage, Magnitude in p.u.
D
Ig
S
IL
E
N
T
Figure 25.2.2: An example of weekly power ows in the example system calculated using the Quasi-
Dynamic simulation tool
25.3 How to complete a
Quasi-Dynamic Simulation
To run a Quasi-dynamic simulation requires the following steps:
1. The setup of parameter characteristics on time varying components of the network. Refer to
Chapter 16 for more information on parameter characteristics.
2. Optional: Conguring of network variations to model planned network augmentations. Refer to
Chapter 15.
3. Dening the variables to be monitored during the simulation. Refer to Section 25.3.1.
4. Running the simulation. Refer to Section 25.3.2.
5. Analysing the results. Refer to Section 25.4.
The following sections explain these aspects in additional detail.
25.3.1 Dening the variables for monitoring in the Quasi dynamic simulation
Before running the Quasi-dynamic simulation, it is necessary to tell PowerFactory what variables to
record. To do this:
DIgSILENT PowerFactory 15, User Manual 533
CHAPTER 25. QUASI-DYNAMIC SIMULATION
1. Click and select Quasi Dynamic Simulation.
2. Click the button. A dialogue will appear.
3. Select the type of results to be dened, either AC, AC unbalanced or DC. Note, the type of vari-
ables that you want to monitor should match the type of load-ow calculation you are using for the
simulations.
4. Click OK. A tabular list showing the currently monitored variables will appear. By default Power-
Factory will record some default variables for Areas, Feeders, Grids, Terminals, Zones and Branch
elements.
5. Optional: Modify the default variables:
(a) Double-click the icon for the object. The variable browser dialogue will appear.
(b) Navigate to the appropriate page and select variables from the desired variable set.
(c) Click OK to return to the tabular list of variables.
6. Optional: Add recorded variables for another type of element/s:
(a) Click the icon. A blank dialogue will appear.
(b) To add recorded variables for all objects of a specic class (for example all PV systems):
i. Enter the object class in the Class Name eld. For example to record variables for all PV
systems enter ElmPvsys".
ii. Press tab to update the dialogue.
iii. Navigate to the desired page and select variables from the desired variable set.
iv. Click OK to return to the tabular list of monitored variables.
(c) To add recorded variables for a specic object:
i. Click the button.
ii. Choose Select . . . . A database navigation dialogue will appear.
iii. Locate target object and select it.
iv. Press OK to open the variable selection dialogue.
v. Navigate to the desired page, and select variables from the desired variable set.
7. Click Close to close the list of monitored variables.
25.3.2 Running the Quasi dynamic simulation
1. Click and select Quasi Dynamic Simulation.
2. Click to open the Quasi dynamic simulation dialogue.
3. Select the desired type of calculation, either AC, AC unbalanced or DC.
4. Optional: Click to edit and congure the load ow calculation settings used by the simulation.
5. Choose the time period to run the simulation for.
6. Choose the Day/Month/Year or user dened period for the simulation based on the option you
selected in the previous step.
7. Choose the step size time unit. PowerFactory allows you to choose from the following time units:
Seconds
Minutes
Hours
Days
Months
534 DIgSILENT PowerFactory 15, User Manual
25.4. ANALYSING THE QUASI-DYNAMIC
SIMULATION RESULTS
Years
8. Enter the step size in the Step eld. Note this must be an integer.
9. Optional: Select an alternative location in the PowerFactory database to store the results.
10. Optional: Congure the consideration of maintenance outages. Refer to Section 25.3.3
11. Click Execute to complete the simulation.
Note: After starting the Quasi-dynamic simulation, PowerFactory will determine the number of load-
ows required based on the entered step settings, and write this as information to the window.
Furthermore, a progress bar will be displayed at the bottom of the PowerFactory window indicat-
ing how far the simulation has progressed. Depending on the time period simulated and the step
size, the simulation might take some time.
25.3.3 Considering maintenance outages
In the Quasi-dynamic simulation it is possible to consider planned maintenance outages - this can also
include planned generator derating. To do this the simulation uses the PowerFactory object IntOutage.
For more information about dening planned outages refer to Section 12.3.5.
To make the Quasi-dynamic simulation consider the dened planned outages:
1. Select the Maintenance page in the Quasi-dynamic simulation command.
2. Check Consider Planned Outages to automatically consider all outages during the simulation.
3. Optional: Click Show Used Ones to show a list of all currently considered outages. Only those
outages that occur in the dened simulation period on the basic data page are shown in this list.
4. Optional: Click Show All to open a data navigator on the planned outages folder. From here it
is possible to see all outages that are dened within the project. Note, even those outages that
would not occur during the simulation period are shown in this view.
25.4 Analysing the Quasi-dynamic
simulation results
The Quasi-dynamic simulation results can be presented in tabular form using the built-in reports, and in
graphical form using the standard PowerFactory plot interface. Furthermore, PowerFactory also stores
summary statistics for every analysed variable. This section explains how to produce these three types
of output.
25.4.1 Plotting
To produce an output plot of the Quasi-dynamic simulation results follow these steps:
1. Click the icon. A standard PowerFactory plot dialog will appear.
2. Select the desired variables in the curves section.
3. Optional: Adjust the plot options according to your preferences. Refer to Section 17.5 for more
information on conguring standard plots in PowerFactory.
4. Click OK to create the plot in a new page.
DIgSILENT PowerFactory 15, User Manual 535
CHAPTER 25. QUASI-DYNAMIC SIMULATION
25.4.2 Quasi-Dynamic simulation reports
The Quasi Dynamic Simulation Report provides a means to summarise and examine system conditions
over the simulated time period. There are three different reports available:
Loading Ranges;
Voltage Ranges; and
Non-convergent cases.
The loading ranges report shows the maximum and minimum loading of each monitored branch element
and also the time that each of these occurred.
The voltage ranges report shows the minimum and maximum observed voltages at each monitored
terminal and the times that each of these occurred.
The non-convergent cases report shows a list of all the cases that did not converge and the time that
they occurred.
To show the reports:
1. Click the icon. A dialogue for conguring the reports will appear.
2. Choose the reports to be produced.
3. Optional: Enable a loading range lter. You can use this to only show branch elements that
exceeding a certain loading during the simulation. Note it is possible to alter the value of this lter,
in the report later on.
4. Optional: Enable a voltage range lter. Here you can enter a lower limit and an upper limit. Only
those terminals that had voltages recorded outside this range will show up in the report. It is also
possible to alter these values in the report subsequently.
5. Click OK to show the reports. They will be displayed in separate windows.
6. Optional: Click and choose Export to Excel or Export to HTML to export the results to Excel or
in an HTML format.
25.4.3 Statistical summary of monitored variables
Conveniently, PowerFactory also calculates summary statistics for every monitored variable in the Quasi-
dynamic simulation. The following quantities are determined automatically:
Average (mean)
Maximum
Minimum
Time of maximum
Time of minimum
Range
Standard Deviation. Note this is population standard deviation calculated according to:
=

_
x

x
_
2
n
(25.1)
536 DIgSILENT PowerFactory 15, User Manual
25.4. ANALYSING THE QUASI-DYNAMIC
SIMULATION RESULTS
Variance =
2
To show these results:
1. Click the icon and select the target object type of interest.
2. Click the Flexible data tab.
3. Click the icon to dene the shown variables.
4. Ensure the AC Load Flow Sweep page is selected.
5. Select the desired variables. For example avg" is the mean value of the variable during the
simulation and std" is the population standard deviation.
DIgSILENT PowerFactory 15, User Manual 537
CHAPTER 25. QUASI-DYNAMIC SIMULATION
538 DIgSILENT PowerFactory 15, User Manual
Chapter 26
Stability and EMT Simulations
The transient simulation functions available in DIgSILENT PowerFactory are able to analyze the dynamic
behaviour of small systems and large power systems in the time domain. These functions therefore
make it possible to model complex systems such as industrial networks and large transmission grids in
detail, taking into account electrical and mechanical parameters.
Transients, stability problems and control problems are important considerations during the planning,
design and operation of modern power systems. Studies involving electro-magnetic transients and
different aspects of stability may be conducted using time-domain simulations for varying time periods,
or dynamic or small-signal stability analysis tools using (for example) eigenvalue analysis.
A large range of AC and DC systems can be analyzed (i.e. transmission systems with detailed models
of power plants, complex HVDC systems, motor start-up), as well as a combination of both. Applica-
tions such as wind power integration or power electronics constitute new challenges in the analysis of
power systems, and as a result new models and techniques are provided in PowerFactory to meet these
requirements.
For modelling a variety of machines and controller units, as well as the electrical and mechanical compo-
nents of power plants, etc., PowerFactorys global library provides a large number of predened models.
This library includes models of generators, motors, controllers, motor driven machines, dynamic loads
and passive network elements. As an example, this library contains the IEEE standard models of power
plant controllers. Furthermore, the user can model specic 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 Change Toolbox icon ( );
Calculating the initial conditions for the simulation by either pressing the Initial Conditions on
the main toolbar, or by selecting Calculation StabilityInitial 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.
26.1 Introduction
The study of power system stability involves the analysis of the behaviour of power systems under
conditions before and after sudden changes in load or generation, during faults and outages. The
robustness of a system is dened by the ability of the system to maintain stable operation under normal
and perturbed conditions. It is therefore necessary to design and operate a power system so that
transient events (i.e. probable contingencies), can be withstood without the loss of load or loss of
DIgSILENT PowerFactory 15, User Manual 539
CHAPTER 26. STABILITY AND EMT SIMULATIONS
synchronism in the power system. Transients in electrical power systems can be classied according to
three possible timeframes:
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 analyze the complete range of transient phenomena in electrical power
systems. Consequently, there are three different simulation functions available:
1. A basic function which uses a symmetrical steady-state (RMS) network model for mid-term and
long-term transients under balanced network conditions;
2. A three-phase function which uses a steady-state (RMS) network model for mid-term and long-
term transients under balanced and unbalanced network conditions, i.e. for analyzing dynamic
behaviour after unsymmetrical faults;
3. An electromagnetic transient (EMT) simulation function using a dynamic network model for elec-
tromagnetic and electromechanical transients under balanced and unbalanced network condi-
tions. 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 Identication
Modal Analysis or Eigenvalue Analysis
Time-domain simulations in PowerFactory are initialized by a valid load ow, and PowerFactory functions
determine the initial conditions for all power system elements including all controller units and mechan-
ical components. These initial conditions represent the steady-state operating point at the beginning of
the simulation, fullling 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 representation
must be used for further analysis, what step sizes to use, which events to handle and where to store the
results.
The simulation uses an iterative procedure to solve AC and DC load ows, and the dynamic model
state variable integrals simultaneously. Highly accurate non-linear system models result in exact solu-
tions, including during high-amplitude transients. Various numerical integration routines are used for the
electromechanical systems (including voltage regulators and power system stabilizer) and also for the
hydro-mechanical or thermo-mechanical models.
The process of performing a transient simulation typically involves the following steps:
1. Calculation of initial values, including a load ow calculation;
2. Denition of result variables and/or simulation events;
3. Optional denition 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.
540 DIgSILENT PowerFactory 15, User Manual
26.2. CALCULATION METHODS
26.2 Calculation Methods
26.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 voltages and currents are taken into account.
Depending on the models of generators, motors, controllers, power plants and motor driven machines
used, the following studies may be carried out:
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.
26.2.2 Three-Phase RMS Simulation
If asymmetrical faults or unbalanced networks have to be analyzed, 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 unbalanced network conditions, either due to
unbalanced network elements or due to asymmetrical faults. Dynamics in electromechanical, control
and thermal devices are represented in the same way as in the basic RMS simulation function.
Asymmetrical electromechanical devices can be modelled, and single-phase and two-phase networks
can also be analyzed using this analysis function.
In addition to the balanced RMS simulation events, unbalanced fault events can be simulated, such as:
single-phase and two-phase (to ground) short-circuits;
phase to phase short-circuits;
DIgSILENT PowerFactory 15, User Manual 541
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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 combination of
symmetrical and asymmetrical faults can be modelled.
26.2.3 Three-Phase EMT Simulation
Voltages and currents are represented in the EMT simulation by their instantaneous values, so that the
dynamic behaviour 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 behaviour of inverter-driven machines;
Exact behaviour of HVDC transmission systems;
Non-linear behaviour of passive network elements such as transformer saturation;
Overvoltage phenomena in switching devices;
Lightning strikes and travelling waves;
Analysis of the exact behaviour of protection devices during faults.
The high level of detail used to represent the modelled network means that all phases and all dened
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 signicantly smaller than in the case of a steady-state
representation and as a result, the calculation time increases.
26.3 Setting Up a Simulation
Based on the results of a load ow calculation, all internal variables and the internal operating status of
connected machines, controllers and other transient models have to be determined. As a result of this
calculation, the synchronous generator excitation voltages and load angles are calculated. Additionally,
all state variables of controllers and power plant models, and any other device which is active and will
affect the time-domain simulation, are also calculated.
The calculation of initial conditions is started by either:
Selecting the stability toolbar, and then pressing the Initial Conditions icon;
Selecting Calculation StabilityInitial Conditions... from the main menu.
In the Initial Conditions command (ComInc) dialogue (see Figure 26.3.1) all simulation settings can be
dened, such as the simulation type (i.e. RMS or EMT, balanced or unbalanced) and simulation step
size settings.
These settings include:
Basic Options The simulation type is selected here (RMS, EMT; balanced, unbalanced), and the load
ow command, the result object and the event list are dened.
542 DIgSILENT PowerFactory 15, User Manual
26.3. SETTING UP A SIMULATION
Step Sizes Maximum and minimum step size are specied 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 Denes parameters of the noise generation for stochastic applications.
Figure 26.3.1: The Initial Conditions Command (ComInc)Dialogue
26.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 ow command are available for inspecting or editing these
objects, by clicking on the respective icon.
26.3.1.1 Verify Initial Conditions
If the initial conditions can be fullled, the power system will be in a steady-state condition. When the
Verify Initial Conditions options is enabled, then the condition dx/dt=0 is checked for all state variables.
DIgSILENT PowerFactory 15, User Manual 543
CHAPTER 26. STABILITY AND EMT SIMULATIONS
If one or more of the state variable derivatives does not equal zero, the power system may start moving
from the very beginning of the simulation, even without the application of an external event. In this case
the user should analyze the relevant controller or model and its dened initial conditions carefully.
All warnings or error messages issued in the output window should be checked carefully. Typical prob-
lems are devices which are overloaded or operate above or below signal limitation from the beginning
of the simulation.
The error message displayed in the output window might look as follows:
DIgSI/err - Some models could not be initialized.
DIgSI/err - Please check the following models:
DIgSI/err - Simple Grid AVR Common Model.ElmDsl:
DIgSI/err - Initial conditions not valid !
26.3.1.2 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, PowerFactory calculates an optimal step size
that keeps the numerical errors within the specied 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 behaviour 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.
26.3.2 Step Sizes
26.3.2.1 Integration Step Sizes
When using a xed step size for the simulation (deactivate Automatic Step Size Adaptation on the Basic
Options tab), the integration step size for EMT or RMS has to be set.
It is often unnecessary to plot every single calculated time step, and this reduction in plotted data can
also result in a reduced simulation time. For this purpose, the step size for the output graphs can be set,
so that not every point in time throughout the simulation time will be drawn on the virtual instruments
plot. By selecting a larger Output step size, the simulation process will speed up without inuencing 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
544 DIgSILENT PowerFactory 15, User Manual
26.3. SETTING UP A SIMULATION
dtgrd Electromechanical Transients (sym, asm, vco, pss) (typical 0.01 sec)
dtout Output (typical equal to dtemt for EMT; and dtgrd for RMS simulation)
26.3.2.2 Start Time
The start time of the simulation. This is typically negative, allowing the rst event to be analyzed to take
place at t=0 s.
Note: When setting up time-domain simulations, it is very important to use the correct time steps for
simulations in order to observe the right phenomena in the results. For the RMS simulation the
minimum time step should always be smaller then the time constants in the system. In controllers
one must consider both the open-loop and the closed-loop time constants. For electromagnetic
transients, e.g. when analyzing travelling waves, the smallest travelling time would be the upper
limit for the minimum time step.
In addition to the Newton-Raphson based algorithm for the solution of weak" non-linearities (i.e. satura-
tion effects in synchronous and asynchronous machines), the EMT simulation 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 stabilizers (pss)
are solved simultaneously with the electrical generator and passive network equations (stepsize dtgrd).
26.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)
nc 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 parameters. For example when you
increase the maximum time step the duration of calculating transients may not always increase. If
this time step is increased over an optimal" time step the simulation time may increase as well.
It is strongly recommended to critically observe the simulation time and the results for different
simulation parameters.
26.3.4 Advanced Options
The advanced options may be used to tune the performance of the simulation algorithm. Less experi-
enced users are recommended to use the default values.
DIgSILENT PowerFactory 15, User Manual 545
CHAPTER 26. STABILITY AND EMT SIMULATIONS
26.3.4.1 Event Control
Resolution Factor
The value entered here (parameter name: kres) determines the time interval used to synchronize
events. Every time an internal or external event occurs (usually between two integration time steps),
PowerFactory interpolates all state variables up to the moment in time at which the event has occurred
and restarts the simulation from there. In the case of large disturbances it is possible that a very large
number of events occur almost simultaneously. As this would slow down the simulation considerably,
PowerFactory executes all events that occur within a time 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 be-
tween events. The default value of 0.001 is usually sufcient. If an event occurs, there are two different
options available:
Interpolation at user dened 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.
26.3.4.2 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)
26.3.4.3 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 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)
itrlx species 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)
546 DIgSILENT PowerFactory 15, User Manual
26.3. SETTING UP A SIMULATION
26.3.4.4 Signal Buffer
26.3.4.5 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 efcient approach. After running initial conditions, the
reference machine is displayed in the output window. It is usually the Slack"-machine of the load-ow
calculation.
In case of several isolated islands, PowerFactory offers the option of using one reference machine for
the whole system (Global Reference System), or to use an individual reference machine for each island.
The rst case should be used if the islands are re-synchronised again later in the simulation. In all other
cases the option (Local Reference System) should be used because it leads to a higher numerical
stability and to faster simulation times.
26.3.4.6 Calculate Maximum Rotor Angle Deviation
PowerFactory can also calculate the maximum deviation between the rotor angles between the syn-
chronous machines in the system. This variable is then called dfrotx and can be chosen and displayed
fromthe variables of all synchronous generators in the system. This variable can be used as an indicator
for the synchronous operation of a large transmission system.
26.3.4.7 A-stable integration algorithm for all models
If you enable this option, PowerFactory uses an A-stable numerical integration algorithms for all mod-
els 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 (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 equa-
tions 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 de-
cayed and are no longer apparent in the system.
With the PowerFactory A-stable algorithm, the step size can be adjusted to the actual course of all state
variables without considering numerical stability. When fast transients have decayed, the step size can
be adjusted to the speed of slower transients, etc.
If some very fast modes are not of interest, a large step size can be selected from the beginning, and
the algorithm will automatically smooth fast variations. A typical application of this type of algorithm is
the simulation of long-term phenomena - where it is necessary to increase the simulation step size to
the range of minutes, even if fast modes are present in the system.
However, if power electronics are involved, characteristic time constants can be extremely short (i.e.
1ms), even if a stability model with steady-state equations for the electrical network is used. Hence,
using a classical integration algorithm would require the use of step sizes signicantly smaller than the
smallest time constant of the system, otherwise it would be numerically instable.
DIgSILENT PowerFactory 15, User Manual 547
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Note: A requirement for using the A-stable integration algorithm is that just true" input and output sig-
nal variables are used for exchanging information between different models.
It should be mentioned, that it is also possible to choose the usage of an A-stable algorithm for some
element models only (not for all models), so that it is possible to run just a part of the models with
the A-stable algorithm (for example the power electronic converters or fast controllers). This option is
available in the dialogues of the elements.
With the A-stable algorithm, these systems can be analyzed with reasonable step sizes. Hence, the
A-stable algorithm cannot be described as using simplied models but as a different type of numerical
integration algorithm.
26.3.5 Noise Generation
The Noise Generator element (ElmNoise) can be used in a transient simulation to produce a noise
signal based on random numbers. On the Noise Generation page of the ComInc dialogue, the random
number generation method can be selected. The random number generator can be selected to be
automatic (by selecting option auto), which is the default value and the most commonly used.
Alternatively, the option renew may be selected, in which case the random seed of the noise generator
can be selected manually from "A" to "K". Thus the noise signal will look the same in every simulation,
i.e. the results of a former simulation can be reproduced exactly.
26.3.6 Advanced Simulation Options - Load Flow
There are further options which can inuence the simulation process and its results. In the load ow
command dialogue (ComLdf, see also Chapter 21: Load Flow) on the Advanced Simulation Options tab,
the inuence 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 ow and other
calculations. This is illustrated in Figure 26.3.2.
548 DIgSILENT PowerFactory 15, User Manual
26.4. RESULT OBJECTS
Figure 26.3.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 dened 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 specic 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.
26.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 dened.
DIgSILENT PowerFactory 15, User Manual 549
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Therefore, one or more result objects containing the result variables can be congured. 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 26.4.1 for the Initial Conditions (ComInc) dialogue. See also Figure 26.3.1.
Figure 26.4.1: 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 output variables
press this Edit button and then Contents to get access to the list of variables stored inside the result
object. This will pop up the corresponding ElmRes edit dialogue.
An easier way to edit or inspect the result object is to press the icon on the main toolbar, or to select
the Data Stability Result Variables option from the main menu. This will enable the user to edit
the contents of the currently selected Result object in the Initial Conditions command dialogue. Result
objects (ElmRes) are treated in detail in Chapter 17 (Reporting and Visualizing Results).
To add variables of different elements to the result object for RMS and EMT simulations, right-click on
the desired element in the single-line graphic and select Dene Variable Set(Sim)... as shown in
Figure 26.4.2
550 DIgSILENT PowerFactory 15, User Manual
26.4. RESULT OBJECTS
Figure 26.4.2: Dening a Variable Set for a Line Element
This element will then be monitored during the simulation. A browser window is automatically opened,
and by double-clicking on the variable set icon ( ) of the relevant row, the variables of interest to be
recorded can then be selected. See also Section 26.4(Result Objects).
Note: Most of the variables for RMS and EMT simulations are identical. Nevertheless there may exist
variables that are valid for EMT but not for RMS calculations. It is advisable to only use variables
for the calculation which is currently being performed.
26.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 le also. If the results of two different simulations
are to be displayed, e.g. in one virtual instrument, there is the possibility to save the result object of
a previous simulation simply by copying the result objectAll calculations and renaming it to something
else.
This can be done easily in the data manager. The result object can be found in the currently active
study case. Copy the result object and paste it into the same study case. Following this, a second
result object will be created with the name All calculations(1). If desired, the object can be renamed to
something more appropriate.
In the following simulation, the default result object All calculations will be overwritten with the new
DIgSILENT PowerFactory 15, User Manual 551
CHAPTER 26. STABILITY AND EMT SIMULATIONS
results, but the copied results will not be modied and can be displayed together with the new simu-
lation results in one plot. For further information see Chapter 17: Reporting and Visualizing Results,
Subsection 17.5.2 (Plots).
26.5 Simulation Scan
Simulation Scan modules can be used to monitor frequency, voltage, synchronism, and other variables,
and trigger events accordingly. To perform a simulation scan:
1. On the Calculation of Initial Conditions (ComInc) dialogue select Perform Simulation Scan.
2. select ( ), Edit ( ), or Show the simulation scan Modules.
3. Enter a Name and Description for the Simulation Scan (IntScn) object.
4. Click Modules and then select New Object to dene a Simulation Scan object. Simulation
scan objects are described in the following subsections.
26.5.1 Frequency Scan Module
The frequency scan module (ScnFreq) monitors frequency at all nodes and triggers a display message
or stops the simulation if a limit is violated. Settings are as follows:
Frequency Setting
Dene the frequency settings Nominal Frequency, Maximum Limit, and Minimum Limit.
Activation Time
Dene the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set the Time
Step to dene the intervals at which the scan should be performed.
Action
Select whether to Display Message or Stop Simulation if a limit is violated.
26.5.2 Loss of Synchronism Scan Module
The loss of synchronism scan module (ScnSync) monitors the internal generator model signal Out of
Step" of all calculation relevant machine (ElmSym). If an out of step condition is detected, it triggers a
display message, stops the simulation, or trips the generator/s that have lost synchronism.
Activation Time
Dene the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set the Time
Step to dene the intervals at which the scan should be performed.
Action
Select whether to Display Message, Stop Simulation, or Trip Generator if an out of step condition is
detected.
26.5.3 Variables Scan Module
The variables scan module (ScnVar ) monitors an Element variables and triggers a display message or
stops the simulation if a dened limit is violated. For the variables scan module, an Element (*Elm)
must be selected, and the Variable to be monitored must be entered.
552 DIgSILENT PowerFactory 15, User Manual
26.5. SIMULATION SCAN
Setting
Dene the variables Maximum Limit and Minimum Limit. Optionally select to conduct a Continue Scan
(see section 26.5.5 for details).
Activation Time
Dene the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set the Time
Step to dene the intervals at which the scan should be performed.
Action
Select whether to Display Message or Stop Simulation if a limit is violated.
26.5.4 Voltage Scan Module
The voltage scan module (ScnVolt ) monitors voltage at all nodes and triggers a display message or
stops the simulation if a dened limit is violated.
Voltage Limits
If Voltage Limits is checked, dene the Maximum limit and Maximum Voltage Violation Time, and the
Minimum limit and Minimum Voltage Violation Time. Optionally select to conduct a Continue Scan (see
section 26.5.5 for details).
Voltage Recovery
If Voltage Recovery is checked, dene the Recovery Voltage and Voltage Recovery Time. If the voltage
decreases below the Recovery Voltage the start time" is recorded. When the voltage recovers to above
the Recovery Voltage, the module checks that the voltage has recovered within the time span limit.
Activation Time
Dene the time at which monitoring should start (till end) in Hours, Minutes, and Seconds. Set the Time
Step to dene the intervals at which the scan should be performed.
Action
Select whether to Display Message or Stop Simulation if a limit is violated.
26.5.5 Simulation scan example
Consider the example simulation response shown in 26.5.1, where a Voltage Scan module has been
dened. The module starts scanning at the Activation Time of 2.0 seconds. If the voltage is below the
Minimum Limit (in this example, 0.72 p.u.) for more than the Minimum Voltage Violation Time, or above
the Maximum voltage (1.1 p.u.) for greater than the Maximum Voltage Violation Time, the selected
Action will be performed. If the voltage is below the Recovery Voltage (0.72 p.u.) for greater than the
Voltage Recovery Time a message will be displayed in the Output Window.
The user can continue the simulation following a Stop Simulation Action by pressing Start Simulation
(ComSim). Depending on whether Continue Scan is selected:
If Continue Scan is not selected, the selected Action will only be performed for the rst of each
violation. For subsequent violations, the simulation will continue without performing the selected
Action.
If Continue Scan is selected, the selected Action will be performed for all violations.
DIgSILENT PowerFactory 15, User Manual 553
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.5.1: Example voltage simulation scan
26.6 Events (IntEvt)
This section provides a general description of Events, as they apply to time-domain simulations. See
Chapter 11: Study Cases, Section 11.9 (Events) for a detailed description of the event types.
There are several ways to access Events objects:
From the Data Manager, in the Simulation Events/Faults object stored within the Study Case.
From the Calculation of Initial Conditions ( ComInc) dialogue, it is possible to select ( ), Edit ( ),
or Show the Selection of Simulation Events.
From the main toolbar by pressing the Edit Simulation Events icon. A list of the currently
dened events will be displayed including the set simulation time, when the event will occur, and
the related object. Figure 26.6.1 shows an example set of events. Note that a duration for the 3p
SC Fault" is not specied, rather, another event is created to clear the fault, Clear SC Fault".
554 DIgSILENT PowerFactory 15, User Manual
26.6. EVENTS (INTEVT)
Figure 26.6.1: 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 Simulation Events
object dialogue in Figure 26.6.1 The event type can be chosen from the list in the element selection
dialogue which pops up, as shown in Figure 26.6.2 The events can also be modied during a simulation
by stopping the calculation, editing the events and continuing the simulation.
DIgSILENT PowerFactory 15, User Manual 555
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.6.2: Dening a New Simulation Event
An alternative means of dening events is as follows: upon calculation of the initial conditions ( ), or
when the simulation is already running, double-click on the desired cubicles to create switch events.
Additionally, the user can right-click on an element and then select an element-related event such as
Dene... Switch Event Dene...Load Event or Dene... Short-Circuit Event.
During a simulation all previous events (i.e. events which have already occurred), are displayed in a
grey font style and can no longer be edited or changed. When the simulation is nished 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 colour. They
can no longer be modied for this simulation, because the simulation could be restarted from this
point on. To change the events for a new simulation one must rst initialize the calculation again
( ), so the simulation time is reset to the beginning.
26.7 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.
556 DIgSILENT PowerFactory 15, User Manual
26.8. MODELS FOR STABILITY ANALYSIS
The simulation is performed for the time interval between the start time dened in the initial conditions
command ComInc, and the stop time (parameter name: tstop), which can be specied in the simulation
(ComSim) dialogue. After a simulation has nished, 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.
26.8 Models for Stability Analysis
Stability analysis calculations are typically based on predened system models. In the majority of cases
the standard IEEE denitions for controllers, prime movers and other associated devices and functions
are used.
For planning purposes, this approach might be acceptable. The predened sets of parameters will allow
a favourable and reasonable behaviour of the analyzed system. This approach is often also applied to
operation analysis, and the system should show a response similar to a real system.
For systems and congurations for which no IEEE models exist, such as wind generators, HVDC-
systems, etc., powerful tools for user dened modelling are required. For this purpose, highly spe-
cialised, exact models can be created in PowerFactory .
In cases when manufacturers are able to supply exact controller models including real parameters, the
system model can be improved by not using the IEEE standard models, but instead building a new block
diagram of the individual controller/mechanical system to represent the device. This facilitates highly
accurate system modelling.
Utilities and consultants often conduct system operation performance and optimization studies, and
therefore have a clear need for accurate methods and tools for creating accurate transient models for
stability analysis.
This includes complex operation analysis and special component planning problems. This demand
led to the development of highly exible and accurate DIgSILENT PowerFactory time-domain modelling
features.
Figure 26.8.1 provides an overview of the PowerFactory modelling approach, as discussed in this chap-
ter. Note: Click on gure labels to link to the relevant section.
DIgSILENT PowerFactory 15, User Manual 557
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.8.1: Overview of Modelling Approach
26.9 System Modelling Approach
System modelling for stability analysis purposes is one of the most critical issues in the eld 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 justication.
This is one aspect of the complexity of a transient stability study. The other aspect results from the often
large set of time-domain models that are required, each of which may be a combination of other models.
All these time-domain models are ultimately wired together into one large, single transient model from
which the basic set of system differential equations can be obtained.
Given this complexity of a transient analysis problem, the PowerFactory modelling philosophy is targeted
towards a strictly hierarchical system modelling approach, which combines both graphical and script-
based modelling methods. The basis for the modelling approach is formed by the basic hierarchical
levels of time-domain modelling:
The DSL block denitions, 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 Pow-
erFactory models for standard power system equipment, i.e. for generators, motors, static VAr
compensators, etc. The common models are based on the DSL block denitions and are the
front-end of the user-dened transient models.
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
558 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
reuse of the basic structure of the composite model.
The relation between these models and the way that they are used is best described by the following
example.
Suppose the frequency deviation due to the sudden loss of a fully-loaded 600 MW unit in a particular
network is to be analyzed. Depending on the network and the required detail in the calculated results,
such analysis may ask for a detailed modelling of the voltage controllers, prime movers and primary
controllers, or any other important equipment for all large generators in the system.
Figure 26.9.1: Example of a Composite or Power Plant Model
Figure 26.9.1 shows a typical conguration of a synchronous generator with power system stabilizer,
voltage controller, primary controller, and prime mover model. The primary controller and prime mover
can be summarized as the primary controller unit model. To create this kind of model, the following
actions are required:
1. Transient models for each required controller type or unit type have to be dened (Model/Block
Denition).
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 dening 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 dene an unique composite generator model (Composite Model).
It may seem unnecessary to include steps 2 and 3: it would be possible to create customized transient
models for each generator directly, with burned-in parameter settings, and to link these models to a
generator without having to dene a diagram rst. This, however, would mean that one would have to
create a new voltage controller, e.g. for each generator in the system.
Often the design of many of these voltage controllers will be similar. To omit the need of creating copies
of these controllers for each generator and to avoid redundant copies of controllers or also of whole
generator models.
Here the same relationship as that between individual controller (Common Model) and controller deni-
tion (Model Denition) is used; this time between the generic power plant diagram (Composite Frame)
and the individual power plant (Composite Model). DIgSILENT PowerFactory uses two key objects in
creating composite models, which can be compared to the element denition of the different elements:
DIgSILENT PowerFactory 15, User Manual 559
CHAPTER 26. STABILITY AND EMT SIMULATIONS
The Common Model(ElmDsl ) combines general time-domain models or model equations (a block
denition) 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), Figure 26.9.2, references the denition 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 Denitions (part of Section 26.11.3: Dening DSL Models).
The slots in the composite frame are pre-congured for specic transient models.
The schematic diagram in Figure 26.9.3 shows a Composite Frame (BlkDef ) which has one slot
for a synchronous machine, one for a primary controller unit (pcu slot), and one for a voltage
controller (vco slot). The composite model, which uses this composite frame, shows a list of
the available slots and the name of the slot. Now the specic 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 26.9.4 This means that such elements are pre-congured elements which do not need a
specic model denition. 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-dened Common Models,
see Figure 26.9.5 The front-end of all user-dened transient models is always a common model
(ElmDsl ), which combines a model denition with specic parameter settings. There are prede-
ned denitions as well, so that the user can create her/his own model denitions.
The common model has a reference to the Model Denition (BlkDef ), which looks similar to
the composite frame (shown in Figure 26.9.6). Here different blocks are dened and connected
together according to the diagram. The input and output variables have to t with the slot denition
of the slot that the model is dened for.
Not all slots of the composite model must necessarily be used. There can also be empty slots. In
such cases, the input of this slot is unused and the output is assumed to be constant over the entire
simulation. The usage of composite models with a composite frame, and the common model with its
block denitions are described in the next sections.
The design and creation of user dened common models using the "DIgSILENT Simulation Language"
(DSL) can be found in Section 26.11 (User Dened (DSL) Models).
560 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
Figure 26.9.2: Example of a Composite Model Using the Frame "Frame_Generator"
Figure 26.9.3: Composite Frame "Frame_Generator"
DIgSILENT PowerFactory 15, User Manual 561
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.9.4: Generator "G1" (Built-In Model)
Figure 26.9.5: Example of a Common Model Using the Denition "vco_simple"
562 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
Figure 26.9.6: Example of a Model Denition "vco_simple"
26.9.1 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 available options. The next step
is to select the composite frame. The composite frame can be stored either in the global library or in
the local library, and is conceptually similar to a type denition for an electrical element. The composite
model then shows the list of slots in the composite frame as shown in Figure 26.9.7.
Existing controllers or models can be assigned to a slot manually by right-clicking the slot and selecting
Select Element/Type, as depicted in Figure 26.9.7. A data manger window will pop up and the user can
then browse the grid for the element to insert into the selected slot.
DIgSILENT PowerFactory 15, User Manual 563
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.9.7: 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 slots context-
sensitive menu. PowerFactory will automatically jump to the project Library and show a list of available
user dened models (ElmDsl ).
Selecting a model denition from the project library or the global library will open the element dialogue
of the newly-created common model, so that its parameters can be dened, similar to (for example) a
transformer element. If no suitable model is found, a block denition has to be selected prior to setting
the model parameters (see Section 26.9.2 (The Composite Frame) and Figure 26.9.6).
If an element is assigned to a slot, it is possible to edit the assigned element by simply right-clicking
and selecting Edit Element/Type. The right-mouse button menu entry Reset Element/Type will reset the
slot, so that it is empty again.
Note: Depending on the settings of the individual slot, the menu entry Reset Element/Type will not only
clear the marked slot but also delete the built-in or common model, if it is stored inside the com-
posite model in the data manager. These settings are explained in detail in Section 26.9.2 (The
Composite Frame).
A faster method for dening standard composite models is to right-click on an object in the single line
diagram and select Dene... from the context menu of the element.
When a standard composite model is available for the selected object, a list of the available 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.
564 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
Slot Update
The Slot Update button in the composite model (ElmComp) dialogue will re-read the slot denitions
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 dened for a primary controller
model.
All built-in models and common models which have been created for a specic composite model are
stored in that composite model itself. The contents of a composite model are shown in the data manager
where the composite model is treated as a normal database folder. Basic power system equipment,
such as synchronous machines or static VAr compensators, are normally not stored in the composite
folder, but in the grid itself.
The slot update will try to re-assign each model found in its contents to the corresponding slot.The
options dened for each slot are important, and are described in the paragraph Classication in Sec-
tion 26.9.2 (The Composite Frame).
Step Response
The Step Response button in the composite model (ElmComp) dialogue will activate the Step Re-
sponse command (ComStepres). The dialogue can be seen in Figure 26.9.8.
Next to the references to the composite model, the template and the target directory, the two step
response tests, which will be created, can be specied. 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 26.9.9 shows this folder in the data manager.
Figure 26.9.8: Step Response Command (ComStepres) Dialogue
DIgSILENT PowerFactory 15, User Manual 565
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.9.9: 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 acti-
vating and deactivating them.
Note: There is now no longer any connection between the original elements and the new elements of
the composite model. Therefore, you can change any controller settings without changing your
network.
After testing the controller, the folder Step Response Test can be deleted completely without loss of
information in the original network.
26.9.2 The Composite Frame
A composite frame is a block diagram which denes two or more slots, their input and output signals,
and the connections between them. A composite frame is dened graphically by drawing it.
Drawing a composite model frame is similar to drawing a normal block diagram. The main difference is
that instead of common blocks, only slots may be used.
To create a new composite frame select the Insert New Graphic icon on the main toolbar (in the
graphics window) and then select Block/Frame Diagram and press Execute as shown in Figure 26.9.10
This new block denition will then be automatically created in the local library.
566 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
Figure 26.9.10: Creating a New Composite Frame
An empty diagram of the frame will appear in the graphics window. A slot is then created by selecting
the icon in the graphics toolbox and positioning the slot on the drawing surface by 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 dene the slots input and output signals and different pa-
rameters, edit the slot by double-clicking it. The slot edit dialogue will pop up as shown in Figure 26.9.11.
DIgSILENT PowerFactory 15, User Manual 567
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.9.11: Slot Dialogue (BlkSlot )
26.9.2.1 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 param-
eter denes the order of the slots appearing in the composite model dialogue.
26.9.2.2 Assigning a Block Denition to a Slot
A block denition (BlkDef ) can be assigned directly to a slot. This option will simplify the handling of the
slot and prevent errors due to miss-matched signal names of slot and assigned block.
568 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
To assign the external form of a block denition to the selected slot, edit the slot by double-clicking it
and choose the select button for the Block Denition" in the dialogue. Now the block denition 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-dened slot ought to represent a synchronous machine in the frame di-
agram, a predened block denition 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 predened block denitions can be found in the global library in the path Library/Models/Built-in.
When the block denition is selected (in our example the ElmSym.BlkDef"), the input and output as well
as limiting signals will disappear from the slot dialogue. The lter for the class name will automatically
be entered. When clicking on the Ok button, the slot will then show the right inputs and outputs of the
block denition.
Note: When a block denition is assigned directly to a slot, only the input/output signals are set auto-
matically. The internal equations/denitions of the block denition 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
denition, beware that this reference is also inside your project. If the reference to the denition is
invalid or changed, the slot may be changed as well. Therefore, assign a block very carefully.
26.9.2.3 Filter for
Class/Name Filter
There is also the possibility to specify a lter for the class name and/or for the model name to be
inserted. This makes sense when (for example) only synchronous machines should be assigned to
the slot. In this case, the class name ElmSym* would be entered. PowerFactory then will only allow
the element class "synchronous machine to be inserted into the slot. A lter for a specic (part of an)
element name can also be dened.
26.9.2.4 Classication
The classication options only effect the external behaviour 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 Sec-
tion 26.9.1: The Composite Model) will automatically create a DSL model and ask for a block
denition 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 and dened 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 26.10.1 (Drawing Composite Block
Diagrams and Composite Frames).
DIgSILENT PowerFactory 15, User Manual 569
CHAPTER 26. STABILITY AND EMT SIMULATIONS
26.9.2.5 Upper and Lower Limitation
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.
26.9.2.6 Variables
Input and Output Signals
The input and/or output signal(s) have to be dened for each slot. The available signal names for the
Built-In transient models (Elements) can be found in the corresponding Appendix C: Technical Refer-
ences of Models.
The given input and output signal names in this slot dialogue have to match the input/output signals of
the given transient model exactly, or the signals will not be connected properly and an error message
will result.
Only after one or more input and output signals have been dened for a slot, is it possible to connect
the slot with signal lines to other slots. It is therefore recommended to rst position and edit all slots and
to draw the signal connections thereafter.
26.9.3 The Common Model
The common model element (ElmDsl, is the front-end object for all user-dened block denitions.
This means that user-dened transient models, but also the block diagrams that are ready-shipped with
the PowerFactory program, cannot be used other than through a common model. The common model
combines a model or block denition with a specic set of parameter values. The common model shown
in Figure 26.9.12 uses the block denition "vco_Simple".
Typically the model denition is implemented as a block denition, such as that shown in Figure 26.9.13.
A model denition contains block references which may in turn either point to a primitive block denition
(see Figure 26.9.14) or to a another composite block denition (see Figure 26.9.15). The structure of
the block denition is thus recursive and the user should check that this recursive structure does not
contain circular references to composite block denitions.
A primitive block denition 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 Sec-
tion 26.11 (User Dened (DSL) Models).
It is also possible to implement the model denition not as a block denition, but directly as a primitive
block denition (Figure 26.9.14), coded using DSL.
Each block denition generally has one or more parameters which can be changed to dene the models
behavior. Two kinds of parameters are supported:
Scalar parameters, i.e. amplication factors, offsets, setpoints, etc.
Two and three dimensional array parameters, which are used in the DSL lapprox()/lapprox2() and
sapprox()/sapprox2() functions.
570 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
Figure 26.9.12: Common Model for the VCO
DIgSILENT PowerFactory 15, User Manual 571
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.9.13: Block Denition of the VCO, Using a Sub-Denition
Figure 26.9.14: Implementation of the Limiter Block, Using a DSL Routine
572 DIgSILENT PowerFactory 15, User Manual
26.9. SYSTEM MODELLING APPROACH
Figure 26.9.15: Implementation of the Controller, Dening 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 denition has to be selected rst. Similar to the composite frame,
this denition 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 26.9.16. All parameters are listed on the rst page of the common model, and their
values can be specied there.
DIgSILENT PowerFactory 15, User Manual 573
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.9.16: Common Model with Parameter List
If the selected block denition uses one or more arrays in its denition, then these arrays are displayed
on the second page (for simple characteristics) and third page (for two-dimensional characteristics) of
the ElmDsl object. In Figure 26.9.17 an example is shown for a 13x4 array denition.
574 DIgSILENT PowerFactory 15, User Manual
26.10. THE COMPOSITE BLOCK DEFINITION
Figure 26.9.17: Common Model with Array List
The characteristics are dened as follows:
Characteristic In the row labelled Size, insert the number of rows in the rst 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 rst cell
and the number of columns in the second cell. If one of these numbers is changed, jump to the
previous page and back again to update the characteristic.
26.10 The Composite Block Denition
A composite block diagram of the model denition is a graphical representation of a mathematical
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:
DIgSILENT PowerFactory 15, User Manual 575
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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 denitions.
Block references can be looked upon as macros that insert a low-level block denition inside a composite
block diagram denition. A block reference may either point to another composite block denition or to
a primitive block denition.
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 predened DSL primitives
may be copied and altered for specic 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 denition in the library.
Note: The composite frame and the model denition are very similar and their usage is almost identi-
cal. When creating one or the other PowerFactory recognizes the class when you place the rst
slot or block. If you place a block () rst, the icon for the slot will become inactive, so the user
cannot inadvertently mix up slots and blocks in one diagram. See also Section 26.10.1 (Drawing
Composite Block Diagrams and Composite Frames).
If the block type is selected, PowerFactory inserts all available parameters of the referred block. The
user may change the name of any parameter, however ensure that the order of the parameters is not
changed. The order is important so that the right parameter is assigned to the parameters inside the
block denition.
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 denition as one or more coloured dots on the left and right side, respec-
tively, 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 denition 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 denition.
An example of a simple block diagram, comprising a multiplier, a summation point and a standard PI
block, is shown in Figure 26.10.1.
Figure 26.10.1: Example of a Simple Block Diagram
576 DIgSILENT PowerFactory 15, User Manual
26.10. THE COMPOSITE BLOCK DEFINITION
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 26.10.1, this results in the
following output:
model o1 = MyBlock(i1,i2;x1;Kp,Ti;yi)
s1 = \System\Library\Models\DSL\PI.BlkDef(xe;x1;Kp,Ti;yi)
xe = i1
*
i2
o1 = s1+i2+i1
This simple example shows the whole meaning of the block diagram graphics: it is a convenient way
to dene specic controllers, based on standard components. However, it would also be possible to
dene exactly the same block diagram by entering the above DSL script manually and thereby create a
primitive block denition.
26.10.1 Drawing Composite Block Diagrams and Composite
Although the composite block diagram and the composite frame diagram should be distinguished from
one other, they are drawn in the same way.
The basic distinction between a block diagram and a frame diagram is that the latter contains only slots
and signals, whilst the block diagram must not contain any slots.
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);
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 select-
ing New... Block/Frame - Diagram from the context-sensitive menu;
By using the New Object icon in the database manager and selecting Block Denition (BlkDef).
Note: The two later options only create a block denition 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 denitions by entering the DSL code.
In the rst 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
DIgSILENT PowerFactory 15, User Manual 577
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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 graph-
ical add-on objects (lines, polygons, rectangles, texts, etc.) as shown in Figure 26.10.2. It should be
noted that the availability of this toolbox is according to whether or not the graphic is

Sfrozen ( ).
When the graphic is not frozen, the toolbox is available, and likewise, when the graphic is frozen for
editing, the toolbox is hidden.
Figure 26.10.2: Block/Frame Diagram Objects
Note: When creating a frame or a block denition, PowerFactory recognizes the type of denition when
you place the rst 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 ( ) rst, the icon for the slot will become inactive, so you cant mix up slot and block
elements in one diagram.
26.10.1.1 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 rst 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 denition is assigned to it, it is not possible to connect signals to the empty block. It
578 DIgSILENT PowerFactory 15, User Manual
26.10. THE COMPOSITE BLOCK DEFINITION
is therefore recommended to rst draw all block references and to assign block denitions to them. The
block references then show all available input and output signal connections.
A block reference is edited by right-clicking on it and selecting Edit from the context-sensitive menu, or
simply by double-clicking on it. The dialogue as displayed in Figure 26.10.3 will pop up.
Figure 26.10.3: Edit Dialogue of the Block Reference
Use the Select button ( in Figure 26.10.3) to select a model denition. Predened standard block
diagrams for your usage are located in the folder Database / Library / Models. It is also possible to
create a block in the graphical Block Denition by dragging Macros from the global library or project
library into the drawing area of the Block Denition, using the Drag & Drop functionality.
26.10.1.2 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 dened 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 dened as an output.
Divisor
DIgSILENT PowerFactory 15, User Manual 579
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Every grey dot of this block can be used as an input or output for the divisor. The rst 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 dened
as an output.
Switch
Two input signals can be applied to this block, which will be connected to the output according to
the position of the switch. Additionally a control signal has to be connected to the top, which will
dene 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.
26.10.1.3 Connecting Signals
After drawing and dening 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 rst
clicking on a from node (output of a block/slot), optionally clicking on the drawing surface to make a non-
direct connection, and nally 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 coloured dots (see Figure 26.10.4).
Figure 26.10.4: 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 possibility to
change the name of the signal.
26.10.1.4 Multi-Signal Connections
Signals normally connect a single output parameter with a single input parameter. Especially in the
case of three phase signals, as is often the case for voltage or current signals, multi-signal connections
may be used.
A multi-signal is dened by writing two or more signal names together, separated by semicolons, e.g
"I_A;I_B;I_C. In Figures 26.10.5 and 26.10.6, the multi-signal output and input of two block denitions
are shown. Both blocks will show a single input or output connection point. They can be connected to
each other by a single signal line, as illustrated in Figure 26.10.7.
580 DIgSILENT PowerFactory 15, User Manual
26.10. THE COMPOSITE BLOCK DEFINITION
Figure 26.10.5: Output Denition of Block1
Figure 26.10.6: Input Denition
Figure 26.10.7: 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.
26.10.1.5 Block Diagram Input and Output Denitions
The composite block diagram normally has input, output and limiting signals of its own. Input signal
points are dened 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 denition.
New output signals are dened 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 dened in the slot or block to which it is intended to assign the denition.
26.10.1.6 Resize
If a marked symbol has small black squares at its corners, it can be resized by left clicking one of the
squares, as can be seen in Figure 26.10.8. The cursor will change to a double diagonal arrow, and
DIgSILENT PowerFactory 15, User Manual 581
CHAPTER 26. STABILITY AND EMT SIMULATIONS
moving it (while holding down the left mouse button) resizes the object. Release the mouse when the
new size is correct.
Figure 26.10.8: 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 xed X/Y- ratio; some other objects cannot be resized at all.
26.10.1.7 Additional Equations
After the internal structure of the block diagram has been dened graphically, the block diagram itself
can be edited. This can be done without having to close the graphical representation of the block
diagram. By left or double-clicking the enclosing rectangular frame, the block diagram edit dialogue will
pop up. This dialogue will show all input, output and internal signals, as have been dened graphically.
On the Equations page, information and equations for the initialization of the block can/has to be en-
tered. Additionally, the name and the unit of the parameters to be dened in the common model can be
specied (see also Section 26.11: User Dened (DSL) Models).
Additional DSL equations can be dened on the second page of the block diagram edit dialogue.
26.11 User Dened (DSL) Models
System modelling for stability analysis purposes is one of the most critical issues in the eld 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 justication.
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 systemdroop of 7%and a K_f value of 0, the steady-state frequency deviation
will be approximately 700 mHz.
Now with a more realistic coefcient 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 efciencies and steam valve non-linearities could be
more relevant at a certain unit loading point. Consequently, as long as only one or two different loading
scenarios are considered, average values with reasonable simple models may give acceptable results
by tuning only some key parameters like the frequency dependency of loads or droop settings.
582 DIgSILENT PowerFactory 15, User Manual
26.11. USER DEFINED (DSL) MODELS
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 exam-
ple, 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 re-
quirements 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 modelling considerations are the applied faults and related prob-
lems which are to be analyzed. The analysis of system damping and PSS tuning will not neces-
sarily 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 specic additional information available. However, a more
detailed representation is necessary for systemextensions, where a detailed model representation
should form part of the performance specication. Special attention has to be paid to the analysis
of operational problems and operation optimization. For these cases, detailed modelling of the
relevant components is critically important.
As soon as a detailed analysis and representation of system models is required, the subsequent ques-
tions 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 Modelling Approach (ASMA)". Typical applications are:
The analysis of controller problems and relevant malfunctions, especially under disturbance con-
ditions;
Optimization of control parameter settings;
Modelling of unconventional system structures and control concepts often found in industrial sys-
tems;
Study applications for the design and specication 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.
DIgSILENT PowerFactory 15, User Manual 583
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Performance of system tests In order to dene all other parameters and, in particular, non-linear
characteristics, system performance tests are the best method. In the majority of cases, fre-
quency response tests will not permit the determination of any non-linear structure and its param-
eters. 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 Identication Non-linear, multi-input and multi-output system identication techniques are ap-
plied for system identication procedures. Typically, the mismatch between measured and identi-
ed data should be smaller than 2%.
Comparison of measurements and simulations Besides the analysis of subsystems and compo-
nents, 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 modelling relays and
less complex or digital control functions, as these are clearly dened 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 exible method for the realization of individual models.
26.11.1 Modelling 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 identication and simulation purposes. Methods
for solving this task range from the classical and traditional way of using software which allows interfac-
ing of user-dened models at the FORTRAN/C level - typically via connection lists - to the block-oriented
approach which is based on the provision of predened low-level block macros being connected at the
case denition level.
In addition, most modern commercially available general purpose simulation tools may be used for
exible and specic system representation. Unfortunately, this approach does not adequately cover the
special electrical system load ow characteristics.
In order to provide a very exible modelling 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 exible denition of macros, which could be: algebraic equations, basic control ele-
ments 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 undened variables and missing initial conditions
584 DIgSILENT PowerFactory 15, User Manual
26.11. USER DEFINED (DSL) MODELS
26.11.2 DSL Implementation: an Introduction
The DIgSILENT Simulation Language is used to dene 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 dened 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" struc-
tures into account.
Events: Conditions evaluated by DSL models may cause events to be sent to the programkernel where
they will be scheduled within the event queue.
Output and Monitoring: Conditions may trigger user-dened messages to be displayed in the output
window.
DIgSILENT PowerFactory 15, User Manual 585
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.11.1: 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 dened graphically, and contains one
embedded DSL macro. This embedded macro models a single integrator and is dened by program-
ming 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 rst 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 dened 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 26.11.3 (Dening DSL Models)
describes these procedures in detail.
586 DIgSILENT PowerFactory 15, User Manual
26.11. USER DEFINED (DSL) MODELS
Figure 26.11.2: Diagram of a Simple Model of a Hydro Turbine
Figure 26.11.2 depicts the model denition that was used to dene 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 denition shows:
Output Signals : Pt
Input Signals : At, C
State Variables : x1
Parameter : Ti
Internal Variables
The example describes a simple hydro turbine model with the input signals A_t and C and the output
signal P_t.
Figure 26.11.3: Graphical Representation of a DSL Model of an Integrator
Figure 26.11.3 depicts the graphical representation of the embedded primitive DSL model. This primitive
model is included in the hydro turbine (in line 2 of the denition 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
6. x1. = xe/Ti
7. y = x1
DIgSILENT PowerFactory 15, User Manual 587
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Line 1 is generated by clicking on the Equations button in the block diagram dialogue. Lines 2..7 were
entered manually.
The block denition dialogue was used to set the following:
Output Signals : y
Input Signals : xe
State Variables : x1
Parameter : Ti
Internal Variables
26.11.2.1 Parts of a DSL Model
Both example DSL models show the two basic parts of any DSL model, primitive or complex:
1. The interface denitions
2. The DSL model description
Interface description
The interface denes the model name, names of input and output signals, model parameters and state
variables. These are shown in the output window in the model heading.
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 denition of limiting parameters and input signals, and
the classication 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 dened 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 dene 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
26.11.2.2 Advanced Features
The numerical integration of DSL models, interrupt scheduling and input-output signal processing is
handled automatically by the program kernel. In addition, if the output of a DSL model is an electric
588 DIgSILENT PowerFactory 15, User Manual
26.11. USER DEFINED (DSL) MODELS
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 ma-
trix 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.
26.11.3 Dening DSL Models
A new DSL model is created either by entering the DSL code in the equation part of a Block Denition
(BlkDef ) object, or by creating a new Graphical Block Diagram. Both methods will result in a Block
Denition Object which holds the denition of the DSL model.
The block denition objects thus serve two purposes in the process of constructing a DSL model:
They hold the denitions and parts of a graphically constructed composite block denition, and
the diagram graphic which was used to dene the model;
They provide the surrounding in which a new "DSL primitive or primitive block denition can be
dened.
26.11.3.1 Composite Block Denitions
To create a new composite block denition:
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 denition (BlkDef ), double-click on the frame box surrounding the
diagram.
Complex block denition objects are conceptually similar to Grid Folders" in the PowerFactory database
tree. They are dened by graphically dening 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 denition object is created graphically, it allows for additional DSL equations
to dene those aspects of the controller that would be otherwise difcult to enter in a graphical way.
The graphical environment in which a complex block diagram is constructed, is not treated here. Please
refer to Chapter 9 (Network Graphics (Single Line Diagrams)) for more information.
26.11.3.2 Primitive Block Denitions
To create a primitive DSL block denition:
DIgSILENT PowerFactory 15, User Manual 589
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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 Denition ( BlkDef);
Double-click an new/empty block reference in an open block diagram and then use the button
to select a block denition. Following this, use the icon to create a new block denition 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 lter, which may then be used to graphically
construct more complex controllers which include this kind of lter.
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.
26.11.3.3 Block Denition Dialogue
When creating a primitive DSL model or by double-clicking on the frame of a composite block denition,
a dialogue will appear, where input and output variables, parameters, state variables and limiting signals
can be dened. Furthermore, additional equations, initial conditions of variables as well as names and
units of parameters can be inserted.
Figure 26.11.4 shows an example dialogue of a PI controller including limiting parameters and a switch
signal.
Figure 26.11.4: Dialogue of the Block Denition
Name and Title will appear in the library folder, where the model is stored.
590 DIgSILENT PowerFactory 15, User Manual
26.11. USER DEFINED (DSL) MODELS
Level of the model representation is only important when using or changing old models. For new
created models the highest level should always be used. For macros, this option does not have any
impact, because the level of the highest block is important, i.e. the controller denition.
Automatic Calculation of Initial Conditions: PowerFactory can calculate the initial conditions auto-
matically. However, if no sequence is found (because of, for example, deadlock situations) there will be
an error message.
Classication:
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 denition as a macro inside the library.
Matlab: Enabling the Matlab tag will show an input dialogue, where a MATLAB (*.m) le can be
dened with which the block denition can communicate during a simulation. For more information
about the MATLAB interface see Section 26.14 (MATLAB Interface).
Limiting Parameter. A constant may be dened, which are dened 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 dened for internal use inside the block denition. 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 rst-order derivative one state variable must be specied.
Parameters will appear in the common model dialogue and can then be specied. The parameter
dened in the block denition will automatically be inserted in the block reference. The names of the
parameters can be different in the block reference and in the block denition. Only the order must be
identical.
Internal variables are only used inside the block denition 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 denition. This can be the graphically
inserted objects, further block references or the packed macros. This may additionally include,
for example, internally-dened events.
Equations
The "Equations" button will print the DSL equations to the output window, regardless of whether
they are dened graphically or on the "Additional Equations" page, as well as variable denitions.
Macro Equat.
This button prints the current block denition 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. Oth-
erwise the following message will occur:
DIgSI/info - Check \TestUser.IntUser\Windparks.IntPrj
DIgSILENT PowerFactory 15, User Manual 591
CHAPTER 26. STABILITY AND EMT SIMULATIONS
\Library\Block Definitions\DFIG\Voltage Control.BlkDef:
DIgSI/info - Block is ok.
Check Inc.
The initial conditions of the block denition will be printed and checked.
Pack
Pack will copy all used DSL models (macros) of a composite model denition to the folder "Used
Macros" inside the block denition. 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 inuence;
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 xed 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 en-
crypts all equations inside the model, so that the equations can not be seen or output anymore.
In this way a model containing sensitive or restricted device equations can be delivered without
showing the internal equations. It should be noted that this command is irreversible and a decrypt
function is not available.
In the Equations page the (additional) equations of the DSL model can be dened. Also further informa-
tion e.g. the initial conditions of state variables and the name and unit of parameters can be specied.
Figure 26.11.5 shows the additional equations of the DSL model of the PI controller.
Figure 26.11.5: Dialogue of the block denition - Page 2
The next section describes the handling and usage of the DSL language.
26.12 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. This syntax is explained in the following order:
592 DIgSILENT PowerFactory 15, User Manual
26.12. THE DIGSILENT SIMULATION LANGUAGE (DSL)
26.12.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), oor(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.
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
26.12.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 rst column of the continuing line. A & sign in the rst 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.
DIgSILENT PowerFactory 15, User Manual 593
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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)
26.12.3 DSL Variables
A DSL model may use ve 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.
Internal variables: Internal variables are dened 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 dene
characteristics (see procedure lapprox").
Only the derivatives of state variables can be assigned an expression.
26.12.4 DSL Structure
DSL models are constructed of three parts:
The interface part, which states the model name, title, classication and variable set. This part is
set in the rst page of the block diagram dialogue;
Denition code;
Equation code.
The denition and equation code form the actual controller network denition and are treated in the next
sections.
26.12.5 Denition Code
Denition code in the equation part of a DSL model is used to dene parameter properties and initial
conditions.
594 DIgSILENT PowerFactory 15, User Manual
26.12. THE DIGSILENT SIMULATION LANGUAGE (DSL)
26.12.5.1 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 dened units.
Example:
[Ton] = s ! defines unit
26.12.5.2 Valid Value Ranges
limits(varnm) = [/( minimum value, maximum value ]/)
Denes 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 dene limits for certain variables. The model which uses the macro might also
dene limits for the variables which are used in the macro calls. The smallest interval method gives
the calling model thus the freedom to redene parameter limits without violating the internal macro limit
denitions.
26.12.6 Initial Conditions
26.12.6.1 Direct Setting of Initial Conditions
inc(varnm) = expr
DIgSILENT PowerFactory 15, User Manual 595
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Denition of the initial condition of variable varnm. If inc(varnm) is not dened, the normal as-
signment expression will be evaluated (only possible if varnm is of the intern or input type). If
inc(varnm) is dened, it will be evaluated when the model is reset.
inc0(varnm) = expr
Denition 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.
incx(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 incx, 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 xed, e.g. by incx(upss)=0. The
initial value of usetp is now automatically determined, using upss=0.
26.12.6.2 Iterative Setting of Initial Conditions
Three functions are available for determining initial values iteratively: looping, intervalinc, newtoninc.
These functions are used to nd the initial value for one set of parameters if the initial values of another
set of parameters, which are functions of the rst set of parameters, are known.
The iterative functions are used to nd 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)
596 DIgSILENT PowerFactory 15, User Manual
26.12. THE DIGSILENT SIMULATION LANGUAGE (DSL)
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 successively dividing
the interval as long as the deviation of the variable b from its initial value is less than eps. The
iteration stops if the maximum number of iterations is reached, and a warning is given if the
smallest deviation is greater than eps.
Restriction:
May only be used on the right side of an inc() statement
newtoninc (initexpr, start, iter, eps)
Performs a Newton iterative search for one or more parameters by minimizing the errors in a set
of coupled equations.
initexpr = the expression which must equal the parameters whose initial value is sought
start = the starting value for the parameter whose initial value is sought
iter = the maximum allowed number of iterations
eps = the maximum allowed absolute error between initexpr and the parameter whose initial value
is sought.
Example:
qt0 = 0.5
eps = 0.000001
maxiter = 100
inc(hedr) = newtoninc(hw-sqr(qedr)
*
(Rds+Rdr), hw,
maxiter, eps)
inc(qt1) = newtoninc(Pt1/(4
*
dh
*
eta1), qt0, maxiter, eps)
inc(qt2) = newtoninc(Pt2/(4
*
dh
*
eta2), qt0, maxiter, eps)
inc(qt3) = newtoninc(Pt3/(4
*
dh
*
eta3), qt0, maxiter, eps)
inc(qt4) = newtoninc(Pt4/(4
*
dh
*
eta4), qt0, maxiter, eps)
This example shows a part of the initial value denitions 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) (26.1)


qt1 Pt1/(4 dh eta1) (26.2)
qt2 Pt2/(4 dh eta2) (26.3)
qt3 Pt3/(4 dh eta3) (26.4)
DIgSILENT PowerFactory 15, User Manual 597
CHAPTER 26. STABILITY AND EMT SIMULATIONS
qt4 Pt4/(4 dh eta4) (26.5)
The following guidelines should be considered:
Add the initial conditions to the complex block, as opposed to each primitive (like a rst-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 dened 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 conguring, but does not require
correct initial conditions for each state/input variable. The initial values are only used to initialize
the iteration process. The incx-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.
26.12.7 Equation Code
Within the equation code, all equations necessary to build up the simulation models are included. The
set of equations denes 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 rst 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.
26.12.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 rst order derivative of the variable varnm.
Examples:
x1. = (xe-x1)/T1
x2. = x1
Remarks
598 DIgSILENT PowerFactory 15, User Manual
26.12. THE DIGSILENT SIMULATION LANGUAGE (DSL)
DSL assignments may occur in any sequence. The sequence does not inuence the evaluation
of the assignments.
All variables are of type oating 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. Conse-
quently 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
rst, then line 1:
1. a = b+5
2. b = x1
3. x1. = 1
Algebraic loops are not supported. In the following example, an error message will be displayed:
a = b+5
b = 2
*
a
If there is no assignment to a variable varnm, varnm will keep its initial value. The right side
expression may not contain derivatives. Derivatives may only appear on the left side of the equal
sign. The rst example is correct; the second is false.
x1. = asin(a) ! Correct
a = sin(x1.) ! Not accepted
26.12.9 DSL Macros
A DSL macro is a predened DSL model, complex or primitive, which is meant to be included in higher
level DSL models. The block diagram edit dialogue offers a Macro classication 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
DIgSILENT PowerFactory 15, User Manual 599
CHAPTER 26. STABILITY AND EMT SIMULATIONS
which should be replaced by:
y1 = my_macro(x1, s1, p1, i1) y = 3
*
y1 + 4
26.12.9.1 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.
26.12.9.2 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 dened as an output signal. A summary of the available variables of each
element can be seen in the corresponding Appendix C: Technical References of Models.
2. Models with output signals which are not directly injected to the electrical network (general de-
vices). Among these types of models are prime mover units, voltage controllers, relays, calculation
procedures, etc.
26.12.10 Events and Messages
The DSL language provides procedures for the generation of an interrupt event and for sending mes-
sages to the output window:
The procedure fault(boolexpr, event_string) generates an event and is evaluated at the begin-
ning 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 rst time that boolexpr is found to be true, the string will be processed and a message will be
sent to the output window, or an event will be added to the PowerFactory event queue. The "fault" or
"output" procedures will be disabled afterwards until the DSL model is reset, to prevent an avalanche of
messages or events. Both procedures are explained in detail in the following paragraphs.
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
600 DIgSILENT PowerFactory 15, User Manual
26.12. THE DIGSILENT SIMULATION LANGUAGE (DSL)
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 modied in the fault string by assigning a new value. The mecha-
nism is the same as described above in the output procedure.
Example:
fault(u>1.1,name=MySwitchEvent1 dtime=0.15)
If the variable u exceeds 1.1, the event named MySwitchEvent1 will be thrown onto the event stack
and its variable dtime (relative event time) will be set to 15 milliseconds. The event will thus be delayed
for that amount of time, which, in this case, mimics the time needed to open a switch. The actual switch
that will open is dened in the event object MySwitchEvent1.
Note: The events are accessed or created by opening the edit dialogue of the common model (double-
click on the DSL model in the Data Manager), and then pressing the button Events in the
dialogue. A list of events already dened inside this model is displayed. The events are not added
to the projects global event list unless the event is activated by the DSL model.
26.12.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
DIgSILENT PowerFactory 15, User Manual 601
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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 dened as:
model y = 'PT1'(xe;x1;K,T1;) x1. = select(T1>0,(xe-x1)/T1,0)
y = K
*
select(T1>0,x1,xe) ! if T1=0 => y=xe
inc(x1) = y/K
inc(xe) = y/K
[T1] = 's'
limits(T1) = [0,)
26.13 DSL Reference
26.13.1 DSL Standard Functions
602 DIgSILENT PowerFactory 15, User Manual
26.13. DSL REFERENCE
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
ceil(x) smallest larger integer ceil(1.15)=2.000
oor(x) largest smaller integer oor(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...
Table 26.13.1: DSL Standard Functions
26.13.2 DSL Special Functions
lim
lim (x, min, max)
Nonlinear limiter function:
Figure 26.13.1
limits
limits(param)=(min, max)
Limiter function used to print a warning message to the Output Window if a parameter is outside
the specied limits. Brackets [ and ] are used to indicate the inclusion of the end points in the
range, ( and ) are used to indicate the exclusion of the end points from the range.
Example:
limits(K)=(0,1]
DIgSILENT PowerFactory 15, User Manual 603
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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 sec-
onds and larger than 0.0. The expression Tdelay must evaluate to a time independent constant
and may therefore only consist of constants and parameter variables. The expression x(t) may
contain other functions.
Example:
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())
le
le (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.
604 DIgSILENT PowerFactory 15, User Manual
26.13. DSL REFERENCE
ipop
ipop (boolset, boolreset)
Logical ip-op function. Returns the internal logical state: 0 or 1.
Return value:
The internal state:
changes from 0 to 1, if boolset=1 and boolreset=0 (SET)
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.
aipop
aipop (x, boolset, boolreset)
'Analog'ip-op 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 dened 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 dened by the
matrix_iiii. xl represents the line value and xc the column of the matrix. Please consider that the
array has to be sorted in ascending order.
Example:
y = lapprox2(2.5, 3.7, matrix_cp)
sapprox
sapprox (x, array_iiii)
Returns the spline approximation y=f(x), where f is dened by the array_iiii. Please consider that
the array has to be sorted in ascending order.
DIgSILENT PowerFactory 15, User Manual 605
CHAPTER 26. STABILITY AND EMT SIMULATIONS
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 dened by the
matrix_iiii. xl represents the line value and xc the column of the matrix.
Example:
y = sapprox2(2.5, 3.7, matrix_cp)
event
Option 1: calling a predened event in the DSL element
event(Condition, trigger, name = ThisEvent dtime = delay value = val variable=var)
Option 2: target specication, no create parameter
event(Condition, trigger, target=ThisSlot name = ThisEvent dtime = delay value = val vari-
able = var)
Option 3: create and target specication
event(Condition, trigger, create = ThisEvtType target = ThisSlot name = ThisEvent dtime
= delay value = val variabl e =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 signal.
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 parameter event or
EvtSwitch for switch event, etc.
string ThisSlot (mandatory, only options 2 and 3)
If target=this is dened, the event is applied to a signal 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 (option 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 automatically with the DSL element itself as the target.
double delay (obligatory)
Delay time of the event after triggering.
double val (optional)
606 DIgSILENT PowerFactory 15, User Manual
26.14. MATLAB INTERFACE
Value of the parameter event (only when name=this is set or when a parameter 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()-denition according to options 2/3 is used, the create and target parameters must
be the rst parameters that are listed.
Examples:
The example shows a clock made with DSL using event( , ,name=this ...) which automatically
creates and congures 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 dened
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 switch 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)
26.14 MATLAB Interface
In addition to building controller models using the DIgSILENT Simulation Language (DSL), it is possible
to connect to MATLAB models via a PowerFactory -MATLAB interface. A DSL model (object class
BldDef ) is dened in PowerFactory and set up to have a link to a MATLAB .m le. The DSL model must
have at least one output and at least one state variable. The MATLAB .m le returns the vector t and
the matrices x and y, where t represents a time-vector, x represents a matrix of state-variable values,
and y represents a matrix of output values. From these, PowerFactory calculates the derivatives of the
state variables and outputs. The numerical integration is conducted in PowerFactory . PowerFactory
calls MATLAB with every time step. MATLAB does not run a simulation in parallel with PowerFactory ,
it simulates only one time step and returns two rows in t, x and y, which correspond to the initial and
the nal times of that time step. The matrix x has as many columns as there are state variables, and
the matrix y has as many columns as there are outputs. PowerFactory calculates the derivates and the
outputs at the beginning of the time step, and proceeds with the integration. In the following example
the initial time is 0 s and the nal time is 0.01 s. There are two state variables, and two outputs.
DIgSILENT PowerFactory 15, User Manual 607
CHAPTER 26. STABILITY AND EMT SIMULATIONS
t =
_
0
0.01
_
; x =
_
1.02 2.1
1.03 1.9
_
; y =
_
10 2
11 3
_
(26.6)
PowerFactory calculates the deriviatives from the time step and the initial and nal values of the state
variables, e.g. , and obtains the outputs of the MATLAB model at the beginning of the time-step from
the y-matrix, e.g.
dx
1
dt
=
(1.03 1.02
0.01 0
(26.7)
,and obtains the outputs of the MATLAB model at the beginning of the time-step from the y-matrix, e.g
y1 = 10. To use the MATLAB interface, it must be installed on the same computer as PowerFactory .
When the time-domain simulation in PowerFactory is initialised, it will start an instance of MATLAB

U the
same version that was used last. The following section provides an example of integrating a MATLAB
model with PowerFactory . In the example a voltage controller is implemented rst using a PowerFactory
model (ElmVco__16) and subsequently using an implementation in MATLAB Simulink. This example
can also be found in the SKnowledge

T area of the DIgSILENT online customer portal.


26.14.1 Example Implementation of Voltage Controller
In this example the grid consists of two generators, one load and one line, as shown in Figure 26.14.1.
Figure 26.14.1: MATLAB example grid
The simulation event is dened for the load, where the reactive power is increased after 0.5 seconds.
The complete example contains three les:
1. Matlab Example.dz is a PowerFactory le.
2. VCOtype16.m is a MATLAB M-le.
This le 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.
608 DIgSILENT PowerFactory 15, User Manual
26.14. MATLAB INTERFACE
26.14.1.1 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
simplied exciter. Both composite models use the AVR inside the IEEE-frame from the global library.
The generators have different VCO parameters set. In Figure 26.14.2 the edit dialogue of the ElmVco
with the parameters of the AVR can be seen.
Figure 26.14.2: Parameters dialogue of the voltage controller
The model representation of the ElmVco__16 is indicated in Figure 26.14.3.
Figure 26.14.3: Parameters dialogue of the voltage controller
The plots resulting from the simulation (Figure 26.14.8) show busbar voltages and excitation voltage for
both generators. The results are stored in result les located under the SResults

T folder of the relevant


study case.
DIgSILENT PowerFactory 15, User Manual 609
CHAPTER 26. STABILITY AND EMT SIMULATIONS
26.14.1.2 MATLAB Model
In the second study case "Matlab" which is a modication of the base case, VCO type 16 is mod-
elled 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 denition. This procedure is described in detail in the Section 26.14 (MATLAB
Interface). First a slot inside the frame has to be created, where the controller model should be inserted.
This is done exactly like for implementing built-in models or common models. Then a block denition
BlkDef has to be created inside the library. Instead of programming the transfer function using the DSL
code, there can now the denition of the MATLAB code be imported.
This can be done in the dialogue of the block denition. 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 Denition (BlkDef )
double-clicking an new/empty block reference in an open block diagram and then use the
button to select a block denition. Then The icon can be used to create a new block denition
inside the local library.
Now open the dialogue of the new BlkDef
by double-clicking on the frame of a composite block denition
by double-clicking the denition in side the library or on its icon
Here input and output variables, parameters, state variables and limiting signals have to be dened.
Instead of inserting the equations to describe the different function blocks, a MATLAB le *.m can be
selected, when the option Matlab is activated.
The edit dialogue of the block denition including the parameter denition and the selected le can be
seen in Figure 26.14.4 for the mentioned example.
610 DIgSILENT PowerFactory 15, User Manual
26.14. MATLAB INTERFACE
Figure 26.14.4: Composite model using a special frame
The model representation of the ElmVco__16 in the MATLAB Simulink package is shown in Fig-
ure 26.14.5
Figure 26.14.5: Parameters dialogue of the voltage controller
When the block denition is specied, a DSL model has to be created rst. As described in Sec-
tion 26.9.3 (The Common Model), the common model element (ElmDsl, ) is the front-end object for
all user-dened block denitions. This means that all user-dened 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 denition with specic set of parameter values. The
edit dialogue of the DSL element now looks different to the built-in ElmVco. From Figure 26.14.6 can be
seen, that this dialogue is similar to the normal DSL models. All time constants and other parameters
are the same as for the built-in VCO models.
DIgSILENT PowerFactory 15, User Manual 611
CHAPTER 26. STABILITY AND EMT SIMULATIONS
Figure 26.14.6: Parameters dialogue of the MATLAB voltage controller
Figure 26.14.7 shows the composite model using the special frame with the generator G1 and the
Matlab-AVR inserted into the slots.
612 DIgSILENT PowerFactory 15, User Manual
26.14. MATLAB INTERFACE
Figure 26.14.7: Composite Model using a special frame
These results fromthe simulation of the reactive power step using the built-in VCOmodel (dotted curves)
and using the MATLAB representation (solid curves) can be seen in Figure 26.14.8
Figure 26.14.8: Results of the transient simulation with the Built-In model
DIgSILENT PowerFactory 15, User Manual 613
CHAPTER 26. STABILITY AND EMT SIMULATIONS
26.14.1.3 The MATLAB File
The MATLAB le VCOtype16.m is an interface conguration for the Simulink model, stored in the le
vcotype16mod.mdl, and the PowerFactory DSL model. There the input and output signals, the param-
eters and the state variables are dened, as described below. The transfer function is specied.
The contents of this le 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 Simulink, which
allows only one instance of the model running at the same time, PowerFactory must send all parameters
in the each step of the simulation.
To nd 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 le (.m) le may not have the same name.
The order of the state variables in the interface les statement "options = simset(InitialState, [x1, x2,

E.])" is important; the order of the elements in the vector [x1, x2,

E] 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 rst 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 elds in the masks of the Simulink model dynamic
blocks is irrelevant.
The initial conditions are set within PowerFactory . Also, for the purpose of PowerFactory s model
checking mechanisms, the state derivatives equal to zero
The Simulink solver parameters are set to integrate over one small time step, e.g. start time = 0, end
time = 0.01, and step size = 0.01.
614 DIgSILENT PowerFactory 15, User Manual
26.14. MATLAB INTERFACE
The y-matrix returned by MATLAB contains the output variables. If more than one output variable
is dened 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 rst column
of the y-matrix is assigned to "output" and the value from the second column is assigned to "uerrs".
26.14.2 Additional notes
DIgSILENT PowerFactory calls MATLAB using the programme identication 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
DIgSILENT PowerFactory 15, User Manual 615
CHAPTER 26. STABILITY AND EMT SIMULATIONS
616 DIgSILENT PowerFactory 15, User Manual
Chapter 27
Modal Analysis / Eigenvalue
Calculation
27.1 Introduction
The Modal Analysis command calculates the eigenvalues and eigenvectors of a dynamic multi-machine
system including all controllers and power plant models. This calculation can be completed at the
beginning of a transient simulation and at every time step when the simulation is stopped. Note that
sometimes in the literature Modal Analysis is referred to as Eigenvalue Calculation or Small Signal
Stability. Throughout, this chapter the calculation will generally be referred to as Modal Analysis.
This chapter provides a brief background on the theory of Modal Analysis, followed by a detailed ex-
planation of how to complete such an analysis in PowerFactory. The various methods of analyzing the
results are also presented. Finally, a troubleshooting" section explains what to do when you receive
common errors.
27.2 Theory of Modal Analysis
The calculation of eigenvalues and eigenvectors is the most powerful tool for oscillatory stability stud-
ies. When doing such a study, it is highly recommended to rst compute the natural" system oscillation
modes. These are the oscillation modes of the system when all controller and power plant models
are deactivated so every synchronous machine will have constant turbine power and constant excita-
tion voltage. After determining these natural modes, the effects of controllers (structure, gain, time
constants etc.) and other models can be investigated.
After the initial conditions have been calculated successfully, which means that all time-derivatives of
the state variables should be zero (the system is in steady state), or the simulation has been stopped at
a point in time, the modal analysis calculates the complete system A-matrix using numerical, iterative
algorithms. The representation of the electrodynamic network model is equivalent to the representation
used for the balanced RMS simulation, except for the general load model, for which the frequency
dependencies are neglected.
The computation time for the Modal Analysis is approximately proportional to the number of state space
variables to the power of three. Considering, that most power system objects and models will contain
several (perhaps up to a dozen or more for some complex controllers), the calculation time can rapidly
increase as the size of the system being considered increases. For this reason, alternative methods for
calculating the system eigenvalues and eigenvectors must be used when the system grows very large.
PowerFactory supports two types of analysis methods.
DIgSILENT PowerFactory 15, User Manual 617
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
A multi-machine system exhibits oscillatory stability if all conjugate complex eigenvalues making up
the rotor oscillations have negative real parts. This means that they lie in the left complex half-plane.
Electromechanical oscillations for each generator are then stable.
More formally, assuming that one of the conjugate complex pair of eigenvalues is given by:

i
=
i
j
i
(27.1)
then the oscillatory mode will be stable, if the real part of the eigenvalue is negative

i
< 0 (27.2)
The period and damping of this mode are given by:
T
i
=
2

i
(27.3)
d
i
=
i
=
1
T
p
ln
_
A
n
A
n+1
_
(27.4)
where A
n
and A
n+1
are amplitudes of two consecutive swing maxima or minima respectively.
The oscillatory frequencies of local generator oscillations are typically in the range of 0.5 to 5 Hz. Higher
frequency natural oscillations (those that are not normally regulated), are often damped to a greater
extent than slower oscillations. The oscillatory frequency of the between areas (inter-area) oscillations
is normally a factor of 5 to 20 times lower than that of the local generator oscillations.
The absolute contribution of an individual generator to the oscillation mode which has been excited as
a result of a disturbance can be calculated by:

(t) =
n

i=1
c
i

i
e

i
t
(27.5)
where:

(t) generator speed vector

i
ith eigenvalue

i
ith right eigenvector
c
i
magnitude of excitation of the ith 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 theoretical disturbance
which would equally excite all generators with all natural resonance frequencies simultaneously.
The elements of the eigenvectors
i
then represents the mode shape of the eigenvalue i and shows the
relative activity of a state variable, when a particular mode is excited. For example, the speed amplitudes
618 DIgSILENT PowerFactory 15, User Manual
27.2. THEORY OF MODAL ANALYSIS
of the generators when an eigenfrequency is excited, whereby those generators with opposite signs in

i
oscillate in opposite phase.
The right eigenvectors
i
can thus be termed the observability vectors". The left eigenvectors
i
measures the activity of a state variable x in the i-th mode, thus the left eigenvectors can be termed the
relative contribution vectors".
Normalization is done by assigning the generator with the greatest amplitude contribution the relative
contribution factor 1 or -1 respectively.
For a n-machine power system, n-1 generator oscillation modes will exist and n-1 conjugate complex
pairs of eigenvalues
i
will be found. The mechanical speed of the n generators will then be described
by:
_

n
_

_
= c
1

11

12

1n
_

_
e

1
t
+c
2

21

22

2n
_

_
e

2
t
+. . . +c
2

n1

n2

nn
_

_
e

n
t
(27.6)
The problem of using the right or left eigenvectors for analyzing the participation of a generator in
a particular mode i is the dependency on the scales and units of the vector elements. Hence the
eigenvectors
i
and
i
are combined to a matrix P of participation factor by:
P
i
=
_

_
P
1i
P
2i

P
ni
_

_
=
_

1i

i1

2i

i2

ni

in
_

_
(27.7)
The elements of the matrix p
ij
are called the participation factors. They give a good indication of the
general system dynamic oscillation pattern. They can be used to determine the location of eventually
needed stabilizing devices to inuence the system damping efciently. 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 27.2.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 27.2.1: Variables accessible for eigenvalue calculation
When are modal analysis results valid?
A modal analysis can be started when a balanced steady-state condition is reached in a dynamic calcu-
lation. Normally, such a state is reached by a balanced load-ow calculation, followed by a calculation
of initial conditions. However, it is also possible to do a balanced RMS simulation and start a modal
analysis after the end of a simulation or during a simulation when you have manually stopped it.
Although, the modal analysis can be executed at any time in a transient simulation it is not recommended
that you do so when the system is not in a quasi-steady state. This is because each modal analysis is
DIgSILENT PowerFactory 15, User Manual 619
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
only valid for a unique system operating point. Furthermore, the theory behind modal analysis shows
that the results are only valid for small perturbations of the system. So although you can complete
a modal analysis during a large system transient, the results obtained would change signicantly if
the analysis was repeated a short time step later when the operating point of the system would be
signicantly different.
27.3 How to Complete a Modal Analysis
This section explains the steps required to complete a Modal Analysis in PowerFactory Completing an
analysis using the default options is explained in the rst sub-section. The second sub-section explains
the various options available in the Modal Analysis command.
27.3.1 Completing a Modal Analysis with the Default Options
To complete a modal analysis in using the default options in PowerFactory , you must follow the steps
below:
1. Use the toolbar selection button to choose the Modal Analysis toolbar. The process is illustrated
in Figure 27.3.1.
Figure 27.3.1: How to select the Modal Analysis toolbar
2. Calculate Initial Conditions using the button to open the command and then press Execute.
Note that the calculation of initial conditions needs a converging load-ow. More information about
the options in the Calculation of Initial Conditions command can be found in Chapter 26: Stability
and EMT Simulations, Section 26.3.
3. If you want to quickly complete the modal analysis and capture all eigenvalues using the default
options, you can press Execute in the subsequent dialogue box and the calculation will proceed.
When the calculation is complete you can view the Modal Analysis results. This is explained in
detail in Section 27.4.
Internal Calculation Procedure
When executing the Modal Analysis command by pressing Execute, the initial conditions of all elements
are calculated rst (assuming that the calculation is initialised from a load-ow rather than during a
RMS simulation). Then the modal analysis constructs a system matrix from the load-ow and the
dynamic data. The eigenvalues and eigenvectors are calculated directly from that matrix. PowerFactory
automatically does the linearization of all relevant system elements because eigenvalue calculations
need linearized models.
620 DIgSILENT PowerFactory 15, User Manual
27.3. HOW TO COMPLETE A MODAL ANALYSIS
27.3.2 Explanation of Modal Analysis Command Basic
Options (ComMod)
The Modal Analysis command dialogue is shown in Figure 27.3.2. This section explains the available
command options.
Figure 27.3.2: Modal Analysis command dialogue
Calculation Method
There are two possible calculation methods for the Modal Analysis, they are:
QR/QZ-Method; This method is the classical method for calculating all of the system eigenvalues.
Selective Modal Analysis (Arnoldi/Lanczos); This method only calculates a subset of the system
eigenvalues around a particular reference point. Often this method is used in very large systems
when using the QR-method could be very time consuming. It is especially useful if the user knows
the target area of interest for the eigenvalues. This option needs more conguration as explained
below.
27.3.3 QZ method
Since the QZ Method is used in PowerFactory the following models are now supported by this method
such as:
The Asynchronous Machine (ElmAsm);
The PWM converter (ElmVscmono, ElmVsc);
DIgSILENT PowerFactory 15, User Manual 621
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
DFIG (ElmAsmsc);
DC machine (ElmDcm);
DC line (ElmLne with type set to DC);
Complex load;
DC shunt;
DC surge arrester;
DC valve (ElmValve);
DC series reactor;
27.3.4 Selective Modal Analysis
Complex reference point (RP)
Here you must enter the reference point on the real-imaginary plain for the Selective Modal Analysis.
Which Eigenvalues
The selective eigenvalue calculation determines eigenvalues close to the reference point using one of
three different measures for closeness. The options are:
Smallest Magnitude w.r.t RP; If this option is selected, the selective eigenvalue calculation chooses
eigenvalues that are closest to the reference point by magnitude of the eigenvalue.
Smallest Imaginary Part w.r.t RP; If this option is selected, the selective eigenvalue calculation
chooses eigenvalues that are closest to the reference point using only the imaginary part of the
eigenvalue.
Smallest Real Part w.r.t RP; If this option is selected, the selective eigenvalue calculation chooses
eigenvalues that are closest to the reference point using only the real part of the eigenvalue.
This option can be further claried using a diagram as shown in Figure 27.3.3. The three eigenvalue
pairs are as follows:
A; -0.8 +/- 1.4
B; -0.7 +/- 1.5
C; -0.5 +/- 2.0
Say the reference point was set to the origin (0,0). Then using the rst method above, the closest
eigenvalue pair would be A because this pair has the smallest magnitude. Using method two, the
closest pair would be C because this pair has the smallest real component. Finally, using the third
method, the closest pair would also be A because this pair has the smallest imaginary component.
622 DIgSILENT PowerFactory 15, User Manual
27.3. HOW TO COMPLETE A MODAL ANALYSIS
Figure 27.3.3: Illustration of different eigenvalue selection methods
Number of Eigenvalues
This parameter limits the total number of eigenvalues calculated by the Selective Eigenvalue calculation
method. An eigenvalue pair is dened as one eigenvalue mode for this calculation.
Settings
The Settings button, is a reference (pointer) to the Calculation of Initial Conditions command, also
accessed through the button, that is used by the Modal Analysis command. It is provided here so
that you can easily inspect the selected calculation options.
27.3.5 Advanced Options
The advanced options page for the modal analysis is shown in Figure 27.3.4. This section explains the
options available on this page.
Figure 27.3.4: Advanced Options tab page of the Modal Analysis command dialogue
DIgSILENT PowerFactory 15, User Manual 623
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
Calculate
There are three check boxes here:
Left Eigenvectors (Controllability); If this option is enabled, the Modal Analysis command will
calculate the Left Eigenvectors. It is enabled by default. The user can visualise the Controllability
for any mode using the Mode Phasor Plot or Mode Bar Plot described in Section 27.4.2.
Right Eigenvectors (Observability); If this option is enabled then the Modal Analysis command will
calculate the Right Eigenvectors (Observability) for each state variable. It is disabled by default.
The user can visualise the Observability for any mode in either the Mode Phasor Plot or Mode
Bar Plot described in Section 27.4.2.
Participation Factors; If this option is enabled then the Modal Analysis command will calculate
Participation Factors for each state variable. It is disabled by default. The user can visualise the
Participation Factors for any mode using the Mode Phasor Plot or Mode Bar Plot described in
Section 27.4.2.
Initialisation of Arnoldi Iteration
This selection is active if the Calculation Method is set to Selective Modal Analysis. According to this
selection the start vector of the iterative algorithm is chosen. The user may choose to use a randomly
chosen vector or a standard unit vector to initialise the Arnoldi algorithm.
Algorithm
This selection is activated if the QR/QZ-Method is selected.
QR method using system reduction:
This method uses a system reduction in order to solve a standard eigenvalue problem by the QR
method. All models including the selection of elements in section 27.3.3 are supported by this cal-
culation.
QZ method for generalised system:
This method solves the generalised eigenvalue problem directly by using the QZ method. Again, there
are no restrictions on the models in the system. It may be used in rare cases when the system reduction
method described above fails.
Advanced tab
The Advanced Tab is shown in gure 27.3.5. The options are available only when Selective Modal
Analysis is chosen.
Identication of Eigenvalues: consider identical if distance smaller...
Left and right eigenvectors are calculated separately in PowerFactory . This parameter species
the tolerance for eigenvalues when its eigenvectors are associated.
Omit Eigenvalues
...if magnitude is larger than
All eigenvalues of modulus greater than this value will not be shown.
...if magnitude is smaller than
All eigenvalues of modulus smaller than this value will not be shown.
If the QR/QZ-Method is chosen, the user can set the check box to directly construct the A Matrix. This
option is from an older version of PowerFactory and we suggest that it should no longer be used.
624 DIgSILENT PowerFactory 15, User Manual
27.4. VIEWING MODAL ANALYSIS RESULTS
Figure 27.3.5: Advanced Tab
27.3.6 Output Options
The Matrices used for the Modal Analysis can be exported to a Matlab readable le format. The user
can select the items to export in the dialog shown in gure 27.3.6. In this dialog the user can also set
the folder in which the Matlab les will be placed.
Figure 27.3.6: Output Options tab page of the Modal Analysis command dialogue
27.4 Viewing Modal Analysis Results
There are several ways for the user to view the results of the Modal Analysis calculation, including
through predened reports to the Output Window, using the built-in plots within PowerFactory or us-
ing the spreadsheet like data browser. Additionally, the user can search individual objects within the
database and view the Controllability, Observability, and Participation for a particular mode within the
familiar data manager or object lters. This section describes how to get results using these four meth-
ods.
DIgSILENT PowerFactory 15, User Manual 625
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
27.4.1 Viewing Modal Analysis Reports in the Output Window
This section describes how to view the Modal Analysis results in the PowerFactory Output Window To
do this follow these steps:
1. Left-click the Output Calculation Analysis icon on the main toolbar. The Output of Results
dialogue should be visible.
2. Select the eigenvalues radio button and the dialogue should look as shown in Figure 27.4.1.
3. There are four options for the report. You must choose one of these options in the Output of
Eigenvalues section of the dialogue:
Eigenvalues; This option prints a report of all the calculated eigenvalues.
Controllability/Observability/Participations; Selecting any of these options changes the dia-
logue format to that shown in Figure 27.4.2. The various options are explained as follows:
Select Eigenvalue To print a report showing all eigenvalues and for each eigenvalue a ltered
list of the state variables Controllability, Observability or Participation Factors, then choose the
option Filtered from this drop down menu. Adjust the lter settings in the box below to determine
which eigenvalues will not be shown in the report. Alternatively, to display a report for a single
eigenvalue, choose the eigenvalue index from this box. Note when choosing a single eigenvalue,
the lter settings are not applied to the report.
Variable Selection To show all variables (for example, speed, phi, psiD), select Show all. To lter
the displayed variables according to Controllability, Observability or Participation Factor, choose
Min. contribution and enter the value for the minimum contribution. Alternatively, for greater
control over which variables are displayed, select the User Dened States option. The button
Show shows the currently selected variables. More variables can be added using the Add button
whereas all variables can be removed by using the Remove All button.
4. Press Execute. An example report for eigenvalues is shown in Figure 27.4.3. The results of
the participation factors for a single mode in a small example power system are shown in Fig-
ure 27.4.4. Note the Detailed check-box shows the bar chart in the report, whereas the normal
report shows only numerical values.
626 DIgSILENT PowerFactory 15, User Manual
27.4. VIEWING MODAL ANALYSIS RESULTS
Figure 27.4.1: Output of eigenvalues only
DIgSILENT PowerFactory 15, User Manual 627
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
Figure 27.4.2: Output of Controllability, Observability or Participation Factors
Figure 27.4.3: Output of system eigenvalues
Figure 27.4.4: Output of participation factors for a single mode (detailed)
628 DIgSILENT PowerFactory 15, User Manual
27.4. VIEWING MODAL ANALYSIS RESULTS
27.4.2 Viewing Modal Analysis Results using the built-in Plots
There are three special plot types in PowerFactory for visualising the results of a modal analysis calcu-
lation; the Eigenvalue Plot, the Mode Bar Plot and the Mode Phasor Plot.
Each type of plot can be automatically created by selecting the icon and clicking the desired plot
icon. This section explains how to use each plot and also how these plots can be exported to external
software.
How to use the The Eigenvalue Plot (VisEigen)
Creating the EigenValue Plot
1. Using the plot selection toolbar as shown in Figure 27.4.5, choose the Eigenvalue Plot by clicking
the icon.
2. The Eigenvalue Plot will appear in a new window. Note, every time you select the EigenValue Plot
icon from the drop-down menu, a new plot window will be created.
Figure 27.4.5: Selection of the Modal Analysis plots
Interpreting the EigenValue Plot An example EigenValue Plot is shown in Figure 27.4.6.
The Eigenvalue Plot displays the calculated eigenvalues in a two axis coordinate system. For the
vertical axis, it is possible to select among the imaginary part, the period or the frequency of the
eigenvalue. The horizontal axis shows the real part.
Stable eigenvalues are shown in green (default) and unstable eigenvalues in red (default). Each
eigenvalue can be inspected in detail by right clicking it and selecting Edit Data". This will bring
up a pop-up dialogue where the index, the complex representation, the polar representation and
oscillation parameters of the mode can be inspected as illustrated in Figure 27.4.7.
DIgSILENT PowerFactory 15, User Manual 629
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
Figure 27.4.6: The Eigenvalue Plot
Figure 27.4.7: IntEigen dialogue
Changing the appearance of the EigenValue Plot All settings that control the appearance of
the Eigenvalue Plot can be accessed by double clicking a empty area of the plot. A dialogue as
shown in Figure 27.4.8 will appear. The options available are explained as follows:
Appearance; Here the colour of the stable and unstable eigenvalues can be adjusted. You can
also decide whether to display the plot legend and the stability borders. The so-called Stability
Borders option shades the area of the plot containing all the modes shown on the plot. It is not an
area of stability as such.
Filter Options; Here you can choose to restrict the display of eigenvalues on the plot according to
dened criteria. Eigenvalues can be restricted by range (independently in either the x or y axes)
by selecting the Restrict Range option. The Restrict Indexes options allows the user to choose
from the complete list of eigenvalues, a limited subset to display on the plot. Alternatively, just the
Oscillatory Modes can be displayed by choosing the Show Oscillatory Modes option.
Scale; Here the range of the plot (x and y axes limits) can be dened. Also by enabling the Adapt
Scale option, the x and y axes tick marks will be displayed as integer values, rather than oating
point numbers. For example, the axis marks will be 10.0, 20.0 and 30.0 rather than 9.7988,
19.5976 and 29.3964.
630 DIgSILENT PowerFactory 15, User Manual
27.4. VIEWING MODAL ANALYSIS RESULTS
Figure 27.4.8: The Eigenvalue Plot settings
How to use The Mode Bar Plot (VisModbar)
Creating the Mode Bar Plot
1. Using the plot selection toolbar as shown in Figure 27.4.5 choose the Mode Bar Plot by clicking
the icon.
2. The Mode Bar Plot will appear in a new window. Note, every time you select the Mode Bar Plot
icon from the drop-down menu, a new plot window will be created.
Interpreting the Mode Bar Plot An example Mode Bar Plot is shown in Figure 27.4.9. The
Mode Bar Plot displays the controllability, observability or participation factors of variables for a
user selected eigenvalue in bar chart form. This allows for easy visual interpretation of these
parameters.
Double clicking any of the bars in the plots shows the detailed IntEigstate dialogue as shown
in Figure 27.4.10. This dialogue displays the magnitude, phase and sign of the variables for
controllability, observability and participation in the selected mode. Note, the observability and
participation factors are only shown if these calculations were enabled in the Modal Analysis
Command as described in Section 27.4.2.
DIgSILENT PowerFactory 15, User Manual 631
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
Figure 27.4.9: Example Mode Bar Plot
Figure 27.4.10: Eigenvalue state dialogue
Changing the appearance of the Mode Bar Plot All settings that control the appearance of
the Eigenvalue Plot can be accessed by double clicking a empty area of the plot. A dialogue as
shown in Figure 27.4.11 will appear. The options available are explained as follows:
Mode Selection; Here you must choose the mode displayed on the plot. The observability, con-
trollability or participation factors will then be displayed for this mode. Note, if you are interested in
a mode near a particular value, but dont know the index of the mode, you can enter the real and
imaginary values in the boxes here, and PowerFactory will automatically select the closest mode.
Shown values; Here you can select to display either the Controllability, Observability or Participa-
tion Factors for the selected mode.
Filter Options; Here you can choose to restrict the display of variables on the plot according to
dened criteria. Displayed variables can be restricted to a minimum contribution by selecting the
Min. Contribution option, or for greater control the variables to display can be selected manually
by selecting the User Dened States option and manually choosing the variables to display.
632 DIgSILENT PowerFactory 15, User Manual
27.4. VIEWING MODAL ANALYSIS RESULTS
Appearance; Here you can adjust the colour and style of the bars and choose to show the plot
legend and also the annotation (value) for each bar.
Figure 27.4.11: Mode Bar Plot Dialogue
How to use the Mode Phasor Plot (VisModephasor) Creating the Mode Phasor Plot
1. Using the plot selection toolbar as shown in Figure 27.4.5 choose the Mode Phasor Plot by clicking
the icon.
2. The Mode Phasor Plot will appear in a new window. Note, every time you select the Mode Phasor
Plot icon from the drop-down menu, a new plot window will be created.
Interpreting the Mode Phasor Plot An example Mode Phasor Plot is shown in Figure 27.4.12.
The Mode Phasor Plot displays the controllability, observability or participation factors of variables
for a user selected eigenvalue in polar form. Variables are grouped and coloured identically if their
angular separation is less than a user dened parameter (default 3 degrees).
Double clicking any of the bars in the plots shows the detailed IntEigstate dialogue as shown in
Figure 27.4.10. This dialogue is identical to the dialogue displayed when clicking on one of the
bars in the Mode Bar Plot.
DIgSILENT PowerFactory 15, User Manual 633
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
Figure 27.4.12: The Mode Phasor plot
Changing the appearance of the Mode Phasor Plot All settings that control the appearance of
the Mode Phasor Plot can be accessed by double clicking a empty area of the plot. The dialogue
that appears is very similar to the dialogue for the Mode Bar Plot and the Mode Selection, Filter
Options and Appearance can be altered in the same way. In addition, there are three more
options:
Cluster; Enabling this option will cluster variables with a angular separation less than the param-
eter entered. A cluster shares the same diagram colour.
Show only points; If this parameter is disabled, the vectors will appear as points on the diagram
rather than arrows.
Show unit circle; The unit circle can be removed from the plot by disabling this option.
Exporting a Modal Analysis Plot to External Software Any of the Modal Analysis plots can be ex-
ported to a WMF or BMP le for use in an external software program such as a word processor. It
is recommended to use the WMF format where possible because this format is a vector based format
(which means that the plot looks good regardless of scaling) and is compressed so uses much less disk
space than the BMP le.
To export a Modal Analysis plot follow these steps:
1. From the main PowerFactory le menu, choose the Option File Export ... Windows Metale
(*.WMF). A Save As dialogue will appear.
2. Choose an appropriate File name and disk location and click Save.
634 DIgSILENT PowerFactory 15, User Manual
27.4. VIEWING MODAL ANALYSIS RESULTS
Note: The process of exporting multiple plots can be automated using a DPL script. See the DPL func-
tion WriteWMF() in the Appendix D: DPL Reference for more information.
27.4.3 Viewing Modal Analysis Results using the Modal Data Browser
The Modal Analysis results can be displayed in a convenient data browser specially designed for working
with these results. To display the results in this data browser follow these steps:
1. Click the icon found in the Modal Analysis toolbar. The ComModres dialogue as shown Fig-
ure 27.4.13 will appear.
2. Optional: If you want to display the Modal Analysis results from another Study Case, you need
to select user-dened for Shown Results and select an alternative results object. Normally you
should leave this value on Default
3. The procedure now depends on if you want to view the calculated eigenvalues, or if you want to
view the controllability, observability and participation factors for variables related to a particular
eigenvalue.
If you only want to display the eigenvalues, then leave the Shown Values on Eigenvalues.
If you want to view the controllability, observability and participation factors for a particular
eigenvalue then you must select States and choose the Eigenvalue index.
4. Press the Execute button. The data browser window will appear as shown in Figure 27.4.14 (for
eigenvalues) or as shown in Figure 27.4.15 for a single eigenvalue and the controllability etc for
each variable.
Figure 27.4.13: Displaying modal analysis results in a data browser (ComModres dialogue)
DIgSILENT PowerFactory 15, User Manual 635
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
Figure 27.4.14: Modal analysis results in a data browser (eigenvalues)
Figure 27.4.15: Modal analysis results in a data browser (controllability etc)
Note: The results in the eigenvalue data browser can be sorted or grouped by clicking on the column
heading. Clicking once sorts the column in descending order, a second time in ascending order.
Viewing the Mode Bar Plot or Mode Phasor Plot directly from the Modal Data Browser
When you view the Eigenvalues in the data browser as shown in Figure 27.4.14, you can quickly show
the Mode Bar Plot or Mode Phasor plot of the eigenvalue. To do so follow these steps:
1. Right-click the mode icon on the left most side of the browser. The context sensitive menu will
appear.
For a Mode Phasor Plot choose the option Show Phasor Plot Controllability etc.
For a Mode Bar Plot choose the option Show Bar Plot Controllability etc.
636 DIgSILENT PowerFactory 15, User Manual
27.4. VIEWING MODAL ANALYSIS RESULTS
Exporting the results from the Modal Analysis Data Browser to external software
To export the results shown in the Modal Analysis Data Browser to an external software program (such
as a spreadsheet tool) follow these steps:
1. In the browser window left click and drag a selection of data that you would like to export. To select
all data press CTRL-A.
2. Right-click within the selection and choose the option Spread Sheet Format Copy (with column
headers).
3. Open the external software and paste the data from the windows clipboard.
27.4.4 Viewing Results in the Data Manager Window
The data manager and object lter can be used to view the participation factors, controllability or observ-
ability for power system elements such as synchronous machines after completing an Modal Analysis.
There are three tasks that you might need to complete to show this information. Tasks one and two are
compulsory, whereas task three is only necessary if you are viewing the eigenvalue results in the data
manager or object lters for the rst time.
Task 1: Choosing the Eigenvalue and variable to view
1. Firstly, make sure you have executed a Modal Analysis as described in Section 27.3.
2. From the Modal Analysis toolbar click the Set Eigenvalue icon . The Set Eigenvalue dialogue
(ComSeteval ) should appear as shown in Figure 27.4.16.
Figure 27.4.16: The Set Eigenvalue dialogue
3. Typically, you should leave the Shown results set to Default, unless you wish to view results from
an alternative Study Case.
4. Choose the Eigenvalue index to display results for by entering the number using the keyboard or
by using the increment/decrement control.
5. Choose the State Variable to view the results for by using the drop-down selection menu.
6. Press the Execute button. It will appear as if nothing has happened - this is normal.
Task 2: Viewing the results in the Object lter
1. Select the synchronous machine icon from the object lter menu.
DIgSILENT PowerFactory 15, User Manual 637
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
2. A list of allRelevant synchronous machines will appear in a data manager style window. Select
the Flexible Data tab from the bottom of the window. In Vista/Windows 7 this will be highlighted in
blue.
3. Scroll across the window to view the columns containing the observability, controllability and par-
ticipation factor date. If you dont see these column headings, then you will need to dene the
Flexible data as described in Task Three.
Task 3: Changing the Flexible Data Columns to show the participation factors
1. Click the Dene Flexible Data from the window toolbar. A Variable set browser selection
window will appear.
2. Choose the Modal Analysis page from the left of this window.
3. In the Filter for settings choose the Variable Set Calculation Parameter.
4. In the Available Variables window, scroll to near the bottom until you see the variables p_mag
(Participation, Magnitude) etc. Holding shift select this variable and all eight other variables down
to rEVec_mags (Observability, Magnitude signed).
5. Click on the variables or on the right arrows icon between the Available Variables and Selected
Variables windows. The screen should look similar to Figure 27.4.17.
6. Press the OK button. Now you can scroll to the right in the exible data page to view the values
of these variables.
Note: The results can only be displayed for one eigenvalue and variable at a time. For instance, eigen-
value 3 and speed. To change the displayed eigenvalue and/or variable, repeat task one above.
You dont need to repeat task three every time because after this has been done the rst time in
the project it will remain congured this way until you change the dened variables in the exible
data page.
Figure 27.4.17: Variable set selection of Controllability, Observability and Participation Factor variables
for Synchronous Machines.
638 DIgSILENT PowerFactory 15, User Manual
27.5. TROUBLESHOOTING MODAL ANALYSIS CALCULATION PROBLEMS
27.5 Troubleshooting Modal Analysis Calculation Problems
There are various things that can go wrong during an attempt at a Modal Analysis and PowerFactory
usually provides error messages to indicate the nature of the problem when it occurs. This chapter
describes some of the common problems that can occur when attempting a Modal Analysis and the
probable solutions.
27.5.1 The Arnoldi/Lanczos Method is slow
The Arnoldi/Lanczos Method is a selective eigenvalue calculation and should not be used when you
need to calculate all the system eigenvalues. When you need all the system eigenvalues, the QR
method will generally be faster.
The Arnoldi/Lanczos method is generally fast when computing a selective number of eigenvalues
around a desired point. If you need to get a larger number of eigenvalues than the default, it is suggested
that you increase the requested number of values slowly, say starting with 20 then 50 etc.
DIgSILENT PowerFactory 15, User Manual 639
CHAPTER 27. MODAL ANALYSIS / EIGENVALUE CALCULATION
640 DIgSILENT PowerFactory 15, User Manual
Chapter 28
Model Parameter Identication
28.1 Introduction
The process of parameter estimation for power system elements for which certain measurements 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 identication for one or more models, given a set of measured input and output
signals. This identication 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 identied, or they may be used to control voltage or
current sources.
The output signals of the power systemelements are fed into a comparator, just as the correspond-
ing 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 identied. The objective
functions are minimized by altering these parameters.
This whole process is visualized in Figure 28.1.1.
DIgSILENT PowerFactory 15, User Manual 641
CHAPTER 28. MODEL PARAMETER IDENTIFICATION
Figure 28.1.1: The identication Principle
Of course, Figure 28.1.1 only visualizes the principle of the identication. To connect measurement
les, power system models and comparator objects to each other, a composite frame is used. This, and
all other details of the PowerFactory identication functions, is described in the following sections.
28.2 Target Functions and Composite Frames
The parameter identication process is performed by minimizing objective functions. These objective
functions are calculated by ElmCompare objects from the difference between measured responses and
calculated responses of one or more power system elements.
To dene 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 response signals must be
connected to the compare object. All this is done graphically by drawing a Composite Frame, using a
block denition (BlkDef) with slots.
A simple example of an identication block diagram, for the objective function for a voltage controller, is
visible in Figure 28.2.1.
Figure 28.2.1: Simple identication block diagram
The block diagram uses slots which reserve space for the measurement les, the comparator and the
element models.
642 DIgSILENT PowerFactory 15, User Manual
28.2. TARGET FUNCTIONS AND COMPOSITE FRAMES
28.2.1 The Measurement File Slot
The measurement le 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 le slot in the example of Figure 28.2.1 has the following settings:
Class Name Filter: ElmFile"
Output Signals: y1,y2"
The fact that the signal is named output2" signals in the case of the measurement le does not im-
plicate that the parameter identication only regards measured response signals (measured outputs")
from power system elements. It only means that the measured excitation signals will be mapped onto
ElmFile signals. The ElmFile will reproduce the measured excitation and response signals during the
identication process.
28.2.2 Power System Element Slot
Power system element slots are used in the identication block diagram in the same way as they are
used to dene composite models.
As in the case of a composite model diagram, the element slots may use any of the available parameters
of the power system element model as input or output. The in- and output signals are dened by stating
the exact variable name (see also Section Composite Block Denitions in Chapter 26: Stability and EMT
Simulations, Section 26.11 (User Dened (DSL) Models)
In the case of the example in Figure 28.2.1, the Vco1" slot has the following parameters set:
Class Name Filter: ElmVco*"
Output Signals: uerrs"
Input Signals: u"
28.2.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
DIgSILENT PowerFactory 15, User Manual 643
CHAPTER 28. MODEL PARAMETER IDENTIFICATION
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
identication process.
In the case of the example in Figure 28.2.1, the Comparison slot has the following parameters set:
Class Name Filter: ElmCompare"
Input Signals: in1meas,in1sim"
28.3 Creating The Composite Identication Model
The identication block diagram only denes a generalized workbench that is needed for the identica-
tion process. Its function is similar to that of the Composite Frame object. There is also the need to
create a composite model, based on the block diagram, to identify particular parameters of particular
objects.
Suppose having a voltage controller model of which one wants to identify the parameters ka and ta.
Measurements of the behaviour of the physical appliance are available as measured voltage-curves on
the input and output of the controller during a disturbance.
Assuming the example identication block diagram of Figure 28.2.1, a composite model (ElmComp) has
to be created in the active grid folder.
Note: If the identication process only addresses secondary power system element, which are not
directly connected to busbars, the identication process does not require a power system grid.
However, all calculation functions like load-ow or EMT simulation require a calculation target in
the form of an activated grid of system stage folder. Therefore, a grid folder with at least one
DUMMY busbar has to be created when secondary element models are to be identied.
The composite model must be set to use the identication block. It will then show the slots that have
been dened in that block. In the current example, the composite model dialogue will look like Fig-
ure 28.3.1.
644 DIgSILENT PowerFactory 15, User Manual
28.3. CREATING THE COMPOSITE IDENTIFICATION MODEL
Figure 28.3.1: The example composite identication model
In this gure, the three slots have been assigned already. Visible is that the comparison object Compare
Signals is selected, as well as a measurement le and the voltage controller of which to nd the best
possible values for ka and ta.
28.3.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 28.3.2 shows the default settings.
DIgSILENT PowerFactory 15, User Manual 645
CHAPTER 28. MODEL PARAMETER IDENTIFICATION
Figure 28.3.2: The comparison object dialogue
In this gure, 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

i=1
[(M
i
S
i
) w
i
]
p
(28.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
28.4 Performing a Parameter Identication
The identication 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 RMS/EMT Simulation" toolbar which is
accessed by selecting the Change Toolbox icon ( ).
The ComIdent dialogue is depicted in Figure 28.4.1.
646 DIgSILENT PowerFactory 15, User Manual
28.4. PERFORMING A PARAMETER IDENTIFICATION
Figure 28.4.1: The ComIdent dialogue
This dialogue shows references to the following objects:
Load-Flow Settings
This reference is automatically set to the load-ow command that will be used during the identi-
cation process.
Initial Conditions
This reference is automatically set to the initial conditions command that will be used during the
identication process.
Simulation
This reference is automatically set to the simulation command that will be used during the identi-
cation process.
The identication process allows for the use of load-ow calculations and/or dynamic simulations. The
Load-Flow" and Simulation" pages shows the variables that are to be identied, in case of a load-ow
or a dynamic identication. See for example Figure 28.4.2.
Figure 28.4.2: Setting identication parameters
DIgSILENT PowerFactory 15, User Manual 647
CHAPTER 28. MODEL PARAMETER IDENTIFICATION
In this example, one parameter of the voltage controller element identi 1" from the Composite Iden-
tication Model is listed. The identication process will alter this parameter in order to minimize the
objective functions.
The Mode eld 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 identication 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 Identication 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 behaviour of the primary appliance has been measured.
28.5 Identifying Primary Appliances
A primary appliance, such as a general load, an asynchronous machine or a static var system, do not
have an input signal like a voltage controller or any other secondary appliance. It would therefore not
be possible to connect a measured signal directly to a load model in order to simulate its response.
To identify a primary element model, a small grid model is used to which one or more controllable
voltage sources may be connected. These voltage sources will translate the measured voltage signals
from the measurement le into a normal busbar voltage which will be used in the load-ow or simulation
calculations. The response of the primary element models connected to that busbar may then be
compared to a measured response.
An example of this method is shown in the following gures.
Figure 28.5.1: Identication diagram with primary element
In Figure 28.5.1, a simple Identication Block Diagram is shown in which the measurement le is no
longer connected to the element slot, but to the voltage source slot. The voltage at the busbar at which
648 DIgSILENT PowerFactory 15, User Manual
28.5. IDENTIFYING PRIMARY APPLIANCES
the voltage source will be connected will thus be forced to the measured values during the identication
process.
Figure 28.5.2: Primary element and voltage source
In Figure 28.5.2, a very simple grid is shown to which the load which is to be identied and a voltage
source element are connected. As with the normal identication process, a Common Identication
Model has to be created which uses the Identication Diagram with Primary Element as shown in
Figure 28.5.1. In the ComIdent command dialogue, the unknown parameters of the load may then be
listed.
It is of course possible to mix the identication of both primary and secondary power system elements
at the same time.
DIgSILENT PowerFactory 15, User Manual 649
CHAPTER 28. MODEL PARAMETER IDENTIFICATION
650 DIgSILENT PowerFactory 15, User Manual
Chapter 29
Contingency Analysis
29.1 Introduction
In Chapter 21 (Load Flow Analysis) the general aspects of load ow analysis and its main areas of
application were presented. Additionally, two perspectives were discussed: that of planning and that of
system operation (see Figure 21.1.1). There it was made evident that regardless of the perspective, the
behaviour of the system must be analyzed under both normal and abnormal conditions.
When referring to contingency analysis, we are essentially referring to the analysis of abnormal system
conditions. In general, contingency analysis can be dened as: "the evaluation of the violations in
system operating states (if any) that certain contingencies can pose to the electrical power system";
or put in other words, contingency analysis is the execution and evaluation (loading and voltage-wise)
of post-fault load ows; each of which reect the "outage" of a single or group of elements (such as
transformers, busbars, transmission lines, etc.).
Contingency analyses can be therefore used to determine power transfer margins or for detecting the
risk inherent in changed loading conditions. This chapter deals with deterministic contingency analysis.
29.2 Technical Background
The contingency analysis module available in PowerFactory 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, per-
formed over different time periods, each of which denes a time elapsed after the contingency
occurred. It allows the denition of user dened post-fault actions.
Figures 29.2.1 and 29.2.2 illustrate the general sequence of both methods. Here the results of both
pre- and post-fault load ows are compared to the specied loading and voltage limits; based on this
comparison contingency reports are generated.
In Figure 29.2.1 the term Single Time Phase is used because only one post-fault load ow is analyzed
per contingency case.
DIgSILENT PowerFactory 15, User Manual 651
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.2.2 illustrates the multiple time phases contingency analysis method. Here, more than one
post-fault load ow can be analyzed for the same contingency; hence the term Multiple Time Phase.
Furthermore, if required, each time phase can have its own post-fault actions dened. The dened
post-fault actions can be either a single event or a combination of the following events:
Load shedding
Generator re-dispatching
Switching action (opening or closing)
Tap changing
In PowerFactory , the term Fault Case (used in both Figures) is used to dene a contingency.
Figure 29.2.1: Single Time Phase Contingency Analysis Method
652 DIgSILENT PowerFactory 15, User Manual
29.2. TECHNICAL BACKGROUND
Figure 29.2.2: Multiple Time Phase Contingency Analysis Method
Before describing in detail the contingency analysis itself, it is necessary to introduce two basic concepts
which dene the functionality of this tool:
Contingencies: These are objects in PowerFactory of the class ComOutage ( ) which are used
to represent contingencies. They are dened 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 depending on the method selected and the value assigned to the Post Contingency
Time parameter (see Section 29.5.3: Multiple Time Phases), post-fault actions are carried out.
For further information on the denition and use of contingencies please refer to Section 29.5.7
(Dening Time Phases for Contingency Analyses).
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 dened via a user dened Post Con-
tingency Time (see the Multiple Time Phases page of the Contingency Analysis command). The
Post Contingency Time denes the end of a phase; that is, the point in time at which the steady-
state of the network is calculated. For further information regarding the denition of time phases
refer to Section 29.5.7 (Dening Time Phases for Contingency Analyses).
DIgSILENT PowerFactory 15, User Manual 653
CHAPTER 29. CONTINGENCY ANALYSIS
29.2.1 Single Time Phase Contingency Analysis
The single time phase contingency analysis function rst performs a pre-fault (base) load ow calcula-
tion. Following this, for each contingency (stored inside the command itself) it performs a corresponding
post-contingency load ow (for a single time phase), which take one or more primary components out
of service. The command calculates the initial consequences of the contingencies, but does not regard
the operational measures taken to mitigate voltage band problems or supply interruptions.
It is important to mention here that if the contingency analysis command is set to consider Automatic Tap
Adjust of Transformers and Shunt Adjustment, they will only be considered if their time constants are
smaller than the current Post Contingency Time or if the Consider Specic Time Phase ag (Multiple
Time Phases page) is not enabled. Additionally, the operational thermal ratings of branch elements
during the contingency (if short term thermal ratings (12.3.7) have been dened) will depend on the
duration of the contingency i.e. the current Post Contingency Time.
The raw results of the single time phase contingency analysis correspond to the steady-state opera-
tional points of the network being studied, considering each one of the dened contingencies up to
the given Post Contingency Time (see Section 29.4: The Single Time Phase Contingency Analysis
Command for further information on this setting). The reporting facilities available in PowerFactory s
contingency analysis function allow the ltering of results of interest to the user, including maximum
loading of branch elements, exceeded voltage limits, etc. Refer to Section 29.4 (The Single Time
Phase Contingency Analysis Command) for further information on conguring the reporting settings,
and Chapter 11 Study Cases, Section 11.11 (Results Objects) for information on handling result objects
(ElmRes) in PowerFactory.
Note: If the Fault Case contains post-fault actions such as load shedding, generator re-dispatch, tap
changing and switching actions (closing), these are ignored in the Single Time Phase mode, re-
gardless of the specied Post Contingency Time.
29.2.2 Multiple Time Phases Contingency Analysis
As indicated previously, PowerFactory provides tools for the analysis of contingencies over multiple
time phases, allowing the denition of post-fault actions that can lead to the mitigation of voltage band
problems or supply interruptions which are caused by faults in the networks under analysis.
As in the single time phase contingency analysis, the multiple time phases contingency analysis func-
tion rst performs a pre-fault (base) load ow calculation. The major difference here is that for each
contingency (stored inside the command), it loops over the list of dened time phases (also stored
inside the command itself), calculating the corresponding post-contingency load ows. For each load
ow calculation, the events (faults and post-fault actions) whose time of occurrence are earlier than, or
equal to, the corresponding Post Contingency Time, are considered.
Similar to single time phase contingency analysis, the effect of transformer tap changers and switchable
shunts depends on these components corresponding time constants and the current Post Contingency
Time. Controllers are only considered if their time constants are smaller than the current Post Contin-
gency Time. Additionally, the operational thermal ratings of branch elements during the contingency (if
short term thermal ratings (12.3.7) have been dened) will depend on the duration of the contingency
i.e. the current Post Contingency Time.
The raw results of the contingency analysis with multiple time phases correspond to the steady-state
operational point of the network being studied, at every Post Contingency Time for each of the de-
ned contingencies. The reporting features included in the function allows the ltering of problematic
contingencies, according to maximal loading of branch elements, exceeded voltage limits, etc.
654 DIgSILENT PowerFactory 15, User Manual
29.3. EXECUTING CONTINGENCY ANALYSES
29.2.3 Time Sweep Option (Single Time Phase)
PowerFactory provides a special Calculate Time Sweep option for the Single Time Phase method, and
which can be found on the Time Sweep page of the contingency analysis command. When enabled,
the date and time of the active Study Case will be modied according to a list predened by the user.
The application of this option is in situations where the calculation of contingencies is required for a
certain time span; for example, the automatic calculation of contingencies for every hour of the day.
Here it is important to note that in order for the Time Sweep to activate the corresponding scenarios
automatically, a Scenario Scheduler (IntScensched) object needs to rst be created and afterwards
activated. Once the execution of the contingency analysis has nished, the Study Case date and time
are restored to their original setting. For more information on the Scenario Scheduler please refer to
Chapter 14(Operation Scenarios).
In addition, the Time Sweep option can be used in combination with the Parallel Computing option
(Section 29.2.5).
29.2.4 Consideration of Predened Switching Rules
In PowerFactory , the contingency analysis can be setup to consider predened switching rules of sub-
stations (refer to Chapter 9: Network Graphics (Single Line Diagrams), Section 9.2.6 for further infor-
mation). The Switching Rule denes switching actions for different fault locations (arranged in a matrix)
that can be reected at a certain time. These switching actions will always be relative to the current
switch position of every breaker.
29.2.5 Parallel Computing Option (Single Time Phase)
The computation time required to perform a contingency analysis largely depends on two factors:
The size of the power system; and
The number of contingencies considered.
Depending on these factors, the computation time could take from a couple of seconds (or less) up to
several minutes.
With the development of multi-core machines and the existence of Ethernet network technology, the
calculation of contingencies in parallel is now an option in PowerFactory. This feature facilitates the
signicant reduction of required computation time depending on the number of cores being used.
By default, the Parallel Computing option is enabled in each user account; however, the setting can be
modied when the user has logged on as an Administrator.
The following sections provide detailed information regarding the execution and settings of the contin-
gency analysis command in its single or multiple time phase conguration.
29.3 Executing Contingency Analyses
To access the various contingency analysis related functions within PowerFactory , click on the icon
Change Toolbox and select "Contingency Analysis".
Figure 29.3.1, shows the Contingency Analysis Toolbar, with all the related functions.
DIgSILENT PowerFactory 15, User Manual 655
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.3.1: Contingency Analysis Related Functions
Both the Single Time Phase and Multiple Time Phases contingency analysis are carried out using the
Contingency Analysis command (ComSimoutage, ). When congured and executed, it performs a
base load ow calculation to determine the operational point of the network under no-fault conditions.
The command contains Contingency Cases (ComOutage objects) which dene one or more elements
that are taken out of service simultaneously. Following the calculation of the base load ow, a contin-
gency load ow for each of these contingencies is calculated. This calculation considers the post-fault
thermal ratings of branch elements (see Chapter 12: Project Library, Section 12.3.7), transformer tap
changer controller time constants and automatic shunt compensators (for further information please
refer to Section 29.4: The Single Time Phase Contingency Analysis Command).
In PowerFactory , contingency cases can be generated by two primary means:
Via the denition and use of Fault Cases and Fault Groups; and/or
Using the Contingency Denition (ComNmink) command, either via its toolbar icon ( ) or by
selecting component(s) in the single-line graphic, right-clicking and selecting Calculate Contin-
gency Analysis. . .
In the rst case, contingency cases can be created using references to user dened Fault Cases and
Fault Groups (introduced in Chapter 12: Project Library, Section 12.3.3) from the Operational Library.
By means of a topological search, PowerFactory determines which circuit breakers must be opened in
order to clear the faults, and generates the corresponding contingency cases. Each contingency case
is generated with its corresponding interrupted components for each fault case/group. Fault cases and
groups reside in the Operational Library folder, and can be reused. Hence there is no need to manually
redene the same contingencies each time a contingency analysis is required. For further information
on creating contingencies from fault cases/groups, please refer to Section 29.6 (Creating Contingency
Cases Using Fault Cases and Groups).
In the second case, contingencies can be created using the Contingency Denition 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. Additional to
these two options an n-k outage for mutually coupled lines/cables is available. The Contingency Deni-
tion command optionally allows all lines/cables, transformers, series reactors, series capacitors and/or
generators to be selected to create contingencies. For further information on creating contingencies
using the Contingency Denition command, please refer to Section 29.7 (Creating Contingency Cases
Using the Contingency Denition Command).
The following sections provide detailed information regarding the settings and features of the contin-
gency analysis command in its single time phase conguration.
656 DIgSILENT PowerFactory 15, User Manual
29.4. THE SINGLE TIME PHASE CONTINGENCY ANALYSIS COMMAND
29.4 The Single Time Phase Contingency Analysis Command
The settings of the Basic Options page of the contingency analysis command (ComSimoutage ) are
illustrated in Figure 29.4.1.
Figure 29.4.1: Basic Options settings of the Contingency Analysis (ComSimoutage) Command
When executing a contingency analysis, the general sequence of operations performed is as follows:
Execution of a base load ow in order to determine the initial operational point of the network.
This base (pre-fault) load ow is performed according to the settings stated in the load ow com-
mand and which is referenced on the Basic Options page of the contingency analysis command.
Execution of the contingency load ows. That is, for each of the stored contingency cases, it
places the interrupted components (see Section 29.4.8: Representing Contingency Situations
- Contingency Cases) on outage and performs a contingency (post-fault) load ow. Here, the
settings of the post-fault load ows will depend on how the contingency command is congured.
That is, if specied by the user, the pre-fault and post-fault load ows can be executed with different
settings (only a difference in certain settings are allowed). For more information please refer to
Section 29.5.3 (Multiple Time Phases).
The contingency load ow is characterized by the Post Contingency Time parameter (available on the
Multiple Time Phases page of the Contingency Analysis command if either the option Allow different
settings has been enabled, or when the option Consider Specic Time Phase has been selected). This
parameter determines the duration of the interval between the occurrence of the fault(s) which dene the
contingency, and the time when the load ow calculation of the network under the contingency situation
DIgSILENT PowerFactory 15, User Manual 657
CHAPTER 29. CONTINGENCY ANALYSIS
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 dened
Post Contingency Time (meaning that the controllers are fast enough to operate during the time
phase); and
2. The operational thermal ratings of branch elements during the contingency (if short term thermal
ratings (see Section 12.3.7) have been dened) will depend on the duration of the contingency,
i.e. the Post Contingency Time.
Note: The base and the contingency load ow calculations by default use the same load ow com-
mand (ComLdf object). However, the user can dene different load ow commands for these two
calculations by selecting the option Allow different settings on the Multiple Time Phases page
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 page of the load ow command(s).
The contingency analysis uses a result le object (ElmRes, see Chapter 11 Study Cases, Section 11.11
(Results Objects)) to store the voltages at terminals and the loading of certain branch element classes
(lines, transformers, series capacitances and series reactances). Recording the loadings for all branches
and the voltages for all terminals for every contingency may lead to excessive data storage. Therefore,
in order to minimize data storage, only signicant results are recorded. In contingency analysis, a
calculated parameter is considered to be signicant if the threshold (Limits for Recording) of the cor-
responding component are out of the threshold. Limits can be set individually for each terminal and
branch element (in the Load Flow page of the elements dialogue) or globally in the Limits for Recording
eld of the contingency analysis command. A calculated result is stored in the result le whenever one
of the constraints (individual or global) is violated.
The settings of the contingency analysis command are entered using the dialogue shown in Fig-
ure 29.4.1. The following subsections explain each of the available options.
29.4.1 Basic Options
Calculation Method
AC Load Flow Calculation The contingency analysis uses an iterative AC load ow method to
calculate the power ow and voltages per contingency case.
DC Load Flow Calculation The contingency analysis uses a linear DC load ow method to
calculate the active power ow per contingency case.
DC Load Flow + AC Load Flow for Critical Cases The contingency analysis will perform two
runs (if required). First it will use a linear DC load ow method to calculate the active power ow
per contingency case; if for certain contingencies loadings are detected to be outside a certain
threshold, then for these cases the contingency analysis will recalculate the post-fault load ow
using the iterative AC load ow method. The criteria (threshold) used for the AC recalculation of
critical DC cases is stated on the Advanced Options page.
Limits for Recording
The parameters in this section set the global threshold used to determine whether a calculated result is
recorded in the Results object (object pointed to by the Results for AC or Results for DC eld located in
the bottom section of the Basic Options page). Whenever one of the dened constraints is violated, the
calculated result (for the corresponding contingency case and network component) is recorded.
658 DIgSILENT PowerFactory 15, User Manual
29.4. THE SINGLE TIME PHASE CONTINGENCY ANALYSIS COMMAND
Max. thermal loading of components (%) Maximum thermal loading in percent. Loadings
exceeding this value will be recorded in the result le for the corresponding component.
Lower limit of allowed voltage (p.u.) Minimum admissible voltage in per unit. Voltages lower
than this value will be recorded in the result le for the corresponding terminal.
Upper limit of allowed voltage (p.u.) Maximum admissible voltage in per unit. Voltages higher
than this value will be recorded in the result le for the corresponding terminal.
Maximum voltage step change (p.u.) Maximum (+/-) admissible voltage change in per unit.
Larger voltage changes (pre-fault vs. post-fault) will be recorded in the result le for the corre-
sponding terminal.
Contingencies
The Contingencies section of the Basic Data tab, as shown in Figure 29.4.2, allows the display, creation
and removal of contingencies. These are the contingencies that will be analyzed by the contingency
analysis command.
Figure 29.4.2: Contingencies Section of Contingency Analysis Dialogue
Show Displays a list of all dened contingencies.
Add Cases/Groups This button is used to create the contingency cases (ComOutage objects)
based on fault cases and/or fault groups. A fault case contains events: one for the fault location,
and (optionally) others specifying post-fault actions. Fault groups 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 dened in the Operational Library. If these have been dened, 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 con-
tingency 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 contingen-
cies from fault cases/groups, please refer to Section 29.6 (Creating Contingency Cases Using
Fault Cases and Groups).
Remove All Removes all contingency cases (ComOutage objects) stored in the contingency
analysis command.
Results for AC/DC
Depending on the calculation method selected, the reference to the corresponding result le object
(ElmRes) is dened. If, for example, the calculation method DC Load Flow + AC Load Flow for Critical
Cases is selected, two result le objects will be referenced (one for AC calculations and another for DC
calculations). The results stored in this le are ltered according to the global threshold set in the Limits
for Recording section of the Basic Data tab, and also according to the individual limits dened within
each components respective dialogue (such as on the Load Flow page of the elements own dialogue).
For further information on result objects, please refer to Chapter 11 Study Cases, Section 11.11 (Results
Objects).
DIgSILENT PowerFactory 15, User Manual 659
CHAPTER 29. CONTINGENCY ANALYSIS
29.4.2 Effectiveness
The Effectiveness page of the contingency analysis command (Figure 29.4.3), allows the display, addi-
tion and removal of quad boosters and generators in order to calculate their effectiveness.
Figure 29.4.3: Effectiveness Options Settings of the Contingency Analysis Command
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. Only
transformers where the additional voltage per tap is different to 0 and multiples of 180 degrees
will be listed (Load Flow page of the transformer type (TypTr2) Phase of du parameter).
Remove All Removes all references to transformers for which the effectiveness is currently cal-
culated.
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 calcu-
lated.
29.4.3 Multiple Time Phases
The Multiple Time Phases tab, as shown in Figure 29.4.4, allows the selection of the contingency
method to be performed as well as the corresponding settings.
660 DIgSILENT PowerFactory 15, User Manual
29.4. THE SINGLE TIME PHASE CONTINGENCY ANALYSIS COMMAND
Figure 29.4.4: Multiple Time Phases Option Settings of the Contingency Analysis Command
Method
Single Time Phase Performs the contingency analysis for a single time phase.
Multiple Time Phase Performs the contingency analysis for multiple time phases, allowing the
denition of post-fault actions.
Base Case versus Contingency Load Flow
Use same settings Uses the settings from the base case load ow for the contingency case load
ow.
Allowdifferent settings Allows different settings for the base case load ow and the contingency
case load ow.
Calculation Settings
Base Case Load Flow Only available when option Allow different settings is selected in the Base
Case versus Contingency Load Flow section of the Multiple Time Phases tab. This is a reference
to the load ow command used to calculate the network operational point before the simulation of
contingencies. The settings of this load ow 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 ref-
erence to the load ow command used to assess the network in contingency situations. It is
characterized by the Post Contingency Time, which is dened in the Post Contingency Time
eld, also located in the Calculation Settings section of the dialogue. The contingency load ow
command referred to by the Contingency Load Flow is always stored inside the contingency anal-
ysis command itself. The settings of this load ow command can be edited by pressing the
button. The Contingency Load Flow command settings can be set to those of the currently used
by the Base Case Load Flow command by pressing the button.
Note: If no Contingency Load Flow command is dened, the Base Case Load Flow command is used
to asses the network under contingency situations. In this case the action of automatic transformer
tap changers and switchable shunt compensators is directly considered (provided that the corre-
sponding options are selected in the Basic Options page of the assigned load ow command).
DIgSILENT PowerFactory 15, User Manual 661
CHAPTER 29. CONTINGENCY ANALYSIS
Consider Specic Time Phase Only available when option Use same settings is selected in the
Base Case versus Contingency Load Flow section. This option must be enabled to dene a post
contingency time.
Post Contingency Time (End of Time Phase) This value denes the time phase of the contin-
gencies. This means that all switch-open events with an event time less than or equal to this are
considered in the contingency.
29.4.4 Time Sweep
The Time Sweep settings shown in Figure 29.4.5 allow the automatic modication of the date and time
of the active Study Case according to a list predened by the user. The advantage of this option is
in situations where the contingency analysis needs to be automatically performed taking into account
different system conditions such as considering several load and generation proles (according to the
hour of the day).
Figure 29.4.5: Time Sweep Option Setting of the Contingency Analysis Command
Note: When enabled, the Time Sweep will automatically change the Date and Time of the active Study
Case. However, in order for the Study Case to activate the corresponding scenario automatically,
a Scenario Scheduler (IntScensched) object needs to rst be created and afterwards activated.
Once the execution of the contingency analysis has nished, the Study Case date and time is
restored to its original setting. For more information on the Scenario Scheduler please refer to
Chapter 14(Operation Scenarios)
To add study times to the list, rst enable the Calculate Time Sweep option, then right-click anywhere in
the table and select Insert Rows (alternatively select Append Rows or Append n Rows). To modify the
date and time, double-click on the corresponding Study Time cell. Additionally, the user has the option
to ignore previously dened Study Times by enabling the Ignore ag. This ensures that the contingency
analysis will not take into account the ignored Study Times in the calculation.
662 DIgSILENT PowerFactory 15, User Manual
29.4. THE SINGLE TIME PHASE CONTINGENCY ANALYSIS COMMAND
29.4.5 Advanced Options
Handling of busbar fault
Open both local and remote breakers For a bus fault, not only all local breakers which are
directly connected to this bus, but also relevant remote breakers will be opened to isolate this bus
and isolate the connected branches. Open local breakers only Only the local breakers, which
are directly connected to this bus will be opened to isolate this fault..
Restricted Recording of Contingencies Results
Do not record contingency result if base case is above. . . If in the pre-fault load ow elements
have loadings above this value, then they are not recorded in the results.
Output per Contingency Case
Short Displays only the number of iterations required for each contingency case.
Detailed Displays the full load ow output per contingency case.
Consider Predened Switching Rules of Substations If this option is selected, predened
switching rules which describe switching actions for different fault locations will be considered.
For more information on Switching Rules, please refer to Chapter 9, Section 9.2.6.
Criteria for AC Recalculation of Critical DC Cases If the calculation method DC Load Flow +
AC Load Flow for Critical Cases is selected, the recalculation of critical DC cases using the AC
load ow method is performed whenever:
1. The maximum loading of a component is greater than or equal to the rst value specied; for
example 100% (parameter name: maxLoadAbs); or
2. The maximum loading of a component is greater than or equal to the second value specied; for
example 80% (parameter name: maxLoad) and the maximum relative change of loading com-
pared to the base case is equal to or greater than the value specied; for example 5% (parameter
name: stepLoad).
In addition to these settings, if required, the user can dene a set of components to be ignored
in the AC recalculation or to ignore components if they are already overloaded in the base case.
This set of components is assigned via the Components to be ignored eld.
DIgSILENT PowerFactory 15, User Manual 663
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.4.6: Advanced Options Settings of the Contingency Analysis Command
29.4.6 Parallel Computing
There are two types of settings associated with the Parallel Computing option. The rst and more
general group of settings are the ones related to the management of the parallel computation function
(computing method and the assignments of slaves). To access and modify these settings; log-on rst as
an administrator and afterwards open a Data Manager window. Locate and edit the Parallel Computing
Manager (\System\Conguration \Parallel Computation \) as indicated in Figure 29.4.7.
The users can however dene their own settings by creating a system folder (with key "Parallel") under
the folder "\\Conguration" and then creating the setting object ComParalman. This can only be carried
out when logged on as administrator.
The available options are:
Master Host Name or IP Refers to the machine name or IP address of the master host. If a local
multi-core machine is used, the name "localhost" can be used.
Parallel Computing Method
1. Local Machine with Multi Cores/Processors: All the slaves will be started in the local machine.
2. Local Machine Plus Remote Machines: The slaves will be started in both the local and remote
machines.
Number of Slaves Denes the number of slaves that will be started in the local machine. This
number should not be greater than the number of cores available in the local machine.
664 DIgSILENT PowerFactory 15, User Manual
29.4. THE SINGLE TIME PHASE CONTINGENCY ANALYSIS COMMAND
Computer Group Species the link to a computer group (number of remote machines) which will
be used for parallel computing.
Figure 29.4.7: Parallel Computing Manager
The second group of settings are the ones related to the execution of the contingency analysis; and
which are located in the Parallel Computing page of the contingency analysis command (Figure 29.4.8).
Enable Parallel Contingency Analysis for AC, DC or Time Sweep If the corresponding option
is enabled, the contingencies will be calculated in parallel; otherwise the contingency analysis is
executed in its default mode (i.e. sequential calculation).
Minimum Number of Contingencies The parallel contingency analysis will be started only if the
number of contingencies is greater than this setting.
Package Size for Optimized Method and Package Size for Standard Method The master
distributes the contingencies to slaves per package. The package size indicates how many con-
tingencies will be calculated by a slave each time. The contingencies can be calculated using
either optimized method or standard method. As the standard method is much slower than opti-
mized method, the package size of the standard method should be smaller than that used for the
optimized method to balance the calculation.
DIgSILENT PowerFactory 15, User Manual 665
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.4.8: Parallel Computing Settings of the Contingency Analysis Command
29.4.7 Calculating an Individual Contingency
To calculate an individual contingency, click on the Show button in the contingency analysis command
dialogue (see Figure 29.4.2) to open the list of contingencies included in the analysis. From here the
user can right-click on a contingency of interest, and select Execute from the context sensitive menu.
Additionally, the corresponding element can be marked in the single line graphic by right-clicking on the
contingency object in the list and selecting Mark in Graphic from the context sensitive menu.
29.4.8 Representing Contingency Situations
Contingency Cases
Contingency cases (ComOutage objects) are objects used in PowerFactory to dene contingency sit-
uations within the analyzed networks. A contingency case determines which components are put on
outage. When a contingency analysis (ComSimoutage) is executed, the contingency analysis com-
mand considers each of the contingency cases stored inside it, taking the corresponding components
out of service and performing a contingency load ow.
As mentioned previously, the contingency cases used by a specic contingency analysis command are
stored inside the command itself. Contingency cases are created either by using Fault Cases and/or
Fault Groups (see Section 29.6), or via the Contingency Denition command ( , see Section 29.7).
Once the contingencies have been dened in the contingency command, the cases can be viewed
by using the Show button available in the dialogue (see Figure 29.4.2). Additionally, the contingency
cases within the active study cases contingency analysis command may be viewed by clicking on
the Show Contingencies icon ( ), located on the main toolbar (only available when the Contingency
Analysis toolbar is selected). In both cases a new data browser showing the dened contingencies
is opened, with the contingencies listed inside. By double-clicking on a contingency from the list, the
corresponding dialogue for that particular contingency is opened (as illustrated in Figure 29.4.9). The
dialogue displayed in Figure 29.4.9 shows the following elds:
Name Name of the contingency case.
Not Analyzed If enabled, the case is not considered by the contingency analysis command.
Number An identication number given to the contingency and which is stored in the results.
This number can be used for reporting purposes.
666 DIgSILENT PowerFactory 15, User Manual
29.4. THE SINGLE TIME PHASE CONTINGENCY ANALYSIS COMMAND
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 eld is only available if the contingency case has an associated fault group.
Events Used for this Contingency (Multiple Time Phase only) As showed in gure 29.4.10,
the user can specify wether to generate the events based on the fault case denition (automati-
cally), or to use locally dened events. If the user chooses to use locally dened events, then the
ComOutage object which denes the contingency (located in contingency command of the study
case) can be modied independently.
Interrupted Components This is a table showing the components put on outage by the contin-
gency 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 29.6.1.
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.
Figure 29.4.9: Contingency Cases (ComOutage objects)
DIgSILENT PowerFactory 15, User Manual 667
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.4.10: Contingency Cases (ComOutage objects for Multiple Time Phase)
Normally, contingency cases (ComOutage objects) are analyzed by the contingency analysis command
(ComSimoutage) in which they are stored. However, each contingency case provides the functionality
of a command itself, and can be executed individually using the Execute button at the top right of the
ComOutage dialogue. In this case the actions taken by the circuit breakers, which must switch to clear
the fault, are shown in the single line graphic (only if the contingency case was created using fault
cases/groups).
Note: The Interrupted Components table is updated by the program each time the contingency anal-
ysis is executed.
For further information on contingency cases generated using fault cases and/or fault groups, please
refer to Section 29.6 (Creating Contingency Cases Using Fault Cases and Groups). For information
on contingency cases created using the Contingency Denition (ComNmink) command, please refer to
Section 29.7 (Creating Contingency Cases Using the Contingency Denition Command).
29.5 The Multiple Time Phases Contingency Analysis Command
As explained in Section 29.3 (Executing Contingency Analyses), the multiple time phases contingency
analysis is executed with the same contingency analysis command (ComSimoutage) as that used for
the single time phases contingency analysis. In the multiple time phases conguration it determines the
initial operational condition of the system via a base load ow calculation. Following this, it loops over
the dened time phases for each stored contingency (ComOutage object). Load ow calculations are
performed which consider the contingency events whose time of occurrence is earlier than, or equal to,
the Post Contingency Time, which is set in the corresponding load ow 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
668 DIgSILENT PowerFactory 15, User Manual
29.5. THE MULTIPLE TIME PHASES CONTINGENCY ANALYSIS COMMAND
are ltered according to user dened criteria and recorded in the Results (ElmRes) object referred to by
the Contingency Analysis command.
When congured to perform contingency analysis with multiple time phases, the Contingency Analysis
command stores the contingencies to be analyzed within the command itself. If different settings for
the contingency load ow are stated, a folder (named Time Phases) is also stored within the command;
this folder contains the load ow commands that dene the time phases. The user may dene as many
contingencies and time phases as required, following the procedures explained in this section.
The Contingency Analysis command can be accessed via the main toolbar by clicking on the icon
(provided that the Contingency Analysis toolbar has already been selected). The following subsections
present the options available in the dialogue provided that the user has selected the Multiple Time
Phases method in the contingency command (Multiple Time Phases tab).
29.5.1 Basic Options
Calculation Method
This setting is congured as described for Single Time Phase operation. Please refer to Section 29.4.1
(Basic Options). Only AC Load Flow Calculation and DC Load Flow Calculation methods are available
(no DC Load Flow + AC Load Flow for Critical Cases).
Limits for Recording
This setting is congured as described for Single Time Phase operation. Please refer to Section 29.4.1
(Basic Options).
Contingencies
This setting is congured as described for Single Time Phase operation. Please refer to Section 29.4.1
(Basic Options).
Results for AC/DC
This setting is congured as described for Single Time Phase operation. Please refer to Section 29.4.1
(Basic Options).
29.5.2 Effectiveness
These options are only available for the Single Time Phase calculation. Please refer to Section 29.4.2
(Effectiveness).
29.5.3 Multiple Time Phases
The Multiple Time Phases tab, as shown in Figure 29.5.1, allows the selection of the contingency
method as well as its corresponding settings. Although most of the setting descriptions are similar to
those given for the Single Time Phase method, they are reviewed here.
DIgSILENT PowerFactory 15, User Manual 669
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.5.1: Multiple Time Phases Option Settings of the Contingency Analysis Command (Multiple
Time Phases Method)
Method
Single Time Phase Performs the contingency analysis for a single time phase.
Multiple Time Phase Performs the contingency analysis for a multiple time phases, allowing the
denition of post-fault actions.
Base Case versus Contingency Load Flow
Use same settings Uses the settings from the base case load ow for the contingency case load
ow.
Allowdifferent settings Allows different settings for the base case load ow and the contingency
case load ow.
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 ow
command used to calculate both the network operational point before the simulation of contin-
gencies, and the contingency load ow(s). The settings of this load ow command can be edited
by pressing the button.
Allow different settings Only available when option Allow different settings is selected in the
Base Case versus Contingency Load Flow section of the Advanced Options tab. This is a ref-
erence to the load ow command used to calculate the network operational point before the
simulation of contingencies. The settings of this load ow command can be edited by pressing
the button.
Time Phase n
Lists the dened time phase(s). The button next to each time phase can be used to remove the
corresponding time phase. If the option Allow different settings has been selected on the Advanced
Options tab, the Time Phase will have its corresponding load ow accessible by pressing the button
next to the dened time phase.
670 DIgSILENT PowerFactory 15, User Manual
29.5. THE MULTIPLE TIME PHASES CONTINGENCY ANALYSIS COMMAND
Add Time Phase Opens an input dialogue to dene the new time phase by entering its Post
Contingency Time. If the option Allow different settings has been selected on the Advanced
Options tab, the previous load ow settings (i.e. those with the preceding occurrence in time) will
be used for the new time phase. In the case that there is no previous time phase load ow, 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 ow to all time
phase load ows.
Post contingency time for order identication
The order of the contingencies stored inside the command is calculated according to the time dened in
this eld. Only the events (actions) taking place before this point in time are considered when calculating
the contingency order.
Note: In PowerFactory a region is dened as a set of topologically connected components. A region is
interrupted if it is energized (topologically 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 identication).
29.5.4 Time Sweep
This option is only available for the Single Time Phase calculation. Please refer to Section 29.4.4 (Time
Sweep).
29.5.5 Advanced Options
This setting is congured as described for Single Time Phase operation. Please refer to Section 29.4.5
(Advanced Options).
29.5.6 Parallel Computing
This option is only available for the Single Time Phase calculation. Please refer to Section 29.4.6
(Parallel Computing).
29.5.7 Dening Time Phases for Contingency Analyses
The time phases of a contingency analysis are dened in the Calculation Settings section of the Multiple
Time Phases page of the Contingency Analysis command, by specifying a Post Contingency Time for
each dened time phase. A specied Post Contingency Time denes 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 ow calculation.
Each dened time phase uses a corresponding load ow calculation, and by default, this is the same
load ow calculation as that used for the base case load ow. If the option Allow different settings in
the Base Case versus Contingency Load Flow section of the Multiple Time Phases page is selected,
the user can dene individual load ow commands for each time phase, as illustrated in Figure 29.5.2.
Access to each load ow command and its settings is via the button.
DIgSILENT PowerFactory 15, User Manual 671
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.5.2: 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 ther-
mal ratings of branch elements during a contingency (if short term thermal ratings (see Sec-
tion 12.3.7) have been dened) will also depend on the duration of the contingency (i.e. the
current Post Contingency Time).
The Contingency Analysis time phases (which are essentially just load ow commands) are stored
within a folder inside the ComSimoutage command and can be accessed in several ways. One way is
by clicking on the button next to each dened time phase in the Calculation Settings section of the
Multiple Time Phases tab; by doing so, the edit dialogue of the corresponding load ow command pops
up.
Another way is through the Data Manager. After performing a contingency analysis, a contingency
command object (ComSimoutage) is created inside the current active Study Case. If the contingency
analysis was performed using the Multiple Time Phases method (with different load ow settings), then
a Time Phases folder with the corresponding time phase load ow commands will be created inside the
contingency analysis, as illustrated in Figure 29.5.3.
Figure 29.5.3: Location of the Time Phases Folder
Newtime phases can be dened in the data browser by clicking on the Add Time Phase button. Existing
time phases can be deleted using the button. Note that after several time phases have been dened,
672 DIgSILENT PowerFactory 15, User Manual
29.5. THE MULTIPLE TIME PHASES CONTINGENCY ANALYSIS COMMAND
this list is then scrollable using the up/down arrow buttons ( ) available in the dialogue.
29.5.8 Representing Contingency Situations with Post - Fault Actions
Contingency situations which include post-fault actions are represented in PowerFactory via objects
called contingencies (ComOutage, ). The contingencies are dened by a set of events which repre-
sent:
Faults on the selected components;
The switching actions carried out to isolate the faulty components; and
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 dened in the Operational Library. These fault cases
dene the location of the fault events, and may also dene 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 ComOutage object to the fault case is set. New contingencies can be created
in a Contingency Analysis command by clicking on the Add Cases/Groups button in the Conguration
section of the Basic Data page (see Section 29.4.1: Basic Options).
Besides the events which are transferred from the linked fault case during calculation of the contingency
case, the user has the possibility of dening 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 29.4.2). 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 dened
contingencies is shown. By double-clicking on a selected item from the list, the edit dialogue of the
corresponding contingency (Figure 29.4.9) pops up.
Normally, contingency cases are analyzed by the Contingency Analysis command in which they are
stored. However, each case provides the functionality of a command and can be executed individually
using the Execute button at the top right of the ComOutage dialogue (see Figure 29.4.9). In this case,
all of the time phases are executed for the selected contingency considering its associated events. The
results observed in the single line graphic correspond to those from the last time phase, including the
nal states of the network switches.
The events that dene 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 29.6.3). This data browser
can be used to edit and/or delete the listed events. New events can be created by using the New
icon at the top of the opened browser window. Only four different types of events are allowed in the
contingency analysis as post-fault actions, which are:
Load Event (EvtLod)
Dispatch Event (EvtGen)
Switch Event (EvtSwitch)
Tap Event (EvtTap)
It should be noted that events created locally in the contingency object are only considered if the Co-
mOutage option Use locally dened events (User dened) is selected in the Events Used for this Con-
tingency eld.
DIgSILENT PowerFactory 15, User Manual 673
CHAPTER 29. CONTINGENCY ANALYSIS
The Start Trace button ( ) (available on the main toolbar) can be used to follow the behaviour 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 ow is executed. The execution of the rst 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 ow calculation results and the state of the network circuit breakers are displayed
in the single line graphic. It should be noted that the Next Time Step evaluates events according
to their time of occurrence, and not according to the time phases dened in the Contingency Analysis
command. After the last time event(s) have been executed, the Next Time Step button becomes inactive.
The Stop Trace button ( ) can be pressed to clear the calculation. Alternatively, the Trace button in
each ComOutage dialogue can be used to initiate the Trace for that particular contingency.
Note: The Trace functionality can be started directly from the main toolbar by pressing the Start Trace
button ( ). In this case a data browser listing all available contingencies (i.e. those stored inside
the Contingency Analysis command of the active study case) is displayed. After the user selects
the desired contingency by double-clicking on it, the Base Case load ow is executed. The sub-
sequent event(s) are then calculated using the Next Time Step button.
29.6 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 Chapter 12: Project Library, Section 12.3.3: Fault Cases and Fault
Groups) are used to automatically generate contingency cases in the contingency analysis command,
by pressing the Add Cases button and selecting the desired objects from the data browser that pops
up.
For every selected fault case, the calculation automatically detects which circuit breakers must open in
order to clear the dened fault(s). All components which lose their connection to the network reference
bus following the switching actions that clear the fault(s), are regarded as interrupted and are subse-
quently 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 dened
in the fault case that generates a contingency, the Fault Type eld in the contingency case dialogue
(Figure 29.6.1) is set to:
Busbar fault:
If the contingency originates from a fault on a busbar
n-k fault:
With contingency order equal to k (where k >= 0). k corresponds to the number of network
regions (sets of topologically connected components) which are disconnected during a fault, by the
switching actions performed. It should be noted that the switching actions which are considered
depend on the post contingency time used by the update (this time differs between single- and
multiple time phase analyses).
Figure 29.6.1: Fault Type Field in the Contingency Case (ComOutage) Dialogue
674 DIgSILENT PowerFactory 15, User Manual
29.6. CREATING CONTINGENCY CASES USING FAULT
CASES AND GROUPS
Note: In PowerFactory an interrupted component is a network primary element that is energized before
a fault and de-energized afterwards. A component is considered to be energized if it is topologi-
cally connected to a network reference bus. A region is dened as a set of topologically connected
components. Like components, regions can have energized, de-energized and interrupted states,
depending on their connection to a network reference bus.
Contingency cases can be created from fault cases/groups, which reside in the Operational Library, by
pressing the Add Cases/Groups button in the contingency analysis command (see Section 29.4.1 (Ba-
sic Options) and Figure 29.4.2). In the case of creating contingencies from fault group(s), a contingency
case will be generated for each fault case referred to in the selected fault group(s).
Note: The topological search algorithm used by the program to set contingency cases from fault cases
requires the explicit denition of at least one reference bus in the analyzed system. A bus is ex-
plicitly set as a reference if it has connected to it either a synchronous generator (ElmSym), or
an external network (ElmExtnet ) with the option Reference Machine enabled (available on the
elements Load Flow tab).
29.6.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.
Figure 29.6.2: 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 Data Manager toolbar. In the drop-down list, select whether a
new Fault Cases or Fault Groups folder should be created.
The Fault Cases folder holds every contingency (n-1, n-2, or simultaneous) dened for the system, as
described in Section 29.6.2 (Dening a Fault Case). Alternatively, several fault cases can be selected
and stored in a Fault Group, as described in Section 29.6.3 (Dening a Fault Group).
29.6.2 Dening a Fault Case
To dene a fault case for an element in the grid, select it in the single-line diagram. Then right-click and
choose one of: Dene. . . Fault CaseSingle Fault Case or Dene. . . Fault CaseMultiple Fault
DIgSILENT PowerFactory 15, User Manual 675
CHAPTER 29. CONTINGENCY ANALYSIS
Cases, n-1 (or Multiple Fault Cases, n-2) or Dene. . . Fault CaseMutually Coupled Lines/Cables,
n-k.
If Multiple Fault Cases, n-2 is selected, fault cases will be created for the simultaneous outage of every
unique combination of two elements in the selection. If the user selects Single Fault Case, a fault case
will be created for the simultaneous outage of all elements in the selection.
If Mutually Coupled Lines/Cables, n-k is selected, then fault cases will be created for the simultaneous
outage of each coupled line in the selection.
Alternatively, a lter can be used. This can be done (for example) with the help of the Edit Relevant
Objects for Calculation button ( ), to list all elements for which outages are to be dened. These
elements can then be highlighted and the user can then right-click on the highlighted selection and
choose (for example) Dene. . . Fault Case. . . . The Simulation Events/Fault dialogue opens, as
shown in Figure 29.6.3, where the user can enter the desired name of the fault case in the Name eld.
On the Advanced tab of the Basic Data page of the same dialogue, the user can create the correspond-
ing switch events, by clicking on the Create Switch Events button.
Figure 29.6.3: Creation of Fault Case (IntEvt )
Fault cases can also be dened by the Contingency Denition command, as explained in Section 29.7
(Creating Contingency Cases Using the Contingency Denition Command).
For further background on fault cases, please refer to Chapter 12: Project Library, Section 12.3.3 (Fault
Cases and Fault Groups).
29.6.3 Dening a Fault Group
To dene 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 29.6.4. In this dialogue the user can specify the
name of the fault group in the Name eld, 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.
Figure 29.6.4: Creation of Fault Group (IntFaultgrp)
676 DIgSILENT PowerFactory 15, User Manual
29.7. CREATING CONTINGENCY CASES USING THE
CONTINGENCY DEFINITION COMMAND
Note: When a fault group is dened and fault cases are added to it, a reference is created to each of
these fault cases. The fault case itself resides in the Fault Cases subfolder. This means that if an
item in the fault group is deleted, only the reference to the fault case is deleted. The fault case
itself is not deleted from the Fault Cases subfolder.
29.7 Creating Contingency Cases Using the
Contingency Denition Command
The Contingency Denition command (ComNmink) is used to automatically generate contingency cases
based on selected components. It is accessible via the Contingency Analysis toolbar ( ) but using the
button. The Contingency Denition command can be used to automatically generate contingency
cases for either (i) a user-dened selection of elements; or (ii) pre-dened sets of elements. These two
approaches are now described.
To generate contingency cases for a user-dened selection of elements:
Select the components to be put on outage either by multi-selecting them in the single line graphic
or the Data Manager.
Right click on the selection and choose Calculate Contingency Analysis. . . from the context
sensitive menu. This command will create a list with references to the selected objects inside the
Contingency Denition command (ComNmink). The command dialogue shown in Figure 29.7.1
will pop up.
Select the required outage level.
Select the Creation of Contingencies option according to howthe contingencies should be handled
(see explanation of options below) and click on Execute.
To generate contingency cases for either the complete system or from pre-dened sets of elements:
Click on the icon on the main toolbar to open the command;
Select the option Whole System in the Create Cases for eld;
Select the required pre-dened set of elements (for example transformers and lines);
Select the Creation of Contingencies option according to howthe contingencies should be handled
(see explanation of options below) and click on Execute.
DIgSILENT PowerFactory 15, User Manual 677
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.7.1: Contingency Denition Dialogue (option: Generate Contingencies for Analysis)
Once the Contingency Denition command is executed, it generates the corresponding contingency
cases according to the options and elements selected. The Contingency Analysis command, which is
automatically created inside the current active Study Case is then automatically opened. The created
contingencies can be analyzed by executing this already-opened Contingency Analysis command. Note
that when a new list of contingencies is created using the Contingency Denition command, the previous
content of the contingency analysis command is overwritten.
It is also possible to open the Contingency Denition command directly from the Contingency 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 Denition command offers the following options to generate contingency cases from
the selected objects:
Creation of Contingencies
Generate Fault Cases for Library Generates fault cases which are stored in the Operational
Library, in a folder named Faults.
Alarm Generates contingencies which are stored in the contingency analysis command, and
then opens the contingency analysis command (ComSimoutage) dialogue.
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.
n-k cases of mutually coupled lines/cables Creates contingency cases for every set of mutu-
ally coupled lines/cables. If for example, three lines are modelled as having a mutual coupling,
by selecting this option a fault case is created considering the simultaneous outage of the three
coupled lines.
Lines/cables
Contingency cases according to the selected outage level will be generated for all lines and cables
678 DIgSILENT PowerFactory 15, User Manual
29.8. COMPARING CONTINGENCY RESULTS
(ElmLne objects) in the system.
Transformers
Contingency cases according to the selected outage level will be generated for all transformers (ElmTr2,
ElmTr3 objects) in the system.
Generators
Contingency cases according to the selected outage level will be generated for all synchronous gener-
ators (ElmSym objects) in the system.
Series Capacitors
Contingency cases according to the selected outage level will be generated for all series capacitors
(ElmScap objects) in the system.
Series Reactors
Contingency cases according to the selected outage level will be generated for all series reactors (Elm-
Sind objects) in the system.
The selection of elements to outage in the Contingency Denition command can also be created by the
use of DPL scripts. Please refer to the ComNmink methods in the appendix DPL Reference.
Note: It is important to note the difference between contingency cases created from fault cases and
contingency cases created with the Contingency Denition command. In the former, the cases are
regarded as the outage of certain network components as a consequence of fault clearing switch-
ing actions, with the fault(s) being dened by the fault case and the switching actions automatically
calculated by the program. In the latter, the cases are regarded as contingency situations gener-
ated by the outage of a selected group of components.
29.8 Comparing Contingency Results
In order to compare contingencies in a fast and easy way, PowerFactory provides a Contingency Com-
parison function ( ). The Contingency Comparison function is only enabled if the user has previously
dened the contingency cases in the Contingency Analysis command, as explained in Sections 29.6
(Creating Contingency Cases Using Fault Cases and Groups) and 29.7 (Creating Contingency Cases
Using the Contingency Denition Command). The general handling of the Contingency Comparison
function is as follows:
1. Dene the contingency cases in the Contingency Analysis command (see Sections 29.6: Creating
Contingency Cases Using Fault Cases and Groups and 29.7: Creating Contingency Cases Using
the Contingency Denition Command).
2. Click on the Contingency Comparison button ( ). A window will pop up allowing the user to select
the required contingency cases (Figure 29.8.1). The selection can correspond to one, several, or
all contingency cases.
DIgSILENT PowerFactory 15, User Manual 679
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.8.1: Selection of Contingency Cases for Comparison
3. By clicking on the OK button, the Comparing of Results On/Off button (Figure 29.8.2) is enabled
and the selected contingency cases are automatically executed.
Figure 29.8.2: Comparing of Results Button
4. The single line graphic result boxes will display the results, based on the comparison mode and
the two compared cases. By default, the comparison is made between the Base Case and the
last selected contingency case in the list.
5. To change the comparison mode and/or the cases to be compared, click on the Edit Comparing of
Results button (Figure 29.8.2). The Compare dialogue will pop up displaying the current settings.
To change the cases to be compared, click on the black arrow pointing down ( ) and select a
different case (Figure 29.8.3).
680 DIgSILENT PowerFactory 15, User Manual
29.9. RESULT ANALYSIS
Figure 29.8.3: Selection of other Cases for Comparison
6. If the contingency analysis is dened with time phases, the compare dialogue will have the option
of selecting the time phase.
7. Once the calculation is reset (for example by either making changes in the model or by clicking on
the Reset Calculation button), the comparison mode will be disabled.
29.9 Result Analysis
29.9.1 Predened Report Formats (Tabular and ASCII Reports)
In PowerFactory the Contingency Analysis function has a special set of predened report formats that
can be launched by clicking on the Report Contingency Analysis Results button ( ), which is illustrated
in Figure 29.8.2. The Report Contingency Analysis Results button will only be enabled if the user has
previously executed the Contingency Analysis command, as explained in Section 29.3 (Executing Con-
tingency Analyses). Once the reporting of results has been launched, the dialogue window illustrated
in Figure 29.9.1 will be displayed.
DIgSILENT PowerFactory 15, User Manual 681
CHAPTER 29. CONTINGENCY ANALYSIS
Figure 29.9.1: Contingency Analysis Reports Dialogue
The following types of report can be selected:
Maximum Loadings:
Only the maximum loaded component (according to the specied loading limit) for each contin-
gency is displayed in a single list.
Loading Violations:
All overloaded components (according to the specied loading limit) for each contingency are
displayed in a single list.
Voltage Steps:
All voltage deviations of terminals (between the base case and the contingency case) for each
contingency are displayed in a single list. Reports the highest voltage deviation of terminals (be-
tween the base case and the contingency case) considering all contingencies. Any such terminal
is reported only once. Only terminals with the highest voltage deviation greater than the specied
maximum voltage step are reported.
Maximum Voltages:
Reports the greatest voltage violation of a terminal (greater than or equal to the specied voltage
limit) considering all contingencies. Any such terminal is reported only once (i.e. it is reported for
the contingency causing this violation).
Minimum Voltages:
Reports the greatest voltage violation of a terminal (less than or equal to the specied voltage
limit) considering all contingencies. Any such terminal is reported only once (i.e. it is reported for
the contingency causing this violation).
Maximum Voltage Violations:
Reports all voltage violations of a terminal (greater than or equal to the specied upper voltage
limit) considering all contingencies.
Minimum Voltage Violations:
Reports all voltage violations of a terminal (less than or equal to the specied lower voltage limit)
considering all contingencies.
682 DIgSILENT PowerFactory 15, User Manual
29.9. RESULT ANALYSIS
Loading Violations per Case:
All overloaded components (according to the specied loading limit) for each contingency are
displayed in separate lists (i.e. one list per contingency case).
Voltage Violations per Case:
All busbars with exceeding voltage (maximum or minimum) are displayed in separate lists.
Generator Effectiveness:
Generators having an effectiveness greater than or equal to the specied value (%) are displayed
in a single list.
Quad-Booster Effectiveness:
Quad-booster transformers having an effectiveness greater than or equal to the specied value
(MW/Tap) are displayed in a single list.
Non-convergent Cases:
The non-convergent cases of the contingency analysis are displayed in a list.
Figure 29.9.2: Tabular Report of Loading Violations
The tabular format (Figure 29.9.2) for reporting has the following sections:
Header:
Identies the report and its data.
Filter:
Represented as drop-down lists, allowing the selection of one item at a time or as "Custom".
Table:
Matrix of rows and columns containing cells that can refer to an object and provide actions such as
"Edit", "Edit and Browse" and "Mark in Graphic". It also supports copy and paste, scroll features,
page up and down keys as well as Ctrl+Pos1, Ctrl+End and HTML view.
DIgSILENT PowerFactory 15, User Manual 683
CHAPTER 29. CONTINGENCY ANALYSIS
After being executed, the Tabular Report can be exported as HTML format or exported directly to Excel,
by using the Select icon ( ).
Although the tabular reports are already predened, the user can modify them if required (by going to
the second page of the Report Contingency Analysis Results dialogue and clicking on the blue arrow
pointing to the right of the Used Format denition).
684 DIgSILENT PowerFactory 15, User Manual
Chapter 30
Reliability Assessment
30.1 Introduction
Reliability assessment involves determining, generally using statistical methods, the total electric inter-
ruptions for loads within a power system during an operating period. The interruptions are described by
several indices that consider aspects such as:
The number of customers [N].
The connected load, normally expressed in [kW].
The duration of the interruptions, normally expressed in [h] = hours.
The amount of power interrupted, expressed in [kW].
The frequency of interruptions, normally expressed in [1/a] = per 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]).
Network reliability assessment is used to calculate expected interruption frequencies and annual in-
terruptions costs, and to compare alternative network designs. Reliability analysis is an automation
and probabilistic extension of contingency evaluation. For such analysis, it is not required to pre-dene
outage events, instead the tool can automatically choose the outages to consider. The relevance of
each outage is considered using statistical data about the expected frequency and duration of out-
ages according to component type. The effect of each outage is analyzed automatically such that the
software simulates the protection system and the network operators actions to re-supply interrupted
customers. Because statistical data regarding the frequency of such events is available, the results can
be formulated in probabilistic terms.
Note: Reliability assessment tools are commonly used to quantify the impact of power system equip-
ment outages in economic terms. The results of a reliability assessment study may be used to
justify investment in network upgrades such as new remote control switches, new lines / trans-
formers, or to assess the performance of under voltage load shedding schemes.
This chapter deals with probabilistic Network Reliability Assessment. For information on PowerFactorys
deterministic Contingency Analysis, refer to Chapter 29 (Contingency Analysis).
The reliability assessment functions can be accessed by selecting Reliability toolbar from the Change
Toolbox icon ( ) as illustrated in Figure 30.1.1.
DIgSILENT PowerFactory 15, User Manual 685
CHAPTER 30. RELIABILITY ASSESSMENT
Figure 30.1.1: Reliability Toolbar Selection
The basic user procedure for completing a reliability assessment consists of the following steps as
shown in Figure 30.1.2. Steps on the left are compulsory, while steps on the right are optional and can
be used to increase the detail of the calculation.
686 DIgSILENT PowerFactory 15, User Manual
30.2. PROBABILISTIC RELIABILITY ASSESSMENT
TECHNICAL BACKGROUND
Figure 30.1.2: Reliability Assessment User Procedure
These procedures are explained in detail in the following sections.
30.2 Probabilistic Reliability Assessment
Technical Background
The Reliability Assessment procedure considers the network topology, protection systems, constraints
and stochastic failure and repair models to generate reliability indices. The technical background of the
procedure and Stochastic Models is described in this section.
Note: A quantity is said to be stochastic when it has a random probability distribution. A simple ex-
ample of a stochastic quantity is the expected repair duration for an item of equipment, which is
based on the total number of repairs and repair duration. This measured data can be used to build
Stochastic Models, and perform analysis using statistical calculation methods.
DIgSILENT PowerFactory 15, User Manual 687
CHAPTER 30. RELIABILITY ASSESSMENT
30.2.1 Reliability Assessment Procedure
The generation of reliability indices, using the Reliability Assessment tool also known as reliability
analysis, consists of the following:
Failure modelling.
Load modelling.
System state creation.
Failure Effect Analysis (FEA).
Statistical analysis.
Reporting.
Figure 30.2.1: Reliability Analysis: Basic Flow Diagram
The reliability analysis calculation ow diagram is depicted in Figure 30.2.1. The failure models describe
how system components can fail, how often they might fail and how long it takes to repair them when
they fail. The load models can consist of a few possible load demands, or can be based on a user-
dened load forecast and growth scenarios.
The combination of one or more simultaneous faults and a specic load condition is called a system
state. Internally, PowerFactory s system state generation engine uses the failure models and load
models to build a list of relevant system states. Subsequently, the Failure Effect Analysis (FEA) module
analyzes the faulted system states by simulating the system reactions to these faults. The FEA takes
the power system through a number of post-fault operational states that can include:
Fault clearance by tripping of protection breakers or fuses.
Fault separation by opening separating switches.
Power restoration by closing normally open switches.
Overload alleviation by load transfer and load shedding.
Voltage constraint alleviation by load shedding (only available when Distribution is selected within
the reliability command Basic Options).
688 DIgSILENT PowerFactory 15, User Manual
30.2. PROBABILISTIC RELIABILITY ASSESSMENT
TECHNICAL BACKGROUND
The objective of the FEA function is to determine if system faults will lead to load interruptions and if so,
which loads will be interrupted and for how long.
The results of the FEA are combined with the data that is provided by the system state generation mod-
ule to create the reliability statistics including indices such as SAIFI, SAIDI and CAIFI. The system state
data describes the expected frequency of occurrence of the system state and its expected duration.
However, the duration of these system states should not be confused with the interruption duration. For
example, a system state for a line outage, perhaps caused by a short-circuit on that line, will have a
duration equal to the time needed to repair that line. However, if the line is one of two parallel lines then
it is possible that no loads will be interrupted because the parallel line might be able to supply the full
load current.
Even if the loads are interrupted by the outage, the power could be restored by network recongura-
tion - by fault separation and closing a back-feed switch. The interruption duration will then equal the
restoration time, and not the repair duration (equivalent to the system state duration).
30.2.2 Stochastic Models
A stochastic reliability model is a statistical representation of the failure rate and repair duration time
for a power system component. For example, a line might suffer an outage due to a short-circuit. After
the outage, repair will begin and the line will be put into service again after a successful repair. If two
states for line A are dened as in service and under repair, monitoring of the line could result in a time
sequence of outages and repairs as depicted in Figure 30.2.2.
Figure 30.2.2: Line availability states are described by the status of the line (in service or under repair).
Each of these states lasts for a certain time.
Line A in this example fails at time T1 after which it is repaired and put back into service at T2. It fails
again at T3, is repaired again, etc. The repair durations are also called the Time To Repair or TTR.
The service durations S
1
= T
1
, S
2
= T
3
T
2
, etc. are called the life-time, Time To Failure or TTF.
Both the TTR and the TTF are stochastic quantities. By gathering failure data about a large group of
similar components in the power system, statistical information about the TTR and TTF, such as the
mean value and the standard deviation, can be calculated. The statistical information is then used to
dene a Stochastic Model.
There are many ways in which to dene a Stochastic Model. The so-called homogenous Markov-model
is a highly simplied but generally used model. A homogenous Markov model with two states is dened
by:
A constant failure rate ; and
A constant repair rate .
These two parameters can be used to calculate the following quantities:
mean time to failure, TTF = 1/;
mean time to repair, TTR = 1/;
DIgSILENT PowerFactory 15, User Manual 689
CHAPTER 30. RELIABILITY ASSESSMENT
availability, P = TTF/(TTF+TTR);
unavailability Q, = TTR/(TTF+TTR);
The availability is the fraction of time when the component is in service; the unavailability is the fraction
of time when it is in repair; and P+Q = 1.0.
Reminder: TTR is the Time To Repair, and TTF is the Time To Failure.
Example
If 7500 monitored transformers were to show 140 failures over 10 years, during which a total of 7360
hours was spent on repair, then:
=
140
10 7500

1
a
= 0, 00187
1
a
(30.1)
TTF =
1

= 536a (30.2)
TTR =
7360
140
h = 52, 6h = 0, 006a (30.3)
=
1
TTR
= 167
1
a
(30.4)
P =
536
536 + 0, 006
= 0, 999989 (30.5)
Q =
0, 006
536 + 0, 006
= 6
min
a
(30.6)
i.e. the expected outage duration is 6 minutes per annum.
30.2.3 Calculated Results for Reliability Assessment
The network reliability assessment produces two types of indices:
Load point indices.
System indices.
These indices are separated into frequency/expectancy indices and energy indices. Furthermore, there
are indices to describe the interruption costs.
Load point indices are calculated for each load (ElmLod), and are used in the calculation of many
system indices. This section describes the simplied equations for the reliability indices. However,
note that the PowerFactory reliability assessment calculations use more complex calculation methods.
Nevertheless, the simplied equations shown here can be used for hand calculations or to gain insight
into the reliability assessment results.
690 DIgSILENT PowerFactory 15, User Manual
30.2. PROBABILISTIC RELIABILITY ASSESSMENT
TECHNICAL BACKGROUND
30.2.3.1 Parameter Denitions
In the denitions for the reliability indices, the following parameters are used:
C
i
The number of customers supplied by load point i
A
i
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
L
m
The total connected kVA interrupted, for each interruption event, m
r
m
Duration of each interruption event, m
L
T
The total connected kVA supplied
Pc
i
Contracted active power at load point i
30.2.3.2 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
LPIC: Load Point Interruption Costs
AID: Average Interruption Duration
TCIF: Total Customer Interruption Frequency
TCIT: Total Customer Interruption Time
TPCONTIF: Total Contracted power Interruption Frequency
TPCONTIT: Total Contracted power Interruption Time
These indices are dened as follows:
ACIF
i
=

k
Fr
k
frac
i,k
Unit : 1/a (30.7)
ACIT
i
=

k
8760 Pr
k
frac
i,k
Unit : h/a (30.8)
LPIF
i
=

k
Fr
k
Unit : 1/a (30.9)
LPIT
i
=

k
8760 Pr
k
Unit : h/a (30.10)
AID
i
=
ACIT
i
ACIF
i
(30.11)
TCIF
i
= ACIF
i
C
i
Unit : C/a (30.12)
DIgSILENT PowerFactory 15, User Manual 691
CHAPTER 30. RELIABILITY ASSESSMENT
TCIT
i
= ACIT
i
C
i
Unit : Ch/a (30.13)
TPCONTIF
i
=

k
Fr
k
frac
i,k
Pc
i
Unit : MW/a (30.14)
TPCONTIT
i
=

k
8760 Pr
k
frac
i,k
Pc
i
Unit : MWh/a (30.15)
where
i is the load point index
k is the contingency index
frac
i,k
is the fraction of the load which is lost at load point i, for contingency k.
For unsupplied loads, or for loads that are shed completely,frac
i,k
= 1.0.
For loads that are partially shed, 0.0 <= frac
i,k
< 1.0.
30.2.3.3 System Indices
SAIFI System Average Interruption Frequency Index, in units of [1/C/a], indicates how often the average
customer experiences a sustained interruption during the period specied in the calculation.
SAIFI_P Average Interruption Frequency (Contracted Power), in units of [1/a], indicates how often there
are contracted power interruptions during the period of the calculation.
CAIFI Customer Average Interruption Frequency Index, in units of [1/A/a], is the mean frequency of
sustained interruptions for those customers experiencing sustained interruptions. Each customer
is counted once regardless of the number of times interrupted for this calculation.
ASIFI Average System Interruption Frequency Index, in units of [1/a], The calculation of this index
is based on load rather than customers affected. ASIFI can be used to measure distribution
performance in areas that supply relatively few customers having relatively large concentrations
of load, predominantly industrial/commercial customers
SAIDI System Average Interruption Duration Index, in units of [h/C/a], indicates the total duration of
interruption for the average customer during the period in the calculation. It is commonly measured
in customer minutes or customer hours of interruption.
SAIDI_P Average Interruption Duration (Contracted Power), in units of [h/a], indicates the total duration
of contracted power interruptions during the period of the calculation.
CAIDI Customer Average Interruption Duration Index, in units of [h], is the mean time to restore service.
ASIDI Average System Interruption Duration Index, in units of [h/a], is the equivalent of SAIDI but based
on load, rather than customers affected.
ASAI Average Service Availability Index, this represents the fraction of time that a customer is con-
nected during the dened calculation period.
ASUI Average Service Unavailability Index, is the probability of having all loads supplied.
MAIFI Momentary Average Interruption Frequency Index, in units of [1/Ca], evaluates the average fre-
quency of momentary interruptions. The calculation is described in the IEEE Standard 1366 IEEE
Guide for Electric Power Distribution Reliability Indices.
692 DIgSILENT PowerFactory 15, User Manual
30.2. PROBABILISTIC RELIABILITY ASSESSMENT
TECHNICAL BACKGROUND
SAIFI =

ACIF
i
C
i

C
i
Unit : 1/C/a (30.16)
SAIFI_P =

TPCONTIF
i

PCONTRACT
i
Unit : 1/a (30.17)
CAIFI =

ACIF
i
C
i

A
i
Unit : 1/A/a (30.18)
SAIDI =

ACIT
i
C
i

C
i
Unit : h/C/a (30.19)
SAIDI_P =

TPCONTIT
i

PCONTRACT
i
Unit : h/a (30.20)
CAIDI =
SAIDI
SAIFI
Unit : h (30.21)
ASUI =

ACIT
i
C
i
8760

C
i
(30.22)
ASAI = 1 ASUI (30.23)
ASIDI =

(r
m
L
m
)
L
T
Unith/a (30.24)
ASIFI =

L
m
L
T
Unit1/a (30.25)
MAIFI =

IM
i
N
mi

N
i
(30.26)
30.2.3.4 Load Point Energy Indices
LPENS: Load Point Energy Not Supplied
LPES: Load Point Energy Shed
DIgSILENT PowerFactory 15, User Manual 693
CHAPTER 30. RELIABILITY ASSESSMENT
These indices are dened as follows:
LPENS
i
= ACIT
i
(

Pd
i
+

Ps
i
) in MWh/a (30.27)
LPES
i
= ACIT
i

Ps
i
in MWh/a (30.28)
Where
Pd
i
is the weighted average amount of power disconnected
Ps
i
is the weighted average amount of power shed at load point i.
30.2.3.5 System Energy Indices
ENS Energy Not Supplied, in units of [MWh/a], is the total amount of energy on average not delivered
to the system loads.
SES System Energy Shed, in units of [MWh/a], is the total amount of energy on average expected to
be shed in the system.
AENS Average Energy Not Supplied, in units of [MWh/Ca], is the average amount of energy not sup-
plied, for all customers.
ACCI Average Customer Curtailment Index, in units of [MWh/Ca], is the average amount of energy not
supplied, for all affected customers.
ENS =

LPENS
i
in MWh/a (30.29)
SES =

LPES
i
in MWh/a (30.30)
AENS =
ENS

C
i
in MWh/Ca (30.31)
ACCI =
ENS

A
i
in MWh/Ca (30.32)
30.2.3.6 Load Point Interruption Cost
LPEIC is dened as
LPEIC
i
=

LPEIC
i,k
in $/a (30.33)
where
694 DIgSILENT PowerFactory 15, User Manual
30.2. PROBABILISTIC RELIABILITY ASSESSMENT
TECHNICAL BACKGROUND
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 cost 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.
30.2.3.7 System Interruption Costs
EIC Expected Interruption Cost, in units of [M$/y], is the total expected interruption cost.
IEAR Interrupted Energy Assessment Rate, in units of [$/kWh], is the total expected interruption cost
per not supplied kWh.
EIC =

LPEIC
i
in M$/a (30.34)
IEAR =
EIC
ENS
in $/kWh (30.35)
Additional Calculated Indices for Load Points
AID: Average Interruption Duration [h]
Additional Calculated Indices for Busbars/Terminals
AID: Average Interruption Duration [h]
AIF: Yearly Interruption Frequency [1/y]
AIT: Yearly Interruption Time [h/y]
30.2.4 System State Enumeration in Reliability Assessment
In PowerFactory , Reliability Assessment uses a System State Enumeration to analyze all possible sys-
tem states, one by one. A fast topological method is used which ensures that each possible system
state is only analyzed once. State frequencies (average occurrences per year) are calculated by consid-
ering only the transitions from a healthy situation to an unhealthy one and back again. This is important
because the individual system states are analyzed one by one, and the (chronological) connection
between them is therefore lost.
The enumerated calculation method is fast for quick investigation of large distribution networks, but does
not compromise accuracy. Exact analytic averages are calculated. Distributions of reliability indices,
however, cannot be calculated. For example, the average annual unavailability in hours/year can be
calculated, but the probability that this unavailability is less than 15 minutes for a certain year cannot be
calculated.
The state enumeration algorithm can include independent failures, simultaneous (n-2) failures, common
mode failures, numerous load states and planned outages.
DIgSILENT PowerFactory 15, User Manual 695
CHAPTER 30. RELIABILITY ASSESSMENT
An overview ow diagram for the reliability assessment by state enumeration is shown in Figure 30.2.3.
Figure 30.2.3: Overview Flow Diagram for Reliability Assessment by State Enumeration
After the State Enumeration is complete, each simulated system state can be viewed using the tracing
tool on the Reliability Toolbar, see Section 31.2 for more information.
30.3 Setting up the Network Model for Reliability Assessment
Prior to starting a Reliability Assessment Calculation, you must setup the Network Model with specic
reliability data models. This chapter discusses the following procedures:
How to Dene Stochastic Failure and Repair Models.
How to Create Feeders for Reliability Assessment.
How to Congure Switches for the Reliability Assessment.
Load Modelling for Reliability Assessment.
Considering Multiple System Demand Levels.
696 DIgSILENT PowerFactory 15, User Manual
30.3. SETTING UP THE NETWORK MODEL FOR RELIABILITY ASSESSMENT
Dening Fault Clearance Based on Protection Device Location.
How to Consider Planned Maintenance.
Specifying Individual Component Constraints.
30.3.1 How to Dene Stochastic Failure and Repair models
Stochastic Failure models dene the probability that a component will fail and when it does fail, the mean
time to repair the component. The following Stochastic failure models are supported by PowerFactory:
Busbar/Terminal Stochastic Model.
Line/Cable Stochastic Model.
Transformer Stochastic Model.
Common Mode Stochastic Model.
Protection/Switch Failure Model.
Double Earth Fault Failure Model.
This section describes each of these Stochastic Models and the procedure for dening them.
30.3.1.1 Busbar/Terminal Stochastic Model (StoTypbar)
It is possible to dene a Stochastic Model for every busbar and terminal within the network. The
Stochastic Model can be dened either through the object type or through the object element. If you
want to use the same Stochastic Model for a number of different busbars/terminals then you should de-
ne it through the object type. Alternatively, if you want to use a Stochastic Model for only one element,
then you should dene it through the element Reliability page.
Busbar/Terminal type denition
You can use Stochastic Models dened through types and elements together as required - the element
denition always overrides the type denition.
To dene a Stochastic Model for a busbar type follow these steps:
1. Open the dialogue for the busbar type and select the Reliability tab.
2. Using the Stochastic Model selection control click the black triangle and select the option New
project type. The dialogue for the Bar Type Failures will appear.
3. Enter the failure data for the busbar and the failure data per connection. Note that the probability
of the busbar failure is the sum of these two failure frequencies. For example a busbar with 3
connections, a failure frequency for the busbar of 0.002 and a failure frequency of 0.005 per
connection will have a total probability of failure of 0.002 + 3 0.005 = 0.017.
4. Enter the mean repair duration.
5. Press OK twice to return to the element dialogue.
Busbar/Terminal element denition
To dene a Stochastic Model for a busbar element follow these steps:
DIgSILENT PowerFactory 15, User Manual 697
CHAPTER 30. RELIABILITY ASSESSMENT
1. Open the dialogue for the busbar element and navigate to the Reliability tab.
2. Using the Element model selection control click the black triangle and select the option New
project type. The dialogue for the Bar Type Failures will appear.
3. Enter the failure data and repair time data as described above for the busbar type.
4. Press OK to close the element dialogue.
Note: If you dene a stochastic element model for a busbar/terminal that also has a stochastic type
model within its corresponding type, the element model overrules the type model.
30.3.1.2 Line/Cable Stochastic Model (StoTyplne)
It is possible to dene a Stochastic Model for every line or cable within the network. The Stochastic
Model can be dened either through the object type or through the object element. If you want to use
the same Stochastic Model for a number of different lines/cables then you should dene it through the
object type reliability page. Alternatively, if you want to use a Stochastic Model for only one element,
then you should dene it through the element reliability page.
Cable type denition
To dene a Stochastic Model for a line or cable type follow these steps:
1. Open the dialogue for the line type and select the Reliability tab.
2. Using the Stochastic Model selection control click the black triangle and select the option New
project type. The dialogue for the Line Type Failures will appear.
3. Enter the Sustained Failure Frequency. Note that the probability of the line failure is determined
using this value and the length of the line. For example, a 12 km line with a Sustained failure
frequency of 0.032(1/(a km)) will have a failure probability of 12 0.032 = 0.384(1/(a)).
4. Enter the mean repair duration in hours.
5. Enter the Transient Fault Frequency. Note this parameter is used for the calculation of the MAIFI
index.
6. Press OK twice to return to the element dialogue.
Cable element denition
To dene a Stochastic Model for a line or cable element follow these steps:
1. Open the dialogue for the line element and navigate to the Reliability tab.
2. Using the element model selection control click the black triangle and select the option New
project type. The dialogue for the Line Type Failures will appear.
3. Enter the failure data and repair time data as described above for the line type.
4. Press OK to return to the element dialogue.
698 DIgSILENT PowerFactory 15, User Manual
30.3. SETTING UP THE NETWORK MODEL FOR RELIABILITY ASSESSMENT
30.3.1.3 Transformer Stochastic Model (StoTyptrf)
It is possible to dene a Stochastic Model for every transformer within the network. The Stochastic
Model can be dened either through the object type or through the object element. If you want to use
the same Stochastic Model for a number of different transformers then you should dene it through the
object type reliability page. Alternatively, if you want to use a Stochastic Model for only one transformer
element, then you should dene it through the element reliability page.
Transformer type denition
To dene a Stochastic Model for a transformer type follow these steps:
1. Open the dialogue for the transformer type and select the Reliability tab.
2. Using the Stochastic Model selection control click the black triangle and select the option New
project type. The dialogue for the Transformer Type Failures will appear.
3. Enter the failure frequency data (1/a).
4. Enter the mean repair duration in hours.
5. Press OK twice to return to the element dialogue.
Transformer element denition
To dene a Stochastic Model for a transformer element follow these steps:
1. Open the dialogue for the transformer element and select the Reliability tab.
2. Using the element model selection control click the black triangle and select the option New
project type. The dialogue for the Transformer Type Failures will appear.
3. Enter the failure data and repair time data as described above for the transformer type.
4. Press OK to return to the element dialogue.
30.3.1.4 Common Mode Stochastic Model (StoCommon)
A common mode failure involves the simultaneous failure of two or more power system components. An
example is a distribution feeder where two lines with different voltages share the same poles. If one or
more poles fail, for example a car hits a pole, then both lines will be interrupted simultaneously: these
lines have a common failure mode. Such a failure will usually be more likely than the probability of the
two lines failing independently at the same time.
In PowerFactory , it is possible to dene a common mode failure object to consider such failures in
the reliability calculation. These Stochastic Models consider the common mode failure probability in
addition to the independent failure mode of each component within the model.
To dene a common mode failure Stochastic Model follow these steps:
1. Using the Data Manager, select the Common Mode failures folder within the Operational Library.
2. Click the New Object button ( ) to create a Stochastic Common Mode failure object (StoCom-
mon). The dialogue for the object should appear.
3. Double click in the rst empty cell of the Name column, to open an object selection browser.
4. Use the browser to nd the rst object that is part of the Common Mode failure that you are trying
to dene.
DIgSILENT PowerFactory 15, User Manual 699
CHAPTER 30. RELIABILITY ASSESSMENT
5. Click OK to return to the Common Mode Failure dialogue.
6. Add a cell below the last full cell by right-clicking within an empty area of the dialogue and selecting
the option Append Rows.
7. Repeat steps 3-6 to add more objects to the Common Mode Failure.
8. Click the Failure Data tab and enter the Sustained Failure Frequency, Mean Outage duration and
Transient Fault Frequency data.
9. Click OK to save the changes.
30.3.1.5 Protection/Switch Failures
PowerFactory can consider the failure of the protection system to clear the fault as a stochastic proba-
bility within the reliability calculation. This is enabled by entering a Probability of Failure into the switch
object. To enter this data:
1. Open the dialogue for the switch object where you want to enter the switch failure probability.
Normally switches are accessed by right clicking their containing cubicle and selecting the option
Edit Devices.
2. On the Reliability tab of the switch object, enter the Fault Clearance: circuit breaker fails to open
probability in percent. For example, a 5 %failure rate means that on average 1 out of 20 attempted
fault clearance operations will fail.
Note: PowerFactory does not distinguish between a protection system failure and a switch failure. For
example, the reason that a switch fails to open could be caused by a faulty relay, a protection
mal-grading or a faulty circuit breaker. The cumulative probability of all these events should be
entered into the switch failure probability.
30.3.1.6 Double Earth Faults
A double earth fault in PowerFactory is dened as follows: a single earth fault on a component followed
by a second simultaneous earth fault on another component.
A double earth fault might occur after voltage rises on healthy phases on a feeder following a single
phase to earth fault on the feeder, causes a second phase to earth fault on the same feeder.
Double earth faults occur on lines, transformers (2 Winding and 3 Winding transformers) and busbars,
and PowerFactory supports adding the conditional probability data for double earth faults for Stochastic
Models of these components. The reliability calculation automatically generates a contingency event for
every double earth fault that meets the following conditions:
Both objects are in the same part of the network (supplied by the same transformers).
The star point of the transformers that supply that part of the network is isolated or compensated
(both star point grounded and Peterson Coil enabled).
The frequency of single earth faults of the rst object is > 0
The probability of double earth fault of the second object is > 0.
The frequency for single earth faults and the probability of the second earth fault data can be entered on
the Earth Fault page of every Stochastic Model. Follow these steps to enter data for a Line Stochastic
Model:
700 DIgSILENT PowerFactory 15, User Manual
30.3. SETTING UP THE NETWORK MODEL FOR RELIABILITY ASSESSMENT
1. Open the Stochastic Failure Model for the line (either through the reliability page of the line type
or the line elements).
2. Select the Earth Fault page.
3. Enable the option Model Earth Faults
4. Enter the data for the frequency of single earth faults
5. Enter the data for the conditional probability of a second earth fault
6. Enter the Repair duration in hours.
7. Close the Stochastic Model.
Note: The double earth fault is a conditional probability. Therefore, the probability of one occurring in
the network is the probability of an earth fault on component A

probability of an double earth
fault on component B
30.3.2 How to Create Feeders for Reliability Calculation
When performing a reliability calculation with the Distribution option set under Basic Options, Power-
Factory requires that feeder/s have been dened in the model.
To create a feeder:
Right click on the cubicle at the head of the feeder and select the option Dene Feeder ; or
for fast creation of multiple feeders right click the bus the feeder/s are connected to and select
the option Dene Feeder. More information on feeders and feeder creation can be found in
Chapter 13: Grouping Objects, Section 13.5(Feeders).
30.3.3 Conguring Switches for the Reliability Calculation
A critical component of the Failure Effect Analysis (FEA), is the behaviour of the switches in the network
model. Switches in PowerFactory are classied into four different categories:
Circuit Breakers; Typically these are automatic and controlled by relays and through remote com-
munications. They are used for clearing faults and for closing back-feeds for power restoration.
Disconnectors; Used for isolation and power restoration.
Load-Break-Switch; Used for isolation and power restoration.
Switch Disconnector; Used for isolation and power restoration.
All switches in PowerFactory are modelled using the StaSwitch or ElmCoup objects. The switch cate-
gory (CB, disconnector etc) is selected on the basic data page of the switch. The actions that the FEA
analysis takes depends on the conguration of these switches and, optionally, the location of protection
devices.
Conguration steps
To congure a switch for reliability analysis follow these steps:
1. Open the dialogue for the switch and select the reliability page. This can be done directly by
editing switches modelled explicitly on the single line diagram, or for switches embedded within a
cubicle, by right-clicking the cubicle and selecting the option edit devices, to access the switch.
DIgSILENT PowerFactory 15, User Manual 701
CHAPTER 30. RELIABILITY ASSESSMENT
2. Select the Sectionalizing option. The following choices are available:
Remote controlled (Stage 1); This option means that the actuation time of this switch is taken
from the global remote controlled switch actuation time. The default time is 1 min but this
can be adjusted within the reliability command, see Section 30.4.1: How to run the Reliability
Assessment.Typically remote controlled switches are circuit breakers controlled by relays or
with communications from a control room.
Indicator of Short Circuit (Stage 2); This option represents a switch that has an external
indication of status on the outside of the switch enclosure. This allows the operator/technician
to easily identify the switch status and actuate the switch.
Manual (Stage 3); These switches need direct visual inspection to determine their status and
therefore take longer to actuate than either stage 1 or stage 2 switches.
3. Select the Power Restoration option. The following choices are available:
Do not use for power restoration; If this option is selected the switch can only be used for
isolation of equipment or load shedding. It will not be used by the FEA calculation to restore
power.
From terminal i to j; If this option is selected, the switch will only be used to restore power if
the post restoration power ow is in the direction from terminal i to terminal j. The switch will
not be used for power restoration in the opposite direction.
From terminal j to i; If this option is selected, the switch will only be used to restore power if
the post restoration power ow is in the direction from terminal j to terminal i. The switch will
not be used for power restoration in the opposite direction.
Independent of direction; If this option is selected the switch will be used to restore power
ow regardless of the direction of the post restoration power ow.
4. Enter the time to actuate switch (Stage 2 and 3 switches only); This eld species the time taken
by the operator to actuate the switch. Note, this excludes the local access and access time if
the switch is within a substation. The total actuation time of such a switch is therefore the switch
actuation time + the substation access time + the local access time.
Note: The Sectionalizing options are only considered when the Distribution reliability analysis option
is selected under Basic Options. If the Transmission mode is selected, then all switches are
assumed to be remote controlled.
30.3.4 Load Modelling for Reliability Assessment
This section provides a general description of the load element parameters that are used by the re-
liability calculation. The rst sub-section describes how to input the number of customers that each
load represents and how to classify each load. The second sub-section describes how to dene load
shedding and transfer parameters.
30.3.4.1 Specifying the Number of Customers for a Load
Many of the reliability indices such as SAIFI and CAIFI are evaluated based on the number of customers
interrupted. Therefore, for accurate calculation of these indices it is important to specify the number of
customers that each load represents. To do this:
1. Open the dialogue for the target load element.
2. Select the Reliability page.
3. In the Number of connected customers eld, enter the number of customers that this load repre-
sents.
702 DIgSILENT PowerFactory 15, User Manual
30.3. SETTING UP THE NETWORK MODEL FOR RELIABILITY ASSESSMENT
4. Repeat this process for each load in the system you are modelling.
Load Classication
Every load can be optionally classied into agricultural, commercial, domestic or industrial load. This
option does not affect the calculation of the reliability indices and is provided for categorisation purposes
only.
30.3.4.2 Specifying Load Shedding and Transfer Parameters
Load transfer and load shedding are used to alleviate violated voltage or thermal constraints caused
by the power restoration process. There is a distinction between load transfer for constraint alleviation,
such as described in this section, and load transfer for power restoration. Load transfer by isolating a
fault and closing a back-stop switch is considered automatically during the fault separation and power
restoration phase of the failure effect analysis.
If a violated constraint is detected in the post-fault system condition, a search begins for the loads
contributing to these overloads. The overloads are then alleviated by either:
Transferring some of these loads, if possible; or
Shedding some of these loads, starting with the lowest priority loads.
To dene the load shedding parameters follow these steps:
1. Open the reliability page of the load element.
2. Enter the number of load shedding steps using the Shedding steps list box. For example, four
shedding steps means that the load can be shed to 25%, 50%, 75% or 100% of its base value.
Innite shedding steps means that the load can be shed to the exact value required to alleviate
the constraint.
3. Enter the Load priority. The reliability algorithm will always try to shed the loads with the lowest
priority rst. However, high priority loads can still be shed if the algorithm determines this is the
only way to alleviate a constraint.
4. Enter the load transfer percentage in the Transferable parameter. This denes the percentage
of this load that can be transferred away from the current network. PowerFactory assumes that
the transferred load is picked up by another network that is not modelled, hence load transferring
in this way is equivalent to load shedding in terms of constraint alleviation. The difference is that
transferred load is still considered as supplied load, whereas shed load is obviously not supplied.
5. Optional: Use the selection control next to Alternative Supply (Load) to specify an alternative
load that picks up all transferred load.
Note: There is a critical difference between the transmission reliability and distribution reliability func-
tions. In distribution reliability all constraint alleviation is completed using switch actions, so loads
can only be fully shed (switched out) or they remain in service. However, by contrast, the trans-
mission reliability option can shed or transfer a percentage of the load.
30.3.5 Modelling Load Interruption Costs
When supply to a load is interrupted, there is a cost associated with the loss of supply. PowerFactory
supports the denition of cost curves for load elements using Energy Tariffs and Time Tariffs. They can
DIgSILENT PowerFactory 15, User Manual 703
CHAPTER 30. RELIABILITY ASSESSMENT
be dened using the Tariff characteristic on the reliability page of the load element, as discussed in
Chapter 16: Parameter Characteristics, Load States, and Tariffs, Section 16.5 (Tariffs).
Projects imported from previous versions of PowerFactory may include Vector Characteristics for the
denition of cost curves, which are discussed in Chapter 16: Parameter Characteristics, Load States,
and Tariffs, Section 16.2.4 (Vector Characteristics with Time Scales).
30.3.6 System Demand and Load States (ComLoadstate)
Considering Multiple System Demand Levels (Optional)
If you have dened time-based characteristics for the feeder loads so that the demand changes depend-
ing on the study case time, then you might want to also consider using these different demand patterns
in the reliability analysis. Because the reliability analysis always analyses a discrete system state, it is
normally not practical to consider every possible demand level because the number of discrete states
in a practical system is usually very large. Instead, the load demand for a one year period is can be
discretized and converted into several so-called load states, and a probability of occurrence for each
state.
The Reliability Command does not automatically generate the load states. Therefore, if you wish to
consider multiple demand levels in your reliability analysis you must rst get PowerFactory to generate
the load states. There are two methods available for producing load states. The rst is by specication
of load characteristics for individual loads, and the second is by specication of load distribution states
for substations. The procedures for each method is described in Chapter 16: Parameter Characteristics,
Load States, and Tariffs; Sections 16.3 (Load States) and 16.4 (Load Distribution States).
30.3.7 Fault Clearance Based on Protection Device Location
The Reliability Calculation has two options for fault clearance:
Use all circuit breakers; or
Use only circuit breakers controlled by protection devices (fuses or relays).
The second option is the more realistic option, because only locations within the network that can
automatically clear a fault will be used by the reliability calculation to clear the simulated faults. However,
you must create protection devices to control each automatic switch for this option to work correctly.
30.3.8 How to Consider Planned Maintenance
The PowerFactory reliability calculation supports the denition and automatic inclusion of planned net-
work maintenance. Maintenance is implemented with a planned outage object. These objects are found
within the Outages sub-folder within the project Operational Library. The following steps describe the
procedure for creating a planned outage:
1. On the single line diagram (or within the data manager), select the object (or objects) that you
would like to dene an outage for.
2. Right-click the selected object/s and from the menu that appears choose the option Dene
Planned Outage. The dialogue box for the planned outage will appear.
3. Using the Start Time selection control ..., enter the time that the outage begins.
4. Using the End Time selection control ..., enter the time that the outage ends.
704 DIgSILENT PowerFactory 15, User Manual
30.4. RUNNING THE RELIABILITY ASSESSMENT CALCULATION
5. Optional: Adjust the Outage Type. Typically you would leave this on the default Outage of Element
option, but if you wanted to model a generator derating, then you would choose the Generator
Derating option.
Note: When the reliability calculation considers outages it creates a unique contingency case for ev-
ery contingency with the outage applied and also without the outage. For example, for a network
with two planned outages and six contingencies there will be a total of 63 = 18 contingency cases.
30.3.9 Specifying Individual Component Constraints
The reliability calculation can automatically consider voltage and thermal constraints for the power
restoration process. There are two options for specifying constraints applied to branch, terminal, and
feeder objects as follows:
Global Constraints; All network constraints are based on the constraints specied on the constraints tab
of the Reliability Command Dialogue.
Individual Constraints; If Individual Constraints are selected for branches, terminals, and / or feeders,
constraints should be dened by the user for each relevant object by taking the following steps:
1. Open the reliability page of the target terminal, branch (line/transformer), or feeder.
2. Enter the Max and Min Voltage limits, max loading, or voltage drop/rise for the terminal, branch,
or feeder respectively.
3. Click OK to close the dialogue and save the changes.
30.4 Running The Reliability Assessment Calculation
The procedure for using the PowerFactory Reliability Assessment tool and analyzing the results gener-
ated by the tool is described in this section.
30.4.1 How to run the Reliability Assessment
In PowerFactory the network Reliability Analysis is completed using the Reliability Assessment com-
mand (ComRel3 ). This command is found on the Reliability Analysis toolbar.
Alternatively, the commands can be executed for a single element by right-clicking the element and
selecting Calculate Reliability Assessment or Optimal Power Restoration. The options for the
reliability command that are presented within its dialogue are described in the following sub-sections.
30.4.1.1 Basic Options
The following options are available on the Basic Options page Reliability Assessment Command dia-
logue.
Method
Connectivity analysis: This option enables failure effect analysis without considering constraints. A
load is assumed to be supplied if it is connected to a source of power before a contingency, and
assumed to undergo a loss of supply if the process of fault clearance separates the load from all
DIgSILENT PowerFactory 15, User Manual 705
CHAPTER 30. RELIABILITY ASSESSMENT
power sources. Because constraints are not considered, no load-ow is required for this option
and hence the analysis will be faster than when using the alternative load-ow analysis option.
Load ow analysis: This option is the same as the connectivity analysis, except that constraints are
considered by completing load-ows for each contingency. Loads might be disconnected to alle-
viate voltage or thermal constraints. For the transmission analysis option, Generator re-dispatch,
load transfer and load shedding are used to alleviate overloads.
Calculation time period
Complete year: The reliability calculation is performed for the current year specied in the Date/Time
of the Calculation Case. This can be accessed and the date and time changed by clicking the
button.
Single Point in Time: The Reliability Calculation is completed for the network in its current state at the
actual time specied by the Date/Time of the Calculation Case.
Note: If load states or maintenance plans are not created and considered, then these options make no
difference because the reliability calculation is always completed at the single specied time.
Load Flow This button is a link to the load-ow calculation command used for the analysis. The load
demand is calculated using this load-ow. In addition, its settings are used for the constraint evaluation
load-ows.
Network
Distribution: The reliability assessment will try to remove overloading at components and voltage vi-
olations (at terminals) by optimizing the switch positions in the radial system. If constraints occur
in the power restoration process, loads will be shed by opening available switches. This option is
the recommended analysis option for distribution and medium voltage networks.
Note: The reliability command optimizes switch positions based on load shedding priorities, and not
network losses.
Transmission: Thermal overloads are removed by generator re-dispatch, load transfer and load shed-
ding. First generator re-dispatch and load transfer is attempted. If these cannot be completed
or do not remove the thermal overload, load shedding actions will occur. Generator re-dispatch
and load transfer do not affect the reliability indices. However, by contrast, load shedding leads to
unsupplied loads and therefore affects the reliability indices.
Automatic Contingency Denition (ComContingency)
The Selection list presents three possible options for the contingency denition. These are:
Whole system: PowerFactory will automatically create a contingency event for every object that
has a Stochastic Model dened.
Single Grid: Selecting this option shows a selection control. Now you can select a single grid and
only contingencies for objects in this grid will be created.
User Dened: Selecting this option shows a selection control. Now you can select a set of objects
(SetSelect), and contingencies will be created for each of these objects that has a Stochastic
Model dened.
706 DIgSILENT PowerFactory 15, User Manual
30.4. RUNNING THE RELIABILITY ASSESSMENT CALCULATION
In addition to the above contingency denition options, the automatic contingency denition can be
further controlled with the following checkboxes:
Busbars/Terminals; You must enable this ag for PowerFactory to create Busbar and terminal
contingencies.
Lines/Cables; You must enable this ag for PowerFactory to create Line/Cable contingencies.
Transformers; You must enable this ag for PowerFactory to create transformer contingencies.
Common Mode; You must enable this ag for PowerFactory to create Common Mode contingen-
cies. See Common Mode Stochastic Model (StoCommon) for more information.
Independent second failures; You must enable this ag for PowerFactory to consider n-2 outages in
addition to n-1 outages. Caution: n-2 outages for all combinations of n-1 outages are considered.
This means that for a system of n contingencies there are (n (n 1))/2) + n, contingencies to
consider. This equation is quadratic, and so to minimize the required time for computation this
option is disabled by default.
Double-earth faults; You must enable this ag for PowerFactory to consider double-earth faults.
See Double Earth Faults for more information.
Protection/switching failures; You must enable this ag for PowerFactory to consider protection
devices or circuit breakers failure to operate. See Protection/Switch Failures for more information.
30.4.1.2 Outputs
The following options are available on the Outputs tab of the Reliability command.
Results
This option allows the selection of the result element (ElmRes) where the results of the reliability anal-
ysis will be stored. Normally, PowerFactory will create a result object within the active study case.
Perform Evaluation of Result File
The Reliability Analysis automatically writes all simulation results to a result object specied above.
After completing the Reliability Calculation, PowerFactory automatically evaluates the result object to
compute the reliability indices. This button allows you to re-evaluate a results le that has previously
been created by this or another reliability calculation command. The benet of this is that you do not
have to re-run the reliability calculation (which can be time consuming compared to the results object
evaluation) if you only want to recalculate the indices from an already completed calculation.
Output
Displays the form used for the output report. Report settings can be inspected and the format selected
by clicking on the button.
Recording Limits These options dene when PowerFactory will record bus voltages and line loadings
in the reliability assessment result object. For example, if the loading limit is specied as 80%, then line
loadings will only be recorded on lines where the calculated loading is greater than 80%.
30.4.1.3 FEA
A failure effect analysis (FEA) is made for each system state that occurs during the state enumeration.
The conguration options are explained below.
Fault Clearance Breakers
DIgSILENT PowerFactory 15, User Manual 707
CHAPTER 30. RELIABILITY ASSESSMENT
Use all circuit breakers: All switches in the system whose Usage is set to Circuit Breaker can be used
for fault clearance.
Use only circuit breakers with protection device: All circuit breakers in the system which are con-
trolled by a protection device (fuse or relay) can be used for fault clearance.
Fault Separation/Power Restoration
This option will only be enabled if Automatic Power Restoration is enabled on the Advanced Options
Tab.
Concurrent Switch Actions: It is assumed that the switching actions can be performed immediately
following the specied switching time. However, a switch can be closed for power restoration only
after the faulted element was disconnected. The analogy for this mode, is if there were a large
number of operators in the eld that were able to communicate with each other to coordinate the
switching actions as quickly as possible. Therefore, this option gives an optimistic assessment of
the smart power restoration.
Sequential Switch Actions: It is assumed that all switching actions are performed sequentially. The
analogy for this mode, is if there is only a single operator in the eld and they are required to
complete all switching. The fault separation and power restoration is therefore slower when using
this mode compared with the concurrent mode.
Consider Sectionalizing (Distribution analysis only) If enabled, the FEA considers the switch sec-
tionalizing stage when attempting fault separation and power restoration. First sectionalizing is
attempted using only stage 1 switches, if this is not successful then stage 1 and 2 switches are
used. Finally, if this is not successful, then stage 1, 2 and 3 switches are used.
Time to open remote controlled switches
The time (in minutes) taken to open remote controlled switches.
30.4.1.4 Costs
Costs for energy not supplied
If this option is selected, an Energy Tariff can be selected. Energy Tariffs are discussed in Chapter 16:
Parameter Characteristics, Load States, and Tariffs, Section 16.5.2(Dening Energy Tariffs).
Costs for loads
If this option is selected, a Global cost curve for all loads can be selected. Alternatively, Individual cost
curve per load may be selected, allowing the user to dene tariffs for individual loads. In both cases,
a Time Tariff or Energy Tariff may be dened, as discussed in Chapter 16: Parameter Characteristics,
Load States, and Tariffs, Section 16.5 (Tariffs).
30.4.1.5 Constraints
The settings for global constraints are dened within this page. The options are as follows:
Consider Thermal Constraints (Loading)
If this option is enabled, thermal constraints are considered by the FEA.
Global constraints for all components: Constraints specied in Max thermal loading of components
apply to all components in percent value.
708 DIgSILENT PowerFactory 15, User Manual
30.4. RUNNING THE RELIABILITY ASSESSMENT CALCULATION
Individual constraint per component: The maximum thermal loading limit is considered for each
component separately. This loading limit can be found on the Reliability tab of each component.
Consider Voltage Limits (Terminals)
If this option is enabled terminal voltage limits are considered by the FEA.
Global Constraint for all terminals: Constraints specied in Lower and Upper Limit of allowed voltage
in p.u. that will apply to all terminals.
Individual Constraint per terminal: Voltage constraints are considered for each terminal separately.
These constraints can be found on the Reliability tab of each terminal.
Consider Voltage Drop/Rise
If this option is enabled feeder voltage limits are considered by the FEA.
Global Constraint for all feeders: Constraints specied in MaximumVoltage Drop and Rise in percent
value that will apply to all feeders.
Individual Constraint per feeder: Voltage Drop/Rise constraints are considered for each feeder sep-
arately. These constraints can be found on the Reliability tab of each feeder.
Ignore all constraints for
Constraints are ignored for all terminals and components below the entered voltage level.
Nominal voltage below or equal to: The voltage level in kV is specied here if Ignore all constraints
for... is enabled.
Note: Voltage constraints are only available when the Distribution analysis option is selected under
Basic Options. Thermal constraints are available when either the Transmission or Distribution
analysis option is selected.
30.4.1.6 Maintenance
This tab allows you to enable or disable the consideration of Maintenance based on the Planned Out-
ages you have dened. See Section 30.3.9, for more information on dening planned outages. The
following options are available on this page:
Consider Maintenance
If enabled, all maintenance that falls in the selected time period, whether its a year or a single point in
time, is considered.
Show used planned outages: When clicked, this button will show a list of all planned outages that will
be considered by the calculation.
Show all planned outages: When clicked, this button will show a list of all planned outages created
in the project, including those not considered by the analysis because they fall outside of the
selected time period.
DIgSILENT PowerFactory 15, User Manual 709
CHAPTER 30. RELIABILITY ASSESSMENT
30.4.1.7 Load Data
If the Reliability Calculation option Complete Year is selected on the basic options page, then the
following options are available on the Load Data page.
Consider Load States / Consider Distribution States
Enable the relevant ag to consider load states or load distribution states in the reliability calculation.
The reliability calculation does not create load states automatically. If this ag is enabled but the states
have not been created, then an error will be printed to the output window and the reliability calculation
will stop. Otherwise the following two buttons are available.
Update/creation of States
Manually: If selected, a button Create load states will be available. When clicked, it launches the
Load state creation command after closing the reliability command (see Chapter 16 for more
information on load state creation).
Automatically before running reliability calculation: When selected, a pointer to the load state cre-
ation command is available.
30.4.1.8 Advanced Options
Failures, correction of forced outage rate
This option performs an automatic correction/normalization of the reliability indices to allow for the fact
that not all unlikely but possible contingencies have been considered in the analysis. For instance, n-3
contingencies have a non-zero probability.
Note: Forced outage refers to the unplanned removal of a primary component from the system due to
one or more failures in the system.
Fault Clearance/ Automatic Power Restoration
Do not save corresponding switch events: Results of internal nodes of substations will not be writ-
ten to the result le. This minimizes the amount of objects created in the database while per-
forming calculations with many contingencies caused by big networks (e.g if independent second
failures or double earth faults are enabled).
Save corresponding switch events: Corresponding switch events will be saved in the database while
performing calculations.
Automatic Power Restoration
If enabled, automatic power restoration will be considered.
Calculate Existing Contingencies (Do not create contingencies)
If enabled, the existing contingencies inside the reliability command will be used in the analysis. Note
that the options for automatic contingency denition on the Basic Options tab disappears.
Trace Functionality (Jump to Last Step)
A user-dened Time delay in animation can be entered to delay the animation of power restorations
when the Jump to Last Step icon ( is pressed.
Switch/Load events
710 DIgSILENT PowerFactory 15, User Manual
30.4. RUNNING THE RELIABILITY ASSESSMENT CALCULATION
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 com-
mand.
Loadow Analysis, Overloadings
Consider branch if loadings exceeds: If there are overloaded elements in the system, these over-
loadings should be removed through overload alleviation. Branches whose loading exceeds this
limit, are considered by the overload alleviation algorithm.
A reliability assessment will be started when the Execute button is pressed. The calculation time
required for a reliability assessment can range from a few seconds for a small network only considering
n-1 contingencies, to several hours for a large network considering n-2 contingencies. A reliability
assessment calculation can be interrupted by clicking on the Break icon ( ) on the main toolbar.
30.4.2 Viewing the Load Point Indices
You can view the Reliability Assessment Load Point Indices in two ways: in the load result boxes in
single line graphic, or in the data browser (data manager or load lter). This sub-section describes both
of these methods.
Method 1 - View the Load Point Indices in the Single Line Diagram
After you have executed the Reliability Assessment Calculation, all loads within the Network Single Line
Graphic, will show the following load point indices:
AID: Average Interruption Duration.
LPIF: Load Point Interruption Frequency.
LPIT: Load Point Interruption Time.
LPIC: Load Point Interruption Costs.
As usual, with PowerFactory result boxes, you can hover the mouse pointer over the result box to show
an enlarged popup of the results. This is demonstrated in Figure 30.4.1
Figure 30.4.1: Single Line Diagram Graphic Showing the Load Point Indices Results
DIgSILENT PowerFactory 15, User Manual 711
CHAPTER 30. RELIABILITY ASSESSMENT
Note: You can show any of the calculated load point indices in the load result boxes. To do this mod-
ify the displayed variables as described in Chapter 17: Reporting and Visualizing Results, Sec-
tion 17.4.3(Examples of Variable Selection)
Method 2 - View the Load Point Indices in the Data Browser
To view the load point indices in the Data Browser (as a selectable spreadsheet list), follow these steps:
1. Select the load element icon from the Edit Relevant Objects for Selection button . A list of
all loads considered in the calculation will appear. Calculation
2. Choose the Flexible Data tab. Calculated Load Point Indices for each load will appear in Green
Font text. By default, not all available load point indices will be shown.
3. Optional: Click the Dene Flexible Data button , to show all available variables.
4. Optional: Add more variables to the Selected Variables by double-clicking the variable in the
Available Variables window.
5. Optional: Click OK to view the result variables in the data browser.
30.4.3 Viewing the System Reliability Indices (Spreadsheet format)
The System Reliability Indices can be viewed for the whole system, individual grids, or for individual
feeders. Viewing these results is described in this sub-section.
To View Complete System Reliability Indices
Follow these steps to view the complete system reliability indices:
1. Select the Grids icon from the Edit Relevant Objects for Calculation button located on the
main toolbar. A list of all grids in the network model and a summary grid will appear.
2. Click the Flexible Data tab.
3. Click the Dene Flexible Data button to show the variable selection dialogue.
4. Click the Reliability tab (if not already selected).
5. Choose the variable set Calculation Parameter, from the list selection control in the Filter for
section. A list of available reliability indices will appear.
6. Select the indices that you wish to view, and double click them to move them to the Selected
Variables window.
7. Click OK to view the result variables in the data browser.
Note: Steps 3-7 are only required the rst time you want to view the system reliability indices, or if
you want to change the displayed variables. PowerFactory remembers these settings within each
project.
To View Feeder Reliability Indices
Reliability indices can also be viewed for each Feeder. To do this:
712 DIgSILENT PowerFactory 15, User Manual
30.4. RUNNING THE RELIABILITY ASSESSMENT CALCULATION
1. Select the Feeder icon from the Edit Relevant Objects for Calculation button located on the
main toolbar. A dialog box with a list of all feeders in the network model will appear.
2. Click the Flexible Data tab.
3. Click the Dene Flexible Data button to show the variable selection dialogue.
4. Click the Reliability tab (if not already selected).
5. Choose the variable set Calculation Parameter, from the list selection control in the Filter for
section. A list of available reliability indices will appear.
6. Select the indices that you wish to view, and double click them to move them to the Selected
Variables window.
7. Click OK to view the result variables in the data browser.
Note: Steps 3-7 are only required the rst time you want to view the Feeder reliability indices, or if
you want to change the displayed variables. PowerFactory remembers these settings within each
project.
30.4.4 Printing ASCII Reliability Reports
PowerFactory has three built-in ASCII Reliability Reports that you can use to show detailed print outs of
the Reliability Calculation results. To do this, follow these steps:
1. Click the Output Calculation Analysis icon on the main toolbar. A dialogue box showing the
available reports will appear.
2. Choose the report that you want to view.
3. Click Execute. The selected ASCII report will be printed to the PowerFactory Output Window.
Note: ASCII reports can be copied into a word processing tool directly from the Output Window. How-
ever, for a more professional look, try printing the report directly to PDF format from the Output
Window.
30.4.5 Using the Colouring modes to aid Reliability Analysis
There are several colouring modes that can aid you when using the reliability assessment functions.
These are:
Colouring according to Feeders; Use this to identify each Feeder and to see which feeder picks
up load when back-feed switches are closed.
Colouring according to Connected Grid Components; Use this to identify de-energized sections
of the network during the fault isolation, separation and power restoration.
Switches, type of usage. Use this mode to check the type of switches in the system when they
are not modelled explicitly in the single line diagram.
To Colour According to Feeders
1. Click the Diagram Colouring button . The Diagram colouring dialog will appear.
DIgSILENT PowerFactory 15, User Manual 713
CHAPTER 30. RELIABILITY ASSESSMENT
2. Select the tab for the function you want to show the colouring mode for. For example, if you want
the feeder colouring to appear before a calculation, then select the Basic Data tab. If you want the
colouring to appear after a load-ow choose the load-ow tab.
3. Check the 3. Other box and select Topology from the drop down list.
4. Select Feeders in the second drop down box.
5. Optional: To change the feeder colour settings click the colour settings button. You can double
click the displayed colours in the colour column and select a different colour for each feeder as
desired.
6. Click OK to close the Diagram Colouring dialogue and save your changes.
To Colour According to Connected Grid Components
The Connected Grid Components colouring mode displays all the network components that are elec-
trically connected together in the same colour. Other components are not coloured. To enable this
mode:
1. Click the Diagram Colouring button . The diagram colouring dialog will appear.
2. Select the load-ow tab.
3. Check the 3. Other box and select Topology from the drop down list.
4. Select Connected Grid Components in the second drop down box.
5. Click OK to close the Diagram Colouring dialogue and save your changes.
To Colour According to Switch Type
The Switches: type of usage colouring mode displays all switches in the network with a different colour
depending on their switch type. For instance circuit breakers will be displayed in a different colour to
disconnectors. To enable this mode:
1. Click the Diagram Colouring button . The diagram colouring dialog will appear.
2. Select the tab for the function you want to show the colouring mode for. For example, if you want
the switch type colouring to appear before a calculation, then select the Basic Data tab. If you
want the colouring to appear after a load-ow choose the load-ow tab.
3. Check the 3. Other box and select Secondary Equipment from the drop down list.
4. Select Switches, Type of Usage in the second drop down box.
5. Optional: To change the switch colour settings, click the colour settings button. You can double
click the displayed colours in the colour column and select a different colour for each switch type
as desired.
6. Click OK to close the Diagram Colouring dialogue and save your changes.
30.4.6 Using the Contribution to Reliability Indices Script
It can be useful to analyze the inuence of a particular component or group of components on the
calculated reliability indices. This enables the identication of components that can be targeted for
upgrade to improve reliability, or to examine the impact of improved switch automation for example. This
sub-section describes the built-in DPL script that can be used for these purposes.
To Start the Contribution to Reliability Indices Script
714 DIgSILENT PowerFactory 15, User Manual
30.4. RUNNING THE RELIABILITY ASSESSMENT CALCULATION
1. Execute a Reliability Assessment Calculation (or ensure that you activate a study case where a
reliability analysis has previously been completed).
2. Click the Edit Relevant Objects for Calculation button from the main toolbar. Depending on
whether you want to view the contributions by Feeder, Grids, Areas or Zone, choose one of the
following icons from the list of icons that appears:
For Grids choose the icon.
For Feeders choose the icon.
For Zones choose the icon.
For Areas choose the icon.
3. In the window that appears, select the object/s that you want to show the reliability indices contri-
butions.
4. Right-click one of the selected object icons. A menu will appear.
5. Choose Execute DPL scripts. A window displaying a list of DPL scripts will appear.
6. Select the Contribution to Reliability Indices Script and click OK. The script dialogue box will
appear. The available options are explained in the next section.
How to Congure and Run the Contribution to Reliability Indices Script
1. Enter 1 in the value column for calcSystemIndices parameter to make the script print the system
indices results. 0 suppresses the printing of the system indices.
2. Enter 1 in the value column for calcEnergyIndices parameter to make the script print the Energy
indices results. 0 suppresses the printing of the Energy indices.
3. Enter 1 in the value column for outputComponentClasses to make the script display contribu-
tions from each class such as lines, cable, transformers. 0 suppresses the printing of the class
information.
4. Enter 1 in the value column for outputIndivComponents parameter to make the script print the
results indices for each object in the selected area. 0 suppresses the printing of the individual
indices.
5. Optional: Enter 1 in the outputPercentages column to display the results from the script in
percent format.
6. Optional: Enter a percent threshold in the outputThreshold column to limit the printed results to
those above a specic threshold.
7. Click Execute to run the script. The results are printed to the PowerFactory output window.
DIgSILENT PowerFactory 15, User Manual 715
CHAPTER 30. RELIABILITY ASSESSMENT
716 DIgSILENT PowerFactory 15, User Manual
Chapter 31
Optimal Power Restoration
The optimal power restoration functions can be accessed by activating the Optimal Power Restoration
toolbar using the icon on the toolbar selection control as illustrated in Figure 31.0.1
Figure 31.0.1: Optimal Power Restoration Selection
31.1 Failure Effect Analysis
The simulation of the system response to specic contingencies (ComContingency) is called Failure
Effect Analysis (FEA). The System State Enumeration algorithm uses the FEA engine to analyze the
following steps after a contingency:
Fault Clearance;
Fault Isolation;
Power Restoration;
Overload Alleviation;
Voltage Constraint Alleviation;
Load Transfer;
Load Shedding;
DIgSILENT PowerFactory 15, User Manual 717
CHAPTER 31. OPTIMAL POWER RESTORATION
FEA analysis for the network assessment can consider or ignore constraints. For overload alleviation,
the algorithm uses an AC load ow to search for overloaded branches and if any are identied then it
attempts to resolve them, rstly by load transfer and secondly by load shedding. If constraints are not
considered by the FEA, then a load-ow for each state is not required and consequently the simulation
is much faster.
For every simulated failure, a contingency is created by the FEA algorithm. If the calculation uses load
characteristics, a contingency is created for every combination of failure and load state. Likewise, when
maintenance (planned outages) are considered, there are more states for each outage and contingency
combination.
Fault Clearance
The fault clearance step of the FEA assumes 100% selectivity of the protection. Therefore, it is assumed
that the relays nearest to the failure will clear the fault. If protection/switching failures are considered
in the FEA, it is assumed that the next closest protection device (after the failed device) has 100% se-
lectivity. As described in (Protection/Switch Failures), PowerFactory does not consider separate switch
and protection failures, instead these are lumped together. In the pre-processing phase of the reliability
assessment, all breakers in the system that can be tripped by a relay, or fuse are marked as protection
breakers.
To clear the fault, the FEA starts a topological search from the faulted component/s to identify the closest
protection breaker/s that can clear the fault. These breaker/s are then opened to end the fault clearance
phase of the FEA. If it is not possible to isolate the fault because there are no appropriate protection
breakers, then an error message will be printed and the reliability assessment will end.
Fault Isolation
The next step of the FEA is to attempt to restore power to healthy network sections. It does this by
separating the faulted section from the healthy section by opening sectionalizing switches.
The fault separation procedure uses the same topological search for switches as the fault clearance
phase. The fault separation phase starts a topological search from the faulted components to identify
the closest switches that will isolate the fault. These switches are subsequently opened. Note, all
closed switches can be used to separate the faulted area. The area that is enclosed by the identied
fault separation switches is called the separated area. The separated area is smaller than, or equal to,
the protected area. It will never extend beyond the protected area.
The healthy section which is inside the protected area, but outside of the separated area is called the
restorable area because power can be restored to this area.
Power Restoration
The Power Restoration process of the FEA energizes the healthy areas of the system after the fault
separation process has isolated the faulted area. Note that only open switches that are enabled for use
in power restoration will be considered by PowerFactory as candidate switches for power restoration.
Additionally, PowerFactory uses a smart power restoration procedure that also considers the direction
of the power restoration and the priority (stage) of the switch. The fastest candidate switch is always
selected when there is more than one restoration alternative. Each restorable area that is reconnected
to the supplied network is called a restored area. For more information about the switch conguration
for smart power restoration, see Section 30.3.3.
If switching actions are not possible in order to return loads and terminals in a separated area to service,
then these loads and terminals will remain interrupted for the mean duration of the repair, which is
normally several hours. However, if switching actions are possible to return the loads and terminals
to service, they will only be interrupted for the time needed to open all separators and to close all
power restoration switches. The effects of network upgrades, including improved automation and remote
control of switches (by lowering switch actuation times), can be analyzed.
718 DIgSILENT PowerFactory 15, User Manual
31.1. FAILURE EFFECT ANALYSIS
An Optimal Power Restoration can also be conducted for a single contingency from outside the reliability
calculation through the Optimal Power Restoration command shown in Figure 31.0.1, or by right-clicking
an element and selecting Calculate Optimal Power Restoration.
Overload Alleviation
If the power restoration does not cause any thermal overloads or voltage violations (if applicable), then
the FEA can proceed to calculate the statistics for that state and then analyze the next state. However,
if thermal constraints are enabled, then PowerFactory will complete load-ows to check that all compo-
nents are still within their thermal capability after the power restoration is complete. If necessary, load
transferring, partial or full load shedding might be required to alleviate the thermal over-load. Note load
transferring and partial load shedding are only considered when Transmission is selected in the Relia-
bility command Basic Options. The distribution option considers only discrete switch actions. Therefore,
loads must be fully shed or remain in service.
Voltage Constraint Alleviation (Distribution Option only)
If the Distribution option is selected in Basic Options, voltage constraints for busbars/terminals and
feeders can be considered in addition to thermal constraints. The voltage constraint alleviation process
is similar to the thermal overload alleviation process, where loads will be shed if necessary to maintain
system voltages within the dened limits.
Load Transfer (Transmission Option only)
In some cases, load transfer switches and/or the alternative feeders are not included in the network
model where reliability assessment is completed. In these cases, the automatic power restoration
cannot switch an unsupplied load to an alternative supply. An example is when a (sub-)transmission
network is analyzed and the connected distribution networks are modelled as single lumped loads. In
this scenario, transfer switches that connect two distribution networks will not be visible. Therefore, the
possibility of transferring parts of the lumped load model to other feeders can be modelled by entering
a transfer percentage at each lumped load. This transfer percentage denes the portion of the lumped
load that can be transferred away from the analyzed network, without specifying to which feeder/s the
portion is transferred.
The use of the load transfer percentage (parameter name: Transferable on the load elements Reliability
tab) is only valid when load transfer is not expected to result in an overloading of the feeders which pick
up the transferred loads.
Load transfer is used in the overload alleviation prior to the calculation of power at risk (see the following
section for further information). The power at risk is considered to be zero if all overloads in the post-fault
condition can be alleviated by load transfers alone.
Load Shedding
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 precisely (an innite number of steps).
PowerFactory attempts to nd a solution that alleviates the overload with the lowest amount of load
shed.
PowerFactory uses linear sensitivity indices to rst select those loads with any contribution to overload-
ing. A linear optimization is then started to nd the best shedding option. The resulting minimum amount
of shed load is called the Power Shed, because it equals the minimum amount of load that must be
shed to alleviate overloads after the power restoration. The power shed is multiplied by the duration
DIgSILENT PowerFactory 15, User Manual 719
CHAPTER 31. OPTIMAL POWER RESTORATION
of the system state to get the Energy Shed. The total energy shed for all possible system states is
reported after the reliability assessment is complete, and is referred to as the System Energy Shed
(SES).
Loads are shed automatically based on their allocated priority, with PowerFactory attempting to shed
low priority loads, prior to high priority loads wherever possible. In the transmission reliability option,
loads can be partially or fully shed, whereas in the distribution option, loads can only be fully shed.
Example
Figure 31.1.1 shows a simple network containing four loads, several circuit breakers (CB) and discon-
nectors (DS) and a back-feed switch (BF).
Figure 31.1.1: Short-Circuit on Ln4
Fault clearance
The area isolated by the fault clearance procedure is called the protected area. Figure 31.1.2 shows
the example network after the fault clearance functions have opened the protection breaker CB1. The
protected area is the area containing all switches, lines and loads between CB1 and the back-feed
switch, BF. Therefore, during the clearance of this fault, loads 1, 2, and 3 are interrupted.
Figure 31.1.2: Protected Area
Fault Isolation
Figure 31.1.3 shows the example network with the separation switches, DS2 and DS4 open. The
separated area now only contains the faulted line, Ln4. There are now two restorable areas following
720 DIgSILENT PowerFactory 15, User Manual
31.1. FAILURE EFFECT ANALYSIS
the fault separation; the area which contains load 1, and the area which contains loads 2 and 3.
Figure 31.1.3: Separated Area Highlighted
Power Restoration
After the fault separation phase is complete, the following switch actions are required to restore power
to the two separate restorable areas:
Separation switch DS2 is remote-controlled and has a switching time of 3 minutes.
Power to load 1 is restored by (re)closing the protection breaker, CB1 which is also remote
controlled.
Load 1 is therefore restored in 3 minutes (=0.05 hours).
Power to load 2 and 3 is restored by closing the back-feed switch, BF.
Because the back-feed switch has a actuation time of 30 minutes, loads 2 and 3 are restored in
0.5 hours.
The network is now in the post-fault condition as illustrated in Figure 31.1.4.
Figure 31.1.4: Power Restoration by Back-Feed Switch BF1 and CB1
Overload Alleviation and Load Shedding
DIgSILENT PowerFactory 15, User Manual 721
CHAPTER 31. OPTIMAL POWER RESTORATION
Figure 31.1.5 shows a line overload in the post-fault condition in the example network: line Ln1 is
loaded to 113%.
Figure 31.1.5: Overloaded Post-Fault Condition
In this example, loads 1, 2, 3 and 4 all contribute to the line overload on LN1, and consequently load
would be shed based on load shedding options and priorities set by the user to alleviate the constraint.
31.2 Animated Tracing of Individual Cases
After the Reliability Analysis has completed, it is possible to view the fault clearance, fault separation,
power restoration and load shedding actions completed by the algorithm for each contingency. To do
this:
1. Click the Fault Trace button on the Optimal Power Restoration toolbar. A list of available
contingencies will appear in a new window.
2. Select the contingency to consider and click OK. The network will be initialized to the state before
the inception of the fault.
3. Click the Next Step button to advance to the next system state. This will usually show the
system state immediately after the protection has operated and cleared the fault.
4. Click the Next Step button to advance through more steps, each click advances one time step.
5. To stop the fault trace, click the Stop Trace button.
31.3 Optimal RCS Placement
Following a Backbone Calculation (see Section 35.5), an Optimal Remote Control Switch (RCS) Place-
ment can be performed to optimize placement of remote control switches within a feeder/s. The calcula-
tion optimizes placement of a xed number or optimal number of switches per feeder or backbone, with
an objective function that minimizes Energy Not Supplied (ENS), balances ENS, or minimizes Expected
Interruption Costs (EIC). The Optimal RCS Placement command is a heuristic planning tool, and may
precede a detailed reliability analysis.
To conduct an Optimal RCS Placement, reliability data should be specied on the Reliability page of
line elements (outages of other elements are not considered). See Chapter 30: Reliability Assessment,
Section 30.3 for details.
722 DIgSILENT PowerFactory 15, User Manual
31.3. OPTIMAL RCS PLACEMENT
If the cost of interrupted load is to be considered, a global Energy Tariff must be dened, see Chapter 16,
Section 16.5.2: Dening Energy Tariffs for details.
The Optimal RCS command can be selected under Optimal Power Restoration toolbar, as shown on
Figure 31.0.1 This section describes the Optimal RCS Placement objective function and command
dialogues, and provides an example calculation.
Note: The Optimal RCS calculation requires that feeder is supposed to be operated radially be se-
lected on the Feeder Basic Options page.
31.3.1 Basic Options Page
Calculate optimal RCS
Specify all Feeders or a user-dened set of Feeder/s for the Optimal RCS calculation. To show the
Backbones to be considered by the calculation, select Active Backbones.
Objective Function :
The objective function of the Optimal RCS Placement command can be set to either:
Minimize ENS by installing a specied number of RCS per feeder / backbone to minimize the
Energy Not Supplied.
Balance ENS by installing an optimal or xed number of RCS per feeder / backbone to balance
the Energy Not Supplied. This option may be used in some circumstances to plan the network
in a way that considers connections with many (or large) customers and connections with few (or
small) customers equitably.
Minimize EIC by installing an optimal or xed number of RCS per feeder / backbone to minimize
the Expected Interruption Cost.
If this option is selected, a global Energy Tariff must be dened (see Chapter 16, Sec-
tion 16.5.2: Dening Energy Tariffs).
Number of RCS:
With an objective function to Minimize ENS, specify:
Number of new RCS per feeder / backbone.
With an objective function to Balance ENS or Minimize EIC, select to either Optimize number of
RCS or Fix number of new RCS.
Specify the Number or Maximum number of new RCS per feeder / backbone.
If the objective function is set to Minimize EIC, enter the Yearly costs per RCS in $ per annum.
Recording of results
Select calculate results only to perform a calculation without making an modications to the net-
work.
Select save results in variations to save the results to a Variation. Note that by default the variation
will be inactive after running the Optimal RCS Placement.
Select to change existing network to change the existing network. Note that this changes object
data in the base network.
DIgSILENT PowerFactory 15, User Manual 723
CHAPTER 31. OPTIMAL POWER RESTORATION
31.3.2 Output Page
Results
A reference (pointer) to the result object.
Report
(Optionally) select the format of results printed to the output window. The report provides details of
the recommended remote control switches and their costs, and depending on the selected objective
function, energy not supplied or interruption costs results.
31.3.3 Advanced Options Page
Determine optimal RCS
Select to either determine optimal RCS per feeder or per backbone. Note that the calculation is con-
ducted once for each feeder in the feeder selection from the Basic Options page.
Optimization of RCS of feeders
Select to either optimize RCS for all backbones, or only for backbones up to a specied order (in which
case, dene the maximum order). Note that if more than one backbone has been created for a feeder,
the main backbone will have order 1", the second best" candidate has order 2", and so on.
Consider existing RCS on participating backbones:
Optionally select to consider existing RCS on participating backbones. If not selected, the RCS Place-
ment will be performed from scratch", without considering existing RCSs.
Detailed output of results:
Optionally select detailed output mode to output additional details by Section", such as ENS, FOR, and
EIC (depending on the optimization option selected).
Switching Time:
Set the Time to actuate RCS and Time to actuate manual switches (applied for all switches). These
parameters are used by the calculation to determine ENS and EIC.
Load ow calculation
Pointer to load-ow command (note for balanced calculations only).
31.3.4 Example Optimal RCS Calculation
Consider the simple example shown in Figure 31.3.1 where two feeders with three loads each are
separated via three open points. Line outage rates and load parameters have been dened. To illustrate
line Forced Outage Rates, fromthe main menu select View DiagramColouring (or select the Diagram
Colouring icon). Under 3. Other select Primary Equipment Forced Outage Rate. In the example,
there is a requirement to install a single Remote Control Switch (RCS) on each feeder to minimize the
ENS.
724 DIgSILENT PowerFactory 15, User Manual
31.4. OPTIMAL MANUAL RESTORATION
Figure 31.3.1: Example Optimal RCS Model
To calculate the optimal location(s) for remote controlled switches, a Backbone Calculation for all feeders
based on network structure is rst executed (see Section 35.5 for details of how to run the Backbone
Calculation).
Next, an Optimal RCS calculation is executed for all feeders, with an objective function to Minimize ENS,
limited to 1 RCS per backbone. Note that the calculation will run twice in this example (once for each
feeder), and so two RCSs will be recommended.
The calculation simulates outages of each line, and calculates the ENS for placement of RCSs at each
location. In order to mitigate the impact of outages (in particular, from the problem line" Line(1)) the
calculation recommends installation of remote control switches at locations Switch2" and Switch5" to
minimize the ENS.
31.4 Optimal Manual Restoration
The Optimal Manual Restoration (OMR) command (ComOmr ) can be found under the Optimal Power
Restoration toolbar (click on the Change Toolbox icon ( ) of the main toolbar). The OMR command
dialogue is shown by clicking on the Optimal Manual Restoration icon ( ). The OMR calculation
determines the optimal sequence for operating manual switches when searching for location of a fault
in a distribution network. This tool is intended for distribution networks with a radial feeder topology
which may contain remote control switches (RCS). The Optimal Manual Restoration tool denes the
locations of manual switches which are to be opened/closed and the corresponding sequential order
that a service team should open/close these switches in order to restore power safely to the greatest
number of consumers in the shortest possible time. The sequential order is dened by OMR levels:
level 1 corresponds to the rst step in the OMR process, level 2 corresponds to the second step and
nally level 3 to the last one.
In this section the term switch refers to a coupler element ElmCoup or a switch element StaSwitch. The
concept of feeder pockets is used in the calculation. A pocket represents an enclosed area of the radial
DIgSILENT PowerFactory 15, User Manual 725
CHAPTER 31. OPTIMAL POWER RESTORATION
network delimited by a remote control switch, open manual switches or a calculated OMR terminal. The
OMR calculation determines one OMR terminal per level for each pocket. All manually closed switches
connected to the OMR terminal are considered to have the same OMR level equivalent to the level for
which the OMR terminal has been assigned. Up to three OMR levels can be calculated i.e. Level 1,
Level 2 and Level 3. Level 1 pockets are areas enclosed by remote control switches and open manual
switches. Level II pockets are areas enclosed by remote control switches, open manual switches and
OMR level I switches. Similarly, Level 3 pockets are areas enclosed by remote control switches, open
manual switches and OMR switches of level 1 and 2.
31.4.1 OMR Calculation Prerequisites
The following network conguration conditions are required by the Optimal Manual Restoration calcula-
tion:
A balanced Load Flow calculation must be available.
The network must contain at least one dened feeder element ElmFeeder.
Only radial networks will be processed. The option Feeder is supposed to be operated radially"
available in the feeders Basic Data page must be selected for the relevant feeders.
It is recommended that a Backbone calculation is rst performed (see Section 35.5).
There must be at least one remote control switch in the network.
It is recommended to build the network using terminals or secondary substation layouts (ElmTrfs-
tat ).
31.4.2 Basic Options Page
The Basic Options page of the OMR calculation tool is shown in Figure 31.4.1.
726 DIgSILENT PowerFactory 15, User Manual
31.4. OPTIMAL MANUAL RESTORATION
Figure 31.4.1: Basic Options Page of the OMR Calculation Tool
Determine OMR for
In this eld the user must specify either All Feeders or Selected Feeders. If Selected Feeders option is
chosen then a user-dened set (SetSelect ) of feeders can be dened for the OMR calculation.
Max. Number of OMR Levels
The maximum number of OMR levels can be set in this eld with values between 1 and 3. All OMR
levels higher than this setting will not be calculated.
Min. Power in Pocket
The minimum consumption (sum of all load elements within a pocket) below which a delimited area will
not be considered as a pocket for the purposes of the calculation. This value applies to all OMR levels.
Backbone Order (Max.)
If a number of network backbones exist (e.g. following a Backbone calculation), the Backbone Order
(Max.) option denes the number of backbones to be considered for calculation (ordered according to
parameter e:cBbOrder of the backbone element ElmBbone). The elements contained within a back-
bones of an order higher than this value will be considered as part of a non-backbone branch.
Show BackBones button
The button Show BackBones provides access to the calculation relevant backbones. The Backbone
Order (Max.) option must be higher or equal than 1 in order to for at least one calculation relevant
backbone to be shown.
Show Output
The Show Output checkbox enables the display of a calculation report in the Output Window.
31.4.3 Advanced Options Page
The Advanced Options page of the OMR calculation tool is shown in Figure 31.4.2.
DIgSILENT PowerFactory 15, User Manual 727
CHAPTER 31. OPTIMAL POWER RESTORATION
Figure 31.4.2: Advanced Options Page of the OMR Calculation Tool
Penalty Factor
Penalty factors for switches depend on branch type and the level for which the OMR is being calculated.
Two settings are available for introducing penalty factors: Branches end at Manual Switch (default value:
20%) and Non-Backbone Branches (Level 1) (default value: 25%). The default values are are referred
to below to illustrate their practical usage. Penalty factors are used differently depending on the OMR
level being calculated:
OMR level 1:
Switches located in backbone branches which end only with an RCS - no penalty is applied,
weighting factor is 1.0.
Switches located in backbone branches which end only with a manual switch - 20% penalty
factor is applied, weighting factor is 0.8.
Switches located in non-backbone branches which end only with an RCS - 25%penalty factor
is applied, weighting factor is 0.75.
Switches located in non-backbone branches which end only with an open manual switch -
20% and 25% penalty factors are applied resulting to a weighting factor of 0.6.
Switches located in non-backbone branches which end with an open RCS and an open
manual switch - 25% penalty factor is applied, weighting factor is 0.75.
OMR level 2 and 3:
Switches located in backbone branches which end with an open RCS - No penalty is applied,
weighting factor is 1.0.
Switches located in backbone branches which end with an open manual switch - 20% penalty
factor is applied, weighting factor is 0.8.
Switches located in non-backbone branches which end with an open RCS - no penalty is
applied, weighting factor is 1.0.
728 DIgSILENT PowerFactory 15, User Manual
31.4. OPTIMAL MANUAL RESTORATION
Switches located in non-backbone branches which end with an open RCS and an open
manual switch - no penalty is applied, weighting factor is 1.0.
Switches located in non-backbone branches which end with an open manual switch - 20%
penalty factor is applied, weighting factor is 0.8.
The term network branches is used for applying penalty factors. Branches are network paths starting
from the feeders starting terminal and ending at a nal downstream element (a radial topology is always
assumed). For this purpose, branches are categorised according to the following criteria:
Branches that end with an open manual switch that cannot be activated (parameter
e:iResDir of the switch element is set to Do not use for power restoration"): Inaccessible (geo-
graphical limitation, old technology etc...). These branches are not used in the OMR calculation.
Branches that end with an open manual switch that can be activated. For these branches the
manual restoration from the same feeder applies.
Branches that end with a load element (does not lead to an open switch). These branches are not
used in the OMR calculation.
Branches that end with an open remote control switch that cannot be activated. These types of
branches are not considered to lead to an open manual switch.
Branches that end with an open remote control switch that can be activated. For these branches
the remote control restoration from same feeder applies.
Branches that end (within selected backbones) with an open remote control switch that can be
activated. These branches are considered as a tie open point restoration from another feeder.
Load Flow
A link to the Load Flow calculation settings is available by clicking on the blue arrow pointing to the right
of the Load Flow eld. The balanced Load Flow calculation type is automatically chosen (Unbalanced
and DC Load Flow options are not supported).
31.4.4 Denition of the objective function
The scope of the OMR calculation is to minimize the following objective function:

x
= |P
x
upReg
F
x
upReg
P
x
downReg
F
x
downReg
| (31.1)
The members of the above objective function are dened based on the following equalities:
P
x
upReg
= P
x
up
P
startReg
up

P
upNStart
down
(31.2)
F
x
upReg
= F
x
up
F
startReg
up

F
upNStart
down
(31.3)
P
x
downReg
= P
x
down

P
downNStart
down
(31.4)
F
x
downReg
= F
x
down

F
downNStart
down
(31.5)
(31.6)
where:
x is the terminal of the calculated pocket,
P
x
upReg
is the upstream active power at terminal x with reference to the corresponding pocket,
P
x
downReg
is the downstream active power at terminal x with reference to the corresponding pocket,
DIgSILENT PowerFactory 15, User Manual 729
CHAPTER 31. OPTIMAL POWER RESTORATION
F
x
upReg
is the upstream forced outage rate (FOR) at terminal x with reference to the corresponding
pocket,
F
x
downReg
is the downstream forced outage rate (FOR) at terminal x with reference to the corre-
sponding pocket,
P
x
up
is the upstream active power at terminal x with reference to corresponding feeder,
P
startReg
up
is the upstreamactive power at the corresponding pocket starting element with reference
to feeder,
P
upNStart
down
is the downstream active power of neighbouring pockets (upstream with respect to
terminal x) starting element with reference to feeder,
F
x
up
is the upstream FOR at terminal x with reference to corresponding feeder,
F
startReg
up
is the upstream FOR at corresponding pockets starting element with reference to feeder,
F
upNStart
down
is the downstream FOR of neighbour pockets (upstream with respect to terminal x)
starting element with reference to feeder,
P
x
down
is the downstream active power at terminal x with reference to corresponding feeder,
P
downNStart
down
is the downstream active power of neighbour pockets (downstream with respect to
terminal x) starting element with reference to feeder,
F
x
down
is the downstream FOR at terminal x with reference to corresponding feeder and
F
downNStart
down
is the downstream FOR of neighbour pockets (downstream with respect to terminal
x) starting element with reference to feeder.
A manual switch is considered as being an OMR switch of a certain level if its associated terminal
x
objective function is minimum compared with the objective functions of the other terminals within the
calculated pocket.
31.4.5 Example of an Optimal Manual Restoration Calculation
An example of the use of the Optimal Manual Restoration tool is shown here. Consider the MV distribu-
tion network (20 kV) as displayed in Figure 31.4.3. Five feeders are dened, one main feeder (Feeder
A) supplies power in normal operation to the displayed network. Feeder A is radially operated and con-
taining a number of normally opened switches. Several remotely controlled switches are also dened
and their associated substation is marked with a green circle.
730 DIgSILENT PowerFactory 15, User Manual
31.4. OPTIMAL MANUAL RESTORATION
Figure 31.4.3: Generic MV Distribution Network
A substation layout similar to the one shown in Figure 31.4.4 is used for all substations.
Figure 31.4.4: Generic Substation Single Line Diagram
A backbone calculation (ComBbone) for Feeder A is performed on this network based on path load (see
Section 35.5 for details of how to run the Backbone Calculation), thus obtaining four backbones (from
main Feeder A to the other four) as shown in Figure 31.4.5.
DIgSILENT PowerFactory 15, User Manual 731
CHAPTER 31. OPTIMAL POWER RESTORATION
Figure 31.4.5: Backbone Search Calculation for the Given MV Network
Using the backbone information an OMR calculation may be performed with reference to main Feeder A.
The OMR calculation automatically updates the single line diagram with specic colors for the different
OMR levels for each switch and associated substation as in Figure 31.4.6.
Figure 31.4.6: OMR Calculation Results Shown in the Single Line Diagram using Different Colors
If the Show Output checkbox is enabled in the Basic Data page of the OMR command dialogue then a
list of all the switches and their associated OMR level will be printed to the Output Window.
732 DIgSILENT PowerFactory 15, User Manual
Chapter 32
Generation Adequacy Analysis
32.1 Introduction
The ability of the power system to be able to supply system load under all possible load conditions is
known as System Adequacy. Specically this relates to the ability of the generation to meet the system
demand while also considering typical system constraints such as:
Generation unavailability due to fault or maintenance requirements;
Variation in system load on an monthly, hourly and minute by minute basis;
Variations in renewable output (notably wind generation output), which in turn affects the available
generation capacity.
The PowerFactory Generation Adequacy Tool is designed specically for testing of System Adequacy.
Using this tool, it is possible to determine the contribution of wind generation to overall system capacity
and to determine the probability of Loss of Load (LOLP) and the Expected Demand Not Supplied
(EDNS).
Note: The Generation Adequacy Assessment is completed using the Monte Carlo Method (probabilis-
tic)
32.2 Technical Background
The analytical assessment of Generation Adequacy requires that each generator in the system is as-
signed a number of probabilistic states which determine the likelihood of a generator operating at vari-
ous output levels. Likewise, each of the system loads can be assigned a time based characteristic that
determines the actual system load level for any point of time. A simplied general illustration of the
Generation Adequacy assessment is shown in Figure 32.2.1.
In such a small example, it is possible to determine the Generation Adequacy analytically in a relatively
short time. However, as the number of generators, generator states, loads and load states increases,
the degrees of freedom for the analysis rapidly expands so that it becomes impossible to solve in a
reasonable amount of time. Such a problem is ideally suited to Monte Carlo simulation.
DIgSILENT PowerFactory 15, User Manual 733
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Figure 32.2.1: Generation Adequacy Assessment Illustration
Monte Carlo Method
In the Monte Carlo method, a sampling simulation is performed. Using uniform random number se-
quences, a random system state is generated. This system state consists of random generating op-
erating states and of random time points. The generating operating states will have a corresponding
generation power output, whereas the time points will have a corresponding power demand. The value
of Demand Not Supplied (DNS) is then calculated for such state. This process is done for a specic
number of draws (iterations). At the end of the simulation, the values of the Loss of Load Probabil-
ity (LOLP), Loss of Load Expectancy (LOLE), Expected Demand Not Supplied (EDNS), and Loss of
Energy Expectancy (LOEE) indices are calculated as average values from all the iterations performed.
Pseudo Random Number Generator
A Monte Carlo simulation relies on the generation of random numbers of high" quality. As all computers
run deterministic code to generate random numbers, a software random number generator is known as
a pseudo random number generator (PRNG). There are various PRNGs available, some of which do not
display appropriate statistical qualities for use in Monte Carlo simulations, where very long sequences
of independent random numbers are required. PowerFactory uses an implementation of the RANROT
PRNG. This generator displays excellent statistical qualities suitable for Monte Carlo simulations and is
also relatively fast.
Example
To illustrate the process of a Monte Carlo simulation, an example is now presented using Figure 32.2.1
734 DIgSILENT PowerFactory 15, User Manual
32.2. TECHNICAL BACKGROUND
as the example network.
For each iteration, the operating state for each generator is randomly selected by generating a uniform
random number. For each of these states, the corresponding power output of the generator is calcu-
lated. The total generation power of the system is calculated by summing all the generator outputs.
For the same iteration, a time point in the system is randomly selected. For this time point, the power
demand of each load is obtained. The total demand of the system is calculated by summing all the load
demands. It is then possible to obtain the Demand Not Supplied (DNS) value for this iteration, where
DNS is dened as shown in Equation (32.1).
DNS =

Demand

Generation (32.1)
For example, in the rst iteration, the generator states might be G1: 100%, G2: 100%, and G3: 75%.
The corresponding outputs would be then G1: 100 MW, G2: 60 MW, and G3: 60 MW. The total gen-
eration output is the sum of all the three generator outputs; 220 MW. Also, a random time point yields
Load A: 85 MW, Load B: 60 MW and Load C: 30 MW. The total system demand is the sum of all the
load demands; 175 MW. Since the generation is greater than the demand, all the demand is supplied
and the value of DNS is zero.
In a second iteration, the generator states might be G1: 0%, G2: 75%, and G3: 75%. The corresponding
outputs would be then G1: 0 MW, G2: 45 MW, and G3: 60 MW. The total generation output is now 105
MW. A second random time point yields say Load A: 60 MW, Load B: 50 MW, and Load C: 20 MW. The
total system demand is now 130 MW. In this case, the generation is smaller than the demand, so there
is demand that cannot be supplied. The demand not supplied is dened as the difference between
demand and generation - 25 MW in this iteration.
Continuing the analysis for a few subsequent iterations yields the results shown in Table 32.2.1:
Draw G1 G2 G3 G Load A Load B Load C D DNS max(0, DNS
MW MW MW MW MW MW MW MW D - G) > 0
1 100 60 60 220 85 60 30 175 0 No
2 0 45 60 105 60 50 20 130 25 Yes
3 80 0 90 170 110 35 10 155 0 No
4 100 60 60 220 40 50 15 105 0 No
5 80 45 90 215 60 40 20 120 0 No
6 80 60 0 140 90 50 5 145 5 Yes
Total 30 2
Table 32.2.1: Example Monte Carlo Analysis
Iteration six yields a second case where demand is not supplied.
Once the analysis has continued in this way (usually for several tens of thousands of iterations) vari-
ous indices of system adequacy can be calculated. The indices Loss of Load Probability (LOLP) and
Expected Demand Not Supplied (EDNS) are the critical measures. They are calculated as follows:
LOLP =
N
DNS
N
100% (32.2)
EDNS =

DNS
N
(32.3)
DIgSILENT PowerFactory 15, User Manual 735
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
where N
DNS
is the number of iterations where DNS > 0 and N is the total number of iterations.
Therefore, for the above example the indices are calculated as follows:
LOLP =
2
6
100 = 33, 33% (32.4)
EDNS =
30
6
= 5MW (32.5)
32.3 Database Objects and Models
There are several database objects in PowerFactory specically related to the Generation Adequacy
Analysis, such as:
Stochastic Model for Generation Object (StoGen);
Power Curve Type (TypPowercurve); and
Meteorological Station.
This section provides information about each of these objects.
32.3.1 Stochastic Model for Generation Object (StoGen)
This object is used for dening the availability states of a generator, an example of which is shown in
Figure 32.3.1. An unlimited number of states is possible with each state divided into:
Availability of Generation (in %)
Probability of Occurrence (in %)
This means that for each state, the total available generation capacity in % of maximum output must be
specied along with the probability that this availability occurs. Note that probability column is automat-
ically constrained, so that the sum of the probability of all states must equal 100 %.
Figure 32.3.1: Stochastic Model for Generation Dialogue Box
The Stochastic model for generation object should reside within the project library, Equipment Type
Library.
736 DIgSILENT PowerFactory 15, User Manual
32.3. DATABASE OBJECTS AND MODELS
Note that the generator maximumoutput is calculated as S
nom
cos where S
nom
is the nominal apparent
power and cos is the nominal power factor.
32.3.2 Power Curve Type (TypPowercurve)
This object is used to specify the wind speed (in m/s) vs nominal power output (p.u or MW) for wind
turbine generators. The dialogue for the curve is shown in Figure 32.3.2.
Figure 32.3.2: Power Curve Type (TypPowercurve)
For wind-speed values between specied curve values, PowerFactory interpolates using the method
specied in the Approximation drop down menu. Interpolation options include:
constant
linear
polynomial
spline and
hermite.
To change the Power unit, go to the conguration tab and choose either p.u or MW by selecting the
appropriate radio button.
32.3.3 Meteorological Station (ElmMeteostat)
It is often the case that groups of wind generators have a wind speed characteristic that is correlated.
PowerFactory can represent such a correlation through the Meteo Station Object. This object is a
grouping element and is located within the project Network Data as shown in Figure 32.3.3.
DIgSILENT PowerFactory 15, User Manual 737
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Figure 32.3.3: Project Data Structure showing the location of the Meteo Station Object
Note that when two wind generators are correlated as members of the same Meteo Station, they may
still have different average wind speeds dened within their Generation Adequacy dialogue. During the
Monte Carlo Analysis, a random wind speed is drawn for each Meteo Station. This wind speed is then
applied to every wind generator in that Meteo Station using the Weibull Stochastic Model. Thus, the
power is calculated according to the individual power curve of the generator.
When the generator is using time characteristics as a wind model, then the correlation is given by the
Monte Carlo drawn time, which is the same for all the generators of the system.
Meteorological stations can be dened either via the element that is to be part of the meteorological
station (from any of the generator elements described in Section 32.4), or via the single line diagram by
right-clicking on an appropriate element and selecting Dene

E Meteo Station (or Add to

E Meteo
Station) from the context-sensitive menu. Note that the ability to dene a Meteo Station is dependent
upon whether at least one of the member generators has the options Generator and Wind Generator
selected on its Basic Data page. If these options are not selected, the context menu entry is not visible.
Note: A graphical colouring mode exists for Meteorological Stations, so that they can be visualized in
the single line graphic.
32.4 Assignment of Stochastic Model for Generation Object
For the Generation Adequacy Analysis, there is a distinction between Dispatchable (Conventional) Gen-
eration and Non-dispatchable Generation. Dispatchable generation refers to generation that can be
controlled at a xed output automatically, typically by varying the rate of fuel consumption. This includes
generation technologies such as gas thermal, coal thermal, nuclear thermal and hydro.
Non-dispatchable generation refers to generation that cannot be automatically controlled because the
output depends on some non controllable environmental condition such as solar radiation or the wind
speed. Wind turbine and solar photovoltaic generators are examples of such environmentally dependent
generation technologies.
32.4.1 Denition of a Stochastic Multi-State Model
For both Dispatchable and Non-dispatchable generation it is possible to assign a Stochastic Multi-State
model to dene the availability of each unit. The availability is dened in a number of States each with
a certain probability as described in Section 32.3.1.
738 DIgSILENT PowerFactory 15, User Manual
32.4. ASSIGNMENT OF STOCHASTIC MODEL FOR GENERATION OBJECT
Synchronous machine (ElmSym);
Static generator (ElmGenstat ) set as Fuel Cell, HVDC Terminal, Reactive Power Compensation,
Storage, or other Static Generator ;
Asynchronous machine (ElmAsm); and
Doubly-fed asynchronous machine (ElmAsmsc)
In all cases, the stochastic model object is assigned on the elements Generation Adequacy page,
under Stochastic Multi-State Model. This is illustrated in Figure 32.4.1.
Figure 32.4.1: Generation Adequacy tab with a Stochastic Model for generation selected
Also, to consider the generation as dispatchable, the Wind Generation option in the Basic Data tab page
of the synchronous, asynchronous, and doubly fed machine should be disabled.
Denition of a Stochastic Model for Non-Dispatchable (Wind and Renewable) Generation
As for the dispatchable generation, the following 3-phase models are capable of utilising the stochastic
model for generation object, provided they are dened as generators and not as motors:
Synchronous machine (ElmSym) set as Wind Generator ;
Static generator (ElmGenstat ) set as Wind Generator, Photovoltaic or Other Renewable
Asynchronous machine (ElmAsm) set as Wind Generator ; and
Doubly-fed asynchronous machine (ElmAsmsc) set as Wind Generator
In all cases, the stochastic model object is assigned on the elements Generation Adequacy tab page,
under Stochastic Multi-State Model, as illustrated in Figure 32.4.1.
Objects not considered in Generation Adequacy Analysis External Grids (ElmXnet ), voltage
and current sources (ElmVac, ElmIac) are ignored in the Generation Adequacy analysis.
DIgSILENT PowerFactory 15, User Manual 739
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
32.4.2 Stochastic Wind Model
In addition to the stochastic multi-state model for generation described above, a stochastic wind model
may be dened on the elements Generation Adequacy page (provided that the type of generation is a
wind generator). To enable this, navigate to the Generation Adequacy tab and check the option Wind
Model. The page will appear as shown in Figure 32.4.2.
Figure 32.4.2: Stochastic Wind Model Denition
When the Stochastic Wind Model is selected, the wind generation characteristic is described using the
Weibull Distribution. The mean wind speed, and shape factor (Beta) of the distribution can be adjusted
to achieve the desired wind characteristic for each wind generator.
In addition to describing the Weibull distribution using Mean Wind Speed and Beta, the following alter-
nate methods of data input can be used:
Mean Wind Speed and Variance;
Lambda and Variance;
Lambda and Beta.
The input method can be changed by using the input selection arrow and choosing the desired
method from the input window that appears.
32.4.3 Time Series Characteristic for Wind Generation
If detailed data of wind generation output over time or wind speed over time is available, then this can
be used instead of a Stochastic Model. The data can be read by PowerFactory as either a ChaVec
characteristic or from an external le using the ChaVecFile characteristic. In both cases the information
required is one year of data in hourly intervals - although non integer values can also be specied in the
referenced data.
740 DIgSILENT PowerFactory 15, User Manual
32.4. ASSIGNMENT OF STOCHASTIC MODEL FOR GENERATION OBJECT
If the option Time Series Characteristics of Wind Speed is selected, then the actual wind generator
power output for each iteration is calculated automatically from the Wind Power Curve. If the option,
Time Series Characteristic of Active Power Contribution is selected then no power curve is required.
Data for multiple years can also be used by referencing an additional characteristic for each year. The
Generation Adequacy algorithm then selects a random wind speed or power value from one of the input
data years - essentially there is more data for the random Monte Carlo iteration to select from.
A screenshot showing a wind generator model with three years of data is shown in Figure 32.4.3.
Figure 32.4.3: Wind Model using Wind Output Data
Other Renewable Generation
Static Generators (ElmGenstat ) of category Photovoltaic or Other Renewable cannot have a Stochastic
wind model denition. However, they may still have a Stochastic Multi-State model. Their output is
added to the aggregated non-dispatchable generation as described later in this chapter.
Consideration of Parallel Machines
The Generation Adequacy analysis automatically considers parallel machines dened in the basic data
of the generator object using the variable (ngnum), as shown in Figure 32.4.4. Each of the parallel
machines is treated independently. For example, a random operational state is generated for each of
the parallel machines. Effectively this is the same as if n machines were modelled separately.
DIgSILENT PowerFactory 15, User Manual 741
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Figure 32.4.4: Synchronous machine element with the parameter ngnum (number of parallel machines
highlighted).
32.4.4 Demand denition
Unless a time characteristic is assigned to either the Active Power (plini) or Scale factor (scale0) vari-
ables (highlighted in Figure 32.4.5) of the load element, then the load is treated as xed demand. This
means that the demand value does not change during the entire analysis. Both General Loads (ElmLod)
and LV Loads (ElmLodlv) are considered for the analysis.
Figure 32.4.5: ElmLod object dialogue showing the variables that can have applied time Characteristics
effecting the Generation Adequacy analysis.
742 DIgSILENT PowerFactory 15, User Manual
32.4. ASSIGNMENT OF STOCHASTIC MODEL FOR GENERATION OBJECT
More information about assigning time based characteristics to object variables can be found in Chap-
ter 16: Parameter Characteristics, Load States, and Tariffs.
32.4.5 Generation Adequacy Analysis Toolbar
The selection of the Generation Adequacy toolbar is shown in Figure 32.4.6.
Figure 32.4.6: Generation Adequacy Toolbar selection
Once selected, the available buttons are shown in Figure 32.4.7.
Figure 32.4.7: Generation Adequacy Analysis Toolbar
32.4.6 Generation Adequacy Initialisation Command
(ComGenrelinc)
Before a Generation Adequacy Analysis can be completed, the simulation must be initialised. The
Initialisation dialogue box with the Basic Options tab selected is shown in Figure 32.4.8. The available
options are explained in this section.
DIgSILENT PowerFactory 15, User Manual 743
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Figure 32.4.8: Generation Adequacy Initialisation Command
Network
System Losses; Here a xed percentage of losses can be entered. This value is subtracted from
the total generation at each iteration.
Load Flow Command; This is a reference to the load-ow command that will be used to obtain the
network topology for the analysis. It must be set to AC load-ow balanced, positive sequence or
DC load-ow. A converging load-ow is a requirement for the Generation Adequacy analysis.
Demand Consideration
Fixed Demand Level; If this option is selected, all load time characteristics are ignored and the
total demand is calculated at the initial iteration and used for all subsequent iterations.
Consider Time Characteristics; If this option is selected, any time characteristics assigned to loads
will be automatically considered in the calculation. Therefore, the total demand can vary at each
iteration.
744 DIgSILENT PowerFactory 15, User Manual
32.4. ASSIGNMENT OF STOCHASTIC MODEL FOR GENERATION OBJECT
Consider Maintenance Plans
If this option is enabled then any maintenance plans (out of service or derating) in the project will be
automatically considered. Consequently, when an iteration draws a time that falls within a planned
outage or derating, the outage (or derating) is applied to the target element resulting in a reduction in
available generation capacity.
To dene a maintenance plan, right-click the target object from the single line graphic or from the data
manager and select the option Dene... Planned Outage For more information on Planned Outages
refer to Chapter 12: Project Library, Section 12.3.5 (Planned Outages).
Consider Maintenance Plans
Year of Study; The period considered for the Generation Adequacy analysis is always one year.
However, it is possible for load characteristics to contain information for many years. Therefore,
the year considered by the calculation must be selected. Note that this variable does not inuence
the wind speed or wind power data if the wind model for the generator references time series data
as described in Section 32.4.3 (Time Series Characteristic for Wind Generation). If more than one
years data is available, this simply increases the pool of available data for the analysis.
Months, Days; These checkboxes allow the user to select the time period that will be considered
for the analysis. For instance, if only January is selected then the iteration time will be constrained
to within this month.
Time Intervals
The user can specify up to three time intervals for the time window in which the analysis will be com-
pleted. The time interval starts at the From hour (0 minutes, 0 seconds), and ends at the To hour (0
minutes, 0 seconds) inclusive.
Output options
The output window of the Generation Adequacy Initialisation Command is shown in Figure 32.4.9.
Figure 32.4.9: Output options for the Generation Adequacy Initialisation
Create Plots; If this option is checked, then PowerFactory will automatically create output plots af-
ter the simulation nishes. See Section 32.5 for details of the plots that are automatically created.
Note this will generate a new set of plots for each run of the analysis. So, if you wish for an existing
set of plots to be updated, then leave this option unchecked.
Draws; If this option is checked, then the user can specify a location for the results of the simulation
to be permanently stored within the database. This is the result of each iteration. If this option is
unchecked, then the results are deleted after each simulation run.
DIgSILENT PowerFactory 15, User Manual 745
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Distribution; Here the user can select the storage location for the distribution probabilities for the
entire analysis. This information is always retained in the database.
Advanced Options
The Advanced Options screen is shown in Figure 32.4.10. Here the user can change the option for the
generation of random numbers from auto to renew. If the renew option is selected, then the simulation
can use one of a number of pre-dened random seeds (A-K). As the software pseudo-random number
generator is deterministic, this allows for the exact sequence of random numbers to be repeated.
Figure 32.4.10: Initialisation Command Advanced Options
32.4.7 Run Generation Adequacy Command (ComGenrel)
The Run Generation Adequacy Analysis Command appears in two styles depending on the status of the
calculation. If the calculation is being run for the rst time, then it appears as shown in Figure 32.4.11.
On the other hand, if some iterations are already complete, then the calculation can be continued and
the dialogue appears as shown in Figure 32.4.12.
Figure 32.4.11: Run Generation Adequacy Command Dialogue (new simulation)
Figure 32.4.12: Run Generation Adequacy Command Dialogue (post simulation)
Pressing Execute will run the Generation Adequacy Analysis. The button can be used to interrupt
746 DIgSILENT PowerFactory 15, User Manual
32.5. GENERATION ADEQUACY RESULTS
the analysis before the set number of iterations is complete, if desired. Later, the simulation can be
resumed from the stop point using the Run Generation Adequacy Analysis Command.
Max Number of Iterations
This species the number of iterations to be completed by the Monte Carlo Analysis. The default setting
is 100,000.
Additional Iterations
After one analysis is completed, the Generation Adequacy Analysis can be extended for a number of
Additional Iterations. Especially in very large systems, it may be useful to run the rst simulation with
a smaller number of initial iterations, say 20,000 and then run additional iterations as necessary using
this option.
Generation Adequacy
This reference provides a link to the Generation Adequacy Initialisation Command, so that the calcula-
tion settings can be easily inspected.
32.5 Generation Adequacy Results
Result plots for the Generation Adequacy Analysis are automatically generated if the Create Plots option
is enabled in Initialisation Command output options. Alternatively, the plots can be manually created
using the toolbar plot icons
32.5.1 Draws (Iterations) Plots
This button ( ) draws by default four gures as shown in Figure 32.5.1. Each of the data points on the
plots represents a single Monte Carlo simulation.
DIgSILENT PowerFactory 15, User Manual 747
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Figure 32.5.1: Draws (Iterations) Plots
Figure A displays the following:
Total Available Capacity in MW;
Available Dispatchable Generation in MW;
Total Demand in MW;
Figure B displays the following:
Available Non-dispatchable capacity in MW;
Figure C displays the following::
Total Reserve Generation Capacity in MW;
Figure D displays the following::
Total Demand in MW;
Residual Demand in MW;
32.5.2 Distribution (Cumulative Probability) Plots
This button ( ) draws a distribution plot which is essentially the data from Draws plots sorted in
descending order. The data then becomes a cumulative probability distribution. An example is shown
748 DIgSILENT PowerFactory 15, User Manual
32.5. GENERATION ADEQUACY RESULTS
in Figure 32.5.2.
Figure 32.5.2: Distribution (Cumulative Probability) Plots
Obtaining the LOLP from the Distribution Plots
The LOLP index can be obtained by inspection directly from the Distribution Plots if the demand is
constant. The LOLP can be read directly from the intersection of the Total Generation curve and the
Total Demand curve as demonstrated in Figure 32.5.3.
When the demand is variable, then the LOLP index cannot be inferred from the above diagram. Fig-
ure 32.5.4 shows such a case. There is no intersection point even though the calculated LOLP index in
this case is 20 %. In such cases, the LOLP index must be inferred from the distribution plot of the Total
Reserve Generation. As shown in Figure 32.5.5, the intersection of this curve with the x-axis gives the
LOLP index.
DIgSILENT PowerFactory 15, User Manual 749
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Figure 32.5.3: Inferring the LOLP index directly from the intersection of the Total Generation and Total
Demand
Figure 32.5.4: Variable Demand - distribution of Total Generation and Total Demand
750 DIgSILENT PowerFactory 15, User Manual
32.5. GENERATION ADEQUACY RESULTS
Figure 32.5.5: Total Reserve Generation
32.5.3 Convergence Plots
This button ( ) creates the so-called convergence plots for the LOLP and EDNS. As the number of
iterations becomes large the LOLP index will converge towards its nal value, likewise for the EDNS.
The convergence plots are a way of visualising this process. An example convergence plot is shown in
Figure 32.5.6.
DIgSILENT PowerFactory 15, User Manual 751
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
Figure 32.5.6: Example Convergence Plot
Note: By default, the convergence plot is zoomed to the plot extent and due to the number of iterations
it may be difcult to observe the upper and lower condence limits. It is suggested that the Zoom
Y-axis and Zoom X-axis buttons are used to observe the condence limits in greater detail.
On both plots, the upper and lower condence intervals are also drawn. The sample variance is calcu-
lated as follows:

2
=
1
n 1

n

i=1
(y
i
y)
2
(32.6)
where n is the number of samples,y
i
is the sample and y is the sample mean. The 90 % condence
interval is calculated according to the following formula:
CL = y

n
z (32.7)
where z is the standard inverse probability for the Students t distribution with a condence interval of
90 %. Note z tends to 1.645 (inverse normal) as the number of iterations becomes large.
752 DIgSILENT PowerFactory 15, User Manual
32.5. GENERATION ADEQUACY RESULTS
32.5.4 Summary of variables calculated during the Generation Adequacy Anal-
ysis
Name Internal Name Description
Available Dis-
patchable
Capacity
c:AvailDCap
The sum of dispatchable capacity at
each iteration after the consideration of
the availability states
Available Non-
Dispatchable
Capacity
c:AvailNDCap
The sum of non-dispatchable capacity
at each iteration after the consideration
of the availability states and also the
stochastic/time models for wind gener-
ation
Total Available
Capacity
c:AvailTotcap c:AvailNDCap + c:AvailDCap
Total Demand c:DemTot
Total Demand considering any time
based characteristics
Demand Sup-
plied
c:DemS
min(C:DemTot, c:AvailTotcap * (1 -
Losses% / 100)
Demand Not
Supplied
c:DNS c:DemTot - DemS
Total reserve
Generation
c:ResvTotGen
c:AvailTotCap - c:DemTot * (1 +
Losses% / 100)
Reserve Dis-
patchable
generation
c:ResDGen
c:AvailDCap - c:DemTot * (1 +
Losses% / 100)
Used Non-
Dispatchable
Generation
c:NDGen
min(C:AvailNDCap, DemTot * (1 +
Losses% / 100))
Used Dispatch-
able Generation
c:DGen
min(C:AvailDCap, DemTot * (1 +
Losses% / 100) - c:NDGen)
Total Used gen-
eration
c:TotGen c:Dgen + c:NDGen
Residual De-
mand
c:ResidDem
c:DemTot * (1+ Losses% / 100) -
c:NDGen
Table 32.5.1: Generation Adequacy Calculated Variables
DIgSILENT PowerFactory 15, User Manual 753
CHAPTER 32. GENERATION ADEQUACY ANALYSIS
754 DIgSILENT PowerFactory 15, User Manual
Chapter 33
Optimal Power Flow
33.1 Introduction
The Optimal Power Flow (OPF) module in PowerFactory optimizes a certain objective function in a
network whilst fullling equality constraints (the load ow equations) and inequality constraints (i.e.
generator reactive power limits). The user can choose between interior point and linear optimization
methods. In the case of linear optimization, contingency constraints can also be enforced within OPF.
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 selecting Additional Tools" from the Change Toolbox button ( )and then click on the OPF
icon .
In both cases, the calculation is started by pressing the Execute button in the OPF command dialogue.
33.2 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 denition 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.
33.2.1 Basic Options
The Basic Options page of the OPF dialogue (AC optimization method) is shown in Figure 33.2.1.
DIgSILENT PowerFactory 15, User Manual 755
CHAPTER 33. OPTIMAL POWER FLOW
Figure 33.2.1: Basic Options page of OPF Dialogue (AC Optimization Method)
33.2.1.1 Method
To perform an AC optimization OPF study, the Method must be set to AC Optimization (Interior Point
Method) as shown in Figure 33.2.1.
33.2.1.2 Objective Function
The OPF command dialogue, congured for AC optimization, has a selection of three distinct objective
functions. These are:
Minimization of Losses
Minimization of Costs
Minimization of Load Shedding
Minimization of Losses
When this objective function is selected, the goal of the optimization is to nd a power dispatch which
minimizes the overall active power losses.
Minimization of Costs
When this objective function is selected, the goal of the optimization is to supply the system under
optimal operating costs. More specically, 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.
756 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
Cost Functions for Generators Imposing an operating cost function on a generator element
is done as follows: on the Optimal Load Flow page of each synchronous machine (ElmSym)
elements dialogue (see Figure 33.2.2), 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 verication purposes (see Figure 33.2.2). The number of rows that can be entered
in to the table is unlimited. To add or delete table rows, right-click on a row number in the table
and select the appropriate command (i.e. Copy, Paste, Select All ; Insert Rows, Append Rows,
Append n Rows, Delete Rows, etc.). If there are more than two rows, spline interpolation is used.
Tariff Systems for External Grids An external grid contributes to the overall cost function by
a predened tariff system. On the Optimal Load Flow page of each external grid (ElmXnet )
elements dialogue (see Figure 33.2.3), 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 no load cost (in $/month), which can be interpreted as a vertical shift of the cost
function (see Figure 33.2.3).
In contrast to a synchronous machine, where the cost curve is directly expressed in $/h, the cost curve
of an external grid is dened 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 predened cost
points, whereas the cost curve of an external grid is a piecewise linear function with predened slopes
in each interval.
Figure 33.2.2: Editing the Operating Costs of a Synchronous Machine (ElmSym)
DIgSILENT PowerFactory 15, User Manual 757
CHAPTER 33. OPTIMAL POWER FLOW
Figure 33.2.3: 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 dened
by the user through the Smoothing of Cost Function factor (also shown in Figure 33.2.3). A value of 0%
corresponds to no smoothing of the curve, whereas a value of 100% corresponds to full interpolation.
The default value is 5%. It is recommended to leave this value at its default setting.
Minimization of Load Shedding
The goal of this objective function is to minimize the overall cost of load shedding, such that all con-
straints can be fullled. A typical application for this objective function is SInfeasibility Handling

T. For
the abovementioned objective functions, it may occur that the constraints imposed on the network are
such that no feasible solution exists. This is evidenced by a lack of convergence of the optimization. In
such cases, it is highly likely that not all loads can be supplied due to constraint restrictions. Hence it is
recommended in these situations to rstly perform a Minimization of Load Shedding.
In this (and only this) optimization scenario, all load elements which have the option Allow load shedding
enabled will act as controls. This option is enabled in the load (ElmLod) elements dialogue on the
Optimal Load Flow page in the Controls section. All loads without this option enabled will behave as
they would in a conventional load ow calculation. In order to minimize the overall load shedding, for
each individual load, the user must specify the cost of shedding (in $ per shed MVA).
For each load that participates as a control in the optimization, the scaling factor will be 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 33.2.4.
758 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
Figure 33.2.4: Editing a Load Element (ElmLod) for Minimization of Load Shedding
33.2.1.3 Controls
The global control parameters can be selected on the Basic Options page of the OPF dialogue. 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 (continuous or discrete)
It should be noted that the load scaling factors will only be taken into account for the Minimization of
Load Shedding objective function. In this case, all loads which allow load shedding are automatically
used as controls.
These global controls determine which element controls will be considered in the optimization. The
general rule is as follows: a parameter will be considered as a control if the corresponding ag is set
on the Optimal Load Flow page of the elements dialogue and if, in addition, the corresponding global
parameter is set on the Basic Options page of the OPF command dialogue (see Figure 33.2.5).
DIgSILENT PowerFactory 15, User Manual 759
CHAPTER 33. OPTIMAL POWER FLOW
For example, if the control parameter Tap Position HV-Side of a 3-winding transformer is enabled (as
shown in Figure 33.2.8), it will only be included in the OPF as a control parameter if the corresponding
option Transformer Tap Positions is enabled in the OPF command dialogue (as shown in Figure 33.2.5).
If enabled, the abovementioned control parameters serve as variable setpoints during the OPF. How-
ever, if a parameter is not enabled as a control parameter, the OPF will treat this parameter according
to the load ow settings.
Figure 33.2.5: Global Controls for OPF (AC Optimization Method)
This could be a xed position or a position found due to the option Automatic Tap Adjust of Transformers
being selected in the load ow 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. Specically, for each generator
(ElmSym), each transformer (ElmTr2, ElmTr3), and each shunt (ElmShnt ), the user can check the
corresponding Controls ag on the optimization page of the elements dialogue.
Synchronous Machines
A synchronous machine may contribute two possible setpoints, namely active and reactive power
control (see Figure 33.2.6).
760 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
Figure 33.2.6: 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 associated
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 33.2.7 shows the Controls section of the dialogue for a 2-winding transformer and Fig-
ure 33.2.8 shows the Controls section of the dialogue for a 3-winding transformer. It should be
noted that the Optimize section with the selection of Pre- and post-fault position or Only pre-fault
position are only considered by the DC OPF.
DIgSILENT PowerFactory 15, User Manual 761
CHAPTER 33. OPTIMAL POWER FLOW
Figure 33.2.7: Tap Position Control (and Loading Constraint) for a 2-Winding Transformer
Figure 33.2.8: 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 contin-
uous or a discrete optimization parameter (see Figure 33.2.9).
762 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
Figure 33.2.9: Control Parameter for a Shunt(ElmShnt )
33.2.1.4 Constraints
The user can formulate various inequality constraints for certain system parameters, such that the
OPF solution lies within these dened limits. Since all inequality constraints are considered as Shard
constraints

T, setting constraints may result in no feasible solution being found.


The handling of OPF constraints in PowerFactory is very exible, and various categories of constraints
exist. A constraint is considered in the OPF if and only if the individual constraint ag is checked in the
element and the corresponding global ag is enabled in the OPF dialogue. Figure 33.2.10 shows the
Constraints available for the AC optimization formulation of OPF in PowerFactory.
DIgSILENT PowerFactory 15, User Manual 763
CHAPTER 33. OPTIMAL POWER FLOW
Figure 33.2.10: 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 position limits and the number of
steps for switchable shunts.
Network elements and their available constraints are listed below:
Busbars and Terminals (ElmTerm):
Minimum Voltage
Maximum Voltage
Lines (ElmLne):
Maximum Loading
2- and 3-Winding Transformer (ElmTr2, ElmTr3):
Maximum Loading
Tap Position range (if corresponding tap is a designated control parameter)
Shunts (ElmShnt ):
Controller Steps range (if switchable steps are designated control parameters)
Generator (ElmSym):
Minimum Active Power
Maximum Active Power
Minimum Reactive Power
Maximum Reactive Power
Boundary (ElmBoundary):
764 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
Minimum Active Boundary Flow
Maximum Active Boundary Flow
Minimum Reactive Boundary Flow
Maximum Reactive Boundary Flow
Branch Flow Limits (max. loading)
Branch ow limits formulate an upper bound on the loading of any branch (ElmLne, ElmTr2, ElmTr3,
etc). The user has to specify a maximum value for the loading on the elements Optimal Load Flow
page (see Figure 33.2.11). If specied as shown in Figure 33.2.11, this constraint is only taken into
consideration if the corresponding ag (Branch Flow Limits (max. loading)) in the OPF dialogue is also
ticked. Loading limits are supported for lines and 2- and 3-winding transformers.
Figure 33.2.11: Max. Loading Constraint of a Line Element (similar for 2- and 3-Winding Transformers)
Active and Reactive Power Limits of Generators and External Grids
For each synchronous machine (ElmSym) and external grid (ElmXnet ), the user may impose up to
four inequality constraints: namely a minimum and maximum value for active power generation; and a
minimum and maximum value for reactive power generation (see Figure 33.2.12). Active power limits
are specied as MW values; reactive power limits may be specied as either absolute values or as per
unit values (i.e. referred to the types nominal apparent power). Alternatively, it is possible to directly
use the reactive power limits specied in the synchronous machines type (TypSym). Again, the user
is free to select any number and combination of the available constraints.
DIgSILENT PowerFactory 15, User Manual 765
CHAPTER 33. OPTIMAL POWER FLOW
Figure 33.2.12: Active and Reactive Power Constraints of a Synchronous Machine (ElmSym)
Voltage Limits of Busbars/Terminals
The maximum and minimum allowable voltages for each terminal or busbar element (ElmTerm) can be
specied in the corresponding elements dialogue (see Figure 33.2.13). 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.
Figure 33.2.13: Voltage Constraints for a Terminal/Busbar (ElmTerm)
Boundary Flow Limits
766 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
PowerFactory boundary elements (ElmBoundary), icon dene topological regions in a power system
by a user-specied topological cut through the network. Constraints can be dened for the ow of active
and reactive power in a network (over a dened boundary or between internal and external regions
of a boundary), and this constraint can then be enforced in OPF. For detailed information on dening
boundaries, please refer to Chapter 13: Grouping Objects, Section 13.3.
Figure 33.2.14: Dening Boundary Flow Limits (ElmBoundary)
33.2.1.5 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 minimize an objective func-
tion f subject to the equality constraints imposed by the load ow equations and also to the inequality
constraints dened 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 ow 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)

i
log(s
i
)
where is the penalty weighting factor. In order to change the contribution of the penalty function:
f
pen
=

i
log(s
i
)
to the overall minimization, the penalty weighting factor will be decreased from a user-dened initial
value (
max
) to a user-dened target value (
min
).
The smaller the minimum penalty weighting factor, the less the applied penalty will be for a solution
which is close to the constraint limits. This may result in a solution that is close to the limiting constraint
DIgSILENT PowerFactory 15, User Manual 767
CHAPTER 33. OPTIMAL POWER FLOW
bounds (if necessary). However, a smaller minimum penalty weighting factor will result in a higher
number of iterations required.
33.2.1.6 Results
The presentation of OPF results is integrated into the user interface, in that the OPF solution is available
via the complete set of variables available for conventional load ow calculations. These can be viewed
in the single line diagram or through a data browser. The inclusion of the following variables in the
Flexible Data tab (for synchronous machines and grids) is suggested, as shown in Figure 33.2.15. The
Variable Set must be set to Calculation Parameter as indicated below, and the actual variable names
are given in parentheses.
Synchronous machines:
Active Power (Calculation Parameter P : bus1; this parameter is highlighted in Figure 33.2.15)
Reactive Power (Calculation Parameter Q : bus1)
Apparent Power (Calculation Parameter S : bus1)
Voltage Magnitude (Calculation Parameter u : bus1)
Figure 33.2.15: Denition 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 33.2.16). 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)
768 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
Figure 33.2.16: Denition of Flexible Data for Grids (ElmNet )
In addition to these results, the complete set of variables from conventional load ow calculations is
available. For further information on dening Flexible Data in PowerFactory , please refer to Chapter 10:
Data Manager, Section 10.6.
A text report is also available and can be generated by clicking on the Output Calculation Analysis
icon on the main toolbar. This offers various templates for detailed result documentation.
33.2.2 Initialization
The non-linear optimization requires initialization to generate an initial starting condition. The Iteration
page of the OPF dialogue as shown in Figure 33.2.17 allows the user to select the initialization method.
Figure 33.2.17: Initialization Settings for OPF (AC Optimization Method)
Initialization of Non-Linear Optimization
Load Flow Displays the load ow command which is used for initialization in the case that no at
start initialization is used.
Initialize by Flat-Start The user may choose whether the initialization is performed by a load
ow calculation or by a at start. If it is known in advance that the nal solution of the optimization
is close to a valid load ow solution, initialization using a load ow calculation results in faster
convergence.
No Flat Initialization (Use Load Flow Result) If this option is selected, the OPF checks whether
an SOPF-initializing

T load owresult has been calculated prior to the OPF. Here, SOPF-initializing

T
means that the ag Use this load ow for initialization of OPF was enabled in the load ow com-
mand dialogue before execution. This ag can be found on the second page of the Advanced
Options page in the load ow command dialogue. The result of this load ow is then used as a
starting point for the iterative OPF interior-point algorithm. If no valid OPF-initializing load ow
result is found, the OPF will recalculate a new load ow.
DIgSILENT PowerFactory 15, User Manual 769
CHAPTER 33. OPTIMAL POWER FLOW
33.2.3 Advanced Options
Penalty Weighting Factor
The penalty weighting factor determines the amount by which the penalty is applied. For example, the
smaller the specied penalty weighting factor, the less 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 be-
tween the iterations.
Figure 33.2.18: Penalty Weighting Factor Settings for OPF (AC Optimization Method)
33.2.4 Iteration Control
PowerFactory offers the user exibility in conguring of the number of iterations and the convergence
criteria for OPF. The available options on the Iteration Control page of the OPF dialogue are shown in
Figure 33.2.19.
Figure 33.2.19: Iteration Control Settings for OPF (AC Optimization Method)
The implementation of the Lagrange-Newton method means that the OPF will internally minimize the
770 DIgSILENT PowerFactory 15, User Manual
33.2. AC OPTIMIZATION (INTERIOR POINT METHOD)
resulting Lagrange function:
L(x, s,

) = f(x)

i
log(s
i
) +

T
[g(x) +h(x) +s] (33.1)
with the Lagrange multipliers (

).
The following parameters can be used to alter the stopping criteria for this iterative process. The algo-
rithm stops successfully if the following three criteria are fullled:
1. The maximum number of iterations has not yet been reached.
2. All load ow constraint equations g(x)=0 are fullled to a predened degree of exactness (i.e.
within an allowable tolerance), which means:
all nodal equations are fullled
all model equations are fullled
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 ob-
jective function converges to zero.
The following parameters are used to congure 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 algo-
rithm.
Control Loop (Outer Loop) Maximum number of iterations of the outer loop.
Convergence Criteria
Max. Acceptable Error for Nodes The maximum allowable error for the nodal equations (in
kVA).
Max. Acceptable Error for Model Equations The maximum allowable error for the model equa-
tions (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 La-
grangian function: either the value of the function itself is required to converge to a stationary
point, or the gradient of the Lagrangian is required to converge, as described below.
Values of objective function become constant If this option is selected, the user is asked to
enter a value for the Max. Change of Objective Function. If the change in value between two
consecutive iterations falls below this value, the Lagrangian is considered to have converged.
Gradient of objective function converges to zero If this option is selected, the user is asked
to enter a value for the Max. Value for Gradient of Objective Function. If the gradient falls below
this value, the Lagrangian is considered to have converged.
DIgSILENT PowerFactory 15, User Manual 771
CHAPTER 33. OPTIMAL POWER FLOW
For reasons of mathematical exactness, it is strongly recommended to select the latter option, gradient
of objective function converges to zero. If the underlying Jacobian matrix is numerically instable, this of-
ten results in oscillatory behaviour in the last iterations. Therefore, the latter method provides assurance
that the result is in fact a minimum.
33.2.5 Output
Prior to the non-linear optimization, the OPF informs the user (in the output window) of the total number
of constraints and controls that will be considered in the subsequent calculation. This information is
detailed such that the imposed constraints and the participating controls are counted for each constraint
and control categories separately. Two options are available to select the level of detail contained in
output messages. These options are available in the Output page of the OPF dialogue and are shown
in Figure 33.2.20 and are described below.
Figure 33.2.20: Output Settings for OPF (AC Optimization Method)
Show Convergence Progress Report
If this ag 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 gures are
displayed in the output window (actual variable names are shown parenthesized in italics):
The current error of the constraint nodal equations (in VA) (Err.Nodes);
The current error of the constraint model equations (Err.ModelEqu);
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 ag is checked, the algorithm outputs per iteration, the components which have the largest error in
the equality constraints (i.e. mismatch in the load ow equations). An outer loop is wrapped around the
central non-linear optimization algorithm. This outer loop is required to perform rounding and optimiza-
tion of the evaluated tap and shunt positions to discrete values (if desired by the user). The maximum
number of outer loops is dened on the Iteration Control page of the dialogue. However, if no conver-
gence is reached with the dened number of outer loops, the user will be informed via a message in the
output window that further outer loop iterations are required.
772 DIgSILENT PowerFactory 15, User Manual
33.3. DC OPTIMIZATION (LINEAR PROGRAMMING)
33.3 DC Optimization (Linear Programming)
The following describes the conguration 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 ow is calculated using the linear DC load ow method. For general information regarding
DC load ow, refer to Chapter 21(Load Flow Analysis). PowerFactory uses a standard LP-solver (based
on the simplex method and a branch-and-bound algorithm) which ascertains whether the solution is
feasible. The result of the linear optimization tool includes calculated results for control variables, such
that all imposed constraints are fullled and the objective function is optimized.
Provided that a feasible solution exists, the optimal solution will be available as a calculation result. That
is, the algorithm will provide a DC load ow solution where all generator injections and tap positions are
set to optimal values. The DC load ow solution includes the following calculated parameters (parameter
names are given in italics):
For terminals:
Voltage Angle (phiu [deg])
Voltage Magnitude (u [p.u.]; assumed to be 1.0 p.u. in DC calculation)
Voltage Magnitude (upc [%]; assumed to be 100 % in DC calculation)
Line-Ground Voltage Magnitude (U [kV])
Line-Line Voltage Magnitude (U1 [kV])
For branches:
Active Power Flow (P [MW] )
Active Power Losses (Ploss [MW]; assumed to be 0 MW in DC calculation)
Reactive Power Flow (Q [Mvar]; assumed to be 0 MVAr in DC calculation)
Reactive Power Losses (Qloss [Mvar]; assumed to be 0 MVAr in DC calculation)
Loading (loading [%]; Loading with respect to continuous rating)
The following parameters are calculated in addition to the results found by the DC load ow:
For generators:
c:avgCosts
The xed cost factor [$/MWh] used in the objective function (i.e. average cost considering
the costs at the generators active power limits).
c:Pdisp
Optimal power dispatch for generator.
c:cst_disp
Production costs in optimal solution:
cst_disp = costs * Pdisp
For Transformers:
c:nntap
Optimal tap position.
For loads:
c:Pdisp
Optimal load shedding for load.
DIgSILENT PowerFactory 15, User Manual 773
CHAPTER 33. OPTIMAL POWER FLOW
33.3.1 Basic Options
The Basic Options page of the OPF dialogue (DC optimization method) is shown in Figure 33.3.1.
Figure 33.3.1: Basic Options page of OPF Dialogue (DC Optimization Method)
33.3.1.1 Method
To perform a DC optimization OPF study, the Method must be set to DC Optimization ( Linear Program-
ming LP) as shown in Figure 33.3.1.
33.3.1.2 Objective Function
The user can select a linear optimization objective function using the list box as shown in Figure 33.3.2.
These objective functions are now described.
Figure 33.3.2: Objective Function Selection for OPF (DC Optimization Method)
774 DIgSILENT PowerFactory 15, User Manual
33.3. DC OPTIMIZATION (LINEAR PROGRAMMING)
Feasibility Check
Performs a feasibility check of the network considering the specied controls and constraints (i.e. per-
forms a constrained load ow).
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 element (ElmSym, see Figure 33.2.2)
The (linear) algorithm uses a xed cost-factor [$/MWh] per generator. This cost factor is the average
cost considering the costs at the generators active power limits. The selection of this objective function
provides the option of calculating the Locational Marginal Prices (LMPs). For further information on this
option refer to: Shadow Prices and Locational Marginal Prices (LMPs).
Min. Generator Dispatch Change
Minimizes the change in generator dispatch from the generators initial value.
33.3.1.3 Controls
The Controls section of the OPF Basic Options page is highlighted in Figure 33.3.3. The basic role of
each control is as described for the AC optimization method in Section 33.2.1 (Basic Options)
Figure 33.3.3: Controls Selection for OPF (DC Optimization Method)
The user can select from the following control variables (the names of the associated PowerFactory
elements are provided in parentheses):
Generator Active Power Dispatch (ElmSym) In generator optimization, for each selected gener-
ator 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 Positions (ElmTr2, ElmTr3) In tap optimization, for each selected transformer
DIgSILENT PowerFactory 15, User Manual 775
CHAPTER 33. OPTIMAL POWER FLOW
a single control variable is introduced to the system. The total number of tap controls in this case
equals the number of selected transformers.
Allow Load Shedding (ElmLod) A separate control variable is introduced to the system for each
selected load. The total number of load controls in this case equals the number of selected loads.
This control variable can be selected in conjunction with any objective function.
Note: At least one type of control variable in the Controls section of the OPF dialogue must be selected.
33.3.1.4 Constraints
The three constraints shown in Figure 33.3.4 are as described for the AC optimization method in Sec-
tion 33.2.1 (Basic Options).
Figure 33.3.4: Constraints Selection for OPF (DC Optimization Method)
For DC optimization the following constraint is also 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 specied as controls in the Controls section of the dialogue (see Figure 33.3.4). This
means that two constraints are introduced to the LP for the base case tap position calculation.
Handling
Active power dispatch constraints can be chosen on an individual basis (via a checkbox) per generator.
See Figure 33.2.17for setting minimum and maximum constraints for generators for optimization. It
should be noted that generator constraints are not implicitly imposed when active power dispatch is
selected as a control. Tap position constraints will be implicitly imposed whenever the corresponding
tap is a designated control variable, as in Figure 33.2.7.
Loading constraints can be chosen on an individual basis (via a checkbox) per line element (ElmLne),
as shown in Figure 33.2.11. If loading constraints are included, the maximum loading limits will be
776 DIgSILENT PowerFactory 15, User Manual
33.3. DC OPTIMIZATION (LINEAR PROGRAMMING)
calculated with respect to the type of the element, or with respect to a thermal rating object (IntThrating,
as shown in Figure 33.3.5). If a thermal rating object is selected, the limits will be calculated with respect
to the Continuous Rating value.
Figure 33.3.5: Thermal Rating Object (IntThrating) Ratings page for Setting Rating Values
Boundary ow constraints can be chosen on an individual basis per boundary element (ElmBoundary),
as shown in Figure 33.2.14.
33.3.1.5 Shadow Prices and Locational Marginal Prices (LMPs)
If the option Calculate Locational Marginal Prices (LMPs) (displayed at bottom of the dialogue in Fig-
ure 33.3.4) is selected, the Locational Marginal Price (LMP) is calculated. The Shadow Price is always
calculated. The LMP represents the change in the systems total production costs based on a unit
change of load at the bus. The calculation of LMP takes into account the network constraints.
The system lambda represents the change in the systems total production costs based on a unit
change of any load in the absence of network constraints.
With the Calculate Locational Marginal Prices (LMPs) option ticked, the execution of the OPF will (on
the y) calculate the LMP for each busbar. The following quantities (current, voltage and powers) are
available for all busbars (i.e. ElmTerm elements with Usage set to Busbar ):
LMP in $/MWh (Locational marginal price)
SysLambda in $/MWh (System lambda)
DIgSILENT PowerFactory 15, User Manual 777
CHAPTER 33. OPTIMAL POWER FLOW
In addition to the LMPs, the DC Optimization always computes the shadow prices. These quantities
are available per component, which introduces a constraint to the system. The shadow price then
represents the change in the objective function if the constraint is released by a unit change. The
shadowprices are available as results for the PowerFactory elements listed below(result variable names
are given followed by their corresponding unit). These result variable names are available as Calculation
Parameters when dening variable sets for each element. For more information on dening variable
sets, refer to Chapter 11: Study Cases, Section 17.4 (Variable Sets).
Line (ElmLne):
ShadowPrice in $/MWh (Shadow price)
2-Winding Transformer (ElmTr2):
ShadowPrice in $/MWh Shadow price (loading constraint))
ShadTapMax in $/MWh Shadow price (Maximum Tap constraint))
ShadTapMin in $/MWh Shadow price (Minimum Tap constraint))
3-Winding Transformer (ElmTr3):
ShadowPrice in $/MWh (Shadow price (loading constraint))
ShadTapMaxLV in $/MWh (Shadow price (Maximum Tap constraint (LV)))
ShadTapMinLV in $/MWh (Shadow price (Minimum Tap constraint (LV)))
ShadTapMaxMV in $/MWh (Shadow price (Maximum Tap constraint (MV)))
ShadTapMinMV in $/MWh (Shadow price (Minimum Tap constraint (MV)))
ShadTapMaxHV in $/MWh (Shadow price (Maximum Tap constraint (HV)))
ShadTapMinHV in $/MWh (Shadow price (Minimum Tap constraint (HV)))
Boundary (ElmBoundary):
ShadowMaxP in $/MWh (Shadow price (max. total active power constraint))
ShadowMinP in $/MWh (Shadow price (min. total active power constraint))
Synchronous Machine (ElmSym):
ShadowMaxP in $/MWh (Shadow price (upper limit active power))
ShadowMinP in $/MWh (Shadow price (lower limit active power))
External Grid (ElmXnet ):
ShadowMaxP in $/MWh (Shadow price (upper limit active power))
ShadowMinP in $/MWh (Shadow price (lower limit active power))
General Load (ElmLod):
ShadowMaxP in $/MWh (Shadow price (max. load shedding))
ShadowMinP in $/MWh (Shadow price (min. load shedding))
33.3.2 Initialization
The OPF calculation is initialized by a load ow, which is displayed by the Load Flow parameter on the
Initialization page of the OPF dialogue. The user can inspect the load ow settings by clicking on the
button, as illustrated in Figure 33.3.6. The load ow command contained in the current study case is
set here automatically. Within the load ow 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).
778 DIgSILENT PowerFactory 15, User Manual
33.3. DC OPTIMIZATION (LINEAR PROGRAMMING)
Figure 33.3.6: Initialization Settings for OPF (DC Optimization Method)
33.3.3 Advanced Options
The Advanced Options page of the OPF dialogue is shown in Figure 33.3.7.
Figure 33.3.7: Advanced Options for OPF (DC Optimization Method)
Load Shedding Options
If Allow Load Shedding is among the selected Controls (see Section 33.3.1: Basic Options) on the
Basic Options tab, an additional term will be added to the objective function. The weight of this term
can be controlled using the Penalty Factor in the Load Shedding Options section of the OPF dialogue.
The following term will be added to the objective function, where is the specied Penalty Factor, and
c is the cost factor of load i:

n
Co

j=1
n
Load

i=1
c
i
|Load
j
i
Load
curr
i
| (33.2)
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.
DIgSILENT PowerFactory 15, User Manual 779
CHAPTER 33. OPTIMAL POWER FLOW
Use Penalty Factor for Tap Deviation If enabled, the following additional term is added to the
objective function:

n
Tr

i=1
|tap
0
i
tap
curr
i
| (33.3)
Penalty Factor Species 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 Sdirect method

T). This method may provide better accuracy, however


will yield fewer solutions.
Continuous controls (Using outer loop rounding) This method calculates continuous tap po-
sition values and then rounds these values to discrete values in the outer loop of the calculation.
This method may be faster but the values may not be optimal.
Additional Settings
Check for Constraint Violations after Optimization This method calculates discrete tap po-
sition values within the LP (known as the Sdirect method

T). This method may provide better


accuracy, however will yield fewer solutions.
Use Presolve procedure If selected, the LP is checked for linear dependencies of constraints.
They will be eliminated and only the corresponding (smaller) system is solved.
33.3.4 Iteration Control
Two outer loop settings are available: (i) control of the number of iterations of the algorithm; and (ii)
denition of a constraint tolerance. These settings are shown in Figure 33.3.8 and are described below.
Figure 33.3.8: Iteration Control Settings for OPF (DC Optimization Method)
Outer Loop
Following the solution of the LP problem, it may be the case that loading constraints are not within
their boundaries. The reason is that for taps, the algorithm uses tap sensitivities which assume a linear
780 DIgSILENT PowerFactory 15, User Manual
33.4. CONTINGENCY CONSTRAINED DC OPTIMIZATION (LP METHOD)
change in MW ow per tap step. Since these tap sensitivities depend on the initial tap position, the
result becomes inaccurate if the optimal tap position is far from the initial tap position. This inaccuracy
can be remedied by an additional outer loop. At each iteration, this outer loop starts with the optimized
tap positions which were calculated in the previous loop. The following Outer Loop settings can be
entered on this tab:
Max. Number of Iterations Maximum number of outer loop iterations until all constraints are
fullled (within a dened 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

S1, the LP is solved without outer
loops.
Limitation of Branch Flow Constraints
This option is useful for avoiding long calculation times for large systems. If selected, the LP is solved
via an iterative procedure which iterates until no further constraint violations are found (with respect to
the Max. Acceptable Error for Constraints parameter). It should be noted that the option Check for
Constraint Violations after Optimization on the Advanced Options page must be selected in order to
utilise this iterative procedure. An initial set of branch ow constraints must be selected by the user, as
described below.
Initial Set of Branch Flow Constraints The set of branch ow constraints to be considered
can either be the set of N most highly loaded components or a user-dened set. In the case
of the set of N most highly loaded components, the program nds these automatically either by
using a contingency analysis calculation (in the case of a contingency constrained DC OPF) or
by using the initial loadow (for the other OPF methods). In the case of a user-dened set, the
user must dene and assign a set of components. A set of components can be dened either via
the single line graphic or data manager, by multi-selecting the desired components, right-clicking
and selecting Dene... General Set.... This set can then be selected and assigned via the
button.
Max. number of additional constraints per iteration
After solving the LP with an initial set of constraints, the solution is checked against all loading
constraints and overloaded components are added to the LP. The parameter Max. number of
additional constraints per iteration species the maximal number of added components.
33.4 Contingency Constrained DC Optimization (LP Method)
The Contingency Constrained DC Optimization performs an OPF using DC optimization (as described
in Section 33.3: DC Optimization (Linear Programming)), subject to various user dened constraints
and subject also to the constraints imposed by a set of selected contingencies.
The Contingency Constrained DC Optimization also considers user-dened post-fault actions. That is,
the optimization can be carried out using contingency cases that include any specied post-fault action.
These actions include switch events, generator redispatch events, load shedding events and tap change
events.
In order for the OPF to consider post-fault actions, the contingency analysis command that is assigned
to the OPF must be set to Multiple Time Phases". The contingency cases can then be dened to
contain post-fault actions. For further information on dening contingency cases with post-fault actions,
see Chapter 29: Contingency Analysis; Section: 29.5 (The Multiple Time Phases Contingency Analysis
Command).
In addition to the result variables available for DC optimization, the contingency constrained OPF offers
DIgSILENT PowerFactory 15, User Manual 781
CHAPTER 33. OPTIMAL POWER FLOW
the following result variables (as well as those provided by the DC load ow, as described in Sec-
tion 33.3: DC Optimization (Linear Programming)):
For generators:
c:Pdisp Optimal generation for each contingency case. The optimum generation for each
contingency case is stored as a parameter event object in the corresponding contingency
object (ComOutage). Thus, each contingency object will hold parameter events for each
selected generator (the name of the parameter event is the name of the generator). The
parameter event reects 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 is the name of the
transformer). The parameter event reects 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 contin-
gency 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 pa-
rameter event reects the optimal load shedding for that load in the given contingency case.
33.4.1 Basic Options
The Basic Options page of the OPF dialogue (contingency constrained DC optimization method) is
shown in Figure 33.4.1.
782 DIgSILENT PowerFactory 15, User Manual
33.4. CONTINGENCY CONSTRAINED DC OPTIMIZATION (LP METHOD)
Figure 33.4.1: Basic Options page 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 33.4.1.
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 contingency analysis command settings using the arrow button . If the
user would like the contingency cases to use post-fault actions, the Method used by the contingency
analysis command must be set to Multiple Time Phases. See Chapter 29: Contingency Analysis;
Section: 29.5 (The Multiple Time Phases Contingency Analysis Command).
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 33.3.1: Basic Options). Two
additional objective functions are provided, which are shown in Figure 33.4.2 and described below.
DIgSILENT PowerFactory 15, User Manual 783
CHAPTER 33. OPTIMAL POWER FLOW
Figure 33.4.2: Objective Function Selection for OPF (Contingency Constrained DC Optimization
Method)
Min. Generator Dispatch Change (Pre-to-Postfault) Minimizes the sum of the generator dis-
patch changes between the base case and each contingency case.
Min. Transformer Tap Change (Pre-to-Postfault) Minimizes the sumof the tap position changes
between the base case and each contingency case.
Controls
The denition 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 33.2.1 (Basic Options). The Controls section of the OPF
dialogue is highlighted in Figure 33.4.3.
784 DIgSILENT PowerFactory 15, User Manual
33.4. CONTINGENCY CONSTRAINED DC OPTIMIZATION (LP METHOD)
Figure 33.4.3: Controls Selection for OPF (Contingency Constrained DC Optimization Method)
The user can select from the following control variables:
Generator Active Power Dispatch (ElmSym, ElmXnet ) 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 and/or external networks.
Allow different dispatch: For each contingency case, allow a generator dispatch different to
that used in the base case. Using this setting, for each selected generator, a control variable
is introduced for the base case and for each contingency case. This option must be selected
from the drop-down box when the objective function Min. Generator Dispatch Change (Pre-
to-Postfault) has been selected. The total 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
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. Transformer Tap Change
DIgSILENT PowerFactory 15, User Manual 785
CHAPTER 33. OPTIMAL POWER FLOW
(Pre-to-Postfault) 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 for the contingency constrained DC optimization method
is shown in Figure 33.4.4.
This formulation of OPF performs a contingency analysis for a predened set of contingencies (Co-
mOutage objects; i.e. a set of interrupted components per contingency case). The Max. Loading
(parameter name: maxload) for lines and transformers (ElmLne, ElmTr2, ElmTr3; (one constraint per
bus)) for each contingency case is considered in the calculation. For each loading constraint, the num-
ber of constraints added to the LP will be: 2*(number of contingencies).
In addition to the constraints provided for DC optimization (for further information see Section 33.3.1:
Basic Options), 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 position change steps from the base case to the
contingency case are allowed over all transformers (i.e. for a given contingency, a constraint is
enforced on the sum of all maximum difference of base case to contingency case taps, over all
transformers).
Transformer Tap Constraints (implicitly imposed) Minimum and maximum tap positions for
transformers(ElmTr2, ElmTr3) are considered. These constraints are implicitly imposed when
transformer tap positions are specied as controls in the Controls section of the OPF command
dialogue (see Figure 33.4.4). This leads to two constraints in LP formulation for the base case
tap position calculation, and to: 2 x (1 + number of contingencies) constraints for contingency
case calculations.
786 DIgSILENT PowerFactory 15, User Manual
33.4. CONTINGENCY CONSTRAINED DC OPTIMIZATION (LP METHOD)
Figure 33.4.4: Constraints Selection for OPF (Contingency Constrained DC Optimization Method)
Handling
Active power dispatch constraints can be chosen on an individual basis (via a checkbox) per generator.
See Figure 33.2.12 for setting minimum and maximum constraints for generators for optimization.
Tap position constraints will be implicitly imposed whenever the corresponding tap is a designated con-
trol variable, as illustrated in Figure 33.2.7. The tap position limits are dened in the transformers
assigned Type.
Loading constraints can be chosen on an individual basis (via a checkbox) per line element (ElmLne)
and per transformer element (ElmTr2, ElmTr3), as shown in Figure 33.2.11. Once a loading constraint
for a specic line or transformer is imposed, it will be considered by all contingencies contained in the
contingency list. If loading constraints are included, the maximum loading limits will be calculated with
respect to the type of the element, or with respect to a thermal rating object (IntThrating, as shown
in Figure 33.3.5). If a thermal rating object is selected, the limits will be calculated with respect to the
Continuous Rating value.
Boundary ow constraints can be chosen on an individual basis per boundary (ElmBoundary), as shown
in Figure 33.2.14. Once a boundary constraint for either the maximum total active power limit or min-
imum 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 specic 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.
DIgSILENT PowerFactory 15, User Manual 787
CHAPTER 33. OPTIMAL POWER FLOW
33.4.2 Initialization
As described for DC optimization. Please refer to Section 33.3.2 (Initialization).
33.4.3 Advanced Options
As described for DC optimization. Please refer to Section 33.3.3 (Advanced Options).
33.4.4 Iteration Control
As described for DC optimization. Please refer to Section 33.3.4 (Iteration Control).
33.4.5 Output
For contingency constrained DC OPF, results can be optionally recorded for those branches which
exceed a selected limit value. This can be done for both the non-optimized results and the optimized
results. For each recording of results (i.e. with optimized or non-optimized values) a separate result le
must be chosen.
Figure 33.4.5: Output Settings for OPF (Contingency Constrained DC Optimization Method)
Contingency Analysis Results
Allows the selection of result les for the contingency analysis results with and/or without optimized
controls.
Results (before optimization) The result le in which to store the non-optimized results.
Results (after optimization) The result le 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
page of the contingency analysis command dialogue. They dene the limits outside of which results
will be written to the result le(s). See Chapter 29: Contingency Analysis, Section 29.4.1 for further
information.
788 DIgSILENT PowerFactory 15, User Manual
33.4. CONTINGENCY CONSTRAINED DC OPTIMIZATION (LP METHOD)
Reports
Following a contingency constrained DC OPF calculation, the Output of Results command button on
the main toolbar becomes active. This command allows the printing of various reports, as illustrated in
Figure 33.4.6. The following reports are offered:
Optimal Solution Prints a detailed report to the output window, showing all optimal settings for
generators, transformers and loads, component-wise, for all contingencies. An additional ag
(Report only Contingency with max. Deviations) can be checked to show only the settings for the
contingency where the maximum deviation occurs.
Optimal Solution (per Contingency) Prints a detailed report to the output window, showing all
optimal settings, on a per-contingency basis.
Maximum Loadings Prints a detailed report to the output window showing the maximum load-
ings of components against the relevant contingency. The user may dene the loading limit for
which to report violations, and may select whether to report only the highest loadings for branch
components. Moreover, this report facilitates the display of results before and after the optimiza-
tion.
Loading Violations Prints a report to the output window showing components with loading vio-
lations, against the relevant contingency. The user may dene the loading limit for which to report
violations, and may select whether to report only the highest loadings for branch components.
Additionally, the reporting of violations in contingency cases may be suppressed if violations al-
ready exist in the base case.
Violations per Case Prints a report to the output window showing components with loading vio-
lations, on a per-contingency case basis. The user may dene the loading limit for which to report
violations, and may select whether to report only the highest loadings for branch components. Ad-
ditionally, the reporting of violations in contingency cases may be suppressed if violations already
exist in the base case.
DIgSILENT PowerFactory 15, User Manual 789
CHAPTER 33. OPTIMAL POWER FLOW
Figure 33.4.6: Output of Results Command for Contingency Constrained DC OPF)
790 DIgSILENT PowerFactory 15, User Manual
Chapter 34
Techno-Economical Calculation
34.1 Introduction
This chapter presents the tools available to perform Techno-Economical Calculations in PowerFactory
. It provides a general description, technical background, description of the command dialogues, and
an example calculation. The Techno-Economical Calculation (ComTececo) can be accessed from the
toolbar as shown in Figure 34.1.1
Techno-economical calculations are used to perform an economic assessment and comparison of net-
work expansions (projects) through an analysis of:
The cost of electrical losses.
The economic impact of failure rates (reliability).
Investment costs, including initial costs, initial value, scrap value, and expected life span.
Project timing.
Figure 34.1.1: How to access the Techno-Economical Calculation
DIgSILENT PowerFactory 15, User Manual 791
CHAPTER 34. TECHNO-ECONOMICAL CALCULATION
34.2 Requirements for Calculation
Prior to conducting a Techno-Economical Calculation, economic data should be dened within each
Expansion Stage (IntSstage). To dene economic data, right-click on the Expansion Stage, click Edit,
and select the Economical Data tab. Parameters to be dened are as follows:
Costs for expansion
Dene the Investment costs in k$", and Additional costs in k$/a".
Commercial equipment value
Dene the Original value in k$", Scrap value in k$", and Expected life span in years a". Note that the
Expected life span is used in the economic calculation, it does not take the Variation out of service at
the end of the expected life span.
34.3 Calculation Options
34.3.1 Basic Options Page
Calculation Points
Select to either Calculate:
once per year. Calculations are executed once per year from the 1st day of the Calculation Period
Start (01.01.XXXX, 00:00:00) to the last day of the year at the calculation period End (31.12.YYYY,
23:59:59).
for every expansion stage. Calculations are executed on the 1st day of the Calculation Period
Start, at the Activation Time of each Expansion Stage.
for user-dened dates. Calculations are executed on the 1st day of the Calculation Period Start,
at each user-dened date. To dene dates, Insert rows to the Calculation Points table and specify
the required dates. To automatically populate the table of calculation points with once per year
dates and for every expansion stage dates, select Get keyAll keyCalculation keyPoints. The dates
can then be edited as required (note that it is not possible to append rows beyond the end date).
Note: Irrespective of the calculation option selected, the results are reported annually. This provides
user-exibility to optimize the performance of the Techno-Economical Calculation, whilst retaining
the ability to compare annual results with different calculation options.
Strategy
Click Show Activated Variations to show Activated Variations. Only Expansion Stages within Activated
Variations, and an Activation Time within the Calculation Period will be considered by the calculation.
Calculatory Interest Rate
Specify the Calculatory Interest Rate to be used in the Net Present Value (NPV) calculations.
Tolerance
Specify a Tolerance for calculation points (in days)" for activation of Expansion Stages. If, for example,
a calculation is to be performed once per year, and all Expansion Stages with Activation Times within
January of that year are to be considered as in-service for the entire year, a tolerance of 31 days" could
be specied.
Load growth
Optionally Incorporate load growth in the calculation, to consider load growth within each calculation
792 DIgSILENT PowerFactory 15, User Manual
34.3. CALCULATION OPTIONS
interval. In contrast to the case where no load growth is incorporated and costs for a calculation period
are calculated at the beginning of that period, enabling this ag will lead to a second cost calculation at
the end of the current calculation period. Corresponding costs are then calculated based on both values.
Load growth is dened via parameter characteristics (see Chapter 16: Parameter Characteristics, Load
States, and Tariffs for details of how to dene parameter characteristics).
34.3.2 Costs Page
Optionally consider Losses, Interruption Costs, User-dened Costs, and Annual additional costs, and
select whether to Optimize Tie Open Points.
Losses
Optionally modify the Load Flow Calculation options via the pointer to the Load Flow Calculation
command.
Select whether to consider losses for the whole system, or for a user-dened set of substation-
s/feeders. If more than one feeder or substation is selected, PowerFactory automatically creates
a Set within the active Study Case, by default named Techno-eco. Calc. - Substations/Feeder
Set".
Dene the Costs for Losses (Load) in $/kWh", relating to line losses.
Dene the Costs for Losses (no Load) in $/kWh", relating to transformer no-load losses.
Interruption Costs
Modify the Reliability Assessment options. By default, a new Reliability Assessment command object
is created within the Techno-Economical command. See Chapter 30 for details of how to congure the
Reliability Command options. For a Techno-Economical calculation, it is generally recommended that
the following options are selected in the Reliability Assessment Command:
Basic Options Load ow analysis
Basic Options Distribution (Sectionalizing, Switching actions)
Advanced Options Automatic Power Restoration
Advanced Options Do not save corresponding events
User-dened costs
Optionally select a user-dened DPL Cost Assessment Script. This functionality may be required for
detailed analysis where factors besides losses and outage costs are to be considered in the calculation.
Annual additional costs
Optionally dene Annual additional costs in "k$/a". These are costs that are to be applied irrespective
of the network development strategy.
Optimize Tie Open Points
Optionally select to calculate losses from the output of the TOPO calculation. The network open point(s)
will be re-congured during the Techno-Economical Calculation in order to minimize losses, in accor-
dance with the options selected in the TOPO command. By default, a new TOPO command object is
created within the Techno-Economical command. See Section 35.4: Tie Open Point Optimization, for
details on how to congure the TOPO command.
Note: If the costs of losses are not considered by the Techno-Economical command directly, Optimize
Tie Open Points may still be selected so that the impact of network switching conguration is con-
sidered by the calculation, where either Interruption Costs or Additional Costs is selected.
DIgSILENT PowerFactory 15, User Manual 793
CHAPTER 34. TECHNO-ECONOMICAL CALCULATION
34.3.3 Output Page
Results
A reference (pointer) to the result object.
Report
(Optionally) select the format of results printed to the output window. The report includes a summary of
selected calculation options, and annual costs, total costs, and Net Present Value (NPV).
34.4 Example Calculation
Consider the following Techno-Economical Calculation example, which also consolidates functionality
presented on the following topics:
Project Variations: Discussed in Chapter 15 (Network Variations and Expansion Stages).
Reliability: Discussed in Chapter 30 (Reliability Assessment).
Parameter Characteristics and Tariffs: Discussed in Chapter 16 (Parameter Characteristics, Load
States, and Tariffs).
The current year is 2010". There are four 12 MW loads connected to DoubleBusbar/A and Dou-
bleBusbar/B. In the current arrangement the line Existing Line" from Sub 1" is lightly loaded (see
Figure 34.4.1).
High load growth is expected from 2010 to 2016, with constant demand thereafter. To model the
changes in demand, a One Dimension - Vector Characteristic from 2010 to 2020 has been dened
for each load. By setting the Study Time to 2014, it has been determined that Existing Line" will be
loaded at close to the thermal rating in this year (see Figure 34.4.2).
Based on this, it has been determined that a new substation is required in 2015 to off-load the existing
line. Figure 34.4.3 shows the case with the Study Time set to 2015, and the new substation Sub 2" in
service. Half of the load from Sub 1" has been transferred to Sub 2". Note that the new substation has
been implemented as a PowerFactory Variation, and hence is shown with yellow dashed lines in cases
where the Study Time is prior to 2015.
794 DIgSILENT PowerFactory 15, User Manual
34.4. EXAMPLE CALCULATION
Figure 34.4.1: Example case,study time 2010"
Figure 34.4.2: Example case,study time 2014"
DIgSILENT PowerFactory 15, User Manual 795
CHAPTER 34. TECHNO-ECONOMICAL CALCULATION
Figure 34.4.3: Example case,study time 2015"
However, the previous analysis has not considered the economic impact of interruption costs. In the
2010", when there is an outage of the line from Sub 1" there are no alternative paths to re-establish
supply to either load. With the new line and DoubleBusbar/A and B in service, there is an alternative
path to re-establish supply to loads in the event of an outage on either New Line" or Existing Line".
To understand the economic implications of commissioning the project prior to 2015, in particular the
sensitivity of the cost of losses and cost of interruptions to the project commissioning date, a Techno-
Economical Analysis is performed for a number of Activation Times.
To perform the analysis, the Variation activation time T(act.) is varied from 2010 to 2015, and the Net
Present Value (NPV) of the Strategy is calculated over the period 2010 to 2020. In the example, outage
data has been entered for the lines New Line" and Existing Line", and a Global Energy Tariff has
been dened for loads from the Reliability command Costs page. Due to the trade-off between Energy
Interruption Costs (increasing in this example due to load growth) and cost-benets associated with
delaying the project (based on the specied interest rate), the optimum year for project commissioning is
determined to be 2011, and not 2015. The NPV is around 11 % lower in 2011 than in 2015. Table 34.4.1
below summarizes the results of the Techno-Economical calculations.
Table 34.4.1: Summary of Calculation Results
Note: To automatically calculate the optimal Activation Time for an Expansion Stage, in the Data Man-
ager, right-click on the Expansion Stage, select Execute DPL Scripts" and run the Efciency ratio
calculation" script.
796 DIgSILENT PowerFactory 15, User Manual
34.4. EXAMPLE CALCULATION
DIgSILENT PowerFactory 15, User Manual 797
CHAPTER 34. TECHNO-ECONOMICAL CALCULATION
798 DIgSILENT PowerFactory 15, User Manual
Chapter 35
Distribution Network Tools
35.1 Introduction
The chapter presents the PowerFactory tools for assessment and optimization of distribution networks.
The areas of analysis are highlighted in Figure 35.1.1 Each section of this chapter introduces the tool,
presenting a general description, the objective function, the optimization procedure, and the command
dialogues.
Figure 35.1.1: How to access the Distribution Network Optimization tools
35.2 Voltage Sag
The Voltage Sag Table Assessment (ComVsag) can be used to assess the expected frequency and
severity of voltage sags within a network during an operating period, and determine the expected num-
ber of equipment trips due to deep sags. The PowerFactory Voltage Sag tool calculates a short-circuit
at the selected load points within the system and uses the failure data of the system components to
DIgSILENT PowerFactory 15, User Manual 799
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
determine the voltage sag probabilities.
Voltage sag analysis is similar to probabilistic reliability analysis, in that it uses fault statistics to describe
the frequency of faults, and then use these statistics to weight the results of each event and to calculate
the overall effects of failures. However, reliability analysis looks for sustained interruptions as one aspect
of quality of supply, whereas voltage sag analysis calculates the voltage drop during the fault until the
protection system has disconnected the defective component.
This section describes the calculation options, how to perform a Voltage Sag Table Assessment, and
how to view the results.
35.2.1 Calculation Options
35.2.1.1 Basic Options Page
Figure 35.2.1: Voltage Sag Table Assessment - Basic Options
Load selection
Reference to the set of load points. A load point can be dened 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 specied in the ComVsag
dialogue. However, other settings can be inspected or changed by clicking on the Edit button ( ).
Results
Reference to the result le that is used for storage of results.
Exposed area limit
This denes 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.
800 DIgSILENT PowerFactory 15, User Manual
35.2. VOLTAGE SAG
35.2.1.2 Advanced Options Page
Figure 35.2.2: Voltage Sag Table Assessment - Advanced Options
TheAdvanced Options page shows the various short-circuit types that can be analyzed by the voltage
sag assessment command. All components for which a failure model has been dened use the same
short-circuit frequency. The relative frequency for each type of short-circuit is entered uniformly for all
components.
35.2.2 How to Perform a Voltage Sag Table Assessment
A voltage sag table assessment is performed in two phases:
1. A result le 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 execut-
ing the Calculate... Voltage sag table... option, or by initiating the command directly from the
main toolbar by clicking on the Voltage Sag Table Assessment icon ( ).
2. A voltage sag plot is created by selecting one or more of the nodes for which the ComVsag
command was executed, right-clicking and selecting the option Show Voltage Sag Plot...
Alternatively,
The Load selection in the ComVsag dialogue can be completed manually with a set of objects.
A load point is dened 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 Dene... 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 SetS-
elect which has the Used for: Voltage sag table ag set. However, any other selection can be assigned
to the Load selection.
The voltage sag analysis simulates various faults at the selected busbars. The calculation starts with
the selected load points, and proceeds to neighbouring busbars until the remaining voltage at all load
DIgSILENT PowerFactory 15, User Manual 801
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
points does not drop below the dened Exposed area limit. The remaining voltages and the short-circuit
impedances for all load points are written to the result le specied 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 le.
After the complete exposed area has been analyzed in this way, the result le contains the values for
Z_F1, Z_F2, Z_F0, Z_S1, Z_S2, Z_S0 and ura, uia, urb, uib, urc, uic for the two ends of all relevant
lines and cables and at their midpoints.
To reduce computation time, the written impedances are interpolated between the ends of a line and the
middle with a second-order polynomial. Then, the remaining voltages and various source impedances
are estimated. These estimated impedances are also interpolated between the ends and the midpoint.
The interpolated impedances are then used to estimate the remaining voltages between the ends and
the midpoints of the lines or cables. This quadratic interpolation gives a good approximation for longer
lines, as well as parallel lines.
35.2.3 Voltage Sag Table Assessment Results
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 le, a voltage
sag table is constructed for each selected load point. Figure 35.2.3 shows the voltage sag plot dialogue.
Figure 35.2.3: Voltage Sag Plot Dialogue
802 DIgSILENT PowerFactory 15, User Manual
35.2. VOLTAGE SAG
Because there is no single denition of a voltage sag, the plot offers a selection of sag denitions:
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:
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 35.2.3 is shown in Fig-
ure 35.2.4.
Figure 35.2.4: 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 shallow
DIgSILENT PowerFactory 15, User Manual 803
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
sags, although the values at 0.8 p.u. are also signicant. Each bar is subdivided to the nominal voltage
at SHC-Busbar. The shallow sags are caused by the low voltage network, as well as the deep sags.
The high voltage network seems to cause moderate voltage sags. This is caused by the fact that the
low voltage networks in this example are radially operated and the higher voltage networks are meshed.
More detailed information about a specic value in the voltage sag plot can be viewed in the balloon
help that appears when placing the mouse over a bar or part of a bar (without clicking).
The voltage sag plot dialogue has a Report button (see Figure 35.2.3) which outputs the voltage sag
plot data to the output window. A table for each selected load point will be written in accordance to the
selected Voltage Sag denition, x-Variable and Split Bars in selection.
35.3 Voltage Prole Optimization
The Voltage Prole Optimization (VPO) command (ComVoltplan) is used to optimize distribution trans-
former taps over the expected range of network load and generation conditions. It can be selected from
Distribution Network Tools, as shown in Figure 35.1.1.
The VPO calculation considers two scenarios:
A maximum demand/minimum generation scenario, or Consumption Case".
A minimum demand/maximum generation scenario, or Production Case".
It requires that loads be represented as medium voltage (MV) loads (ElmLodmv). MV load elements in-
clude transformer and LV network parameters, as illustrated in Figure 35.3.1. To show Terminal colour-
ing based on maximum / minimum LV grid voltages, from the main menu select View Diagram
Colouring (or select the Diagram Colouring icon). Under 3. Other select Results Voltages / Loading.
Click on Colour Settings, go to second page of the Voltages / Loading page, and select Consider LV
grid voltages for colouring. In the example below, the minimum voltage is below the lower limit and the
maximum voltage is above the upper limit (the limits set in the colouring options), therefore the terminal
shows two colours.
804 DIgSILENT PowerFactory 15, User Manual
35.3. VOLTAGE PROFILE OPTIMIZATION
Figure 35.3.1: MV load example
Note: The transformer tap changer is represented on the LV side of the MV load.
35.3.1 Optimization Procedure
The optimization procedure is summarized as follows:
1. If Distribution Transformer Tap Limits are specied by the user, limit the tap range of transformers
to within the limits Min. allowed tap position and Max. allowed tap position. This is illustrated in
Figure 35.3.2, where a transformer with seven tap positions is limited to taps -1" to 2" to limit the
transformer voltage rise to 7 % and voltage drop to -5 %. The height of each bar is determined by
the voltage rise and voltage drop across the transformer in the production and consumption cases
respectively.
DIgSILENT PowerFactory 15, User Manual 805
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
Figure 35.3.2: Distribution Transformer Tap Limits
2. Calculate the Upper tap limit and Lower tap limit, based on settings that will keep the range of
expected LV Grid voltages within the Upper voltage limit and Lower voltage limit, as illustrated in
Figure 35.3.3, where the limits are set to between 0.92 pu and 1.10 pu.
3. Both tap positions 0" and 1" would be acceptable, and maintain transformer voltage drop and LV
grid voltages within acceptable limits. The optimization routine selects the lower tap limit (position
0" in Figure 35.3.3) in order to minimize the voltage rise.
806 DIgSILENT PowerFactory 15, User Manual
35.3. VOLTAGE PROFILE OPTIMIZATION
Figure 35.3.3: Voltage Limits for LV Grids
The possible scenarios for optimization are summarized as follows:
1. There is a single tap position that will satisfy both LV grid lower and upper voltage limit -> this tap
is selected.
2. There are tap positions that will satisfy both LV grid lower and upper voltage limits -> the lowest
tap position is selected in order to favour limiting voltage rise in the production case.
3. There are tap positions that will satisfy the LV grid upper voltage limit, but all of them violate the
lower voltage limit -> the highest tap position that will not violate the upper voltage limit is selected.
4. There are tap positions that will satisfy the LV grid lower voltage limit, some of which will violate
the upper voltage limits -> the tap position that will not violate the upper voltage limit is selected,
even if lower voltage limits are violated further as a result.
5. There are no tap position/s that will satisfy both LV grid lower and upper voltage limits -> the
lowest tap position is selected in order to minimize voltage rise in the production case.
Note that Distribution Transformer Tap Limits, if specied in the Advanced Options, take precedence
over the Upper and Lower Voltage limits specied in the Basic Options.
35.3.2 Basic Options Page
Load Flow Calculation
This is a reference (pointer) to the load-ow command used by the optimization algorithm.
Voltage Limits for LV grids
Upper and lower voltage limits for LV grids (in per unit).
DIgSILENT PowerFactory 15, User Manual 807
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
Settings for Consumption Case
MV load and generation scaling factors for the consumption case. Generally, the consumption case will
have high demand (e.g. 100 %) and low generation (e.g. 0 %).
Settings for Production Case
MV load and generation scaling factors for the production case. Generally, the production case is the
opposite of the consumption case, and will have low demand (e.g. 25 %) and high generation (e.g. 100
%).
Show Load ow with optimized Transformer Taps, for
After the optimization of transformer taps for the consumption and production cases, a load ow is
calculated using the optimized tap settings. This radio button selects whether the load ow results
shown are for the consumption or production case.
35.3.3 Output Page
Report
A reference (pointer) to the result report output. It is possible to select the reports to be displayed, and
whether they are shown in Tabular or ASCII format.
35.3.4 Advanced Options Page
Distribution Transformer Tap Limits
Transformer Maximum Allowed Voltage Rise and Maximum Allowed Voltage Drop can optionally be
specied. These limits take precedence over the voltage limits specied on the Basic Options page.
35.3.5 Results of Voltage Prole Optimization
The result of a voltage prole optimization is a tabular or ASCII report with the recommended tap set-
tings, including details of MV loads with Critical Voltage Drop or Rise. An example of the Optimal
Transformer Tap Positions section of the report is shown below in 35.3.4 (results consistent with Fig-
ure 35.3.1, and the discussion in Section 35.3.1).
Figure 35.3.4: Voltage Prole Results
The recommended tap settings are also available from the exible data page of MV loads under the
load-ow calculation parameter c:nntap". To update the network model with the recommended tap
settings, the user may either manually adjust MV load tap positions, or click the Update Database icon
on the main toolbar ( ), and update the case with the calculated Distribution Transformer Taps. To
display a plot of the resultant prole for one feeder for both the consumption and production case, select
the Voltage Prole Plot icon ( ). Figure 35.3.5 shows an example plot, where:
min_v and max_v are the minimum and maximum transformer HV side voltages.
uminLV and umaxLV are the minimum and maximum transformer LV side voltages.
808 DIgSILENT PowerFactory 15, User Manual
35.4. TIE OPEN POINT OPTIMIZATION
uminLVfeed and umaxLVfeed are the minimum and maximum LV grid voltages.
Figure 35.3.5: Voltage Prole Plot
35.4 Tie Open Point Optimization
The function of the Tie Open Point Optimization (TOPO) (ComTieopt ) is to optimize a radial system
of connected feeders by determining the best location for network open points. An open point can be
moved by the TOPO tool by opening and closing switches on the networks to be optimized.
This chapter is separated into three sub-sections. Firstly, the steps to access the TOPO tool are de-
scribed. Next, the background and function of the TOPO tool is presented and nally the procedure for
running a Tie Open Point Optimization is described. The Tie Open Point Optimization Command can
accessed as shown in Figure 35.1.1
35.4.1 Tie Open Point Optimization Background
The function of the Tie Open Point Optimization (TOPO) tool is best explained using an example. Con-
sider the network illustrated in Figure 35.4.1
DIgSILENT PowerFactory 15, User Manual 809
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
Figure 35.4.1: Example network for Tie Open Point Optimization
The network consists of three feeders, one from each of the three stations". Each feeder begins at a
station" and ends at one of the two illustrated open points. The two open points in this network are not
necessarily the optimum open points. For example, it might be more economic (i.e. less network losses
and / or less impact of outages) to shift these open points by closing the open switches and opening
two switches in different positions on the feeders. The purpose of the TOPO tool is determine these
optimum open points automatically. Additionally, the TOPO tool can automatically consider network
voltage and thermal constraints - for instance it might be economic to shift an open point in terms of
reducing systems losses, however doing so might cause a cable to overload.
35.4.2 How to run a Tie Open Point Optimization
This section describes the procedure for running a Tie Open Point Optimization (TOPO) calculation.
The steps are summarized below, and discussed in more detail in the following sections:
How to Create Feeders.
How to congure the Tie Open Point Optimization Command.
How to congure constraints for the Tie Open Point Optimization.
How to congure the Advanced Options.
How to congure Reliability Options.
How to Create Feeders
The TOPO tool requires that feeders are dened for the section of the network that you wish to opti-
mize. Additionally, the TOPO tool only works on radial feeders - mesh systems cannot be optimized
810 DIgSILENT PowerFactory 15, User Manual
35.4. TIE OPEN POINT OPTIMIZATION
automatically. Furthermore, it is recommended that the target feeders for optimization do not have any
overloaded components or voltage violations in the base case.
To dene a feeder, right-click the cubicle at the beginning of the feeder and select the Dene Feeder.
Alternatively, for fast creation of multiple feeders right-click the bus the feeder/s are connected to and
select the option Dene Feeder. More information on feeders and feeder creation can be found in
Chapter 13: Grouping Objects, Section 13.5.
How to congure the Tie Open Point Optimization Command
After a set of feeders has been dened, open the TOPO tool and congure the basic options:
1. Click the Change Toolbox icon ( ) and select Distribution Network Tools.
2. Open the dialogue for the Tie Open Point Optimization tool ( ).
3. Use the selection control for Feeding Points to select previously dened feeder/s, or a feeder
Set". If the Select option is chosen and multiple feeders are selected, a Set" of feeders will
automatically be created within the active study case. By default the set will be named Tie Open
Point Optim. - Feeder Set.
Note: It is generally recommended to dene all feeders in the network as Feeders, and to conduct
a TOPO calculation for All Feeders.
4. Select the desired Objective Function to minimize losses and / or reliability indices. If Optimization
of Reliability Indices or Cost Optimization (Losses + Reliability) is selected, complete the required
elds on the Reliability page, see (How to congure Reliability Options).
5. Balanced, positive sequence" or Unbalanced" network representation can be selected. The
Load-ow command referenced below these radio buttons is automatically adjusted to the correct
calculation method based on this selection.
6. Optional: You can inspect and alter the settings of the load-ow command that is used for deter-
mining the losses and identifying the constraints of the system by clicking the blue selection arrow
next to load-ow command.
7. Optional: Change the Saving of solution" option. The two options are as follows:
Change Existing Network (Operation Scenario). This is the default option. The TOPO tool
modies the base network model. Note that if a variation is active, the changes will be
implemented in the variation.
Record to Operation Scenario. If you choose this option a selection control appears and you
can choose an existing operation scenario to save the results of the Optimization procedure
to. Alternatively, you can leave the selection empty and PowerFactory automatically activates
a new Operation Scenario called Tie Open Point Optimization Results". Any changes made
to the network as a result of the optimization procedure are stored within this operation sce-
nario. You can revert to the original network by disabling the scenario.
8. Optional: Disable the Report" ag. This control, enabled by default, allows you to turn off the
automatic printing of an ASCII report to the output window.
9. Optional: Select the Before Optimization and After Optimization results objects.
How to congure constraints for the Tie Open Point Optimization
It is optional whether you choose to consider thermal and voltage constraints for the Tie Open Point
Optimization. If you wish to consider constraints follow these steps:
1. Open the Tie Open Point Optimization dialogue and select the Constraints page.
DIgSILENT PowerFactory 15, User Manual 811
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
2. Optional: Choose to enable or disable the option Consider Thermal Constraints. If enabled, the
TOPO tool will automatically consider thermal constraints in the network. Therefore, if an optimal
point were to cause an thermal overload on any system component, then this would not be con-
sidered as a valid open point for reconguration of the system. There are two more options for
thermal constraints:
Global constraint for all components. This is the default option. If enabled you must enter a
maximum thermal loading percentage in the Max. thermal loading of components eld. Note
this option overrides the individual component thermal limits.
Individual constraint per component. Select this option to automatically consider each com-
ponents unique thermal rating. Note, the thermal rating for each component is determined
by the eld Max Loading within the Tie Open Point Optimization page of each component.
3. Optional: Choose to enable or disable the option Consider Voltage Constraints. If this option is
enabled then each terminal in the system is checked against the Lower and Upper limit of allowed
voltage. If a particular open point causes a voltage violation, then such an open point cannot be
considered as optimal". There are two options for conguring the upper and lower voltage limits:
Global constraints for all terminals (absolute value). If you choose this option then you must
enter an upper and lower voltage limit in the two corresponding elds within this dialogue
box.
Individual constraint per terminal. If you choose this option, then each terminal has a unique
voltage limit which is assigned on the Tie Open Point Optimization page of each terminal
(note that this excludes Substation internal nodes).
4. Optional: Choose to enable or disable the option Consider Voltage Drop / Rise. If this option is
enabled then each feeder in the system is checked against the Maximum Voltage Drop / Rise. If
a particular open point causes a voltage violation, then such an open point cannot be considered
as optimal". There are two options for conguring the maximum voltage drop / rise limits:
Global constraints for all feeders (percent). If you choose this option then you must enter the
Maximum Voltage Drop and Maximum Voltage Rise in the two corresponding elds within
this dialogue box.
Individual constraint per feeder. If you choose this option, then each feeder has a unique
voltage drop / rise limit which is assigned on the Tie Open Point Optimization page of each
feeder.
5. Choose the ignore all constraints for... option. You can use these options to optionally ignore
constraints where the nominal voltage is above or below user-dened thresholds entered here.
This can be useful for example to exclude all LV systems (say less than 1 kV) from the constraints
identication process as it may be acceptable to have these systems outside the normal" range.
How to congure the Advanced Options
The options in the Advanced page can generally be left on default values. The options are described
as follows:
Switches to be optimized. These options congure the switches / elements considered by the
optimization procedure.
All switches. All switches will participate in the optimization.
Selected switches. Only the selected switch types will participate in the optimization. For
example, if Circuit-Breaker" and Load-Breaker-Switch" are ticked, then both circuit breakers
and load breakers will be considered by the optimization. The switch type is dened on the
switch element Basic Data" page. Similar to Switch type, only the selected control types will
participate in the optimization. The control type is dened in switch element Reliability" page
in the Sectionalizing" eld. Switches are considered in the optimization only when its switch
type AND the control type satises the selected settings.
812 DIgSILENT PowerFactory 15, User Manual
35.5. BACKBONE CALCULATION
Assume each edge element is switchable. If selected, lines that do not have a switch can
also be switchable (either out of service or in service).
Maximum number of outer loops. This option controls the maximum number of outer loops which
is the total number of times the optimization procedure will be repeated when searching for an
optimal solution.
Maximum change in system losses. This option determines the threshold above which a change
in open point is considered. If the reduction in losses is below this threshold, the iteration will stop.
Constraint Priority options can be selected for the relevant constraints. For example, consider the
following scenario:
The TOPO calculation is to consider Global Thermal constraints, with the Max. thermal
loading of components set to 100 %, and Global Voltage Constraints with a Lower limit of
0.90 pu.
The constraint priorities for loading constraint is set to 1, and for voltage lower limit is set to
3.
In the current conguration, a line is loaded to 102 % of rating.
Shifting the open point causes the voltage at a terminal on an adjacent feeder to decrease 5
% below 0.90 pu (i.e. 0.855 pu).
As a result of the priorities, the thermal loading deviation will be penalized" to a greater
extent than the voltage deviation, and the open point will change, despite the resultant voltage
deviation.
How to congure Reliability Options
If Optimization of Reliability Indices is selected, the user may select between optimization of SAIFI or
EPNS indices on the Reliability page. Where:
SAIFI (System Average Interruption Frequency Index) in units of [1/C/a], indicates how often the
average customer experiences a sustained interruption in one year. Note that the number of
customers at each load should be dened on the Reliability page.
EPNS (Expected Power Not Supplied) is in units of [MW]. Multiplying EPNS by the study duration
gives the expected energy not supplied.
Contingency denitions can be optionally considered for Busbar / terminals, Lines / Cables, and Trans-
formers.
If Cost Optimization (Losses + Reliability) is selected, Costs for Losses and Interruption costs per cus-
tomer should be dened, as these are used in the Objective Function calculation to determine the
network conguration that optimizes both Losses and Reliability.
35.5 Backbone Calculation
This section describes the Backbone Calculation command (ComBbone) dialogues and presents an
example calculation. To run a Backbone Calculation, either:
Select the Backbone Calculation icon under Distribution Network Tools as shown in Figure 35.1.1.
From the Data Manager select and then right-click previously dened feeders and click Calculate
Backbone Calculation....
From the main menu, select Calculation Distribution Network ToolsBackbone Calculation.
DIgSILENT PowerFactory 15, User Manual 813
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
The Backbone Calculation is used to determine the main paths between adjacent feeders connected via
open points, that may serve to restore lost load in case of failures inside a feeder. The command creates
objects in the Network Data folder (ElmBbone) with the Backbones constituent network elements. This
simplies visualization of the main path(s) between feeder(s), particularly in large distribution networks
where the main paths may not be apparent from the single line diagram.
Backbone objects are created for all feeders or a user-dened set of feeders based on path load, cross-
section, network structure, or scoring method criteria. The command can optionally consider existing
remote controlled switches at open points, and the availability of connections to alternative transformers
or substations when creating Backbones.
From the Backbone dialogue, the Backbone contents (elements) can be viewed, marked in the graphic,
and checked (see example in Section 35.5.4). The Check Backbone button is used to verify that the
backbone object still denes a valid inter-feeder path matching its calculated parameters.
35.5.1 Basic Options Page
Generate backbones
Specify all feeders or a user-dened set of feeder/s for the Backbone Calculation.
Calculation based on:
Path load: Backbones are determined based on the MVA load on the paths between adjacent
feeders.
(Optional) specify the max. number of backbones per feeder.
Optionally select to Report results to the output window, including details of backbone open
points.
Pointer to load-ow command (note for balanced calculations only).
Note: For calculations based on path load, feeder is supposed to be operated radially must be
selected on the Basic Options page of the Feeder/s selected for the Backbone calculation,
as well as all connected feeders.
Cross section: Backbones are determined based on the cross-section of lines/cables connecting
adjacent feeders.
(Optional) specify the max. number of backbones per feeder.
Choose to determine backbone using either the mean cross section of lines in the path or
the minimum cross section in path.
Optionally select to Report results to the output window, including details of backbone open
points, and minimum and mean cross-section.
Network structure: Backbones are determined based on the network structure. If none of the
options are selected, Backbones are calculated for all feasible inter-feeder paths.
(Optional) create backbones only if path leads to different substation.
(Optional) create backbones only if path leads to different HV/MV-transformer.
(Optional) create backbones only if tie open point is remote-controlled (as specied on the
Reliability page of each switch).
Optionally select to Report results to the output window, including details of backbone open
points.
Scoring method: Backbones are determined using a scoring algorithm based on the restoration
ability of the adjacent feeder. Scoring method settings are entered on the Scoring Settings page.
814 DIgSILENT PowerFactory 15, User Manual
35.5. BACKBONE CALCULATION
(Optional) specify the max. number of backbones per feeder.
Optionally select to Report results to the output window, including details of backbone open
points, and loading/voltages of limiting elements.
Pointer to load-ow command (note for balanced AC calculation only).
Note: For calculations based on scoring method, feeder is supposed to be operated radially must
be selected on the Basic Options page of the Feeder/s selected for the Backbone calculation.
35.5.2 Scoring Settings Page
If scoring method is selected on the Basic Options page, enter scoring settings on the Scoring Set-
tings page. Backbones are determined based on the restoration ability of every inter-feeder path using
Topology, Loading violation, and Voltage violation criteria.
For each criteria satised, the path receives the entered number of points. The path with the greatest
number of points is the winning" path.
Topology scoring
Dene scoring settings for Topology scoring criteria:
Path leads to different substation.
Path leads to different HV/MV-transformer.
Tie open point is remote controlled.
Greater than a specied number of remote-controlled switches on path. A path to another Feeder
receives the entered number of points if more (closed) remote-controlled switches than the entered
number are on the path of the Backbone contained in the initial feeder.
Loading violation scoring
Assign Points for loading violations based on individual loading constraints or global loading constraints.
If no element is overloaded, the calculation assigns the specied number of points. If global loading
constraints is selected, then Max. Loading should also be dened.
Dene scoring settings for Loading violation scoring criteria:
Restoring transformer (restoration mode). Consider a path from initial feeder A" to feeder B".
Feeder A" is de-energized and the connection to feeder B" via the tie open point is closed.
A load ow is calculated in this so-called restoring mode and the entered number of points is
assigned if the supplying HV/MV-transformer is not overloaded.
On backbone of restoring feeder (normal mode). Consider a path from initial feeder A" to feeder
B". A load ow is calculated (in so-called normal mode) and the entered number of points is
assigned if no element on the potential backbone path contained in feeder B", the restoring
feeder is overloaded in the base case.
On complete backbone (restoration mode). Consider a path from initial feeder A" to feeder B".
Feeder A" is de-energized and the connection to feeder B" via the tie open point is closed. A load
ow is calculated in this so-called restoring mode and the entered number of points is assigned if
no element on the potential backbone path is overloaded.
In complete feeder (restoration mode). Consider a path from initial feeder A" to feeder B".
Feeder A" is de-energized and the connection to feeder B" via the tie open point is closed.
A load ow is calculated in this so-called restoring mode and the entered number of points is as-
signed if no element in the complete resulting feeder is overloaded (not only on the backbone as
for the previous option).
DIgSILENT PowerFactory 15, User Manual 815
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
Voltage violation scoring
Dene scoring settings for voltage violation criteria based on individual voltage drop/rise constraints or
global voltage drop/rise constraints. If global voltage drop/rise constraints is selected, then Max. drop
and Max. rise should also be dened. If no voltage limits are violated, the calculation assigns the
specied number of points.
On backbone of restoring feeder (normal mode). Consider a path from initial feeder A" to feeder
B". A load ow is calculated (in so-called normal mode) and the entered number of points is
assigned if no terminal on the potential backbone path contained in feeder B" violates its voltage
drop constraint and voltage rise constraint.
On complete backbone (restoration mode). Consider a path from initial feeder A" to feeder B".
Feeder A" is de-energized and the connection to feeder B" via the tie open point is closed. A load
ow is calculated in this so-called restoring mode and the entered number of points is assigned if
no terminal on the potential backbone path violates its voltage drop and rise constraint.
In complete feeder (restoration mode). Consider a path from initial feeder A" to feeder B".
Feeder A" is de-energized and the connection to feeder B" via the tie open point is closed.
A load ow is calculated in this so-called restoring mode and the entered number of points is as-
signed if no terminal in the complete resulting feeder violates its voltage drop and rise constraint
(not only on the backbone as for the previous option).
35.5.3 Tracing Backbones
When a Backbone is calculated, it always contains a connection to another Feeder via a tie open point.
In the worst case of an outage close to the feeding point of the initial feeder, the initial feeder is de-
energized by opening its feeding switch and restored by the second Feeder via the tie open point. These
restoration steps can be simulated for an existing Backbone using the Backbone trace functionality. The
trace buttons are located beside the ComBbone command, and can also be accessed via the main
menu Calculation Distribution Network ToolsStart trace....
35.5.4 Example Backbone Calculation
Consider a case where there are two parallel feeders with multiple open-points. A Backbone calculation
is conducted based on a criteria of minimum cross section in path, and with the Max. number of
backbones per feeder set to 1". Backbone objects are created within the Network Data folder.
To highlight Backbones, from the main menu select View Diagram Colouring (or select the Diagram
Colouring icon). Under 3. Other select TopologyFeeders. Click on Colour Settings, and on the Feeders
page select Highlight backbones.
Figure 35.5.1 shows the result, where the path through Open Point 2" is highlighted as a result of the
cross section of conductors in this path. Refer to section 35.5.3 for details of how to trace the Backbone
restoration steps.
816 DIgSILENT PowerFactory 15, User Manual
35.6. OPTIMAL CAPACITOR PLACEMENT
Figure 35.5.1: Example Backbone Calculation
35.6 Optimal Capacitor Placement
Optimal Capacitor Placement (OCP) is an automatic algorithm that minimizes the cost of losses and
voltage constraints (optional) in a distribution network by proposing the installation of new capacitors
at terminals along the selected feeder/s. The optimal size and type of capacitor is selected from a
list of available capacitors entered by the user. The algorithm also considers the annual cost of such
capacitors and only proposes new capacitors for installation when the reduction of energy loss and
voltage constraint costs exceeds the annual cost of the capacitor (investment, maintenance, insurance
etc).
To access the OCP tool, select the OCP toolbar from the toolbar selection window as illustrated in
Figure 35.6.1.
Figure 35.6.1: Optimal Capacitor Placement Tools
The buttons in the OCP toolbar are as follows:
The main Optimal Capacitor Placement command is started with the Calculate Optimal Capacitor
Placement icon ( ). The command and the various user-dened options are described in detail
in Sections 36.2.1 to 35.6.6.
After a successful optimization, the list of nodes (terminals) where capacitors are proposed for
DIgSILENT PowerFactory 15, User Manual 817
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
installation can be accessed by selecting the Show nodes with New Capacitors icon ( ).
Following a successful OCP, the list of proposed capacitors can be accessed with the Show New
Capacitors icon ( ).
The Remove previous solution icon ( ) deletes the results (removes all placed capacitors) from
a previous OCP routine.
To list all results from the OCP in a ASCII text report printed to the output window use the Output
Calculation Analysis icon ( ). The report also displays the original system losses and voltage
constraint costs and such costs after the installation of the proposed capacitors.
35.6.1 OCP Objective Function
The OCP optimization algorithm minimizes the total annual network cost. This is the sum of the cost of
grid losses, the cost of installed capacitors, and optionally the ctitious penalty cost of voltage violations:
TotalCosts = CLosses +
m

i=1
(CCap
i
) +
n

i=1
(CV oltV iol
i
) (35.1)
Where:
CLosses is the annual cost of grid losses (i.e. including the grid losses, not only the feeder/s
for which the optimal capacitor placement is performed). Essentially, this is the I
2
R loss of all
elements in the network.
CCap
i
is the annual cost of a capacitor (investment, maintenance, insurance), as entered by the
user in the list of possible capacitors. m is the total number of installed capacitors.
CV oltV iol
i
corresponds to a ctitious cost used to penalize a bus (terminal) voltage violation. n
is the total number of feeder terminals with voltage violations.
Note that if the OCP is not able to reduce the Total Costs by installation of a capacitor/s, the following
message will be reported:
DIgSI/err - Costs can not be reduced with the given
"Available Capacitors"
Evaluating the Voltage Violation Cost
As there is no real cost for a voltage violation, if the user wants to consider voltage violations as part
of the OCP algorithm, they must assign a ctitious cost for such violations. The voltage violation cost
is calculated based on the user specied voltage limits and penalty factors. The voltage limits are
dened in the Basic Options tab of the OCP command dialogue (vmin and vmax parameters, see
Section 36.2.1: Basic Options Page). The penalty factors are dened in the Advanced Options tab of
the same command (weight and weight2 elds, see Section 35.6.6: Advanced Options Page). The
penalty values are applied for voltages inside the admissible voltage band (parameter weight: Penalty
Factor 1) and for voltages outside the admissible band (parameter weight2: Penalty Factor 2).
There are two possible situations for a terminal voltage and the calculation for the ctitious voltage
violation cost is slightly different for each situation. The two situations are explained as follows:
1. In situation one, the voltage U of a terminal is within the allowed voltage band (between vmax and
vmin) but deviates from the nominal voltage of 1 p.u. The penalty cost is calculated as:
CV oltV iol = w1 U (35.2)
818 DIgSILENT PowerFactory 15, User Manual
35.6. OPTIMAL CAPACITOR PLACEMENT
where:
U is the absolute deviation from the nominal voltage in p.u. (U = |U U
n
|).
w1 is the penalty factor (parameter weight) inside the admissible voltage band in $/% from the
Advanced Options tab.
2. For situation two, the voltage U is outside the allowed voltage band (greater than vmax or less
than vmin) and the penalty cost is calculated as:
U > U
n
+ U
max
, if voltage is higher than max. limit:
CV oltV iol = w2 (U U
max
) +w1 U
or
U < U
n
U
min
, if voltage is lower than min. limit:
CV oltV iol = w2 (U U
min
) +w1 U
where
U is the absolute deviation from the nominal voltage U
n
in p.u.
U
n
+ U
max
is the higher voltage limit in p.u.
U
n
U
min
is the lower voltage limit in p.u.
w1 is the penalty factor (parameter weight) for voltage inside the admissible voltage band in
$/% from the Advanced Options tab.
w2 is the penalty factor (parameter weight2) for voltage outside the admissible voltage band
in $/% from the Advanced Options tab.
The algorithm can be summarized in as follows:
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 35.6.2 illustrates the concept of the voltage band violation cost.
Figure 35.6.2: Fictitious cost assigned by voltage band violations
DIgSILENT PowerFactory 15, User Manual 819
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
35.6.2 OCP Optimization Procedure
To nd the optimal conguration of capacitors, PowerFactory applies the following steps:
First a sensitivity analysis determines the best candidate terminal; This involves evaluating the
impact on the total cost (Losses + Voltage Violations) by connecting the largest available capacitor
from the user-dened list of capacitors to each target feeder terminal. At this stage the cost of the
largest capacitor is excluded.
Terminals are ranked in descending order of total cost reduction. The terminal that provides the
largest cost reduction becomes the best candidate terminal for a new capacitor.
The optimisation routine then evaluates the cost reduction at the candidate terminal using each
available capacitor from the user-dened list including the cost of each capacitor. The best
capacitor is the one that reduces the cost the most when also considering the annual cost of that
capacitor.
Repeat step one but any terminals that have previously been selected as candidates for capacitor
installation are not included in the ranking of candidate terminals. The algorithm stops when all
terminals have had capacitors installed, or the installation of capacitors cannot reduce costs any
further.
Note: If Load Characteristics are considered, then the above algorithm will be completed for every in-
dependent load state. See Section 35.6.5 for how the load states are determined.
35.6.3 Basic Options Page
Figure 35.6.3: Basic Options page for Optimal Capacitor Placement
Feeder
820 DIgSILENT PowerFactory 15, User Manual
35.6. OPTIMAL CAPACITOR PLACEMENT
Here the target feeder for the optimum capacitor placement is selected. The feeder is a special Power-
Factory element that must be created by the user before it can be selected in this dialogue (for informa-
tion about feeders refer to Chapter 13: Grouping Objects 13.5 (Feeders)).
Method
Optimization; This option calculates the optimal placement for capacitors using the methodology
described in Section 35.6.2. The output of the analysis is printed to the output window and any
new capacitors are connected to the target terminal/s if the Solution Action - Install capacitors
is selected.
Sensitivity Analysis; Performs the sensitivity analysis that ranks the candidate terminals according
to their impact on the total loss cost excluding the capacitor cost. The output is presented in the
Output Window. This option provides a quick indication of the most effective place for a single
capacitor. No capacitors are installed if this option is selected.
Network Representation
Here either a Balanced, positive sequence or a Unbalanced network representation can be selected.
The Load-ow command referenced below these radio buttons is automatically adjusted to the correct
calculation method based on this selection.
Constraints
Here the voltage constraint limits (upper and lower) can be entered, along with a limitation for the Total
Reactive Power of all Capacitors that can be added by the Optimal Capacitor Placement tool. The
total reactive power of all capacitors includes all existing capacitors along the feeder plus any more
capacitors proposed by the optimization tool.
Note: The voltage constraints are meaningless if penalty factors for deviations outside of the nominal
range are not entered as discussed in detail in Section 35.6.1: OCP Objective Function.
Energy Costs
The energy cost ($/kWh) can be entered manually or taken from an External Grid. Note, if more than
one External Grid exists in the network, the algorithm takes the rst External Grid by database ID. The
calculation of the cost of the network losses is as follows:
TC = MC 8760 L (35.3)
where:
TC is the total cost per annum in $;
MC is the energy cost of losses in $/kWh; and
L is the total losses in kW.
Note that if characteristics are applied to the loads and the analysis uses the option Consider Load
Characteristics (see Section 35.6.5), then the losses calculation becomes a summation over each time
state considered.
Note: The default energy cost units are $/kWh. However, this can be changed to Euro or Sterling () via
the project settings from the main menu bar. Edit Project. . . Project SettingsInput Variables
tabCurrency Unit.
DIgSILENT PowerFactory 15, User Manual 821
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
Solution Action
Report only (do not modify network); The result of the optimisation is a report to the Output
Window only, no modications are made to the network model.
Install capacitors (modify network). If this option is chosen, the capacitors that the optimization
proposes for the network will be automatically installed. However, note that the single line diagram
is not automatically updated, only the network model database. To draw the installed capacitors
in the SLD the option must be selected in the Advanced Options page (see section 35.6.6). The
placed capacitors can be also visualized on the Voltage Prole Plot of the Feeder, see (Viewing
results on the Voltage Prole Plot) in Section 35.6.7.
35.6.4 Available Capacitors Page
Figure 35.6.4: Available Capacitors page for Optimal Capacitor Placement
On this page, the user denes the available capacitors for the OCP command. One capacitor is entered
per row. To add a new capacitor, right-click within any cell and select the option Insert Rows, Append
Rows or Append n Rows. The following elds are mandatory for each row:
Ignored; If this option is checked, then the capacitor specied in this row will be ignored by the
OCP command.
Q per Step Mvar; Here the nominal reactive power of the capacitor in Mvar per step is specied.
Switchable; If this option is enabled then the algorithm can use a capacitor with multiple steps.
Max. Step; If the Switchable option is enabled, then this option species the maximum number of
steps available to the optimisation algorithm. The maximum available reactive power is therefore
Max. Step

Q per Step Mvar.
Technology; Species whether the capacitor is Three-phase or Single-phase.
822 DIgSILENT PowerFactory 15, User Manual
35.6. OPTIMAL CAPACITOR PLACEMENT
Cost; Important. This is the total cost of the capacitor bank per annum. This is a critical parameter
for the OCP command as the capacitor will only be installed if the losses offset by its installation
are greater than the annual cost of the capacitor.
Note: It is theoretically possible to force the installation of a particular capacitor at an optimal location
on a feeder by dening a very low cost for the capacitor, and limiting the number of capacitors to
say, one.
Available Capacitors
Allow use of each capacitor multiple times; This is the default option and it means that every
capacitor in the list can be used at more than one feeder terminal (multiple times).
Use each capacitor only once; If this option is enabled then each capacitor can only be placed at
one terminal along the target feeder.
Treatment of 3-phase capacitors This option allows the specication of the technology type for 3-
phase capacitors. This option is only available when the Network Representation is set to Unbalanced
in the Basic Options page.
35.6.5 Load Characteristics Page
Figure 35.6.5: Load Characteristics Page for Optimal Capacitor Placement
If load characteristics are to be considered by the optimization algorithm, then the option Consider Load
Characteristics should be enabled on this page.
Load States
Two options are available:
DIgSILENT PowerFactory 15, User Manual 823
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
1. Use existing Load States; If this option is selected then the system load state that is active in
the system (the load state observed as a result of a single load-ow at the current point in time)
will be used as the load state for the optimization algorithm. For example, if there is a 1 MW load
with a active characteristic that gives the current load value of 0.6 MW, then the load used for the
optimization will be 0.6 MW, not 1 MW.
2. Create Load States; If this option is selected then PowerFactory automatically discretises all load
characteristics into a number of states using a sophisticated algorithm. The algorithm iterates
through every hour of the selected time period to determine the number of unique operating load
states that exist. Every operating state is assigned a probability based on the number of times
that it occurs and this probability is used to determine the cost of losses for each state.
35.6.6 Advanced Options Page
Figure 35.6.6: Advanced Options page for Optimal Capacitor Placement
Candidate Buses
All terminals in feeder; If this option is selected, every terminal in the feeder is considered as a
possible candidate for a new capacitor.
Percentage of terminals in feeder; Selecting this option and entering x percent for the parameter
means the optimization algorithm will only consider x percent of the feeder terminals as targets
(candidates) for new capacitors. The ranking of terminals is according to the Sensitivity Analysis
as described in Section 35.6.2.
Max. Number of Iterations
This parameter determines the maximum number of iterations of the optimization algorithm before it
automatically stops. As a maximum of one capacitor is placed per iteration, this can effectively limit the
total number of capacitors that can be placed by the optimization routine.
824 DIgSILENT PowerFactory 15, User Manual
35.6. OPTIMAL CAPACITOR PLACEMENT
Max. Execution Time
This parameter species the maximum time the optimisation routine can run before it is automatically
interrupted.
Penalty Factors for Voltage Deviation
Factor for Deviation from 1 p.u (weight); This parameter is used to determine the total ctitious
cost for terminals deviating from 1 p.u. The cost is applied to each phase of the terminal. For
example, if a three phase terminal voltage is measured at 0.95 p.u for each phase and the ctitious
cost rate is $10,000/% then the total cost of this deviation is $150,000 (5%

$10,000/%

3).
Note: If no penalty costs are to be applied within the admissible band, this factor should be set to zero.
If this value is greater than zero, the program will add costs to all terminals with voltage different
than 1.0 p.u.
Additional Factor outside range [vmin, vmax] (weight2); This parameter can be used to apply an
additional weighting factor to the rst deviation factor when the terminal voltage falls outside the
voltage limits dened on the Basic Options page. The factor is cumulative, so using the previous
example and a additional factor of 20,000/% with a vmin of 0.975, the ctitious cost becomes
$300,000 (5%

$10,000/% + 2.5%

$20,000/%)

3.
Note: The values for the two voltage penalties weight and weight2 should be carefully chosen be-
cause the target optimization function is a sum of three objective functions (losses, capacitor cost
and voltage deviation cost). If the voltage weights are too high, the algorithm might not consider
the other two objectives. Likewise, if they are very low, the algorithm may not consider voltage
violations at all.
Print report after optimisation
The automatic printing of the optimisation results can be disabled by unchecking this option.
Draw the installed capacitors
This option draw the installed capacitors in the Single Line Diagram when checked.
35.6.7 Results
The last three OCP tool-bar buttons give access to the optimization results.
Show Nodes with New Capacitors
When pressing the Show Nodes with New Capacitors icon ( ), after a successful optimization is com-
plete, a list appears of all terminals where capacitors are proposed for installation.
Show New Capacitors
Pressing the Show New Capacitors icon ( ) shows a list of proposed new capacitors.
Output Calculation Analysis
This Output Calculation Analysis icon ( ) generates a report with the results of the sensitivity analysis
and the nal optimization procedure.
Viewing results on the Voltage Prole Plot
DIgSILENT PowerFactory 15, User Manual 825
CHAPTER 35. DISTRIBUTION NETWORK TOOLS
Following a successful optimization, the new capacitors can be visualized on the voltage prole plot of
the feeder. To enable this, navigate to the voltage prole plot display after the optimization and click the
rebuild button. An example of such a plot showing the placed capacitors is shown in Figure 35.6.7.
Figure 35.6.7: Voltage prole plot showing the new capacitors after an Optimal Capacitor Optimisation.
Removing Capacitors Placed by the Optimal Capacitor Placement Routine
The capacitors placed by the OCP command can be removed at any time after the analysis has been
completed by using the Remove previous solution icon ( ). This button is like an Undo for the Optimal
Capacitor Placement.
826 DIgSILENT PowerFactory 15, User Manual
Chapter 36
Cable Sizing
36.1 Introduction
The chapter presents the PowerFactory tools for sizing cables, according to the Cable Reinforcement
method and the International Standards method (IEC 60364-5-52, NF C15-100, BS 7671, NF C13-200).
International Standards Method. Either verify the suitability of the assigned line Types or recom-
mend new line Types according to the selected International Standard.
Cable Reinforcement Method. Either verify the suitability of the assigned line Types or recommend
Types according to user-dened voltage, thermal, and short-circuit constraints.
The optimization may be performed on a network model without any cable/line types yet dened, based
on the load and power ows in the active study case.
To access the Cable Sizing command (ComCabsize), select the Change Toolbox icon ( ), Additional
Tools, and then select the Cable Sizing icon ( ), as illustrated in Figure 36.1.1.
DIgSILENT PowerFactory 15, User Manual 827
CHAPTER 36. CABLE SIZING
Figure 36.1.1: How to access the Cable Sizing command
828 DIgSILENT PowerFactory 15, User Manual
36.2. CALCULATION OPTIONS
36.2 Calculation Options
36.2.1 Basic Options Page
Figure 36.2.1: Basic Options page for Cable Reinforcement Optimization
Method
Select to execute the Cable Sizing command based on either:
International Standards applicable to low-voltage networks up to 1kV, IEC 60364-5-52, NF C15-
100 and BS 7671, or applicable to medium-voltage networks 1kV to 33kV, NF C13-200. Refer to
the standards for further details.
Cable Reinforcement with user-dened types and constraints.
Note: Standards tables for cable ampacity, cross-section, derating factors, and impedances are stored
in the Database SystemModulesCable Sizing folder.
Further details are given in , too.
Lines/Feeders
If Method is set to International Standards, specify the Line/s for the Cable Sizing analysis.
If Method is set to Cable Reinforcement, specify the Feeder/s for the Cable Reinforcement analy-
sis.
DIgSILENT PowerFactory 15, User Manual 829
CHAPTER 36. CABLE SIZING
Mode
If Verication is selected, then the command will assess the suitability of the existing line types:
For the International Standards Method, the command will verify the suitability of the line/ca-
ble in accordance with the selected standard.
For the Cable Reinforcement Method, the command will verify the suitability of the line/cable
in accordance with the selected constraints and / or network consistency criteria. At least
one of Thermal Loading Limits, Consider Voltage Drop Per Terminals, Consider Voltage Drop
Along Feeder, Short Circuit Loading Limits, and Network Consistency must be selected.
If Recommendation is selected:
For the International Standards Method, the command will create new cable types for the low
voltage and medium voltage grids according to the selected international standard. The cable
derating factor will be set based on the installation method, specied on the Line Elements
Cable Sizing page. Types will be created in the target folder, or if no folder is selected, inside
the Equipment Type Library.
For the Cable Reinforcement Method, the command will recommend line/cable types for
those lines without Types yet dened, and those that cause violations of the specied con-
straints. Reference to a folder that contains the overhead / cable types to be considered
should be provided. This may be a global library, however it is recommended that the avail-
able types be stored in a local project library. PowerFactory will automatically select the
lines/cables with a voltage rating suitable for the line element.
Note: Line/cable cost data in $/km is entered on the Cable Sizing page of the line type.
Network Representation
Balanced, positive sequence or Unbalanced network representation can be selected. The Load-ow
command referenced below these radio buttons is automatically adjusted to the appropriate calculation
method based on this selection.
Load Flow, Short Circuit
These are a references (pointers) to the load-ow command and short-circuit command (if applicable)
used by the optimization algorithm. For a Cable Reinforcement calculation in Verication Mode, the user
can optionally consider Short Circuit Loading Limits. The Short Circuit Calculation command will also
be automatically adjusted based on the calculation method selected. However, if switching between
Balanced and Unbalanced representation, the user should ensure that the short-circuit calculation is
set to the required fault type.
830 DIgSILENT PowerFactory 15, User Manual
36.2. CALCULATION OPTIONS
36.2.2 Constraints Page
Figure 36.2.2: Constraints page for Cable Reinforcement Optimization
Constraints options are only applicable if Cable Reinforcement is selected on the Basic Options page.
Thermal Loading Limits
Optionally select to consider Thermal Loading Limits. There are two options for thermal constraints:
Global Constraints For All Lines. This is the default option, where individual component thermal
limits are ignored. If enabled, a maximum thermal loading percentage must be entered in the
Maximum Thermal Loading eld.
Individual Constraint Per Line. Select this option to automatically consider each components
unique thermal loading limit. Note, the thermal rating is specied in the eld Max Loading within
the Load Flow tab of each line.
Consider Voltage Drop Per Terminals
Optionally select to Consider Voltage Drop Per Terminals. There are two options for terminal voltage
drop constraints:
Global Constraints For All Terminals (absolute value). If selected, a lower voltage limit must be
entered in the Lower Limit of Terminal Voltage eld.
Individual Constraint Per Terminal. Note, the voltage limit is specied in the Load Flow tab of each
terminal.
Consider Voltage Drop Along Feeder
For balanced calculations, optionally select to Consider Voltage Drop Along Feeder. The voltage drop
DIgSILENT PowerFactory 15, User Manual 831
CHAPTER 36. CABLE SIZING
is calculated as the absolute voltage difference between the source terminal of the feeder and the nal
terminal of the feeder. There are two options for feeder voltage drop constraints:
Global Constraints For All Feeders. If this option is selected, then the maximum voltage drop must
be entered in the Maximum Voltage Drop eld.
Individual Constraint Per Feeder. Note, the maximum voltage drop is specied in the Load Flow
tab of each feeder.
Short Circuit Loading Limits
When the Mode is set to Verication, optionally select to consider Short Circuit Loading Limits. Con-
straints can be entered in the Maximum Loading eld as a percentage of the rated short-circuit current
in the Type data for lines and terminals, etc.
Note: Depending on the system topology, on the loads and on the length of the feeder, it might not be
possible to avoid voltage drop violations of some terminals or feeders. This can be mitigated by
the installation of a capacitor/s during a post-processing optimization. See Section 35.6: Optimal
Capacitor Placement.
36.2.3 Output Page
Figure 36.2.3: Output options page for Cable Reinforcement Optimization
Output
Various output options for the optimization results are possible.
Report Only: Any new line types are listed in a pre-dened report displayed in the Output Window.
832 DIgSILENT PowerFactory 15, User Manual
36.2. CALCULATION OPTIONS
Modication of Cables Type in the Existing Network: If this option is selected, the Report will be
generated and the optimization routine will update the network model with the proposed types.
Note that this option is only available when the Mode is set to Recommendation on the Basic
Options tab.
Create a New Variation with Recommended Cables: If this option is selected, the Report will be
generated and the optimization routine will create a Variation with the proposed modications.
Note that this option is only available when the Mode is set to Recommendation on the Basic
Options tab.
Report
This is a reference (pointer) to the result report output, which details calculation settings, and results
of the verication or recommendation. For more information about the result language format see
Chapter 17: Reporting and Visualizing Results, Section 17.2.
Results
This is a reference (pointer) to the results output. It is possible to select an alternative results le.
Results are indexed as follows for the Cable Reinforcement method:
0. Initial value - Initial calculation of all parameters of feeder, ComCabsize, lines and terminals.
1. Thermal lines verication - Only those lines variables are written which violate the thermal con-
straint.
2. Thermal lines recommendation - Only those lines variables are written, for which a new cable
type is recommended during thermal recommendation process. The cost of improvement is also
written.
3. Thermal lines cannot be solved - Only those lines variables are written, that are unsolvable and
still violate thermal constraints after thermal recommendation process.
4. Voltage verication - Only those terminals variables are written which violate voltage constraints.
5. Voltage recommendation - Only those lines variables are written, for which a new cable type is
recommended during voltage recommendation process. The cost of improvement is also written.
6. Terminals cannot be solved - Only those terminals variables are written which are unsolvable and
still violate voltage constraints after the voltage recommendation process.
7. Consistency verication - Only those terminals variables are written which violate network consis-
tency.
8. Consistency recommendation - Only those lines variables are written, for which a new cable type
is recommended during the consistency improvement process. The cost of improvement are also
written.
9. Consistency violation - Only those terminals variables are written that are unsolvable and still
violate network consistency after the recommendation process.
10. Changed cables - Only those lines variables are written, for which a new cable type is recom-
mended after the complete load ow optimization process.
11. Short-circuit verication - Only those lines variables are written which violate short-circuit con-
straints.
Results are indexed as follows for the International Standards method:
100. Pre-verication results.
101. Post-verication results.
102. Pre-recommendation results.
103. Post-recommendation results.
DIgSILENT PowerFactory 15, User Manual 833
CHAPTER 36. CABLE SIZING
36.2.4 Advanced Options Page
36.2.4.1 International Standards Method
If International Standards and Recommendation is selected on the Basic Options page, then congure
the Advanced Options as follows.
Figure 36.2.4: Advanced Options page for Cable Sizing International Standards Method
Cable Sizing
Dene the Safety margin for the cable current capacity in percent. If a non-zero safety margin is
entered, a cable with higher capacity is selected.
Optionally select to Set cable electrical parameters according to the IEC 60909 to set cable resis-
tance and reactance parameters from conductor cross-section and material according to the IEC
60909 calculation.
Select whether to Use design parameters of the Cable Sizing command, in which case a new type
will be created according to the type design parameters from the command. Or, select to Use
design parameters of the assigned cable type, in which case a new type will be created according
to the existing line type from its rated values (only current and cross-section values could be
different). This is only applicable if the analyzed line has a type assigned. Otherwise, a new type
will be created according to the command parameters.
834 DIgSILENT PowerFactory 15, User Manual
36.2. CALCULATION OPTIONS
36.2.4.2 Cable Reinforcement Method
If Cable Reinforcement is selected on the Basic Options page, then congure the Advanced Options as
follows.
Figure 36.2.5: Advanced Options page for Cable Sizing - Cable Reinforcement Method
Network Consistency
This option, if enabled, forces the optimization routine to complete a nal consistency" check of the
Line Type rated nominal current based upon one of two criteria:
1. Sum of feeding cables >= Sum of leaving cables; or
2. Smallest feeding cable >= Biggest leaving cable.
To explain what is meant by feeding cable" and leaving cable" consider the example feeder shown in
Figure . This network is dened as a single feeder" that begins at the Source" terminal. Consider now
Terminal A". This terminal is supplied by Line A" and is also connected to two other lines, Line B" and
Line C". In this case, for Terminal A", Line A" is considered as a feeding cable" and lines B and C as
leaving cables".
Considering now Terminal B", Lines B and C are feeding cables whereas Lines D and E are leaving
cables". Feeding cables" are dened as those cables with a power ow direction that is into the con-
necting node. For a radial feeder with no embedded generation, this is generally the cables closest to
the beginning of the feeder. All other cables are dened as leaving cables".
In consistency check option 1, the cross sectional area (or nominal current) of the feeding cables are
summated and compared with the sum of the cross sectional area (or nominal current) of the leaving
cables for each terminal. If the sum of the leaving cables is greater at any terminal then the network is
considered non-consistent.
DIgSILENT PowerFactory 15, User Manual 835
CHAPTER 36. CABLE SIZING
For consistency check option 2, the smallest feeding cable is compared with the largest leaving cable
for each terminal. If the largest leaving cable is bigger than the smallest feeding cable, then the network
is considered non-consistent.
Figure 36.2.6: Example feeder network
Recommended Options
Available when Mode is set to Recommendation on the Basic Options tab.
Specify the Max. Voltage Deviation in Type Selection in percent. If "0%" is entered, the rated
voltage on the cable type should match the rated voltage of the terminal to which it connects. If a
non-zero value is entered, the rated voltage of the cable type can differ by the dened percentage.
Optionally select to Assign Missing Line Types. Note that for low voltage networks (less than 1kV)
the line type rated voltage should be equal to 1kV.
836 DIgSILENT PowerFactory 15, User Manual
36.2. CALCULATION OPTIONS
36.2.5 Type Parameters
Figure 36.2.7: Type Parameters page for Cable Reinforcement Optimization
If the Method International Standards and Mode Recommendation is selected, congure the cable Type
parameters.
Cable Type Parameters
Conductor Material. Select either Copper or Aluminium.
Insulation Material. Select either PVC, XLPE, Mineral, Paper, or EPR. Note that paper is valid only
for NF C13-200, and Mineral is valid only for 0.5kV and 0.75kV systems and copper conductors).
Cable Cores. Select either multi-core (2 or 3 conductors) or single-core (1 conductor).
With Sheath. Select if the cable has a sheath cover. If mineral insulation is selected and this frame
is not checked, it is considered that the cable is bare with a metallic sheath.
Sheath Type. Select metallic or non-metallic.
Sheath Insulation. Select either PVC, XLPE, or EPR.
Armoured Cable. If checked, an armoured cable type will be created, otherwise a non-
armoured cable type is created.
Radial Cable Screen. If checked then each conductor has its own screening. This is valid
only for multi-core cables, since single-core cables always have radial screening.
Exposed to touch. For copper conductors with mineral insulation, select if the cable is ex-
posed to touch.
DIgSILENT PowerFactory 15, User Manual 837
CHAPTER 36. CABLE SIZING
36.3 Cable Sizing Line Parameters
36.3.1 Cable Sizing Line Type Parameters
Figure 36.3.1: Cable Sizing Line Type parameters
Line Type parameters relevant to the Cable Sizing command are dened on the Cable Sizing page of the
Line Type TypLne, which includes a simplied image of the cable. See section 36.2.5 for a description
of the parameters.
838 DIgSILENT PowerFactory 15, User Manual
36.4. SYSTEM TECHNOLOGY CHECK
36.3.2 Cable Sizing Line Element Parameters
Figure 36.3.2: Cable Sizing Line Element parameters
Line Element parameters relevant to the Cable Sizing command are dened on the Cable Sizing page of
the Line Element ElmLne, ElmLnesec. The page includes details of the laying arrangements, installation
method, and a simplied image of the cable installation. When the Cable Sizing command is executed,
the line derating factor (on the Basic Data page) is updated based on the parameters from this page.
36.4 System Technology Check
The Cable Sizing command performs a system technology check, whereby the technology type of
terminals (the number of phases and neutrals) determines the technology type of line types added to
line elements:
For balanced networks, terminals, lines, and line types should be 3 phase (see also third point
regarding neutrals).
For unbalanced networks, lines and line sections are assumed to have a number of phases equal
to the minimum number of phases of the element to which it connects. For example, if a line
connects from a 3 phase terminal (phase technology ABC", as dened on the Terminals Basic
Data page) to a 2 phase terminal (phase technology 2PH"), the line element is assumed to be 2
phase. The line type must have the same number of phases.
For lines and line sections, if there is a neutral connection at both ends, the line is assumed to
have a neutral, and therefore the line type must have a neutral. If end connections do not have
neutrals, or only one end connection has a neutral, the line is considered to not have a neutral.
DIgSILENT PowerFactory 15, User Manual 839
CHAPTER 36. CABLE SIZING
36.5 Predened Laying Methods
Predened laying methods are provided for the French standards; NF C 15-100 and NF C 13-200. All
the predened methods, which are stored in the folder "Laying Type" of the each corresponding standard
in the common folder Database SystemModulesCable Sizing.
In the description tab of the line element (ElmLne) or the line section (ElmLnesec) the user is able to link
one of the predened vectors (IntVec), representing the laying method, using the parameter "Additional
Data" (Parameter name:doc_id). Each predened vector has the name equivalent to the name used
in the corresponding standard (i.e. laying type "Air 11" uses the same name as used in the relevant
standard, in this case NF C 13-200).
By selecting desired laying type, settings on the tab "Cable Sizing" shall be accordingly reset to t
available PowerFactory settings. Parameters as temperature, grouped cables or number of trays/layers
should be still dened by the user, otherwise default values shall be used.
Following sub-chapters give more detailed overview of the available predened laying methods.
36.5.1 NF C 15-100 (Tableau 52C)
Laying
Method
Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
1 1 (IntVec)
Single-core cables
in conduit in a ther-
mally insulated wall
*f
0
= 0.77,
52K, 52N,
52P
Air; A; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
2 2 (IntVec)
Multi-core cables in
conduit in a ther-
mally insulated wall
*f
0
= 0.7,
52K, 52N,
52P
Air; A; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
3 3 (IntVec)
Single-core cables
in a conduit on
a wooden or ma-
sonry wall
52K, 52N,
52P
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
3A 3A (IntVec)
Multi-core ca-
bles in a conduit
on a wooden or
masonry wall
*f
0
= 0.9,
52K, 52N,
52P
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers
4 4 (IntVec)
Single-core cables
in cable conduit on
a wooden or ma-
sonry wall
52K, 52N,
52P
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
4A 4A (IntVec)
Multi-core cables in
cable conduit on
a wooden or ma-
sonry wall
*f
0
= 0.9,
52K, 52N,
52P
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
5 5 (IntVec)
Single-core cables
in conduit in ma-
sonry
52K, 52N,
52Q
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
840 DIgSILENT PowerFactory 15, User Manual
36.5. PREDEFINED LAYING METHODS
Laying
Method
Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
5A 5A (IntVec)
Multi-core cables in
conduit in masonry
*f
0
= 0.9,
52K, 52N,
52Q
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
11 11 (IntVec)
Multi- or single-
core cables xed
on a masonry or
wooden wall
52K, 52N
Air; C; ambient temperature;
grouping as single layer on
wall, oor or unperforated
tray; trefoil formation;
11A 11A (IntVec)
Multi- or single-
core cables xed
directly under a
wooden or ma-
sonry ceiling
*f
0
= 0.95,
52K, 52N
Air; C; ambient temperature;
grouping as single layer xed
directly under a wooden ceil-
ing; trefoil formation;
12 12 (IntVec)
Multi- or single-
core cables on
unperforated tray
run horizontally
52K, 52N
Air; C; ambient temperature;
grouping as single layer on
wall, oor or unperforated
tray; at formation;
13
13E and 13F
(IntVec)
Multi- or single-
core cables on
perforated tray
run horizontally or
vertically
52K, 52N
Air; E or F; ambient tempera-
ture; laid on perforated trays;
laid vertical/horizontal
14
14E and 14F
(IntVec)
Multi- or single-
core cables on
brackets or wire
mash tray
52K, 52N
Air; E or F; ambient temper-
ature; laid on ladders, sup-
ports or cleats;
16
16E and 16F
(IntVec)
Multi- or single-
core cables on
ladders
52K, 52N
Air; E or F; ambient temper-
ature; laid on ladders, sup-
ports or cleats;
17
17E and 17F
(IntVec)
Multi- or single-
core cables sus-
pended from or
incorporating a
support wire
52K, 52N
Air; E or F; ambient temper-
ature; laid on ladders, sup-
ports or cleats;
18 18 (IntVec)
Bare or insulated
conductors on in-
sulators
*f
0
= 1.21,
52K
Air; G; ambient temperature;
21 21 (IntVec)
Multi-core cables in
a building void
*f
0
= 0.95,
52K, 52N,
52P
Air; B; ambient tempera-
ture, bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
22 22 (IntVec)
Single-core cables
in a building void
*f
0
= 0.95,
52K, 52N,
52P
Air; B; ambient tempera-
ture, bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
22A 22 (IntVec)
Multi-core cables in
conduit in a build-
ing void
*f
0
=
0.865, 52K,
52N, 52P
Air; B; ambient tempera-
ture, bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
DIgSILENT PowerFactory 15, User Manual 841
CHAPTER 36. CABLE SIZING
Laying
Method
Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
23 23 (IntVec)
Single-core cables
in cable ducting in
a building void
*f
0
= 0.95,
52K, 52N,
52P
Air; B; ambient tempera-
ture, bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
23A 23 (IntVec)
Multi-core cables in
cable ducting in a
building void
*f
0
=
0.865, 52K,
52N, 52P
Air; B; ambient tempera-
ture, bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
24 24 (IntVec)
Single-core cables
in cable ducting in
a building void
*f
0
= 0.95,
52K, 52N,
52Q
Air; B; ambient tempera-
ture, bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
24A 24(IntVec)
Multi-core cables in
cable ducting in a
building void
*f
0
=
0.865, 52K,
52N, 52Q
Air; B; ambient tempera-
ture, bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
25 25 (IntVec)
Multi- or single-
core cables in
a ceiling void or
raised oor
*f
0
= 0.95,
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
31 31 (IntVec)
Insulated single-
core cables in
cable trunking
placed horizontally
*f
0
= 0.9,
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed; laid
horizontally;
31A 31 (IntVec)
Multi-core cables
in cable trunking
placed horizontally
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed; laid
horizontally;
32 32 (IntVec)
Insulated single-
core cables in
cable trunking
placed vertically
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
32A 32 (Intvec)
Multi-core cables
in cable trunking
placed vertically
*f
0
= 0.9,
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
33 33 (IntVec)
Insulated single-
core cables in ush
cable trunking in
the oor
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
33A 33 (IntVec)
Multi-core cables in
ush cable trunking
in the oor
*f
0
= 0.9,
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
34 34 (IntVec)
Insulated single-
core cables sus-
pended cable
trunking
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
842 DIgSILENT PowerFactory 15, User Manual
36.5. PREDEFINED LAYING METHODS
Laying
Method
Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
34A 34 (IntVec)
Multi-core cables
suspended cable
trunking
*f
0
= 0.9,
52K, 52N
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
41 41 (IntVec)
Multi- or single-
core cables in
conduit in an
unventilated ca-
ble channel, laid
horizontally or
vertically
*f
0
= 0.95,
52K, 52N,
52P
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
42 42 (IntVec)
Insulated single-
core cables in
conduit in an open
or ventilated cable
channel in the oor
52K, 52N,
52P
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
43 43 (IntVec)
Insulated single-
core cables in an
open or ventilated
cable channel in
the oor
52K, 52N,
52P
Air; B; ambient tempera-
ture; bunched in air, on sur-
face, embedded or enclosed;
number of trays/layers;
61 61 (IntVec)
Multi- or single-
core cables in
conduit or in ca-
ble ducting in the
ground
*f
0
= 0.8,
52L, 52M,
52T, 52S
Ground; D; ambient temper-
ature; soil type; cable in duct
(conduit); cables touching;
62 62 (IntVec)
Sheathed multi- or
single-core cables
without armor di-
rectly buried in the
ground
52L, 52M,
52R
Ground; D; ambient temper-
ature; soil type; cable not in
duct (conduit);
63 63 (IntVec)
Sheathed multi-
or single-core ca-
bles with armor
directly buried in
the ground
52L, 52M,
52R
Ground; D; ambient temper-
ature; soil type; cable not in
duct (conduit);
71 71 (IntVec)
Insulated conduc-
tors or single-core
cable in mouldings
52K Air; A; ambient temperature;
73 73 (IntVec)
Single-core cables
in architrave
52K Air; A; ambient temperature;
73A 73 (Intvec)
Multi-core cables in
architrave
*f
0
= 0.9,
52K
Air; A; ambient temperature;
74 74 (IntVec)
Single-core cables
in window frame
52K Air; A; ambient temperature;
74A 74 (IntVec)
Multi-core cables in
window frame
*f
0
= 0.9,
52K
Air; A; ambient temperature;
Table 36.5.1: NF C 15-100 (Tableau 52C)
*f
0
- correction factor of the corresponding installation method (multiplied by the total derating factor),
by default f
0
= 1
DIgSILENT PowerFactory 15, User Manual 843
CHAPTER 36. CABLE SIZING
Parallel lines with single-core cables
Factor f
s
= 0.8 shall be applied in the case when there is an odd number of the parallel lines (nlnum >=
3) with single-core cables in the three-phase systems (i.e. 3x3x1). Otherwise the value of f
s
is 1.
Parallel lines with multi-core cables
Factor f
s
= 0.8 shall be applied in the case when there are more lines in parallel (nlnum > 1).
36.5.2 NF C 13-200 (Tableau 52E)
Laying
Method
Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
Air 3A
Air 3A
(IntVec)
Multi- or single-
core cables in
a conduit on a
wooden or ma-
sonry wall
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 5A
Air 5A
(IntVec)
Multi- or single-
core insulated
cables in a conduit
in a masonry
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 11
Air 11
(IntVec)
Multi- or single-
core cables xed
on a masonry or
wooden wall
K1, K2, K3
Air; C; ambient tempera-
ture; exposed to direct sun-
light; clearance as touching;
grouping as single layer on
wall, oor or unperforated
tray;
Air 11A
Air 11A
(IntVec)
Multi- or single-
core cables xed
on a masonry or
wooden wall
K1, K4
Air; C; ambient tempera-
ture; clearance as touching;
grouping as single layer xed
directly under wooden or ma-
sonry ceiling;
Air 12
Air 12
(IntVec)
Multi- or single-
core cables on
unperforated tray
K1, K2, K3,
K7
Air; C; ambient tempera-
ture; exposed to direct sun-
light; clearance as touching;
grouping as single layer on
wall, oor or unperforated
tray; number of trays/layers;
Air 13
Air 13 E
and Air 13 F
(IntVec)
Multi- or single-
core cables on
perforated tray, ver-
tical or horizontal
K1, K2, K5,
K7
Air; E or F; ambient temper-
ature; exposed to direct sun-
light; clearance as touching;
laid on perforated trays;
Air 14
Air 14 E
and Air 14 F
(IntVec)
Multi- or single-
core cables on
cleats or on a wire
mesh (supports)
tray
K1, K2, K6,
K7
Air; E or F; ambient temper-
ature; exposed to direct sun-
light; clearance as touching;
laid on ladders, supports or
cleats; number of trays/lay-
ers;
844 DIgSILENT PowerFactory 15, User Manual
36.5. PREDEFINED LAYING METHODS
Laying
Method
Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
Air 16
Air 16 E
and Air 17 F
(IntVec)
Multi- or single-
core cables on
ladders
K1, K2, K6,
K7
Air; E or F; ambient temper-
ature; exposed to direct sun-
light; clearance as touching;
laid on ladders, supports or
cleats; number of trays/lay-
ers;
Air 17
Air 17
(IntVec)
Multi- or single-
core cables sus-
pended from or
incorporating a
support wire or
harness
K1, K2
Air; G; ambient temperature;
exposed to direct sunlight;
Air 31
Air 31
(IntVec)
Multi- or single-
core cables in a
horizontal conduit
on a wooden or
masonry wall
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 32
Air 32
(IntVec)
Multi- or single-
core cables in a
vertical conduit
on a wooden or
masonry wall
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 41
Air 41
(IntVec)
Multi- or single-
core cables in an
closed ventilated
cable channels
K1, K10 Air; B; ambient temperature;
Air 43
Air 43
(IntVec)
Multi- or single-
core cables in an
open or ventilated
cable channels
K1, K2, K3,
K7
Air; C; ambient tempera-
ture; exposed to direct sun-
light; clearance as touching;
grouping as single layer on
wall, oor or unperforated
tray; number of trays/layers;
Air 45
Air 65
(IntVec)
Multi- or single-
core cables in
conduit in masonry
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Enterr
60
Enterr 60
(IntVec)
Multi- or single-
core cables in
ducts lled with
sand
K12, K13,
K15
Ground; D; ambient temper-
ature; soil type;
Enterr
61
Enterr 61
(IntVec)
Multi- or single-
core cables in
conduit or in cable
duct
K12, K13,
K14, K16,
K17
Ground; D; ambient temper-
ature; soil type; depth of lay-
ing; number of trays/layers;
cables in duct (conduit);
Enterr
62
Enterr 62
(IntVec)
Multi- or single-
core sheathed
cables laid directly
in ground with-
out mechanical
protection (armor)
K12, K13,
K14, K15
Ground; D; ambient temper-
ature; soil type; depth of lay-
ing; cable not in duct (con-
duit);
DIgSILENT PowerFactory 15, User Manual 845
CHAPTER 36. CABLE SIZING
Laying
Method
Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
Enterr
63
Enterr 63
(IntVec)
Multi- or single-
core sheathed
cables laid directly
in ground with me-
chanical protection
(armor)
K12, K13,
K14, K15
Ground; D; ambient temper-
ature; soil type; cable not in
duct (conduit);
Table 36.5.2: NF C 13-200 (Tableau 52E)
Parallel lines with single-core cables
Factor f
s
= 0.8 shall be applied in the case when there is an odd number of the parallel lines (nlnum >=
3) with single-core cables in the three-phase systems (i.e. 3x3x1). Otherwise the value of f
s
is 1.
Parallel lines with multi-core cables
Factor f
s
= 0.8 shall be applied in the case when there are more lines in parallel (nlnum > 1).
Laying
Method
*Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
Air 3A
Air 3A
(IntVec)
Multi- or single-
core cables in
a conduit on a
wooden or ma-
sonry wall
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 5A
Air 5A
(IntVec)
Multi- or single-
core insulated
cables in a
conduit in a
masonry
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 11
Air 11
(IntVec)
Multi- or single-
core cables
xed on a
masonry or
wooden wall
K1, K2, K3
Air; C; ambient tempera-
ture; exposed to direct sun-
light; clearance as touching;
grouping as single layer on
wall, oor or unperforated
tray;
Air 11A
Air 11A
(IntVec)
Multi- or single-
core cables
xed on a
masonry or
wooden wall
K1, K4
Air; C; ambient tempera-
ture; clearance as touching;
grouping as single layer xed
directly under wooden or ma-
sonry ceiling;
Air 12
Air 12
(IntVec)
Multi- or single-
core cables on
unperforated
tray
K1, K2, K3,
K7
Air; C; ambient tempera-
ture; exposed to direct sun-
light; clearance as touching;
grouping as single layer on
wall, oor or unperforated
tray; number of trays/layers;
Air 13
Air 13 E 13 F
(IntVec)
Multi- or single-
core cables on
perforated tray,
vertical or hori-
zontal
K1, K2, K5,
K7 (K8)
Air; E or F; ambient temper-
ature; exposed to direct sun-
light; clearance as touching;
laid on perforated trays;
846 DIgSILENT PowerFactory 15, User Manual
36.5. PREDEFINED LAYING METHODS
Laying
Method
*Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
Air 14
Air 14 E Air
14 F (IntVec)
Multi- or single-
core cables on
cleats or on a
wire mesh (sup-
ports) tray
K1, K2, K6,
K7 (K8)
Air; E or F; ambient temper-
ature; exposed to direct sun-
light; clearance as touching;
laid on ladders, supports or
cleats; number of trays/lay-
ers;
Air 16
Air 16 E 17F
(IntVec)
Multi- or single-
core cables on
ladders
K1, K2, K6,
K7 (K8)
Air; E or F; ambient temper-
ature; exposed to direct sun-
light; clearance as touching;
laid on ladders, supports or
cleats; number of trays/lay-
ers;
Air 17
Air 17
(IntVec)
Multi- or single-
core cables
suspended
from or incorpo-
rating a support
wire or harness
K1, K2
Air; G; ambient temperature;
exposed to direct sunlight;
Air 31
Air 31
(IntVec)
Multi- or single-
core cables in
a horizontal
conduit on a
wooden or
masonry wall
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 32
Air 32
(IntVec)
Multi- or single-
core cables in a
vertical conduit
on a wooden or
masonry wall
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air 41
Air 41
(IntVec)
Multi- or single-
core cables
in an closed
ventilated cable
channels
K1, K10
Air; B; ambient temperature;
cable in trench (empty/venti-
lated);
Air 43
Air 43
(IntVec)
Multi- or single-
core cables
in an open or
ventilated cable
channels
K1, K2, K3,
K7
Air; C; ambient tempera-
ture; exposed to direct sun-
light; clearance as touching;
grouping as single layer on
wall, oor or unperforated
tray; number of trays/layers;
Air 45
Air 65
(IntVec)
Multi- or single-
core cables in
conduit in ma-
sonry
K1, K9
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Enterr
60
Enterr 60
(IntVec)
Multi- or single-
core cables in
ducts lled with
sand
K12, K13,
K15
Ground; D; ambient temper-
ature; soil type; cable in
trench (lled with sand);
DIgSILENT PowerFactory 15, User Manual 847
CHAPTER 36. CABLE SIZING
Laying
Method
*Additional
Data
(doc_id)
Description
Correction
factors
Corresponding IEC
method and required
PowerFactory settings
Enterr
61
Enterr 61
(IntVec)
Multi- or single-
core cables in
conduit or in ca-
ble duct
K12, K13,
K14, K16,
K17
Ground; D; ambient temper-
ature; soil type; depth of lay-
ing; number of trays/layers;
cables in duct (conduit); in-
stalled in masonry;
Enterr
62
Enterr 62
(IntVec)
Multi- or single-
core sheathed
cables laid
directly in
ground without
mechanical pro-
tection (armor)
K12, K13,
K14, K15
Ground; D; ambient temper-
ature; soil type; depth of lay-
ing; cable not in duct (con-
duit);
Enterr
63
Enterr 63
(IntVec)
Multi- or single-
core sheathed
cables laid di-
rectly in ground
with mechani-
cal protection
(armor)
K12, K13,
K14, K15
Ground; D; ambient temper-
ature; soil type; cable not in
duct (conduit);
Table 36.5.3: NFC13200 Table 52E
Parallel lines with single-core cables
Factor fs = 0.8 shall be applied in case when there is an odd number of parallel lines (nlnum >=
3) with single-core cables in three-phase systems (i.e. 3x3x1). Otherwise the value of fs is 1.
Parallel lines with multi-core cables
Factor fs = 0.8 shall be applied in case when there are more lines in parallel (nlnum > 1).
848 DIgSILENT PowerFactory 15, User Manual
Chapter 37
Motor Starting
37.1 Introduction
The chapter presents PowerFactory tools for performing motor starting simulations using the Motor
Starting command (ComMot ). A Motor Starting analysis typically includes an assessment of the fol-
lowing:
Voltage sag.
Ability of motor to be started against the load torque.
Time required to reach nominal speed.
Supply grid loading.
Starting methodology (Direct Online, Star-Delta, Variable Rotor Resistance, Reactor, Auto Trans-
former).
The Motor Starting command makes use of the PowerFactory stability module by providing a pre-
congured shortcut for easy-to-use motor starting analysis. Pre-selected and pre-congured plots (VIs)
are automatically created and scaled with full exibility for user-conguration. In PowerFactory , there
are two Simulation Types" that may be used to perform a motor starting simulation:
1. Dynamic Simulation, which will execute a time-domain motor starting simulation.
2. Static Simulation, which will execute a load ow calculation when the motors are disconnected
from the system. Then, it will execute a short-circuit calculation, using the complete method,
simultaneously with the occurrence of the motors being connected to the network. Finally, a load
ow calculation will be executed after the motors have been connected to the system.
37.2 How to dene a motor
To dene the starting method of a motor, a Type must rst be selected. This sub-section describes how
to dene a motor and (optionally) dene a motor driven machine (mdm).
37.2.1 How to dene a motor Type and starting methodology
A comprehensive library of low-voltage, medium-voltage, and high-voltage motor Types are available in
the PowerFactory Global Library. Typical motors supported are: single- and double-cage asynchronous
DIgSILENT PowerFactory 15, User Manual 849
CHAPTER 37. MOTOR STARTING
machines and squirrel motors.
To dene a motor Type and starting methodology for a dynamic simulation:
1. On the asynchronous machine Basic Data page, press select ( ) and then choose an existing
or dene a new asynchronous machine Type. Press OK twice.
2. From the Data Manager or single line graphic, double-click the asynchronous machine to open
the element dialogue.
3. Depending on whether a dynamic or static motor starting simulation is to be executed:
For a dynamic starting simulation, navigate to the RMS-Simulation page, Advanced tab.
For a static starting simulation, navigate to the Complete Short-Circuit page.
4. Check Use Motor Starting Method.
5. Use radio buttons to select a starting method (see below).
Directly Online
For the direct online starting method, select Directly Online.
Star-Delta
For star-delta starting:
1. Select Star-Delta.
2. For a dynamic motor starting simulation, on the RMS-Simulation page, Advanced tab:
Select Triggered by... either Time or Speed.
Enter a simulation time for the motor to switch from the star winding to the delta winding
Switch to D after, or a speed for the motor to switch from the star winding to the delta
winding Switch to D at Speed >=.
Variable Rotor Resistance
For variable rotor resistance starting:
1. Select Variable Rotor Resistance.
2. For a static motor starting simulation, on the Complete Short-Circuit page:
Enter the Additional Rotor Resistance.
3. For a dynamic motor starting simulation, on the RMS-Simulation page, Advanced tab:
Select Triggered by... either Time or Speed.
In the Variable Rotor Resistance table, enter additional rotor resistance, and the time (or
speed) at which the rotor resistance should be added.
For additional entries, right-click and Append or Insert rows as required. Note that a minimum
of two-points must be entered.
Reactor
For reactor starting:
1. Select Reactor.
2. For a static motor starting simulation, on the Complete Short-Circuit page:
Enter the Rated Apparent Power and Reactance.
850 DIgSILENT PowerFactory 15, User Manual
37.2. HOW TO DEFINE A MOTOR
3. For a dynamic motor starting simulation, on the RMS-Simulation page, Advanced tab:
Select Triggered by... either Time or Speed.
Enter the Rated Apparent Power, Reactance.
Enter the time at which the reactor should be removed Bypass after, or speed at which the
reactor should be removed Bypass at Speed >=.
Auto Transformer
For auto transformer starting:
1. Select Auto Transformer.
2. For a static motor starting simulation, on the Complete Short-Circuit page:
Enter the Rated Apparent Power, Reactance, and Tap.
3. For a dynamic motor starting simulation, on the RMS-Simulation page, Advanced tab:
Select Triggered by... either Time or Speed.
Enter the Rated Apparent Power, Reactance, and Tap.
Enter the time at which the star contactor should be released Release Star Contactor after
and the time at which the auto-transformer should be bypassed Bypass after, or the speed
at which the star contactor should be released Release Star Contactor at Speed >= and the
speed at which the auto-transformer should be bypassed Bypass at Speed >=.
37.2.2 How to dene a motor driven machine
Selection of a motor driven machine model provides enhanced exibility to dene the torque-speed
characteristic of the motor. A motor driven machine can be user-dened, or selected from a range
of Compressors, Fans, and Pumps available in the PowerFactory Global Library. Refer to the asyn-
chronous machine Technical Reference Asynchronous Machine and motor driven machine Technical
Reference for further details Motor Driven Machine.
To dene a motor driven machine, in a Data Manager or on the Single Line Graphic, right-click on the
asynchronous machine and:
For a new motor driven machine:
1. Select Dene... New Motor Driven (mdm) machine.
2. Select a motor driven machine element (Type 1, Type 3, or Type 5).
3. Enter the torque-speed characteristic.
For a motor driven machine from the library:
1. Select Dene... Motor Driven (mdm) machine from library.
2. Select an existing motor driven machine from the project library, or global library Database
LibraryMotor Driven Machine.
Note: Motor driven machines may also be dened for Synchronous motors by selecting the Composite
Type Sym frame" (or creating a user-dened frame). Refer to the mdm Technical Reference for
further details: Motor Driven Machine.
DIgSILENT PowerFactory 15, User Manual 851
CHAPTER 37. MOTOR STARTING
37.3 How to run a Motor Starting simulation
To run a motor starting simulation:
1. Select the motor or group of motors for the motor starting simulation.
2. Right-click a selected motor and select Calculate Motor Starting.
3. Enter the command options (see following subsections for a description of the command options).
37.3.1 Basic Options Page
37.3.1.1 Motor(s)
The motors selected for the Motor Starting command.
37.3.1.2 Simulation Type
Select either:
Dynamic Simulation to initiate a dynamic motor starting simulation.
Static Simulation to initiate a static motor starting simulation.
Note: Load Flow, Initial Conditions, Run Simulation, Simulation Events, Short-Circuit and Results De-
nitions objects in the active study case will be overwritten by the Motor Starting command.
37.3.1.3 Simulation Method
Either:
If User dened simulation settings is not checked:
1. Select to run either a Balanced or Unbalanced Motor Starting simulation.
2. Enter the Simulation Time in seconds.
If User dened simulation settings is checked:
1. Dene the variables to be monitored.
2. Modify Load Flow Calculation command (ComLdf ) settings as required.
3. Modify Initial Conditions command (ComInc) settings as required. Note that motor start-
ing events are automatically created, and that previously dened events are not deleted.
Similarly, user-dened variable sets are merged with the Motor Starting command default
variables.
4. Modify Simulation command (ComSim) settings as required.
37.3.1.4 Monitoring
Click Select ( ) and select the Additional Terminals to be monitored for the Motor Starting simulation.
852 DIgSILENT PowerFactory 15, User Manual
37.3. HOW TO RUN A MOTOR STARTING SIMULATION
37.3.1.5 Check Thermal Limits of Cables and Transformers
Optionally select to Check Thermal Limits of Cables and Transformers. When this option is selected,
the feeding cables and transformers of every motor will automatically be gathered, and its thermal limit
will be checked.
The calculation of the thermal limits is performed depending on the type of simulation selected.
Dynamic Simulation
Given the rated thermal overcurrent limit of the cable at 1 second (I
thr1s
), the thermal overcurrent
limit of the line at the starting time of the motor (I
thrTs
) is calculated according to equation 37.1:
I
thrTs
=

I
thr1s
T
start
(37.1)
Where:
T
start
= is the time calculated during the Motor Starting simulation.
The calculated thermal energy (I
2t
) during the motor starting is dened as:
I
2t
=

T
start
0
I
2
dt
T
start

0
I
2
t (37.2)
Where:
t = is the integration step size of the simulation.
The calculated thermal current (I
thrcalc
) is then calculated as follows:
I
thrcalc
=

I
2t
T
start
(37.3)
Finally, the thermal loading is calculated as the relation between rated thermal current and calcu-
lated thermal current at starting time:
ThermalLoading =
I
thrcalc
I
thrTs
(37.4)
Static Simulation
Given the rated thermal overcurrent limit of the cable at 1 second (I
thr1s
), the thermal overcurrent
limit of the line at the starting time of the motor (I
thrTs
) is calculated according to equation 37.5 :
I
thrTs
=

I
thr1s
T
start
(37.5)
The starting time is the variable tstart specied in the Protection" page of the Asynchronous and
the Synchronous Machine dialogues.
The calculated thermal current is the positive-sequence current calculated at the motor starting
I
thrcalc
= I
start
(37.6)
DIgSILENT PowerFactory 15, User Manual 853
CHAPTER 37. MOTOR STARTING
Finally, the thermal loading is calculated as the relation between rated thermal current and calcu-
lated thermal current at starting time:
ThermalLoading =
I
thrcalc
I
thrTs
(37.7)
37.3.2 Output Page
37.3.2.1 Dynamic Simulation
Report
Check Report to report results to the output window. By default, report results include voltage be-
fore starting, minimum voltage during starting, voltage after starting, starting current and power factor,
successful start, and starting time. The user can optionally modify report Settings.
Starting Tolerance for Simplied Models
Dene the Max. Speed Tolerance, the maximum deviation from nominal speed at which the motor is
considered to be successfully started. This applies only to simplied (i.e. synchronous) motors.
37.3.2.2 Static Simulation
Report
Optionally modify report Settings and Results. Figure 37.3.1 shows an example of a Static Simulation
Report with the option Check Thermal Limits of Cables and Transformers" selected.
Figure 37.3.1: Report Example
Starting Tolerance for Simplied Models
Dene the Max. Voltage Drop at which the motor is considered to be successfully started. This applies
only to simplied models.
Simplied models are:
854 DIgSILENT PowerFactory 15, User Manual
37.3. HOW TO RUN A MOTOR STARTING SIMULATION
All synchronous motors.
Asynchronous motors with type Asynchronous Machine Type (TypAsmo), and without the Type
option Consider Transient Parameter (i_trans) checked.
Asynchronous motors with any Type other than Asynchronous Machine Type (TypAsmo).
Detailed models are: Asynchronous motors with type Asynchronous Machine Type (TypAsmo), and
which have the option Consider Transient Parameter checked on the VDE/IEC Short-Circuit page or
Complete Short-Circuit page of the Type dialog. This provides a more precise result for the motor
starting time.
Display results for
Select to display results on the Single Line Graphic:
After motor start up.
During motor start up.
Before motor start up.
37.3.3 Motor Starting simulation results
37.3.3.1 Dynamic simulation results
Following a motor starting simulation, PowerFactory will automatically create a plot (VI) for each motor
showing the active power (m:Psum:bus1), reactive power (m:Qsum:bus1), current (m:I1:bus1), speed
(s:speed), mechanical and electrical torques (c:xmt and c:xmem) and voltage of the motor terminal
(m:u1). A second plot is created showing the voltage of monitored Terminals. Flexible data results
variables available following a dynamic Motor Starting simulation are found on the motor data Motor
Starting Calculation page.
The Motor Starting calculation variables are as follows:
Terminal voltage before Starting, Magnitude (c:uprestart).
Motor voltage during Starting, Magnitude (c:ustart).
Motor voltage after Starting, Magnitude (c:upoststart).
Starting current, Magnitude in kA (c:Istart).
Starting current, Magnitude in p.u. (c:istart).
Starting Power Factor (c:cosphistart).
Successfully Started (c:started).
Approx. Starting Time (c:Tstart).
The criterion of a successful start is as follows:
Synchronous motors: Successful start if Actualspeed >= Synchronousspeed Tolerance, where
Actualspeed is the value of variable s:speed", and Tolerance is the value specied in the input
eld Max. Speed Tolerance (tolspeed).
Asynchronous motors: Successful start if Actualspeed >=Nominalspeed Slip, where ActualSpeed
is the value of variable s:speed", and Slip is the value of variable t:aslkp" of the asynchronous
motor.
DIgSILENT PowerFactory 15, User Manual 855
CHAPTER 37. MOTOR STARTING
37.3.3.2 Static simulation results
Following a motor starting simulation, new calculation variables are available for asynchronous (El-
mAsm) and synchronous (ElmSym) motors. For the Static Simulation, these variables are found on the
Motor Starting Calculation page. Results variables are described in the preceding sub-section.
The criterion of a successful start is as follows:
Simplied models: Successful start if Voltage During Starting >= Voltage Before Starting *(1
- Voltage Tolerance), where Voltage Before Starting is the voltage value at the terminal before
the motor is connected to the system, Voltage During Starting is the transient positive-sequence
voltage value at the terminal during the motor start, and Voltage Tolerance is the value specied
in the input eld Max. Voltage Drop (tolvolt).
Detailed models: The electrical and mechanical torque are calculated for the minimum voltage
value during the motor start up. A detailed model is considered to be successfully started up if the
mechanical torque is always smaller than the electrical torque from zero speed up the peak of the
electrical torque.
37.3.4 Motor Starting Example
Consider the following dynamic motor starting example for a single 6.6kV asynchronous motor shown
in Figure 37.3.2.
Figure 37.3.2: Motor Starting example Single Line Graphic
The Variable Rotor Resistance starting method has been selected, with three values of time-dependent
resistance, as shown in Figure 37.3.3.
856 DIgSILENT PowerFactory 15, User Manual
37.3. HOW TO RUN A MOTOR STARTING SIMULATION
Figure 37.3.3: Motor starting methodology options
A dynamic, balanced Motor Starting simulation is executed and run to 10 seconds, with Source Bus"
selected as an Additional Terminal to be monitored, as shown in Figure 37.3.4.
Figure 37.3.4: Motor starting Basic Options
Following execution of the command, PowerFactory automatically produces plots showing motor quanti-
ties of interest (as described in section 37.3.3.1) and monitored voltage results as shown in Figure 37.3.5
and Figure 37.3.6.
DIgSILENT PowerFactory 15, User Manual 857
CHAPTER 37. MOTOR STARTING
Figure 37.3.5: Motor starting example motor results
Figure 37.3.6: Motor starting example voltage results
858 DIgSILENT PowerFactory 15, User Manual
Chapter 38
Arc-Flash Hazard Analysis
38.1 Introduction
This chapter presents the tools available in PowerFactory to perform arc-ash hazard analysis, including
technical background, a description of the Arc-Flash Hazard Analysis command dialogues, and an
example calculation. The Arc-Flash Hazard Analysis command (ComArcash) can be accessed on the
Main Toolbar under the Protection group by selecting the Arc-Flash Hazard Analysis icon .
Note: DIgSILENT accepts no responsibility for the use of the Arc-Flash Hazard Analysis command, or
for the consequences of any actions taken on the basis of the results. Use the Arc-Flash Hazard
Analysis command at your own risk.
Note: By default, results are entered and displayed in SI units. To change to British Imperial units, on
the Main Menu, select Edit Project Data Project, select the pointer to Project Settings, and
on the Input page, select the Units as English-Transmission" or English-Industry".
38.2 Arc-Flash Hazard Analysis Background
38.2.1 General
Arc-Flash Hazard Analysis calculations are performed to determine ...the arc-ash hazard distance and
the incident energy to which employees could be exposed during their work on or near electrical equip-
ment" [IEEE1584-2002][17]. One outcome of an Arc-Flash Hazard Analysis is to determine employee
Personal Protective Equipment (PPE) requirements.
Arc-Flash calculations can be conducted in PowerFactory in accordance with IEEE-1584 2002[17] and
NFPA 70E 2008 [19] standards. The Arc-Flash Hazard Analysis command builds on the existing short-
circuit calculation capabilities of PowerFactory , and requires the following additional data, depending
on the method used:
IEEE-1584: Conductor Gap, Distance Factor, Working Distance, and Enclosure type.
NFPA 70E: Working Distance.
When an Arc-Flash hazard analysis is conducted using the IEEE-1584 method, PowerFactory calcu-
lates the arcing current based on the equations presented in the standard. Internally, PowerFactory
DIgSILENT PowerFactory 15, User Manual 859
CHAPTER 38. ARC-FLASH HAZARD ANALYSIS
calculates the arc resistance required to limit the fault current to the calculated value. When the NFPA
method is selected, the bolted fault current is used for the calculation. For either method, when the
user selects to use relay tripping times, a second calculation is performed at a reduced fault current (as
specied by the user) and the associated (generally longer) clearing time. PowerFactory compares the
results of these two cases and reports on the worst case result.
38.2.2 Data Inputs
The IEEE-1584 Standard provides guidance on the selection of Conductor Gap and Distance Factor.
Figure 38.2.1 shows the recommended values from the standard.
Figure 38.2.1: Factors for Equipment and Voltage Classes [IEEE1584-2002][17]
Figure 38.2.2 shows the Terminal Element dialogue where parameters required for the Arc-Flash Hazard
Analysis Calculation are entered. If Accessible Location is selected, the user may enter the required
input parameters for Arc-Flash calculations. If the Terminal resides within a Substation, Equipment Data
can be set to either Local Values or From Substation. When From Substation is selected, a pointer to
the relevant substation is shown in the dialogue.
860 DIgSILENT PowerFactory 15, User Manual
38.3. ARC-FLASH HAZARD ANALYSIS CALCULATION OPTIONS
Figure 38.2.2: Arc-Flash Data Required for Terminal Objects
Additional data required for Fault Clearing Times is discussed later in the chapter.
38.3 Arc-Flash Hazard Analysis Calculation Options
This section describes the Arc-Flash Hazard Analysis calculation options.
38.3.1 Arc-Flash Hazard Analysis Basic Options Page
Calculation Method
Select either:
according to IEEE-1584[17], or
according to NFPA 70E[19].
Fault Location
Select either:
At User Selection, and select a single location, or a pre-dened Set of locations.
All Accessible Locations, i.e. all Terminals where Accessible Location is selected on the Protection
page of the Element dialogue.
DIgSILENT PowerFactory 15, User Manual 861
CHAPTER 38. ARC-FLASH HAZARD ANALYSIS
Fault Clearing Times
Select either:
Use Fixed Times. In which case, detailed protection models are not required by the calculation,
and the following should be dened:
If Get Time from Global is selected, then dene the Protection Tripping Time and Breaker
Opening Time.
If Get Time from Local is selected, then dene the Maximum Time, the maximum fault clear-
ing time used by the Arc-Flash command. The clearing times used by the arc-ash command
are taken from the Protection page of (ElmCoup) and (ElmSwitch) Elements, with Switch
Type set to Circuit Breaker" on the Basic Data page.
Use Relay Tripping. In which case, the tripping time is based upon the relay characteristic en-
tered in the protection model (provided that on the relay(s) Description tab, the Status is set to
Approved"). The Arc-Flash Hazard Analysis command performs Incident Energy calculations us-
ing this tripping time, and the tripping time based on a reduced fault current, as specied on the
Advanced Options page (parameter Arcing Current Variation). If Use Relay Tripping is selected,
then select to:
Get Time from either:
*
Initial, in which case the arc-ash command determines the fault clearing time based
on the longest fault clearing time of any element connected to the faulted terminal. For
example, if two parallel lines are connected to a faulted terminal, and the rst line has a
fault clearing time of 1 s, and the second line has a fault clearing time of 2s (where both
clearing times are based on the Initial fault current) the arc-ash command will take 2s
as the fault clearing time.
*
Iteration, in which case the arc-ash command determines the fault clearing time from
a Short-Circuit Trace calculation. For example, if two parallel lines are connected to a
faulted terminal, and the rst line has a fault clearing time of 1s. Then, after the rst line
is cleared, the second line sees a higher fault current, and subsequently clears the fault
at 1.5 s. The arc-ash command takes 1.5 s as the fault clearing time.
Dene the Maximum Time, the maximum fault clearing time used by the Arc-Flash command.
Short-Circuit Calculation
Pointer to the Short-Circuit Calculation command.
Show Output
If selected, the pointer to the Output of Results can be modied. See Section 38.4 for details.
Note: When there are multiple sources of fault current to a faulted Terminal with different fault clearing
times, PowerFactory takes the maximum clearance time of the connecting branch for all branches.
38.3.2 Arc-Flash Hazard Analysis Advanced Options Page
Arc-Flash Calculation Options
Dene the Arcing Current Variation, that is, the percentage the bolted-fault current is reduced by
for the second calculation (see 38.3.1).
Dene the Energy at Flash-Protection Boundary.
PPE-Ratings
Select either:
862 DIgSILENT PowerFactory 15, User Manual
38.4. ARC-FLASH HAZARD ANALYSIS RESULTS
Acc. to NFPA 70E[19], in which case default values from the standard are used.
User-Dened, in which case user-dened Category values can be entered in the PPE-Categories
table after inserting or appending rows. Note that values should be entered in ascending order.
38.4 Arc-Flash Hazard Analysis Results
38.4.1 Viewing Results in the Single Line Graphic
Results Boxes
Terminals can be coloured according to calculated PPE category, and the calculated ash protection
boundary. To set the diagram colouring mode, select the Diagram Colouring icon, and then under 3.
Other, select Results, and then the desired colouring mode.
Diagram Colouring
To show the default set of Arc-Flash results on the Single Line Graphic (Boundary Distance, PPE Cate-
gory, and Incident Energy), right-click the Terminal results box and select Format for Short Circuit Nodes
Arc-Flash. Arcing Current and Fault Clearing Time results can also be displayed.
38.4.2 Arc-Flash Reports Dialogue
The Arc-Flash Reports (ComArcreport ) dialogue can be used to congure the output of tabular results
from an Arc-Flash calculation. Additionally, Database" and Template" les can be selected in order to
facilitate the preparation of Arc-Flash Hazard warning labels. The following inputs are available in the
Arc-Flash Reports dialogue.
Create Label Database
If selected, Database and Template lenames should be specied. By default, a default Template is
selected by PowerFactory. Note that the Database Excel le should not be open when Create Label
Database is checked and the command is executed.
Available Variables and Selected Variables
Variables to be included in the Tabular report can be selected or deselected (in which case they will be
on the Available Variables pane.
Create Tabular Report
Select whether to Create Tabular Report, and dene the Min. PPE-Category and Min. Incident Energy
to be included in the Tabular report. Once the tabular report is created, Min. PPE-Category and Min.
Incident Energy can be modied if required.
After being executed, the Tabular Report can be exported as HTML format or exported directly to Excel,
by using the Select icon ( ).
Note: If the incident energy exceeds the incident energy at the maximum PPE category, the result is
N/A".
38.4.3 Arc-Flash Labels
The Create Label Database" option, handled by a DPL script, triggers an export of the selected vari-
ables to a Microsoft Excel le at the selected location. After the export of label data, a copy of the given
label template will be stored at the same location as the Excel le and renamed accordingly. (i.e. if the
Excel le is called ArcFlash.xls", the copy of the template will be called ArcFlash.doc"). If a template
DIgSILENT PowerFactory 15, User Manual 863
CHAPTER 38. ARC-FLASH HAZARD ANALYSIS
le with this name already exists, the user will be prompted if it should be overwritten. The template
copy will be opened after the export is completed. The user can use the mail merge feature of Microsoft
Word to create a series of labels based on the template and the Excel data le. To link the template
copy with the database:
Go to the Mailings" tab, in the Start Mail Merge" group, and click on Select Recipients".
From the drop down menu, select Use Existing List...", and then select the label database Excel
le.
Still on the Mailings" tab, in the Preview Results" group, click on Preview Results" to view the
label(s).
To store or print the nished labels, still on the Mailings" tab, in the Finish" group, click on Finish
& Merge".
For more information about the mail merge and how to create a template, refer to the MS-Word help.
Also note that data can be copied from the Flexible Data tab of the Data Manager for post-processing
and creation of labels.
38.5 Example Arc-Flash Hazard Analysis Calculation
Consider the example network shown in Figure 38.5.1, where there are two parallel lines connected to
a Terminal Terminal". For this example, the two lines have different protection characteristics, as shown
in Figure 38.5.2.
Figure 38.5.1: Example Network Single Line Graphic
864 DIgSILENT PowerFactory 15, User Manual
38.5. EXAMPLE ARC-FLASH HAZARD ANALYSIS CALCULATION
Figure 38.5.2: Example Network Single Line Graphic
Arc-Flash calculations are conducted using each method:
With Use Fixed Times and Get Time from Global selected, and with a total fault clearing time of
0.12 s, the key results are as follows:
Incident Energy: 58 J\cm
2
.
Boundary Distance: 583 mm.
PPE Category: 3.
With Use Fixed Times and Get Time from Local selected, and with a total fault clearing time of
0.10 s, the key results are as follows:
Incident Energy: 49 J\cm
2
.
Boundary Distance: 624 mm.
PPE Category: 3.
With Use Relay Tripping and Get Time from Initial selected, the key results are as follows:
Incident Energy: 37 J\cm
2
.
Boundary Distance: 544 mm.
PPE Category: 3.
With Use Relay Tripping and Get Time from Iteration selected, the key results are as follows:
Incident Energy: 24 J\cm
2
.
Boundary Distance: 441 mm.
PPE Category: 2.
Of particular interest is the difference between the results for the case where Get Time from Initial is
selected, versus Get Time from Iteration. The former case gives conservative results (in this example),
whilst in the latter case, the fault clearing time is faster due to recalculation of the fault current (as
discussed in Section 38.3.1), and thus the calculated PPE requirement is lower.
DIgSILENT PowerFactory 15, User Manual 865
CHAPTER 38. ARC-FLASH HAZARD ANALYSIS
A label is produced for Terminal" (as described in 38.4), for the method where Relay Tripping, and Get
Time from Initial is selected. The resultant label is shown in Figure 38.5.3.
Figure 38.5.3: Example Arc-Flash Warning Label
866 DIgSILENT PowerFactory 15, User Manual
Chapter 39
Protection
39.1 Introduction
PowerFactory enables the user to dene a protection scheme by integrating protective devices into the
system dened by a projects network model. The software can be used to assist with the coordination
of protective devices and for generating graphical representations of protection system characteristics.
Models of both generic and manufacturer specic relays are available for use with the software. The
following plot types are supported by PowerFactory:
Current vs time plots (Time-overcurrent plots. Refer Section 39.4)
Distance vs time plots (Time-distance diagrams. Refer Section 39.7)
Impedance plots (R-X diagrams. Refer Section 39.6)
Furthermore, PowerFactory allows for the creation of a protection single line diagram(refer Section 39.2.3)
for visualisation of the location of the protection devices within the network. PowerFactory also includes
a distance protection coordination assistant (refer Section 39.8) to automatically congure appropriate
settings for distance protection schemes.
This chapter will describe how setup a network model for protection analysis, how to use PowerFactorys
protection analysis functions and plots and how to output results from the analysis in convenient settings
reports.
The following section presents a general introductory overview of protection modelling within PowerFac-
tory. Although it is not a pre-requisite for the user to have an understanding of the internal modelling
approach in order to use PowerFactorys basic protection functions, an understanding will help the user
to appreciate the structure of the dialogues encountered when setting up a protection scheme. Users
who wish to move straight into the creation of a protection scheme may wish to skip this section.
39.1.1 The modelling structure
Protection devices form a group of highly complex and non-uniform power system devices. Any program
tasked with modelling these devices faces a difcult dilemma. On the one hand, the relay models should
be as exible and versatile as possible to ensure that all types of protection relays can be modelled with
all of their features. On the other hand, the relay models should be as simple as possible to reduce the
amount of work and knowledge needed to dene power system protection devices.
This dilemma is solved in PowerFactory by modelling protection devices using a tiered approach con-
sisting of three different levels. These levels are:
DIgSILENT PowerFactory 15, User Manual 867
CHAPTER 39. PROTECTION
the relay frame
the relay type
the relay element
Each of these levels fulll a different role in the modelling of a protection device. Figure 39.1.1 shows
the relation of these three levels graphically.
Figure 39.1.1: Modelling structure for protection devices
39.1.2 The relay frame
The relay frame species the general relay functionality using a diagram where functional blocks known
as slots are connected by signals. Slots for timers, measurement and logic elements can be dened.
It denes how many stages the relay consists of and how these stages interact. However, the relay
frame contains no mathematical or logical functions, rather these are specied by the internal types
referenced by the slots.
Each slot is dened by the number of input and output signals. The signal lines dene how the slots
are interconnected. Relay frames are similar to the frames of composite models and are created in
the same way. See Chapter 26:Stability and EMT Simulations, Section 26.9.2 (The Composite Frame)
for more information. Figure 39.1.2 shows an example of a relay frame for a two stage overcurrent
relay. The illustrated relay frame contains a measurement slot, two instantaneous overcurrent slots
(each representing one stage of the overcurrent relay) and a logic slot. Connections between slots are
illustrated by lines with arrowheads.
868 DIgSILENT PowerFactory 15, User Manual
39.1. INTRODUCTION
Figure 39.1.2: Typical relay frame
39.1.3 The relay type
The relay type associated with a specic relay frame, is dened by selecting a block denition for each
slot of the frame. Assigning a block denition to a slot converts the slot to a block, representing a
mathematical function which describes the behaviour of a physical element. For example, the type
of lter used for processing the input signals, or the type of relay operating characteristic. Because
many relays support more than one type of characteristic, a set of characteristics or functions can be
dened. In addition, the relay type species the ranges for the various relay settings, including whether
the parameters are set continuously or in discrete steps.
The relay type denes the library information for a specic manufacturers relay, which does not yet
have any settings applied to it. The complete information described in the data sheet and manual is
contained in the relay type. An advantage of this split concept is the possibility of re-using a relay frame
for more than one relay type.
Figure 39.1.3 shows the type dialogue associated with an instantaneous overcurrent slot as an example.
Parameters that normally cannot be inuenced by the user, like the Pick-up Time, are dened in the type
as well.
DIgSILENT PowerFactory 15, User Manual 869
CHAPTER 39. PROTECTION
Figure 39.1.3: Type dialogue of an instantaneous overcurrent block
39.1.4 The relay element
The relay element models the actual relay in a power system. It refers to a relay type in the library,
which provides the complete relay structure including the setting ranges for all parameters. The actual
settings of the relay, for example, the reach or the pick-up settings, are part of the relay element settings,
considering the range limitations dened by the relay type.
CT and VT models are the input link between a relay element and the electrical network. For the
relay output, a tripping signal is sent directly from the relay element to a circuit breaker in the network.
To simulate busbar protection, differential protection, or tele-protection schemes, a relay element can
operate more than one circuit breaker.
Figure 39.1.4 shows the block element dialogue belonging to the type dialogue in Figure 39.1.3.
Figure 39.1.4: Element dialogue of an instantaneous overcurrent relay
870 DIgSILENT PowerFactory 15, User Manual
39.2. HOW TO DEFINE A PROTECTION
SCHEME IN POWERFACTORY
39.2 How to dene a protection
scheme in PowerFactory
This section describes the procedures necessary for dening a protection scheme within PowerFac-
tory. It begins with a brief overview of the procedure followed by detailed instructions for how to dene
protection devices within the PowerFactory model.
39.2.1 Overview
Before construction of a protection scheme can be completed, it is necessary to construct a model
of the network to be protected. See Section 9.2 for instructions of how to build a network model in
PowerFactory.
A protection scheme is dened by adding relays (or fuses) and their associated instrument transformers
at appropriate places within the network model. After adding the device models, the settings can be
adjusted through manual entry, by using the automated coordination tools and plots, or by importing the
relay settings directly from StationWare (refer to Section 20.10).
The PowerFactory protection modelling features have been designed to support the use of generic"
relays or detailed" models of relays based on manufacturer specic devices.
For generic" relays, PowerFactory includes a global library containing some predened generic relays,
fuses and instrument transformers that can be used to design schemes without requiring specic details
of a particular relay manufacturers range of products. This can be useful during the early stages of the
denition of a protection scheme. By creating a model with generic protection devices, the user can
conrm the general functionality of a scheme before relay procurement decisions are nalised.
For detailed denition and analysis of protection schemes, it is recommended to use detailed relay
manufacturer specic models. DIgSILENT offers many such models from the user download area on
the DIgSILENT website. Of course, with thousands of different relay models in existence and more
being created, in some instances a model will not exist. In such cases, advanced users can dene their
own relay models or contact DIgSILENT support for further advice.
The following section will explain how to add predened protective devices (generic or manufacturer
specic) to a network model.
39.2.2 Adding protective devices to the network model
Protection devices in PowerFactory must be placed within cubicles (refer to Section 4.7.3 for more infor-
mation on cubicles). There are several methods to add or edit the protection devices in a cubicle:
1. Through the protection single line diagram. Refer to Section 39.2.3.
2. Right-clicking a switch-symbol (New devices):
(a) Right-click a switch symbol in the single line graphic as illustrated in Figure 39.2.1. This will
show a context sensitive menu.
(b) Choose NewDevices Relay Model. . . /Fuse. . . /Current Transformer. . . /Voltage Transformer. . . .
A dialogue for the chosen device will appear.
3. Right-clicking a switch symbol (Edit devices):
(a) Right-click a switch symbol in the single line graphic as illustrated in Figure 39.2.1. This will
show a context sensitive menu.
DIgSILENT PowerFactory 15, User Manual 871
CHAPTER 39. PROTECTION
(b) Choose the option Edit Devices. A dialogue showing the devices currently within the cubicle
will appear.
(c) Click the icon. A dialogue will appear.
(d) Choose the desired device type.
(e) Click OK and the dialogue for the new device will appear.
4. Through the protected device (line, transformer, load etc):
(a) Double-click the target element to protect. A dialogue showing the device basic data should
appear.
(b) Click the button next to the end of element where you want to place the protective device.
For a line element this will say Terminal i/j" and for a transformer this will say HV/LV-side".
A menu will appear. See Figure 39.2.2 for example.
(c) Click Edit Devices.
(d) Click the icon. A dialogue will appear.
(e) Choose the desired device type.
(f) Click OK and the dialogue for the new device will appear.
5. Through the substation:
(a) Open a detailed graphic of the substation. Refer Section 9.2.6 for more information on sub-
station objects.
(b) Right-click the specic part of the substation where you would like to add the relay. A context
sensitive menu will appear. See Figure 39.2.3 for an example substation showing possible
locations where protection devices can reside.
(c) Choose New Devices or Edit Devices and following the remaining steps from 2b or 3c re-
spectively. The areas which can be right clicked in a typical detailed substation graphic are
ringed in Figure 39.2.2.
After completing one of the methods above, the created device also must be congured. Usually this
involves selecting a type and entering settings. Further information about conguring overcurrent pro-
tection device elements is explained in Section 39.3 and distance protection devices in Section 39.5.
Note: When adding a protection device by right-clicking on a switch (Method 2), ensure the element
connected to the switch is not already selected. Otherwise, you will create devices at both ends
of the element. If you select the switch successfully, only half of the connected element will be
marked when the context sensitive menu appears.
872 DIgSILENT PowerFactory 15, User Manual
39.2. HOW TO DEFINE A PROTECTION
SCHEME IN POWERFACTORY
Figure 39.2.1: Adding a new relay to a single line diagram
DIgSILENT PowerFactory 15, User Manual 873
CHAPTER 39. PROTECTION
Figure 39.2.2: Editing line protection devices
Figure 39.2.3: Adding a new protective device to a detailed substation graphic
874 DIgSILENT PowerFactory 15, User Manual
39.2. HOW TO DEFINE A PROTECTION
SCHEME IN POWERFACTORY
39.2.3 Protection single line diagrams
PowerFactory supports adding protection devices directly to the network single line diagram. Existing
protection devices located within cubicles can also be added to the diagram using the Draw Existing Net
Elements tool (refer to Section 9.6). An example of a complete protection single line diagram is shown
in Figure 39.2.4. In this diagram the protection relays are indicated with the R" inside a rectangle,
current transformers as a brown circle with the measured circuit underneath and voltage transformers
as a brown circle with a semi-circle above and a line connecting to the measured bus. Black lines
between the measurement transformers and the relays show the connection of the secondary side of
the instrument to the relay.
Relay with
CT connection
Relay with
VT connection
R
R
R R
D
I
g
S
I
L
E
N
T
Figure 39.2.4: An example protection single line diagram
39.2.3.1 How to add relays to the protection single line diagram
To add a relay to the protection single line diagram:
1. Open an existing network diagram.
2. Click the button on the drawing toolbar.
3. Click the switch where the relay should be placed.
4. Optional: click and drag to reposition the relay to an alternative location.
Note: The relay icon in the protection diagram can also be resized. Select the relay and then click and
drag from the corner of the device.
DIgSILENT PowerFactory 15, User Manual 875
CHAPTER 39. PROTECTION
39.2.3.2 How to add current transformers to the protection single line diagram
To add a current transformer to the single line diagram:
1. Open an existing network diagram.
2. Click the button on the drawing toolbar.
3. Click the switch where the CT should be placed.
4. Click the relay to connect the secondary side of the CT.
Note: Before placing current transformers in the single line diagram it is recommended to place the
relays that the secondary side of the device will connect to.
39.2.3.3 How to add voltage transformers to the protection single line diagram
To add a voltage transformer to the single line diagram:
1. Open an existing network diagram.
2. Click the button on the drawing toolbar.
3. Click the bus where the primary side of the VT should connect.
4. Click the relay to connect the secondary side of the VT.
Note: Before placing voltage transformers in the single line diagram it is recommended to place the
relays that the secondary side of the device will connect to.
39.2.3.4 How to connect an instrument transformer to multiple relays
In some cases it might be desirable to connect a CT or VT to multiple relays. To do so follow these
steps:
1. Open an existing network diagram
2. Click the button on the drawing toolbar.
3. Click the CT or VT that requires another connection.
4. Optional: Click at multiple points within the single line diagram to create a more complicated
connection path.
5. Click the target relay for the connection.
39.2.4 Locating protection devices within
the network model
Protection devices can be added to the network model by placing them in the single line diagram directly
as described in Section 39.2.3. However, in cases where the devices are not drawn directly in the single
line diagram, there are several methods to highlight the location of the devices in the single line diagram.
This section describes these methods.
876 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
39.2.4.1 Colouring the single line diagram to show protection devices
The single line diagram can be coloured to indicate the location of protective devices. To do this:
1. Click the button on the graphics toolbar. The diagram colouring dialogue will appear.
2. Check the box for 3. Other.
3. Select Secondary Equipment from the rst drop down menu.
4. Select Relays, Current and Voltage transformers from the second drop down menu.
5. Click OK to update the diagram colouring. The cubicles containing protection devices will be
coloured according to the legend settings.
39.2.4.2 Locating protective devices using the object lter
To locate protection devices using the built-in object lters follow these steps:
1. Click the icon from the main toolbar. A list of available objects will appear.
2. Click for relays, for fuses, for current transformers or for voltage transformers. A list
of calculation relevant objects will appear within a tabular list.
3. Right-click the icon of one or more objects in the list. A context sensitive menu will appear.
4. Select Mark in Graphic. The cubicle/s containing the object/s will be highlighted in the single line
diagram.
39.3 Setup of an overcurrent
protection scheme
Section 39.2.2, explained the initial steps required to add a protective device to the network model.
When a new device is created within a network model there are a number of parameters to dene in the
dialogue which appears. This section will describe the basic steps required to specify these parameters
for overcurrent relays and fuses.
The following section, 39.4 describes the use of the main tool for analysing overcurrent protection
schemes, the time-overcurrent diagram.
39.3.1 Overcurrent relay model setup - basic data page
The basic data page in the relay model (ElmRelay) dialogue is where the basic conguration of the
relay is completed. Generally it is required to complete the following steps:
Select the relay type (generic or manufacturer specic). Refer to Section 39.3.1.1.
Select the instrumentation transformers. Refer to Section 39.3.1.2
Enter the relay settings. Refer to Section 39.3.1.3.
DIgSILENT PowerFactory 15, User Manual 877
CHAPTER 39. PROTECTION
39.3.1.1 Selecting the relay type
To select a generic relay type from the relay basic data page:
1. Click the icon. A menu will appear.
2. Choose Select Global Type. . . . A data page showing the global relay library will appear.
3. Navigate into the sub-folders under Generic" and select the desired relay type.
4. Click OK to assign the relay type. Note the basic data page of the relay will now show many
different slots which are based on the conguration of the relay type. See Figure 39.3.1 for an
example of a basic overcurrent relay dialogue.
To select a manufacturer specic relay type from the relay basic data page:
1. Download the desired relay device model from the user download area on the DIgSILENT website.
2. Import this relay model into your database. By default newly imported relays are imported into the
database folder Relay Library" within your user area. However, you might like to import the relay
into your local project library as an alternative.
3. Click the icon. A menu will appear.
4. Choose Select Project Type. . . . A data page showing the local type library will appear.
5. Locate the relay either within your local library, or within the Relay Libary" in your user area.
6. Click OK to assign the relay type. Note the basic data page of the relay will now show many
different slots. These are the functional protection blocks such as time-overcurrent, measurement,
differential, impedance and so on that contain the relay settings. The number and type of slot
within the relay is determined by the relay type that you select.
39.3.1.2 Selecting the relay instrument transformers
If there were some instrument transformers within the cubicle when the relay was created, then these
will automatically be assigned to the appropriate slots within the relay. However, if it is desired to select
an alternative instrument transformer then follow these steps:
1. Right-click the cell containing the instrument transformer. A menu will appear.
2. Choose Select Element/Type. . . . A data browser will appear showing the contents of the relay
cubicle.
3. Select an alternative instrument transformer here, or navigate to another cubicle within your net-
work model.
4. Click OK to choose the instrument transformer.
If the cubicle where the relay was created does not contain any current transformers, then a Create CT
will appear at the bottom of the dialogue. If the relay also has at least one VT slot, a Create VT
button will also appear. By clicking on these buttons it is possible to create a VT or CT and have them
automatically assigned to vacant slots within the relay. For instructions for conguring a CT refer to
Section 39.3.3 and for conguring a VT refer to Section 39.3.4.
878 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
39.3.1.3 Entering the relay settings
To edit relay settings:
1. Locate the desired slot that you would like to modify. You may need to scroll down to locate some
slots in complicated relay models.
2. Double-click the target slot. The dialogue for the clicked element will appear.
3. Enter or modify the settings.
39.3.1.4 Other elds on the relay basic data page
There are several other elds on the relay basic data page:
Application This eld is for documentation and searching purposes only.
Device Number This eld is also for documentation and searching purposes only.
Location By default these elds give information about the relay location within the network model
based upon the cubicle that it is stored within. However, it is possible to select an alternative
Reference cubicle. If an alternative reference cubicle is selected, then the relay will control the
switch within this cubicle. Furthermore, changing the reference location will also affect the auto-
matic assignment of instrument transformers and the cubicle where any instrument transformers
created using the Create VT or Create CT buttons will be placed.
39.3.2 Overcurrent relay model setup - max/min fault
currents tab
This tab can be used to enter the minimum and/or maximum fault currents occurring at the location
of the relay. These values are used to scale the Time-Overcurrent plot according to the given fault
currents. They can be entered either manually or calculated with the Short-Circuit-Command.
Note: The currents entered on this page will not affect the relay model. They are for plotting purposes
only.
DIgSILENT PowerFactory 15, User Manual 879
CHAPTER 39. PROTECTION
Figure 39.3.1: Relay model dialogue with selected type
39.3.3 Conguring the current transformer
A new current transformer (CT) can be created as described in section 39.2.2 (Adding protective devices
to the network model). Alternatively a CT can be created by using the Create CT button in the relay
model dialogue. The dialogue as depicted in Figure 39.3.2 will then appear.
880 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
Figure 39.3.2: The Current Transformer dialogue
The process of conguring the CT is:
1. Select/Create the CT type. Refer to Section 39.3.3.1 for information about the CT type.
2. Optional: If you would like to setup the CT to measure a location other than its parent cubicle or
as an auxiliary CT, you can choose this through the Cubicle. Refer to Section 39.3.3.2 for further
instructions.
3. Optional: Alter the Orientation. Positive current is measured when the ow is away from the node
towards the branch and the Orientation is set to Branch.
4. Set the Primary ratio through the drop down menu next to Tap. The available ratios are determined
by the selected CT type. If no type is selected the only ratio available will be 1A.
5. Set the Secondary ratio through the drop down menu next to Tap. The available ratios are deter-
mined by the selected CT type.
6. Optional: Select the number of phases from the drop down menu next to No. Phases.
7. Optional: Choose a Y or D connection for the secondary side winding. This eld is only available
for a 2- or 3-phase CT.
8. Optional: If the CT is 1 or 2-phase, the measured phases must be selected. These can be:
a, b or c phase current;
N = 3 I
0
; or
I
0
= I
0
9. Optional: If the CT is 3-phase, select the Phase Rotation. This denes how the phases of the
secondary side map to the phases of the primary side. For example, if you wanted the A and B
Phases to be ipped on the secondary side of the transformer, then you would choose a Phase
Rotation of b-a-c".
If it is desired to model CT saturation, saturation information about the CT can be entered on the
Additional Data" page of the CT element. This information is used only when the detailed model" tick
box is selected, otherwise it is ignored by the calculation engine.
DIgSILENT PowerFactory 15, User Manual 881
CHAPTER 39. PROTECTION
39.3.3.1 Conguring the current transformer type
The current transformer type dialogue, as depicted in Figure 39.3.3, denes the single phases of a CT.
The information about the connection of phases (Y or D) is dened in the CT element as discussed in
Section 39.3.3.
Figure 39.3.3: The Current Transformer Type dialogue
To add additional Primary or Secondary Taps:
1. Right-click one of the cells in the tabular list of available taps. A menu will appear.
2. Choose Insert Row/s, Append Row/s or Append n Rows to add one or more rows to the table.
3. Enter the ratio of the tap. Note the tabular list must be in ascending order.
Optionally, you might like to add some additional information about the CT on the Additional Data page.
Information entered on this page is not calculation relevant and is provided for documentation purposes
only.
The following accuracy parameters can be selected:
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)
39.3.3.2 Conguring a CT as an auxiliary unit or changing the measurement location
By default the CT measures the current within its parent cubicle. The Location elds Busbar and Branch
show information about the measurement location automatically. However, it is possible to congure the
CT to measure current in a different location. To do this:
882 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
1. Click the icon next to Cubicle. A data browser will appear.
2. Select either another cubicle, a switch or another CT where you would like to measure current. If
you select another CT, then this CT becomes an auxiliary CT with the nal ratio from the primary
circuit to the CT secondary side the product of the ratios of the two CTs - this is indicated in the
eld Complete Ratio. If you select another cubicle or switch then the CT will measure current at
location of the selected switch or cubicle.
39.3.4 Conguring the voltage transformer
A voltage transformer (VT) can be created as described in section 39.2.2. Alternatively a VT can be
created by using the Create VT button in the relay element dialogue. The dialogue as depicted in
Figure 39.3.4 will then pop up.
Figure 39.3.4: The Voltage Transformer dialogue
The process of conguring the VT is then:
1. Select the VT type. Refer to Section 39.3.4.1 for information about the VT type.
2. Optional: If you would like to setup the VT to measure a location other than its parent cubicle or as
an auxiliary VT, you can choose this through the Location selection icon. Refer to Section 39.3.4.4
for further instructions.
3. Set the Primary ratio through the drop down menu next to Tap. The available ratios are determined
by the selected VT type. If no type is selected, the available ratios will be 1, 100, 110, 120 and
130.
4. Optional: Choose a YN, D or V (two phase) connection for the primary winding. If the V" option
is selected then the VT is connected as shown in Figure 39.3.6.
DIgSILENT PowerFactory 15, User Manual 883
CHAPTER 39. PROTECTION
5. Optional: Set the secondary winding type. If no type is selected, the available ratios will be 1, 100,
110, 120 and 130. More information about the secondary type can be found in Section 39.3.4.2.
6. Set the Secondary ratio through the drop down menu next to Tap. The available ratios are deter-
mined by the selected VT type.
7. Optional: Choose a YN, D or O (open delta) connection for the primary winding. If O" is selected,
the VT secondary winding measures zero sequence voltage only with the winding congured as
shown in Figure 39.3.5.
8. Optional: Click Additional Secondary Windings to open a dialogue where extra secondary wind-
ings can be added. See Section 39.3.4.3 for more information about conguring additional sec-
ondary windings.
When a VT is created it is stored in the cubicle that was right-clicked or the cubicle the relay is stored
in.
Figure 39.3.5: The open delta (O) winding connection
Figure 39.3.6: The V winding connection
39.3.4.1 The voltage transformer type
The voltage transformer type, as depicted in Figure 39.3.7 denes the type of voltage transformer and
the ratio of the primary winding.
884 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
Figure 39.3.7: The voltage transformer type dialogue
The voltage transformer can be congured as:
Ideal Voltage Transformer In this case no saturation or transformer leakage impedance values are
considered and the voltage transformer has a perfect transformation of primary measured values
into secondary quantities.
Voltage Transformer In this case saturation and transformer leakage effects are modelled according
to data entered on the Transformer Data page.
Capacitive Voltage Transformer In this case, the VT is modelled as a CVT according to the parame-
ters entered on the Transformer Data and Additional CVT Data page.
To congure additional Primary Taps:
1. Right-click one of the cells in the tabular list of available taps. A menu will appear.
2. Choose Insert Row/s, Append Row/s or Append n Rows to add one or more rows to the table.
3. Enter the ratio of the tap. Note the tabular list must be in ascending order.
39.3.4.2 Conguring the secondary winding type
The secondary winding is dened by the secondary winding type, and is similar to the primary VT type
where multiple Secondary Tap ratios can be dened. The basic data page of the secondary winding
type is shown in Figure 39.3.8. If a secondary winding is not selected, it has the standard tap settings
of 1, 100, 110, 120 and 130V available.
The burden and power factor on this page are not calculation relevant and for information purposes only.
Therefore, the secondary winding type is always treated as an ideal transformer.
DIgSILENT PowerFactory 15, User Manual 885
CHAPTER 39. PROTECTION
Figure 39.3.8: The VT secondary winding type dialogue
39.3.4.3 Additional VT secondary winding types
In some cases a VT has multiple secondary windings. For example, some VTs might have a regular
winding and then also an open delta winding for measuring the zero sequence voltage. It is possible
to congure a PowerFactory VT in the same way. To dene an additional secondary winding type:
1. Click the VT element Additional Secondary Windings button.
2. Click the button. A dialogue for the Secondary Voltage Transformer will appear as shown in
Figure 39.3.9.
3. Click the button.
4. Choose Select Project Type. . . . The type is a secondary winding type as described in Sec-
tion 39.3.4.2.
5. Choose the Tap.
6. Select the Connection.
886 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
Figure 39.3.9: The VT secondary winding dialogue
39.3.4.4 Conguring the VT as an auxiliary VT or changing the measurement location
By default the VT measures the voltage within its parent cubicle. The Location elds Busbar and Branch
show information about the measurement location automatically. However, it is possible to congure the
VT to measure in a different location. To do this:
1. Click the icon next to Location. A data browser will appear.
2. Select either another cubicle, a bus or another VT where you would like to measure voltage. If
you select another VT, then this VT becomes an auxiliary VT with the nal ratio from the primary
circuit to the VT secondary side the product of the ratios of the two VTs - this is indicated in the
eld Complete Ratio. If you select another cubicle or busbar then the VT will measure voltage at
location of the selected switch or cubicle.
39.3.5 How to add a fuse to the network model
In PowerFactory the fuse element operates to some extent like an inverse time over-current relay with a
1/1 CT. The fuse will melt" when the current in the fuse element exceeds the current specied by the
fuses melt characteristic.
To add a fuse to the network model:
1. Either:
(a) Right-click a target cubicle and select the option New Devices Fuse . . . . This is an internal
(or implicit fuse) located within the cubicle. Or:
(b) Add an explicit fuse model to the network by clicking the and connecting the device as
you would connect a line or transformer.
2. On the fuse dialogue (Figure 39.3.10), click the button and either:
(a) Select Global Type. A dialogue will appear showing you a library of built-in fuses where you
can select an appropriate one; or
(b) Select Project Type. A dialogue will appear showing you the local project library where you
can choose a fuse type that you have created yourself or downloaded from the DIgSILENT
website.
DIgSILENT PowerFactory 15, User Manual 887
CHAPTER 39. PROTECTION
3. Adjust other options on the basic data page. The options are as follows:
Closed If this is checked, the fuse will be in the closed (non melted) state for the calculation.
Open all phases automatically If this option is enabled, then should the fuse be determined
to melt, PowerFactory will automatically open all three phases on the switch during a time
domain simulation or short circuit sweep. This eld has no effect on the load-ow or short-
circuit calculations.
No. of Phases This eld species whether the fuse consists of three separate fuses (3 phase),
two fuses (2 phase) or a single fuse (1 phase). Note, when the one or two phase option is
selected and the fuse is modelled explicitly in the network model, the actual phase connec-
tivity of the fuse is dened within the cubicles that connect to the fuse. When the fuse is
modelled implicitly, a selection box will appear that allows you to select which phase/s the
fuse connects to.
Fuse type This eld is used for information and reporting purposes only.
Device Number This eld is used for information and reporting purposes only.
Compute Time Using Many fuses are dened using a minimum melt curve and a total clear
curve as illustrated in Figure 39.3.11 - the idea is that for a given current, the fuse would gen-
erally melt at some time between these two times. In PowerFactory it is possible to choose
whether the trip/melt time calculations are based on the minimum melt time or the total clear
time.
Figure 39.3.10: The fuse model basic data dialogue
888 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
Figure 39.3.11: Fuse melt characteristics
39.3.5.1 Fuse model setup - other pages
On the VDE/IEC Short-Circuit and Complete Short-Circuit pages there is the option to congure the
fuse Break Time. This variable is used in the short circuit calculation of Ib" when the Used Break Time
variable is set to local, or min. of local. Refer to Chapter 22 for more information on the calculation of
short circuits in PowerFactory.
On the Optimal Power Flow page, there is the option Exclude from Optimization which if checked means
that the fuse will be ignored by the OPF and open tie optimization algorithms. See Chapter 35 for further
information.
On the Reliability page, the fuse can be congured for Fault separation and power restoration. These
options are explained in detail in Chapter 31.
39.3.6 Basic relay blocks for overcurrent relays
Section F.1 explained that all relay models contain slots which are placeholders for block (protection
function) denitions. There are many types of protection blocks in PowerFactory and each type has a
different function. Furthermore, there are various options and parameters within each of these blocks
that enable mimicking in detail the functionality offered by many relays. The complete relay model is
completed by interconnecting these different slots containing block denitions in various ways. Hence
it is possible to produce relay models with a large variety of operating characteristics. Advanced users
are able to dene their own types of protection device. The creation of user dened protection devices
is covered in the Section 39.11.
The blocks contained within a relay are listed in the slot denition section of the relay model dialogue.
DIgSILENT PowerFactory 15, User Manual 889
CHAPTER 39. PROTECTION
In general the user will need to dene parameters within these relay blocks. The settings dialogue can
be reached by double clicking on the block of interest in the net elements column.
If the user is interested in viewing a graphical representation of the interconnection of slots for a partic-
ular relay then the user should nd the following icon associated with the relay in the data manager.
By right clicking on this icon and selecting show graphic, a graphical representation of the relay frame
will appear in a new window.
The following sections provide a brief overview of some of the basic protection blocks that can be used
to develop a relay model in PowerFactory. Further information about these blocks can be found in the
protection block technical references which are available for download from the user support area of the
DIgSILENT website.
39.3.6.1 The measurement block
The measurement block takes the real and imaginary components of the secondary voltages and cur-
rents from the VTs and CTs, and processes these into the quantities used by other protection blocks
in the relay model. Quantities calculated by the measurement block include absolute values of each
current and voltage phase and the positive and negative sequence components of voltage and current.
Depending on how the measurement block type is congured, it also allows for the selection of different
nominal currents and voltages. For example, this feature can be utilised to support relays that have
both 1A and 5A versions. If a relay does not need a nominal voltage, for instance an overcurrent relay
without directional elements, or if there is only one nominal value to choose from, the nominal voltage
and/or current selection eld is disabled.
Figure 39.3.12: Measurement block
For EMT simulations, the measurement block type can also be congured for different types of signal
processing. This determines what type of algorithm is used for translating the input current and voltage
waveforms into phasor quantities for use by the protection blocks. Various DFT and FFT functions along
with harmonic ltering are available.
Further information about the measurement block can be found in the technical reference on the block
available from the support area of the DIgSILENT website.
39.3.6.2 The directional block
A detailed discussion of the principles of directional protection is outside the scope of this user manual.
The reader is encouraged to refer to a protection text for more information on the general principles. A
very brief high level overview is presented in the following paragraphs.
In PowerFactory , there are two directional blocks the RelDir" and the RelDisDir". The RelDir" block
is the basic direction block and is typically used by over-current relay models to determine the direction
of the current ow. It provides a forward or reverse direction determination signal which can be fed into
subsequent overcurrent blocks. The block can also send a trip signal.
890 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
In its normal operating conguration, the block is determining the direction by comparing the angle
between a polarization" voltage and an operating" current phasor. Various polarization methods are
supported by the block including common ones such as self and cross polarisation. The block also has
a so-called Maximum Torque Angle (MTA). This is the angle by which the polarized voltage is rotated.
Consequently, the forward direction is determined by the MTA Angle Operating Sector (often 180).
This principle is illustrated in Figure 39.3.13.
Figure 39.3.13: Directional relay principle diagram
The polarization quantity A
pol
is rotated over the angle M
T
(MTA). The rotated polarization quantity A

pol
AOS denes a half plane which forms the forward operating plane. The block will produce a tripping
signal if the operating quantity is detected in the selected direction, and if it exceeds the threshold
operating current, illustrated by the semi-circle Figure 39.3.13.
The second type of directional block in PowerFactory is the RelDisDir", this is normally used with
distance protection relays and is discussed in Section 39.5.3.8.
More details about the polarization methods and the tripping conditions can be found in protection
technical references for these blocks available from the support area of the DIgSILENT website.
39.3.6.3 The instantaneous overcurrent block
The instantaneous overcurrent block is a protection block that trips based on current exceeding a set
threshold (pickup current setting). The block also supports the inclusion of an optional delay time
and directional features. Hence this block can be used to represent instantaneous, denite time and
directional overcurrent relay functionality. The available setting ranges for the pickup and the time delay
are dened within the type. The relay characteristic is shown in Figure 39.3.14. The total tripping time
is the sum of the delay time and the pickup time also congured within the relay type.
DIgSILENT PowerFactory 15, User Manual 891
CHAPTER 39. PROTECTION
Figure 39.3.14: Instantaneous overcurrent tripping area
Figure 39.3.15 shows a screenshot of the PowerFactory block.
Figure 39.3.15: Instantaneous overcurrent block
The block will not reset until the current drops under the reset level, which is specied by the relay type
in percent of the pickup current: Ireset=IpsetKr/100%. See Figure 39.3.16 for a typical timing diagram.
892 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
Figure 39.3.16: Instantaneous overcurrent timing diagram
39.3.6.4 The time overcurrent block
The time-overcurrent block is a protection block that trips based on current exceeding a threshold de-
ned by an I-t characteristic. Most relays support the selection of several different I-t characteristics.
These characteristics can be shifted for higher or lower delay times by altering the time settings or
shifted for higher or lower currents by altering the pickup current. The ranges for these two settings
and the characteristics of the I-t curve are dened within the block type. Typical curves are shown in
Figure 39.3.17.
DIgSILENT PowerFactory 15, User Manual 893
CHAPTER 39. PROTECTION
Figure 39.3.17: I-t curves for different time dials
An example of the time overcurrent block is shown in Figure 39.3.18.
Figure 39.3.18: Time overcurrent block
The pickup current denes the nominal value Ip which is used to calculate the tripping time. The I-t
curve denition states a minimum and a maximum per unit current. Lower currents will not trip the relay
(innite tripping time), higher currents will not decrease the tripping time any further. These limits are
shown in Figure 39.3.19.
894 DIgSILENT PowerFactory 15, User Manual
39.3. SETUP OF AN OVERCURRENT
PROTECTION SCHEME
Figure 39.3.19: I-t curve limits
The pickup current may be dened by the relay type to be a per unit value, or a relay current. The
nominal current dened by the measurement block (refer to Section 39.3.6.1) 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 dened by the I-t curve is imin=1.1 I/Ip.
Suppose the measurement unit denes Inom=5.0 rel.A.
Suppose pickup current Ipset=1.5 p.u.
relay will not trip for I < 1.10 1.5 5.0rel.A = 8.25rel.A
Suppose pickup current Ipset=10.0 rel.A
relay will not trip for I < 1.1 10.0rel.A = 11.0rel.A
39.3.6.5 The logic block
The logic block in PowerFactory is responsible for two functions in the relay. Firstly, it combines the
internal trip signals from the other functional blocks, either with logical AND or OR functions and pro-
duces an overall trip status and time for the relay in a single output. Secondly, it controls one or more
switches in the power system model that will be opened by the relay in the time determined by the
logical combination of the various tripping signals. If the relay is located in a cubicle and no switch is
explicitly specied within the logic block, the default behaviour is for the logic block to open the switch
within that cubicle. See Figure 39.3.20 for an example of the logic block settings dialogue.
DIgSILENT PowerFactory 15, User Manual 895
CHAPTER 39. PROTECTION
Figure 39.3.20: Logic block
39.4 The time-overcurrent plot
The time-overcurrent plot (VisOcplot ) can be used for graphical analysis of an overcurrent protection
scheme to show multiple relay and fuse characteristics on one diagram. Additionally, thermal damage
curves for lines and transformers can be added to the plot along with motor starting curves. These plots
can be used to determine relay tripping times and hence assist with protection coordination and the
determination of relay settings and fuses characteristics.
For simplied reporting of protection schemes, the time-overcurrent plot also supports visualisation of
the network diagramnext to the plot like that illustrated in Figure 39.4.1. This diagramalso shows the rel-
evant protection relays and instrumentation transformers with a colour scheme that matches the colour
settings of the main diagram to enable easy identication of protection devices, their characteristics and
their position in the network being analysed.
896 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
1 10 100 1000 10000
0.01
1
100
10000
100 1000 10000 100000
275.00 kV
11.00 kV
Source\Cub_1\TX HV O/C protection Bus A\Cub_2\TX EF prot
Bus A\Cub_1\B O/C protection Fuse
Transformer Cable
D
Ig
S
IL
E
N
T
Figure 39.4.1: Time-overcurrent plot showing the auto-generated graphic for the protection path
39.4.1 How to create a time-overcurrent plot
There are four different methods to create a time-overcurrent plot (VisOcplot ). You can create this plot
by right clicking the cubicle, the power system object, the protection device or the protection path. The
rst three methods do not show the protection single line diagram to the left of the plot, while the fourth
method shows it. These methods are explained in further detail in the following sections.
1. From the cubicle
(a) Right-click a cubicle containing overcurrent relays or fuses. The context sensitive menu will
appear.
(b) Select the option Create Time-Overcurrent Plot. PowerFactory will create a diagram showing
the time-overcurrent plot for all protection devices and fuses within the cubicle. See Sec-
tion 39.4.7 for how to congure the presentation of the plot.
2. From the power system object (line, cable, transformer)
(a) Select one or more objects such as transformers or lines. The context sensitive menu will
appear.
(b) Select the option Show Time-Overcurrent Plot. PowerFactory will create a diagram show-
ing the time-overcurrent plot with the dened cable/line or transformer overload characteristic.
3. From the protection device
(a) Open a tabular view of the protection device either from the list of calculation relevant objects
or in the data manager.
(b) Right click the icon. A context sensitive menu will appear.
DIgSILENT PowerFactory 15, User Manual 897
CHAPTER 39. PROTECTION
(c) Select Show Time-Overcurrent Plot.
4. From the protection path
(a) Navigate to the protection path in the data manager.
(b) Right-click the icon. A context sensitive menu will appear.
(c) Select Show Time-Overcurrent Plot. Refer to section 39.7 (The time-distance plot) for
more information on dening paths. In this case the time-overcurrent plot will also show
an auto-generated schematic of the path to the left of the diagram. This plot can also be
manually adjusted. Refer to Section 39.4.7.
In methods 1-3, it is also possible to select the option Add to Time-Overcurrent Plot instead of Show
Time-Overcurrent Plot. This will open a list of previously dened over current plots from which any one
can be selected to add the selected device to.
Note: To show the relay locations and thus to visualize cubicles containing relays, you can set the
colour representation of the single-line diagram to Relay Locations. If one of these locations is
then right-clicked, the option Show Time-Overcurrent Plot is available.
39.4.2 Understanding the time-overcurrent plot
The time-overcurrent plot shows the following characteristics:
Time-current characteristics of relays;
Time-current characteristics of fuses, including optionally the minimum and maximum clearing
time;
Damage curves of transformers, lines and cables;
Motor starting curves; and
The currents calculated by a short-circuit or load-ow analysis and the resulting tripping times of
the relays.
If dened from a path, then the simplied single line graphic showing the main power system
objects, the protection devices and instrumentation transformers is displayed on the left of the
diagram.
See Figure 39.4.1 for an example.
39.4.3 Showing the calculation results on the time-overcurrent plot
The time-overcurrent plot shows the results of the short-circuit or load-ow analysis automatically as a
vertical x-value line through the graph. Because the current seen by each device could be different
(due to parallel paths, meshed networks etc), a current line is drawn for each device that measures
a unique current. If the intersection of the calculated current with the time-overcurrent characteristic
causes the shown characteristic to trip, then the intersection is labelled with the tripping time. These
lines automatically update when a new load-ow or short-circuit calculation is completed.
898 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
39.4.4 Displaying the grading margins
To show a grading margin line, which shows the difference between the tripping times of each protec-
tion device:
1. Right-click the time-overcurrent plot. A context sensitive menu will appear.
2. Select the option Show Grading Margins. A dialogue box will appear.
3. Enter the desired position of the vertical line in the Value eld. Note this can later be adjusted by
dragging with the mouse.
4. Optional: Adjust the curve Colour, Width and Style to your preferences.
5. Optional: Choose the type of the current from the radio selection control.
6. Optional: Select User-dened and enter a custom label for the curve.
7. Press OK to show the grading margins on the plot. An example with the grading margins shown
using the default blue coloured curve is shown in Figure 39.4.2
1 10 100 1000 10000
0.1
1
10
100 1000 10000 100000
275.00 kV
11.00 kV
Source\Cub_1\TX HV O/C protection Bus A\Cub_2\TX EF prot
Bus A\Cub_1\B O/C protection Fuse
Transformer Cable
0.000
0.290
0.000
0.173
0.437
0.000
0.000
0.290
0.000
0.173
0.437
0.000
I = 12.032
0.783
I =469.992
0.610
3*I0 =479.667
0.320
I =268.581
1.220
D
Ig
S
IL
E
N
T
Figure 39.4.2: Time-overcurrent plot with grading margins displayed in blue
Note: The displayed grading margins shown by this method are the calculated grading margins based
on the relay settings and the calculated current. Predicted grading margins can also be shown
when dragging the sub-characteristics to alter the settings. Refer to Section 39.4.9.2.
DIgSILENT PowerFactory 15, User Manual 899
CHAPTER 39. PROTECTION
39.4.5 Adding a user dened permanent current line to the time-overcurrent
plot
There are two ways to create a permanent vertical line on the time-overcurrent plot:
1. From any existing calculated short-circuit or load-ow calculated line:
(a) Right-click the line. A context sensitive menu will appear.
(b) Choose the option Set user dened. The line will now remain on the diagram when the
calculation is reset or another calculation is completed.
(c) Optional: Double-click the user dened line to edit its colour, width, style and alter the dis-
played label.
(d) Optional: It is possible to drag the line using the mouse to alter its position on the diagram.
2. A new line not based on an existing calculation:
(a) Right-click the time-overcurrent plot avoiding clicking on any existing curve or characteristic.
(b) Choose the option Set Constant x-Value. A dialogue will appear that allows you to cong-
ure the properties of the line.
(c) Optional: Adjust the line properties such as width, colour, style and set a user dened label.
(d) Press OK to add the line to the diagram.
39.4.6 Conguring the auto generated protection diagram
The auto-generated protection diagram that is created when a time-overcurrent diagram is generated
from the protection path (see option 4 in Section 39.4.1) can also be manually adjusted by the user.
To edit this graphic:
1. Right-click the protection diagram within the time-overcurrent plot;
2. Select the option Edit graphic in new Tab. A single line graphic showing the diagram will appear
in a new tab. The diagram can be edited like a regular PowerFactory single line diagram and it will
automatically update in the time-overcurrent plot following any changes.
39.4.7 Overcurrent plot options
To access the time-overcurrent plot settings, either:
1. Right-click the time-overcurrent plot and select Options; or
2. Double-click the time-overcurrent plot and click Options underneath the Cancel button in the
displayed dialog.
39.4.7.1 Basic options page
The basic options page of the time-overcurrent options dialogue shows the following:
Current Unit The current unit may be set to either primary or secondary (relay) amperes.
Show Relays This option is used to display only certain types of relay characteristics. For example, you
might want to display only earth-fault relays on the diagram and ignore phase fault characteristics.
This could be done be selecting the Earth Relays option.
900 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
Characteristic This option denes whether the displayed curves also show the curves including the
additonal circuit breaker delays. The default option All shows both the minimum clearing time (not
including the breaker delay) and the total clearing time (including the breaker delay). It is possible
also to display just one of these curves. An example is highlighted in Figure 39.4.2. Note that the
breaker delay time is specied in the basic data of the switch type TypSwitch.
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-ow or short-circuit cur-
rents will be displayed. Either the current lines, the grading margins, both or none may be selected.
Consider Breaker Opening Time This option determines whether the relay characteristics will also
include the breaker (switch) operating time.
Voltage Reference Axis More than one current axis may be shown, based on different voltage levels.
All voltage levels found in the path when a time overcurrent plot is constructed are shown by
default. A user dened voltage level may be added. Optionally, only the user dened voltage level
is shown.
Cut Curves at This option determines the maximum extent of the displayed characteristics. For the
default option -, the displayed curves continue past the calculated short-circuit or load-
ow current to the extent of the dened characteristic. If the option Tripping current is selected,
only the part of the curve less than the tripping current is displayed. The third option, Max. Short-
Circuit/Rated Breaking Current means the curves will be displayed to the extent of the maximum
current dened within the Max/Min Fault Currents page within the protection device.
Show Grading Margins while Drag&Drop When dragging curves, the grading margins of the curve
will be shown according to the margin entered. Refer to Section 39.4.9.2 for more information on
grading margins when dragging the time-overcurrent characteristics.
100 1000 10000 100000 [pri.A]
0.1
1
10
100
[s]
10 100 1000
11.00 kV
275.00 kV
Bus A\Cub_1\B O/C protection
Total clearing time including
circuit breaker delay.
Minimum clearing time without
circuit breaker delay.
I =11749.806 pri.A
0.610 s
0.690 s
D
Ig
S
IL
E
N
T
Figure 39.4.3: time-overcurrent plot showing an overcurrent characteristic including also the breaker
delay time.
DIgSILENT PowerFactory 15, User Manual 901
CHAPTER 39. PROTECTION
39.4.7.2 Advanced options page
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 Damage Curves This option denes the maximum and minimum time limits for the
transformer and line damage curves.
Colour for Out of Service Units The characteristics for units that are out of service are invisible by
default. However, a visible colour may be selected.
Brush Style for Fuses This denes the ll style for fuse curves when they have a minimum and maxi-
mum melting time dened.
Number of points per curve The number of plotted points per curve can be increased to show addi-
tional detail, or reduced to speed up the drawing of the diagram.
Thermal Image, Pre-fault Current In some time-overcurrent relay characteristics, the tripping time is
dependent on the pre-fault current. This box allows the user to enter a custom value for the
pre-fault current, or to use the automatically calculated load-ow current.
39.4.8 Altering protection device characteristic settings fromthe time-overcurrent
plot
The time-overcurrent plots can be used to alter the relay characteristics graphically. This section de-
scribes various procedures used to alter such characteristics.
39.4.9 How to split the relay/fuse characteristic
Often a complete relay characteristic is determined froma combination of two or more sub-characteristics.
For example, an overcurrent relay often has a time-overcurrent characteristic designed to operate for
low fault currents and overloads and a denite time characteristic that is typically set for high fault cur-
rents. To alter relay characteristics graphically, every protection device must rst be split so that all
characteristics are visible on the time-overcurrent plot. Figure 39.4.4 shows an example of such an
overcurrent relay before it is split (left plot) and after it is split (right plot).
902 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
100 1000 10000 100000 [pri.A]
0.1
1
10
100
1000
10000
[s]
10 100 1000
11.00 kV
275.00 kV
Bus A\Cub_1\B O/C protection
D
Ig
S
IL
E
N
T
(a) Unsplit
100 1000 10000 100000 [pri.A]
0.1
1
10
100
1000
10000
[s]
10 100 1000
11.00 kV
275.00 kV
Bus A\Cub_1\B O/C protection
D
Ig
S
IL
E
N
T
(b) Split
Figure 39.4.4: Overcurrent relay characteristics in the time-overcurrent plot
DIgSILENT PowerFactory 15, User Manual 903
CHAPTER 39. PROTECTION
There are two methods to split a relay to show the sub-characteristics:
1. Method 1:
(a) Right-click the characteristic. The context sensitive menu will appear.
(b) Select the option Split.
2. Method 2:
(a) Double-click the time-overcurrent plot avoiding any shown characteristics.
(b) On the lower table section of the displayed dialogue check the Split Relay box next to the
relays and fuses that need to be split.
(c) Click OK to close the dialogue.
Note: Fuses can also be split! When a fuse is split, the fuse characteristic can be dragged with the
mouse to automatically change the fuse type to another fuse within the same library level.
39.4.9.1 Altering the sub-characteristics
The rst step is to Split the relay characteristic. See Section 39.4.9. After this there are two different
methods to alter the relay sub-characteristics:
1. By left clicking and dragging the characteristic.
(a) Drag to the left to reduce the current setting or to the right to increase the current setting.
(b) Drag to the top to increase the time setting or to the bottom to decrease the time setting.
2. By double-clicking a characteristic.
(a) Double click the target characteristic. A dialogue for that characteristic will appear.
(b) Enter time and current numerical settings directly in the available elds.
(c) Optional: For time-overcurrent characteristics, the curve type (very inverse, standard inverse,
extremely inverse) can also be selected.
Note: Relay sub-characteristics cannot be dragged to positions outside the range dened within the
relay type, nor can they be dragged diagonally to simultaneously alter the time and current setting.
39.4.9.2 Showing grading margins during characteristic adjustment
The time-overcurrent plot option dialogue (39.4.7), has an option for showing the grading margins. When
this option is enabled, the grading margins will appear whenever a time-overcurrent sub-characteristic is
dragged. These are represented as grey characteristics above and below the main sub-characteristic.
The upper limit is dened by the characteristic operating time plus the grading margin and the lower limit
of the envelope is dened by the characteristic operating time minus the grading margin. An example
is illustrated in Figure 39.4.5. The original characteristic is labelled 1", the new position as 2", and the
grading margins are labelled a".
904 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
Figure 39.4.5: Grading margins when Moving a characteristic
39.4.10 Equipment damage curves
Equipment damage curves are used to aid the positioning of relay and fuse time-current characteristics
to ensure that thermal damage to equipment is minimized in the event of an overload or short-circuit.
The following types of damage curves exist:
Conductor damage curve
Transformer damage curve
Motor starting curve
39.4.10.1 How to add equipment damage curves to the time-overcurrent plot
There are two methods to add damage curves to an time-overcurrent plot.
1. Method 1:
(a) Right-click a transformer or line object. A context sensitive menu will appear.
(b) Select (Show Time-overcurrent plot ).
2. Method 2:
(a) Right-click an existing time-overcurrent plot, avoiding any existing characteristics. A context
sensitive menu will appear.
(b) Select (Add Transformer Damage Curve / Conductor/Cable Damage curve / Motor start-
ing curve). A dialogue with options for conguring the damage curve will appear. See Sec-
tions 39.4.10.2, 39.4.10.3 and 39.4.10.4.
39.4.10.2 Transformer damage curves
The transformer damage curve dialogue is illustrated in gure 39.4.6, the user is able to add a dam-
age curve in accordance with ANSI/IEEE C57.109. This standard differentiates between the damage
DIgSILENT PowerFactory 15, User Manual 905
CHAPTER 39. PROTECTION
curve of a transformer which is expected to be subjected to frequent faults and one that is subjected
to infrequent faults. In the former case, mechanical damage at high short circuit levels can be of sig-
nicant concern. For category II and III transformers in particular, accounting for mechanical damage,
signicantly alters the damage characteristic of the transformer. An example of a time-overcurrent plot
with two relay characteristics and a category II transformer damage curve for a transformer subjected to
frequent faults is shown in Figure 39.4.7. The mechanical damage characteristic is ringed in the gure.
If the user wishes to dene an alternative damage curve this can be achieved by selecting User Dened
curve New project type, in the dialogue.
Figure 39.4.6: Transformer damage curve
906 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
Figure 39.4.7: Transformer damage curve
The transformer damage curve consists of four parts.
Rated Current Curve
The rated current curve represents the nominal operation limits of the transformer.
I(t) = I
rat
=
S
rat
U
ref
(39.1)
Where:
I
rat
rated current of the line or the damage curve input value [A]
S
rat
inrush current to nominal current ratio [kVA]
U
rat
inrush duration [kV]
Thermal and Mechanical Damage Curve
The thermal and mechanical damage curve represents the maximum amount of (short-circuit) current
the transformer can withstand for a given amount of time without taking damage. The transformer is
classied into one of four possible groups, depending on its rated apparent power and the insulation
type (see Table 39.4.1). Dry-type transformers can only be category I or II.
DIgSILENT PowerFactory 15, User Manual 907
CHAPTER 39. PROTECTION
Classication Three-Phase Single-Phase
Category I S
rat
0.5MV A S
rat
0.5MV A
Category II S
rat
5.0MV A S
rat
1.667MV A
Category III S
rat
30.0MV A S
rat
10.0MV A
Category IV S
rat
> 30.0MV A S
rat
> 10.0MV A
Table 39.4.1: Categories for Transformers
The thermal damage part of the curve is identical for all categories of the respective insulation type and
is shown in Table 39.4.2. (taken from IEEE Standards Board, IEEE Guide for Liquid-Immersed Trans-
former Through-Fault-Current Duration, New York: The Institute of Electrical and Electronics Engineers,
Inc., 1993. and IEEE Guide for Dry-Type Transformer Through-Fault Current Duration, New York: The
Institute of Electrical and Electronics Engineers, Inc., 2002. )
Liquid-Immersed Dry-Type
I/I
rat
t[s] I/I
rat
t[s]
25 2 25 2
11.3 10 3.5 102
6.3 30
4.75 60
3 300
2 1800
Table 39.4.2: Thermal Withstand Capabilities
ANSI Mechanical Damage Curve
The mechanical part of the ANSI damage curve is only available for transformers of category II and
higher. For transformers of categories II and III this part is optional and depends on expected number
of fault currents owing through the transformer over the transformers lifetime. Typically the mechanical
part should be considered if the transformer is expected to carry fault current more than 10 (category
II) or 5 (category III) times during its lifecycle. For category IV transformers the mechanical part of the
curve is always considered. See IEEE Standards Board, IEEE Recommended Practice for Protection
and Coordination of Industrial and Commercial Power Systems, New York: The Institute of Electrical
and Electronic Engineers, Inc., 1999, Page 426.
The mechanical part of the damage curve is a shifted part of the thermal damage curve. The three
points necessary to draw the mechanical damage curve can be calculated as follows:
I
1
) = I
rat

1
u
k
; t
1
= 2, 0s (39.2)
I
2
) = I
rat

c
f
u
k
; t
2
=
K
I
2
2
=
I
1
2
t
1
I
2
2
=
2, 0s
c
f
2
(39.3)
I
3
= I
2
; t
3
= intersection with thermal curve
Where:
I
rat
rated current of the transformer [A]
u
k
short-circuit voltage of the transformer [%]
908 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
k heating constant with
I
I
rat
t = K = const.
c
f
fault current factor [-] c
f
= 0.7 for category II and c
f
= 0.5 for categories III and IV
ANSI Curve Shift
The damage curve is based on a three phase short-circuit on the LV-side of the transformer. In case
of unbalanced faults (Ph-Ph, Ph-E, Ph-Ph-E) the phase current on the HV side may be distributed over
multiple phases, depending on the vector group of the transformer. The standard (IEEE Standards
Board, IEEE Recommended Practice for Protection and Coordination of Industrial and Commercial
Power Systems, New York: The Institute of Electrical and Electronic Engineers, Inc., 1999.) therefore
suggests to multiply the rated current of the transformer by a shifting factor, thus enabling the engineer
to archive proper protection of a transformer for unbalanced faults. While the shift is only applicable
for Dyn" vector-groups (according to the cited standard) and single-phase to ground faults, the same
principle of current reduction on the HV side also applies to other vector groups. The resulting shifting
factors and the corresponding fault type can be taken from Table 39.4.3.
Vector Group(s) Shift Factor Fault Type
Dd 0,87 Ph-Ph
Dyn/Dzn 0,58 Ph-E
Yyn/Zyn/Zzn 0,67 Ph-E
Table 39.4.3: ANSI Curve Shift Factors
IEC Mechanical Damage Curve
The mechanical part of the IEC damage curve is only available for the element specic damage curve
and consists of one point only [10]:
I(2, 0s) = I
rat

1
u
k
(39.4)
Where:
I
rat
rated current of the transformer [A]
u
k
short-circuit to nominal current ratio [%]
Cold load curve
The cold load curve represents the maximum amount of current a transformer can withstand for a short-
time (typically several minutes) before taking damage. The curve is specic for each transformer and
the supplied loads and has to be provided by the user as a series of (I/t) pairs.
Inrush peak current curve
The inrush curve represents the amount of current which ows into the transformer when the transformer
is energised. The curve is represented by a straight line between the following two points:
I(T
[1]
inrush
) = I
rat

I
[1]
inrush
I
nom
(39.5)
I(T
[2]
inrush
) = I
rat

I
[2]
inrush
I
nom
(39.6)
DIgSILENT PowerFactory 15, User Manual 909
CHAPTER 39. PROTECTION
Where:
I
rat
rated current of the transformer [A]
I
inrush
I
nom
inrush current to nominal current ratio [-]
T
inrus
inrush duration [s]
Note: If only one of the two points is given, only this point is drawn.
Three Winding Transformers
The transformer damage curve can be used for 3-winding transformers. On the protection page of the
NetElement, a drop-down box is available which allows the user to select which set of values (HV-MV
(default), HV-LV, MV-LV) should be used to calculate the curve. The equations remain identical, as there
are normally only two windings within a coordination path.
39.4.10.3 Conductor/cable damage curves
The conductor damage curve consists of four parts; a rated current curve, a short-time withstand curve,
a long time overload curve and an inrush curve. These components are discussed in the following text.
Rated Current Curve
The rated current curve represents the nominal operation limits of the conductor.
I(t) = I
rat
(39.7)
Where:
I
rat
rated current of the line [A]
Short-Time Withstand Curve
The short-time withstand curve represents the maximum amount of (short-circuit) current the conductor
can withstand for short time periods (typically 1s) without taking damage.
There are two separate equations for this curve, both are drawn for 0.1s t 10s
Using the rated short-time withstand current:
I(t) = I
thr

T
thr
t
(39.8)
Where:
I
thr
rated short-time current of the line [A]
T
thr
rated short-time duration of the [s]
Using material data (only available for the generic type):
I(t) =
F
ac
k A

t
(39.9)
910 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
Where:
F
a
lateral conductivity [-]
A conductor cross-sectional area [mm
2
/kcmil]
k conductor/insulation parameter [
A

s
mm
2
/
A

s
mm
2
kcmil]
The conductor/insulation parameter can be provided by the user or calculated according to the stan-
dards equations as follows:
IEC/VDE equations [18]:
k = c
1

ln(1 +

f

i
c
2
+
i
) (39.10)
ANSI/IEEE equations [3]:
k =

c
1
log

f
+c
2

i
+c
2
(39.11)
Where:
c
1
material constant [-]
c
2
material constant [-]

f
max. short-circuit temperature [

C]

i
initial temperature [

C]
Note: Both equations for the conductor/insulation parameter are slightly adapted (from the original form
in the standards) to t into the same form of equation.
The values for the material constants can be taken from the table below.
Standard IEC/VDE ANSI/IEEE
Conductor Material Copper Aluminium Copper Aluminium
c
1
226 148 0.0297 0.0125
c
2
234.5 228 234 228
Table 39.4.4: Material Constants for Short-Term Withstand Calculation
The initial temperature and nal temperature
i
and
f
mainly depend upon the insulation of the con-
ductor. The initial temperature is usually the maximum allowable continuous current temperature, whilst
the nal temperature is the maximum allowable short circuit temperature. Typical values for
i
and
f
are given in table 39.4.5.
DIgSILENT PowerFactory 15, User Manual 911
CHAPTER 39. PROTECTION
Cable insulation Initial Final
and type temperature temperature
(

C) (

C)
Paper
1-6kV: belted 80 160
10-15kV: belted 65 160
10-15kV: screened 70 160
20-30kV: screened 65 160
PVC: 1 and 3kV
Up to 300mm
2
70 160
Over 300mm
2
70 140
XLPE and EPR 90 250
Table 39.4.5: Typical cable initial temperature and nal temperature values (data from the BICC Electric
Cables Handbook 3rd edition)
The option user dened may also be selected in the calculate K eld of the dialogue, allowing the user
to enter a value for K manually. The dialogue for doing this is illustrated in gure 39.4.8.
Figure 39.4.8: Conductor/Cable damage curve
Alternatively, rated short-circuit current and time may be entered if Rated Short-Time Current is entered
as the input method.
If the user wishes to dene an alternative conductor/cable damage curve this can be achieved by se-
lecting User Dened curve New project type.
Skin effect ratio or ac/dc ratio is a constant as dened in the NEC electrical code. The value is used
when carrying out calculations to IEEE/ANSI standards and is not typically referred to by IEC/VDE
912 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
standards. However, the user is given the option to specify this value when using either set of standards.
Long time overload curve
The overload page allows the user to dene the overload characteristic of the conductor. If an overload
characteristic is required, it is necessary to ensure that the draw overload curve checkbox is selected
as illustrated in gure 39.4.9.
Figure 39.4.9: Overload curve settings
The user then has the option to dene the overload curve according to ANSI/IEEE standards by select-
ing the relevant checkbox. The equation used is as follows:
I
E
I
N
=

T
E
T
0
T
N
T
0

_
I
0
I
N
_
2
e

t
k
1 e

t
k

T
M
+T
N
T
M
+T
E
(39.12)
Where,
I
E
= Max overload temperature
I
N
= Normal current rating
I
0
= Preload current
T
E
= Max overload temperature
T
N
= Max operating temperature
T
0
= Ambient temperature
T
M
= Zero resistance temperature value, (234 for copper, 228 for aluminium)
k = A constant dependant on cable size and installation type.
DIgSILENT PowerFactory 15, User Manual 913
CHAPTER 39. PROTECTION
Note that the value for TM is derived from the material assigned in the short circuit page which is only
visible when the eld calculate k is set to ANSI/IEEE or IEC/VDE.
If the checkbox is left unchecked the equation used is as follows:
I
E
I
N
=

1
_
I
0
I
N
_
2
e

t
k
1 e

t
k
(39.13)
Where the variables are the same as in the previous equation. A constant designated as tau is re-
quested in the dialogue. This is identical to the constant k except k has units of hours, while tau has
units of seconds.
Inrush Curve
The inrush curve represents the amount of current that will ow into the conductor when the conductor
is energised. The curve consists of one point only.
I(T
inrush
) = I
rat

I
inrush
I
nom
(39.14)
Where:
I
rat
rated current of the line or the damage curve input value [A]
I
inrush
I
nom
inrush current to nominal current ratio [-]
T
inrush
inrush duration [s]
39.4.10.4 Motor starting curves
A motor starting curve is illustrated in gure 39.4.10. It consists of two seperate components, a starting
curve and a damage curve. This section describes the equations and references underpinning the two
curves.
914 DIgSILENT PowerFactory 15, User Manual
39.4. THE TIME-OVERCURRENT PLOT
Figure 39.4.10: 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 39.4.11.
Figure 39.4.11: The motor start curve
Motor starting curve equations
DIgSILENT PowerFactory 15, User Manual 915
CHAPTER 39. PROTECTION
This section describes the underlying equations and references the respective standards.
Note: The equations in this section are given with respect to the rated current of the equipment. For
the correct drawing in the overcurrent plot, the currents will be rated to the reference voltage of
the plot.
I = I
rat

U
rat
U
ref
(39.15)
The motor starting curve consists of three parts; a rated current curve, the motor starting curve and the
motor inrush curve.
Rated Current Curve
The rated current curve represents the nominal operation limits of the motor and is drawn for T
start
< t.
I(t) = I
rat
=
S
rat
U
rat
(39.16)
Where:
I
rat
rated current time of the motor [A]
S
rat
rated apparent power (electrical) of the motor [kVA]
U
rat
rated voltage of the motor [kV]
T
stat
starting time of the motor [s]
Motor Starting Curve
The motor starting curve represents the maximum amount of current that will ow into the motor while
it accelerates. The curve is drawn for T
inrush
< t T
start
:
I(t) = I
rat
=
I
lr
I
nom
(39.17)
Where:
I
rat
rated current of the motor [A]
I
lr
I
nom
ratio of locked rotor current to nominal current of the motor [-]
T
start
starting time of the motor [s]
T
inrush
inrush duration [s]
Motor Inrush Curve
The motor inrush curve represents the amount of current that will ow into the motor when it is ener-
gised. The curve is drawn from 0,01 s t T
inrush
:
I(t) = I
rat
=
I
inrush
I
nom
(39.18)
916 DIgSILENT PowerFactory 15, User Manual
39.5. SETUP AND ANALYSIS OF A DISTANCE
PROTECTION SCHEME
Where:
I
rat
rated current of the motor [A]
I
tr
I
nom
ratio of inrush current to nominal current of the motor [-]
T
inrush
inrush duration [s]
Motor Damage Curve
The motor damage curve represents the maximum amount of current the motor can withstand for a
given time without taking damage. There are two curves available, one representing the damage char-
acteristic of the cold motor, one representing the damage characteristic of the hot motor. The hot curve
must be lower than the cold curve. The curve would actually follow an inverse current-time characteris-
tic but is reduced to a vertical line to indicate the damage region without cluttering the plot. The motor
damage curve is drawn from T
hot
t T
cold
:
I(t) = I
rat
I
lr
(39.19)
Where:
I
rat
rated current of the motor [A]
I
lr
ratio of locked rotor current to rated current of the motor [-]
T
hot
stall time for the hot motor [s]
T
cold
stall time for the cold motor [s]
Synchronous Motors
The motor starting curve can be created for synchronous motors. Since synchronous motors are started
in asynchronous operation, the curve is identical to the asynchronous motor starting curve. The param-
eter mapping for the synchronous machine is as follows:
Motor Starting
Curve
Asynchronous
Motor
Synchronous
Motor
Parameter Parameter Parameter
Rated Power Srat t:sgn t:sgn
Rated Voltage Urat t:ugn t:ugn
Locked Rotor
Current (Ilr/In)
aiazn t:aiazn 1 / (t:xdsss)
Table 39.4.6: Synchronous Motor Parameter Mapping
Note: By default the subtransient reactance (t:xdss) is used. If the ag Use saturated values" in the
machine type is set, the saturated subtransient reactance (t:xdsss) is used.
39.5 Setup and analysis of a distance
protection scheme
Section 39.2.2, explains the procedure to setup a protection device in PowerFactory. When a new
device is created within a network model there are a number of parameters to dene in the dialogue
DIgSILENT PowerFactory 15, User Manual 917
CHAPTER 39. PROTECTION
which appears. This section will describe the basic steps that should be completed in order to specify
these parameters for distance protection relays. In many cases the setup is similar to overcurrent relay
and consequently only the main differences are highlighted in this section.
The following sections, 39.6 and 39.7 will cover the main graphical tools used for distance protection
analysis in PowerFactory.
39.5.1 Distance relay model setup - basic data page
The basic data page in the relay model (ElmRelay) dialogue is where the basic conguration of the
relay is completed. The procedure is the same as that used for setting up the over-current relay. Refer
to Section 39.3.1.
39.5.2 Primary or secondary Ohm selection for distance relay parameters
It is always possible to enter the reach setting/s of the distance mho (refer Section 39.5.3.3) and distance
polygon (refer Section 39.5.3.4) blocks in terms of primary Ohms or secondary Ohms. However, for the
purpose of the respective block types, and specifying the valid settings range, one of these quantities
must be congured as the default mode. Normally this is secondary Ohms, however some relays may
allow this to be primary Ohms and hence in PowerFactory it is possible to alter the default option. To do
this:
1. Go to the Advanced data page of the relay type.
2. Choose either Secondary Ohm or Primary Ohm.
3. Press OK to close the relay type.
There is another feature that is enabled if the Primary Ohm option is selected. This is the overriding of
the CT and VT ratio determined from the selected VT and CT automatically with custom settings. To do
this:
1. Enable the Primary Ohm option for impedance ranges as described above.
2. Select the Current/Voltage Transformer page of the relay element.
3. Click Set CT/VT ratio.
4. Enter the updated parameters of the CTs and VTs.
This feature could be used for instance to quickly see the affect of altering the CT or VT ratio without
having to modify the PowerFactory CT and VT objects.
39.5.3 Basic relay blocks used for distance protection
The following sections provide a brief overview of some of the basic protection blocks that can be
found within distance relays in PowerFactory . Some of the protection blocks such as the measurement
block, logic block, directional, and overcurrent blocks that were discussed in Section 39.3.6 are also
used within distance relays. Consequently, this section only discusses those blocks that are unique to
distance relays. By necessity, this manual only provides a brief high level overview of the blocks. Further
technical information can be found in the protection block technical references which are available for
download from the user support area of the DIgSILENT website.
918 DIgSILENT PowerFactory 15, User Manual
39.5. SETUP AND ANALYSIS OF A DISTANCE
PROTECTION SCHEME
39.5.3.1 The polarizing block
The purpose of the Polarizing" block is to provide polarized" current and voltage signals to the distance
protection zones (either Mho or Polygonal). The block takes as input the following signals:
Real and imaginary components of the three phase currents and voltages;
Real and imaginary components of the zero sequence currents; and
Optional: Real and imaginary components of the mutual zero sequence currents;
It produces as output:
Real and imaginary components of the three phase-phase operating currents;
Real and imaginary components of the three phase-ground operating currents;
Real and imaginary components of the polarised phase-phase voltages;
Real and imaginary components of the polarised phase-ground voltages;
Real and imaginary components of the operating phase-phase voltages; and
Real and imaginary components of the operating phase-ground voltages;
The calculation of the above components depends on the conguration of the block and the polarization
method selected. The currently supported polarization methods are:
Voltage, Self
Voltage, Cross (Quadrature)
Voltage, Cross (Quad L-L)
Positive Sequence
Self, ground compensated
Further to this, polarizing blocks allow for settings of earth fault (k0) and mutual earth fault (k0m) com-
pensation parameters to be applied if these features are available in the relay model. Equations for
the output quantities for each of these methods are available in the polarizing block technical reference
available from the support area of the DIgSILENT website.
An example of a polarizing block dialogue can be seen in Figure 39.5.1. The user can click the
Assume k0 button to automatically set the zero sequence compensation factor of the polarizing block
to match the calculated factor for the protected zone.
DIgSILENT PowerFactory 15, User Manual 919
CHAPTER 39. PROTECTION
Figure 39.5.1: Polarizing block
39.5.3.2 The starting block
The starting block is used exclusively in distance relays as a means to detect fault conditions. It can be
congured to send a starting signal to protection blocks that accept such a signal. This includes Mho,
Polygonal and timer blocks. The fault detection method can be based on overcurrent or impedance.
Also, both phase fault and earth fault detection is supported by the block. An overcurrent starting block
is shown in Figure 39.5.2.
920 DIgSILENT PowerFactory 15, User Manual
39.5. SETUP AND ANALYSIS OF A DISTANCE
PROTECTION SCHEME
Figure 39.5.2: Starting block
Further information about the starting block is available in the technical reference available from the
support area of the DIgSILENT website.
39.5.3.3 The distance mho block
Distance protection using mho characteristics is the traditional method of impedance based protection
and was initially developed in electro-mechanical relays. Today, such characteristics are also supported
by numerical protection relays primarily for compatibility with these older units but also because most
protection engineers are inherently familiar with mho based protection. PowerFactory supports the fol-
lowing types of mho characteristics:
Impedance
Impedance (digital)
Impedance Offset
Mho
Mho Offset Mta
Mho Offset X
Mho Offset Generic
Mho Offset 2 X
DIgSILENT PowerFactory 15, User Manual 921
CHAPTER 39. PROTECTION
Asea RAKZB Mho Offset
Details of the implementation of these characteristics in PowerFactory is explained within the technical
reference available from the support area of the DIgSILENT website.
From the user perspective, the type of characteristic used by the block is dependent on the type, and
the user does not normally need to be concerned with its selection from the RelDismho dialogue, an
example of which is shown in Figure 39.5.3.
Figure 39.5.3: Distance mho block
The user is required simply to enter the settings for the replica impedance, either in secondary or
primary Ohms, and the relay angle.
The block also shows the impedance characteristics of the branch that it is protecting and the effective
reach of the relay in the Impedances section at the bottom of the dialogue.
Note: The displayed impedance shown in blue text at the bottom of the mho block indicates the
impedance of the primary protection zone. This could be a single PowerFactory line element
or multiple line elements. PowerFactory automatically completes a topological search until it nds
the next terminal with type busbar", or a terminal inside a substation, or another protection de-
vice. If the protected zone" consists of multiple parallel paths, the resulting displayed impedance
is the series combination of the branches with the largest impedance of all possible branches in
this search.
The distance mho block does not have a time dial internally, instead it is connected to an external
timer block (refer Section 39.5.3.5) that controls the tripping time of the zone. However, the timer block
associated with the particular mho zone can be conveniently accessed by clicking the Timer button.
If the Timer button of a zone is greyed out, this means there is no timer block directly connected to the
zone. This could be the case if the zone is designed for instantaneous tripping.
922 DIgSILENT PowerFactory 15, User Manual
39.5. SETUP AND ANALYSIS OF A DISTANCE
PROTECTION SCHEME
39.5.3.4 The distance polygon block
Most modern numerical distance protection relays tend to support a so-called polygonal (also called
a quadrilateral) characteristic. The benet of such characteristics is that they allow the denition of
independent resistive and reactive reaches. In particular, the ability to specify a large resistive reach is
a benet for protecting against resistive faults.
Many modern relays also support other sophisticated features such as tilting reactive reaches and
double directional elements to constrain the impedance characteristic to a more specic area. In fact,
there is not really such a thing as a standard polygonal characteristic with each manufacturer generally
using a slightly different, although often similar philosophy. Consequently, the PowerFactory polygonal
block has been designed to support a range of different characteristics including:
Quadrilateral
Quadrilateral Offset
Polygonal (90)
Polygonal (+R, +X)
Polygonal (Beta)
Siemens (R, X)
Quadrilateral (Z)
ABB (R, X)
ASEA RAZFE
Quad (Beta)
Quad Offset (Siemens 7SL32)
EPAC Quadrilateral
GE Quadrilateral (Z)
Implementation details and mathematical descriptions for each of these blocks can be found in the
technical reference for the polygonal block on the download area of the DIgSILENT website.
As for the mho block, the user does not usually need to be concerned with the selection of the correct
characteristic as this is specied by the type and would have been dened by the developer of the relay
model.
An example of the dialogue for the polygonal (beta) characteristic in PowerFactory is shown in Fig-
ure 39.5.4. In this case, the block is required to set the direction, the X reach, the R resistance, the
X angle, the -R resistance and the Rt ratio. Like the mho block, the timer for the zone can be easily
accessed through the Timer button.
The Impedance section at the bottom of the dialogue shows the reach of the zone in absolute values,
as well as relative to the element directly connected to the cubicle where the relay is dened. The R
and X values of this element are also shown as a reference for the setup of the zone.
Note: One major difference between a polygonal block and a mho block is that the polygonal block
always requires a seperate directional block. There is a convenient Directional Unit button that
gives access to the relevant directional unit directly from the polygonal dialogue.
DIgSILENT PowerFactory 15, User Manual 923
CHAPTER 39. PROTECTION
Figure 39.5.4: Distance polygon block (Polygonal (Beta))
39.5.3.5 The timer block
In distance relay models, the timer block is used to either control the tripping time of distance polygon
blocks or to implement other time delays in the relay that cannot be implemented within a specic block.
The block has relatively simplistic functionality for steady state simulations, but can be congured also
as an output hold or a reset delay in time domain simulations. The block settings can be implemented as
a time delay in seconds, or as a cycle delay. The dialogue of the timer element is shown in Figure 39.5.5.
If the timer block is used to control a distance polygon, the delay can be started with a signal from the
starting block.
924 DIgSILENT PowerFactory 15, User Manual
39.5. SETUP AND ANALYSIS OF A DISTANCE
PROTECTION SCHEME
Figure 39.5.5: Timer block
Further technical information about the timer block can be found in the technical reference on the down-
load area of the DIgSILENT website.
39.5.3.6 The load encroachment block
Many modern numerical distance protection relays include a so-called load encroachment feature. It is
also known as a load blinder or load blocking zone. In PowerFactory four types of load encroachment
characteristics are supported:
Schweitzer
Siemens
ABB
GE
Most types of load encroachment can be supported by using a block with one of these characteristics.
Exact implementation details for each of these blocks can be found in the technical reference for the
load encroachment block on the download area of the DIgSILENT website.
The user does normally not need to concern themselves with selecting the appropriate characteristic
because this will have already been selected by the relay model developer.
An example of a load encroachment dialogue is shown in Figure 39.5.6. In this block the user is only
required to set reach and angle.
Figure 39.5.6: The GE load encroachment dialogue box
39.5.3.7 The power swing and out of step block
DIgSILENT PowerFactory 15, User Manual 925
CHAPTER 39. PROTECTION
In PowerFactory the power swing block can be congured to trigger power swing blocking of distance
zones and to trip the relay when detecting out of step conditions. One or both of theses functions can
be enabled in this block.
A power swing blocking condition is detected by starting a timer when the impedance trajectory crosses
an outer polygonal characteristic. If a declared time (usually two - three cycles) expires before the
trajectory crosses a second inner polygonal characteristic zone, then a power swing is declared and the
relay issues a blocking command to distance elements in the relay. The obvious potential downside to
this feature is that there is the potential to block tripping of distance zones for real faults. Fortunately,
the impedance trajectory for most real faults would cross the outer and inner zones of the power swing
characteristic nearly instantaneously and thus the timer would not expire and the zones would remain
unblocked.
The second function of the power swing block is the detection of unstable power swings and the issuing
of a trip command - this is known as out of step or loss of synchronism protection. Figure 39.5.7 shows
a typical power swing blocking characteristic in red, a stable power swing impedance trajectory in green
and an unstable power swing trajectory in blue. The difference between these two characteristics is that
the stable swing enters and exits the impedance characteristic on the same side, whereas the unstable
swing exits on the opposite side. Logic can be used to detect these different conditions and thereby
issue a trip when the unstable swing is detected.
88.0 77.0 66.0 55.0 44.0 33.0 22.0 11.0 -11.0 -22.0 -33.0 -44.0 -55.0 -66.0 -77.0 -88.0 -99.0 -110. -121. -132. -143. [pri.Ohm]
88.0
77.0
66.0
55.0
44.0
33.0
22.0
11.0
-11.0
-22.0
-33.0
-44.0
-55.0
-66.0
-77.0
-88.0
[pri.Ohm]
HT\Cub_1\Power swing element Power swing element\Polarizing Z1
Unstable Swing
Stable Swing
D
Ig
S
IL
E
N
T
Figure 39.5.7: Stable (green) and unstable (blue) power swings
The power swing area can be congured using internal polygonal characteristics of which the ABB
and Siemens types are supported. Or alternatively, it can also be congured with external impedance
elements that provide inner zone and outer zone tripping signals to the power swing block.
The dialogue of the power swing element is shown in Figure 39.5.8.
Note: Out of step protection can also be congured with mho elements instead of polygonal elements.
926 DIgSILENT PowerFactory 15, User Manual
39.5. SETUP AND ANALYSIS OF A DISTANCE
PROTECTION SCHEME
Figure 39.5.8: Power swing element basic data page
The basic options of the power swing block are as follows:
PS. No. of Phases. Typically a power swing requires the impedance trajectories of all three phases to
pass through the outer and inner zones to declare an out of step condition. However, in some
relays this parameter is congurable.
Blocking conguration This parameter has three options:
Selecting All Zones means that a power swing blocking signal will be sent to all distance
zones.
Selecting Z1 means that a power swing blocking signal will be sent to only Z1 elements.
Selecting Z1 & Z2 will send a power swing blocking signal to Z1 and Z2 distance elements
only.
Selecting >= Z2 will send a blocking signal to all zones except zone 1.
Out of Step Checking this box enables the out of step tripping function, unchecking it disables it.
OOS No. of Crossings This eld congures how many crossings of the impedance characteristic must
occur before an out of step trip is issued. For example, the blue trajectory in Figure 39.5.8 is
counted as one crossing.
Further information for this block can be found in the technical reference on the download area of the
DIgSILENT website.
DIgSILENT PowerFactory 15, User Manual 927
CHAPTER 39. PROTECTION
39.5.3.8 The distance directional block
The distance directional block is used by the polygonal blocks for determining the direction of the fault
and also constraining the characteristic. In PowerFactory several types of distance directional blocks
are supported:
Earth
Phase-Phase
3-Phase
Multifunctional
Multifunctional (digital)
Siemens (Multi)
ABB (Multi)
The user is encouraged to refer to the technical reference on the DIgSILENT support website for specic
implementation details for each of these types.
39.6 The impedance plot (R-X diagram)
The impedance or R-X plot shows the impedance characteristics of distance protection relays in the R-X
plane. Furthermore, the plot also shows the impedance characteristic of the network near the protection
relays displayed on the diagram. The plot is also interactive" and can be used to alter the settings of
the distance zones directly, thus making it a useful tool for checking or determining optimal settings for
distance relays.
39.6.1 How to create an R-X diagram
There are three different methods to create an R-X diagram in PowerFactory. You can create this plot
by right clicking the cubicle, the protection device or the protection path. These methods are explained
in further detail in the following sections.
1. From the cubicle:
(a) Right-click a cubicle where a distance relay is installed. A context sensitive menu will appear.
(b) Select the option Create R-X Plot. PowerFactory will create an R-X diagram on a new page
showing the active characteristics for all relays in the selected cubicle.
2. From the relay element in the data manager (or other tabular list):
(a) Right-click the relay icon. A context sensitive menu will appear.
(b) Select the option Show R-X Plot. PowerFactory will create an R-X diagram on a new page
showing the active impedance characteristics of this relay.
3. From the protection path:
(a) Right-click an element which belongs to a protection path. A context sensitive menu will
appear.
(b) Select Path. . . R-X Plot from the context-sensitive menu. PowerFactory will create an R-X
diagram on a new page showing the active characteristics for all relays in the selected path.
928 DIgSILENT PowerFactory 15, User Manual
39.6. THE IMPEDANCE PLOT (R-X DIAGRAM)
In the rst two methods, it is also possible to select the option Add to R-X Plot instead of Show R-X
Plot. This will open a list of previously dened R-X Plots from which any one can be selected to add the
selected device characteristics to.
39.6.2 Understanding the R-X diagram
An example R-X diagram with two relays is shown in Figure 39.6.1. Shown on the plot is:
The active zone impedance characteristics for each relay.
The impedance characteristic of the network near the relay location - shown as a dashed line.
The location of other distance relays nearby - shown as solid coloured lines perpendicular to the
network characteristic.
The calculated impedances for each fault loop from the polarizing blocks in each relay (shown as
lightning bolts on the plot and also as values within the coloured legends).
The detected fault type as determined by the starting elements (shown in the coloured legend).
Note, this is not enabled by default, see Section 39.6.3.5 for instructions how to enable this.
The tripping time of each zone (shown in the coloured legend). Note this is not enabled by default,
see Section 39.6.3.5 for instructions how to enable this.
The overall tripping time of each relay (shown in the coloured legend).
DIgSILENT PowerFactory 15, User Manual 929
CHAPTER 39. PROTECTION
Figure 39.6.1: A R-X plot with short-circuit results and two relays
Note the information shown on the plot can be congured by altering the settings of the R-X plot. Refer
to Section 39.6.3).
39.6.3 Conguring the R-X plot
There are several ways to alter the appearance of the R-X diagram. Many conguration parameters can
be adjusted by right-clicking the plot and using the context sensitive menu. Alternatively, double-clicking
the plot avoiding the selection of any characteristics showing on the plot will show the plot dialogue as
displayed in Figure 39.6.2.
The following sections explain the various ways to alter the display of the plot.
39.6.3.1 Adjusting the grid lines in the R-X diagram
To change the grid settings in the R-X diagram:
1. Right-click the R-X diagram. A context sensitive menu will appear.
2. Select Grid. The grid options dialogue will appear.
930 DIgSILENT PowerFactory 15, User Manual
39.6. THE IMPEDANCE PLOT (R-X DIAGRAM)
Figure 39.6.2: R-X plot dialogue
3. Select the Layout page.
4. To enable grid lines on the major plot divisions, check Main.
5. To enable grid lines on the minor plot divisions, check Help.
39.6.3.2 Changing the position of the R-X plot origin
Section 39.6.3.4 explains how the limits and size of the R-X diagram can be altered in detail. However,
it is also possible to reposition the origin of the plot graphically. To do this:
1. Right-click the R-X diagram exactly where you would like the new origin (0,0) point of the plot to
be. A context sensitive menu will appear.
2. Select Set origin. PowerFactory will reposition the origin of the plot to the place that you right-
clicked.
39.6.3.3 Centering the origin of the R-X plot
To center the origin (0,0) of the plot in the center of the page:
1. Right-click the R-X diagram. A context sensitive menu will appear.
2. Select Center origin. PowerFactory will reposition the origin of the plot to the center of the page.
DIgSILENT PowerFactory 15, User Manual 931
CHAPTER 39. PROTECTION
39.6.3.4 R-X plot basic data page
The tabular area at the top of the dialogue shows the currently displayed relays, and the colours, line
styles and line widths that are used to represent them on the plot. Each of these can be adjusted
by double-clicking and selecting an alternate option. Refer to Section 17.5 for more information on
conguring plots in PowerFactory.
The Axis area at the bottom of the dialogue shows the settings that are currently used to scale the axes
on the plot. These settings and their affect on the plot is explained further in the following section.
Scale This number affects the interval between the tick marks on the x and y axis, in the units specied
in the Unit eld. If the Distance (see below) eld remains constant, then increasing this number
increases the size of the diagram and effectively zooms out on the displayed characteristics.
Distance This number affects the distance in mm between each tick mark. Remember that in Pow-
erFactory it is usual for plots and diagrams to be formatted in a standard page size (often A4).
Consequently, this number has the opposite effect of the scale - when the scale eld is constant
increasing the distance effectively zooms into the displayed characteristics.
x-Min. This eld determines the left minimum point of the diagram. However, it also implicitly considers
the scale. Consequently, the true minimum is determined by the product of the Scale and x-Min.
For example, if the scale is 4 and x-Min is set to 2, then the minimum x axis value (resistance)
displayed would be -8.
y-Min. The concept for y-Min is the same as x-Min with the minimum value determined by the product
of the scale and the specied minimum value.
Note: The user can ask PowerFactory to adjust the scale of the R-X diagram automatically based on
the set Distance. Click Characteristics to adjust the scale automatically to t all the displayed
characteristics, or click Impedances to adjust the scale to t all displayed network impedances.
39.6.3.5 R-X plot options
The R-X plot advanced settings can be accessed by right-clicking the plot and selecting Options from
the context-sensitive menu, or by pressing the Options button in the edit dialogue of the plot.
The options dialogue has the following settings:
Unit This option affects whether the characteristics on the plot are displayed in primary or secondary
(relay) Ohm. It is also possible to select % of line which will display all characteristics in terms of
a % impedance of their primary protected branch. This latter option is quite useful for visualising
inspecting that the zone settings are as expected.
Relays Units This option is used to display only certain types of relay characteristics. For example, it
is possible to display only earth fault distance characteristics by selecting the option Ph-E.
Zones This setting affects what zones are displayed. For example, to only show zone 1 characteristics,
1" should be selected.
Starting This checkbox congures whether starting elements will be displayed on the diagram.
Overreach zones This checkbox congures whether overreach elements will be displayed on the dia-
gram.
Power Swing This checkbox congures whether power swing elements will be displayed on the dia-
gram.
Load Encroachment This checkbox congures whether load encroachment elements will be displayed
on the diagram.
932 DIgSILENT PowerFactory 15, User Manual
39.6. THE IMPEDANCE PLOT (R-X DIAGRAM)
Complete shape This checkbox enables the display of the complete polygonal characteristic, when
part of it would normally be invisible (and not a valid pickup region) due to the effect of the distance
directional element. Enabling it also allows the selection of the line style for the displayed part of
the characteristic that is not normally visible.
Display This option is used to select how the calculated load-ow or short-circuit current/equivalent
impedance will be displayed. The options are a short-circuit Arrow, a Cross or to Hide it com-
pletely.
Colour out of service units By default out of service characteristics are invisible . However, Out of
service characteristics can be shown in a different colour making them visible on the plot.
Default Length for Blinder Units This options species the length of blinder units on the plot in sec-
ondary Ohms.
Figure 39.6.3: R-X-Plot Settings
Branch impedances page
This page species how the branch impedance elements are displayed on the diagram:
Number of Relay Locations Only the branches are shown up to the specied number of relay loca-
tions. 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 There are two methods for determining the branch impedance. The rst, Input Data, uses the
entered impedance data of the branches specied in their respective types. The second method,
Calculated Impedance, effectively completes a short circuit sweep similar to that described in
Section 39.7.0.3 except that impedances are calculated rather than tripping times. One scenario
where this method is more accurate is when modelling the protection of a section of network with
multiple infeeds. Greater accuracy is achieved at the expense of calculation time.
Show Branch Options Here the line style and width can be selected.
DIgSILENT PowerFactory 15, User Manual 933
CHAPTER 39. PROTECTION
Legend page
This page determines the conguration of the coloured legend visible after a short circuit or load-ow
calculations for each relay on the R-X diagram.
The following options are available:
Show Calculated Impedances Determines whether the impedances calculated for each fault loop by
the polarizing block will be displayed in the legend.
Detected Fault Type Determines whether the fault type calculated by the starting element will be dis-
played in the legend.
Tripping Time of Relay Determines if the overall tripping time of the relay will be displayed in the leg-
end.
Tripped Zones Determines if the tripping time of each zone that trips will be displayed in the legend.
39.6.4 Modifying the relay settings and branch elements from the R-X plot
From the R-X plot, the settings of the characteristics shown can be inspected and altered if required.
To do this:
1. Double click the desired characteristic. The dialogue for the characteristic will appear.
2. Inspect and/or edit settings as required.
3. Click OK to update the characteristic display on the R-X diagram.
Also, it is possible to directly edit or inspect the branch elements shown on the diagram. To do so:
1. Double click the desired branch. The dialogue for the branch will appear. Note that if you hover
your mouse over the element and leave it steady for a few moments the name of element will
appear in the balloon help.
2. Inspect or edit the branch parameters as required.
3. Click OK to return to the R-X diagram.
39.7 The time-distance plot
The time-distance plot VisPlottz shows the tripping times of the relays as a function of the short-circuit
location. It is directly connected to a path denition so it can only be created if a path is already dened.
A path in a single line diagram is dened 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 denition
Edit this option is enabled when an existing path is right-clicked. It opens a dialogue to alter the colour
and direction of the path
Add To this option will add the selected objects to a path denition. The end or start of the selected
path must include the end or start of an existing path.
934 DIgSILENT PowerFactory 15, User Manual
39.7. THE TIME-DISTANCE PLOT
Remove Partly This will remove the selected objects from a path denition, as long as the remaining
path is not broken in pieces
Remove This will remove the rstly found path denition of which at least one of the selected objects
is a member
There are a number of ways to create a time-distance diagram but it is should be noted that in each case
a path must rst be dened and furthermore, highlighted in the single line diagram. The elements which
belong to a particular path can be highlighted by setting the colour representation of the single-line
diagram to Protection tab Other GroupingsPaths. To create the diagram either:
Right-click an element which is already added to a path denition. 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.
Right-click a path element and select Path. . . Time-Distance Diagram from the context sensi-
tive menu. As above, this will create a new object VisPlottz.
Path object SetPath can be chosen in the data manager under Database \Projectname \Paths.
Select the Paths" folder and right-click the path object on the right side of the data manager. Then
select Show Time-Distance Diagram from the context sensitive menu.
39.7.0.1 Forward and reverse plots
Figure 39.7.1: A forward time-distance plot
Figure 39.7.1 illustrates a forward direction time-distance plot. The diagram shows all relay tripping
times in the forward direction of the path. It is also possible to display diagrams which show in the
reverse direction. There are three different options for displaying the diagrams. These are:
DIgSILENT PowerFactory 15, User Manual 935
CHAPTER 39. PROTECTION
Forward/Reverse Both diagrams are shown.
Forward Only forward direction diagram
Reverse Only reverse direction diagram
39.7.0.2 The path axis
Figure 39.7.2: A path axis
The path axis in Figure 39.7.2 shows the complete path with busbar and relay locations. Busbars/Ter-
minals are marked with a tick and the name. The coloured boxes represent relays and the left or right
alignment represents their direction.
39.7.0.3 Methods of calculating 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 the Methods option on the Relays page.
The methods differ in exactness and speed. The set of possible units for the x-Axis depends on the
method used. The methods are:
Short-circuit sweep method The short-circuit sweep method is the most accurate method for charting
the variation in relay tripping time with fault position. A routine is followed whereby short circuits
are assumed to occur at numerous positions between the rst and the last busbar in the path. At
each short-circuit location the relay tripping times are established. The user can control the dis-
tance between simulations to ensure adequate resolution. Furthermore there is a control strategy
employed within the routine to ensure that step changes in operation time are not missed. The
disadvantage of this method is its low speed. Whenever the rebuild button of the graphics window
is pressed the sweep is recalculated. The possible units for the short-circuit location are position
in km, reactance in primary ohms or reactance in relay ohms.
Kilometrical method This method is the fastest but can in certain circumstances be less accurate than
the short-circuit sweep method. Tripping time is determined at each position where the impedance
characteristic of the path intersects the relay characteristics. The impedances used for calculation
are the impedances of the device. If there is more than one intersection at the same impedance
the smallest tripping time is used. Although extremely useful for fast calculations in simple network
scenarios, care must be taken to ensure that the results achieved are accurate. For instance, this
method will not account for the starting characteristic of a distance relay and a plot may therefore
be produced that does not reect the true time current plot. The possible units for the short-circuit
location are position in km or reactance, resistance and impedance, each in primary or relay ohm.
936 DIgSILENT PowerFactory 15, User Manual
39.7. THE TIME-DISTANCE PLOT
Figure 39.7.3: The Time-Distance plot edit dialogue
The kilometrical method is applicable only for the following paths:
Where there are no parallel branches in the path.
Where the path is fed from only one side or there is no junction on the path.
39.7.0.4 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. The command can be accessed by the option Shc-
Calc... in the context menu of the plot or by the Shc-Calc... button in the Time Distance Plot edit
dialogue.
Some of the settings in the command are predened by the time-distance plot. These settings are
greyed 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, i.e. from IEC60909 to
Complete, open the sweep command and edit the short-circuit dialogue.
Note: The easiest way to recalculate the short-circuit sweep for the time-distance plot is by simply
pressing the button . This is only needed when using the Short-Circuit Sweep method.
39.7.0.5 The distance axis units
There are number of possible distance axis units available depending on the method used. See
the methods description for details. The short-circuit sweep method needs a relay to measure the
DIgSILENT PowerFactory 15, User Manual 937
CHAPTER 39. PROTECTION
impedance which is named the reference relay. If there is no reference relay selected, the distance is
measured from the beginning of the path.
The options available for the distance axis units are:
Length Distance axis is shown in km depending on the line/cable length from the reference relay.
Impedance (pri.Ohm) Distance axis shows the primary system impedance from the reference relay to
the remote end of the path.
Reactance (pri.Ohm) Distance axis shows the primary system reactance from the reference relay to
the remote end of the path.
Impedance (sec.Ohm) Distance axis shows the secondary impedance from the reference relay to the
remote end of the path.
Reactance (sec.Ohm) Here the secondary reactance from the reference relay is measured on the
secondary side.
39.7.0.6 The reference relay
The distance axis positions or impedances are calculated relative to the beginning of the path. If a
reference relay is set the positions/impedances are relative to the reference relay. The sweep method
always needs a reference relay. If no reference relay is set, the rst relay in the diagrams direction is
taken to be the reference relay.
The busbar connected to the reference relay is marked with an arrow.
The reference relay is set using either the graphic or by editing the Time Distance Diagram dialogue.
Changing the reference relay graphically is done by clicking with the right mouse button on the relay
symbol and selecting Set reference relay in the context menu. If there is more than one relay connected
to the selected busbar, PowerFactory offer a list of relays which can be used. In the dialogue of the
Time Distance Relay the Reference Relay frame is located at the bottom.
39.7.0.7 Capture relays
The Capture Relays button enables the user to easily add relays in the selected path to the time-
distance diagram. In order to delete a relay from the diagram, the respective line in the relay list has to
be deleted.
39.7.0.8 Double-click positions
The following positions can be double-clicked for a default action:
Axis Edit scale
Curve Edit step of relay
Relay box Edit relay(s)
Path axis Edit Line
Any other Open the STime Distance

T edit dialogue
938 DIgSILENT PowerFactory 15, User Manual
39.8. DISTANCE PROTECTION COORDINATION ASSISTANT
39.7.0.9 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 Chapter 17: Reporting and Visualizing Results, Section 17.5.2 (Plots) for the virtual
instruments.
There are some additional functions available in addition to the basic VI-methods for the time-distance
plot.
Grid Shows the dialogue to modify the grid-lines.
Edit Path Opens the dialogue of the displayed path denition (SetPath).
Method Sets the method used for calculation of tripping times.
x-Unit Sets the unit for the distance axis, km impedances,...
Diagrams Select whether diagrams show 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.
39.8 Distance protection coordination assistant
PowerFactory includes a protection coordination assistant that can assist with automatically determining
correct settings for distance (impedance based) protection relays. This section explains how to use this
tool.
39.8.1 Distance protection coordination assistant - technical background
This section provides a brief overview of distance protection coordination. The user may wish to skip
this section and move directly to the sections about conguring the tool if they are already familiar with
the basic principles of distance protection coordination.
A distance protection scheme works by continuously measuring the voltage and current on a protected
circuit. These values can then be used to calculate an equivalent impedance. This impedance can
then be compared to a reach" setting and the basic idea is that the relay should trip if the measured
impedance is less than the reach setting.
On an unfaulted circuit the voltage will be high (normally tens to hundreds of thousands of volts) and
the current much lower (normally tens to hundreds of Amps). Therefore, according to Ohms law, the
normal load impedance is typically hundreds of Ohms.
Consider now a three phase bolted fault on a transmission circuit. The voltage falls to zero at the point
of the fault and the current increases in proportion to the source voltage and the impedance between
the source and the fault. At the near end of the circuit where the protection relay and measuring CTs
and VTs are located, the voltage will drop and the current will increase. The ratio of the voltage at the
source to the fault current will be the impedance of the line to the point of the fault. Using this principle,
relays can be set to protect a certain zone of a line and accurately discriminate between nearby faults
and more distant faults.
In practical distance protection relays so-called polarising" voltage and current quantities are used to
measure the impedance and determine whether a fault is in zone" or out of zone". In modern numerical
DIgSILENT PowerFactory 15, User Manual 939
CHAPTER 39. PROTECTION
distance protection relays, often the polarised voltage quantities include a memory component that
allows the relay to operate correctly for faults close to the relaying point. Further detail on this and other
aspects of distance protection can be found in many reference texts and the interested user should refer
to these for further information.
For the purpose of coordination, a basic distance protection scheme often consists of three zones of
protection:
Zone 1 that covers 80 % of the protected circuit and is usually set to instantaneous trip.
Zone 2 that covers 100% of the protected circuit and a portion of the next adjacent circuit. Zone 2
protection must be time delayed so that discrimination can be achieved with the zone 1 protection
on the adjacent circuit. A typical time delay is 400ms.
Zone 3 protection provides backup protection for the adjacent circuit and is often set to the
impedance of the protected circuit + 100 % of the adjacent circuit. It has a longer time delay
than zone 2, typically 800ms. Sometimes this zone is set to look in a reverse direction to provide
backup for bus protection systems.
In PowerFactory , the coordination assistant automatically determines protection settings for each pro-
tection location in a user dened path. The functionality of the coordination tool is best described with
reference to an example network. Consider the simplied transmission network shown in Figure 39.8.1.
This network contains four busbars, three transmission lines along with associated generation and load.
The locations where distance protection devices are located are indicated with a blue circle, and the di-
rection in which they are looking" is indicated with blue arrows. Line impedances are shown above the
centre of each line.
B
0
3
-
2
B
0
2
-
2
B
0
1
-
1
L3-4_
R1=1.5 Ohm
X1=15.0 Ohm
Z1=15.1 Ohm
S
G
~
G
0
3
S
G
~
G
0
1
S
G
~
G
0
2
L
d
-
0
1
L
d
-
0
3
L
d
-
0
2
L2-3_
R1=0.5 Ohm
X1=5.0 Ohm
Z1=5.0 Ohm
L1-2_
R1=1.0 Ohm
X1=10.0 Ohm
Z1=10.0 Ohm
4. 3.
5. 6.
2. 1.
D
I
g
S
I
L
E
N
T
Figure 39.8.1: Example simplied transmission system for the protection coordination example
The coordination assistant will determine the settings for three zones and an overreach zone for each
940 DIgSILENT PowerFactory 15, User Manual
39.8. DISTANCE PROTECTION COORDINATION ASSISTANT
location within the protection path. In this example, there are six locations where settings will be deter-
mined, so in total the tool will determine 24 reach settings.
When determining the settings for each zone of protection, there are two main options which affect how
PowerFactory calculates the zone settings, Zone factors and Apply factors to. There are three methods
that can be selected in Zone factors, Independent, Cumulative and Referred to Line 1. The calculation
can be based on the line impedance or on the line reactance. In the latter case, the resistance settings
are also determined by PowerFactory according to the entered resistive reach factors.
The following sections discuss the calculations for each of three zone factor methods.
39.8.1.1 Independent method
The zone impedances are determined as follows:
Z
s1
= Z
m1
Z
f1
(39.20)
Z
s2
= Z
m1
+Z
m2
Z
f2
(39.21)
Z
s3
= Z
m1
+Z
m2
+Z
m3
Z
f3
(39.22)
where Z
sn
is the impedance setting for the zone, Z
mn
is the impedance of the respective line and Z
fn
is the entered zone factor. Note that all impedances are complex.
In the case that the rst stage has parallel lines (as in a double circuit) then the calculation of the reactive
component is as follows:
X
s1
= X
m1
Z
f1
(39.23)
X
s2
= X
m1
+X
m2

Z
f2
2
(39.24)
X
s3
= X
m1
+X
m2
Z
f2
(39.25)
The calculation of the resistive component is the same as the case where there is no parallel line in the
rst stage.
39.8.1.2 Cumulative method
This method comes from [20]. The zone impedances are determined as follows:
Z
s1
= Z
m1
Z
f
(39.26)
Z
s2
= Z
s1
+Z
m2
(Z
f
)
2
(39.27)
Z
s3
= Z
s2
+Z
m3
(Z
f
)
3
(39.28)
where Z
sn
is the impedance setting for the zone, Z
mn
is the impedance of the respective line and Z
f
is
the entered zone factor. Note that all impedances are complex.
In the case that the rst stage has parallel lines (as in a double circuit) then the calculation of the reactive
components are as follows:
X
s1
= X
m1
Z
f
(39.29)
X
s2
= X
s1
+X
m2

Z
f
2
(39.30)
X
s3
= 1.1 (X
m1
+X
m2
) (39.31)
The calculation of the resistive component is the same as the case where there is no parallel line in the
rst stage.
DIgSILENT PowerFactory 15, User Manual 941
CHAPTER 39. PROTECTION
39.8.1.3 Referred to line 1 method
In this method, all the calculated zone impedances are based the impedance of the rst protected line
and the entered zone factors. The zone impedance settings are calculated as follows:
Z
s1
= Z
m1
Z
f1
(39.32)
Z
s2
= Z
m1
Z
f2
(39.33)
Z
s3
= Z
m1
Z
f3
(39.34)
In general for this method, the zone factors entered should be ascending. PowerFactory will print a
warning to the output window when it detects this is not the case.
For this method, there is no distinction between the single and double circuit cases.
39.8.1.4 Overreach setting
The calculation of the overreach setting is identical for all three calculation methods:
Z
OR
= Z
m1
Z
fOR
(39.35)
where Z
fOR
is the overreach factor.
39.8.1.5 Resistive reach
If the reactance method is selected, then the user can select that the resistance values are calculated
according to either prospective fault resistance or prospective load resistance. For the prospective fault
resistance method, the Phase-Phase resistance is calculated as follows:
R
PHPH
= R
L
+k
PH
R
f
(39.36)
where R
L
is the calculated resistance for the zone, k
PH
is the Phase-Phase correction factor and R
f
is
the prospective Fault Resistance.
The Phase-Earth impedance is calculated as follows:
R
PHE
= R
L
+k
E
R
f
(39.37)
where k
E
is the Phase-Earth correction factor.
For the prospective load resistance method, rst the load impedance is calculated:
R
Ld
= k
L

_
U
nom

3 I
nom
_
(39.38)
Phase-Phase resistance is calculated as follows:
R
PHPH
= R
Ld
+k
PH
(39.39)
The Phase-Earth resistance is calculated as follows:
R
PHPH
= R
E
+k
E
(39.40)
39.8.2 Worked example of the distance protection coordination assistant
Using the example in Figure 39.8.1, and the formulas developed in Section 39.8.1, the results from the
protection coordination tool can be calculated. As an example, the results for location one which is the
required settings for a relay that would protect L1-2 are shown in Table 39.8.1.
942 DIgSILENT PowerFactory 15, User Manual
39.8. DISTANCE PROTECTION COORDINATION ASSISTANT
Stage X () Rp () Re () Z ()
1 8.500 0.850 0.850 8.542 84.289
2 14.000 1.400 1.400 14.070 84.289
3 25.500 2.550 2.550 25.627 84.289
Overreach 12.000 1.200 1.200 12.060 84.289
Table 39.8.1: Calculated zone settings for location 1 in Figure 39.8.1 using the Impedance option of the
Independent method
If using the cumulative method, the results would be as shown in Table 39.8.2.
Stage X () Rp () Re () Z ()
1 8.500 0.850 0.850 8.542 84.289
2 12.113 1.211 1.211 12.173 84.289
3 21.324 2.132 2.132 21.431 84.289
Overreach 12.000 1.200 1.200 12.060 84.289
Table 39.8.2: Calculated zone settings for location 1 in Figure 39.8.1 using the Impedance option of the
Cumulative method
If using the Referred to Line 1 method, the results would be according to Table 39.8.3.
Stage X () Rp () Re () Z ()
1 8.500 0.850 0.850 8.542 84.289
2 8.000 0.800 0.800 8.040 84.289
3 7.000 0.700 0.700 7.035 84.289
Overreach 12.000 1.200 1.200 12.060 84.289
Table 39.8.3: Calculated zone settings for location 1 in Figure 39.8.1 using the Impedance option of the
Referred to Line 1 method
Consider now the case where the rst stage consists of parallel lines as shown in Figure 39.8.2. In this
case, the formulas used for calculating the stage settings are different as discussed in Section 39.8.1.
Consequently, for the Independent method using the Impedance method the results from the coordina-
tion assistant are as shown in Table 39.8.4.
DIgSILENT PowerFactory 15, User Manual 943
CHAPTER 39. PROTECTION
4. 3. 5.
6.
2. 1.
B
0
3
B
0
2
B
0
1
L1-2-2
R1=1.00 Ohm
X1=10.00 Ohm
Z1=10.05 Ohm
S
G
~
G
3
S
G
~
G
1
S
G
~
G
2
L
d
-
1
L
d
-
3
L
d
-
2
L2-3
R1=0.50 Ohm
X1=5.00 Ohm
Z1=5.02 Ohm
L3-4
R1=2.00 Ohm
X1=20.00 Ohm
Z1=20.10 Ohm
L1-2-1
R1=1.00 Ohm
X1=10.00 Ohm
Z1=10.05 Ohm
D
I
g
S
I
L
E
N
T
Figure 39.8.2: Path with a double circuit between the rst two busbars
Stage X () Rp () Re () Z ()
1 8.500 0.850 0.850 8.542 84.289
2 12.000 1.400 1.400 12.081 83.346
3 14.000 2.550 2.550 14.230 79.677
Overreach 12.000 1.200 1.200 12.060 84.289
Table 39.8.4: Calculated zone settings for location 1 in Figure 39.8.2 using the Impedance option of the
Independent method
The results for the cumulative method are shown in Table 39.8.5.
Stage X () Rp () Re () Z ()
1 8.500 0.850 0.850 8.542 84.289
2 10.625 1.211 1.211 10.694 83.496
3 16.500 2.132 2.132 16.637 82.636
Overreach 12.000 1.200 1.200 12.060 84.289
Table 39.8.5: Calculated zone settings for location 1 in Figure 39.8.2 using the Impedance option of the
Cumulative method
If the Apply Factors to option is set to Reactance, and the fault resistance method used with Fault
Resistance of 5, Factor for Ph-Ph of 0.5 and Factor for Ph-E of 1, then the results using the independent
method are as shown in Table 39.8.6.
944 DIgSILENT PowerFactory 15, User Manual
39.8. DISTANCE PROTECTION COORDINATION ASSISTANT
Stage X () Rp () Re () Z ()
1 8.500 3.500 6.000 9.192 67.620
2 14.000 4.000 6.500 14.560 74.055
3 25.500 5.500 8.000 26.086 77.829
Overreach 12.000 1.200 1.200 12.060 84.289
Table 39.8.6: Calculated zone settings for location 1 in Figure 39.8.1 using the Reactance option of the
Independent method
39.8.3 Prerequisites for using the distance protection coordination tool
Before starting the distance protection coordination assistant, ensure the following:
1. A network model of the area has been completed in PowerFactory .
2. Dene path(s) for the protection area(s) to be coordinated. See Section 13.8 for more information
about paths.
3. Optional: If it is desired to calculate the settings for existing relays, ensure that protection devices
including instrumentation transformers are added to the model.
39.8.4 How to run the distance protection coordination calculation
To run the distance protection coordination follow these steps:
1. Click the icon on the main toolbar.
2. Select Protection.
3. Click the icon. A dialogue for the Protection Coordination Assistant will appear.
4. Click the icon and choose Select Path(s). A dialogue showing the available protection paths
will appear.
5. Select one or more paths and click OK.
6. Optional: Choose one of the options for Protection Topology. See Section 39.8.5 for an explana-
tion of the options.
7. Optional: Adjust options for the coordination on the Distance Protection and Advanced Options
pages.
8. Click OK to run the coordination. PowerFactory will write a short status to the output window
notifying for how many protection locations coordination was determined.
9. To analyse results of the coordination see Section 39.8.6.
39.8.5 Distance protection coordination options
This section explains the options in the distance protection coordination tool.
DIgSILENT PowerFactory 15, User Manual 945
CHAPTER 39. PROTECTION
39.8.5.1 Basic options of the protection coordination assistant
Protection Topology If According to network topology is selected the assistant will automatically de-
termine settings for every cubicle in the protection path. If According to installed Protection de-
vices is selected the assistant will only calculate settings for those cubicles that contain at least
one relay.
Results This selection control determines the result object that records the results of the protection
coordination. By default this is stored within the active study case. However, it is possible to select
a result object in an alternative location.
39.8.5.2 Distance Protection page
Zone Factors See Section 39.8.1 for an explanation of how this option affects the settings determina-
tion.
Apply Factors to Selecting Impedance means that the reach settings will be determined based on
the line impedance and resistive reach settings will also be determined automatically. Selecting
Reactance means that the reach settings will be based on the line reactance. In addition, the
settings for the resistive reach calculation must be entered. See Section 39.8.1 for an explanation
for how these factors affect the results of the analysis.
Zone Factors See Section 39.8.1 for an explanation of the effect of the zone factors.
39.8.5.3 Advanced Options page
Zone 3 This option affects the line that PowerFactory uses for calculating the impedance of the third
stage. The effect of this option can be claried by referring to Figure 39.8.3. If the rst option is
chosen Prefer smallest impedance at the end of line 2 then Line-3X will be used for the calculation
of the zone 3 stage. Conversely, if the option Prefer largest impedance at the end of line 1 then
Line-2X would be used for the zone 3 stage calculation.
946 DIgSILENT PowerFactory 15, User Manual
39.8. DISTANCE PROTECTION COORDINATION ASSISTANT
B
0
3
-
2
B
0
2
-
2
B
0
1
-
1
Line-3X
R1=1.20 Ohm
X1=12.00 Ohm
Z1=12.06 Ohm
Line-2X
R1=0.60 Ohm
X1=6.00 Ohm
Z1=6.03 Ohm
L3-4_
R1=1.50 Ohm
X1=15.00 Ohm
Z1=15.07 Ohm
S
G
~
G
0
3
S
G
~
G
0
1
S
G
~
G
0
2
L
d
-
0
1
L
d
-
0
3
L
d
-
0
2
L2-3_
R1=0.50 Oh..
X1=5.00 Oh..
Z1=5.02 Oh..
L1-2_
R1=1.00 Ohm
X1=10.00 Oh..
Z1=10.05 Oh..
4. 3.
5. 6.
2. 1.
D
I
g
S
I
L
E
N
T
Figure 39.8.3: Distance protection coordination network with additional parallel lines between bus 2 and
3 and between bus 3 and 4.
39.8.6 How to output results from the protection coordination assistant
This section explains how the results from the distance protection coordination assistant can be anal-
ysed. The graphical method of analyis using the time-distance diagram and the tabular method using
the built-in report are discussed. Furthermore, there is an option to write the coordination results back
to the protection relays located within the analysed path.
To output results from the protection coordination assistant follow these steps:
1. Execute the protection coordination tool. See Section 39.8.4 for instructions how to do this.
2. Click the icon from the protection toolbar. A dialogue for choosing the output options will
appear.
3. Check the boxes for the reports that you would like PowerFactory to produce. The types of reports
are:
Create Report This option produces a tabular report similar to the results displayed within Ta-
ble 39.8.1. See Section 39.8.6.1 for further information on this report.
Create Time-Distance-diagram This option presents a plot showing graphically the results of the
protection coordination. More information about this diagram is presented in Section 39.7.
Write back to Protection Devices This option automatically updates protection devices within
the protection locations with settings calculated by the coordination assistant. This option
should be used with caution as any existing settings will be overwritten. Consequently, it is
recommended to create a Variation before enabling this option.
4. The other options in this dialogue are:
DIgSILENT PowerFactory 15, User Manual 947
CHAPTER 39. PROTECTION
Result File Here the results that the output is based on can be selected. If it is desired to output
results from a different calculation, perhaps completed in an another study case, then this is
where you can select the alternative results.
Output for Select All Objects to show the results for all the paths that were used by the coordi-
nation assistant. Alternatively, it is possible to output the results from a user selected set of
paths by choosing the option User-Selection and appending the desired paths to the tabular
list displayed.
39.8.6.1 Table reports for the protection coordination
Enabling the option Create Report when outputting the coordination results as described in Section 39.8.6,
automatically generates a table report showing the results from the previously executed protection co-
ordination. For each location in the protection path, the following results are produced:
Reactance This column shows the primary Ohm reactance for each stage.
Phase Resistance This column shows the primary Ohm Phase-Phase resistance for each stage.
Earth Resistance This column shows the primary Ohm Phase-Earth resistance for each stage.
Impedance This column shows the Phase-Phase impedance in primary Ohms for each stage.
Angle This column shows the angle of the Phase-Phase impedance for each stage.
Time This column shows the proposed time setting for each stage.
If multiple paths were selected as part of the protection coordination, the tabular report will include a
drop-down list Coordination Area that allows you to select which results are displayed in the report.
To output these results to Excel or to HTML click the icon and select either Export as HTML for HTML
output in your default web browser, or Export to Excel to export the results to an Excel workbook.
Note: If you recalculate the protection coordination results, this report is not automatically updated -
you must use the option Refresh from the icon menu to update the report.
39.8.6.2 Time distance diagrams from the protection coordination
Enabling the option Create Report when outputting the coordination results as described in Section 39.8.6,
automatically generates a time distance diagram showing the results from the previously completed pro-
tection coordination. One diagram will be produced for each path. An example time distance diagram
for a coordination completed using the independent method is shown in Figure 39.8.4.
Note that the plot display can be congured by double-clicking the diagram. For further information
about time distance diagrams refer to Section 39.7.
948 DIgSILENT PowerFactory 15, User Manual
39.9. ACCESSING RESULTS

30.150 24.120 18.090 12.060 6.0299 -0.0000 [pri.Ohm]
1.00
0.80
0.60
0.40
0.20
0.00
[s]
B01-1 B02-2 B03-2 B01-1
30.150 24.120 18.090 12.060 6.0299 -0.0000 [pri.Ohm]
1.00
0.80
0.60
0.40
0.20
0.00
[s]
B01-1 B03-2 B02-2 B01-1
x-Axis: Impedance B01-1 - L1-2_ B02-2 - L1-2_ B02-2 - L2-3_
B03-2 - L2-3_ B03-2 - L3-4_ B01-1 - L3-4_
D
I
g
S
I
L
E
N
T
Stage one (location 1) setting of
8.54 Ohms
Stage two (location 1) setting of
14.07 Ohms
Stage three (location 1) setting
of 25.63 Ohms
Overreach (location 1) setting of
12.06 Ohms
Figure 39.8.4: Time distance diagram showing the result from the protection coordination using the
independent method on the network shown in Figure 39.8.1
39.8.6.3 Writing results back to protection devices
If the option Write back to Protection Devices is checked, then PowerFactory will write the results from
the protection coordination back to the protection devices that are located within the path. There are
some important things to note about this process:
The calculation will overwrite all settings for all protection blocks for every relay in all cubicles
considered by the protection coordination tool, regardless of whether they are in service or not.
For example, a SEL311B relay contains three Phase Mho elements and three Phase Quadrilateral
elements. If this relay was located within a cubicle considered by the coordination then all six
blocks would get updated settings.
The tool does not update the angle in the mho protection blocks. Instead, it uses the existing
angle in the block to adjust the impedance reach of the relay. For example if the calculated
X reach is 10 and the block angle is 70 then the impedance written to the block would be
X/ sin (70) = 10.64 .
Due to the potentially large number of settings changes, it is recommended to create a Variation
prior to applying the settings. Subsequently, it is easy to revert to the old settings by disabling the
Variation. Refer to Section 15.2 for more information about PowerFactory Variations.
39.9 Accessing results
After all protection devices have been congured and graded, it is often desirable to create reports
for future reference. Aside from exporting the time-overcurrent, R-X or time-distance plots as graphical
DIgSILENT PowerFactory 15, User Manual 949
CHAPTER 39. PROTECTION
les (see Chapter 17: Reporting and Visualizing Results, Section 17.5.10: Tools for Virtual Instruments),
there are several other methods to report the relay settings.
39.9.1 Tabular protection setting report
A report command specically for protection can be accessed by either clicking on the Output of Pro-
tection Settings icon on the Protection toolbar or alternatively via the Output" entry in the main menu.
The Output of protection settings command dialogue (ComProtreport) has three pages:
Basic Options
Common Options
Specic Options
Basic Options
The Basic Options page is illustrated in Figure 39.9.1:
Figure 39.9.1: Basic options page of ComProtreport dialogue
In this page the user chooses which equipment to generate reports for. First the user chooses general
classes of equipment from the options below:
950 DIgSILENT PowerFactory 15, User Manual
39.9. ACCESSING RESULTS
Instrument Transformers
Overcurrent Protection
Distance Protection
Voltage Protection
Frequency Protection
any combination of the above options may be selected. Each option which is selected will result in the
generation of a separate tabular report. I.e. if all ve options are selected, ve tabular reports will be
generated.
In the lower section of the page the user can choose to consider all protection devices in the active grid
or only a specic user dened subset. The following objects may be selected as a user dened subset:
SetSelect, SetFilt, ElmNet, ElmArea, ElmZone, ElmFeeder, ElmSubstat and ElmTrfstat. Additionally a
single protection device (ElmRelay, RelFuse) can also be selected.
Common Options
The Common Options page is illustrated in Figure 39.9.2:
Figure 39.9.2: Common options page of the ComProtreport dialogue
DIgSILENT PowerFactory 15, User Manual 951
CHAPTER 39. PROTECTION
The decimal precision section can be used to dene the number of decimal places to which results are
given in the tabular reports. The precision for each unit can be dened individually.
The layout options section is used to congure the layout for each report. Depending on whether they
are selected, "Device, Location and Branch" will be the rst three columns of the report.
If the show instrument transformers option is selected, additional columns will be added to the overcur-
rent, distance, voltage and frequency protection reports showing details of the instrument transformers.
If the Report settable blocks only option is selected, blocks which have no user congurable settings
will not be displayed in the report.
If the Arrange stages vertically option is selected, additional rows will be added to the report for each
protection stage, rather than including additional stages as additional columns.
If the Show ANSI code option is selected, each stage column will include the relevant ANSI code as
dened by IEEE (ANSI) C37-2.
Specic Options
The Specic Options page is illustrated in Figure 39.9.3:
Figure 39.9.3: Specic options page of the ComProtreport dialogue
The Over-/Undercurrent and Over-/Undervoltage sections of this page can be used to dene whether
952 DIgSILENT PowerFactory 15, User Manual
39.9. ACCESSING RESULTS
settings should be displayed in primary units, secondary units, or per unit. Any combination of the 3
options is possible.
This page is also used to limit the report for each type of protection to a specied number of phase and
earth fault protection stages.
One the ComProtreport dialogue has been congured it can be executed.
The Tabular Report
An example of a tabular report generated when the ComProtreport dialogue is executed is illustrated in
Figure 39.9.4:
Figure 39.9.4: ComProtreport Tabular report
Relay models (and sometimes stages depending on the setting detailed above) are listed vertically while
settings are listed horizontally.
The downward pointing triangular icon at the top of the page can be used to export the report either as
HTML format or in excel spreadsheet format.
It is also possible to interact with the data within the report. For instance, if you double click on a
particular stage (or right click and select edit it is possible to edit the settings dialogue for that stage.
Data within this table may also be copied and pasted if required, with or without column headers.
39.9.2 Results in single line graphic
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.
Output - Results for Edge Elements - Relays
Output - Results for Edge Elements - Relay Tripping Times
DIgSILENT PowerFactory 15, User Manual 953
CHAPTER 39. PROTECTION
The rst 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-ow or short-circuit calculation
has been carried out. If a relay does not trip, then a tripping time of 9999.99 s is shown.
It is also possible to colour the single line graphic depending on the tripping time of the protective
devices installed. This feature can be activated by clicking the diagram colouring button from the local
graphics window icon bar, then selecting: the protection tab 3. Others Results Fault clearing
time.
39.10 Short circuit trace
The Short circuit trace is a tool based on the complete short circuit calculation method that allows the
user to examine the performance of a protection scheme in response to a fault or combination of faults;
where the response is examined in time steps and where at each time step, the switching outcomes of
the previous time step and the subsequent effect on the ow of fault current, is taken into consideration.
Consider a network as illustrated in Figure 39.10.1:
954 DIgSILENT PowerFactory 15, User Manual
39.10. SHORT CIRCUIT TRACE
Figure 39.10.1: Short circuit trace example
Suppose that for a particular fault at bus 4, the relay controlling circuit breaker 1 trips signicantly faster
than the relays controlling circuit breakers 2 and 3. Once circuit breaker 1 trips, the fault is not cleared
but the fault current is reduced, since the contribution from the external grid is removed. To clear the
fault completely, circuit breaker 2 or circuit breaker 3 must trip. Due to the dynamic variation in the fault
current, the tripping times of the two circuit breakers are not immediately obvious. Ideally a dynamic
simulation method should be used to accurately calculate the respective tripping times of the two circuit
breakers. However, a dynamic simulation is not always practicable and where the user is willing to
accept a reduced level of accuracy in exchange for a faster, simpler calculation result, then the Short
circuit trace should be considered.
Consider again the network illustrated in Figure 39.10.1 with a fault occurring at bus 4, all relays are
overcurrent relays with the relay controlling circuit breaker 1 having a signicantly faster tripping time
than the other 2 relays. The Short Circuit Trace calculation proceeds as follows.
DIgSILENT PowerFactory 15, User Manual 955
CHAPTER 39. PROTECTION
Time Step 1 (t = 0): The fault occurs at bus 4. Fault current ows from both synchronous gen-
erators according to the complete short circuit method of calculation. The relay controlling circuit
breaker 3 sees the fault current from both sources. The relays controlling circuit breakers 1 and
2 see only the fault current from the sources present in their particular branch of the network.
The tripping time of each of the relays can be evaluated based on the respective magnitudes
of the current components seen by the relays and with reference to each of the relays tripping
characteristics.
Time Step 2 (t = 0+t1): According to the tripping times calculated at Time Step 1 it is established
that the relay controlling circuit breaker 1 will trip rst in time t1. Therefore at stage 2 circuit breaker
1 is opened and a the complete short circuit method calculation is once again carried out for a
fault at bus 4. This time, the current seen by circuit breaker 3 only includes contribution from the
generator and not from the external grid. The tripping times of the relays are reevaluated based
on the new current distribution. The effects of the Time Step 1 current distributions are ignored.
For the purposes of this example it is assumed that circuit breaker 2 is established to be the next
quickest to operate.
Time Step 3 (t = 0 + t2): According to the tripping times calculated at Time Step 2 it is estab-
lished that the relay controlling breaker 2 is the next to trip and trips in time t2. Since the fault is
now isolated from all connected sources, fault current no longer ows and the short circuit trace
calculation is complete.
Fromthe above, a sequence of operation for the protection scheme is established and specic protection
operating times are calculated, taking account of the variation in network topology that occurs during
the ongoing response of a protection scheme to a fault situation.
The following subsection describes the handling of the Short Circuit Trace function.
39.10.1 Short Circuit Trace Handling
A command specically for the Short Circuit Trace feature can be accessed by clicking on the Start
Short-Circuit Trace icon on the Protection toolbar.
The Short-Circuit Trace command dialogue (ComShctrace) has one only one page called Basic Options
Basic Options
The Basic Options page is illustrated in Figure 39.10.2:
Figure 39.10.2: Basic options page of the ComShctrace dialogue
A link to the short circuit command (ComShc) to be used for the calculation is automatically generated.
956 DIgSILENT PowerFactory 15, User Manual
39.11. BUILDING A BASIC OVERCURRENT RELAY MODEL
This command is described in detail in the Chapter 22. Please note that for the Short Circuit Trace
function, some options are xed. For instance, only the complete short circuit method may be selected.
The Short-Circuits part of the page is used to dene the short circuit events to be applied at the begin-
ning of the calculation. The following kinds of events may be specied.
Intercircuit Fault Events (EvtShcll)
Outage Events (EvtOutage)
Short-Circuit Events (EvtShc)
Switch Events (EvtSwitch)
Once the simulation is ready to begin press the execute button. At this point the simulation is initialised
and the short circuit events specied in the Basic Options page are applied to the network. The user
can advance through the simulation time step by time step or to the end of the simulation by clicking on
the relevant icons on the Protection toolbar. Further there is an additional icon to stop the simulation at
any time. The icons are illustrated in Figure 39.10.3.
Figure 39.10.3: Short Circuit trace icons
39.11 Building a basic overcurrent relay model
Some advanced users may need to build their own relay models. This section will outline the procedure
for building a basic overcurrent relay model.
1. Create a new block denition for the relay frame
Select le NewBlock Diagram / Frame...
A dialogue as illustrated in gure 39.11.1 will appear.
DIgSILENT PowerFactory 15, User Manual 957
CHAPTER 39. PROTECTION
Figure 39.11.1: BlkDef basic data dialogue
Give the relay frame an appropriate name.
Select Level to Level 2: Level 1 + sort parameter user dened.
Select classication to linear.
Click ok. This creates a block denition object within the User Dened Models section of
the project library.
2. Construct the relay frame.
Select the slot icon from the drawing toolbox located on the right side of the screen and place
6 slots within the block denitions arranged as illustrated in gure 39.11.2 below.
958 DIgSILENT PowerFactory 15, User Manual
39.11. BUILDING A BASIC OVERCURRENT RELAY MODEL
Figure 39.11.2: Arrangement of slots
3. Congure the BlkSlot dialogue for slot A.
Slot A will be congured to be a CT slot. Double click on the slot symbol and the BlkSlot
dialogue will appear.
Enter an appropriate name for the slot eg. CT 3ph.
Enter the class name as StaCt*.
Ensure that only the box linear is checked in the classication eld.
Enter the following output signals under the variables eld: I2r_A; I2i_A, I2r_B; I2i_B, I2r_C;
I2i_C. These signals will represent real and imaginary secondary currents for phases A, B
and C.
The way in which the signal list above is dened inuences the way the signals are repre-
sented in the relay frame. Signals can be grouped together and represented by a common
terminal by separating the signals to be grouped with a semicolon. Where a group of signals
or a single signal is to be given its own terminal representation in the relay frame then the
signal or group of signals should be distinguishing from any other signals by separation with
a comma.
The congured dialogue is illustrated in gure 39.11.3.
Once congured, click ok. The CT slot should now be marked with three terminals, one for
each phase.
DIgSILENT PowerFactory 15, User Manual 959
CHAPTER 39. PROTECTION
Figure 39.11.3: CT BlkSlot dialogue
4. Congure the BlkSlot dialogue for slot B.
Slot B will be congured to be a Measurement slot. Double click on the slot symbol and the
BlkSlot dialogue will appear.
Enter an appropriate name for the slot eg. Measurement.
Enter the class name as RelMeasure*.
In the classication eld, ensure that only the boxes linear and Automatic, model will be
created are checked
Enter the following output signals under the variables eld: I_A, I_B, I_C. These represent
RMS values of current for each phase.
Enter the following input signals under the variables eld: wIr_A; wIi_A, wIr_B; wIi_B, wIr_C;
wIi_C. These are real and imaginary current signals supplied by the CT block.
The congured dialogue is illustrated in gure 39.11.4.
Once congured click ok.
960 DIgSILENT PowerFactory 15, User Manual
39.11. BUILDING A BASIC OVERCURRENT RELAY MODEL
Figure 39.11.4: Measurement BlkSlot dialogue
5. Congure the BlkSlot dialogues for slots C, D and E.
Slots C,D and E will be congured to be time overcurrent blocks with each one representing
a different phase. Double click on the slot C symbol and the BlkSlot dialogue will appear.
Enter an appropriate name for the slot eg. TOC phase A.
Enter the class name as RelToc*.
In the classication eld, ensure that only the boxes linear and Automatic, model will be
created are checked
Enter the following output signals under the variables eld: yout.
Enter the following input signals under the variables eld: Iabs. This represents the RMS
current signal for phase A supplied by the measurement block.
The congured dialogue is illustrated in gure 39.11.5.
Once congured click ok.
Repeat the steps above for slot D and E. Name these slots TOC phase B and TOC phase C.
DIgSILENT PowerFactory 15, User Manual 961
CHAPTER 39. PROTECTION
Figure 39.11.5: TOC BlkSlot dialogue
6. Congure the BlkSlot dialogue for slot F.
Slot F will be congured to be a Logic slot. Double click on the slot symbol and the BlkSlot
dialogue will appear.
Enter an appropriate name for the slot eg. Logic.
Enter the class name as RelLogic*.
In the classication eld, ensure that only the boxes linear and Automatic, model will be
created are checked
Enter the following output signals under the variables eld: yout.
Enter the following input signals under the variables eld: y1, y2, y3.
The congured dialogue is illustrated in gure 39.11.6.
Once congured click ok.
962 DIgSILENT PowerFactory 15, User Manual
39.11. BUILDING A BASIC OVERCURRENT RELAY MODEL
Figure 39.11.6: Logic BlkSlot dialogue
All block dialogues should now be congured.
7. Connect the blocks together using signals.
Select the signal icon from the drawing toolbox located on the right side of the screen.
Connect blocks by clicking on the output terminal of the rst block then by clicking on the
input terminal of the receiving block. If a route for the signal is required which is not direct,
intermediate clicks may be used.
If a signal is intended to be passed outside of the model then a signal should be terminated
on the box which surrounds the frame. In this instance the output from the logic block will be
passed outside of the model.
Connect the blocks in the frame as illustrated in gure 39.11.7.
DIgSILENT PowerFactory 15, User Manual 963
CHAPTER 39. PROTECTION
Figure 39.11.7: Signal route denition
8. Rebuild the block denition
Press the rebuild button on the local graphics window icon bar. Rebuilding the model will
capture all the internal signals (signals dened between slots) and external signals (signals
passed outside of the model) within the BlkDef model dialogue. This concludes denition of
the relay frame. The next step is to dene a relay type.
9. Create a relay type object
Within the data manager go to the Equipment Type library folder in the project library and
select the new object icon.
In the dialogue which appears select Special Type Relay Type (TypRelay) as illustrated in
gure 39.11.8.
964 DIgSILENT PowerFactory 15, User Manual
39.11. BUILDING A BASIC OVERCURRENT RELAY MODEL
Figure 39.11.8: Creating a new relay type
In the TypRelay dialogue that appears give the relay type an appropriate name.
In the relay denition eld select the relay frame constructed earlier from the User Dened
Models section of the project library.
Select the category as overcurrent relay.
10. Dene the CT type
The CT type can be selected by double clicking in the type column associated with the CT
row.
The desired CT should be selected from the data manager.
11. Dene the measurement type
The measurement type can be selected by double clicking in the type column associated with
the measurement row. For this example select the following options:
Select Type to 3ph RMS currents
Select nominal current to discrete with a value of 5.
Select measuring time to 0.001
Ensure no check boxes are selected.
12. Dene the TOC types
The TOC types can be selected by double clicking in the type column associated with the
rows of each of the three TOC slots. For this example select the following options for each
TOC type:
Select IEC symbol I>t and Ansi symbol 51.
Select type to phase A, B or C current depending on the slot.
Select directional to none.
DIgSILENT PowerFactory 15, User Manual 965
CHAPTER 39. PROTECTION
Select current range to range type: stepped, minimum: 0.5, maximum: 2 and step size: 0.25.
Check the characteristic includes pickup time box and set pickup time: 0.01s, Reset time:
0.04s and Reset Characteristic Conguration: Disabled.
Select an existing relay characteristic from another relay or create a new relay characteristic
by creating a TypChatoc object.
On the Total clear curve tab ensure no boxes are checked.
On the blocking page, select consider blocking to disabled.
Select release blocking time range to range type: stepped, minimum: 0 maximum: 10000
and step size: 0.01.
13. Dene the Logic types
The Logic type can be selected by double clicking in the type column associated with the
logic row.
Select Breaker event to open.
Select number of inputs to 4.
Select number of block inputs to 4.
Select a logical OR operation.
This concludes denition of the relay type.
To use the relay type a relay must be created within the network. The relay type can then be selected,
and the relay element parameters dened.
39.12 Appendix - other commonly used relay blocks
This section covers some of the other protection block not so far covered in the discussion throughout
the chapter so far.
39.12.1 The frequency measurement block
The frequency measurement unit is used to calculate the electrical frequency for the given Measured
Voltage. The Nominal Voltage is needed for per unit calculations. The Frequency Measurement Time
denes the time used for calculating the frequency gradient.
Figure 39.12.1: Frequency measurement block
966 DIgSILENT PowerFactory 15, User Manual
39.12. APPENDIX - OTHER COMMONLY USED RELAY BLOCKS
39.12.2 The frequency block
The frequency block either trips on an absolute under-frequency (in Hz), or on a frequency gradient (in
Hz/s). Which condition is used depends on the selected type. The type also denes the reset time,
during which the dened frequency conditions must be present again for the relay to reset.
The time delay set in the relay element denes the time during which the dened frequency condition
must be violated for the relay to trip. See Figure 39.12.2.
Figure 39.12.2: Frequency block
39.12.3 The under-/overvoltage block
The under-/overvoltage relay type may dene the block to trip on either
One of the three phase line to line voltages
One particular line to line voltage
The ground voltage U
0
.
The positive sequence voltage U
1
The negative sequence voltage U
2
The relay element allows only for setting of the pickup voltage and the time delay. See Figure 39.12.3.
Figure 39.12.3: Under-/Overvoltage block
DIgSILENT PowerFactory 15, User Manual 967
CHAPTER 39. PROTECTION
968 DIgSILENT PowerFactory 15, User Manual
Chapter 40
Network Reduction
40.1 Introduction
This chapter explains how to use the PowerFactory Network Reduction tool. A typical application of
Network Reduction is when a network that is part of or adjacent to a much larger network must be
analyzed, but cannot be studied independently of the larger network. In such cases, one option is
to model both networks in detail for calculation purposes. However, there might be situations when
it is not desirable to do studies with the complete model. For example, when the calculation times
would increase signicantly or when the data of the neighbouring network is condential and cannot be
published.
In these cases, it is common practice to provide a simplied representation of the neighbouring network
that contains only the interface nodes (connection points). These can then be connected by equivalent
impedances and voltage sources, so that the short circuit and load-ow response within the kept (non
reduced) system is the same as when the detailed model is used.
PowerFactory s Network Reduction algorithm produces an equivalent representation of the reduced
part of the network and calculates its parameters. This equivalent representation is valid for both load
ow and short-circuit calculations, including asymmetrical faults such as single-phase faults.
The chapter is separated into ve parts. Firstly, the technical background of the PowerFactory Network
Reduction algorithm is explained. Section 40.3 discusses the steps needed to run a Network Reduction
and Section 40.4 explains in detail each of the options of the PowerFactory Network Reduction tool.
The penultimate part, Section 40.5, presents a simple example and the nal section provides some tips
and tricks to consider when working with the Network Reduction tool.
40.2 Technical Background
Some additional technical background on the Network Reduction tool is provided in the following sec-
tions.
40.2.1 Network Reduction for Load Flow
Network reduction for load ow is an algorithm based on sensitivity matrices. The basic idea is that the
sensitivities of the equivalent grid, measured at the connection points in the kept grid, must be equal to
the sensitivities of the grid that has been reduced. This means that for a given (virtual) set of P and
Q injections in the branches, from the kept grid to the grid to be reduced, the resulting u and
DIgSILENT PowerFactory 15, User Manual 969
CHAPTER 40. NETWORK REDUCTION
(voltage magnitude and voltage phase angle variations) in the boundary nodes must be the same for
the equivalent grid as those that would have been obtained for the original grid (within a user dened
tolerance).
40.2.2 Network Reduction for Short-Circuit
Network reduction for short-circuit is an algorithm based on nodal impedance / nodal admittance ma-
trices. The basic idea is that the impedance matrix of the equivalent grid, measured at the connection
points in the kept 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 kept 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 dened
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).
40.3 How to Complete a Network Reduction
This section explains the process for running a Network Reduction. There are several steps that you
must complete to successfully reduce a network:
1. Create a boundary and dene the interior and exterior regions.
2. Create a backup of the project intended for reduction (optional).
3. Activate the additional tools toolbar and congure the Network Reduction Tool options.
4. Run the Network Reduction Tool.
You must dene a boundary before you can proceed further with the Network Reduction. This process is
described in detail in Chapter 13 Grouping Objects, Section 13.3 (Boundaries). However, to summarize,
the boundary divides the network into two regions, the area to be reduced which is referred to as the
interior region and the area to be kept which is referred to as the exterior region. The following section
describes the process of backing up the project, running the Network Reduction tool using the default
options and describes the expected output of a successful network reduction. For more information
about the options available within the Network Reduction tool, see Section 40.4: Network Reduction
Command.
40.3.1 How to Backup the Project (optional)
By default, the Network Reduction tool keeps all the original network data and the modications needed
to reduce the network are stored within a new expansion stage that is part of a new variation. It will
only destroy the original data if the associated option within the command is congured for this (see
Section 40.4.2: Outputs).
However, if you want extra security to guarantee against data loss, in case for instance you accidently
select the option to modify the original network, then you should make a backup copy of the project
before completing the Network Reduction. There are three possible ways to do this:
make a copy of the whole project and paste/store it with a name different to that of the original
project; or
970 DIgSILENT PowerFactory 15, User Manual
40.3. HOW TO COMPLETE A NETWORK REDUCTION
export the project as a *.dz- or *.pfd le (for information about exporting data please refer to
Section 8.1.5: Exporting and Importing of Projects); or
activate the project and create a Version of the project. For information about Versions please
refer to Section 18.2 (Project Versions).
40.3.2 How to run the Network Reduction tool
This sub-section describes the procedure you must followto run the Network Reduction using the default
options. Proceed as follows:
1. Activate the base Study Case for the project you wish to reduce.
2. Dene a boundary that splits the grid into the part to be reduced (interior region), and the part to
be kept (exterior region). See Section 13.3 (Boundaries) for the procedure.
3. Open the boundary object and use the Check Split button in the ElmBoundary dialogue to check
that the boundary correctly splits the network into two regions. See Section 13.3 (Boundaries) for
more information about boundaries.
4. Select the Change Toolbox button from the main toolbar. This is illustrated in Figure 40.3.1.
5. Press the Network Reduction icon from the Additional Tools bar (Figure 40.3.1). This opens
the dialogue for Network Reduction Command (ComRed).
6. Select the boundary you previously dened using the selection control .
7. Optional: If you wish to modify the settings of the command, do so in this dialogue. The settings
and options are explained in Section 40.4 (Network Reduction Command). However, the default
options are recommended, unless you have a specic reason for changing them.
8. Press the Execute button to start the reduction procedure.
Figure 40.3.1: The Network Reduction Button in the Additional Tools Icon Bar
40.3.3 Expected Output of the Network Reduction
This sub-section describes the expected output of the network reduction tool after successfully execut-
ing it. The output varies depending on whether the reduced project was created in V13.2 or earlier
DIgSILENT PowerFactory 15, User Manual 971
CHAPTER 40. NETWORK REDUCTION
and contains system stages, or if it was created in V14.0 or higher. Both output scenarios are ex-
plained in the following sections. Also, the additional objects that the Network Reduction tool creates
are explained.
Changes to the network model for projects created in V14.0 or higher
The default behaviour of the Network Reduction command is to create a Variation containing a single
Expansion Stage called Reduction Stage. For more information see Chapter 15: Network Variations
and Expansion Stages. The Variation will be named automatically according to the reduction options
selected in the Basic Options page of the Network Reduction command. For example, for the default
options the Variation will be named Equ-LF [EW] - Shc[sym] @ Boundary. Figure 40.3.2 shows an
example of a network data model after a successful Network Reduction.
Figure 40.3.2: Project Data tree showing the network model after a successful Network Reduction using
the default options.
The Network Reduction tool also creates a new Study Case with a name that matches the new Variation
name. To return to your original network, all you need to do is activate the original study case that you
used to initiate the Network Reduction.
Note: The Variation and Study Case created by the Network Reduction tool are automatically activated
when the tool is run. To return to your original model you need to reactivate the base Study Case.
Changes to the network model for projects created in V13.2 or lower
For projects imported from V13.2, if they contain System Stage(s) (superseded by Variations in V14.0),
then the Network Reduction does not create a Variation in the project. Instead, a system stage is
created within each active grid. Therefore, if there are n active grids when the Network Reduction
process is initiated, there will be n System Stages created. The naming convention for the System
Stage(s) is the same as the naming convention for the Variations described above. The new System
Stage(s) will be automatically activated in the created study case.
If one or more single line graphic diagrams were in the System Stage(s) within the original grid, these
972 DIgSILENT PowerFactory 15, User Manual
40.4. NETWORK REDUCTION COMMAND
graphics will also be kept in the new System Stage(s) within the combined (partly kept and partly re-
duced) grid. The rst time that the new study case is activated (automatically, at the end of Network Re-
duction procedure), the graphics will be displayed. The elements contained in the part of the grid which
was reduced (if any of them were previously shown), will appear grey in colour, as ghost elements.
Deactivating and re-activating the project will make them disappear permanently (they are graphic ele-
ments only, and have no corresponding elements in the database in the new System Stage(s)).
New objects added by the Network Reduction command
Depending on the network conguration and the options chosen within the Network Reduction com-
mand, during the Network Reduction process some new objects might be created. There are two
possible new object types:
AC Voltage Source (ElmVac) ; and
Common Impedance (ElmZpu)
By default, there will be one voltage source created for every boundary node and one common impedance
between every pair of boundary nodes (unless the calculated mutual impedance is greater than the
user-dened threshold described in Section 40.4.3). These objects are stored in the database but are
not automatically drawn on the single line graphic. If you need to see these objects on the single line
diagram, you must add them manually using the PowerFactory tool Draw Existing Net Elements, which
is explained in Section 9.6 (Drawing Diagrams with Existing Network Elements).
40.4 Network Reduction Command
In this section, the Network Reduction command options are explained.
40.4.1 Basic Options
This section describes the options on the Basic Options page of the Network Reduction command as
shown in Figure 40.4.1.
DIgSILENT PowerFactory 15, User Manual 973
CHAPTER 40. NETWORK REDUCTION
Figure 40.4.1: Network Reduction Command (ComRed) Basic Options
Boundary
This selection control refers to the boundary that denes the part of the grid that shall be reduced by
the reduction tool. Note, the project Boundaries folder might contain many boundaries, but you must
select only one boundary from this folder. This selected boundary must separate the original grid into
two parts, the part that shall be reduced (interior region) and the part that shall be kept (exterior region).
For more information about boundaries, please refer to Section 13.3 (Boundaries).
Load Flow
Calculate load ow equivalent If this option is enabled, the load ow equivalent model will be
created by the reduction tool. This option is enabled by default.
Equivalent Model for Power Injection The load owequivalent is composed of mutual impedances
between boundary nodes and power injections (and shunt impedances) at boundary nodes. The
power injection can be represented by different models. For the load ow equivalent there are
three options (models) available:
Load Equivalent: a load demand.
Ward Equivalent: an AC voltage source which is congured as a Ward Equivalent.
Extended Ward Equivalent: an AC voltage source which is congured as an Extended
Ward Equivalent.
Short-Circuit
Calculate short-circuit equivalent If this option is enabled, the short-circuit equivalent model
will be created by the Network Reduction tool. Currently, only the complete short-circuit calcula-
tion 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
974 DIgSILENT PowerFactory 15, User Manual
40.4. NETWORK REDUCTION COMMAND
unbalanced short-circuit equivalent is created, valid for the calculation of single-phase and other
unsymmetrical short-circuits. This means the network representation must include zero sequence
and negative sequence parameters, otherwise the unbalanced calculation cannot be done.
40.4.2 Outputs
The section describes the options available on the Outputs page of the Network Reduction command
as shown in Figure 40.4.2. These options dene how the Network Reduction command modies the
network model.
Figure 40.4.2: Network Reduction Command - Outputs
Calculation of Parameters Only The equivalent parameters are calculated and reported to the
output window. If this option is selected then the Network Reduction command does not modify
the network model.
Create a new Variation for Reduced Network (Default) The equivalent parameters are calcu-
lated and a Variation will be automatically created to store the reduced network model. If the
project already includes System Stage(s) (from PowerFactory version 13.2 or earlier versions)
then System Stage(s) will be created instead of a Variation.
Reduce Network without Creating a New Variation The Network Reduction command will
directly modify the main network model if this options is selected. Therefore, this option will
destroy data by deleting the interior region of the selected boundary, and replacing it with its
reduced model, so this option should be used with care. To avoid losing the original grid data,
backup the project as described in Section 40.3.1 (How to Backup the Project (optional)).
40.4.3 Advanced Options
This section describes the Advanced Options for the Network Reduction command as shown in Fig-
ure 40.4.3.
Figure 40.4.3: Network Reduction Command - Advanced Options
Mutual Impedance (Ignore above) As part of the Network Reduction process equivalent branches
(represented using Common Impedance elements) will be created between the boundary nodes,
DIgSILENT PowerFactory 15, User Manual 975
CHAPTER 40. NETWORK REDUCTION
to maintain the power-ow relationship between them. If such branches have a calculated
impedance larger than this parameter they will be ignored (not added to the network model).
By default, the number of these branches created will be N*(N-1)/2, where N is the number of
boundary nodes. A boundary node is dened for each boundary cubicle. Therefore, the number
of created branches can be very high. Normally many of these equivalent branches have a very
large impedance value, so their associated power ows are negligible and the branch can be
ignored.
The default value for this parameter is 1000 p.u (based on 100 MVA).
Calculate Equivalent Parameters at All Frequencies This option enables the calculation of
frequency-related parameters. By default, the short-circuit equivalent parameters are calculated
at all frequencies relevant to short-circuit analysis (equivalent frequencies for calculating the d.c.
component of the short-circuit current):
f = f
n
f/f
n
= 0.4
f/f
n
= 0.27
f/f
n
= 0.15
f/f
n
= 0.092
f/f
n
= 0.055
f
n
is the nominal frequency of the grid (usually 50 Hz or 60 Hz).
If only transient and sub-transient short-circuit currents are important in the reduced network, the
calculation of frequency-related parameters can be skipped by unchecking this option.
40.5 Network Reduction Example
This section presents a Network Reduction example using a small transmission network feeding a distri-
bution system from bus 5 and bus 6 as shown in Figure 40.5.1. The distribution system is represented
by Load A and Load B and the corresponding two transformers. As a user you would like to study
the distribution system in detail but are not concerned with the detailed power ow within the transmis-
sion system. Therefore, the Network Reduction tool can be used to create a equivalent model for the
transmission system.
The interior region (the area that shall be reduced) is shown shaded in grey, whereas the non-shaded
area is the exterior region that shall be kept. The procedure for completing the Network Reduction
according to these parameters is as follows (you can repeat this example yourself using the nine bus
system within the PowerFactory Examples - the network used in the example is slightly modied from
this):
976 DIgSILENT PowerFactory 15, User Manual
40.5. NETWORK REDUCTION EXAMPLE
Figure 40.5.1: Example System with Original Network
1. Select cubicles that will be used to dene the boundary. These are highlighted in Figure 40.5.2.
(Use the freeze mode to make selection of the cubicles easier.)
DIgSILENT PowerFactory 15, User Manual 977
CHAPTER 40. NETWORK REDUCTION
Figure 40.5.2: Cubicles used for the boundary denition.
2. Right-click one of the selected cubicles and choose the option Dene Boundary ... The bound-
ary dialogue appears.
3. Alter the boundary cubicle orientations so that the Interior region is correctly dened. The cubicle
orientation for the T4 and T5 cubicles should be set to Busbar. This means that the boundary
interior is dened by looking back at the bus from these cubicles. The orientation for the Line 1
and Line 6 cubicles remains on Branch (looking into the branch).
4. Open the Network Reduction command dialogue and select the boundary dened in steps 1-3
using the selection control.
5. Press Execute. The Network Reduction tool will reduce the system.
6. Optional: draw in the three new common impedance elements and three equivalent ward voltage
source objects using the Draw Existing Net Elements tool. The result of the Network Reduction is
shown in Figure 40.5.3.
A load ow 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.
978 DIgSILENT PowerFactory 15, User Manual
40.6. TIPS FOR USING THE NETWORK REDUCTION TOOL
Figure 40.5.3: Example System with Reduced Network
40.6 Tips for using the Network Reduction Tool
This section presents some tips for using the Network Reduction tool and some solutions to common
problems encountered by users.
40.6.1 Station Controller Busbar is Reduced
Sometimes a interior region might be dened such that it contains the reference bus of a station con-
troller. The generators belonging to this station controller are in the exterior region. During the reduction
process the reference bus will be reduced (removed) from the model, yet the station controller and gen-
erators will remain part of the new system. In such a situation, attempting to run a load-ow after the
reduction will fail with an error message similar to that shown in Figure 40.6.1.
Figure 40.6.1: Error message showing a station controller error
There are two possible solutions to this problem:
DIgSILENT PowerFactory 15, User Manual 979
CHAPTER 40. NETWORK REDUCTION
Modify the boundary denition slightly such that the station controller bus is excluded from the
exterior region; or
Set the station controller out of service and the generators to local PV mode.
40.6.2 Network Reduction doesnt Reduce Isolated Areas
By default, the boundary denition search stops when encountering an open breaker. This means that
isolated areas can sometimes be excluded from the interior region and therefore are not reduced by the
Network Reduction tool. The solution to this problem is to disable the boundary ag Topological search:
Stop at open breakers. This option is enabled by default in all boundary denitions. It is recommended
to disable it before attempting a Network Reduction.
A related problem occurs with the project setting (Edit Project Project Settings Advanced Cal-
culation Parameters) Automatic Out of Service Detection. It is recommended that this option is disabled
before attempting a Network Reduction. However, it is disabled by default, so if you have not made
changes to the default project settings you should not need to make any changes to this setting.
40.6.3 The Reference Machine is not Reduced
The Network Reduction tool will not reduce a reference machine dened within the interior region. It
also leaves all network components that are topologically one bus removed from the reference machine
(and of non-zero impedance). For example, if the reference machine is a typical synchronous ma-
chine connected to the HV system through a step up transformer, then the reduction tool will leave the
synchronous machine, the LV bus, the step up transformer and the HV bus within the reduced network.
It is recommended that the reference machine is found within the exterior region before attempting a
Network Reduction. The reference machine can be identied by checking the output window following
a successful load-ow calculation as illustrated in Figure 40.6.2.
Figure 40.6.2: Output window showing the load-ow command output and the indication of the reference
machine
980 DIgSILENT PowerFactory 15, User Manual
Chapter 41
State Estimation
41.1 Introduction
The State Estimator (SE) function of PowerFactory provides consistent load ow results for an entire
power system, based on real time measurements, manually entered data and the network model. Be-
fore any further analysis, such as contingency analysis, security checks etc. can be carried out, the
present state of a power system must be estimated from available measurements. The measurement
types that are processed 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 absolutely necessary and it is possible to
prot 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 measurements vary
for different elements in the network:
Loads
Active Power, and/or
Reactive Power, or
Scaling Factor, as an alternative
Synchronous Machines
Active Power, and/or
Reactive Power
Asynchronous Machines
Active Power
DIgSILENT PowerFactory 15, User Manual 981
CHAPTER 41. STATE ESTIMATION
Static var System
Reactive Power
2- and 3-winding transformers
Tap Positions (for all but one taps).
41.2 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 ow result matches as close as possible with the measured branch
ows and bus bar voltages. Mathematically, this can be expressed with a weighted square sum of all
deviations between calculated (calVal ) and measured (meaVal ) branch ows and bus bar voltages:
f(x) =
n

i=1
w
i
|calV al
i
(x) meaV al
i
|
2
(41.1)
The state vector x contains all voltage magnitudes, voltage angles and also all variables to be estimated,
such as active and reactive power injections at all bus bars.
Because more accurate measurements should have a higher inuence to the nal results than less
accurate measurements, every measurement error is weighted with a weighting factor wi to the standard
deviation of the corresponding measurement device (+transmission channels, etc.).
In this setting, the goal of a state estimator is to minimize the above given function f under the side
constraints that all load ow equations are fullled.
41.3 Components of the PowerFactoryState Estimator
The State Estimator function in PowerFactory consists of several independent components, namely:
1. Preprocessing
2. Plausibility Check
3. Observability Analysis
4. State Estimation (Non-Linear Optimization)
Figure 41.3.1 illustrates the algorithmic interaction of the different components. The rst Preprocessing
phase adjusts all breaker and tap positions according to their measured signals.
982 DIgSILENT PowerFactory 15, User Manual
41.3. COMPONENTS OF THE POWERFACTORY STATE ESTIMATOR
Figure 41.3.1: Variation of the PowerFactory state estimator algorithm
The Plausibility Check is sought to detect and separate out, in a second phase, all measurements with
some apparent error. PowerFactory provides various test criteria for that phase of the algorithm.
In a third phase, the network is checked for its Observability. Roughly speaking, a region of the network
is called observable, if the measurements in the system provide enough (non-redundant) information to
estimate the state of that part of the network.
Finally, the State Estimation itself evaluates the state of the entire power system by solving the above
mentioned non-linear optimization problem. PowerFactory provides various ways for copying with non-
observable areas of the network.
In order to improve the quality of the result, observability analysis and state estimation can be run in a
loop. In this mode, at the end of each state estimation, the measurement devices undergo a so-called
"Bad Data Detection": the error of every measurement device can be estimated by evaluating the differ-
ence between calculated and measured quantity. Extremely distorted measurements (i.e. the estimated
error is much larger than the standard deviation of the measurement device) are not considered in the
subsequent iterations. The process is repeated until no bad measurements are detected any more.
In the following, the distinct components of the PowerFactory state estimator are explained in detail.
41.3.1 Plausibility Check
In order to avoid any heavy distortion of the estimated network-state due to completely wrong mea-
surements, 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.
DIgSILENT PowerFactory 15, User Manual 983
CHAPTER 41. STATE ESTIMATION
Check for consistent active power ow 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 ows 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 measurements individual
accuracy. The strictness of the above mentioned checking criteria can be continuously adjusted in the
advanced settings.
The result of the Plausibility Check is reported, for each measurement, on a detailed error status page
(see Section 41.6).
41.3.2 Observability Analysis
A necessary requirement for an observable system is that the number of available measurements is
equal or larger than the number of estimated variables. This verication 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 sufcient. Hence, it is not only important
that there are enough measurements, but also that they are well distributed in the network.
Therefore, additional verications 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 arguments; it heavily
takes into account the electrical quantities of the network. Mathematically 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, PowerFac-
tory offers a very exible colour representation both for observable and unobservable areas, and for
redundant and non-redundant measurements (see Section 41.6.4).
Observability of individual states
The Observability Analysis identies not only, for each state (i.e., load or generator injections) 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 measurements exist,
which

Ufor the observability of the system

Udo not provide any further information. During the Observ-


ability Analysis, PowerFactory determines redundant and non-redundant measurements. Moreover, it
subdivides all redundant measurements according to their information content for the systems ob-
servability status. In this sense, PowerFactory is even able to calculate a redundancy level which then
984 DIgSILENT PowerFactory 15, User Manual
41.4. STATE ESTIMATOR DATA INPUT
indicates how much reserve the network measurements provide. This helps the system analyst to
precisely identify weakly measured areas in the network.
41.3.3 State Estimation (Non-Linear Optimization)
The non-linear optimization is the core part of the State Estimator. As already mentioned in the intro-
duction, the objective is to minimize the weighted square sum of all deviations between calculated and
measured branch ows and bus bar voltages whilst fullling all load ow equations.
PowerFactory uses an extremely fast converging iterative approach to solve the problem based on
Lagrange-Newton methods. If the Observability Analysis in the previous step indicates that the entire
power system is observable, convergence (in general) is guaranteed.
In order to come up with a solution for a non-observable system, various strategies can be followed:
One option is to reset all non-observable states, such that some manually entered values or historic
data is used for these states. An alternative option is to use so-called pseudo-measurements for non-
observable states. A pseudo-measurement basically is a measurement with a very poor accuracy.
These pseudo-measurements force the algorithmto converge. At the same time, the resulting estimated
states will be of correct proportions within each equivalence-class.
In the remaining sections of this guide of use, the instructions related to Data Entry, Options and Con-
straints, and Visualization of Results are presented.
41.4 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 ow data:
Measurements
Active Power Branch Flow
Reactive Power Branch Flow
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-measurement, Q-
measurement, I-measurement, V-measurement, Breaker-measurement, and Tap position-measurement.
Similarly, as a convention, the four different types of estimated states are shortly called P-state, Q-state,
Scaling factor-state, and Tap position-state.
DIgSILENT PowerFactory 15, User Manual 985
CHAPTER 41. STATE ESTIMATION
41.4.1 Measurements
All measurements are dened by placing a so-called External Measurement Device" inside a cubicle.
For this purpose, select the device in the single-line graphic and choose from the context menu (right
mouse button) "New Devices" and then External Measurements..." (see Figure 41.4.1). Then, the new
object dialogue pops up with a predened list of external measurements. Please select the desired
measurement device among this list (see Figure 41.4.2).
Figure 41.4.1: External Measurements that are located in a cubicle
986 DIgSILENT PowerFactory 15, User Manual
41.4. STATE ESTIMATOR DATA INPUT
Figure 41.4.2: Dening new external measurements
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 dened in the cubicle.
Branch Flow Measurements
Any branch ow measurement (StaExpmea, StaExtqmea) is dened by the following values (see g-
ures 41.4.3 and 41.4.4):
Measured value (e:Pmea or e:Qmea, respectively)
DIgSILENT PowerFactory 15, User Manual 987
CHAPTER 41. STATE ESTIMATION
Multiplicator (e:Multip)
Orientation (e:i_gen)
Accuracy class and rating (e:Snom and e:accuracy)
Input status (to be found on the second page of the edit object, see Figure 41.4.4):
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.
Figure 41.4.3: Dialogue for an external P-measurement
The accuracy class and the rating are used for weighting the measurement element. In case of re-
dundant measurements, a more accurate measurement will be higher weighted than a less accurate
measurement.
Using the ag orientation", it is possible to dene the meaning of the active or reactive power sign.
Load orientation means that a positively measured P or Q ows into the element, generator orientation
denes a positive ow as owing 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 activated in a selective manner only if the observability check
found unobservable states in the network (see Section 41.5.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 41.4.5): Besides specifying the measured current magnitude
(e:Imea), the user is asked to enter an assumed (or measured) value for the power factor cos
(e:cosphi and e:pf_recapr).
988 DIgSILENT PowerFactory 15, User Manual
41.4. STATE ESTIMATOR DATA INPUT
Figure 41.4.4: Second page "Status" of the dialogue for an external P-measurement
Internally, the measured current magnitude is then additionally transformed into two further measure-
ments, 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 ow, which

U on the other hand

U 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:
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 cor-
responding ratings for the used measurement types need to be specied. This is done (accord-
ingly to the ow measurements) by entering the pairs of elds (e:SnomMagn,e:accuracyMagn),
(e:SnomAct,e:accuracyAct), and (e:SnomReact,e:accuracyReact), respectively).
Voltage Measurements
Voltage measurements (StaExvmea) need to be placed in cubicles as well. The measurement point
then is the adjacent terminal.
DIgSILENT PowerFactory 15, User Manual 989
CHAPTER 41. STATE ESTIMATION
Figure 41.4.5: Dialogue for an external I-measurement
A voltage measurement basically has the same properties as a ow measurement, except, for the
rating, only a single value for the accuracy needs to be specied. The corresponding internal reference
is the nominal voltage of the terminal which serves as measurement point.
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 specied.
Tap position measurements have a conversion table as extra feature. The conversion table allows
any discrete translation mapping between external tap positions (Ext. Tap) and tap positions used by
PowerFactory (PF Tap).
41.4.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 page
Functions. The window shown in Figure 41.4.6 will appear.
b) Enable the Display Function State Estimator" as shown below.
c) Exit the window clicking the OK button.
990 DIgSILENT PowerFactory 15, User Manual
41.4. STATE ESTIMATOR DATA INPUT
Figure 41.4.6: User Settings for State Estimation
With this display function enabled, a new page called State Estimator" appears in the State Estimator
related elements of the grids in the activated project. The State Estimator data manipulation of the
different elements is indicated below.
41.4.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 reactive power injections at generators and
loads and all tap positions.
Loads
For each load (ElmLod), the user can specify whether its active and/or reactive power shall be estimated
by the state estimator. Alternatively, the state estimator is able to estimate the scaling factor (for a
given P and Q injection). The specication which parameter shall be estimated, is done by checking
corresponding boxes on the State Estimator" page of the load (see Figure 41.4.7). When these options
are disabled, the load is treated as in the conventional load ow calculation during the execution of the
SE.
DIgSILENT PowerFactory 15, User Manual 991
CHAPTER 41. STATE ESTIMATION
Figure 41.4.7: Editing element data for load
Synchronous Machines
Similarly, for synchronous machines (ElmSym), the active and reactive power can be selected as a
control variable for being estimated by the state estimator. Again, the user will nd 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 conven-
tional load ow calculation.
Asynchronous Machines
For asynchronous machines (ElmAsm), the active power may serve as a state to be estimated. Once
again, the corresponding box has to be checked on the "State Estimator" page.
If the corresponding check box is disabled, the asynchronous machine behaves as in the conventional
load ow calculation.
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 conventional load
ow calculation.
Transformers
In the 2-winding transformer elements (ElmTr2), the tap position can be specied as a state to be
estimated by the State Estimator (see Figure 41.4.8). Tap positions will be estimated in a continuous
way (without paying attention to the given tap limits).
For 3-winding transformers, any two of the three possible tap positions (HV-, MV-, and LV-side) can be
selected for estimation (see Figure 41.4.9).
The corresponding check boxes are found on the State Estimator" page of the transformers. If the check
box is disabled the State Estimator will treat the tap position of the transformers as in the conventional
992 DIgSILENT PowerFactory 15, User Manual
41.5. RUNNING SE
load ow calculation.
Figure 41.4.8: Editing element data for 2-winding transformers
Figure 41.4.9: Editing element data for 3-winding transformers
41.5 Running SE
The following steps should be performed to execute the State Estimator:
Start from a case where the conventional power ow converges successfully.
Select Additional Tools" from the Change Toolbox button ( )
DIgSILENT PowerFactory 15, User Manual 993
CHAPTER 41. STATE ESTIMATION
Execute the SE by clicking the icon .
Select the desired options for the State Estimator run (see below).
Select Execute.
41.5.1 Basic Setup Options
Recall that the State Estimator in PowerFactory consists of three different parts (Plausibility Check,
Observability Analysis, State Estimation (non-linear optimization)) and an additional precedent Pre-
processing step (see Figure 41.3.1). This variation is reected in the Basic Options dialogue (see
Figure 41.5.1).
Figure 41.5.1: Editing the basic options page of the ComSe
41.5.1.1 Preprocessing
The algorithm distinguishes between breaker- and tap position-measurements on the one hand, and P-
,Q-,I-, and V-measurements on the other hand. Breaker- and tap position-measurements are handled
in the preprocessing step, whereas the latter types are processed in the subsequent parts or the state
estimator.
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.
994 DIgSILENT PowerFactory 15, User Manual
41.5. RUNNING SE
41.5.1.2 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 measurements (see Section 41.6).
The following checks can be enabled by marking the corresponding check boxes.
Consistent active power ow direction at each branch
Checks for each passive branch, whether all connected P-measurements comply with a consistent
power ow direction. More precisely, if some ow out of a passive element is measured while, at the
same time, no ow 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" ow 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
Pmea
1
, . . . ,Pmea
r
in each of its r connection devices. The threshold , by which the nominal loss
shall not be exceeded, is given by: =

r
i=1

i
rating
i
, where
i
and rating
i
are the accuracy and the
rating, respectively, of measurement Pmea
i
.
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 Pmea
1
, . .. , Pmea
r
in each of its r connection devices. The measured power loss of
the branch is said to be negative if it is below the threshold (

r
i=1

i
rating
i
).
Large branch ows 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" ow, then the corresponding measurement fails the
test. Again, a measurement is said to measure a non-zero" ow 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 Pmea
1
,
... , Pmea
r
has magnitude below the threshold

r
i=1

i
rating (similarly for Q-measurements).
41.5.1.3 Observability Analysis
The Observability Analysis is an optional component of the State Estimator. If activated, it checks
whether the specied network is observable, i.e., whether the remaining valid P-, Q-, V-, and I-measurements
(which successfully passed the plausibility checks) sufce to estimate the selected P-, Q-, Scaling
Factor-, and Tap position-states. In addition, the Observability Analysis detects redundant measure-
ments. Redundancy, in general, yields more accurate results for the following state estimation.
Moreover, if the Observability Analysis detects non-observable states, upon user selection, it tries to x
DIgSILENT PowerFactory 15, User Manual 995
CHAPTER 41. STATE ESTIMATION
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 algorithmterminates with the detection of unobservable
states. The Observability Analysis groups all non-observable states into different "equivalence
classes". Each 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 41.6 Results).
Use P-, Q-values as specied by model:: If this option is selected, the algorithm internally drops
the "to be estimated" ag of each non-observable state and uses the element specications of the
load ow 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 ow page. Hence, the network is made observable by
reducing the number of control variables.
Use predened pseudo-measurements: Using this option, the algorithm "repairs" the unob-
servability 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 unobserv-
able areas.
Use internally created pseudo-measurements: This option is similar to the previous one, ex-
cept the algorithm automatically creates and activates a sufcient 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 elemen-
ts load ow specication. All internally created pseudo-measurements use a common setting
for their rating and accuracy, which can be specied on the advanced setup options page for the
observability check.
Use predened 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
predened pseudo-measurement of the same kind. If no corresponding pseudo-measurement
has been dened, then the algorithm automatically creates an internal pseudo-measurement.
41.5.1.4 State Estimation (Non-Linear Optimization)
The non-linear optimization is the central component of the State Estimator. The underlying 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,

Uupon
user settings on the advanced state estimation option page

UPowerFactory 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 until no further bad measurements exist (recall the algorithm
variation as shown in Figure 41.3.1).
996 DIgSILENT PowerFactory 15, User Manual
41.5. RUNNING SE
41.5.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 power sum at a node is below
a threshold of =

r
i=1

i
rating. The user has the possibility to inuence 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 dene
the corresponding factor fac_ndSumP.
The higher the exceeding factor, the less strict the plausibility test will be. Similar exceeding factors can
be specied for any of the given tests.
41.5.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 network. For that
purpose, the algorithm computes a sensitivity matrix that takes into account 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 dening 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 predened 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 predened and internally created pseudo - mea-
surements", the user may specify a default power rating (SnomPseudo) and a default accuracy class
(accuracy Pseudo). These default values are used for all automatically created internal pseudo-
measurements.
41.5.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 41.3.1). The following settings allow the user to control the
number of iterations performed by the loop.
Maximum number of measurements to eliminate
The variable iBadMeasLimit species an upper limit on the number of bad measurements 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 value exceeds
the measurements accuracy, i.e., if
calcV al meaV al
rating

accuracy
100
(41.2)
where calVal and meaVal are the calculated value and the measured value, respectively. The user
DIgSILENT PowerFactory 15, User Manual 997
CHAPTER 41. STATE ESTIMATION
may modify this denition by adjusting tolerance factors for bad measurements. More precisely, a mea-
surement is declared to be bad, if the left-hand side in equation (41.2) exceeds facErr accuracy/100.
Here facErr > 0 is a factor which can be specied by the user for each group of measurements
individually. Use the factors facErrP, facErrQ, facErrV, facErrIMagn, facErrIAct, and
facErrIReact for P-, Q-, V-measurements, and the three types of the I-measurements (magnitude
measure, active current measure, reactive current measure).
41.5.5 Advanced Setup Options for Iteration Control
Initialization
The non-linear optimization requires an initialization step to generate an initial starting conguration.
Initialization of non-linear optimization
The user may specify whether the initialization shall be performed by a load ow calculation or by some
at start. If it is known in advance that the nal solution of the optimization part is close to a valid load
ow solution, initializing by a load ow calculation pays off in a faster convergence.
Load Flow
Species the settings of the load ow command which is taken for initialization in case no at 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 ow equations are fullled. Mathematically
speaking, the aim is to nd
min f(x) (41.3)
under the constraint that
g(x) = 0 (41.4)
where g is the set of load ow equations that need to be fullled. By the Lagrange-Newton method, we
thus try to minimize the resulting Lagrange function
L(x,

) = f(x) +

T
g(x) (41.5)
with the Lagrange multipliers

.
The following parameters can be used to adapt the stopping criteria for this iterative process. The
algorithm stops successfully if the following three issues are fullled:
a) The maximum number of iterations has not yet been reached.
b) All load ow constraint equations g(x) = 0 are fullled to a predened degree of exactness, which
means:
998 DIgSILENT PowerFactory 15, User Manual
41.6. RESULTS
(a) all nodal equations are fullled.
(b) all model equations are fullled.
c) 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 measured 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 rst 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 La-
grangian. If the gradient falls below this value, the Lagrangian is assumed to be converged.
It is strongly recommended

Udue to mathematical preciseness

Uto use the criterion on the gradient. The


other option might only be of advantage if the underlying Jacobian matrix behaves numerically instable
which then typically results in a toggling" of the convergence process in the last iterations.
Output
Two different levels of output during the iterative process can be selected.
41.6 Results
The presentation of the State Estimator results is integrated into the user interface. The solution of
the non-linear optimization in the State Estimator is available via the complete set of variables of the
conventional Load Flow calculations. It can be seen in the single line diagram of the grid or through the
browser.
41.6.1 Output Window Report
The PowerFactory State Estimator reports the main steps of the algorithm in the output window (see
Figure 41.6.1).
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 de-
termined to be observable, and

Uin addition

Uhow many measurements were considered to be relevant


for observing these states.
DIgSILENT PowerFactory 15, User Manual 999
CHAPTER 41. STATE ESTIMATION
Figure 41.6.1: Report in the output window
Non-linear optimization reports, in each iteration step, the following gures:
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).
41.6.2 External Measurements
Deviations
Each branch owmeasurement (StaExtpmea, StaExtqmea) and each voltage measurement (StaExtvmea)
offers parameters to view its individual deviation between measured value and computed value by the
State Estimation. The corresponding variables are:
e:Xmea: measured value as entered in StaEx

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 measurements 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 current). Hence, a current mea-
surement has the above listed variables (with X being replaced by I) for each of the three measurement
types. In order to distinguish between the three types, for a StaExtimea, the variables carry the sufxes
Magn (for magnitude measurement), Act (for active current measurement), and React (for reactive
current measurement).
1000 DIgSILENT PowerFactory 15, User Manual
41.6. RESULTS
Figure 41.6.2: For description page for external measurements (StaExtvmea, StaExtqmea,
StaExtvmea).
Error Status
All measurements (StaExt*meas) which possibly participate in the Plausibility Checks, the Observ-
ability Analysis, or the State Estimation provide a detailed error description page (see gures 41.6.2
and 41.6.3) with the following information:
General Errors:
Is unneeded pseudo-measurement (e:errUnneededPseudo)
Its input status disallows calculation, i.e., input status does not allow Read" or is already
marked as Wrong Measurement" (e:errStatus)
Measurement is out of service (e:errOutOfService)
Plausibility Check Errors:
Fails test: Consistent active power ow 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 ows 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:
DIgSILENT PowerFactory 15, User Manual 1001
CHAPTER 41. STATE ESTIMATION
Measurement is considered to be redundant for observability of the network, i.e., observ-
ability is already guaranteed even without this measurement. Nevertheless redundant mea-
surements 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:errBadData carry the sufxes Magn (for magnitude
measurement), Act (for active current measurement), and React (for reactive current measurement).
41.6.3 Estimated States
Which states participated as control variables?
Recall that

Udepending on the selected "treatment of unobservable regions"

U not all states that were


selected for estimation (see Section 41.4.3: Editing the Element Data) will necessarily be estimated by
the algorithm: In case of non-observability, it may happen that some control variables need to be reset.
To access the information which states were actually used as control variables, PowerFactory provides
a ag for each possible state. These ags are called c:iP,Q,Scale,TapSetp for P-, Q-, Scaling
factor-, and Tap-states, respectively. They can be accessed through the Flexible Data Page as Load
Flow calculation parameters for the following elements: ElmLod, ElmAsm, ElmSym, ElmSvs, ElmTr2,
and ElmTr3.
Observability of individual state
The Observability Analysis identies, for each state, whether it is observable or not. Moreover, if
the network is unobservable, it subdivides all unobservable states into equivalence-classes". Each
equivalence-class has the property that it is observable as a whole group, even though its members
(i.e., the single states) cannot be observed. The equivalence classes are enumerated in ascending
order 1, 2, 3, . . . .
1002 DIgSILENT PowerFactory 15, User Manual
41.6. RESULTS
Figure 41.6.3: Detailed error description page for external current measurements (StaExtimea).
For this purpose, the Observability Analysis uses the ags c:iP, Q, Scale, Tap obsFlg for P-,
Q-, Scaling factor-, and Tap-states, respectively. These parameters exist for all elements which carry
possible states (ElmLod, ElmAsm, ElmSym, ElmSvs, ElmTr2, ElmTr3). The semantics is as follows:
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.
41.6.4 Colour Representation
In addition, PowerFactory provides a special colouring mode State Estimation" for the single line dia-
gram which takes into account the individual measurement error statuses and the states to be estimated
(see Figure 41.6.4). The colouring can be accessed by clicking the icon on the task bar.
The colour representation paints the location of measurements (of a specic type) and the location of
states (of a specic type) simultaneously.
DIgSILENT PowerFactory 15, User Manual 1003
CHAPTER 41. STATE ESTIMATION
Figure 41.6.4: Colouring of measurement error statuses and estimated states.
Estimated States
The user selects to colour states of a specic type (P-, Q-, Scaling factor-, or Tap position-states). Dis-
tinct colours for observable, unobservable, non-estimated states, and states with unclear observability
status can be chosen.
External Measurement Locations
The user selects to colour measurements of a specic type (P-, Q-, V-, or I-measurements). Distinct
colours for valid, redundant and invalid measurements can be chosen. A measurement is said to be
valid if its error code (e:error) equals 0.
Besides, measurements with a specic error code can be highlighted separately using an extra colour.
To select such a specic error code press the Error Code button and choose from the detailed error
description list any "AND"-combination of possible errors.
1004 DIgSILENT PowerFactory 15, User Manual
Part V
Appendix
Appendix A
Glossary
Appliance
A specic physical, installed, power system component: a specic 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 considered to be the basic power system design, from which one or more alternative
designs may be created and analyzed. When working with system stages, the Base Case is considered
to be the highest level in a tree of hierarchical system stage designs.
Block Denition
A block denition is a mathematical model which may be used in other block denitions or in a composite
model. Examples are all default controllers (i.e. VCOs, PSSs, MDMs), and all additional user-dened
DSL models. A block denition is called primitive" when it is directly written in DSL, or complex" when
it is build from other block denitions, by drawing a block diagram.
Block Diagram
A block diagram is a graphical representation of a DSL model, i.e. a voltage controller, a motor driven
machine model or a water turbine model. Block diagrams combine DSL primitive elements and block
denitions created by drawing other block diagram. The block models thus created may (again) be used
in other block diagrams or to create a Composite Frame. See also: DSL primitive, Composite Frame
Branch Elements
A one port element connected to a node, such as a load or a machine. See also nodes, edge elements.
Busbars
Busbars are particular representations of nodes. Busbars are housed in a Station folder and several
busbars may be part of a station.
Class
A class is a template for an element, type or other kind of objects like controller block diagrams, object
lters, 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 specic line or cable
The ComLdf class is a load-ow command
DIgSILENT PowerFactory 15, User Manual 1007
APPENDIX A. GLOSSARY
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 denes 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 lling the slots with appropriate objects. The
composite frame thus acts as template for a specic kind of composite models.
See also: Block Diagram, Slot
Composite Model
A composite model is a specic combination of mathematical models.These models may be power
system elements such as synchronous generators, or block denitions, 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
identication of model parameters on the basis of measurements.
Cubicle
A cubicle is the connection point between a edge or branch element and a node (represented by a
busbar or terminal). It may be visualized as a bay in a switch yard or a panel in a switchgear board.
Elements such as CTs, protection equipment, breakers and so forth, are housed in the cubicle, as one
would expect to nd in reality.
DAQ
Abbreviation for Data Acquisition".
Device
A certain kind of physical power systemcomponents: certain synchronous machines, two-winding trans-
formers, busbars, or other kinds of equipment. Example: a NKBA 0.6/1kV 4 x 35sm cable.
DGS
Abbreviation for DIgSILENT Interface for Geographical Informations Systems".
DOLE
Abbreviation for DIgSILENT Object Language for Data Exchange". DOLE was used in previous Pow-
erFactory versions, but replaced by DGS meanwhile. Now, use DGS instead, please.
The DOLE import uses a header line with the parameter name. This header must have the following
structure:
The rst 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 refer to Chap-
ter 19 (The DIgSILENT Programming Language - DPL).
Drag & Drop
1008 DIgSILENT PowerFactory 15, User Manual
Drag&Drop" is a method for moving an object by left clicking it and subsequently moving the mouse
while holding the mouse button down (dragging"). Releasing the mouse button when the new location
is reached is called dropping". This will move the object to the new location.
DSL
Abbreviation for DIgSILENT Simulation Language". For further information, please refer to Chap-
ter 26.12 (The DIgSILENT Simulation Language (DSL)).
DSL primitive
A DSL primitive is the same as a primitive block denition. A DSL primitive is written directly in DSL
without the use of a block diagram.
Examples are PID controllers, time lags, simple signal lters, integrators, limiters, etc. DSL primitives
are normally used to build more complex block denitions.
See also: Block Denition, Block Diagram
Edge Elements
The elements between two nodes. May also be termed two port element. Source, topological studies;
picture a 3 dimensional box, the corners of the box would be called the nodes, and the edges between
corners are hence edges. See also nodes, branch elements.
Element
A mathematical model for specic appliances. Most element models only hold the appliance-specic
data while the more general type-specic 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 specic item stored in the database. Examples are specic type or element models which
have been edited to model specic devices or appliances. Examples: the element FC 1023.ElmLne",
the type NKBA_4x35.TypLne", the load-ow 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 Terminals" 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 inexible. See also
Busbars, Edge Elements, Branch Elements.
Operation Scenario
DIgSILENT PowerFactory 15, User Manual 1009
APPENDIX A. GLOSSARY
An Operation Scenario denes a certain operation point of the system under analysis, such as dif-
ferent generation dispatch, low or high load, etc.Operation Scenarios are stored inside the Operation
Scenarios folder.
Page Tab
Page tabs are small indexes at the edge (mostly on the top or bottom) of a multi-page window. The tabs
show the titles of the pages. Left-clicking the page tab opens the corresponding page. Page tabs are
used in object dialogues, which often have different pages for different calculation functions, and in the
Graphics Board Window, when more than one graphical page is present.
Project
All power system denitions and calculations are stored and activated in a project. The project folder
therefore is a basic folder in the users 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 dening a virtual instrument.
See also: Virtual Instrument
Slot
A slot is a place-holder for a block denition in a composite frame. A composite model is created from
a composite frame by lling one or more slots with an appropriate object.
See also: Block Denition, 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)activated.
Elements in the grid folders that are referenced by the study case form the calculation target for all
calculation functions. Elements in all other, non-active, grid folders are not considered for calculation.
Besides the list of active folders, the calculation case also stores all calculations commands, results,
events, and other objects which are, or have been, used to analyze the active power system.
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 possible 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 trans-
formers, busbars, etc. A type model only contains the non-specic 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
1010 DIgSILENT PowerFactory 15, User Manual
Variation
A Variation denes an expansion plan composed of one or more expansion stages, and which are
chronologically activated. Variations, like all other network data, are stored inside the Network Data
folder.
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 window. Virtual
instrument panels are used to create and show virtual instruments. Each virtual instrument panel may
contain one or more virtual instruments.
See also: Graphics Board Window, Virtual Instrument
DIgSILENT PowerFactory 15, User Manual 1011
APPENDIX A. GLOSSARY
1012 DIgSILENT PowerFactory 15, User Manual
Appendix B
Hotkeys Reference
B.1 Calculation Hotkeys
Combination Description
F10 Perform Load Flow calculation
F11 Perform Short-Circuit calculation
Ctrl + F10 Edit Load Flow calculation options
Ctrl + F11 Edit Short-Circuit calculation options
F12 Reset Calculation
Table B.1.1: Calculation Hotkeys
B.2 Graphic Windows Hotkeys
Combination Where/When Description
Ctrl + -
Single Line Graphic,
Block Diagrams, Vis
Zoom out
Ctrl + +
Single Line Graphic,
Block Diagrams, Vis
Zoom in
Ctrl + Scrollen
Single Line Graphic,
Block Diagrams, Vis
Zoom in/out
Ctrl + Double-
click
Busbar system
Open detailed graphic of
substation
Press Mouse
Scroll Wheel +
Moving
Single Line Graphic,
Block Diagrams, Vis
Panning, Moving the visi-
ble part of the graphic
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
(multiple times)
Element
All the connected ele-
ments will be marked
DIgSILENT PowerFactory 15, User Manual 1013
APPENDIX B. HOTKEYS REFERENCE
Combination Where/When Description
Ctrl + A All elements are marked
Ctrl + Alt + Shift +
P
Element Dialogue
Save a screenshot of
the complete moni-
tor as bitmap under
C:\Digsi\snapshots
Ctrl + Alt + Mov-
ing
Marked Object
Single Objects from a
Busbar system can be
moved
Ctrl + Alt + Mov-
ing
Marked Busbar
Single objects from a
Busbar System can be in-
creased or reduced (size)
Ctrl + Alt + Mov-
ing
Block
The stub length of blocks
in block diagrams remains
when shifting
Ctrl + Alt + Mov-
ing
Marked Terminal
Line-Routes will move to
the terminal, instead of
terminal to the line
Ctrl + Alt + Mov-
ing
Marked Node
Symbol of the connected
branch element will not be
centred
Ctrl + C Marked Element
Ctrl + L
Single Line Graphic,
Block Diagrams
Will open the Dene
Layer dialogue to create
a new layer
Ctrl +Left-click Element
Multiselect elements,
all clicked elements are
marked
Ctrl + Left-click
Inserting Loads/Gen-
erators
Rotate element 90

Ctrl + Left-click
Inserting Busbars/Ter-
minals
Rotate element 180

Ctrl + M Element Dialogue


Mark Element in the
graphic
Ctrl + Q
Single Line Graphic,
Block Diagrams
Open Graphic Layer dia-
logue
Ctrl + X Marked Element Cut
Esc Connecting Mode Interrupt the mode
Esc Inserting Symbol
Interrupt and change to
graphic cursor
Esc Animation Mode Interrupt mode
S + Left-click Element
Mark only the symbol of
the element
S +Moving Marked Element
Move only the symbol of
the element
Shift + Moving Marked Element
Element can only be
moved in the direction of
axes
Shift + Moving Marked Textbox
After rotation, textbox can
be aligned in the direction
of axes
1014 DIgSILENT PowerFactory 15, User Manual
B.3. DATA MANAGER HOTKEYS
Combination Where/When Description
Tab Inserting Symbol
Change connection side
of symbol
Left-click Inserting Symbol
Place symbol, press
mouse button and move
cursor in the direction
of rotation to rotate the
symbol in this direction
B.3 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 (arrow: up) Right Scroll a page up
Pag (arrow:
down)
Right Scroll a page down
Ctrl + (arrow: up) Edit dialogue open
Call the edit dialogue of
the next object from the
list and closes the current
dialogue
Ctrl + (arrow:
down)
Edit dialogue open
Call the edit dialogue of
the previous object from
the list and closes the cur-
rent dialogue
Ctrl + A Right Mark all
Ctrl + Alt + P
Save screenshot of the
data manager as bitmap
under C:\Digsi\snapshots
Ctrl + Alt + Shift +
P
Save screenshot of
the complete moni-
tor as bitmap under
C:\Digsi\snapshots
Ctrl + B Detail-Modus Change to next tab
Ctrl + C
Marked object,
marked symbol
Copy marked object
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 + G Right Go to line
DIgSILENT PowerFactory 15, User Manual 1015
APPENDIX B. HOTKEYS REFERENCE
Combination Where/When Description
Ctrl + I Right
Call the dialogue Select
Element, in order to insert
a new object. The object
class depends on the cur-
rent position
Ctrl + Left-click Select the object
Ctrl + M Move the object
Ctrl + O
Change between the dis-
play of out of service and
no relevant objects for cal-
culation
Ctrl + Q
Right; station, Busbar
or element with a con-
nection
Open the station graphic
Ctrl + Q
Right, element with
more than one con-
nection
Call the dialogue Select
Station, which lists all the
connected stations
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 + Tab Detail-Modus Change to next tab
Ctrl + V
Insert the content of the
clipboard
Ctrl + W
Change the focus be-
tween right and left side
Ctrl + X
Marked object,
marked symbol
Cut object
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 open dialogues
and return the selected
object from the top dia-
logue
F4
Activate/Deactivate
Drag&Drop-Mode
F5 Update
F8 Right, Graphic Open the graphic
1016 DIgSILENT PowerFactory 15, User Manual
B.5. OUTPUT WINDOW HOTKEYS
Combination Where/When Description
Pos1 Right
Jump to the rst column of
the current row
Return Right
Call the edit dialogue of
the marked object
Return links
Display or close the con-
tent of the marked object
Return
Right; after change in
the line
Conrm changes
Return Right; link
Call the edit dialogue of
the original object
Shift + Left-click
Select all the objects be-
tween the last marked ob-
ject and the clicked row
B.4 Dialogue Hotkeys
Combination Where/When Description
Ctrl + A Input eld Mark the content
Ctrl + Alt + P
Save screenshot of the di-
alogue as bitmap under
C:\Digsi\snapshots
Ctrl + Alt + Shift +
P
Save screenshot of
the complete moni-
tor as bitmap under
C:\Digsi\snapshots
F1 Online help
B.5 Output Window Hotkeys
Combination Where/When Description
Pag (arrow: up) Page up
Pag (arrow:
down)
Page down
Ctrl + A
Mark the content of the
output window
Ctrl + Pag (arrow:
up)
Like Ctrl + Pos1
Ctrl + Pag (arrow:
down)
Like Ctrl + End
Ctrl + C
Copy the market report to
the clipboard
Ctrl + E Open a new empty editor
DIgSILENT PowerFactory 15, User Manual 1017
APPENDIX B. HOTKEYS REFERENCE
Combination Where/When Description
Ctrl + End
Set the cursor in the last
position of the last row
Ctrl + F
Open the Search and Re-
place dialogue
Ctrl + F3 Cursor in a Word
Jump to next same word;
New searched string be-
comes the word on which
the cursor is currently po-
sitioned
Ctrl + O Call the Open dialogue
Ctrl + P Call the Print dialogue
Ctrl + Arrow (up) Page up
Ctrl + Arrow
(down)
Page down
Ctrl + Pos1
Set the cursor in the rst
position of rst row
Ctrl + Shift + End
Set the cursor in the last
position and marks the re-
port in between
Ctrl + Shift +
home
Set the cursor in the rst
position and marks the re-
port in between
Ctrl + Shift + F3 Cursor in a Word
Jump to previous same
word; New searched
string becomes the word
on which the cursor is
currently positioned
End
Set the cursor in the last
position of the row
F3 Cursor in a Word
Jump to next same word
of the current searched
string
Arrow (up)
Set the cursor one line
above
Arrow (right)
Set the cursor one posi-
tion after
Arrow (down)
Set the cursor one line
below
Arrow (left)
Set the cursor one posi-
tion before
home
Set the cursor to the rst
position of the row
Shift + Pag (ar-
row: up)
Set the cursor one page
up and select the in be-
tween content
Shift + Pag (ar-
row: down)
Set the cursor one page
down and select the in be-
tween content
Shift + F3 Cursor in a Word
Jump to previous same
word of the current
searched string
1018 DIgSILENT PowerFactory 15, User Manual
B.6. EDITOR HOTKEYS
Combination Where/When Description
B.6 Editor Hotkeys
Combination Where/When Description
Ctrl + O Open le
Ctrl + S Save
Ctrl + P Print
Ctrl + Z Undo
Ctrl + C Copy
Ctrl + V Paste
Ctrl + X Cut
Ctrl + A Select all
Ctrl + R Comment selected lines
Ctrl + T
Uncomment selected
lines
Ctrl + F2
Set bookmark / Remove
bookmark
Del Delete
F2 Go to next bookmark
Shift + F2 Go to previous bookmark
F3 Cursor in a word
Jump to next same word
of the current searched
string
Shift + F3 Cursor in a Word
Jump to previous same
word of the current
searched string
Ctrl + F3 Cursor in a Word
Jump to next same word;
New searched string be-
comes the word on which
the cursor is currently po-
sitioned
Ctrl + F Open Find dialogue
Ctrl + G Open Go to dialogue
Ctrl + H
Open Find and Replace
dialogue
Ctrl + Y Remove current line
Ctrl + Shift + T
Replace blanks by tabs in
selected text
Ctrl + Alt + T
Show / Hide tabs and
blanks
Strg + Shift +
Space
Replace tabs by blanks in
selected text
Alt + Return
Open user settings dia-
logue on "Editor" page
DIgSILENT PowerFactory 15, User Manual 1019
APPENDIX B. HOTKEYS REFERENCE
Combination Where/When Description
Backspace
Delete character in front
of cursor
Insert
Switch between insert
and replace mode
Arrow (right) One char right
Shift + Arrow
(right)
Extend selection to next
char right
Ctrl + Arrow
(right)
Set cursor to beginning of
next word
Ctrl + Shift + Ar-
row (right)
Extend selection to begin-
ning of next word
Arrow (left) One char left
Shift + Arrow (left)
Extend selection to next
char left
Ctrl + Arrow (left)
Set cursor to beginning of
previous word
Ctrl + Shift + Ar-
row (left)
Extend selection to begin-
ning of previous word
Arrow (down) One line down
Shift + Arrow
(down)
Extend selection one line
down
Ctrl + Arrow
(down)
Scroll down
Ctrl + Shift + Ar-
row (down)
Change selected text to
lower case
Arrow (up) One line up
Shift + Arrow (up)
Extend selection one line
up
Ctrl + Arrow (up) Scroll up
Ctrl + Shift + Ar-
row (up)
Change selected text to
upper case
home
Set cursor to rst pos. in
line
Ctrl + home
Set cursor to beginning of
text
Shift + home
Extend selection to begin-
ning of line
Ctrl + Shift +
home
Extend selection to start
of text
end
Set cursor to last pos. in
line
Ctrl + end Set cursor to end of text
Shift + end
Extend selection to end of
line
Ctrl + Shift + end
Extend selection to end of
text
Pag (arrow:
down)
Set cursor one page
down
1020 DIgSILENT PowerFactory 15, User Manual
B.6. EDITOR HOTKEYS
Combination Where/When Description
Shift + Pag (ar-
row: down)
Extend selection to one
page down
Pag (arrow: up) Set cursor one page up
Shift + Pag (ar-
row: up)
Extend selection to one
page up
F1
Open manual and search
for word in which cursor is
placed
F9
Set break point / remove
break point (but no effect)
DIgSILENT PowerFactory 15, User Manual 1021
APPENDIX B. HOTKEYS REFERENCE
1022 DIgSILENT PowerFactory 15, User Manual
Appendix C
Technical References of Models
The technical references of models in PowerFactory are organized according to categories as shown in
the following table. Follow the links in the table to jump to the corresponding section.
Category Device
Branch Elements
2-Winding Transformer (ElmTr2)
3-Winding Transformer (ElmTr3)
Autotransformers
Booster Transformer (ElmTrb)
Overhead Lines Systems
Cables Systems
Series Capacitances (ElmScap)
Series Reactance (ElmSind)
Series Filter (ElmSlt )
Common Impedance (ElmZpu)
Generators & Loads
Asynchronous Machine (ElmAsm)
Doubly Fed Induction Machine (ElmAsmsc)
Static Generator (ElmGenstat )
PV System (ElmPvsys)
Synchronous Machine (ElmSym)
Loads (ElmLod)
Low Voltage Load (ElmLodlv)
Partial Loads (ElmLodlvp)
Motor Driven Machine (ElmMdm__X )
Power Electronic Devices
PWM AC/DC Converter
Rectier/Inverter
Soft Starter (ElmVar )
DC/DC Converter (ElmDcdc)
Reactive Power Compensation
Neutral Earthing Element (ElmNec)
Shunt/Filter Element (ElmShnt )
Static Var System (ElmSvs)
Controllers
Station Controller (ElmStactrl )
Power Frequency Control (ElmSecctrl )
DIgSILENT PowerFactory 15, User Manual 1023
APPENDIX C. TECHNICAL REFERENCES OF MODELS
Category Device
Sources
AC Voltage Source (ElmVac)
DC Voltage Source (ElmVdc)
AC Current Source (ElmIac)
DC Current Source (ElmDci )
Impulse Source (ElmImpulse)
DC Battery (ElmBattery)
DC Machine (ElmDcm)
External Network (ElmXnet )
Fourier Source (ElmFsrc)
Measurement Devices
Current Measurement (StaImea)
Power Measurement (StaPqmea)
Voltage Measurement (StaVmea)
Phase Measurement Device (Phase Locked Loop, ElmPhi__pll )
File Object (ElmFile)
Digital Devices
Digital Clock (ElmClock)
Digital Register (ElmReg)
Sample and Hold Model (ElmSamp)
Trigger Model (ElmTrigger )
Analysis Functions
Fast Fourier Transform (ElmFft )
Miscellaneous
Surge Arrester (StaSua)
Table C.0.1: Technical References of Models
C.1 Branch Elements
C.1.1 2-Winding Transformer (ElmTr2)
The 2-winding transformer supports a wide range of transformer types with various vector groups, phase
technologies, tap control, neutral connection options etc.
As the calculation model of the 2-winding transformer changes with the phase technology, there are
dedicated technical references for three-phase and single-phase 2-winding transformers:
Three phase 2-winding transformer: Technical Reference ElmTr2 3Phase
Single phase and single wire 2-winding transformer: Technical Reference ElmTr2n 1Phase
C.1.2 3-Winding Transformer (ElmTr3)
The 3-winding transformer model in PowerFactory is a 3-phase element. It requires a 3-winding trans-
former type (TypTr3) where the user species the rated data, vector groups, tap changer, etc.
For a detailed description of the model the reader is referred to the Technical Reference TypTr3 of the
3-winding transformer type.
1024 DIgSILENT PowerFactory 15, User Manual
C.1. BRANCH ELEMENTS
C.1.3 Autoransformers
The autotransformer models in PowerFactory build on the 3- and 2-winding transformer models de-
scribed in the previous sections. Hence an autotransformer is dened using the same elements (i.e.
the same icons in the toolbox) as used for the standard 3- and 2-winding transformers.
As soon as the connection group in the transformer type is set to YNyn, the option Auto Transformer will
be available in the transformer element. If the user enables this option, then the model will consider an
autotransformer winding connection instead of the galvanic separated winding.
For the details of the calculation model used in that case, the reader is referred to the technical refer-
ences of the 2-winding C.1.1 and 3-winding C.1.2.
C.1.4 Booster Transformer (ElmTrb)
The description of the booster transformers, presenting the relations among the input parameters is
given in the Technical Reference ElmTrb.
The 3-phase booster transformer model requires a reference to a booster transformer type (TypTrb).
C.1.5 Overhead Lines Systems
PowerFactory handles both DC and AC lines, including all phase technologies (3ph, 2ph and single
phase), with/without neutral conductor and ground wires, for both single circuit and mutually coupled
parallel circuits.
All these options are handled by a suitable selection of element-type combinations as summarized in
Table C.1.1. The technical reference document Overhead Line Models provides a detailed description
of all available line models for both the steady-state and the transient simulations.
System Phase Technology Element Type
DC unipolar ElmLne TypLne
AC, single-circuits
1-ph ElmLne TypLne
2-ph ElmLne TypLne
3-ph ElmLne TypLne, TypTow, TypGeo
1-ph with neutral ElmLne TypLne
2-ph with neutral ElmLne TypLne
3-ph with neutral ElmLne TypLne
AC, mutually coupled circuits Any combination ElmTow TypTow, TypGeo
Table C.1.1: Overview of line models
The line element ElmLne is the constituent element of transmission lines. When referring to a type, the
line element can be used to dene single-circuit lines of any phase technology according to table C.1.1.
Besides, the element parameter Number of Parallel Lines lets represent parallel lines without mutual
coupling between each other.
If the mutual coupling between parallel lines is to be modelled, then a line coupling element ElmTow
shall be used. In that case, the line element ElmLne points to a line coupling element ElmTow which in
turns refers to the corresponding tower type TypTow or tower geometry type TypGeo.
PowerFactory further distinguishes between constant and frequency-dependent parameters models.
DIgSILENT PowerFactory 15, User Manual 1025
APPENDIX C. TECHNICAL REFERENCES OF MODELS
Constant parameters models, i.e. non frequency-dependent, are those dened in term of electrical data
per unit-length. In that case, the user enters the impedance and admittance per unit-length of the line
in an element type (TypLne), as explained in the technical reference.
Frequency-dependent parameters model are dened instead in terms of geometrical data, i.e. the
tower geometries, conductor types, etc. The user enters the conguration of the transmission system
in a tower type (TypTow) or tower geometry type (TypGeo). In that case, a overhead line constant
routine will calculate the electrical parameters at a given frequency or frequency range. For the details
of the line constant calculation function, the reader is referred to the technical reference Overhead Line
Constants.
C.1.5.1 Line (ElmLne)
The ElmLne is element used to represent transmission lines/cables. It requires a reference either to a
line type TypLne, or a tower type TypTow or a tower geometry type TypGeo. The ElmLne can contain
line sections as presented in Chapter 9 Network Graphics, Section 9.3.2 (Dening Line Sections).
The description of the line model, is given in the attached Technical Reference Paper: Overhead Line
Models.
C.1.5.2 Line Sub-Section (ElmLnesec)
Object used to represent sections of lines or cables. It can refer to any of the types dened for trans-
mission lines or cables.
C.1.5.3 Tower Line Coupling (ElmTow)
The ElmTow is used to represent electromagnetic coupling between transmission lines. In order to
dene the line coupling, a TypTow/TeyGeo object determining the geometrical characteristics and the
conductor type of the structure where the coupled lines are located, is required.
The description of the line coupling model, presenting the relations among the input parameters is given
in the attached Technical Reference Paper: Overhead Line Models.
C.1.5.4 Line Type (TypLne)
Type used to dene transmission lines/cables, whose electrical parameters are known (no electromag-
netic coupling between conductors is calculated in this type).
The description of the line type model, presenting the relations among the input parameters is given in
the attached Technical Reference Paper: Overhead Line Models.
C.1.5.5 Tower Types (TypTow/TypGeo)
Both types are used to dene the tower structure of a transmission line. If TypTow or TypGeo are
referred in an ElmLne, the coupling impedances and admittances of the line are calculated according
to the given geometrical distribution of the conductors. The tower type requires additionally a reference
to the conductor type.
TypTow versus TypGeo
While a tower type TypTow completely denes the overhead transmission system (i.e. denes the tower
geometry and the conductors), a tower geometry type TypGeo only contains information about the
1026 DIgSILENT PowerFactory 15, User Manual
C.1. BRANCH ELEMENTS
geometry of the tower.
It means then, the TypTow object contains the input data relevant for the calculation of the electrical
parameters (impedances and admittances) of the system, like the number of circuits, position of the
conductor at tower height -i.e. tower geometry-, transposition of the circuits if applicable and the data
of the phase and earth wires (if any) conductors (solid or tubular conductor, DC resistances, skin effect,
etc.).
It follows then that two overhead lines having the same tower geometry but different conductor types
would required two different TypTow objects in the library. This is likely to happen in distribution networks
where few different tower geometries are used in combination with a considerable amount of different
conductor types. To simplify the data input and handling in those cases, a tower geometry type can be
used instead.
Then the tower geometry type TypGeo contains the denition of the tower geometry only; hence the
type does not include any information about the conductor types. The user assigns the conductor types
later in the element, either in the line element ElmLne or line coupling element ElmTow. These combi-
nation minimizes the data entry and allows for a exible combination of tower geometries and conductor
types. Apart from the data entry, the resulting calculation model, hence the electrical parameters of the
transmission system, are in both case identical.
The description of the tower models, presenting the relations among the input parameters is given in
the attached Technical Reference Paper: Overhead Line Constants.
C.1.5.6 Conductor Type (TypCon)
Type used to dene conductor objects. A reference to a conductor type is required in the tower types
TypTow/TypGeo to dene the conductors of the transmission line.
The description of the conductor type model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper:Overhead Line Constants.
C.1.6 Cables Systems
The model of a cable system in PowerFactory builds on two types: rstly, a single-core cable type
(TypCab) denes the cross-section geometry, conducting and insulating layers and properties of the
materials of the single-core cable and secondly, a cable system type (TypCabsys) species the total
number of single-core cables in the system, hence the number of coupled cables, and the installation
characteristics, either buried directly underground or laid in pipes (a pipe-type cable).
C.1.6.1 Cable System (ElmCabsys)
Object used to represent a system of electromagneticaly coupled cables.
The description of the cable system, presenting the relations among the input parameters and the
required types is given in the attached Technical Reference Paper: Cable Systems.
C.1.6.2 Cable Type (TypCab)
Type used to dene cable objects.
The description of the cable type model, presenting the relations among the input parameters is given
in the attached Technical Reference Paper: Cable Systems.
DIgSILENT PowerFactory 15, User Manual 1027
APPENDIX C. TECHNICAL REFERENCES OF MODELS
C.1.7 Series Capacitances (ElmScap)
The ElmScap object represents series capacitances in PowerFactory . It can be used for various appli-
cations, e.g.
Series compensation of transmission lines
Filter capacitance
The description of the Series Capacitance model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Series Capacitance
C.1.8 Series Reactance (ElmSlt)
The ElmSlt object represents series lter in PowerFactory .
The description of the series lter model, presenting the relations among the input parameters is given
in the attached Technical Reference Paper: Series Filter.
C.1.9 Series Filter (ElmSind)
The ElmSind object represents series reactances in PowerFactory .
The description of the series reactance model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: Series Reactance.
C.1.10 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.
The description of the common impedance model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Common Impedance.
C.2 Generators and Loads
C.2.1 Asynchronous Machine (ElmAsm)
Object used to represent asynchronous machine models, requires a reference to a TypAsmo or TypAsm
(obsolete) object.
The description of the asynchronous machine model, presenting the relations among the input param-
eters is given in the attached Technical Reference Paper: Induction Machine
C.2.2 Doubly Fed Induction Machine (ElmAsmsc)
Object used to represent doubly fed induction generators, requires a reference to a TypAsmo object.
Input parameters
1028 DIgSILENT PowerFactory 15, User Manual
C.2. GENERATORS AND LOADS
The description of the double feed asynchronous machine model, presenting the relations among the
input parameters is given in the attached Technical Reference Paper: Doubly Fed Induction Machine
C.2.3 Static Generator (ElmGenstat)
The Static Generator (ElmGenstat, ) is an easy-to-use model to represent any kind of non-rotating
generators. The common characteristic of these generators is that they are all connected to the grid
through a static converter and hence the name static generator. Typical 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
For a detailed description of the static generator model the reader is referred to the technical reference:
Static Generator
C.2.4 PV System (ElmPvsys)
The Photovoltaic System element (ElmPvsys) is an easy-to-use model based on the Static Generator
element (ElmGenstat ). The PV System element models an array of photovoltaic panels, connected to
the grid through a single inverter. The main difference with the static generator, is that the PV System
provides an option to automatically estimate the active power set point, given the geographical location,
date and time.
For a detailed description of the static generator model the reader is referred to the technical reference:
PV System
C.2.5 Synchronous Machine (ElmSym)
Object used to represent synchronous machine models, requires a reference to a TypSym object.
Synchronous Machine Type (TypSym)
Type used to dene synchronous machine elements (ElmSym)
The description of the synchronous machine model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper: Synchronous Machine
DIgSILENT PowerFactory 15, User Manual 1029
APPENDIX C. TECHNICAL REFERENCES OF MODELS
C.2.6 Loads (ElmLod)
Object used to represent load models. Two different models are supported depending on the type
selection:
General loads: requires a reference to a TypLod object (see technical reference: General Load
Model)
Complex loads: requires a reference to a TypLodind object (see technical reference: Complex
Load Model)
C.2.7 Low Voltage Load (ElmLodlv)
Object used to represent loads at low voltage level.
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: Low Voltage Load
C.2.8 Partial Loads (ElmLodlvp)
Object used to represent partial loads.
The description of the partial load model, presenting the relations among the input parameters and the
required types is given in the attached Technical Reference Paper: Partial Loads.
C.2.9 Motor Driven Machine (ElmMdm__X)
Objects used to represent motor driven machines. Three types of driven machine models are dened
in PowerFactory :
ElmMdm__1 (Type 1)
ElmMdm__3 (Type 3)
ElmMdm__5 (Type 5)
All types of motor driven machine models may be used in connection with a synchronous or an asyn-
chronous motor.
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: Motor Driven
Machine
C.3 Power Electronic Devices
C.3.1 PWM AC/DC Converter
Object used for a PWM converter model. Represents a self-commutated, voltage sourced AC/DC
converter (capacitive DC circuit).
There are two rectier/inverter models available in PowerFactory which differentiate from each other in
the number of DC connections:
1030 DIgSILENT PowerFactory 15, User Manual
C.4. REACTIVE POWER COMPENSATION
PWM AC/DC Converter - 1 DC Connection
PWM AC/DC Converter - 2 DC Connections
The description of the PWM converter model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: PWM Converter
C.3.2 Rectier/Inverter
There are two rectier/inverter models available in PowerFactory which differentiate from each other in
the number of DC connections:
Rectier/Inverter 1-DC Connection (ElmRecmono)
Rectier/Inverter 2-DC Connection (ElmRec)
Rectier models with a single DC connection, requires a reference to a Rectier Type (TypRec) used to
dene a 6 pulse bridge rectier/inverter element with both 1-DC or 2-DC connections.
The description of the rectier model, presenting the relations among the input parameters is given in
the attached Technical Reference Paper: 6-Pulse Bridge
C.3.3 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.
The description of the soft starter model, presenting the relations among the input parameters is given
in the attached Technical Reference Paper: Soft Starter
C.3.4 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: DC/DC Converter
C.4 Reactive Power Compensation
C.4.1 Neutral Earthing Element (ElmNec)
The NEC/NER (Neutral Earthing Conductor/Neutral Earthing Reactor) is the grounding element in Pow-
erFactory , does not require any type.
The description of the NEC/NER model, presenting the relations among the input parameters is given
in the attached Technical Reference Paper: Neutral Earthing Element
C.4.2 Shunt/Filter Element (ElmShnt)
The ElmShnt object is used to represent different shunt connection types.
DIgSILENT PowerFactory 15, User Manual 1031
APPENDIX C. TECHNICAL REFERENCES OF MODELS
The description of the shunt/lter model, presenting the relations among the input parameters is given
in the attached Technical Reference Paper: Filter/Shunt
The description of the Tap Adjustment for this element is given in the attached Technical Reference
Paper: Tap Adjustment
C.4.3 Static Var System (ElmSvs)
The static var compensator system (ElmSvc) is a combination of a switched shunt capacitor bank and
a thyristor controlled inductive shunt reactance.
The description of the static var compensator, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: Static Var System
C.5 Controllers
C.5.1 Station Controller (ElmStactrl)
The description of the Station Controller is given in the attached Technical Reference Paper: Station
Controller
The Station Controller is used for steady-state analysis. For time-domain simulation please use Com-
mon Models as described in Chapter 26: Stability and EMT Simulations, Section 26.8 (Models for
Stability Analysis).
C.5.2 Power Frequency Control (ElmSecctrl)
The description of the Power Frequency Control is given in the attached Technical Reference Paper:
Power Frequency Control
C.6 Sources
C.6.1 AC Voltage Source (ElmVac)
The ElmVac is used to represent AC Voltage sources (single phase or three phase).
The description of the AC voltage source model, presenting the relations among the input parameters
and the possible types is given in the attached Technical Reference Paper: AC Voltage Source
C.6.2 DC Voltage Source (ElmVdc)
The ElmVdc is used to represent DC Voltage sources (single phase or three phase).
The description of the AC voltage source model, presenting the relations among the input parameters
and the possible types is given in the attached Technical Reference Paper: DC Voltage Source
C.6.3 AC Current Source (ElmIac)
1032 DIgSILENT PowerFactory 15, User Manual
C.6. SOURCES
The ElmIac is used to represent AC Current sources (only three phase model is supported). The
description of the AC current source model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: AC Current Source
C.6.4 DC Current Source (ElmDci)
The ElmDci models a direct current sources (three phase).
The description of the DC current source model, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: DC Current Source
C.6.5 Impulse Source (ElmImpulse)
The Impulse Source element (ElmImpulse) is used to represent a lightning strike current waveform.
It is modelled in PowerFactory as a current impulse source. It is a single-phase, single-port element
and it can be connected to any AC terminal. The Impulse Source element is relevant mainly for EMT
(instantaneous values) simulations and for Unbalanced Load Flow calculation.
For a detailed description of the Impulse source model the reader is referred to the technical reference:
Impulse Source.
C.6.6 DC Battery (ElmBattery)
The DC battery element is based on the DC Voltage source element and provides additional features
specic for DC batteries (e.g. support to DC Short Circuit calculations, etc).
For a detailed description of the DC battery the reader is referred to the technical reference: DC Battery.
C.6.7 DC Machine (ElmDcm)
The DC Machine element (ElmDcm) can be used to represent a direct-current generator or a direct-
current motor. This one-port element can be connected to dc terminals only. The DC Machine can be
used for Load Flow and DC Short-Circuit calculations and RMS and EMT simulations.
For a detailed description of the DC machine model the reader is referred to the technical reference:
DC Machine.
C.6.8 External Network (ElmXnet)
Object used to represent external networks.
The description of the external network model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: External Network
C.6.9 Fourier Source (ElmFsrc)
Fourier source element, used to generate periodical signals in the frequency domain.
The description of the Fourier source model, presenting the relations among the input parameters is
given in the attached Technical Reference Paper: Fourier Source
DIgSILENT PowerFactory 15, User Manual 1033
APPENDIX C. TECHNICAL REFERENCES OF MODELS
C.7 Measurement Devices
C.7.1 Current Measurement (StaImea)
The description of the current measurement model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper: Current Measurement
C.7.2 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: Power Measurement
C.7.3 Voltage Measurement (StaVmea)
The description of the voltage measurement model, presenting the relations among the input parame-
ters is given in the attached Technical Reference Paper: Voltage Measurement
C.7.4 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: Phase Measurement Device
C.7.5 Measurement File (ElmFile)
Object used to read data from a le during calculations.
The description of the measurement le element, presenting the functionality of the input parameters is
given in the attached Technical Reference Paper: Measurement File
C.8 Digital Devices
C.8.1 Digital Clock (ElmClock)
Object used to represent clock inputs.
The description of the clock model, presenting the relations among the input parameters is given in the
attached Technical Reference Paper: Clock
C.8.2 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.
The complete description of the Register model is given in the attached Technical Reference Paper:
Register
1034 DIgSILENT PowerFactory 15, User Manual
C.9. ANALYSIS FUNCTIONS
C.8.3 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.
The complete description of the Sample and Hold model is given in the attached Technical Reference
Paper: Sample and Hold
C.8.4 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.
The complete description of the Trigger model is given in the attached Technical Reference Paper:
Trigger
C.9 Analysis Functions
C.9.1 Fast Fourier Transform (ElmFft))
Object used to represent fast Fourier transforms.
The description of the fast Fourier transformmodel, presenting the relations among the input parameters
is given in the attached Technical Reference Paper: Fast Fourier Transformation
C.10 Miscellaneous
C.10.1 Surge Arrester (StaSua)
Object used to represent MOV Surge Arrester.
The complete description of the Surge Arrester model is given in the attached Technical Reference
Paper: Surge Arrester
DIgSILENT PowerFactory 15, User Manual 1035
APPENDIX C. TECHNICAL REFERENCES OF MODELS
1036 DIgSILENT PowerFactory 15, User Manual
Appendix D
DPL Reference
D.1 Class Index
This table the list of all the Classes with the corresponding DPL Methods available for each Class. Each
method has a link to where it is declared and documented.
Class Index
ComDpl Execute
ComEcho
EchoOn
EchoOff
ComImport
GetCreatedObjects
GetModicdObjects
ComInc Execute
ComLink
ReciveData
SendData
ComMerge
CheckAssignments
Compare
CompareActive
ExecuteRecording
ExecuteWithActiveProject
GetCorrespondingObject
GetModication
GetModicationResult
GetmodiedObjects
Merge
PrintComparisionReport
PrintModications
Reset
SetAutoAssignmentForAll
SetObjectsToCompare
ShowBrowser
WereModicationsFound
DIgSILENT PowerFactory 15, User Manual 1037
APPENDIX D. DPL REFERENCE
Class Method
ComNmink
AddRef
Clear
GetAll
ComOutage
GetObject
RemoveEvents
SetObjs
ComRel3
AnalyseElmRes
CreateFaultCase
RemoveEvents
RemoveOutage
Execute
ComRes
ExportFullRange
FileNmResNm
ComShc Execute
ComSimoutage
AddCntcy
Execute
ExecuteCntcy
ReportObjs
Reset
SetLimits
1038 DIgSILENT PowerFactory 15, User Manual
D.1. CLASS INDEX
Class Method
ComTablereport
AddColumn
AddCurve
AddHeader
AddInvisibleFilter
AddListFilter
AddListFilterEntires
AddPlot
AddRow
AddTable
AddTextFilter
AddXLabel
DisableAutomaticRowNumbering
EnableAutomaticRowNumbering
SetBarLimits
SetCellAccess
SetCellEdit
SetCellValueToBar
SetCellValueToCheckbox
SetCellValueToDate
SetCellValueToDouble
SetCellValueToInt
SetCellValueToObject
SetCellValueToString
SetColumnHeader
SetCurveValue
SetDialogSize
SetListFilterSelection
SetNumberFormatForPlot
SetSorting
SetStatusText
SetTextAxisDistForPlot
SetTicksForPlot
SetTitle
ComUcteexp BuildNodeNames
ElmAsm GetAvailableGenPower
ElmAsmsc GetAvailableGenPower
ElmBay GetAll
ElmBoundary
IsSplitting
AddCubicle
Clear
GetInterior
ElmComp Slotupd
DIgSILENT PowerFactory 15, User Manual 1039
APPENDIX D. DPL REFERENCE
Class Method
ElmCoup
Close
GetRemoteBreakers
IsBreaker
IsClosed
IsOpen
Open
ElmFeeder
GetAll
GetBranches
GetBuses
GetNodesBranches
GetObjs
ElmLne
CreateFeederWithRoutes
FitParams
GetType
GetY0m
GetY1m
GetZ0m
GetZ1m
HasRoutes
HastFoutesOrSec
IsCable
IsNetCoupling
SetCorr
SetDetailed
ElmNet
Activate
CalculateInterchangeTo
Deactivate
ElmRes
AddVars
Clear
Draw
Flush
GetObj
GetResData
Init
LoadResData
ReleaseResData
ResFirstValidObject
ResFirstValidObjectVar
ResFirstValidVar
ResIndex
ResNextValidObject
ResNextValidObjectVar
ResNextValidVar
ResNval
ResNvars
SetAsDefault
Write
1040 DIgSILENT PowerFactory 15, User Manual
D.1. CLASS INDEX
Class Method
WriteDraw
ElmStactrl
GetControlledHVNode
GetControlledLVNode
GetSetupTransformer
ElmSubstat
GetSplit
GetSplitCal
GetSplitIndex
OverwriteRA
ResetRA
SaveAsRA
SetRA
ElmSym
Disconnect
GetAvailableGenPower
IsConnected
Reconnect
ElmTerm
GetMinDistance
GetNextHVBus
IsElectrEquivalent
IsEquivalent
ElmTow
FitParams
PrintFreqDepParams
ElmTr IsQuadBooster
ElmZone
GetAll
GetBranches
GetBuses
GetNodes
GetObjs
IntCase
Activate
Deactivate
Reduce
IntDplmap
Clear
Contains
First
GetValue
Insert
Next
Remove
Size
Update
DIgSILENT PowerFactory 15, User Manual 1041
APPENDIX D. DPL REFERENCE
Class Method
IntDplvec
Clear
Get
IndexOf
Insert
Remove
Size
Sort
IntEvt CreateCBEvents
IntForm
SetText
WriteOut
IntMat
ColLbl
Get
Init
Invert
Multiply
NCol
NRow
Resize
RowLbl
Set
SortToColumn
IntMon
AddVar
ClearVars
GetVar
NVars
PrintAllVal
PrintVal
RemoveVar
IntPlot
SetAdaptY
SetAutoScaleY
SetScaleY
IntPrj
Activate
Deactivate
GetLatestVersion
HasExternalReferences
Migrate
Purge
UpdateStatistics
IntPrjfolder
GetProjectFolderType
IsProjectFolderType
1042 DIgSILENT PowerFactory 15, User Manual
D.1. CLASS INDEX
Class Method
IntScenario
Activate
Apply
Deactivate
GetObjects
Save
IntSstage Activate
IntThrating
GetCriticalTimePhase
GetRating
IntUser
Purge
SetPassword
IntUseman
CreateGroup
CreateUser
GetGroups
GetUsers
IntVariant
Activate
Deactivate
Reduce
IntVec
Get
Init
Resize
Set
Size
IntVersion
CreateDerivedProject
Rollback
DIgSILENT PowerFactory 15, User Manual 1043
APPENDIX D. DPL REFERENCE
Class Method
Object
AddCopy
CreateObject
Delete
Edit
GetChildren
GetClass
GetConnectedElms
GetConnectionCount
GetContents
GetControlledNode
GetCubicle
GetFullName
GetNet
GetNode
GetOperator
GetOwner
GetParent
GetReferences
GetSize
GetUserAttribute
GetVal
HasResults
Inom
IsClass
IsEarthed
IsEnergized
IsInFeeder
IsNode
IsOutOfService
IsReducible
IsRelevant
lnm
MarkInGraphics
Move
PasteCopy
GetSystemGround
SetSize
SetVal
ShowFullName
ShowModalSelectTree
snm
StochEvt
unm
Unom
VarExists
1044 DIgSILENT PowerFactory 15, User Manual
D.1. CLASS INDEX
Class Method
Set
Add
Clear
Count
First
FirstFilt
Firstmatch
IsIn
MarkInGraphics
Next
NextFilt
Nextmatch
Obj
OutputFlexibleData
Remove
ShowModalBrowser
ShowModalSelectBrowser
ShowModelessBrowser
SortToClass
SortToName
SortToVar
SetDesktop
AddPage
DoAutoScaleX
GetPage
SetAdaptX
SetAutoScaleX
SetResults
SetScaleX
SetXVar
Show
WriteWMF
SetFeeder
GetAll
GetBranches
GetBuses
SetFilt Get
SetLevelvis
AdaptWidth
Aling
ChangeFont
ChangeFrameAndWidth
ChangeLayer
ChangeRefPoints
Mark
Reset
DIgSILENT PowerFactory 15, User Manual 1045
APPENDIX D. DPL REFERENCE
Class Method
SetPath
AllBreakers
AllClosedBreakers
AllOpenBreakers
GetAll
GetBranches
GetBuses
SetSelect
AddRef
All
AllAsm
AllBars
AllBreakers
AllClosedBreakers
AllElm
AllLines
AllLoads
AllOpenBreakers
AllSym
AllTypLne
Clear
GetAll
SetTime
Date
SetTime
SetTimeUTC
Time
SetVipage
DoAutoScaleX
DoAutoScaleY
GetScaleObjX
GetVI
SetAdaptX
SetAutoScaleX
SetDefScaleX
SetResults
SetScaleX
SetStyle
SetTile
SetXVar
StaCubic
AddBreaker
RemoveBreaker
GetAll
GetConnectedMajorNodes
StaSwitch
Close
IsClosed
IsOpen
Open
TypAsm CalcElParams
TypAsmo CalcElParams
1046 DIgSILENT PowerFactory 15, User Manual
D.2. DPL METHODS AND FUNCTIONS
Class Method
TypLne
IsCable
SetNomCur
Variations
Activate
Deactivate
NewStage
CreateStageObject
GetActiveScheduler
VisFft DoAutoScaleX
VisPlot
AddResVar
AddVars
Clear
DoAutoScaleX
DoAutoScaleY
GetScaleObjX
GetScaleObjY
SetAdaptX
SetAdaptY
SetAutoScaleX
SetAutoScaleY
SetCrvDesc
SetDefScaleX
SetDefScaleY
SetScaleX
SetScaleY
SetXVar
VisPlot2 DoAutoScaleY2
D.2 DPL Methods and Functions
This is the list of all documented methods and global functions in DPL. Each method is linked to the
class or header le where it is documented.
DPL Methods & Functions
Activate
ElmNet
IntCase
IntPrj
IntScenario
IntScheme
IntSstage
IntVariant
ActiveCase Global
AdaptWidth SetLevelvis
Add Set
AddBreaker StaCubic
DIgSILENT PowerFactory 15, User Manual 1047
APPENDIX D. DPL REFERENCE
Function Class
AddCntcy ComSimoutage
AddColumn ComTablereport
AddCopy Object
AddCubicle ElmBoundary
AddCurve ComTablereport
AddHeader ComTablereport
AddInvisibleFilter ComTablereport
AddListFilter ComTablereport
AddListFilterEntires ComTablereport
AddPage ActiveCase
AddPlot ComTablereport
AddRef
ComNmink
SetSelect
AddResVars VisPlot
AddVars
ElmRes
VisPlot
AddXLabel ComTablereport
Aling SetLevelvis
All SetSelect
AllAsm SetSelect
AllBars SetSelect
AllBreakers
SetPath
SetSelect
AllClosedBreakers
SetPath
SetSelect
AllElm SetSelect
AllLines SetSelect
AllLoads SetSelect
AllOpenBreakers
SetPath
SetSelect
AllRelevant AllRelevant
AllSym SetSelect
AllTypLne SetSelect
AnalyseElmRes ComRel3
Apply IntScenario
BuildNodeNames ComUcteexp
CalcElParams
TypAsm
TypAsmo
CalculateInterchangeTo ElmNet
ChangeFont SetLevelvis
ChangeFrameAndWidth SetLevelvis
ChangeLayer SetLevelvis
ChangeRefPoints SetLevelvis
CheckAssignments SetLevelvis
1048 DIgSILENT PowerFactory 15, User Manual
D.2. DPL METHODS AND FUNCTIONS
Function Class
Clear
ComNmink
ElmRes
IntDplmap
IntDplvec
Set
SetSelect
VisPlot
ElmBoundary
ClearCommands Global
ClearOutput Global
ClearVars IntMon
Close
ElmCoup
StaSwitch
ColLbl IntMat
Compare ComMerge
CompareActive ComMerge
Contains IntDplmap
Count Set
CreateCBEvents IntEvt
CreateDerivedProject IntVersion
CreateFaultCase ComRel3
CreateFeederWithRoutes ElmLne
CreateGroup IntUserman
CreateObject Object
CreateStageObject Variations
CreateUser IntUserman
Date SetTime
Deactivate
ElmNet
IntCase
IntPrj
IntScenario
IntScheme
IntVariant
Delete Object
DisableAutomaticRowNumbering ComTablereport
Disconnect ElmSym
DoAutoScaleX
SetDesktop
SetVisPage
VisFft
VisPlot
DoAutoScaleY
SetVisPage
VisPlot
DoAutoScaleY2 VisPlot2
Draw ElmRes
EnableAutomaticRowNumbering ComTablereport
Error Global
Exe Global
DIgSILENT PowerFactory 15, User Manual 1049
APPENDIX D. DPL REFERENCE
Function Class
Execute
ComDpl
ComInc
ComLdf
ComRel3
ComShc
ComSimoutage
ExecuteCntcy ComSimoutage
ExecuteRecording ComMerge
ExecuteWithActiveProject ComMerge
Exit Global
ExportFullRange ComRes
fclose Global
fush Global
FileNmResNm ComRes
First
IntDplmap
Set
FirstFilt Set
Firstmatch Set
FitParams
ElmLne
ElmTow
Flush ElmRes
fopen Global
FormatDateLT FormatDateLT
FormatDateUCT FormatDateUCT
fprintf fprintf
fRand Global
fscanf Global
fscanfsep Global
fWrite Global
Get
IntDplvec
IntMat
IntVec
SetFilt
GetActiveNetworkVariations GetActiveNetworkVariations
GetActiveProject GetActiveProject
GetActiveScenario GetActiveScenario
GetActiveScheduler Variations
GetActiveStages GetActiveStages
GetActiveStudyCase GetActiveStudyCase
1050 DIgSILENT PowerFactory 15, User Manual
D.2. DPL METHODS AND FUNCTIONS
Function Class
GetAll
ComNmink
ElmBay
ElmFeeder
ElmZone
SetFeeder
SetPath
SetSelect
StaCubic
GetAvailableGenPower
ElmAsm
ElmAsmsc
ElmSym
GetBorderCubicles GetBorderCubicles
GetBranches
ElmFeeder
ElmZone
SetFeeder
SetPath
GetBuses
ElmFeeder
ElmZone
SetFeeder
SetPath
GetCaseCommand Global
GetCaseObject Global
GetChildren Object
GetClass Object
GetConnectedElms Object
GetConnectedMajorNodes StaCubic
GetConnectionCount Object
GetContents Object
GetControlledHVNode ElmStactrl
GetControlledLVNode ElmStactrl
GetControlledNode Object
GetCorrespondingObject ComMerge
GetCreatedObjects ComImport
GetCriticalTimePhase IntThrating
GetCubicle Object
GetDataFolder GetDataFolder
GetFlowOrientation Global
GetFullName Object
GetGlobalLib Global
GetGraphBoard GetGraphBoard
GetGroups IntUserman
GetInterior ElmBoundary
GetLanguage Global
GetLatestVersion IntPrj
GetLocalLib Global
GetMinDistance ElmTerm
GetModication ComMerge
DIgSILENT PowerFactory 15, User Manual 1051
APPENDIX D. DPL REFERENCE
Function Class
GetModicationResult ComMerge
GetModiedObjects
ComImport
ComMerge
GetNet Object
GetNextHVBus ElmTerm
GetNode Object
GetNodes ElmZone
GetNodesBranches ElmFeeder
GetObj ElmRes
GetObject ComOutage
GetObjects InScenario
GetObjs
ElmFeeder
ElmZone
GetOperator Object
GetOwner Object
GetPage SetDesktop
GetPageLen Global
GetParent Object
GetPFVersion Global
GetProjectFolder Global
GetProjectFolderType IntPrjfolder
GetRating IntThrating
GetRecordingStage Global
GetReferences Object
GetRemoteBreakers ElmCoup
GetResData ElmRes
GetScaleObjX
SetVisPage
VisPlot
GetScaleObjY VisPlot
GetSettings Global
GetSystemGround Object
GetSize Object
GetSplit ElmSubstat
GetSplitCal ElmSubstat
GetSplitIndex ElmSubstat
GetSetupTransformer ElmStactrl
GetSystemTime Global
GetTime Global
GetType ElmLne
GetUserAttribute Object
GetUserManager Global
GetUsers IntUserman
GetVal Object
GetValue IntDplmap
GetVar IntMon
GetVersions IntPrj
GetVI SetVisPage
1052 DIgSILENT PowerFactory 15, User Manual
D.2. DPL METHODS AND FUNCTIONS
Function Class
GetY0m ElmLne
GetY1m ElmLne
GetZ0m ElmLne
GetZ1m ElmLne
HasExternalReferences IntPrj
HasResults Object
HasRoutes ElmLne
HastFoutesOrSec ElmLne
IndexOf IntDplvec
Info Global
Init
ElmRes
IntMat
IntVec
Inom Object
Insert
IntDplmap
IntDplvec
Invert IntMat
IsBreaker ElmCoup
IsCable
ElmLne
TypLne
IsClass Object
IsClosed
ElmCoup
StaSwitch
IsConnected ElmSym
IsEarthed Object
IsElectrEquivalent ElmTerm
IsEnergized Object
IsEquivalent ElmTerm
IsIn Set
IsInFeeder Object
IsNetCoupling ElmLne
IsNode Object
IsOpen
ElmCoup
StaSwitch
IsOutOfService Object
IsProjectFolderType IntPrjfolder
IsQuadBooster ElmTr
IsReducible Object
IsRelevant Object
IsSplitting ElmBoundary
Inm Object
LoadResData ElmRes
Mark SetLevelvis
MarkInGraphics
Object
Set
Merge ComMerge
Migrate IntPrj
DIgSILENT PowerFactory 15, User Manual 1053
APPENDIX D. DPL REFERENCE
Function Class
Move Object
Multiply IntMat
NCol IntMat
Next
IntDplmap
Set
NewStage IntScheme
NextFilt Set
NextMatch Set
NoFinalUpdate NoFinalUpdate
NRow IntMat
NVars IntMon
Obj Set
Open
ElmCoup
StaSwitch
OutputFlexibleData Set
OverwriteRA ElmSubstat
ParseDateLT Global
ParseDateUTC Global
PasteCopy Object
PostCommand Global
PrintAllVal IntMon
PrintComparisionReport ComMerge
printf Global
PrintFreqDepParams ElmTow
PrintModications ComMerge
PrintVal IntMon
Purge
IntPrj
IntUser
Random Random
Rebuild Rebuild
ReceiveData ComLink
Reconnect ElmSym
Reduce
IntCase
IntVariant
ReleaseResData ElmRes
Remove
IntDplmap
IntDplvec
Set
RemoveEvents
ComOutage
ComRel3
RemoveBreaker StaCubic
RemoveOutages ComRel3
RemoveVar IntMon
ReportObjs ComSimoutage
Reset
ComMerge
ComSimoutage
SetLevelvis
1054 DIgSILENT PowerFactory 15, User Manual
D.2. DPL METHODS AND FUNCTIONS
Function Class
ResetCalculation Global
ResetRA ElmSubstat
ResFirstValidObject ElmRes
ResFirstValidObjectVar ElmRes
ResFirstValidVar ElmRes
ResIndex ElmRes
Resize
IntMat
IntVec
ResNextValidObject ElmRes
ResNextValidObjectVar ElmRes
ResNextValidVar ElmRes
ResNvar ElmRes
ResNvars ElmRes
Rollback IntVersion
RowLbl IntMat
Save IntScenario
SaveAsRA ElmSubstat
SaveScenarioAs Global
SearchObjectByForeignKey Global
SendData ComLink
Set
IntMat
IntVec
SetAdaptX
SetDesktop
SetVisPage
VisPlot
SetAdaptY
IntPlot
VisPlot
SetAsDefault ComRes
SetAutoAssignmentForAll ComMerge
SetAutoScaleX
SetDesktop
SetVisPage
VisPlot
SetAutoScaleY
IntPlot
VisPlot
SetBarLimits ComTablereport
SetCellAccess ComTablereport
SetCellEdit ComTablereport
SetCellValueToBar ComTablereport
SetCellValueToCheckbox ComTablereport
SetCellValueToDate ComTablereport
SetCellValueToDouble ComTablereport
SetCellValueToInt ComTablereport
SetCellValueToObject ComTablereport
SetCellValueToString ComTablereport
SetColumnHeader ComTablereport
SetConsistencyCheck SetConsistencyCheck
SetCorr ElmLne
DIgSILENT PowerFactory 15, User Manual 1055
APPENDIX D. DPL REFERENCE
Function Class
SetCrvDesc VisPlot
SetCurvevalue ComTablereport
SetDefScaleX
SetVisPage
VisPlot
SetDefScaleY VisPlot
SetDetailed ElmLne
SetDialogSize ComTablereport
SetDiffMode Global
SetGraphicUpdate Global
SetLimits ComSimoutage
SetLineFeed Global
SetListFilterSelection ComTablereport
SetNomCurr TypLne
SetNumberFormatForPlot ComTablereport
SetObjectsToCompare ComMerge
SetObjs ComOutage
SetOutputWindowState Global
SetPassword IntUser
SetRA ElmSubstat
SetRandSeed Global
SetResults
SetDesktop
SetVisPage
SetScaleX
SetDesktop
SetVisPage
VisPlot
SetScaleY
IntPlot
VisPlot
SetShowAllUsers Global
SetSize Object
SetSorting ComTablereport
SetStatusText ComTablereport
SetStyle SetVisPage
SetText IntForm
SetTextAxisDistForPlot ComTablereport
SetTicksForPlot ComTablereport
SetTile SetVisPage
SetTime Global
SetTimeUTC SetTime
SetTitle ComTablereport
SetVal Object
SetXVar
SetDesktop
SetVisPage
VisPlot
Show SetDesktop
ShowBrowser ComMerge
ShowFullName Object
ShowModalBrowser Set
1056 DIgSILENT PowerFactory 15, User Manual
D.2. DPL METHODS AND FUNCTIONS
Function Class
ShowModalSelectBrowser Set
ShowModalSelectTree Object
ShowModelessBrowser Set
Size
IntDplmap
IntDplvec
IntVec
Slotupd ComMerge
snm Object
Sort IntDplvec
SortToClass Set
SortToColumn IntMat
SortToName Set
SortToVar Set
sprintf Global
sscanf Global
sscanfsep Global
StochEvt Object
strchg Global
strcmp Global
strcpy Global
strftime Global
strlen Global
strstr Global
strtok Global
SummaryGrid SummaryGrid
SetTime Time
ToStr Global
unm Object
Unom Object
Update IntDplmap
UpdateStatistics IntPrj
validLDF Global
validLDF Global
validRMS Global
validSHC Global
validSIM Global
VarExists Object
Warn Global
WereModicationsFound ComMerge
Write
ElmRes
Output Window
WriteDraw ElmRes
WriteOut IntForm
WriteWMF SetDesktop
DIgSILENT PowerFactory 15, User Manual 1057
APPENDIX D. DPL REFERENCE
D.3 General Functions and Methods
Object Functions and methods available for all objects.
General Set Functions and methods available for sets.
String Functions related to strings.
Time and Date Functions related to time and date formatting.
Output Window Functions related to the output window.
File Functions related to le output.
Miscellaneous Additional functions.
D.3.1 Object
The following list is an overview of all functions and methods which are available for all objects.
AddCopy Adds a copy of an object.
CreateObject Creates a new object.
Delete Deletes an object.
Edit Opens the object dialogue.
SearchObjectByForeignKey Searches for an object by foreign key within an active
project.
GetCaseObject Returns the found class object from current study case.
GetChildren Returns a set of objects that are stored within the called
object.
GetClass Returns the class name of an object.
GetConnectionCount Returns the number of electrical connections.
GetConnectedElms Returns the set of connected elements.
GetContents Returns the stored objects.
GetControlledNode Returns the target terminal and the resulting target voltage.
GetCubicle Returns the objects cubicle.
GetFullName Returns the full database path and name.
GetNet Returns the grid in which the object is located.
GetNode Returns the node(s) connected to an object.
GetOperator Returns the object operator.
GetOwner Returns the object owner.
GetParent Returns the parent folder.
GetReferences Returns a set of all referenced objects.
GetSystemGround Returns the grounding type employed in the grounding
area of the grid the object belongs to.
GetSize Get the size of a vector or matrix variable.
GetUserAttribute Offers read-access to user-dened attributes.
GetVal Returns the value of a parameter.
HasResults Checks if the object has result parameters.
IsClass Checks if the object is of a certain class.
IsEarthed Checks if a network component is earthed.
IsEnergized Checks if a network component is energized.
IsInFeeder Returns if the object belongs to the feeder.
IsNode Checks if the object is a busbar or terminal.
IsOutOfService Returns if the object is out of service.
IsReducible Checks if an object can be reduced in a network reduction.
IsRelevant Returns if the object is used for calculations.
1058 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
MarkInGraphics Marks the object in the graphic.
Move Moves an objects to this folder.
PasteCopy Pastes a copy of the given object(s).
SetSize Sets the size of a vector or matrix variable 'VarName'.
SetVal Sets the value of a vector or matrix variable 'VarName'for
a given row and column.
ShowFullName Prints the full database path and name.
ShowModalSelectTree Shows a tree view dialog hierarchically listing currently
available PowerFactory objects.
StochEvt Returns the rst or the next state of a stochastic object.
VarExists Checks a variable name.
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.
D.3.1.1 object.AddCopy
object object.AddCopy (set aSet | object aObj [, string | int NM1, ...])
Copies a single object or a set of objects to the target object. Fold.AddCopy(aObj)" copies object
'aObj'into the target object 'Fold', Fold.AddCopy(aSet)" copies all objects in 'aSet'to Fold".
Fold.AddCopy(aObj, nm1, nm2, ...)" will copy aObj and rename it to the result of the concatenation of
'nm1', 'nm2', etc.
The target object must be able to receive a copy of the objects. The function Fold.AddCopy(aObj,...)"
returns the copy of aObj", Fold.AddCopy(aSet)" returns Fold", when the copy operation was success-
ful. A NULL" object is returned otherwise.
Copying a set of objects will respect all internal references between those objects. Copying a set of
lines and their types, for example, will result in a set of copied lines and line types, where the copied
lines will use the copied line types.
Arguments:
set aSet (obligatory) : The set of objects to copy
or
object aObj (obligatory) : The object to copy
string | int NM1 (optional) : The rst part of the new name
string | int NM2 (optional) : The next part of the new name
...
Return value:
Returns the copy that has been created.
Example:
The following example copies a fuse to a set of cubicles. The copies will be named Fuse Nr.0", Fuse
Nr.1", etc.
object target, copy;
set Cubs;
Cubs = SEL.GetAll('StaCubic');
target = Cubs.First();
DIgSILENT PowerFactory 15, User Manual 1059
APPENDIX D. DPL REFERENCE
while (target) {
copy = target.AddCopy(aFuse, 'Fuse Nr', n);
if (copy) copy.ShowFullName();
target = Cubs.Next();
}
D.3.1.2 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 name it to the result of the concatenation of 'nm1', 'nm2', etc.
Arguments:
string ClassNm (obligatory) : The class name of the object to create
string | int NM1 (optional) : The rst 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;
}
D.3.1.3 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
Return value:
1060 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
none
Example:
The following example removes all Dummy" fuses from the network. The 'DummyType'variable is a
local variable in the DPL script. A set of objects to delete is created rst and then that set is deleted.
This has the advantage that one single entry in the recycle bin is created which contains all deleted
fuses. Manually restoring ('undelete') the deleted fuses, in case of a mistake, can then be done using a
single restore command.
object O;
set S, Del;
S = AllRelevant();
O = S.Firstmatch('RelFuse');
while (O) {
if (O:typ_id=DummyType) {
Del.Add(O);
}
O = S.Nextmatch();
}
Delete(Del);
D.3.1.4 object.Edit
int object.Edit ()
Opens the edit dialogue of the object. Command objects (such as ComLdf ) will have their Execute
button disabled. The execution of the running DPL script will be halted until the edit dialogue is closed
again.
Editing of DPL command objects (ComDPL) is not allowed.
Arguments:
none
Return value:
1: edit dialogue was cancelled by the user
0: otherwise
Example:
The following example opens a line dialogue, prior to calculating a load ow.
MyLine.Edit(); Ldf.Execute();
D.3.1.5 GetCaseObject
object GetCaseObject ([string ClassName])
Returns the rst found object of class ClassName" from the currently active study case. The object is
created when no object of the given name and/or class was found.
Returns the default command object of class ClassName" from the currently active calculation case.
Initializes newly created commands according to the project settings.
DIgSILENT PowerFactory 15, User Manual 1061
APPENDIX D. DPL REFERENCE
The icons on the main menu for load-ow, short-circuit, transient simulation, etc., also open the corre-
sponding 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 exe-
cutes the load ow command with the name 'Unbalanced'.
object time, com;
time = GetCaseObject('SetTime');
time:hourofyear = 1234;
com = GetCaseObject('Unbalanced.ComLdf');
com.Execute();
D.3.1.6 SearchObjectByForeignKey
object SearchObjectByForeignKey (string fkey)
Searches for an object by foreign key within an active project.
Arguments:
string fkey (obligatory) : Foreign key
Return value:
Object if found, otherwise NULL.
Example:
The following example shows how to search for an object by foreign key:
object obj;
obj = SearchObjectByForeignKey('fkey ');
printf('Object found: %o ', obj);
D.3.1.7 object.GetChildren
set object.GetChildren(int hiddenMode [, string lter, int subfolders])
This function returns a set of objects that are stored within the object the function was called on. In
contrast to GetContents() this function gives access to objects that are currently hidden due to scheme
management.
1062 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
Arguments:
int hiddenMode (obligatory) : Determines how hidden objects are handled.
0 Hidden objects are ignored and not added to the set
1 Hidden objects are treated as normal objects
2 Hidden objects are returned
string lter (optional) : Name lter, possibly containing '*'and '?'characters (see also GetContents D.3.1.11)
int subfolder (optional)
0 (Default), the DPL command will only search object o
1 The DPL command will additionally search all subfolders
Return value:
Set of objects that are stored in the called object.
Example:
The following example lists all contained terminals for each substation:
object obj, substat;
set objs, substats;
!lists all contained terminals for each substation
substats = AllRelevant('
*
.ElmSubstat');
for (substat = substats.First(); substat; substat = substats.Next()){
objs = substat.GetChilden(0, '
*
.');
printf('Terminals of substation %o', substat);
for (obj = objs.First(); obj; obj = objs.Next()){
printf('%o', obj);
}
}
D.3.1.8 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());
DIgSILENT PowerFactory 15, User Manual 1063
APPENDIX D. DPL REFERENCE
if (i) {
output('Both sets start with the same class');
}
D.3.1.9 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 to which a 3-winding transformer is connected
aSet = AllRelevant('
*
.ElmTr3');
for (pObj=aSet.First(); pObj; pObj=aSet.Next()) {
iCount = pObj.GetConnectionCount();
for (iCub=0; iCub<iCount; iCub=iCub+1) {
pCub=pObj.GetCubicle(iCub);
if (pCub) {
pBus = pCub:cBusBar;
if (pBus) {
pBus.ShowFullName();
}
}
}
}
D.3.1.10 object.GetConnectedElms
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 returned when rBrk and/or
rDis is zero, in the case of open breakers and/or disconnectors. The default values are (0,0,0).
Arguments:
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.
1064 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.1.11 object.GetContents
set object.GetContents ([string Name, int Contents])
Returns the set of objects that are stored in the object and whose name matches the argument name.
Returns an empty set if the object's container is empty, or if the object is not capable of storing objects.
The argument name may contain the complete name and classname, or parts of the name with wildcard
and class name.
Arguments:
string Name (optional) : loc name.class name, name possibly contains wildcards: '*'and '?'characters
int Contents (optional) : if Contents = 1, the DPL command will additionally search all subfolders. If
Contents = 0 (Default), the DPL command will only search object o.
Return value:
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
*
)
! in all pGrd and subfolders of pGrd
Lines = pGrd.GetContents('
*
.ElmLne
*
',1);
pLne = Lines.First();
while (pLne) {
pLne.ShowFullName();
pLne = Lines.Next();
}
pGrd = Grids.Next();
}
D.3.1.12 object.GetControlledNode
object object.GetControlledNode (int bus, double targetVoltage [, int check])
Returns the target terminal and the resulting target voltage for generators and other voltage regulating
units.
Arguments:
int bus (obligatory) :
DIgSILENT PowerFactory 15, User Manual 1065
APPENDIX D. DPL REFERENCE
-1 currently controlled bus
0 HV bus
1 MV/ LV bus
2 LV bus
Table D.3.3
double targetVoltage (obligatory) : The output parameter will be set to the target voltage
int check (optional) :
0 (default) it is not checked if the control mode is set to voltage control
1 Controlled node only returned if the control mode is set to voltage control
Table D.3.4
Return value:
Controlled node, NULL if no controlled terminal exists (or not voltage controlled if check=1)
Example:
set objs;
object obj, node;
double vtarget;
objs = AllRelevant();
! list all regulating units
printf('V Regulating Unit: Controlled Node: Target Voltage:');
for (obj = objs.First(); obj; obj = objs.Next()){
node = obj.GetControlledNode(-1, vtarget);
if (node){
printf('%20s %20s %f', obj, node, vtarget);
}
}
D.3.1.13 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.
1066 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.1.14 object.GetFullName
string object.GetFullName ([int type])
Returns the complete path and name as a string.
Arguments:
int type (optional)Is used to determine the format of the returned name.
not given The full name is returned without any special formatting.
'0' The returned string has the same format as used in
method ShowFullName().
> 0 (but less or equal to 190) Formats the string to exactly this length. This string is click-
able if printed to the output window.
Table D.3.5
Return value:
The full name of the object.
Example:
str = obj.GetFullName();
printf('%s', str);
!Output:
!\Support.IntUser\Example Hierarchy 6.IntPrj \Network
!Model.IntPrjfolder \Network Data.IntPrjfolder \Small Network.ElmNet \400
kV
!Drakelow\SGT3A.ElmTr3
str = obj.GetFullName(0);
printf('%s', str);
!Output:
!'Network Model\Network Data \Small Network \400 kV Drakelow \SGT3A.ElmTr3'
str = obj.GetFullName(30);
printf('%s', str);
!Output:
(!'400 kV Drakelow \SGT3A.ElmTr3'%s (again)',s); ! print again:
D.3.1.15 object.GetNet
object object.GetNet()
Returns the grid in which the object is located.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1067
APPENDIX D. DPL REFERENCE
none
Return value:
The result object or NULL, if the current object is not stored in any grid.
D.3.1.16 object.GetNode
object object.GetNode (int iBusNo, int iSw)
Returns the node(s) connected to the object.
Arguments:
int iBusNo (obligatory) : Bus number (0,1) int iSw (obligatory) : Considering conguration of switches
(0,1), Default=0
Return value:
Connected node object
D.3.1.17 object.GetOperator
object object.GetOperator ()
Returns the objects operator.
Arguments:
none
Return value:
Objects operator:
- If the object has a set pOperator attribute: the object set at the pOperator" attribute
- Else if a parent element has a set pOperator" attribute: the operator object inherited from the next
parent element
- Else: NULL
D.3.1.18 object.GetOwner
object object.GetOwner ()
Returns the objects owner.
Arguments:
none
Return value:
Objects owner:
- If the object has a set pOwner attribute: the object set at the pOwner" attribute
- Else if a parent element has a set pOwner" attribute: the owner object inherited from the next parent
element
- Else: NULL
1068 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.1.19 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 GetBestLine()" is an
example DPL script which returns a line.
object Lne, Fold;
Lne = GetBestLine();
Fold = Lne.GetParent();
...
See also GetContents D.3.1.11
D.3.1.20 object.GetReferences
set object.GetReferences ([string lter])
Returns a set containing all objects with references to the object the method was called on.
Arguments:
string lter (optional) : Object lter to get only objects whose name matches this lter string, e.g. '*.'.
Return value:
Set of referenced objects.
Example:
The following example returns all relevant objects of class 'TypBar':
set objs, refs;
object obj1, obj2;
objs = AllRelevant('
*
.TypBar');!get all relevant objects of class TypBar
for (obj1 = objs.First(); obj1; obj1 = objs.Next()) {
printf('Object referencing to %o', obj1);
refs = obj1.GetReferences();
for (obj2 = refs.First(); obj2; obj2 = refs.Next()){
obj2.ShowFullName();
}
}
DIgSILENT PowerFactory 15, User Manual 1069
APPENDIX D. DPL REFERENCE
D.3.1.21 object.GetSystemGround
int object.GetSystemGround(void)
Returns the grounding type employed in the grounding area of the grid the object belongs to. The
grounding area is dened by network components separating the zero sequence system (e.g. star-
delta transformers).
Arguments: none
Return value:
-1: grounding type can not be determined
0 : system is solidly grounded
1 : system is compensated
2 : system is isolated
D.3.1.22 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;
1070 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
}
}
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
See also GetVal D.3.1.24.
D.3.1.23 object.GetUserAttribute
int/double/string object.GetUserAttribute (string attName, int error)
This function offers read-access to user-dened attributes. These attributes must be dened in an
XML-like syntax in the description eld of an object (variable 'desc').
The syntax for a user-dened variable is:
<Attribute Name=name" Type=type">value</>
With:
name Name of the attribute
type Attribute type, valid values 'string', nteger', 'double'
value Current value of the attribute
Table D.3.6
Note: The format is case-sensitive!
Example:
<Attribute Name=var1" Type=int">2008< / >
<Attribute Name=var2" Type=string">Hello PowerFactory < / >
Arguments:
string attName (obligatory) : Name of the user-dened attribute
int error (obligatory) : Parameter for returned error value
Return value:
0: Attribute found and value returned
1: Attribute could not be accessed (e.g. attribute not found in given object, denition is incomplete or
wrong, format value is not compatible with given type).
Example:
The following example gets the user-dened attributes of the object obj":
set objs;
object obj;
string sval;
DIgSILENT PowerFactory 15, User Manual 1071
APPENDIX D. DPL REFERENCE
int err, ival;
double dval;
objs = AllRelevant('');
objs.SortToName(0);
for (obj = objs.First(); obj; obj = objs.Next()){
obj.ShowFullName();
ival = obj.GetUserAttribute('ivar', err);
if (.not. err){
printf('%o ivar: %d', obj, ival);
}
dval = obj.GetUserAttribute('dvar', err);
if (.not. err){
printf('%o dvar: %f', obj, dval);
}
sval = obj.GetUserAttribute('svar', err);
if (.not. err){
printf('%o svar: %s', obj, sval);
}
}
D.3.1.24 object.GetVal
int object.GetVal (object/double/string 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/string X (obligatory) : The variable in which to return the result
string VarName (obligatory) : The name of the variable
int rows (optional) : The row number for a vector or matrix. If no row number is given, the command
returns all values for the variable 'VarName'.
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 D.3.1.22
D.3.1.25 object.HasResults
int object.HasResults ([int ibus])
Checks if the object has calculated result parameters.
Arguments:
1072 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
int ibus (optional) : Bus index
-1 (default) Checks if c:" quantities exist
>= 0 Checks if 'm:xxxx:bus 'quantities exist for bus index=ibus
Table D.3.7
Return value:
0: no results available
1: results exist
D.3.1.26 object.IsClass
int object.IsClass (string ClassName)
Checks to see if the object is of a certain class.
Arguments:
string ClassName (obligatory) : The name of the class.
Return value:
1 when the object is of the given class, 0 otherwise
Example:
The following example write all overloaded lines and transformers to the output window, where a differ-
ent maximum loading is used for lines or transformers.
set S;
object O;
int i;
S = AllRelevant();
O = S.First();
while (O) {
i = O.IsClass('ElmLne');
if (i) {
if (O:c:loading>0.85) O.ShowFullName();}
else {
i = O.IsClass('ElmTr2');
if (i) {
if (O:c:loading>0.95) O.ShowFullName();
}
}
O = S.Next();
}
D.3.1.27 object.IsEarthed
int object.IsEarthed ()
Checks if a network component is topologically connected to any earthed component. Earthing compo-
DIgSILENT PowerFactory 15, User Manual 1073
APPENDIX D. DPL REFERENCE
nents are terminals / busbars () where attribute iEarth = 1, and grounding switches.
An energized component is never considered to be earthed.
Arguments:
none
Return value:
1: component is earthed (connected to an earthing component)
0: component is not earthed
Example:
The following example shows the earthed elements:
set elements;
object obj;
int status;
elements = AllRelevant();
for (obj = elements.First(); obj; obj = elements.Next()){
status = obj.IsEarthed();
if (status = 0){
printf('Component %o is not earthed.', obj);
}
else if (status > 0){
printf('Component %o is earthed.', obj);
}
}
D.3.1.28 object.IsEnergized
int object.IsEnergized ()
Checks if a network component is energized. A component is considered to be energized, if it is
topologically connected to a generator (ElmSym) that is set to reference machine" or to an external set
that is set to bus type SL". All other elements are considered to be deenergized.
Arguments:
none
Return value:
1: component is energized
0: component is deenergized
-1: component has no energizing status (status unknown)
Example:
The following example shows the energizing status of all elements:
set elements;
object obj;
int status;
1074 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
elements = AllRelevant();
for (obj = elements.First(); obj; obj = elements.Next()) {
status = obj.IsEnergized();
if (status = 0){
printf('Component %o is de-energized.', obj);
}
else if (status > 0){
printf('Component %o is energized.', obj);
}
else if (status < 0){
printf('Energizing status for %o is unknown.', obj);
}
}
D.3.1.29 object.IsInFeeder
int object.IsInFeeder (object Feeder [, double OptNested=0])
Returns if the object belongs to the feeder area dened by Feeder".
Arguments:
object Feeder (obligatory) : The Feeder denition object
double OptNested (optional) : Nested feeders" option (1 or 0)
Return value:
1 if Feeder" is a feeder denition and the object is in the feeder area, 0 otherwise.
D.3.1.30 object.IsNode
int object.IsNode ()
Returns 1 if object is a node (terminal or busbar).
Arguments:
none
Return value:
1 if object is a node, 0 otherwise
D.3.1.31 object.IsOutOfService
int object.IsOutOfService ()
Returns 1 if the object is currently out of service. Returns 0 otherwise.
Arguments:
none
DIgSILENT PowerFactory 15, User Manual 1075
APPENDIX D. DPL REFERENCE
Return value:
0 when not out of service
Example:
The following example checks if a line is out of service.
i = MyLine.IsOutOfService();
if (i) {
MyLine.ShowFullName();
}
D.3.1.32 object.IsReducible
int object.IsReducible ()
Checks if object can be reduced in network reduction.
Arguments:
none
Return value:
0: object can never be reduced.
1: object can be reduced (e.g. switch, zero-length lines)
2: in principle the object can be reduced, but not now (e.g. switch that is set to be detailed)
Example:
The following example checks if an object is reducible:
set objs;
object obj;
int res;
objs = AllRelevant();
for (obj = objs.First(); obj; obj = objs.Next()){
res = obj.IsReducible();
if (res = 0){
printf('Object %o is not reducible.', obj);
continue;
}
if (res = 1){
printf('Object %o is reducible.', obj);
continue;
}
if (res = 2){
printf('Object %o is currently not reducible.', obj);
continue;
}
}
1076 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.1.33 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();
}
D.3.1.34 object.MarkInGraphics
void object.MarkInGraphics ()
Marks the object in the currently visible graphic by crosshatching it.
Arguments:
none
Return value:
none
When the currently visible single line graphic does not contain the object, nothing will happen.
Example:
The following example will mark a set of lines in the single line graphic.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
O.MarkInGraphics();
O = S.Next();
}
D.3.1.35 object.Move
int object.Move ([object O | set S])
DIgSILENT PowerFactory 15, User Manual 1077
APPENDIX D. DPL REFERENCE
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);
D.3.1.36 object.PasteCopy
int object.PasteCopy (object oCopyObj | set sCopySet)
This function pastes the copy of the given object(s) into this (=target) using the merge tool when source
and target are inside different projects (equivalent to a manual copy&paste operation).
Arguments:
object oCopyObj (obligatory) : Object to be copied
or
set sCopySet (obligatory) : Set of object to be copied
Return value:
0: Object(s) were copied
1: Error
D.3.1.37 object.SetSize
int object.SetSize (string VarName, int rows [, int cols])
Sets the size of the variable 'VarName'for an object if this variable is a vector or matrix.
Arguments:
string VarName (obligatory) : Object variable
int rows (obligatory) : Row of the variables matrix or vector
int cols (optional) : Column of the variables matrix or vector
Return value:
0: 'VarName'is a valid variable name
1: Variable not found or variable is not a matrix or vector
Example:
The following example will set the size of the row and column to 5:
1078 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
object pTypSym;
int res1,res2;
int size,oldsize;
pTypSym.GetSize('satv',oldsize);
printf('Old size of vector: %d',oldsize);
res1 = pTypSym.SetSize('satv',5);
res2 = pTypSym.SetSize('satse',5);
if (res1=1.or.res2=1) {
printf('Error - parameter setse or setv no vector or matrix');
exit();
}
pTypSym.GetSize('satv',size);
printf('New size of vector: %d',size);
See SetVal D.3.1.38
D.3.1.38 object.SetVal
int object.SetVal (string/double/object Value, string VarName, int row [, int col])
Sets the value of the variable 'VarName'for the given row and column if this variable is a vector, matrix
or string.
Arguments:
string/double/object Value (obligatory) : Value to set
string VarName (obligatory) : Object variable
int row (obligatory) : Row of the variables matrix, vector or string. If the value for the row is '-1', the
command sets all values for the variable 'VarName'starting in row 0. If the value for the row is x, the
command sets all values starting in row x.
int col (optional) : Column of the variables matrix, vector or string
Return value:
0: 'VarName'is a valid variable name and row < actual number of rows and columns < actual number of
columns.
1: Variable not found or variable is not a matrix or vector or row >= actual number of rows and columns
>= actual number of columns.
Example:
The following example sets the size of the row and column to 5:
object pTypSym;
int irow;
int size;
double val1,val2;
pTypSym.GetSize('satv',size);
val1 = 0;
val2 = 0;
irow=0;
while (irow<size) {
DIgSILENT PowerFactory 15, User Manual 1079
APPENDIX D. DPL REFERENCE
pTypSym.SetVal(val1,'satv',irow);
pTypSym.SetVal(val2,'satse',irow);
val1 += 0.1;
irow += 1;
}
See SetSize D.3.1.37
D.3.1.39 object.ShowFullName
void object.ShowFullName ()
Writes the complete path and name to the output window.
Arguments:
none
Return value:
none
The complete database path is written to the output window, and the written names can be right-clicked
in the output window to edit the associated objects. This is useful for selecting objects which are to be
inspected or edited after the DPL script has nished.
Example:
The following example writes all overloaded lines from the selection to the output window.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
if (O:c:loading>100.0) {
O.ShowFullName();
}
O = S.Next();
}
D.3.1.40 object.ShowModalSelectTree
object object.ShowModalSelectTree ([string title, string lter])
Shows a tree view dialog hierarchically listing currently available PowerFactory objects. The rst dis-
played element is the database root. The element on which the function is called will initially be se-
lected.
Arguments:
string title (optional) : Title for dialog. If omitted, a default title will be used.
string lter (optional) : Class lter. If set, a selection is only accepted if the selected object matches that
lter.
1080 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
Return value:
Currently selected object is returned, if the user selects 'Ok'. If 'Cancel'is selected, NULL is returned.
D.3.1.41 object.StochEvt
int object.StochEvt (double d [, double st])
Returns the rst or the next state of a stochastic object, when the object has a valid failure model. Draws
a rst 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:
First or the next state of a stochastic object
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
D.3.1.42 object.VarExists
int object.VarExists (string VarName)
Checks to see if this object has a currently valid variable called 'VarName '.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1081
APPENDIX D. DPL REFERENCE
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);
D.3.1.43 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]
See also snm D.3.1.47 See also unm D.3.1.45
D.3.1.44 object.Inom
double object.Inom ()
1082 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
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 parameter.
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();
}
See also Unom D.3.1.46
D.3.1.45 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 D.3.1.43
See also snm D.3.1.47
D.3.1.46 object.Unom
double object.Unom ()
Returns the nominal voltage of the object.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1083
APPENDIX D. DPL REFERENCE
none
Return value:
The nominal voltage
Example:
The following example collects all high voltage lines. The value VoltageLevel is an input parameter.
set S, Shv;
object O;
double U;
S = SEL.AllLines();
O = S.First();
while (O) {
U = O.Unom();
if (U>VoltageLevel) {
Shv.Add(O);
}
O = S.Next();
}
See also Inom D.3.1.44
D.3.1.47 object.snm
string object.snm (string VarName)
Returns the short variable name. By default, the short name equals the long variable name. In some
cases, the variable also has a short name which is used to save space in reports or dialogues.
Arguments:
string VarName (obligatory) : The variable name
Return value:
The short name.
Example:
See lnm D.3.1.43
See also unm D.3.1.45
D.3.2 General Set
AllRelevant Returns all calculation relevant objects.
Add Adds an object.
Clear Removes all objects from the set.
Count Returns the number of stored objects.
First Returns the rst objects.
FirstFilt Returns the rst matching object.
Firstmatch Returns the rst matching object.
1084 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
IsIn Searches for an object in the set.
MarkInGraphics Marks the objects in the graphic.
Next Returns the next object.
NextFilt Returns the next matching object.
Nextmatch Returns the next matching object.
Obj Returns the object at index i.
OutputFlexibleData Outputs all Flexible Data dened for the objects in the set
to the output window.
Remove Removes an object.
ShowModalBrowser Opens a modal browser window and lists all objects con-
tained in the set.
ShowModalSelectBrowser Opens a modal browser window and lists all objects con-
tained in the set.
ShowModelessBrowser Opens a modeless browser window and lists all objects
contained in the set.
SortToClass Sorts the objects to their class.
SortToName Sorts the objects to their names.
SortToVar Sorts the objects to a variable value.
D.3.2.1 AllRelevant
set AllRelevant ([string classname, int incOutofService, int elementsOnly])
Returns a set with calculation relevant objects, i.e. the objects which are used by the calculations. The
set of calculation relevant objects is determined by the currently active study case and the currently
active grids.
Objects which are out-of-service are ignored when i=0, but are included when i=1 or when i is omitted.
A wildcard argument can be given, and only objects whose name and class-name satisfy this wildcard
will be returned.
The argument 'elementsOnly'can be used to increase the performance if only elements are ltered, e.g.
ElmLne, ElmSym, ... .
Arguments:
string classname (optional) : Classname(s) with wildcards
int incOutofService (optional) : Flag to include out of service objects
int elementsOnly (optional) : Argument to increase the performance
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 settings.
set S;
object O; printf('all objects, including out-of-service:');
S = AllRelevant();
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all objects, excluding out-of-service:');
DIgSILENT PowerFactory 15, User Manual 1085
APPENDIX D. DPL REFERENCE
S = AllRelevant(0);
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all busbars and terminals,');
printf('including out-of-service:');
S = AllRelevant('
*
.StaBar,
*
.');
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
printf('all lines, excluding out-of-service:');
S = AllRelevant('
*
.ElmLne',0);
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
Example 2:
The following example writes the full name of all relevant busbars and terminals in the output window.
set S;
object O;
S = AllRelevant('
*
.StaBar,
*
.'); ! includes out-of-service objects
for (O=S.First(); O; O=S.Next()) {
O.ShowFullName();
}
D.3.2.2 set.Add
int set.Add ([object O | set S])
Adds an object or all objects from a set to the set.
Arguments:
One of the following two parameter has to be given
object O (optional) : an object
set S (optional) : a set of objects
Return value:
0 on success
Example:
The following example collects all loads and lines and the rst 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);
1086 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.2.3 set.Clear
void set.Clear()
Clears the set.
Arguments:
none
Return value:
none
Example:
The following example clears a set
set Sbig;
Sbig = SEL.AllLines();
...
Sbig.Clear();
D.3.2.4 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();
}
D.3.2.5 set.First
object set.First()
Returns the rst object in the set.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1087
APPENDIX D. DPL REFERENCE
none
Return value:
The rst 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 output window.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also NextD.3.2.10 .
D.3.2.6 set.FirstFilt
object set.FirstFilt (string WildCard)
Returns the rst 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 rst matching object, or NULL when no rst 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();
}
See also NextFilt D.3.2.11
D.3.2.7 set.Firstmatch
object set.Firstmatch (string WildCard)
1088 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
set.Firstmatch (string) is obsolete. Use set.FirstFilt (string) instead.
D.3.2.8 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();
}
D.3.2.9 set.MarkInGraphics
void set.MarkInGraphics ()
Marks all objects in the set in the currently visible graphic by hatch crossing them.
Arguments:
none
Return value:
none
Example:
The following example will try to mark a set of lines in the single line graphic.
set S;
object O;
S = SEL.AllLines();
S.MarkInGraphics();
DIgSILENT PowerFactory 15, User Manual 1089
APPENDIX D. DPL REFERENCE
D.3.2.10 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 output window.
set S;
object O
S = SEL.AllLines();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
See also First D.3.2.5 .
D.3.2.11 set.NextFilt
int set.NextFilt ()
Returns the next object from the set which name matches the wildcard.
Arguments:
none
Return value:
The next object, or NULL when no next object exists.
Example:
The following example writes all two and three winding transformers to the output window
set S;
object O;
S = AllRelevant();
O = S.FirstFilt('
*
.ElmTr');
while (O) {
O.ShowFullName(); O = S.NextFilt(); }
See also FirstFilt D.3.2.6
1090 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.2.12 set.Nextmatch
int set.Nextmatch ()
set.Nextmatch () is obsolete. Use set.NextFilt () instead.
D.3.2.13 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.
D.3.2.14 set.OutputFlexibleData
void set.OutputFlexibleData()
Has identical functionality to that implemented in the Object Filter dialogue, whereby the user can right-
click on a single row or multiple rows in a Flexible Data page and select Output . . . Flexible Data. The
OutputFlexibleData() function assumes that the user has already dened a Flexible Data page for the
objects in the set. Upon execution of this function, all Flexible Data dened for the objects in the set is
output to the PowerFactory output window in a tabular format.
Arguments:
none
Return value:
none
Example:
The following example collects all elements of classes ElmLne and (lines and terminals, respectively)
which are relevant to the calculation and output their dened Flexible Data to the output window:
set sElms;
sElms = AllRelevant('
*
.ElmLne,
*
.');
sElms.OutputFlexibleData();
D.3.2.15 set.Remove
int set.Remove (object O)
Removes an object from the set.
Arguments:
object O (obligatory) : the object to remove
DIgSILENT PowerFactory 15, User Manual 1091
APPENDIX D. DPL REFERENCE
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();
}
D.3.2.16 set.ShowModalBrowser
void set.ShowModalBrowser ([int iDetailMode=0, string sTitle, string sPage] )
Opens a modal browser window and lists all objects contained in the set.
Arguments:
int iDetailMode (optional) :
0: Show browser in normal mode (default)
1: Show browser in detail mode
string sTitle (optional) :
set: String for user dened window title
else/empty: Use default window title
string sPage (optional) :
set: Name of page to be shown in browser (only in detailed mode)
else/empty: Default page is shown
Return value:
none
D.3.2.17 set.ShowModalSelectBrowser
set set.ShowModalBrowser ([string title, string lter] )
Opens a modal browser window and lists all objects contained in the set. The user can make a selection
from the list.
Arguments:
string title (optional) : Title for dialog. If omitted, a default title will be.
string lter (optional) : Class lter. If set, only objects matching that lter will be listed in the dialog.
1092 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
Return value:
When the ok button is pressed, the selection is returned as a new set. On cancel, the returned set is
empty.
D.3.2.18 set.ShowModelessBrowser
void set.ShowModelessBrowser ([int iDetailMode=0, string sTitle, string sPage])
Opens a modeless browser window and lists all objects contained in the set.
Arguments:
int iDetailMode (optional) :
0: Show browser in normal mode (default)
1: Show browser in detail mode
string sTitle (optional) :
set: String for user dened window title
else/empty: Use default window title
string sPage (optional) :
set: Name of page to be shown in browser (only in detailed mode)
else/empty: Default page is shown
Return value:
none
D.3.2.19 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();
}
DIgSILENT PowerFactory 15, User Manual 1093
APPENDIX D. DPL REFERENCE
D.3.2.20 set.SortToName
int set.SortToName (int R)
Sorts the objects in the set to their name. The sorting is from A..Z when R=0 and reverse when R=1.
Arguments:
int R (obligatory) : sorting direction
Return value:
0 on success
Example:
The following example writes all objects to the output window, sorted to names.
set S;
object O;
S = AllRelevant();
S.SortToName(0);
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.3.2.21 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) : rst variable name
string V2 (optional) : , ..., string V5 (optional) : 2nd..5th variable names
Return value:
0 on success
Example:
The following example writes all lines to the output window, sorted to derating factor and length.
set S;
object O;
S = AllRelevant('
*
.ElmLne');
S.SortToVar(0, 'fline', 'dline');
1094 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
O = S.First();
while (O) {
printf('%10s %f %f',O:loc_name,O:fline,O:dline);
O = S.Next();
}
D.3.3 String
Methods related to string formating and operations:
sprintf Returns a formatted string.
sscanf Assigns elds in string and returns number of elds.
sscanfsep Parses an input string of tokens that are separated by a separation character.
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.
D.3.3.1 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 placeholder format is
[flags] [width] [.precision] type
Where 'type 'is one of the following speciers:
'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 ap-
propriate).
The optional 'ag 'can be one of the following speciers:
'-' Left align the result within the given eld width.
'+' Prex the output value with a sign (+ or )
DIgSILENT PowerFactory 15, User Manual 1095
APPENDIX D. DPL REFERENCE
The optional 'width 'species the number of characters to be printed and the optional .precision" spec-
ies the number of decimals printed.
Example:
The following examples shows various placeholder denitions.
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 colour. 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
a black i gray
b black j light gray
c red k bordeaux
d green l dark red
e blue m dark green
f brown n light green
g cyan o marine
h magenta p dark blue
Table D.3.11
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);
1096 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.3.2 sprintf
string sprintf (string Format, string T | double X | int I, ...)
Returns a formatted string. The sprintf() command uses the C++ printf() formatting syntax.
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 D.3.3.1 for examples and more information.
The following example redirects the output to a le. The lename 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 le by using fprintf .
The output format is dened 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.
See also printf D.3.5.4.
See also fprintf D.3.6.4.
See also Error D.3.5.2.
See also Warn D.3.5.7.
See also Info D.3.5.3.
See also Write D.3.5.8.
D.3.3.3 ToStr
ToStr
The command ToStr is obsolete and has been replaced by the sprintf command. See sprintf D.3.3.2 for
more information.
DIgSILENT PowerFactory 15, User Manual 1097
APPENDIX D. DPL REFERENCE
D.3.3.4 sscanf
int sscanf (string Source, string Format, string T | double X | int I, ...)
Returns the number of elds successfully converted and assigned; the return value does not include
elds that were read but not assigned.
Arguments:
string Source (obligatory) : The string
string Format (obligatory) : Denes a format of variable types (int/string/double) to which the elds 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 elds were assigned. The return value is -1 for an error or if the
end of the string is reached before the rst conversion.
Example:
The following example assignes the rst two elds 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
D.3.3.5 sscanfsep
int sscanfsep (string input, string format, string T | double X | int I, ..., string separator)
Parses an input string of tokens that are separated by a separation character. Each parsed token is put
into a passed variable.
Arguments:
string input (obligatory) : String containing tokens
string format (obligatory) : Denes a format of variable types (int/string/double) to which the elds 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 separator (optional): Character that separates tokens in given input string.
Return value:
Number of assigned variables
Example:
1098 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
The following example separates the given input string:
sStstring sVal;
int iVal;
int ret;
ret = sscanfsep('Hello DPL;123', '%s%d', sVal, iVal, ';');
printf('ret: %d', ret);
printf('sVal: %s', sVal);
printf('iVal: %d', iVal);
==> Output:
ret: 2
sVal: Hello DPL
iVal: 123
D.3.3.6 strstr
int strstr (string S1, string S2)
Searches for a substring in a string and returns the position of the rst letter of substring S2 in string
S1.
Arguments:
string S1 (obligatory) : The string
string S2 (obligatory) : The substring
Return value:
The rst 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
D.3.3.7 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
DIgSILENT PowerFactory 15, User Manual 1099
APPENDIX D. DPL REFERENCE
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'
D.3.3.8 strcmp
int strcmp (string S1, string S2, int count)
Compares two strings.
Arguments:
string S1 (obligatory) : The rst string
string S1 (obligatory) : The second string
int count (optional) : Number of characters to compare
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
D.3.3.9 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 modied.
string sFind (obligatory): sub-string to be found.
string sNew (obligatory): sub-string to be inserted instead of sFind.
Return value:
The rst position in sStr where sFind was found (index of the rst letter, index begins with 0);
1100 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
-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);
}
D.3.3.10 strlen
int strlen (string S)
Returns the length of a string.
Arguments:
string S (obligatory) : The string
D.3.3.11 strtok
string strtok (string Source, string Delimiter, int Pos, int Num)
Splits the string Source into tokens separated by the characters dened 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;
DIgSILENT PowerFactory 15, User Manual 1101
APPENDIX D. DPL REFERENCE
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
D.3.3.12 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.
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (01..31)
%H Hour in 24-hour format (00..23)
%I Hour in 12-hour format (01..12)
%j Day of year as decimal number (001..366)
%m Month as decimal number (01..12)
%M Minute as decimal number (00..59)
%p Current locales 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 rst day of week (00..53)
%w Weekday as decimal number (0..6; Sunday is 0)
%W Week of year as decimal number, Monday as rst 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
Table D.3.12
Return value:
1102 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
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.
D.3.4 Time and Date
FormatDateLT Creates a formatted date string in local time.
FormatDateUTC Creates a formatted date string in UTC time.
GetSystemTime Returns the current system time.
GetTime Returns current processor time.
ParseDateLT Parses a given date string in local time and returns the
UTC date in seconds since 01.01.1970 00:00 UTC.
ParseDateUTC Parses a given date string and returns the date in seconds
since 01.01.1970 00:00 UTC.
D.3.4.1 FormatDateLT
string FormatDateLT (string format, int timeInSecondsUTC)
Creates a formatted date string. The time must be given in seconds since 01.01.1970 00:00 in UTC
and is converted to a display string in local time.
Arguments:
string format
%d Day of month as decimal number (01...31)
%H Hour in 24-hour format (00...23)
%m Month as decimal number (01...12)
%M Minute as decimal number (00...59)
%S Second as decimal number (00...59)
%Y Year with century as decimal number
Table D.3.14
int timeInSecondsUTC : Time in seconds since 01.01.1970 00:00 in UTC
Return value:
Formatted date string in local time
Example:
The following example gets the formatted date string in local time:
DIgSILENT PowerFactory 15, User Manual 1103
APPENDIX D. DPL REFERENCE
string str;
int t;
t = 1180703210;
str = FormatDateLT('%Y-%m-%d %H:%M:%S', t);
pintf('%d seconds in utc -> local time string %s', t, str);
!Output: 1180703210 seconds in utc -> local time string 2007-06-01 15:06:50
D.3.4.2 FormatDateUTC
string FormatDateUTC (string format, int timeInSecondsUTC)
Creates a formatted date string. The time must be given in seconds since 01.01.1970 00:00 and is
considered to be in UTC time. No time zone corrections are done.
Arguments:
string format
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (01...31)
%H Hour in 24-hour format (00...23)
%I Hour in 12-hour format (01...12)
%j Day of year as decimal number (001...366)
%m Month as decimal number (01...12)
%M Minute as decimal number (00...59)
%p Current locale's A.M./ P.M. indicator for 12-hour clock
%S Second as decimal number (00...59)
%U Week of year as decimal number, Sunday as rst day of week (00...53)
%w Weekday as decimal number (0...6, Sunday is 0)
%W Week of year as decimal number, Monday as rst 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
%tz Time-zone as offset (+/- hh:mm), always +00:00
%% Percent sign
Table D.3.15
int timeInSecondsUTC : Time in seconds since 01.01.1970 00:00 in UTC time
Return value:
Formatted date string
Example:
1104 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
The following example gets the formatted date string:
string s;
int seconds;
s = FormatDateUTC('%Y-%m-%dT%H:%M:%S%tz', 1153840426);
printf('%s', s);
!Output: 2006-07-25T15:13:46+00:00
seconds = GetSystemTimeUTC();
s = FormatDate('%Y-%m-%dT%H:%M:%S%tz', seconds);
printf('%s', s); !current time
!Output: 'current time', e.g. 2010-06-08T06:12:15+02:00
s = FormatDate ('%Y-%m-%dT%H:%M:%S%tz', 0);
printf('%s', s);
!Output: 1970-01-01T00:00:00+00:00 seconds;
D.3.4.3 GetTime
double GetTime (int iN)
Returns current processor time.
Arguments:
int iN (obligatory) : precision after decimal point
Return value:
Current processor time in seconds
D.3.4.4 GetSystemTime
int GetSystemTime ()
Returns the current system time in seconds since 00:00 01.01.1970. This time is always in local time.
For getting the time in UTC, a function GetSystemTimeUTC() is available.
Arguments:
none
Return value:
Current system time in seconds since 00:00 01.01.1970
Example:
The following example gets the current system time in seconds:
int seconds;
seconds = GetSystemTime();
DIgSILENT PowerFactory 15, User Manual 1105
APPENDIX D. DPL REFERENCE
printf('%d', seconds);
D.3.4.5 ParseDateLT
int ParseDateLT (string format, string date)
Parses a given date string that represents a date in local time and returns the corresponding UTC time
in seconds since 01.01.1970 00:00 UTC.
Arguments:
string format
string format
%d Day of month as decimal number (01...31)
%H Hour in 24-hour format (00...23)
%m Month as decimal number (01...12)
%M Minute as decimal number (00...59)
%S Second as decimal number (00...59)
%Y Year with century as decimal number (4 digits)
Table D.3.16
string date : Formatted date string (local time)
Return value:
Date in seconds since 00:00 01.01.1970 UTC.
Example:
The following example returns the date in seconds since 00:00 01.01.1970 UTC:
string date;
int t;
date = '2007-06-01 15:06:50';
t = ParseDateLT('%Y-%m-%d %H:%M:%S', date);
printf('%d', t);
!Output: 1180703210
D.3.4.6 ParseDateUTC
int ParseDateUTC (string format, string date)
Parses a given date string and returns the date in seconds since 01.01.1970 00:00 UTC. If a time zone
is given and specied in format string this information is used to convert the seconds to UTC.
Arguments:
string format
1106 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
%d Day of month as decimal number (01...31)
%H Hour in 24-hour format (00...23)
%m Month as decimal number (01...12)
%M Minute as decimal number (00...59)
%S Second as decimal number (00...59)
%Y Year with century as decimal number (4 digits)
%tz Time zone in format (+/- hh:mm)
Table D.3.17
string date : Formatted date string
Return value:
Date in seconds since 00:00 01.01.1970 UTC that is represented by given date string.
Example:
The following example returns the date in seconds since 00:00 01.01.1970 UTC:
int t;
t = ParseDateUTC('%Y-%m-%d %H:%M', '1970-01-01 00:00');
printf('%i', t);
!Output: 0
t = ParseDateUTC('%Y-%m-%d %H:%M%tz', '1970-01-01 00:00-01:00');
printf('%i', t);
!Output: 3600
t = ParseDateUTC('%Y-%m-%d %H:%M', '2006-07-25 11:59');
printf('%i', t);
!Output: 1153828740
D.3.5 Output Window
ClearOutput Clears the output window.
Error Outputs a formatted error.
Info Outputs a formatted information.
printf Outputs a formatted string.
SetLineFeed Sets the automatic line feed for printf().
SetOutputWindowState Changes the display state of the output window.
Warn Outputs a formatted warning.
Write Writes a report.
D.3.5.1 ClearOutput
void ClearOutput ()
DIgSILENT PowerFactory 15, User Manual 1107
APPENDIX D. DPL REFERENCE
Clears the output window.
Arguments:
none
Return value:
none
Example:
The following command clears the output window.
ClearOutput();
D.3.5.2 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 dened 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 D.3.3.1 for more information.
D.3.5.3 Info
string Info (string Format [, string T | double X | int I, ...])
Writes a formatted string as information message to the output window.
Arguments:
1108 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
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 dened 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 D.3.3.1 for more information.
D.3.5.4 printf
string printf (string format [, string t | double x | int i, ...])
Outputs a formatted string. The printf() command uses the C++ printf() formatting syntax.
Arguments:
string format (obligatory): format string
's' The placeholder %s could be used to print an object's name (loc_name) to the
output window as a click-able link.
'o' Prints the class icon and loc_name of a given object. The loc_name can be
clicked to show the element dialog. The length of the icon and name can be
limited/extended to a x number of characters (the icon needs 3 characters).
If the length is <3 it is set to 3.
'b' Prints the class icon of the given class name or object.
'[width]F' Prints a oating point value as a string of xed width. The place of the point
is determined automatically so that always a maximum precision is achieved.
Width (required) is a number > 0
string t (optional): string argument
double x (optional): double argument
int i (optional): int argument
Example:
! for any PF object
string obj;
printf('%s', obj);
! For a defined variable load" pointing to a load in a net
DIgSILENT PowerFactory 15, User Manual 1109
APPENDIX D. DPL REFERENCE
! Print class icon and loc_name of load object
printf('%o', load);
! Limit or extend length of icon + loc_name to 5 characters
printf('%5o', load);
! For a defined variable load" pointing to a load in a net
string name;
name = 'ElmLod';
! Print bitmap for class name
printf('%b', name);
! Print bitmap for object
printf('%b', load);
printf('0123456789 0123456789\n);
printf('%10F %10F', -3.143458903850, 1.71);
printf('%10F %10F', 1234567890, 1234567890123);
printf('%10F %10F', 1.0, 1234.0005);
See the Format String Syntax D.3.3.1 for more information.
The output format is dened 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 D.3.5.5 for more information.
D.3.5.5 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:
none
Example:
The following example disables the automatic line feed prior to printing a matrix of numbers. The special
character '\n'is used to force a line feed.
int i,j;
SetLineFeed(0); ! disable line-feed
for (i=0; i<3; i+=1) {
printf('%2d', i);
for (j=1; j<5; j+=1) {
printf('\t%2d', i+j);
}
printf('\n'); ! insert a line-feed
}
1110 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
See also printf D.3.5.4.
D.3.5.6 SetOutputWindowState
void SetOutputWindowState (int newState)
Changes the display state of the output window.
Arguments:
int newState (obligatory) :
0: Minimized output window
1: Maximized output window
-1: Restore previous state
Return value:
none
Example:
The following example shows how to change the display state:
!miminimize output window
SetOutputWindowState(0);
printf('Window was minimized');
Sleep(1000);
!maximize output window
SetOutputWindowState(1);
printf('Window was maximized');
Sleep(1000);
!restore previous state
SetOutputWindowState(-1);
printf('Previous window state was restored');
D.3.5.7 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:
DIgSILENT PowerFactory 15, User Manual 1111
APPENDIX D. DPL REFERENCE
The following example writes a warning message to the output window.
Warn('No loads attached: using approximation.');
The output format is dened 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 D.3.3.1 for more information.
D.3.5.8 Write
The command Write is described here for compatibility reasons. In most cases the printf is easier to
use.
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 dening reports and result-boxes. See Section 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. Prior to execution, all given
objects and all objects in the given sets are listed together in a single list. The ACC(x)" macro returns
the object with the index x" in that list. The ACC (acc"=access") macro can be used more than once
for the same object.
Interface variables of the DPL script can also be used in the format string by the DEF" macro. If the
DPL script has ResX" as an interface double, then DEF:ResX" will access that variable.
Example:
In the following example, two lines of output are written out. The rst 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);
See also printf D.3.5.4
1112 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
D.3.6 File
fclose Closes an open le.
fush Writes contents of a le buffer to disk.
fopen Opens a le from a path.
fprintf Outputs a formatted string to a le.
fscanf Assigns elds in le and returns number of elds.
fscanfsep Assigns elds in le and returns number of elds. Consid-
ers separation character and stops after max. number of
positions given.
D.3.6.1 fclose
void fclose (int iFH)
Closes le with the ID iFH of the le handler (between 0 and 9).
Arguments:
int iFH (obligatory) : Number of le handler (0,1,...,9)
Return value:
none
Example:
The following example opens a le 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);
D.3.6.2 fush
void fush (int leNumber)
Writes contents of a le buffer to disk.
(Internally, there is a write-buffer used for le access. All write operations are performed on that buffer.
Only at specic points of time, the buffer is transferred to disk. Such a transfer can be forced by usage
of this command.)
Arguments:
int leNumber (obligatory) : Number of the le (see fopen for using of le numbers).
Return value:
none
Example:
fprintf(1, Hello PowerFactory);
DIgSILENT PowerFactory 15, User Manual 1113
APPENDIX D. DPL REFERENCE
fflush(1);
D.3.6.3 fopen
int fopen (string Path, string Mode, int iFH, int iRet)
Opens le with attribute Mode and assigns an ID iFH of the le handler to the open le.
Arguments:
string Path (obligatory): Path of le to open. Path must exist. File could be created depending on the
Mode
string Mode (obligatory): The attribute for opening the le (r,w,a,r+,w+,a+,b,t)
int iFH (obligatory): Number of le 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 le 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);
D.3.6.4 fprintf
string fprintf (int iFH, string Format [, string T | double X | int I, ...])
Writes a formatted string to a le. The fprintf() command uses the C++ printf() formatting syntax.
Arguments:
int iFH (obligatory): Number of le handler (0,1,...,9)
string Format (obligatory): Denes a format of variable types (int/string/double) to which the elds 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:
The printed string
Example:
1114 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
See the format string syntax for examples and more information.
The following example outputs a dened string to a le.
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 dened 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 D.3.3.1 for more information.
D.3.6.5 fWrite
The command fWrite is obsolete and has been replaced by the printf command. See printf D.3.5.4 for
more information.
D.3.6.6 fscanf
int fscanf (int iFH, string Format, string T | double X | int I, ...)
Returns the number of elds successfully converted and assigned; the return value does not include
elds that were read but not assigned.
Arguments:
int iFH (obligatory) : Number of le handler (0,1,...,9)
string Format (obligatory) : Denes a format of variable types (int/string/double) to which the elds 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 elds were assigned. The return value is -1 for an error or if the
end of the string is reached before the rst conversion.
Example:
The following example assignes the rst to elds of the text le '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);
DIgSILENT PowerFactory 15, User Manual 1115
APPENDIX D. DPL REFERENCE
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);
Output of the script above:
Name 12.3 iRet = 0
D.3.6.7 fscanfsep
int fscanfsep(int iFH, string Ft, string T | double X | int I, ..., string sSep, int iLine)
Functionality like fscanf. Returns the number of elds successfully converted and assigned; the return
value does not include elds 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 le handler (0,1,...,9)
string Ft (obligatory) : Denes a format of variable types (int/string/double) to which the elds 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 elds were assigned. The return value is -1 for an error or if the
end of the string is reached before the rst conversion.
Example:
int iRet;
string sRes;
fopen('c:\test1.txt','r',0);
SetLineFeed(0);
while (iRet > -1){
iRet = fscanfsep(0,'%s',sRes,';',1);
if (iRet = -1){ break;
}
printf('%s\n',sRes);
}
fclose(0);
D.3.7 Miscellaneous
1116 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
EchoOn Re-activates the user interface.
EchoOff Freezes (de-activates) the user-interface.
exit Terminates a DPL script immediately.
fRand Returns stochastic numbers according to a probability dis-
tribution.
GetBorderCubicles Returns the border cubicles of the parent substation.
GetLanguage Returns the current language.
GetPageLen Returns the number of lines per page.
GetSettings Offers read-only access to some selected PowerFactory
settings.
GetUserManager Offers access to the user manager object.
Input Offers possibility to get user input during the execution of
a DPL script.
NoFinalUpdate Prevents EchoOn() at end of execution.
Random Returns a random number.
Rebuild Updates the currently visible diagram without closing page
or desktop.
SetConsistencyCheck Enables or disables the consistency check.
SetDiffMode Allows switching between base and compare case results.
SetRandSeed Initializes the random number generator.
SetShowAllUsers Enables or disables the ltering of all available users in
data manager.
D.3.7.1 EchoOn
void EchoOn ()
Re-activates the user interface.
Arguments:
none
Return value:
none
Example:
The following example de-activates the user-interface to speed up the calculations, after which the
user-interface is re-activated again.
EchoOff(); .. do some calculation ... EchoOn();
See also EchoOff() D.3.7.2.
See also NoFinalUpdate() D.3.7.11.
D.3.7.2 EchoOff
void EchoOff ()
Freezes (de-activates) the user-interface. For each EchoOff(), an EchoOn() should be called. An
EchoOn() is automatically executed at the end of a DPL execution, except for when NoFinalUpdate()
has been called.
DIgSILENT PowerFactory 15, User Manual 1117
APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
none
Example:
The following example de-activates the user-interface to speed up the calculations, after which the
user-interface is re-activated again.
EchoOff();
.. do some calculation ...
EchoOn();
See also EchoOn() D.3.7.1.
See also NoFinalUpdate() D.3.7.11.
D.3.7.3 exit
exit ()
The exit() command terminates a DPL script immediately. If called within a subscript, only the subscript
itself will be terminated. In this case, execution will continue in the calling parent script.
Arguments:
The exit() command has no arguments.
Return value:
The return value is 0 as default, if no other value will be assigned or if the exit() command is not
executed.
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;
}
D.3.7.4 fRand
double fRand (int mode, double p1, double p2)
Returns a stochastic number according to a specic probability distribution.
1118 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
Arguments:
int mode (obligatory):
0: uniform distribution
1: normal distribution
2: weibull distribution
else: returns 0.0
Table D.3.21
double p1 (optional) :
double p2 (optional) :
uniform normal weibull
p1 min mean shape
p2 max stdvar scale
Table D.3.22
Return value:
double
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:
DIgSILENT PowerFactory 15, User Manual 1119
APPENDIX D. DPL REFERENCE
0.232422 20.225048 20.364702 32.294429 15.165993
0.877555 31.371372 11.501229 28.380458 26.404837
0.901226 15.313008 14.782988 23.883499 34.911052
0.598748 17.908476 -6.831869 28.314934 20.706127
0.588662 35.265549 6.403110 25.233148 16.437912
0.474393 44.846884 20.024787 35.297444 22.190684
0.122955 24.725714 -6.099016 28.535867 27.149573
0.554570 17.020344 13.658290 32.858903 30.625329
0.920789 47.127992 0.749566 28.616229 21.187893
0.609307 11.819403 -6.716297 37.955694 29.645523
D.3.7.5 GetBorderCubicles
set GetBorderCubicles (object element)
This function returns the border cubicles of the parent substation of passed element reachable from that
element.
A border cubicle is considered to be a cubicle that resides inside the substation
and points to an element that sits outside the substation
or to an element that is connected to a terminal outside the substation.
These cubicles are determined by a topological search starting at passed element and stopping at any
busbar, open switch or reached border cubicle.
Arguments:
object element (obligatory) : Passed element, where the search starts
Return value:
A set, containing border cubicles. If the element does not reside in any substation or no border cubicles
exist, the set is empty.
Example:
The following example searches for the border cubicles:
set cubicles;
object cubic;
!variable elm is pointing to a network component
cubicles = GetBorderCubicles(elm);
printf('Border cubicles for element %o of substation %o', elm,
elm:cpSubstat);
for (cubic = cubicles.First(); cubic; cubic = cubicles.Next()){
printf('%o', cubic);
}
D.3.7.6 GetLanguage
1120 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
string GetLanguage ()
Returns a string for the current program language setting.
Arguments:
none
Return value:
en = English, de = German, es = Spanish
D.3.7.7 GetPageLen
int GetPageLen ([int orientation])
Returns the number of lines per page according to the currently selected printer and paper 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.
D.3.7.8 GetSettings
string GetSettings (string key)
Offers read-only access to some selected PowerFactory settings.
Arguments:
string key
Key Return type Description
usernm string Name of logged-in user (IntLogon:usernm)
ptdig string Fully qualied path of installation directory of PowerFactory (IntLogon:ptdig)
ptwrk string Fully qualied path of working directory of PowerFactory (IntLogon:ptwrk)
sessionid integer ID of current session
db_driver string Name of used database driver (IntLogon:db_driver)
Table D.3.23
Return value:
Some selected PowerFactory settings as string
Example:
The following example gets read-only access to the selected settings:
string s;
int i;
DIgSILENT PowerFactory 15, User Manual 1121
APPENDIX D. DPL REFERENCE
s = GetSettings('usernm');
printf('Username: %s', s);
s = GetSettings('ptdig');
printf('InstallationDir: %s', s);
s = GetSettings('ptwrk');
printf('WorkingDir: %s', s);
s = GetSettings('db_driver');
printf('DBDriver: %s', s);
i = GetSettings('sessionid');
printf('SessionID: %d', i);
D.3.7.9 GetUserManager
object GetUserManager ()
Offers access to the user manager object (IntUserman) stored in the conguration folder.
Arguments:
none
Return value:
The user manager object
D.3.7.10 Input
void input (string inputStr |double inputDbl, string msg [, int length])
Provides the possibility to get user input during the execution of a DPL script (extension of the V13.2
function). When executed, an input box is displayed. The execution of the script pauses until the user
presses the OK button. On cancel, the running DPL script is aborted.
Arguments:
string inputStr |double inputDbl (obligatory) : Output variable that will hold the user's input; depending
on the type, the input is returned as string or as double.
string msg (obligatory) : Message displayed in the input box.
int length (optional) : If given, the input is limited to 'length'characters. In addition, this determines the
dialog's size (up to max. length of 60).
Return value:
none
Please note, that the execution of the script is aborted if the user cancels the input request.
Example:
The following example displays rst an input box to enter a number and then to enter a text:
double dval;
1122 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
string sval;
input(dval, 'Please enter a number');
printf('Entered number: %f', dval);
input(sval, 'Please enter some text');
printf('Entered text: %s', sval);
D.3.7.11 NoFinalUpdate
void NoFinalUpdate ()
Prevents the automatic EchoOn() at end of execution.
Arguments:
none
Return value:
none
Example:
EchoOff();
.. do some calculation ...
NoFinalUpdate();
See also EchoOff()D.3.7.2.
See also EchoOn()D.3.7.1.
D.3.7.12 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-ow.
double P;
Load:plini = Random(1.2, 2.3);
Ldf.Execute();
DIgSILENT PowerFactory 15, User Manual 1123
APPENDIX D. DPL REFERENCE
D.3.7.13 Rebuild
void Rebuild ([int iMode])
Updates the currently visible diagram without closing page or desktop.
Arguments:
int iMode (optional) :
0 = Draws internal graphic objects
1 = Reads graphic objects (IntGrf) from database and draws
2 = Reads graphic objects (IntGrf) from database, re-calculates intersections and draws
Return value:
none
Example:
Rebuild(1);
D.3.7.14 SetConsistencyCheck
int SetConsistencyCheck (int iEnable)
This function enables or disables the consistency check if a parameter is set. The consistency check is
per default enabled.
Arguments:
int iEnable (obligatory) :
0: Disable parameter consistency check
1: Enable parameter consistency check
Return value:
1: If consistency check was enabled before.
0: If consistency check was disabled before.
D.3.7.15 SetDiffMode
void SetDiffMode (int mode)
This function allows switching between base and compare case results when using the comparing
results functionality of PowerFactory (see manual Chapter: Comparisons Between Calculations). De-
pending on this mode, the access to object parameters returns base case values or is redirected to
result case values. There is no need to adapt the parameter access statements.
Arguments:
int mode (obligatory) :
0: Base case results
1: Compare case results
Return value:
none
1124 DIgSILENT PowerFactory 15, User Manual
D.3. GENERAL FUNCTIONS AND METHODS
Example:
The following example demonstrates how to access the comparing results functionality from DPL.
object term, comldf, comdiff;
set terms;
double u1, u2;
!get load flow calculation command
comldf = GetCaseObject('ComLdf');
!get compare command
comdiff = GetCaseObject('ComDiff');
comdiff:imode = 1; !set compare mode to desired mode
!intially set length of a special line to 1km
lne:dline = 1.0;
!calculate load flow
comldf.Execute();
!start comparing results
comdiff.Start();
!change length of line to 1000km
lne:dline = 1000.0;
!calculate load flow again
comldf.Execute();
!report differences:
!for all relevant terminals
terms = AllRelevant('');
for (term = terms.First(); term; term = terms.Next()){
SetDiffMode(0); !base case results
u1 = term:m:u;
SetDiffMode(1); !compare case results
u2 = term:m:u;
printf('%o: u1=%f p.u. u2=%f', term, u1, u2);
}
!stop comparing of results
comdiff.Stop();
!restore original settings
lne:dline = 1.0; ! 1km
D.3.7.16 SetRandSeed
void SetRandSeed (int N)
Initializes the random number generator. One out of 10 predened initialization seeds can be selected.
Arguments:
int N (obligatory) : seed 0..10
Example:
DIgSILENT PowerFactory 15, User Manual 1125
APPENDIX D. DPL REFERENCE
See fRand() D.3.7.4
D.3.7.17 SetShowAllUsers
int SetShowAllUsers (int enabled)
Enables or disables the ltering of all available users in data manager. All users are only visualized in
data manager when enabled.
Arguments:
int enabled (obligatory) :
0 = disabled, only Demo, Public Area Users and current user is shown
1 = enabled, all available users are listed
Return value:
1: If enabled before.
0: If disabled before.
Example:
!enables show all users before showing a tree selection control
!old ShowAllUsers setting is restored when the tree is closed
int oldMode;
oldMode = SetShowAllUsers(1);
this.ShowModalSelectTree();
SetShowAllUsers(oldMode);
D.3.7.18 Get PowerFactory Version
string GetPFVersion ()
Return value:
Version of the software
Example:
!string strVersion;
dVersion=GetPFVersion();
printf(%s, strVersion);
D.4 Project Structure
D.4.1 Functions
GetActiveProject Returns the currently active project.
GetFlowOrientation Returns the ow orientation of the active project.
GetGlobalLib Returns a global library folder.
GetLocalLib Returns a local library folder.
1126 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
GetDataFolder Returns the network data folder for elements of given
class.
GetProjectFolder Returns the project folder of a given type for the active
project.
ActiveCase Returns the active calculation case.
GetActiveStudyCase Returns the currently active study case.
SummaryGrid Returns the summary grid.
GetActiveNetworkVariations Returns all active variations for the 'Network Data'folder.
GetActiveStages Returns all active stages currently active for a given folder.
GetRecordingStage Returns the currently active recording scheme stage.
GetActiveScenario Returns the currently active scenario.
SaveScenarioAs Saves the active scenario as a new scenario.
D.4.1.1 GetActiveProject
object GetActiveProject ()
This function returns the currently active project.
Arguments:
none
Return value:
An 'IntPrj'object; NULL if there is no active project.
Example:
The following example returns the active project:
object Prj;
Prj = GetActiveProject();
Prj.ShowFullName();
D.4.1.2 GetFlowOrientation
int GetFlowOrientation ()
This function returns the ow orientation of the active project.
Arguments:
none
Return value:
-1: no project is active
0: Flow orientation of active project is MIXED MODE"
1: Flow orientation of active project is LOAD ORIENTED"
2: Flow orientation of active project is GENERATOR ORIENTED"
D.4.1.3 GetGlobalLib
DIgSILENT PowerFactory 15, User Manual 1127
APPENDIX D. DPL REFERENCE
object GetGlobalLib ([string ClassName])
Returns the global library for object-types of class ClassName". ClassName may be omitted, in which
case the complete global library folder is returned.
Arguments:
string ClassName (optional) : The classname of the objects for which the library folder is sought
Return value:
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();
}
See also GetLocalLib D.4.1.4 .
D.4.1.4 GetLocalLib
object GetLocalLib ([string ClassName])
Returns the local library for object-types of class ClassName". ClassName may be omitted, 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 libary 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();
}
1128 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
See also GetGlobalLib D.4.1.3 .
D.4.1.5 GetDataFolder
object GetDataFolder (string classname [, int iCreate])
This function returns the folder in which the network data for the given class are stored.
Arguments:
string classname (obligatory) : Classname of the elements:
ElmBmu
ElmArea
ElmZone
ElmRoute
ElmOwner
ElmOperator
ElmFeeder
ElmCircuit
ElmBoundary
IntScales
Table D.4.2
int iCreate:
0: The folder is searched and returned if found. If the folder does not exist, NULL is returned.
1: The folder is created if it does not exist. The found or created folder is returned.
Return value:
The network data folder, which is found or created.
Example:
The following example returns the network data folder for 'ElmBoundary'elements:
object Fold;
Fold = GetDataFolder ('ElmBoundary ');
Fold.ShowFullName();
D.4.1.6 GetProjectFolder
object GetProjectFolder (string type)
Returns the project folder of a given type of active project.
Arguments:
string type (obligatory) : Type of the corresponding project folders
DIgSILENT PowerFactory 15, User Manual 1129
APPENDIX D. DPL REFERENCE
equip Equipment type library
netmod Network model
oplib Operational library
scen Scenario
script Script
study Study Case
templ Template
netdat Network data
dia Diagram
scheme Scheme
cbrat CB rating
therm Termal rating
ra Running arrangement
mvar Mvar limits curve
outage Outage
fault Fault
Table D.4.3
Return value:
An 'IntPrjFolder'object. If no project is currently active or project folder of this type does not exist, null is
returned.
Example:
The following example returns the study case project folder:
object Fold;
Fold = GetProjectFolder('study ');
Fold.ShowFullName();
D.4.1.7 ActiveCase
object ActiveCase ()
Returns the currently active Study Case.
Arguments:
none
Return value
A IntCase object
Example:
The following example writes the name of the active study case to the output window.
object aCase;
aCase = ActiveCase();
aCase.ShowFullName();
1130 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
D.4.1.8 GetActiveStudyCase
object GetActiveStudyCase()
Returns the currently active Study Case.
Arguments:
none
Return value
A IntCase object
Example:
The following example writes the name of the active study case to the output window.
object aCase;
aCase = GetActiveStudyCase();
aCase.ShowFullName();
D.4.1.9 SummaryGrid
object SummaryGrid ()
Returns the summary grid in the currently active Study Case. The summary grid is the combination of
all active grids in the study case.
Arguments:
none
Return value:
A ElmNet object, or a 'NULL'object when no grids are active
Example:
The following example performs a load-ow and returns the total grid active power losses.
object SumGrid;
SumGrid = SummaryGrid();
if (SumGrid) {
Ldf.Execute();
output('Active Power Losses=SumGrid:c:LossP');
}
D.4.1.10 GetActiveNetworkVariations
set GetActiveNetworkVariations ()
Returns all active variations for the 'Network Data'folder.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1131
APPENDIX D. DPL REFERENCE
none
Return value:
A set of 'IntScheme'objects; NULL if there is no active variation.
Example:
The following example returns the currently active variations:
object variation;
set variations;
stages = GetActiveNetworkVariations();
for(variation = variations.First();variation;variation = variations.Next())
{
variation.ShowFullName();
}
D.4.1.11 GetActiveStages
set GetActiveStages ([object variedFolder])
Returns all active stages currently active for a given folder, e.g. 'Network Data'folder.
Arguments:
object variedFolder (optional) : Folder for which all active stages will be returned; by default, the project
folder 'Network Data'is taken.
Return value:
A set of 'IntSstage'objects; NULL if there is no recording stage.
Example:
The following example returns the currently active recording stages:
object stage;
set stages;
stages = GetActiveStages();
for(stage = stages.First(); stage; stage = stages.Next()) {
stage.ShowFullName();
}
D.4.1.12 GetRecordingStage
object GetRecordingStage ()
Returns the currently active recording scheme stage.
Arguments:
none
Return value:
An 'IntSstage'object; NULL if there is no recording stage.
1132 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
Example:
The following example returns the currently active recording stage:
object stage;
stage = GetRecordingStage();
stage.ShowFullName();
D.4.1.13 GetActiveScenario
object GetActiveScenario ()
Returns the currently active scenario.
Arguments:
none
Return value:
An 'IntScenario'object; NULL if there is no scenario active.
Example:
The following example returns the currently active scenario:
object Scen;
Scen = GetActiveScenario();
Scen.ShowFullName();
D.4.1.14 SaveScenarioAs
object SaveScenarioAs (char pName, int iSetActive)
Saves the active scenario as a new scenario.
Arguments:
char pName (obligatory) : Name of the new scenario.
object iSetActive (obligatory):
1: Activate the new scenario.
0: Do not activate the new scenario.
Return value:
object
NULL, if no object.
Example:
The following example demonstrates how to save a scenario:
object oRet;
string ScenarioName;
ScenarioName='Name';
DIgSILENT PowerFactory 15, User Manual 1133
APPENDIX D. DPL REFERENCE
oRet = SaveScenarioAs(ScenarioName, 0); ! do not activate the new created
scenario
if (oRet=NULL) { ! error ocurred
}
D.4.2 Project Methods (IntPrj)
Activate Activates the project.
Deactivate De-activates the project.
GetLatestVersion Returns the most recent version available in the project.
GetVersions Returns a set containing all versions of the project.
HasExternalReferences Checks if any object inside the project references external
non-system objects.
Migrate Migrates a project from version V13 to V14.
Purge Purges project storage and updates storage statistics.
UpdateStatistics Updates the storage statistic for a project.
D.4.2.1 Activate
int IntPrj.Activate ()
Activates the project. Deactivates other projects rst.
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.2.2 Deactivate
int IntPrj.Deactivate ()
De-activates the project.
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.2.3 GetLatestVersion
object IntPrj.GetLatestVersion ([int onlyregular])
Returns the most recent version available in the project.
Arguments:
int onlyregular (optional):
1134 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
>0: consider only regular version (default)
0: consider all versions
Return value:
Latest version of the project
Example:
object prj, version;
prj = GetActiveProject();
if (.not. prj) {
Error('no active project found');
exit();
}
version = prj.GetLatestVersion(0); !consider all versions
printf('latest version of project %o is %o', prj, version);
D.4.2.4 GetVersions
set IntPrj.GetVersions ()
Returns a set containing all versions of the project.
Arguments:
none
Return value:
Set that contains all versions of the project
Example:
object prj, obj, version;
set versions;
prj = GetActiveProject();
if (.not. prj) { Error('no active project found');
exit();
}
versions = prj.GetVersions();
for(version = versions.First(); version; version = versions.Next()) {
version.ShowFullName();
}
D.4.2.5 HasExternalReferences
int IntPrj.HasExternalReferences ([int iCheckGlobal, int iCheckRemoteVariants])
Checks if any object inside the project references external non-system objects and prints all forbidden
references to the output window.
DIgSILENT PowerFactory 15, User Manual 1135
APPENDIX D. DPL REFERENCE
Arguments:
int iCheckGlobal (optional):
0: global (non-system) references are ok
1: gloabal (non-system) references are not ok (default)
int iCheckRemoteVariants (optional):
0: remote variants are ok (default)
1: remote variants are not ok
Return value:
0: no forbidden external references found 1: some forbidden external references were found
Example:
object prj; ! IntPrj object
int res; ! result
res = prj.HasExternalReferences();
if (res = 0) {
printf('All references of project %o are ok.', prj);
continue;
}
if (res = 1) {
printf('Some references of project %o are forbidden.', prj);
continue;
}
D.4.2.6 Migrate
void IntPrj.Migrate ([int createCopy])
This function migrates a project from version V13 to V14. Migration is only executed if project has been
created in build 400 or earlier (and is not yet migrated).
Arguments:
int createCopy (optional) :
1: Creates a copy of current project (original copy is maintained) (default);
0: Does an in-place" migration of the project (original is overwritten)
Return value:
none
D.4.2.7 Purge
void IntPrj.Purge ()
Purges project storage and updates storage statistics.
Requires write access to the project; the functions does nothing when the project is locked by other
users.
Arguments:
1136 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
none
Return value:
none
D.4.2.8 UpdateStatistics
void IntPrj.UpdateStatistics ()
Updates the storage statistics for a project. The statistics are displayed on the page Storage on dialogue
of a project (IntPrj).
Note: This function requires write access to the project otherwise the update is not executed and an
error message is printed to the output window.
Arguments:
none
Return value:
none
Example:
object project, currentUser;
int t;
set projects;
! update statistics for all projects stored as direct children
! of the user
currentUser = this;
! determine user in which the script is executed
do{
currentUser = currentUser.GetParent();
t = currentUser.IsClass('IntUser');
if (t) {
break;
}
} while(currentUser);
printf('Current user %o', currentUser);
projects = currentUser.GetContents('
*
.IntPrj');
for (project = projects.First(); project; project = projects.Next()) {
Info('Updating statistics for project %o', project);
project.UpdateStatistics();
}
D.4.3 Project Version Methods (IntVersion)
CreateDerivedProject Creates a derived project from the version.
Rollback Roll backs the project to this version.
DIgSILENT PowerFactory 15, User Manual 1137
APPENDIX D. DPL REFERENCE
D.4.3.1 CreateDerivedProject
IntPrj IntVersion. CreateDerivedProject (string name,[object parent])
Creates a derived project from the version.
Arguments:
name: The name of the project which will be created.
parent: The parent of the project which will be created. Default is the current user.
Return value:
Returns the created project.
Example:
object project, version, derivedProject ;
project = GetActiveProject();
if (.not. project) {
Error('no active project found');
exit();
}
version = project.GetLatestVersion(0); !consider all versions
if (.not. version) {
Error('no version found');
exit();
}
derivedProject = version.CreateDerivedProject('DerivedProject');
D.4.3.2 Rollback
IntPrj IntVersion. Rollback ()
Roll backs the project to this version. No project have to be active. Furthermore no script from the
project of the version have to be running.
Return value: Returns 0 on success and otherwise 1.
Example:
object project, version;
project = GetActiveProject();
if (.not. project) {
Error('no active project found');
exit();
}
version = project.GetLatestVersion(0); !consider all versions
if (.not. version) {
Error('no version found');
exit();
}
1138 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
project.Deactivate(); !no active project allowed for a rollback
version.Rollback();
D.4.4 Project Folder Methods (IntPrjfolder)
GetProjectFolderType Returns the type of the project folder.
IsProjectFolderType Checks if the project folder has the given type.
D.4.4.1 GetProjectFolderType
string IntPrjfolder.GetProjectFolderType ()
Returns the type of the project folder.
Arguments:
none
Return value:
The type of the project folder as string; for possible return values see 'type'list for function GetProject-
Folder
Example:
The following example returns the project folder type and checks if the returned project folder is of type
'study':
object projectFolder;
string type;
int tmp;
type = projectFolder.GetProjectFolderType();
tmp = strcmp(type, 'study');
D.4.4.2 IsProjectFolderType
int IntPrjfolder.IsProjectFolderType (string type)
This function checks if the project folder has the given type.
Arguments:
string type (obligatory) : Folder type; for possible type values see 'type'list for function GetProjectFolder
Return value:
1: Project has the given type
0: Project folder has not the given type
Example:
The following example checks if the project folder type is a 'Study Case'folder:
set studyCases;
object projectFolder;
DIgSILENT PowerFactory 15, User Manual 1139
APPENDIX D. DPL REFERENCE
int tmp;
tmp = projectFolder.IsProjectFolderType('study');
if (tmp=1) {
studyCases = projectFolder.GetContents('
*
.IntCase');
}
D.4.5 StudyCaseMethods
Activate Activates the study case.
Deactivate De-activates the study case.
Date Sets the date at actual.
Reduce Reduces the revision dened in the study case.
SetTime Sets the time.
Time Sets the time at actual.
D.4.5.1 Activate
int IntCase.Activate ()
Activates the study case. Deactivates other study cases rst.
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.5.2 Deactivate
int IntCase.Deactivate ()
De-activates the study case.
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.5.3 Date
void SetTime.Date ()
Sets the current date.
Arguments:
none
Return value:
1140 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
none
Example:
The following example executes a load-ow 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();
D.4.5.4 Reduce
void IntCase.Reduce ([int record])
Reduces the revision dened in the study case.
Arguments:
int record (optional):
0: normal reduce as in right mouse button menu (default)
1: does not delete variant at the end
Return value:
none
D.4.5.5 SetTime
void SetTime.SetTime (double H, double M, double S)
Sets the time in the current year. There is no restriction to the values for H, M and S, except for the fact
that negative values are interpreted as zero. Values higher than 24 or 60 will be processed normally by
adding the hours, minutes and seconds into an absolute time, from which a new hour-of-year, hour-of-
day, minutes and seconds are calculated.
Arguments:
double H (obligatory) : The hours
double M (optional) : The minutes
double S (optional) : The seconds
Return value:
none
Example:
The following sets the time to 1134.45 hours, 91.2 minutes and 675.3 seconds, which results in the time
08:09:27 on the 48'th day of the year.
object Time, Com;
DIgSILENT PowerFactory 15, User Manual 1141
APPENDIX D. DPL REFERENCE
Time = GetCaseObject('SetTime');
Time.SetTime(1134.45, 91.2, 675.3);
D.4.5.6 SetTimeUTC
void SetTime.SetTimeUTC (int time)
Sets date and time to given time. The time must be UTC and given as seconds since 01.01.1970 00:00.
Arguments:
int time (obligatory): UTC time in seconds since 01.01.1970 00:00
Return value:
none
Example:
!demonstrates how to change date/time of active study case
object studytime;
!get date/time object of current study case
studytime = GetCaseObject('SetTime');
if (studytime){
studytime.SetTimeUTC(1200478788);
}
See also:
Time and Date
D.4.5.7 Time
void SetTime.Time ()
Sets the current time.
Arguments:
none
Return value:
none
Example:
The following example executes a load-ow for the current time and date (the computer's system time).
object Time, Com;
Time = GetCaseObject('SetTime');
Com = GetCaseCommand('ComLdf');
Time.Date();
Time.Time();
1142 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
Com.Execute();
D.4.6 Variant Methods (IntVariant)
Activate Adds a variant to the active study case.
Deactivate Removes a variant from the active study case.
Reduce Reduces the variant object.
D.4.6.1 Activate
int IntVariant.Activate ()
Adds a variant to the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.6.2 Deactivate
int IntVariant.Deactivate ()
Removes a variant from the active study case.
Arguments:
none
Return value:
0 on success, 1 on error.
D.4.6.3 Reduce
void IntVariant.Reduce ([int record])
Reduces the variant object
Arguments:
int record (optional) :
0: normal reduce as in right mouse button menu (default)
1: reduce variant while modications are recorded by scenario and/or variation (does not delete variant
at the end)
Return value:
none
Example:
DIgSILENT PowerFactory 15, User Manual 1143
APPENDIX D. DPL REFERENCE
object scenario, recStage, variant;
scenario.Activate(); ! to record modifications of operational data
recStage.Activate(); ! to record other modifications
variant.Reduce(1); ! reduce and record
scenario.Save();
recStage.PrintModifications(0); ! print recorded non opd modifications
D.4.7 Variation Methods
Activate Activates a variation (scheme)
Deactivate Dectivates a variation (scheme)
NewStage Creates a new expansion stage
CreateStageObject Creates a stage object (modify or delete object) in
IntSstage it was called on.
GetActiveScheduler Returns the corresponding active scheduler.
D.4.7.1 IntScheme.Activate
int IntScheme.Activate()
Activates a scheme and insert a scheme reference in a Scheme Conguration Folder" stored in the
study case.
Return value: 0 = successfully activated
1 = error, e.g. already activate, no project and study case active
D.4.7.2 IntScheme.Deactivate
int IntScheme.Deactivate()
Deactivates a scheme and remove the scheme reference in a Scheme Conguration Folder" stored in
the study case.
Return value: 0 = successfully deactivated
1 = error, e.g. already deactivated, no project and study case active
D.4.7.3 IntScheme.NewStage
int IntScheme.NewStage() (string sname, int iUTCtime, int iActivate)
1. Adds a new scheme stage into the scheme (name = sname).
2. Set the activation time of the stage to the parameter iUTCtime (in second).
3. If the parameter iActivate is equal to 1:
The actual study time is changed to the parameter iUTCtime and the scheme will be activated. If
the scheme is a network scheme, the new created scheme stage is used as recording scheme
stage".
Return value: 0 = successfully deactivated
1 = error, e.g. already deactivated, no project and study case active
1144 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
D.4.7.4 CreateStageObject
object IntSstage.CreateStageObject (int schemeStatusFlag, object rootObject)
Creates a stage object (delta or delete object) in IntSstage it was called on.
Arguments:
int schemeStatusFlag (obligatory):
1: delete object is created
2: delta object is created
object rootObject (obligatory): (Original) object for which the stage object should be created.
Return value:
Stage object on success
Example:
!for a given IntSstage 'stage'and a IntThrating 'rating'
!creates a delta object for that rating
delta = stage.CreateStageObject(2, rating);
printf('Delta object %o created.', delta);
!set new values to delta object
rating.GetSize('MyMatrix', sizex, sizey);
for(x = 0; x < sizex; x+=1){
for (y = 0; y < sizey; y+=1){
rating.GetVal(val, 'MyMatrix', x, y);
!get new value, e.g. 75% of old one
val = 0.75
*
val;
!set value to delta object
delta.SetVal(val, 'MyMatrix', x, y);
}
}
D.4.7.5 GetActiveScheduler
object IntScheme.CreateStageObject ()
This function returns the corresponding active scheduler or NULL if no scheduler is active for this vari-
ations (IntScheme).
Arguments:
none
Return value:
An 'IntScheme'object; NULL if no scheduler is active for this variation.
Example:
!for a given IntSstage 'stage'and a IntThrating 'rating'
DIgSILENT PowerFactory 15, User Manual 1145
APPENDIX D. DPL REFERENCE
!creates a delta object for that rating
delta = stage
D.4.7.6 IntSstage.Activate
int IntSstage::Activate(int iQueryOption)
Activates a scheme stage (set recording scheme stage)
For parameter iQueryOption":
0 (default): The user must conrm the query
1: The Yes" button is automatically applied
2: The No" button is automatically applied
Return value:
0 = successfully activated
1 = error, e.g. scheme is not active
D.4.8 Scenario Methods (IntScenario)
Activate Activates a scenario.
Deactivate Deactivates the currently active scenario.
Apply Applies a scenario.
GetObjects Returns a set of all objects for which operational data are
stored in scenario.
Save Saves a modied scenario.
D.4.8.1 Activate
int IntScenario.Activate ()
Activates a scenario
Arguments:
none
Return value:
0 = successfully activated
1 = error, e.g. already activate, no project and study case active
D.4.8.2 Deactivate
int IntScenario.Deactivate ([int saveOrUndo])
Deactivates the currently active scenario
Arguments:
int saveOrUndo (optional): Determines whether changes in active scenario will be saved or discarded
before the scenario is deactivated. If this argument is omitted, the user will be asked.
1146 DIgSILENT PowerFactory 15, User Manual
D.4. PROJECT STRUCTURE
0 = discard changes
1 = save changes
Return value:
0 = successfully deactivated
1 = error, e.g. already deactivate, no project and study case active
D.4.8.3 Apply
int IntScenario.Apply ([int requestconrmation, object parentlter])
Applies a scenario. In contrast to pressing the apply button, there is no user conrmation displayed by
default. This behaviour can be changed by passing an optional parameter requestUserConrmation"
(double). If this parameter is set to 1", the normal conrmation dialogue is displayed. (If no parameter
or a value of 0" is given the dialogue is suppressed.)
Arguments:
int requestconrmation (optional):
1: request a user conrmation,
0: apply without user conrmation (default)
int parentlter (optional): If given, scenario data is only applied for given object and all of its children
(hierarchical lter)
Return value:
0 = successfully applied
1 = error, scenario is active or not in the active project or apply was cancelled by user via conrmation
dialog
D.4.8.4 GetObjects
set IntScenario.GetObjects ()
Returns a set of all objects for which operational data are stored in scenario.
Arguments:
none
Return value:
Set of all objects for which operational data are stored in scenario
D.4.8.5 Save
int IntScenario.Save ()
Saves a modied scenario.
Arguments:
none
Return value:
DIgSILENT PowerFactory 15, User Manual 1147
APPENDIX D. DPL REFERENCE
0 = successfully saved
1 = error, scenario was not modied or not active
D.5 Reporting and Graphical Representation
D.5.1 Functions
GetGraphBoard Returns the currently active Graphics Board.
SetGraphicUpdate Enables or disables the updates of a single line diagram.
D.5.1.1 GetGraphBoard
object 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);
}
See also: Graphic Board Methods
D.5.1.2 SetGraphicUpdate
void SetGraphicUpdate (int enabled)
Enables or disables the updates of the single line graphics.
Arguments:
int enabled (obligatory):
0: disabled (graphic will not be updated automatically)
1: enabled
Return value:
none
Example:
1148 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
The following example disables and enables the graphics update:
!disable graphic updates
SetGraphicUpdate(0);
!do some calculations...
!enable graphic updates again
SetGraphicUpdate(1);
D.5.2 Virtual Instrument Methods: SetVipage
GetVI Searches for a virtual instruments on the Virtual Instru-
ment Panel.
SetStyle Sets style folder of Virtual Instrument Panel.
SetTile Rearranges the Virtual Instruments.
SetResults Sets default Results of Virtual Instrument Panel.
SetXVar Sets x-axis variable.
SetScaleX Sets scale of x-axis.
SetDefScaleX Sets default scale of x-axis.
DoAutoScaleX Scales the x-axes of all plots on the virtual instrument
panel automatically.
DoAutoScaleY Scales the y-axes of all plots on the virtual instrument
panel automatically.
SetAutoScaleX Sets automatic scaling mode of the x-scale for local scales.
SetAdaptX Sets the adapt scale option of the x-scale for local scales.
GetScaleObjX Returns used object dening x-scale.
D.5.2.1 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.
DIgSILENT PowerFactory 15, User Manual 1149
APPENDIX D. DPL REFERENCE
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);
}
}
See also Additional Objects (Int*)
D.5.2.2 SetStyle
void SetVipage.SetStyle (string name)
Sets style folder of Virtual Instrument Panel.
Arguments:
string name (obligatory) : Name of style.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and sets its style to 'Paper'.
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set style named Paper
aPage.SetStyle('Paper');
}
}
See also Additional Objects (Int*)
D.5.2.3 SetTile
void SetVipage.SetTile ([int tile])
Rearranges the Virtual Instruments.
Arguments:
int tile=1 (optional) : tile > 0 > tile Virtual Instruments, tile =0 > arrange them horizontally.
Return value:
1150 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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();
}
}
See also Additional Objects (Int*)
D.5.2.4 SetResults
void SetVipage.SetResults (object res)
Sets default Results (ElmRes) of Virtual Instrument Panel.
Arguments:
object res (obligatory) : Results to set (ElmRes) or NULL to reset.
Return value:
none
Example:
The following example looks for a Virtual Instrument Panel named Voltage and resets its default results.
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set default results on page
aPage.SetResults(NULL);
}
}
See also Additional Objects (Int*)
DIgSILENT PowerFactory 15, User Manual 1151
APPENDIX D. DPL REFERENCE
D.5.2.5 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 rst example sets an user dened x-axis variable of the Virtual Instrument Panel. The second one
sets the default x-axis (time).
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale from 100 to 120
aPage.SetScaleX(100,120);
! Set x-scale variable
aPage.SetXVar(line,'m:U1:bus1');
}
}
object aGrf;
object aPage;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Set x-scale from 100 to 120
aPage.SetScaleX(100,120);
! Set default x-scale variable (time)
aPage.SetXVar();
}
}
See also Additional Objects (Int*)
D.5.2.6 SetScaleX
void SetVipage.SetScaleX ([double min, double max, int log])
1152 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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;
! 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);
}
DIgSILENT PowerFactory 15, User Manual 1153
APPENDIX D. DPL REFERENCE
}
See also Additional Objects (Int*)
D.5.2.7 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 (SetDesktop).
! 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();
}
}
See also Additional Objects (Int*)
D.5.2.8 DoAutoScaleX
int SetVipage.DoAutoScaleX ()
Scales the x-axes of all plots on the virtual instrument panel automatically. The same can be achieved
by pressing the icon in the toolbar of the graphic.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling of the x-axes.
1154 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
! 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();
}
}
See also VisFft Methods
VisPlot/VisPlot2 Methods
Graphic Board Methods
D.5.2.9 DoAutoScaleY
int SetVipage.DoAutoScaleY ()
Scales the y-axes of all plots on the virtual instrument panel automatically. The same can be achieved
by pressing the icon in the toolbar of the graphic.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling of the y-axes.
! 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();
}
}
See also VisPlot Methods
D.5.2.10 SetAutoScaleX
void SetVipage.SetAutoScaleX (int mode)
Sets automatic scaling mode of the x-scale for local scales.
DIgSILENT PowerFactory 15, User Manual 1155
APPENDIX D. DPL REFERENCE
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 rst example works ne, the second one generates an error message 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);
}
}
See also Additional Objects (Int*)
D.5.2.11 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
1156 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
Return value:
none
Example:
The following examples look for a Virtual Instrument Panel named Voltage and sets its adapt scale
option. The rst example works ne, the second one generates an error message 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);
}
}
See also Additional Objects (Int*)
D.5.2.12 GetScaleObjX
object SetVipage.GetScaleObjX ()
Returns used object dening x-scale. The returned object is either the Virtual Instrument Panel itself or
the Graphics Board.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1157
APPENDIX D. DPL REFERENCE
none
Return value:
Object dening the x-scale.
Example:
The following examples look for a Virtual Instrument Panel named Voltage and get the used x-scale
object. GetScaleObjX of the rst example gets the Graphics Board, in the second 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.');
}
}
See also Additional Objects (Int*)
1158 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
D.5.3 Virtual Instrument Methods: VisPlot/VisPlot2 Methods
AddVars Appends variables to the SubPlot.
AddResVars Appends variables from a specic result le to the SubPlot.
Clear Removes all variables from SubPlot.
SetXVar Sets x-axis variable.
SetScaleX Sets scale of x-axis.
SetScaleY Sets scale of y-axis.
SetDefScaleX Sets default scale of x-axis.
SetDefScaleY Sets default scale of y-axis.
DoAutoScaleX Scales the x-axis of the plot automatically.
DoAutoScaleY Scales the y-axis of the plot automatically.
DoAutoScaleY2 Scales the second y-axis of the plot automatically.
SetAutoScaleX Sets automatic scaling mode of the x-scale for local scales.
SetAutoScaleY Sets automatic scaling mode of the y-scale for local scales.
SetAdaptX Sets the adapt scale option of the x-scale for local scales.
SetAdaptY Sets the adapt scale option of the y-scale for local scales.
GetScaleObjX Returns used object dening x-scale.
GetScaleObjY Returns used object dening y-scale.
SetCrvDesc Sets the description of curves starting at curve number 'in-
dex'.
D.5.3.1 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 rst input parameter is an object
followed by a list of maximum nine variables. To append the same variable for several objects the rst
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.
DIgSILENT PowerFactory 15, User Manual 1159
APPENDIX D. DPL REFERENCE
1. Example: Append several variables for one single object.
2. Example: Append one variable for a list of objects.
! Append several variables for one single object.
object aPage;
object aGrf;
object aPlot;
object aScale;
! Note: object load is an interface parameter,
! therefore it is not defined here
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(load, 'm:U1:bus1','m:U1l:bus1','m:phiu1:bus1');
}
}
}
! Append several objects with one single variable
object aPage;
object aGrf;
object aPlot;
object aScale;
! objects load,line and xnet are interface parameters,
! therefore they are not defined here.
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars('m:U1:bus1',load, line, xnet);
}
}
}
See also Additional Objects (Int*)
D.5.3.2 AddResVars
void VisPlot.AddResVars (object Res, string V, object O1,...,O7)
void VisPlot.AddResVars (object Res, object O, string V1,...V7)
1160 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
Appends variables from a specic result le to the SubPlot. Combinations of result le and variables
which are already in the plot are not added.
Arguments:
object Res (obligatory) : Result object
plus
object O (obligatory) : Object for which variables V1..V8 are added
string V1..V8 (obligatory) : One to eight variables names for object O
or
string V (obligatory) : Variable name which is added for objects O1..O8
object O1..O8 (obligatory) : One to eight objects variable V
Return value:
none
D.5.3.3 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();
}
DIgSILENT PowerFactory 15, User Manual 1161
APPENDIX D. DPL REFERENCE
}
}
See also Additional Objects (Int*)
D.5.3.4 SetXVar
void VisPlot.SetXVar ([object obj, string varname])
Sets x-axis variable. If obj and varname are empty the default x-axis variable (time) is set.
Arguments:
object obj (optional) : x-axis object
string varname (optional) : variable of obj
Return value:
none
Example:
The following examples look for a Subplot named RST and set its x-axis variable. The rst example sets
an user dened 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);
1162 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
if (aPlot) {
! Set x-scale from 100 to 120
aPlot.SetScaleX(100,120);
! Set default x-scale variable (time)
aPlot.SetXVar();
}
}
}
See also Additional Objects (Int*)
D.5.3.5 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 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 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;
DIgSILENT PowerFactory 15, User Manual 1163
APPENDIX D. 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) {
! Set minimum and maximum
aPlot.SetScaleX(0,20);
}
}
}
! Set minimum and maximum, set map mode to log.
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set minimum and maximum, change to log scale
aPlot.SetScaleX(1,1000,1);
}
}
}
D.5.3.6 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 argu-
ments > 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
1164 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
! Automatic scaling of y-scale
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Automatic scaling
aPlot.SetScaleY();
}
}
}
! Set minimum and maximum without changing map mode
object aPage;
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);
}
}
}
See also Additional Objects (Int*)
DIgSILENT PowerFactory 15, User Manual 1165
APPENDIX D. DPL REFERENCE
D.5.3.7 SetDefScaleX
void VisPlot.SetDefScaleX ()
Sets default scale of x-axis (SetDesktop or SetVipage).
Arguments:
none
Return value:
none
Example:
The following example looks for a Subplot named 'RST'and sets the option 'Use local x-Axis'to 0. After
that the x-scale used is the Graphics Board (SetDesktop) or the Virtual Instrument Panel (SetVipage).
! Reset option 'Use local x-Axis'
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! 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();
}
}
}
See also Additional Objects (Int*)
D.5.3.8 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
1166 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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();
}
}
}
See also Additional Objects (Int*)
D.5.3.9 DoAutoScaleX
int VisPlot.DoAutoScaleX ()
Scales the x-axis of the plot automatically. The function works for local x-scales only. If the x-scale is
not local a warning is shown in the output window and 1 is returned by the function. This command
works for the plot VisPlot, VisHrm and VisPlot2.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST'and performs an automatic scaling.
! 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) {
DIgSILENT PowerFactory 15, User Manual 1167
APPENDIX D. DPL REFERENCE
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleX();
if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale x-axis');
}
}
}
}
See also VisFft Methods
SetViPage Methods
Graphic Board Methods
D.5.3.10 DoAutoScaleY
int VisPlot.DoAutoScaleY ()
Scales the y-axis of the plot automatically. The function works for local y-scales only. If the y-scale is
not local a warning is shown in the output window and 1 is returned by the function. This command
works for the plot VisPlot, VisHrm, VisFft and VisPlot2.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST'and performs an automatic scaling.
! 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');
}
}
}
1168 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
}
See also SetViPage Methods
D.5.3.11 DoAutoScaleY2
int VisPlot2.DoAutoScaleY2 ()
Scales the second y-axis of the plot automatically. The function works if the y-Axis is enabled and uses
the local y-scale settings. In any other case a warning is produced and the function returns 1.
Arguments:
none
Return value:
0 on success, 1 on error.
Example:
The following example looks for a subplot named 'RST'and performs an automatic scaling.
! perform autoscale of y2-axis
object aPage;
object aGrf;
object aPlot;
int iFailed;
iFailed=1;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot2',1);
if (aPlot) {
! perform automatic scaling now
iFailed = aPlot.DoAutoScaleY2();
if (iFailed > 0) {
! just to demonstrate the return value.
printf('Could not scale y2-axis');
}
}
}
}
See also SetViPage Methods
D.5.3.12 SetAutoScaleX
void VisPlot.SetAutoScaleX (int mode)
Sets automatic scaling mode of the x-scale for local scales.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1169
APPENDIX D. DPL REFERENCE
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 rst
example works ne, the second one generates an error message because the x-scale is unused.
! Set autoscale mode of x-scale to off
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set limits to change x-scale of page to used scale
aPlot.SetScaleX(0,10);
! Turn off automatic scaling of x-scale
aPlot.SetAutoScaleX(0);
}
}
}
! Try to set autoscale mode of x-scale to online
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis'of Subplot
aPlot.SetDefScaleX();
! Try to set automatic scaling of x-scale to Online
aPlot.SetAutoScaleX(2);
}
}
}
See also Additional Objects (Int*)
D.5.3.13 SetAutoScaleY
void VisPlot.SetAutoScaleY (int mode)
1170 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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 rst
example works ne, the second one generates an error message because the y-scale is unused.
! Set autoscale mode of y-scale to off
object aPage;
object aGrf;
object aPlot;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set limits to change y-scale of page to used scale
aPlot.SetScaleY(0,10);
! Turn off automatic scaling of y-scale
aPlot.SetAutoScaleY(0);
}
}
}
! Try to set autoscale mode of y-scale to online
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis'of Subplot
aPlot.SetDefScaleY();
! Try to set automatic scaling of y-scale to Online
aPlot.SetAutoScaleY(2);
}
}
}
See also Additional Objects (Int*)
DIgSILENT PowerFactory 15, User Manual 1171
APPENDIX D. DPL REFERENCE
D.5.3.14 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 rst
example works ne, the second one generates an error message because the x-scale is unused.
! Modify adapt scale option of Subplot
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set x-scale limits to set option 'Use local x-Axis'
aPlot.SetScaleX(0,20);
! Turn on adapt scale, use a trigger value of 3
aPlot.SetAdaptX(1,3);
! Turn off adapt scale
aPlot.SetAdaptX(0,3);
! Turn on adapt scale again, do not change the trigger value
aPlot.SetAdaptX(1);
}
}
}
! Try to turn on adapt scale of x-scale
object aPage;
object aGrf;object aPlot;
! Look for opened Graphics Board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local x-Axis'of Subplot
1172 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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);
}
}
}
See also Additional Objects (Int*)
D.5.3.15 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 rst example works ne, the second one generates an error message because the y-scale
is unused.
! Modify adapt scale option of Subplot
object aPage;
object aGrf;
object aPlot;
! Look for opened Graphics Board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Set y-scale limits to set option 'Use local y-Axis'
aPlot.SetScaleY(0,20);
! Turn on adapt scale, use a trigger value of 3
aPlot.SetAdaptY(1,3);
! Turn off adapt scale
aPlot.SetAdaptY(0,3);
! Turn on adapt scale again, do not change the trigger value
aPlot.SetAdaptY(1);
}
}
}
! Try to turn on adapt scale for y-scale
object aPage;
object aGrf;
DIgSILENT PowerFactory 15, User Manual 1173
APPENDIX D. 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) {
! 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);
}
}
}
See also Additional Objects (Int*)
D.5.3.16 GetScaleObjX
object VisPlot.GetScaleObjX ()
Returns used object dening x-scale. The returned object is the Subplot itself, the Virtual Instrument
Panel or the Graphics Board.
Arguments:
none
Return value:
Object dening the x-scale.
Example:
The following examples look for a Subplot named 'RST'and get the used x-scale object. There are three
different examples.
1. Example: Used scale is Graphics Board 2. Example: Used scale is Virtual Instrument Panel 3.
Example: Used scale is Subplot itself.
! Used scale is Graphics Board
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis'of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
1174 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
DIgSILENT PowerFactory 15, User Manual 1175
APPENDIX D. DPL REFERENCE
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.');
}
}
}
}
See also Additional Objects (Int*)
D.5.3.17 GetScaleObjY
object VisPlot.GetScaleObjY ()
Returns used object dening y-scale. The returned object is either the Subplot itself or the Plot Type
(IntPlot).
Arguments:
none
Return value:
Object dening the y-scale.
Example:
The following examples look for a Subplot named 'RST'and get the used y-scale object. There are three
different examples.
1. Example: Used scale is Plot Type.
2. Example: Used scale is Subplot itself.
! Used scale is Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
1176 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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.');
}
}
}
}
See also Additional Objects (Int*)
D.5.3.18 SetCrvDesc
object VisPlot.SetCrvDesc (int index, string desc [, string desc1]...)
Sets the description of curves starting at curve number 'index'. A list of descriptions can be set.
Arguments:
int index (obligatory) : Row of rst curve to change the description.
DIgSILENT PowerFactory 15, User Manual 1177
APPENDIX D. DPL REFERENCE
string desc (obligatory) : Description to set for curve in row index.
string desc1 (optional) : Description to set for curve in row index+1. Object dening the y-scale.
Example:
The following examples look for a Subplot named 'RST'sets the description for the curves dened in row
two and three. The rst variable's description remains unchanged.
! Modify descriptions
object aPage;
object aGrf;
object aPlot;
object aScale;
! Note: object load is an interface parameter,
! therefore it is not defined here! Look for opened graphics
board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Clear variable list
aPlot.Clear();
! Append variables
aPlot.AddVars(load, 'm:U1:bus1','m:U1l:bus1','m:phiu1:bus1');
! Set description of row 2 and 3
aPlot.SetCrvDesc(2'Line-Line Voltage','Angle');
}
}
}
D.5.4 Virtual Instrument Methods:VisFft Methods
DoAutoScaleX Scales the x-axis of the fft plot automatically.
D.5.4.1 DoAutoScaleX
int VisFft.DoAutoScaleX ()
Scales the x-axis of the fft plot automatically. After scaling the x-axis automatically the x-scale minimum
is 0. The maximum is nsamples/2 or nsamples/2 x fundamental frequency.
Arguments:
none
Return value:
always 0
Example:
1178 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
The following example looks for a FFT-Plot named 'FFT'and performs an automatic scaling.
! 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();
}
}
}
See also VisPlot Methods and SetViPage Methods
D.5.5 Virtual Instrument Methods: IntPlot Methods
SetScaleY Sets scale of y-axis.
SetAutoScaleY Sets automatic scaling mode of the y-scale.
SetAdaptY Sets the adapt scale option of the y-scale.
D.5.5.1 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 argu-
ments > 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;
DIgSILENT PowerFactory 15, User Manual 1179
APPENDIX D. DPL REFERENCE
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis'of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY();
}
}
}
}
! Set minimum and maximum without changing map mode
object aPage;
object aGrf;
object aPlot;
object aScale;
! 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);
1180 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
if (aPage) {
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
if (aPlot) {
! Reset option 'Use local y-Axis'of subplot
aPlot.SetDefScaleY();
! Get object defining scale (now IntPlot)
aScale=aPlot.GetScaleObjY();
if (aScale) {
! Perform auto scaling
aScale.SetScaleY(1,1000,1);
}
}
}
}
See also Additional Objects (Int*)
D.5.5.2 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);
DIgSILENT PowerFactory 15, User Manual 1181
APPENDIX D. DPL REFERENCE
}
}
}
}
See also Additional Objects (Int*)
D.5.5.3 SetAdaptY
void IntPlot.SetAdaptY (int mode [, double offset])
Sets the adapt scale option of the y-scale.
Arguments:
int mode (obligatory) : Possible values: 0 off, 1 on
double offset (optional) : Offset, unused if mode is off or empty
Return value:
none
Example:
The following examples look for a Subplot named 'RST', gets its Plot Type and changes the adapt scale
option of the scale.
! Modify adapt scale option of Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Get subplot named 'RST'
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);
}
}
1182 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
}
}
See also Additional Objects (Int*)
D.5.6 Graphic Board Methods (SetDesktop)
AddPage Adds an existing page to an existing graphics board.
GetPage Searches, activates and returns a graphics page in the cur-
rently open graphics board.
DoAutoScaleX Scales the x-axes of all plots in the graphics board which
use the x-axis scale dened in the graphics board.
SetAdaptX Sets the adapt scale option of the x-scale.
SetAutoScaleX Sets the automatic scaling mode of the x-scale.
SetResults Sets default Results (ElmRes) of graphics board.
SetScaleX Sets scale of x-axis. Invalid arguments like neg. limits for
log. scale are not set.
SetXVar Sets x-axis variable.
Show Shows the page with the same name as O" or the page
with name name" in the graphics board.
WriteWMF Exports the currently open graphic in the graphics board
to a WMF gure.
D.5.6.1 AddPage
object SetDesktop.AddPage (object page2add)
Adds an existing page to an existing graphics board
Graphics board (SetDesktop) is open:
Page is already part of the graphics board
bring the page to the front;
return the page
Page is not part of the graphics board
add the vi-panel (SetVipage) or the graphic (IntGrfnet) to the graphics board and bring it to
the front;
return the page created
Graphics board (SetDesktop) is closed
Page is already part of the graphics board
do nothing;
return the paged
Page is not part of the graphics board
add the vi-panel (SetVipage) or the single line graphics (SetDeskpage pointing to page) to
the graphics board;
return the page created
Page2copy is NULL
do nothing;
return NULL
Page2copy is neither a virtual instrument panel nor a graphic (internal name IntGrfnet)
DIgSILENT PowerFactory 15, User Manual 1183
APPENDIX D. DPL REFERENCE
do nothing;
return NULL
Arguments:
object page2add (obligatory): The page to add to the desktop. The page might be a virtual instrument
panel (internal name: SetVipage) or a graphic (internal name: IntGrfnet)
Return value:
The created page (SetVipage) or NULL if the desktop was not changed by AddPage.
Example:
object desktop, ! graphic board
pagecopied; ! page created by
AddPage
! get the desktop object (SetDesktop) of
! the actual graphic window
desktop = GetGraphBoard();
if (desktop=NULL) {
Error('Please open the graphic window first');
exit();
}
! add PageTemplate to desktop (it is assumed that PageTemplate is a
! virtual instrument panel stored in the Contents" of the DPL script.
Info('Copying %o...',PageTemplate);
pagecopied = desktop.AddPage(PageTemplate);
if (pagecopied) {
if (pagecopied=PageTemplate)
Info('...page was already in desktop');
} else {
Info('...to %o',pagecopied);
}
} else {
Warn('...failed');
}
D.5.6.2 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)
1184 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
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);
}
See also Data Container
D.5.6.3 DoAutoScaleX
int SetDesktop.DoAutoScaleX ()
Scales the x-axes of all plots in the graphics board which use the x-axis scale dened 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();
}
See also
VisFft Methods
VisPlot Methods
SetViPage Methods
DIgSILENT PowerFactory 15, User Manual 1185
APPENDIX D. DPL REFERENCE
D.5.6.4 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);
}
See also Data Container
D.5.6.5 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);
1186 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
}
See also Data Container
D.5.6.6 SetResults
void SetDesktop.SetResults (object res)
Sets default Results (ElmRes) of Graphics Board.
Arguments:
object res (obligatory) : Results to set (ElmRes) or NULL to reset.
Return value:
none
Example:
The following example looks for an opened Graphics Board and sets its default results to the results
object named 'Results'.
object aGrf;
! Look for opened graphics board.
aGrf=GetGraphBoard();
if (aGrf) {
! Set default results object
aGrf.SetResults(Results);
}
See also Data Container
D.5.6.7 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 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 an opened Graphics Board and set its x-axis scale. There are three dif-
ferent examples. 1. Example: Scale x-axis automatically 2. Example: Set minimum to 0 and maximum
to 20. 3. Example: Set minimum to 1 and maximum to 1000. Changes to a log. scale
DIgSILENT PowerFactory 15, User Manual 1187
APPENDIX D. DPL REFERENCE
! 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);
}
See also Data Container
D.5.6.8 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 rst example
sets an user dened 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();
1188 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
if (aGrf) {
! Set default x-axis variable (time)
aGrf.SetXVar();
}
See also Data Container
D.5.6.9 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
gures.
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();
}
}
See also Data Container
D.5.6.10 WriteWMF
void SetDesktop.WriteWMF (string lename)
Exports the currently open graphic in the graphics board to a WMF gure.
Arguments:
string name (obligatory) : Filename without extension.
DIgSILENT PowerFactory 15, User Manual 1189
APPENDIX D. DPL REFERENCE
Return value:
none
Example:
See SetDesktop.Show()
See also Data Container
D.5.7 Text Box Methods (SetLevelvis)
The following functions must have a pre-selected group of text boxes on which these functions shall be
applied. This set of text boxes is dened by the SetLevelvis-variables aLevList, iForWhat and aSymList:
aLevList: Denes the layer (e.g. 'Object Names', 'Results',...)
iForWhat: Denes the type of the graphic object (0=all, 1=nodes, 2=branches, 3= symbol depen-
dent)
aSymList: The symbol description (see class IntSym) can be selected here (e.g.: 'Terminal', 'Point
Terminal', '2-Winding Transformer',...). This entry is only relevant if iForWhat = 3.
AdaptWidth Resizes the selected group of text boxes to their given en-
try.
Align Aligns the text within a text box.
ChangeFont Sets the font number used in selected group of text boxes.
ChangeFrameAndWith Sets the visibility of a frame and the width (in number of
letters) of text boxes.
ChangeLayer Sets text boxes on a given layer.
ChangeRefPoints Sets the reference points between a text box and its parent
object.
Mark Marks the selected group of text boxes in the currently
shown diagram.
Reset Resets the text box settings.
D.5.7.1 AdaptWidth
void SetLevelvis.AdaptWidth ()
This function resizes the selected group of text boxes to their given entry.
Arguments:
none
Return value:
none
D.5.7.2 Align
void SetLevelvis.Align (int iPos)
1190 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
This function aligns the text within a text box.
Arguments:
int iPos (obligatory): Alignment position
0=left
1=middle
2=right)
Return value:
none
D.5.7.3 ChangeFont
void SetLevelvis.ChangeFont (int iFont)
This function sets the font number used in selected group of text boxes.
Arguments:
int iFont (obligatory): Font number (default fonts range from 0 to 13)
Return value:
none
D.5.7.4 ChangeFrameAndWidth
void SetLevelvis.ChangeFrameAndWidth (int iFrame, int iWidth)
This function sets the visibility of a frame and the width (in number of letters) of text boxes.
Arguments:
int iFrame (obligatory): Sets the frame on/off
0: no frame
1: show frame
-1: ignores the entry
int iWidth (obligatory): Sets the width in number of letters
Return value:
none
D.5.7.5 ChangeLayer
void SetLevelvis.ChangeLayer (string sLayer)
This function sets text boxes on a given layer.
Arguments:
string sLayer (obligatory): Layer name (e.g. 'Object Names', 'Results', 'Invisible Objects',..)
Return value:
DIgSILENT PowerFactory 15, User Manual 1191
APPENDIX D. DPL REFERENCE
none
D.5.7.6 ChangeRefPoints
void SetLevelvis.ChangeRefPoints (int iParRef, int iTBRef)
This function sets the reference points between a text box and its parent object, e.g. if the result box of
a busbar shall be shown on top of a drawn bar instead of below the bar the values change from (6,4)
to (4,6). The integer values describe the position of the reference points within a rectangle (0=center,
1=middle right, 2=top right,..):
4 3 2
5 0 1
6 7 8
Arguments:
int iParRef (obligatory): Denes the reference point on the parent object (e.g. busbar)
int iTBRef (obligatory): Denes the reference point on the text box
Return value:
none
D.5.7.7 Mark
void SetLevelvis.Mark ()
Marks the selected group of text boxes in the currently shown diagram.
Arguments:
none
Return value:
none
D.5.7.8 Reset
void SetLevelvis.Reset (int iMode)
This function resets the text box settings.
Arguments:
int iMode (obligatory):
0: reset to default (e.g. position)
1=only font
2=shift to original layer (result boxes to layer 'Results', object names to layer 'Object Names')
Return value:
none
1192 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
D.5.8 Table Report Methods (ComTablereport)
AddColumn Adds a column to the table.
AddCurve Adds a curve to a plot.
AddHeader Adds a header to the report.
AddInvisibleFilter Adds an invisible lter (for storing objects and/or
strings) to the report.
AddListFilter Adds a list lter to the report.
AddListFilterEntries Adds entries to existing list lter of the report.
AddPlot Adds a plot to the report.
AddRow Adds a row to the table.
AddTable Adds a table to the report.
AddTextFilter Adds a text lter to the report.
AddXLabel Sets a label to the next x-value.
DisableAutomaticRowNumbering Disables automatic row numbering.
EnableAutomaticRowNumbering Enables automatic row numbering.
SetBarLimits Sets bar limits for all bar cells in an existing column.
SetCellAccess Makes a cell accessible.
SetCellEdit Makes cell editable.
SetCellValueToBar Fills cell with a bar.
SetCellValueToCheckbox Fills cell with a check box.
SetCellValueToDate Fills cell with a date.
SetCellValueToDouble Fills cell with a double value.
SetCellValueToInt Fills cell with an integer value.
SetCellValueToString Fills cell with a string value.
SetCellValueToObject Fills cell with an object.
SetColumnHeader Sets caption text in existing column of the table.
SetCurveValue Adds a y-value at a certain x-value to a curve.
SetDialogSize Sets the width and height for the report dialog.
SetListFilterSelection Sets selected entry in existing list lter.
SetNumberFormatForPlot Sets number format for tick descriptions of plot.
SetSorting Sets initial sorting of table.
SetStatusText Sets text in user-denable eld of status bar.
SetTextAxisDistForPlot Sets distance between axis and tick descriptions for
axis of plot.
SetTicksForPlot Sets number of ticks for axis of plot.
SetTitle Sets the title for the report dialog's title bar.
D.5.8.1 ComTablereport.AddColumn
void ComTablereport.AddColumn (string tableId, string columnId, string caption[, int column-
Width, int hasAutoFilter, int isSortable, int isScrollable])
Adds a column to the table.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Add column with this column id
string caption (obligatory): Text shown in column header (lines separated by '\n')
DIgSILENT PowerFactory 15, User Manual 1193
APPENDIX D. DPL REFERENCE
int columnWidth (optional):
>0: initial column width in pixel,
-1: automatic column width (default)
int hasAutoFilter (optional):
0: no auto lter (default),
1: add auto lter
int isSortable (optional):
0: column is not sortable,
1: column is sortable (default)
int isScrollable (optional):
0: column is x (all columns left of the column must also be x),
1: column is scrollable (default)
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.AddColumn('table', 'scenario', 'Scenario', 100, 1, 1, 0);
D.5.8.2 ComTablereport.AddCurve
int ComTablereport.AddCurve (string plotId, string yText[, string yUnit, int lineColor, int lineWidth,
int lineStyle])
Adds a curve to a plot.
Arguments:
string plotId (obligatory): Plot id (for future use)
string yText (obligatory): Description for curve
string yUnit (optional): Unit for curve
int lineColor (optional): Line color for curve
int lineWidth (optional): Line width for curve
int lineStyle (optional): Line style for curve
Return value:
0: Error,
>0: Curve id
1194 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
D.5.8.3 ComTablereport.AddHeader
void ComTablereport.AddHeader (string label, string text)
Adds a header to the report.
Arguments:
string label (obligatory): Label
string text (obligatory): Text
Return value:
none
D.5.8.4 ComTablereport.AddInvisibleFilter
int ComTablereport.AddInvisibleFilter (string id, string value, object obj)
Adds an invisible lter (for storing objects and/or strings) to the report.
Arguments:
string id (obligatory): Identier
string value (obligatory): String value to be stored
object obj (obligatory): Object to be stored
Return value:
0: error (lter with given id already exists)
1: Filter was added to report
D.5.8.5 ComTablereport.AddListFilter
int ComTablereport.AddListFilter (string id, string label, string captions[, set lterObjects, string
selEntry, int showObjects])
or alternative
int ComTablereport.AddListFilter (string id, string label[, int showObjects])
Adds a list lter to the report.
Arguments:
string id (obligatory): Identier
string label (obligatory): Label text
string captions (obligatory): Captions for list entries ('\n'separated)
set lterObjects (optional): Objects for list entries (default: empty)
string selEntry (optional):Selected list entry (default: empty)
int showObjects (optional):
DIgSILENT PowerFactory 15, User Manual 1195
APPENDIX D. DPL REFERENCE
0: Objects dialogs are not accessible (default)
1: Objects dialogs are accessible
Return value:
0: error (lter with given id already exists)
1: Filter was added to report
D.5.8.6 ComTablereport.AddListFilterEntries
int ComTablereport.AddListFilterEntries (string id, string captions[, set lterObjects])
Adds entries to existing list lter of the report.
Arguments:
string id (obligatory): Identier
string captions (obligatory): Captions for list entries ('\n'separated)
set lterObjects (optional): Objects for list entries (default: empty)
Return value:
0: Error (lter with given id does not exist)
1: Entries were added to lter
D.5.8.7 ComTablereport.AddPlot
void ComTablereport.AddPlot (string plotId, string xText[, string xUnit, string header, int textLa-
bels, int splitCurves, int trueDots, int niceTicks])
Adds a plot to the report.
Arguments:
string plotId (obligatory): Plot id (for future use)
string xText (obligatory): Description for x-axis
string xUnit (optional): Unit for x-axis
string header (optional): Header text for plot
int textLabels (optional):
0: Use values for x-axis (default)
1: Use text labels for x-axis
int splitCurves (optional):
0: Interpolate missing values (default)
1: Split curve at missing values
int trueDots (optional):
0: Draw only line (default)
1: Draw true dots additionally
int niceTicks (optional):
0: No nice ticks (default)
1: Nice ticks on x-axis
1196 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
2: Nice ticks on y-axis
3: Nice ticks on both axes
D.5.8.8 ComTablereport.AddRow
void ComTablereport.AddRow (string tableId, string rowId[, string caption])
Adds a row to the table.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string rowId (obligatory): Add row with this column id
string caption (optional): Text shown in row header (only one line, default: '')
Return value:
none
Example:
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.AddColumn('table', 'scenario', 'Scenario', 100, 1, 1, 0);
report.AddRow('table', 'peak', 'Peak Load');
D.5.8.9 ComTablereport.AddTable
void ComTablereport.AddTable (string tableId)
Adds a table to the report.
Arguments:
string tableId (obligatory): String Id for new table (for future use)
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
DIgSILENT PowerFactory 15, User Manual 1197
APPENDIX D. DPL REFERENCE
D.5.8.10 ComTablereport.AddTextFilter
int ComTablereport.AddTextFilter (string id, string label[, string unit, string text])
Adds a text lter to the report.
Arguments:
string id (obligatory): Identier
string label (obligatory): Label text
string unit (optional): Unit text (default: empty)
string text (optional): Text for text eld
Return value:
0: Error (lter with given id already exists)
1: Filter was added to report
D.5.8.11 ComTablereport.AddXLabel
int ComTablereport.AddXLabel (string plotid, string label)
Sets a label to the next x-value.
Arguments:
string plotId (obligatory): Plot id (for future use)
string label (obligatory): Label text
Return value:
0: Error (curve not found)
1: ok
D.5.8.12 ComTablereport.DisableAutomaticRowNumbering
void ComTablereport.DisableAutomaticRowNumbering (string tableId)
Disables automatic row numbering.
Row labels are lled with user-dened row labels. Automatic row numbering is enabled per default.
Arguments:
string tableId (obligatory): String id for new table (for future use)
Return value:
none
Example:
object report;
1198 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.DisableAutomaticRowNumbering('table');
D.5.8.13 ComTablereport.EnableAutomaticRowNumbering
void ComTablereport.EnableAutomaticRowNumbering (string tableId)
Enables automatic row numbering.
Row labels are lled automatically with ascending number (starting at 1), user-dened row labels are
ignored. Automatic row numbering is enabled per default.
Arguments:
string tableId (obligatory): String id for new table (for future use)
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.EnableAutomaticRowNumbering('table');
D.5.8.14 ComTablereport.SetBarLimits
void ComTablereport.SetBarLimits (string tableId, string columnId, int min, int max)
Sets bar limits for all bar cells in an existing column.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
int min (obligatory): Minimum value for bar.
int max (obligatory): Maximum value for bar.
Return value:
none
DIgSILENT PowerFactory 15, User Manual 1199
APPENDIX D. DPL REFERENCE
D.5.8.15 ComTablereport.SetCellAccess
void ComTablereport.SetCellAccess (string tableId, string columnId, string rowId, object acces-
sObject[, string parameterName])
Makes a cell accessible. Adds 'Edit', 'Edit and Browse'and 'Mark in Graphic'functionality for given object.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
object accessObject (obligatory): Access object
string parameterName (optional):
Set: Dialog is shown with page of variable,
Empty: Dialog is shown with stored dialog page
Return value:
none
D.5.8.16 ComTablereport.SetCellEdit
void ComTablereport.SetCellEdit (string tableId, string columnId, string rowId, set editObjects)
Makes cell editable.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
object editObjects (obligatory): Edit objects
Return value:
none
D.5.8.17 ComTablereport.SetCellValueToBar
void ComTablereport.SetCellValueToBar (string tableId, string columnId, string rowId, string barDesc[,
string helpText, int border])
Fills cell with a bar.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
1200 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
string barDesc (obligatory): Bar description containing segment widths and colors:
20,1;14,2;36,3;30,4" => old style ( = relative, %);
90;140#10,1;7,2;18,3;15,4" => old style, limits (= relative, %, limits are ignored);
0#20,1;14,2;36,3;30,4" => relative, %;
0#90;140#10,1;7,2;18,3;15,4" => relative, limits;
1#20,1;34,2;70,3;100,4" => absolute, %;
1#90;140#100,1;107,2;125,3;140,4" => absolute, limits;
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by '\n'; default:
empty)
int border (optional):
0: No border;
1: Border (default)
Return value:
none
D.5.8.18 ComTablereport.SetCellValueToCheckbox
void ComTablereport.SetCellValueToCheckbox (string tableId, string columnId, string rowId, int
value[, string helpText])
Fills cell with a check box.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
int value (obligatory): Integer value for checkbox (0 or 1)
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by '\n'; default:
empty)
Return value:
none
D.5.8.19 ComTablereport.SetCellValueToDate
void ComTablereport.SetCellValueToDate (string tableId, string columnId, string rowId, int timeS-
tamp[, string format, string helpText, int color, int fontStyle])
Fills cell with a date.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row idText shown in column header (lines separated by '\n')
int timeStamp (obligatory): Time stamp value for date and time
DIgSILENT PowerFactory 15, User Manual 1201
APPENDIX D. DPL REFERENCE
string format (optional): Format for displaying date (for future use; default: '')
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by '\n'; default:
empty)
int color (optional): Color for text (default: 1=black)
int fontStyle (optional):
0: normal (default),
1: bold,
2: italic,
3: bold and italic
Return value:
none
D.5.8.20 ComTablereport.SetCellValueToDouble
void ComTablereport.SetCellValueToDouble (string tableId, string columnId, string rowId, double
value[, string format, string helpText, int color, int fontStyle])
Fills cell with a double value.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
double value (obligatory): Double value
string format (optional): Printf-like format for displaying double value (default: '%f')
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by '\n'; default:
empty)
int color (optional): Color for text (default: 1=black)
int fontStyle (optional):
0: normal (default),
1: bold,
2: italic,
3: bold and italic
Return value:
none
D.5.8.21 ComTablereport.SetCellValueToInt
void ComTablereport.SetCellValueToInt (string tableId, string columnId, string rowId, int value[,
string format, string helpText, int color, int fontStyle])
Fills cell with an integer value.
Arguments:
1202 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
int value (obligatory): Integer value
string format (optional): Printf-like format for displaying integer value (default: '%d')
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by '\n'; default:
empty)
int color (optional): Color for text (default: 1=black)
int fontStyle (optional):
0: normal (default),
1: bold,
2: italic,
3: bold and italic
Return value:
none
D.5.8.22 ComTablereport.SetCellValueToObject
void ComTablereport.SetCellValueToObject (string tableId, string columnId, string rowId, object
obj[, string format, string helpText, int color, int fontStyle])
Fills cell with an object.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
object obj (obligatory): Object to be set
string format (optional): Format for displaying object (default: '')
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by '\n'; default:
empty)
int color (optional): Color for text (default: 1=black)
int fontStyle (optional):
0: normal (default),
1: bold,
2: italic,
3: bold and italic
Return value:
none
DIgSILENT PowerFactory 15, User Manual 1203
APPENDIX D. DPL REFERENCE
D.5.8.23 ComTablereport.SetCellValueToString
void ComTablereport.SetCellValueToString (string tableId, string columnId, string rowId, string
value[, string format, string helpText, int color, int fontStyle])
Fills cell with a string value.
Arguments:
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Column id
string rowId (obligatory): Row id
string value (obligatory): String value
string format (optional): Printf-like format for displaying string value (default: '%s')
string helpText (optional): Text shown in balloon help of the cell (multiple lines separated by '\n'; default:
empty)
int color (optional): Color for text (default: 1=black)
int fontStyle (optional):
0: normal (default),
1: bold,
2: italic,
3: bold and italic
Return value:
none
Example:
object report, oScenario;
string sName;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.AddColumn('table', 'scenario', 'Scenario', 100, 1, 1, 0);
report.AddRow('table', 'active', 'Active');
oScenario = GetActiveScenario();
sName = oScenario:loc_name;
report.SetCellValueToString('table', 'scenario', 'active', sName);
D.5.8.24 ComTablereport.SetColumnHeader
void ComTablereport.SetColumnHeader (string tableId, string columnId, string caption)
Sets caption text in existing column of the table.
Arguments:
1204 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
string tableId (obligatory): String id for new table (for future use)
string columnId (obligatory): Add column with this column id
string caption (obligatory): Text shown in column header (lines separated by '\n')
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.AddColumn('table', 'scenario', '', 100, 1, 1, 0);
report.SetColumnHeader('table', 'scenario', 'Scenario');
D.5.8.25 ComTablereport.SetCurveValue
int ComTablereport.SetCurveValue (string plotId, int curveId, double xValue[, double yValue])
Adds a y-value at a certain x-value to a curve.
Arguments:
string plotId (obligatory): Plot id (for future use)
int curveId (obligatory): Curve id (value returned by DeneCurve(); 0: no curve, only new x-value)
double xValue (obligatory): x-value for given y-value
double yValue (optional): y-value
Return value:
0: Error (curve not found),
1: ok
D.5.8.26 ComTablereport.SetDialogSize
void ComTablereport.SetDialogSize (int xSize, int ySize)
Sets the width and height for the report dialog.
Arguments:
int xSize (obligatory): Dialog width in pixel
int ySize (obligatory): Dialog height in pixel
Return value:
DIgSILENT PowerFactory 15, User Manual 1205
APPENDIX D. DPL REFERENCE
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.SetDialogSize(700, 860);
D.5.8.27 ComTablereport.SetListFilterSelection
int ComTablereport.SetListFilterSelection (string id, string selEntry)
Sets selected entry in existing list lter.
Arguments:
string id (obligatory): Identier
string selEntry (optional): Selected list entry (default: empty)
Return value:
0: Error (lter with given id does not exist)
1: Entry was set as selected lter entry
D.5.8.28 ComTablereport.SetNumberFormatForPlot
void ComTablereport.SetNumberFormatForPlot (string plotid, string axis, int characters, int pre-
cision)
Sets number format for tick description of plot.
Arguments:
string plotid (obligatory): Plot id (for future use)
string axis (obligatory): 'X'for x-axis or 'Y'for y-axis
int characters (obligatory): Number of characters
int precision (obligatory): Number of digits after the point
Return value:
0: Error (plot not found)
1: ok
D.5.8.29 ComTablereport.SetSorting
int ComTablereport.SetSorting (string tableId, string columnId[, int descending])
Sets initial sorting of table.
1206 DIgSILENT PowerFactory 15, User Manual
D.5. REPORTING AND GRAPHICAL REPRESENTATION
Arguments:
string tableId (obligatory): Table id (for future use)
string columnId (obligatory): Sort according to column with this column id
int descending (optional):
0: ascending order (default)
1: descending order
Return value:
0; Error,
1: ok
D.5.8.30 ComTablereport.SetStatusText
void ComTablereport.SetStatusText (string tableId, string text)
Sets text in user-denable eld of status bar.
Arguments:
string tableId (obligatory): Table id (for future use)
string text (obligatory): User-dened status text.
D.5.8.31 ComTablereport.SetTextAxisDistForPlot
int ComTablereport.SetTextAxisDistForPlot (string plotId, string axis, int distance)
Sets distance between axis and tick description for axis of plot.
Arguments:
string plotId (obligatory): Plot id (for future use)
string axis (obligatory): 'X'for x-axis or 'Y'for y-axis
int distance (obligatory): Distance between text and axis
Return value:
0: Error (plot not found),
1: ok
D.5.8.32 ComTablereport.SetTicksForPlot
int ComTablereport.SetTicksForPlot (string plotId, string axis, int main, int number)
Sets number of ticks for axis of plot.
Arguments:
string plotId (obligatory): Plot id (for future use)
string axis (obligatory): 'X'for x-axis or 'Y'for y-axis
DIgSILENT PowerFactory 15, User Manual 1207
APPENDIX D. DPL REFERENCE
int main (obligatory):
1: Set main ticks
0: Set help ticks
int number (obligatory): New number of ticks
Return value:
0: Error (plot not found),
1: ok
D.5.8.33 ComTablereport.SetTitle
void ComTablereport.SetTitle (string title)
Sets the title for the report dialog's title bar.
Arguments:
string title (obligatory): Dialog title
Return value:
none
Example:
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.SetTitle('Input Data Summary');
D.6 Data Container
D.6.1 SetFilt Methods
D.6.1.1 SetFilt.Get
Set SetFilt.Get ()
Returns a container with the ltered objects.
Arguments:
none
Return value:
The set of ltered objects
Example:
1208 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
The following example shows the names of objects ltered by the FiltLongLines.SetFilt lter
set S;
object O;
S = FiltLongLines.Get();
O = S.First();
while (O) {
O.ShowFullName();
O=S.Next();
}
D.6.2 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.
D.6.2.1 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();
}
DIgSILENT PowerFactory 15, User Manual 1209
APPENDIX D. DPL REFERENCE
D.6.2.2 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();
}
D.6.2.3 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:
none
Example:
The following example adds all loads and lines from the general DPL selection to the selection MySe-
lection".
set S;
S = SEL.AllLines();
MySelection.AddRef(S);
S = SEL.AllLoads();
MySelection.AddRef(S);
1210 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
D.6.2.4 SetSelect.Clear
void SetSelect.Clear ()
Empties the selection.
Arguments:
none
Return value:
none
Example:
The following example creates a selection of all loads in the general DPL selection.
set S;
S = SEL.AllLines();
MySelection.Clear();
MySelection.AddRef(S);
D.6.2.5 SetSelect.AllElm
set SetSelect.AllElm ()
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 window.
set S;
object O;
S = SEL.AllElm();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.6 SetSelect.AllLines
set SetSelect.AllLines ()
Returns all lines and line routes in the selection.
DIgSILENT PowerFactory 15, User Manual 1211
APPENDIX D. DPL REFERENCE
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(); }
D.6.2.7 SetSelect.AllBars
set SetSelect.AllBars ()
Returns all busbars and terminals in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all bars in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllBars();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.8 SetSelect.AllLoads
set SetSelect.AllLoads ()
Returns all loads in the selection.
Arguments:
1212 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
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();
}
D.6.2.9 SetSelect.AllAsm
set SetSelect.AllAsm ()
Returns all asynchronous machines in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all asynchronous machines in the general DPL selection to the output
window.
set S;
object O;
S = SEL.AllAsm();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.10 SetSelect.AllSym
set SetSelect.AllSym ()
Returns all synchronous machines in the selection.
Arguments:
none
DIgSILENT PowerFactory 15, User Manual 1213
APPENDIX D. DPL REFERENCE
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();
}
D.6.2.11 SetSelect.AllTypLne
set SetSelect.AllTypLne ()
Returns all line types in the selection.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all line types in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllTypLne();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.12 SetSelect.AllBreakers
set SetSelect.AllBreakers ()
Returns all breakers in the selection.
Arguments:
none
Return value:
1214 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
The set of objects
Example:
The following example writes all breakers in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.13 SetSelect.AllClosedBreakers
set SetSelect.AllClosedBreakers ()
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 output window.
set S;
object O;
S = SEL.AllClosedBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.2.14 SetSelect.AllOpenBreakers
set SetSelect.AllOpenBreakers ()
Returns all open breakers in the selection.
Arguments:
none
Return value:
The set of objects
DIgSILENT PowerFactory 15, User Manual 1215
APPENDIX D. DPL REFERENCE
Example:
The following example writes all open breakers in the general DPL selection to the output window.
set S;
object O;
S = SEL.AllOpenBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.3 Feeder (SetFeeder) Methods
GetAll Returns all objects in the feeder.
GetBuses Returns all nodes in the feeder.
GetBranches Returns all branches in the feeder.
D.6.3.1 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();
D.6.3.2 SetFeeder.GetBuses
set SetFeeder.GetBuses ()
Returns all busbars and terminals in the feeder.
Arguments:
none
Return value:
The set with all busbars and terminals
1216 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
Example:
The following example gets all feeder bars.
set S;
S = Feeder1.GetBuses();
D.6.3.3 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();
D.6.4 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.
D.6.4.1 SetPath.GetAll
set SetPath.GetAll ()
Returns all objects in the path denition.
Arguments:
none
Return value:
The set of objects
Example:
DIgSILENT PowerFactory 15, User Manual 1217
APPENDIX D. DPL REFERENCE
The following example writes all objects in the path denition to the output window.
set S;
object O;
S = aPath.GetAll();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.2 SetPath.GetBusses
set SetPath.GetBusses ()
Returns all busbars and terminals in the path denition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all busbars and terminals in the path denition to the output window.
set S;
object O;
S = aPath.GetBusses();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.3 SetPath.GetBranches
set SetPath.GetBranches ()
Returns all branches in the path denition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all branches in the path denition to the output window.
1218 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
set S;
object O;
S = aPath.GetBranches();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.4 SetPath.AllBreakers
set SetPath.AllBreakers ()
Returns all breakers in the path denition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all breakers in the path denition to the output window.
set S;
object O;
S = aPath.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.5 SetPath.AllClosedBreakers
set SetPath.AllClosedBreakers ()
Returns all closed breakers in the path denition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all closed breakers in the path denition to the output window.
set S;
object O;
DIgSILENT PowerFactory 15, User Manual 1219
APPENDIX D. DPL REFERENCE
S = aPath.AllClosedBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.4.6 SetPath.AllOpenBreakers
set SetPath.AllOpenBreakers ()
Returns all open breakers in the path denition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all open breakers in the path denition to the output window.
set S;
object O;
S = aPath.AllOpenBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.6.5 IntDplmap Methods
Objects of class IntDplmap offer the functionality of associative containers (storing key-value pairs).
Clear Empties referenced container and resets typing informa-
tion.
Contains Checks if given key" is contained in the container.
First Returns the rst key/value" pair stored in the container.
GetValue Returns the associates value for given key".
Insert Inserts given key" and value" as an associated pair into
the container.
Next Returns the next key/value" pair relative to the last key/-
value" pair in the container.
Remove Removes given key and associated value from the con-
tainer.
Size Returns the number of key-value pairs stored in the con-
tainer.
Update Updates entries in the map.
1220 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
D.6.5.1 IntDplmap.Clear
void IntDplmap.Clear ()
Empties referenced container and resets typing information.
Arguments:
none
Return value:
none
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.2 IntDplmap.Contains
int IntDplmap.Contains (int | double | string | object | set key)
Checks if given key is contained in the container.
Arguments:
int | double | string | object | set key (obligatory): Key of the associated pair in the container
Return value:
1: if an entry of same key is contained;
0: else
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.3 IntDplmap.First
int IntDplmap.First (int |double |string |object |set key, int |double |string |object |set value)
The First command returns the rst key/value pair stored in the container. Note:
- The sequence of the returned entries is determined by internal criteria and cannot be changed.
- It is not allowed to modify a container while iterating over it. If doing so, the next call of the Next
command will return a value of 1.
Exception: Function Update does not invalidate current position.
Arguments:
int | double |string |object |set key (obligatory): Key of the associated pair in the container
int |double |string |object |set value (obligatory): Value of the associated pair in the container
Return value:
0: on success; returned data are stored in the parameters key and value
DIgSILENT PowerFactory 15, User Manual 1221
APPENDIX D. DPL REFERENCE
1: on error, if no rst entry is available in the container (e.g. end is reached)
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.4 IntDplmap.GetValue
int|double|string|object|set IntDplmap.GetValue (int |double |string |object |set key [, int error])
Returns the associated value for given key".
Arguments:
int |double |string |object |set key (obligatory): Key of element to nd. int error (optional):
1: Failure, key was not found in container. The returned value is undened in this case. 0: Success,
key was found in the container. If the key" is contained, the value will be returned.
Return value:
The value" which is associated to the given key".
Note: The returned value is undened if key" is not associated with any value. Therefore, it's always
important to check if key" is contained in the map before using the value returned by this function. As
an alternative, the function can be called with an additional error" variable. The value of that variable
will indicate whether returned values is valid or not.
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.5 IntDplmap.Insert
void IntDplmap.Insert (int | double | string | object | set key, int | double | string | object | set value)
Inserts given key" and value" as an associated pair into the container.
If this is the rst insertion of an element, the container is (automatically) typed by given data types of
key" and value". From now on, only keys and values of that type are accepted. (This typing is removed
when clear() is called.)
If given key" already exists in the container, its associated value will be overwritten. (Each key can only
be contained once in a map (no multi-map support).) (Type of key" and value" can be different, of
course.)
Note: Sets are always inserted by value, not by reference!
Arguments:
int |double |string |object |set key (obligatory): Key of the associated pair in the container.
int |double |string |object |set value (obligatory): Value of the associated pair in the container.
Return value:
none
1222 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.6 IntDplmap.Next
int IntDplmap.Next (int |double |string |object |set key, int |double |string |object |set value)
The Next command returns the next key/value pair relative to the last key/value pair in the container.
Note:
- The sequence of the returned entries is determined by internal criteria and cannot be changed.
- It is not allowed to modify a container while iterating over it. If doing so, the next call of the Next
command will return a value of 1.
Exception: Function Update does not invalidate current position.
Arguments:
int |double |string |object |set key (obligatory): Key of the associated pair in the container
int |double |string |object |set value (obligatory): Value of the associated pair in the container
Return value:
0: on success; returned data are stored in the parameters key and value
1: on error, if no next entry is available in the container (e.g. end is reached)
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.7 IntDplmap.Remove
void IntDplmap.Remove (int | double | string | object | set key)
Removes given key and associated value from the container. No error will occur, if the key is not
contained in the container.
Arguments:
int | double | string | object | set key (obligatory): Key of the associated pair in the container
Return value:
none
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.8 IntDplmap.Size
int IntDplmap.Size ()
DIgSILENT PowerFactory 15, User Manual 1223
APPENDIX D. DPL REFERENCE
Returns the number of key-value pairs stored in the container.
Arguments:
none
Return value:
1: on success;
0: else
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.9 IntDplmap.Update
int IntDplmap.Update (int | double | string | object | set key, int | double | string | object | set value)
Is a special insert function that can be used for updating entries in the map. It can only be used if the
key" is already contained in the map.
Arguments:
int |double |string |object |set key (obligatory): Key of the associated pair in the container
int |double |string |object |set value (obligatory): Value of the associated pair in the container
Return value:
1: on success;
0: else
Example:
See Examples for IntDplmap Methods D.6.5.10
D.6.5.10 Examples for IntDplmap methods:
The following examples show how to use the different IntDplmap methods:
Example 1:
!'map'refers to an IntDplmap object stored inside the script
int count, i, tmp;
object o;
set aSet, bSet;
string s, s2;
!clear map
map.Clear();
count = map.Size();
printf('Map Size: %d', count);
!example for an int -> string map
1224 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
!insert of some elements
map.Insert(1, 'one');
map.Insert(2, 'two');
!3 not inserted
map.Insert(4, 'four');
map.Insert(5, 'five');
count = map.Size();
printf('Map Size: %d', count);
!get values from map
for (i = 1; i < count + 1; i += 1){
tmp = map.Contains(i);
if (tmp > 0){
s = map.GetValue(i);
printf('%d = %s', i, s);
} else {
printf('%d not contained', i);
}
}
!replace existing elements
map.Insert(1, '1');
map.Insert(2, '2');
map.Insert(4, '4');
map.Insert(5, '5');
count = map.Size();
printf('Map Size: %d', count);
for (i = 1; i < count + 1; i += 1){
s = map.GetValue(i, tmp);
if (tmp = 0){
printf('%d = %s', i, s);
} else {
printf('%d not contained', i);
}
}
map.Clear();
count = map.Size();
printf('Map Size: %d', count);
!example for an string -> string map
map.Insert('A', 'a');
map.Insert('B', 'b');
map.Insert('C', 'c');
map.Insert('D', 'd');
s2 = 'D';
tmp = map.Contains(s2);
if (tmp > 0){
s = map.GetValue(s2);
printf('%s = %s', s, s2);
}
s2 = 'F'; !not contained!
tmp = map.Contains(s2);
if (tmp > 0){
s = map.GetValue(s2);
printf('%s = %s', s, s2);
}
map.Clear();
!example for an int -> object map
!Terminal1 and Terminal2 object must be accessible
DIgSILENT PowerFactory 15, User Manual 1225
APPENDIX D. DPL REFERENCE
map.Insert(1, Terminal1);
map.Insert(2, Terminal2);
tmp = map.Contains(1);
if (tmp > 0){
o = map.GetValue(1);
o.ShowFullName();
}
tmp = map.Contains(2);
if (tmp > 0){
o = map.GetValue(2);
o.ShowFullName();
}
map.Clear();
!example for an object -> object map
map.Insert(Terminal1, Terminal2);
tmp = map.Contains(Terminal1);
if (tmp > 0){
o = map.GetValue(Terminal1);
o.ShowFullName();
}
map.Clear();
printf('\n');
!example for string -> set map
aSet.Add(Terminal1);
map.Insert('set1', aSet);
tmp = map.Contains('set1');
if (tmp > 0){
bSet = map.GetValue('set1');
o = bSet.First();
while (o) {
o.ShowFullName();
o = bSet.Next();
}
}
printf('\n');
! Terminal2 added to aSet, but not reflected by set stored in map
(sets are always inserted by value, not by reference)
aSet.Add(Terminal2);
tmp = map.Contains('set1');
if (tmp > 0){
bSet = map.GetValue('set1');
o = bSet.First();
while (o) {
o.ShowFullName();
o = bSet.Next();
}
}
printf('\n');
! insert current aSet, so Terminal2 will be contained in this set
map.Insert('set1', aSet);
tmp = map.Contains('set1');
if (tmp > 0){
bSet = map.GetValue('set1');
o = bSet.First();
while (o) {
1226 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
o.ShowFullName();
o = bSet.Next();
}
}
Example 2:
!Iteration over a map
!'map'refers to an object of class IntDplmap that is stored inside the
!script
int t, key, m;
string value;
!insertion of some elements
map.Insert(1, 'one');
map.Insert(2, 'two');
map.Insert(3, 'three');
map.Insert(4, 'four');
map.Insert(5, 'five');
!iterate over the map and print its content
for (t = map.First(key, value); t = 0; t = map.Next(key, value)){
printf('%d -> %s', key, value);
}
!change value of all odd keys into upper-case while iterating over map
printf('Modifying map...');
for (t = map.First(key, value); t = 0; t = map.Next(key, value)){
m = modulo(key, 2);
if (m = 1){
value = toupper(value);
map.Update(key, value);
}
}
!iterate over the map and print its content
for (t = map.First(key, value); t = 0; t = map.Next(key, value)){
printf('%d -> %s', key, value);
}
D.6.6 IntDplvector Methods
Objects of class IntDplvector offer the functionality of array based containers.
Clear Empties the container and resets the typing information.
Get Returns the element stored at given position in the con-
tainer.
IndexOf Returns the position where the given element is stored in
the container.
Insert Inserts given element into the container.
Remove Removes the element stored at given position from the
container.
Size Returns the number of elements stored in the container.
Sort Sorts items of the vector.
DIgSILENT PowerFactory 15, User Manual 1227
APPENDIX D. DPL REFERENCE
D.6.6.1 IntDplvec.Clear
void IntDplvec.Clear ()
Empties the container; this will also reset the typing information
Arguments:
none
Return value:
none
Example:
See example for IntDplvec methods D.6.6.8
D.6.6.2 IntDplvec.Get
int|double|string|object|set IntDplvec.Get (int position)
Returns the element stored at given position in the container.
Arguments:
int position (obligatory): Position in the container. The position is zero-based and must always be lesser
than the container's size.
Return value:
Element stored at the given position in the container.
Example:
See example for IntDplvec methods D.6.6.8
D.6.6.3 IntDplvec.IndexOf
int IntDplvec.IndexOf (int |double |string |object |set element [, int startposition])
Returns the position where the given element is stored in the container.
Arguments:
int |double |string |object |set element (obligatory): Given element for which the position will be
searched.
int startposition (optional): Start position from which the next occurrence greater or equal to this position
is searched.
Return value:
Position of the the given element in the container.
The returned position is zero-based. If no occurrence was found, -1 is returned.
Example:
1228 DIgSILENT PowerFactory 15, User Manual
D.6. DATA CONTAINER
See example for IntDplvec methods D.6.6.8
D.6.6.4 IntDplvec.Insert
void IntDplvec.Insert ([int position], int |double |string |object |set element)
Insert given element into the container.
Arguments:
int position (optional): If an optional (zero- based) position is given, the insertion is done at this position;
any old entry at that position will be overwritten.
Note: The size of the vector is automatically increased if given position is greater than current size of
the vector.
Else, if the position is omitted the element will be put at the end of the vector (implicating the vector's
size to grow).
int |double |string |object |set element (obligatory): Element which is to be inserted.
Return value:
none
Example:
See example for IntDplvec methods D.6.6.8
D.6.6.5 IntDplvec.Remove
void IntDplvec.Remove (int position)
Removes the element stored at given position from the container.
Arguments:
int position (obligatory): Given position at which the element is to be removed.
The position is zero-based and must always be less than the container's size.
Return value:
none
Example:
See example for IntDplvec methods D.6.6.8
D.6.6.6 IntDplvec.Size
int IntDplvec.Size ()
Returns the number of elements stored in the container
Arguments:
DIgSILENT PowerFactory 15, User Manual 1229
APPENDIX D. DPL REFERENCE
none
Return value:
Number of elements stored in the container.
Example:
See example for IntDplvec methods D.6.6.8
D.6.6.7 IntDplvec.Sort
void IntDplvec.Sort ([int order, string attribute])
Sorts item of vector
Depending on the type of elements stored inside the vector, the elements are sorted according to:
- string: lexically
- double/int: according to value
- object: according to full name (path + name).
For objects, the sorting criterion can be changed to any object attribute by specifying the desired at-
tribute name.
Arguments:
int order: Order for the sorting: 1: Descending, 0: Ascending
string attribute: Value according to which the sorting is done (for objects the default is full name)
Return value:
none
Example:
See example for IntDplvec methods D.6.6.8
D.6.6.8 Example for IntDplvec methods:
The following example shows how to use the different IntDplvec methods:
!'vec'always refers to an IntDplvec object that is stored inside the script
int count, i, tmp;
!clear vector at the beginning
vec.Clear();
!output vector's size
count = vec.Size();
printf('Vec Size: %d', count);
!insert some integers
for (i = 0; i < 10; i += 1){
vec.Insert(i);
1230 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
}
!output all values stored in vector
count = vec.Size();
printf('Vec Size: %d', count);
for (i = 0; i < count; i += 1){
tmp = vec.Get(i);
printf('Vector[%d] = %d', i, tmp);
}
!replace elements
for (i = 0; i < count; i += 1){
tmp = vec.Get(i);
tmp = tmp
*
10;
vec.Insert(i, tmp);
}
!output all values stored in vector
count = vec.Size();
printf('Vec Size: %d', count);
for (i = 0; i < count; i += 1){
tmp = vec.Get(i);
printf('Vector[%d] = %d', i, tmp);
}
!delete every 2nd element
for (i = count - 1; i >= 0; i -= 2){
vec.Remove(i);
}
!output all values stored in vector
count = vec.Size();
printf('Vec Size: %d', count);
for (i = 0; i < count; i += 1){
tmp = vec.Get(i);
printf('Vector[%d] = %d', i, tmp);
}
!insert some values and search their positions afterwards
vec.Insert(0, 33);
vec.Insert(2, 33);
vec.Insert(33);
tmp = vec.IndexOf(33);
while (tmp > -1){
printf('Value 33 found at: %d', tmp);
tmp += 1;
tmp = vec.IndexOf(33, tmp);
}
!empty the vector
vec.Clear();
D.7 PowerFactoryCommands
D.7.1 General Functions and Methods
DIgSILENT PowerFactory 15, User Manual 1231
APPENDIX D. DPL REFERENCE
Execute Executes an analysis command.
ResetCalculation Resets the calculations.
GetCaseCommand Returns default command objects.
Exe Returns default command objects.
PostCommand Adds a command to the command pipe.
ClearCommands Clears the command pipe.
D.7.1.1 Execute
Commands can be executed using the Execute() method:
int Com.Execute ()
Arguments:
none
Example:
The following example executes a command named 'Com'
Com.Execute();
D.7.1.2 ResetCalculation
void ResetCalculation ()
Resets all calculations and destroys all volatile calculation results.
Arguments:
none
Return value:
none
Results that have been written to result objects (for display in graphs) will not be destroyed. All results
that are visible in the single line diagrams, however, will be destroyed.
Example:
The following example resets all calculations
ResetCalculation();
D.7.1.3 GetCaseCommand
object GetCaseCommand (string ClassName)
This command is obsolete. Please use the more versatile GetCaseObject instead.
See GetCaseObject().
1232 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
D.7.1.4 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'command 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:
none
Example:
The following command connects two terminals via an existing coupler 'NameBreaker'.
while (Obj) {
NameBreaker = ...;
NameTerm1 = ...;
NameTerm2 = ...;
ObjTerm = SEL.First();
if (ObjTerm) {
printf('Connect to Terminal: %s',NameTerm2);
sExec = sprintf('connect obj=%s b1=%s
b2=%s', NameBreaker,NameTerm1,NameTerm2);
Exe(sExec);
Obj = SelGrids.Next();
} }
D.7.1.5 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 nished.
Arguments:
string Command (obligatory) : The command string
Return value:
none
Example:
The following command causes the PowerFactory program to end after the DPL script has nished.
PostCommand('exit');
D.7.1.6 ClearCommands
DIgSILENT PowerFactory 15, User Manual 1233
APPENDIX D. DPL REFERENCE
void ClearCommands ()
Clears the command pipe of the input window.
Arguments:
none
Return value:
none
Example:
The following command clears the input window.
ClearCommands();
D.7.2 Load Flow Calculation (ComLdf) Methods
validLDF Checks for a valid load-ow result.
Execute Executes the command.
D.7.2.1 validLDF
int validLDF ()
Checks to see if the last load-ow results are still valid and available.
Arguments:
none
Return value:
0 if no load-ow results are available
Example:
The following example checks if a load-ow is available, and performs one when not.
int valid;
valid = validLDF();
if (.not.valid) {
Ldf.Execute();
}
D.7.2.2 ComLdf.Execute
int ComLdf.Execute ()
Execute a load-ow calculation.
Arguments:
1234 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
none
Return value:
0 on success
Example:
The following example executes the ComLdf command name 'Ldf'
Ldf.Execute();
D.7.3 Short-Circuit Calculation (ComShc)
validSHC Checks for a valid short-circuit result.
Execute Executes the command.
D.7.3.1 validSHC
int validSHC ()
Checks to see if the last short-circuit results are still valid and available.
Arguments:
none
Return value:
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();
}
D.7.3.2 ComShc.Execute
int ComShc.Execute ()
Executes a short-circuit calculation.
Arguments:
none
Return value:
0 on success
DIgSILENT PowerFactory 15, User Manual 1235
APPENDIX D. DPL REFERENCE
Example:
The following example execute the ComShc command named 'Shc'
Shc.Execute();
D.7.4 Time-Domain Simulation
validRMS Checks for a valid simulation result.
validSIM Checks for a valid simulation result.
Execute Executes the command.
D.7.4.1 validRMS
int validRMS ()
Checks to see if the last RMS simulation results are still valid and available.
Arguments:
none
Return value:
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();
}
D.7.4.2 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.
1236 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
int valid;
valid = validSIM();
if (.not.valid) {
output('No simulation result available');
}
D.7.4.3 ComInc.Execute
int ComInc.Execute ()
Executes a calculation of initial values.
Arguments:
none
Return value:
0 on success
Example:
The following example executes the ComInc command named 'Inc'
Inc.Execute();
D.7.5 Result Export (ComRes) Methods
ExportFullRange Exports the whole data range.
FileNmResNm Sets the lename for the data export.
D.7.5.1 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) {
DIgSILENT PowerFactory 15, User Manual 1237
APPENDIX D. DPL REFERENCE
Export:pResult = O;
Export.ExportFullRange();
O = S.Next();
}
D.7.5.2 ComRes.FileNmResNm
int ComRes.FileNmResNm ()
Sets the lename for the data export.
Arguments:
none
Return value:
1
D.7.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 command.
D.7.6.1 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.
D.7.6.2 ComOutage.GetObject
object ComOutage.GetObject (int line)
Get the element stored in line number line" in the table of ComOutage. The line index starts with 0.
Arguments:
int line (obligatory):line index, if index exceeds the range NULL is returned
Return value:
the element of line line" in the table.
Example:
1238 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
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();
}
}
}
D.7.6.3 ComOutage.RemoveEvents
void ComOutage.RemoveEvents (string type, int info)
Removes events stored inside the command.
Arguments:
string type (optional):
none remove all events stored inside ComOutage
'Lod remove all EvtLod
'Gen' remove all EvtGen
'Switch' remove all EvtSwitch
int info (optional):
1 show info message in output window (default)
0 do not show info message
Return value:
none
Example:
The following example shows how to remove events from ComOutage
object aCmd,
aOutage;
set Outages;
DIgSILENT PowerFactory 15, User Manual 1239
APPENDIX D. DPL REFERENCE
aCmd = GetCaseObject('
*
.ComRel3'); ! get rel. command from study case
if (aCmd) {
! get all outages of which the names starts with L"
Outages = aCmd.GetContents('L
*
.ComOutage');
! remove the events
for (aOutage=Outages.First(); aOutage; aOutage=Outages.Next()) {
aOutage.RemoveEvents(0);! delete remaining,suppress info message
}
}
D.7.7 Contingency Analysis (ComSimoutage) Methods
Reset Resets the intermediate results.
Execute Executes a ComSimoutage after resetting the results.
ExecuteCntcy Executes a ComSimoutage for all outage cases stored in
the object O, without resetting results.
AddCntcy 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 report-
ing command to produce the contingency reports.
D.7.7.1 ComSimoutage.Reset
int ComSimoutage.Reset ()
Resets the intermediate results of the outage simulation.
Arguments:
none
Return value:
O on success, 1 on error.
D.7.7.2 ComSimoutage.Execute
int ComSimoutage.Execute ()
Executes an outage simulation after resetting the results.
Arguments:
none
Return value:
O on success, 1 on error.
D.7.7.3 ComSimoutage.Reset
int ComSimoutage.ExecuteCntcy (object O)
1240 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
Executes an (additional) ComSimoutage, without resetting results. The results of the outage analy-
ses will be added to the intermediate results. Object O" must be a ComSimoutage object. Outage
denitions 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.
D.7.7.4 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 object. If the outage denition
has already been analyzed, it will be ignored. The ComOutage 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.
D.7.7.5 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 denitions and adds the results to the intermediate
results.
set s;
object o;
s = SEL.GetAll('ComOutage');
o = s.First();
DIgSILENT PowerFactory 15, User Manual 1241
APPENDIX D. DPL REFERENCE
while (o) {
CA.AddCntcy(o);
o = s.Next();
}
D.7.7.6 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.
D.7.8 Contingency Denition (ComNmink) Methods
AddRef Adds shortcuts.
Clear Empties the selection.
GetAll Returns all objects of class 'ClassName'.
D.7.8.1 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:
none
Example:
The following prepares and executes an outage simulation for all high loaded lines.
PrepOut.Clear();
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
if (O:c:loading>75) {
1242 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
PrepOut.AddRef(O);
}
O = S.Nextmatch();
}
PrepOut.Execute();
D.7.8.2 ComNmink.Clear
void ComNmink.Clear ()
Empties the selection.
Arguments:
none
Return value:
none
Example:
The following example creates a selection of all loads.
PrepOut.Clear();
S = AllRelevant();
O = S.Firstmatch('ElmLne');
while (O) {
if (O:c:loading>75) {
PrepOut.AddRef(O);
}
O = S.Nextmatch();
}
PrepOut.Execute();
D.7.8.3 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;
DIgSILENT PowerFactory 15, User Manual 1243
APPENDIX D. DPL REFERENCE
S = Prep.GetAll('ElmTr3');
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
D.7.9 Reliability Assessment (ComRel3) Methods
Execute Executes the command.
RemoveOutages Removes contingency denitions.
RemoveEvents Removes events stored in contingencies.
AnalyseElmRes Evaluates results object created in last calculation.
CreateFaultCase Creates fault cases for the components stored in the set
'Components'.
D.7.9.1 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();
D.7.9.2 ComRel3.RemoveOutages
void ComRel3.RemoveOutages ()
Removes all contingency denitions (*.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:
1244 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
The following example removes all ComOutage objects stored inside the ComRel command in the study
case.
object aCmd;
aCmd = GetCaseObject('
*
.ComRel3'); ! get the command from study case
if (aCmd) {
aCmd.RemoveOutages(0); ! suppress info message
}
D.7.9.3 ComRel3.RemoveEvents
void ComRel3.RemoveEvents (string type, int info)
Removes events stored inside the contingencies (*.ComOutage) inside the command.
Arguments:
string type (optional):
none remove all events stored inside the ComOutages inside ComRel3
'Lod' remove all EvtLod
'Gen' remove all EvtGen'
'Switch' remove all EvtSwitch'
int info (optional):
1 show info message in output window (default)
0 do not show info message
Return value:
none
Example:
The following example shows how to remove events from the ComOutage commands stored inside
ComRel3:
object aCmd;
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
}
D.7.9.4 ComRel3.AnalyseElmRes
int ComRel3.AnalyseElmRes (int error)
Evaluate the results object created by the last calculation. Performs exactly the same like pressing the
DIgSILENT PowerFactory 15, User Manual 1245
APPENDIX D. DPL REFERENCE
button 'Perform Evaluation of Result File'in the dialogue box of the command.
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);
}
}
}
D.7.9.5 ComRel3.CreateFaultCase
int ComRel3.CreateFaultCase (set Components, int iLevel [, int iCreateSwtEvts])
Creates fault cases for the components stored in the set 'Components'.
Arguments:
set Components (obligatory) : Components to create fault case for.
int iLevel (obligatory) : Fault case level
0: Dene simultaneous fault case
1: Dene n-1 fault case(s)
2: Dene n-2 fault case(s)
int iCreateSwtEvts (optional) : Create switch events for boundary circuit breakers.
0: Do not create switch events (default)
1: Create switch events
Return value:
!=0 in case of errors
1246 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
D.7.10 DPL Command (ComDpl) Methods
D.7.10.1 ComDpl.Execute
int ComDpl.Execute (user dened arguments)
Executes an external DPL script as a subroutine.
Arguments:
user dened arguments
Return value:
0 on success
Example:
The following example performs a load-ow and calls the DPL subroutine CheckVoltages" to check the
voltage conditions.
int err;
err = Ldf.Execute();
if (.not.err) err = CheckVoltages.Execute(0.94, 1.05);
if (err) printf('Voltage conditions are violated');
D.7.11 ComImport Methods
GetCreatedObjects Returns the created objects after execution of a DGS im-
port.
GetModiedObjects Returns the modied objects after execution of a DGS im-
port.
D.7.11.1 ComImport.GetCreatedObjects
set ComImport.GetCreatedObjects ()
Returns the created objects after execution of a DGS import.
Please note: The sets of created objects is only available directly after a DGS import and only at the
command instance that has been executed. The sets are not stored on database.
Arguments:
none
Return value:
Collection of objects that have been created during DGS import.
Example:
The following example returns the created objects after execution of a DGS import:
set created;
DIgSILENT PowerFactory 15, User Manual 1247
APPENDIX D. DPL REFERENCE
object obj;
ImportCmd.Execute(); !execute dgs import
printf('Created objects:');
created = ImportCmd.GetCreatedObjects();
for(obj = created.First(); obj; obj = created.Next()) {
printf('%o', obj);
}
D.7.11.2 ComImport.GetModiedObjects
set ComImport.GetModiedObjects ()
Returns the modied objects after execution of a DGS import.
Please note: The sets of created objects is only available directly after a DGS import and only at the
command instance that has been executed. The sets are not stored on database.
Arguments:
none
Return value:
Collection of objects that have been modied during DGS import.
Example:
The following example returns the modied objects after execution of a DGS import:
set modified;
object obj;
ImportCmd.Execute(); !execute dgs import
printf('\nModified objects:');
modified = ImportCmd.GetModifiedObjects();
for(obj = modified.First(); obj; obj = modified.Next()) {
printf('%o', obj);
}
D.7.12 ComMerge Methods
ExecuteWithActiveProject Compares objects according to settings in ComMerge ob-
ject and shows merge browser. Active project ignored.
Compare Compares objects according to settings in ComMerge ob-
ject. Merge browser is not shown.
CompareActive Compares objects according to settings in ComMerge ob-
ject. Merge browser is not shown. Active project ignored.
ExecuteRecording Compares objects according to settings in ComMerge ob-
ject and shows merge browser. Sets recording mode" to
record modications in the active scenario and/or expan-
sion stage.
PrintComparisonReport Prints all compare objects as a report to the output window.
SetAutoAssignmentForAll Sets the assignment of all compared objects automatically.
1248 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
CheckAssignments Checks if all assignments are correct and merge can be
done.
ShowBrowser Shows merge browser with initialized settings and all com-
pared objects.
Merge Checks assignments, creates target and prints merge re-
port to output window.
Reset Resets/clears and deletes all temp. object sets, created
internally for the comparison.
WereModicationsFound Checks, if modications were found in comparison.
PrintModications Prints modication for given objects if found in comparison.
SetObjectsToCompare Sets objects taken as top level objects for comparison.
GetCorrespondingObject Searches corresponding object for given object.
GetModication Gets modication of corresponding objects between
'Base'and 'Mod1'or 'Mod2'.
GetModicationResult Gets modication of compared objects between 'Mod1'and
'Mod2'.
GetModiedObjects Gets all objects with a certain modication status from
comparison.
D.7.12.1 ComMerge.ExecuteWithActiveProject
void ComMerge.ExecuteWithActiveProject ()
Compares objects according to settings in ComMerge object and shows merge browser. Active project
ignored.
Arguments:
none
Return value:
none
D.7.12.2 ComMerge.Compare
int ComMerge.Compare ()
Compares objects according to settings in ComMerge object. Merge browser is not shown.
Arguments:
none
Return value:
none
D.7.12.3 ComMerge.CompareActive
int ComMerge.Compare ()
Compares objects according to settings in ComMerge object. Merge browser is not shown. Active
project ignored.
DIgSILENT PowerFactory 15, User Manual 1249
APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
none
D.7.12.4 ComMerge.ExecuteRecording
int ComMerge.ExecuteRecording ()
Compares objects according to settings in ComMerge object and shows merge browser. Sets recording
mode" to record modications in the active scenario and/or expansion stage.
Arguments:
none
Return value:
none
D.7.12.5 ComMerge.PrintComparisonReport
void ComMerge.PrintComparisonReport (int mode)
Prints all compare objects as a report to the output window.
Arguments:
int mode (obligatory):
0: no report
1: only modied compare objects
2: all compare objects
Return value:
none
D.7.12.6 ComMerge.SetAutoAssignmentForAll
void ComMerge.SetAutoAssignmentForAll (int conictVal)
Sets the assignment of all compared objects automatically.
Arguments:
int conictVal (obligatory): Assignment of compared objects with undened auto values (e.g. conicts)
Return value:
none
D.7.12.7 ComMerge.CheckAssignments
1250 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
int ComMerge.CheckAssignments ()
Checks if all assignments are correct and merge can be done.
Arguments:
none
Return value:
0: ok,
1: canceled by user,
2: missing assignments found,
3: conicts found,
4: error
D.7.12.8 ComMerge.ShowBrowser
int ComMerge.ShowBrowser ()
Shows merge browser with initialized settings and all compared objects.
Arguments:
none
Return value:
0: browser was left with ok button,
1: browser was left with cancel button,
2: error
D.7.12.9 ComMerge.Merge
void ComMerge.Merge (int printReport)
Checks assignments, creates target and prints merge report to output window.
Arguments:
int printReport (obligatory):
1: merge report is printed (default)
0: merge report is not printed
-> always set to 0 in paste and split mode
Return value:
none
D.7.12.10 ComMerge.Reset
void ComMerge.Reset ()
Resets/clears and deletes all temp. object sets, created internally for the comparison.
Arguments:
DIgSILENT PowerFactory 15, User Manual 1251
APPENDIX D. DPL REFERENCE
none
Return value:
none
D.7.12.11 ComMerge.WereModicationsFound
int ComMerge.WereModicationsFound ()
Checks, if modications were found in comparison.
Arguments:
none
Return value:
1: Modications found in comparison,
0: All objects in comparison are equal
D.7.12.12 ComMerge.PrintModications
int ComMerge.PrintModocations (set | object obj)
Prints modication for given objects if found in comparison.
Arguments:
set | object obj (obligatory): Object or set of objects for which the modications are printed.
Return value:
1: Modications were printed,
0: Object(s) not found in comparison
D.7.12.13 ComMerge.SetObjectsToCompare
void ComMerge.SetObjectsToCompare (object base [, object mod1, object mod2])
Sets objects taken as top level objects for comparison.
Arguments:
object base (obligatory): Top level object taken as 'Base'
object mod1 (optional): Top level object taken as 'Mod1'
object mod2 (optional): Top level object taken as 'Mod2'
Return value:
none
D.7.12.14 ComMerge.GetCorrespondingObject
1252 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
object ComMerge.GetCorrespondingObject (object sourceObj, int target)
Searches corresponding object for given object.
Arguments:
object sourceObj (obligatory): Object for which corresponding object is searched.
int target(obligatory):
0: Get corresponding object from 'Base'
1: Get corresponding object from 'Mod1'
2: Get corresponding object from 'Mod2'
Return value:
Corresponding object or NULL
D.7.12.15 ComMerge.GetModication
int ComMerge.GetModication (object sourceObj [, int target])
Gets modication of corresponding objects between 'Base'and 'Mod1'or 'Mod2'.
Arguments:
object sourceObj (obligatory): Object from any source for which modication is searched.
int target(optional):
1: Get modication from 'Base'to 'Mod1'
2: Get modication from 'Base'to 'Mod2'
Return value:
0: error,
1: equal (no modocations),
2: modied,
3: added in Mod1/Mod2,
4: removed in Mod1/Mod2
D.7.12.16 ComMerge.GetModicationResult
int ComMerge.GetModicationResult (object sourceObj)
Gets modications of compared objects between Mod1 and Mod2.
Arguments:
object sourceObj (obligatory): Object from any source for which modication is searched.
Return value:
0: error,
1: equal (no modocations),
2: same modications in 'Mod1'and 'Mod2'(no conict)
3: different modications in 'Mod1'and 'Mod2'(conict)
DIgSILENT PowerFactory 15, User Manual 1253
APPENDIX D. DPL REFERENCE
D.7.12.17 ComMerge.GetModiedObjects
set ComMerge.GetModiedObjects (int modType [, int modSource])
Gets all objects with a certain modication status from comparison.
Arguments:
int modType (obligatory):
0: get unmodied objects,
1: get modied objects,
2: get sdded objects,
3: get removed obejcts
int ModSource (optional):
1: get objects with modication in 'Mod1'
2: get objects with modication in 'Mod 2'
Return value:
Set with objects found for given arguments.
Unmodied, modied and added objects are always from given modSource", removed objects are
always from 'Base'.
D.7.13 ComLink Methods
SendData Writes data of congured measurment objects to OPC
tags (OPC only).
ReceiveData Reads and processes values for all (in PF congured)
items from OPC server (OPC only).
D.7.13.1 ComLink.SendData
int ComLink.SendData ([int force])
Writes data of congured measurment objects to OPC tags (OPC only).
Arguments:
int force (optional) :
0: (=default) send only data that have been changed and difference between old and new value is
greater than congured deadband
1: forces (one-time) writing of all valueset.s (independet of previous value)
Return value:
Number of written items
Example:
object Mea;
set MeaSet;
!Set temp status for all measurement objects
MeaSet = AllRelevant('
*
.StaExt
*
');
1254 DIgSILENT PowerFactory 15, User Manual
D.7. POWERFACTORY COMMANDS
Mea = MeaSet.First();
while(Mea){
Mea.InitTmp();
Mea = MeaSet.Next();
}
!initialization by forced sending all values
Link.SendData(1);
D.7.13.2 ComLink.ReceiveData
int ComLink.ReceiveData ([int force])
Reads and processes values for all (in PF congured) items from OPC server (OPC only).
Arguments:
int force (optional) :
0: (=default) processes changed values received by PowerFactory via callback
1: forces (one-time) reading and processing of all values (independet of value changes)
Return value:
Number of read items
D.7.14 ComUcteexp Methods
D.7.14.1 ComUcteexp.BuildNodeNames
int ComUcteexp.BuildNodeNames ()
Builds the node names as used in UCTE export and makes them accessible via :UcteNodeName at-
tribute. The node names will only be available as long as topology has not been changed. They must
be re-build after any topology relevant modication.
Arguments:
none
Return value:
0: on success
1: on error (e.g. load ow calculation failed)
Example:
object com, term;
set terms;
int err;
!get ComUcteexp from active study case
com = GetCaseObject('ComUcteexp');
err = com.BuildNodeNames();
if (err > 0) {
Error('Error in determination of UCTE node names');
DIgSILENT PowerFactory 15, User Manual 1255
APPENDIX D. DPL REFERENCE
exit();
}
!output node names
terms = AllRelevant('
*
.');
for(term = terms.First(); term; term = terms.Next()) {
printf('Terminal:%o UCTE Name: %s', term, term:UcteNodeName);
}
D.8 Elements
Some object methods are specic for a type of object class. A result le object (ElmRes), for instance,
has a Write" method, which would not make sense for a load-ow command object. The general syntax
for an object method is the same as that for a set method:
object . [OBJMETHOD] (arguments) ;
For Feeder Methods please refer to Section D.6.3 Feeder (SetFeeder) Methods.
For Path Methods please refer to Section D.6.4 Path (SetPath) Methods.
D.8.1 Grid (ElmNet)
Activate Adds a grid to the active study case.
Deactivate Removes a grid from the active study case.
CalculateInterchangeTo Calculates the power ow from current grid to a connected
grid.
D.8.1.1 ElmNet.Activate
int ElmNet.Activate ()
Adds a grid to the active study case. Can only be applied if there are is no currently active calculation.
See also:
ResetCalculation
Arguments:
none
Return value:
0 on success, 1 on error.
D.8.1.2 ElmNet.Deactivate
int ElmNet.Deactivate ()
Removes a grid from the active study case.Can only be applied if there are is no currently active calcu-
lation.
1256 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
See also:
ResetCalculation
Arguments:
none
Return value:
0 on success, 1 on error.
D.8.1.3 ElmNet.CalculateInterchangeTo
int ElmNet.CalculateInterchangeTo(object net)
This function calculates the power ow from current grid to a connected grid. The values are stored in
current grid in the following attributes (old values are overwritten):
- Pinter: Active Power Flow
- Qinter: Reactive Power Flow
- ExportP: Export Active Power Flow
- ExportQ: Export Reactive Power Flow
- ImportP: Import Active Power Flow
- ImportQ: Import Reactive Power Flow
Arguments:
object net: Connected grid
Return value:
- < 0: error
- = 0: grids are not connected, no interchange exists
- > 0: ok
Example:
input: object from; object to
int res;
res = from.CalculateInterchangeTo(to);
if (res > 0){
printf('Pinter: %d', from:c:Pinter);
printf('Qinter: %d', from:c:Qinter);
printf('ExportP: %d', from:c:ExportP);
printf('ExportQ: %d', from:c:ExportQ);
printf('ImportP: %d', from:c:ImportP);
printf('ImportQ: %d', from:c:ImportQ);
}
D.8.2 Asynchronous Machine (ElmAsm)
D.8.2.1 ElmAsm.GetAvailableGenPower
double ElmAsm.GetAvailableGenPower ()
DIgSILENT PowerFactory 15, User Manual 1257
APPENDIX D. DPL REFERENCE
Returns the available power that can be dispatched from the generator, for the particular study time .
For the case of conventional generators (no wind generation selected), the available power is equal to
the nominal power specied.
For wind generators, the available power will depend on the wind model specied:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specied mean wind speed, the available power is calculated from
the Power Curve. If the units of the Power Curve are in MW, the returned value is directly the available
power. In the other hand, if the units are in PU, the returned value is multiplied by the nominal power of
the generator to return the available power.
3. Time Series Characteristics of Active Power Contribution: The available power is the average of the
power values (in MW) obtained from all the specied time characteristics for the current study time.
4. Time Series Characteristics of Wind Speed: The available power is calculated with the average of
the power values (in MW) calculated for all the specied time characteristics. A power value for any time
characteristic is calculated by obtaining the wind speed for the current study time, and then calculating
the power from the specied Power Curve. If the units of the Power Curve are in MW, the returned value
is directly the power value. In the other hand, if the units are in PU, the returned value is multiplied by
the nominal power of the generator to return the power value.
For motors, the available power is zero.
Arguments:
none
Return value:
Available generation power
Example:
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant('ElmAsm');
totpwr = 0; ! initialize cummulative generation
! get cummulative generation
for (obj = objs.First(); obj; obj = objs.Next()){
pwr = obj.GetAvailableGenPower();
totpwr += pwr;
}
printf('Cummulative generation is %f', totpwr);
D.8.3 Double Fed Induction Machine (ElmAsmsc)
D.8.3.1 ElmAsmsc.GetAvailableGenPower
double ElmAsmsc.GetAvailableGenPower ()
Returns the available power that can be dispatched from the generator, for the particular study time .
For the case of conventional generators (no wind generation selected), the available power is equal to
the nominal power specied.
1258 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
For wind generators, the available power will depend on the wind model specied:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specied mean wind speed, the available power is calculated from
the Power Curve. If the units of the Power Curve are in MW, the returned value is directly the available
power. In the other hand, if the units are in PU, the returned value is multiplied by the nominal power of
the generator to return the available power.
3. Time Series Characteristics of Active Power Contribution: The available power is the average of the
power values (in MW) obtained from all the specied time characteristics for the current study time.
4. Time Series Characteristics of Wind Speed: The available power is calculated with the average of
the power values (in MW) calculated for all the specied time characteristics. A power value for any time
characteristic is calculated by obtaining the wind speed for the current study time, and then calculating
the power from the specied Power Curve. If the units of the Power Curve are in MW, the returned value
is directly the power value. In the other hand, if the units are in PU, the returned value is multiplied by
the nominal power of the generator to return the power value.
For motors, the available power is zero.
Arguments:
none
Return value:
Available generation power
Example:
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant('ElmAsmsc');
totpwr = 0; ! initialize cummulative generation
! get cummulative generation
for (obj = objs.First(); obj; obj = objs.Next()){
pwr = obj.GetAvailableGenPower();
totpwr += pwr;
}
printf('Cummulative generation is %f', totpwr);
D.8.4 Feeder (ElmFeeder)
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.
D.8.4.1 ElmFeeder.GetAll
set ElmFeeder.GetAll ([int iNested])
Returns a set with all objects belonging to this feeder.
DIgSILENT PowerFactory 15, User Manual 1259
APPENDIX D. DPL REFERENCE
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iNested=1, other-
wise 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 = GetActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('
*
.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Elements in feeder %s',pFeeder:loc_name);
aAll = pFeeder.GetAll(1);
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
General Functions and Methods
Data Container
D.8.4.2 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 iNested=1, other-
wise 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 = GetActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('
*
.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
1260 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
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 Functions and Methods
Data Container
D.8.4.3 ElmFeeder.GetBranches
set ElmFeeder.GetBranches ([int iNested])
Returns a set with all branch elements belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iNested=1, other-
wise 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 = GetActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('
*
.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Branches in feeder %s',pFeeder:loc_name);
aBranches = pFeeder.GetBranches(1);
for (pObj=aBranches.First(); pObj; pObj=aBranches.Next()){
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
See also
General Functions and Methods
Data Container
D.8.4.4 ElmFeeder.GetNodesBranches
set ElmFeeder.GetNodesBranches ([int iNested])
DIgSILENT PowerFactory 15, User Manual 1261
APPENDIX D. DPL REFERENCE
Returns a set with all buses and branches belonging to this feeder.
Arguments:
int iNested (optional) : In case of nested feeders, all elements will be returned when iNested=1, other-
wise 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 = GetActiveProject();
if (pPrj) {
aFeeders = pPrj.GetContents('
*
.ElmFeeder',1);
aFeeders.SortToVar(0,'loc_name');
for (pFeeder=aFeeders.First(); pFeeder; pFeeder=aFeeders.Next()){
printf('Branches and Nodes in feeder %s',pFeeder:loc_name);
aAll = pFeeder.GetNodesBranches(1);
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
D.8.4.5 ElmFeeder.GetObjs
set ElmFeeder.GetObjs (string ClassName [, int 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 iNested=1, other-
wise 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 = GetActiveProject();
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()) {
1262 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
D.8.5 Boundary (ElmBoundary)
D.8.5.1 ElmBoundary.IsSplitting
int ElmBoundary.IsSplitting (set notsplittingCubicles)
Checks if the boundary splits the network into two regions. A boundary is called splitting, if and only if,
for each boundary cubicle, the adjacent terminal and the adjacent branch component belong to different
sides of the boundary.
Arguments:
set notsplittingCubicles (obligatory) : All cubicles that prevent the boundary from being splitting are lled
into this set.
Return value:
none
Example:
set cubs;
object cub;
int res;
res = boundary.IsSplitting(cubs);
if (res){
printf('Boundary is splitting');
}else{
printf('Boundary is not splitting because of');
for (cub = cubs.First(); cub; cub = cubs.Next()){
cub.ShowFullName();
}
}
D.8.5.2 ElmBoundary.AddCubicle
int ElmBoundary.AddCubicle (object cubicle, int orientation)
This method adds a given cubicle with given orientation to an existing boundary. The cubicle is only
added, if it is not yet contained (with same orientation).
Return value: 0: cubicle was successfully added 1: cubicle was not added because it is already
contained (including given orientation)
D.8.5.3 ElmBoundary.Clear
void ElmBoundary.Clear()
This method removes all boundary cubicles from an existing boundary.
DIgSILENT PowerFactory 15, User Manual 1263
APPENDIX D. DPL REFERENCE
D.8.5.4 ElmBoundary.GetInterior
set ElmBoundary.GetInterior()
Returns a all elements that are contained in the interior region of the boundary.
D.8.6 Cubicles (StaCubic)
AddBreaker creates a new StaSwitch inside the cubicle.
RemoveBreaker This function deletes all StaSwitch objects stored in the
StaCubic object.
GetConnectedMajorNodes Returns all major nodes that can be reached starting a
topology search from the cubicle in direction of the refer-
enced branch element.
GetAll Returns a set of network components that are collected
by a topological traversal starting at the cubicle (StaCubic)
where the function is called.
D.8.6.1 StaCubic.AddBreaker
object StaCubic.AddBreaker ()
This function creates a new StaSwitch inside the cubicle it was called on. A new StaSwitch is only
created in case that the StaCubic object does not contain a StaSwitch object yet. A StaSwitch object is
created by this function is always of usage 'circuit-breaker'and its state is 'closed'.
Arguments:
none
Return value:
StaSwitch object in case a new switch was created
null if no object was created. This means a StaSwitch object does already exist.
Example:
set cubics;
object cubic, swt;
cubics = AllRelevant('
*
.StaCubic');
!create StaSwitches in all cubicles that do not contain a switch yet
for(cubic = cubics.First(); cubic; cubic = cubics.Next()) {
swt = cubic.AddBreaker();
if (swt) {
swt.ShowFullName();
}
}
D.8.6.2 StaCubic.RemoveBreaker
object StaCubic.RemoveBreaker ()
1264 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
This function deletes all StaSwitch objects stored in the StaCubic object it was called on.
Example:
set cubics;
object cubic;
cubics = AllRelevant('
*
.StaCubic');
!delete StaSwitches from all cubicles
for(cubic = cubics.First(); cubic; cubic = cubics.Next()) {
cubic.RemoveBreaker();
}
D.8.6.3 StaCubic.GetConnectedMajorNodes
set StaCubic.GetConnectedMajorNodes ()
This function returns all major nodes that can be reached starting a topology search from the cubicle in
direction of the referenced branch element. The search stops in each direction when a major node was
found (so only the rst major node in every direction is collected).
First, the internally executed search does not pass any open switch. Only if this search does not nd
any major node, a second is executed ignoring all switches.
Addition:
If no major node has been found all reached pseudo" major nodes are returned. A pseudo major node
is a terminal of priority 1000. Terminals of that priority are not considered to be major nodes. They are
only used as a replacement for real major nodes if no real major node could be found.
Arguments:
none
Return value:
A set of all major nodes that can be reached starting a topology search from the cubicle in direction of
the referenced branch element.
Example:
object substat, cub, obj;
set s, buses, cubicles, elements, allCubicles, terms;
int index, return;
string name;
!displays all connected major nodes for all connection cubicles
!of all substations
s = AllRelevant('
*
.ElmSubstat');
for (substat = s.First(); substat; substat = s.Next()){
allCubicles.Clear();
index = 0;
return = 0;
while (return <> 1){
return = substat.GetSplit(index, buses, cubicles, elements);
if (return = 0){
DIgSILENT PowerFactory 15, User Manual 1265
APPENDIX D. DPL REFERENCE
allCubicles.Add(cubicles);
}
index = index +1;
}
for(cub = allCubicles.First(); cub; cub = allCubicles.Next()){
name = cub.GetFullName(0);
printf('\nMajor Nodes cubicle %s is connected to:', name);
terms = cub.GetConnectedMajorNodes();
for (obj = terms.First(); obj; obj = terms.Next()){
obj.ShowFullName();
}
}
}
D.8.6.4 StaCubic.GetAll
set StaCubic.GetAll ([int direction, int ignoreOpenSwitches])
This function returns a set of network components that are collected by a topological traversal starting
at the cubicle (StaCubic) where the function is called.
Arguments:
int direction (optional): Species the direction in which the network topology is traversed.
1: Traversal to the branch element
-1: Traversal to the terminal element.
If this parameter is omitted, the default of '1'(direction to the branch element) is used.
int ignoreOpenSwitches (optional): Determines whether to pass open switches or to stop at them.
0: The traversal stops in a direction if an open switch is reached.
1: Ignore all switch statuses and pass every switch.
The default, if omitted, is '0'.
Return value:
A set of network components that are collected by a topological traversal starting at the cubicle (StaCu-
bic) where the function is called.
Example:
For a defined variable cubic" pointing to a cubicle in a net
set s;
object o;
s = cubic.GetAll(); !same as cubic.GetAll(1, 0);
s.MarkInGraphics();
for (o = s.First(); o; o = s.Next()){
o.ShowFullName();
}
Pass open switches:
s = cubic.GetAll(1, 1);
Walk in opposite direction:
s = cubic.GetAll(-1); !equivalent to cubic.GetAll(-1, 0);
1266 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
Walk in opposite direction and ignore switch states:
s = cubic.GetAll(-1, 1);
D.8.7 Composite Model (ElmComp)
D.8.7.1 ElmComp.Slotupd
void ElmComp.Slotupd ()
Performs a slot update for the composite model, to automatically select available models for the slots.
Arguments:
none
Return value:
none
See also
General Functions and Methods
Data Container
D.8.8 Breaker/Switch (ElmCoup)
Close Closes the bus coupler.
Open Opens the bus coupler.
IsOpen Returns 1 when the coupler is open.
IsClosed Returns 1 when the coupler is closed.
IsBreaker Returns 1 if the switch is a circuit-breaker.
GetRemoteBreakers Finds the remote circuit breakers and local buses.
D.8.8.1 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;
DIgSILENT PowerFactory 15, User Manual 1267
APPENDIX D. DPL REFERENCE
object O;
S = Couplers.AllElm();
O = S.First();
while (O) {
opn = O.IsOpen();
if (opn) {
O.Close();
So.Add(O);
};
}
D.8.8.2 ElmCoup.Open
int ElmCoup.Open ()
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);
};
}
D.8.8.3 ElmCoup.IsOpen
int ElmCoup.IsOpen ()
Returns 1 when the coupler is open.
Arguments:
none
Return value:
1 when open, 0 when closed
Example:
1268 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
See ElmCoup.Close for an example
D.8.8.4 ElmCoup.IsClosed
int ElmCoup.IsClosed ()
Returns 1 when the coupler is closed.
Arguments:
none
Return value:
1 when closed, 0 when open
Example:
See ElmCoup.Open for an example
D.8.8.5 ElmCoup.IsBreaker
set ElmCoup.IsBreaker ()
This function returns 1 if the switch is a circuit-breaker.
Arguments:
none
Return value:
1: switch (ElmCoup) is a circuit-breaker,
0: switch (ElmCoup) is not a circuit-breaker
D.8.8.6 ElmCoup.GetRemoteBreakers
void ElmCoup.GetRemoteBreakers (int CbStatus, set pBreakers, set pBusbars)
This function nds the remote circuit breakers and local buses. A toposearch is started from this breaker
in all directions, stopping at the breakers (ElmCoup::aUsage = cbk) which are connected with the target
breaker by non-reduciable components (see IsReducible()) and all equivalent busbars (::iUsage == 0
and only connected by reducible components). If search stops at a breaker that is in given breaker state
(CbStatus), it is added to the pBreakers collection. All busbars at which the search stops are added to
the pBusbars collection.
Arguments:
int CbStatus (obligatory) : The status of remote circuit breakers which will be searched.
-1: Return all remote circuit breakers
1: Return all closed remoted circuit breakers
0: Return all opened remoted circuit breakers
set pBreakers (obligatory) : The list of the remoted circuit breakers
DIgSILENT PowerFactory 15, User Manual 1269
APPENDIX D. DPL REFERENCE
set pBusbars (obligatory) : The list of the local bus bars
Return value:
none
Example:
The following example gathers all closed couplers before opening them.
object targetCB;
set RECBList;
set FocusBusList
object oRemCB;
sRet = targetCB.GetRemoteBreakers(1, RECBList, FocusBusList);
Info('The remoted circuit breakers of %o are as follows:\n', targetCB);
for (oRemCB = RECBList.First();oRemCB; oRemCB = RECBList.Next()) {
oRemCB.ShowFullName();
}
D.8.9 Line (ElmLne)
HasRoutes Checks if the line is subdivided into routes.
HasRoutesOrSec Checks if the line is subdivided into routes or sections.
GetType Returns the line type object.
IsCable Checks if this is a cable.
IsNetCoupling Checks if the line connects two grids.
SetCorr Sets the correction factor of the line.
CreateFeederWithRoutes Splits the line in 2 routes.
SetDetailed Prevents the automatically reduction of a line.
GetZ0m Returns the zero-sequence mutual coupling impedance
(R0m, Z0m).
GetZ1m Returns the positive-sequence mutual coupling
impedance (R1m, Z1m).
GetY0m Returns the zero-sequence mutual coupling admittance
(G0m, B0m).
GetY1m Returns the positive-sequence mutual coupling admit-
tance (G1m, B1m).
FitParams Calculates distributed parameters for lines.
D.8.9.1 ElmLne.HasRoutes
int ElmLne.HasRoutes ()
Checks if the line is subdivided into routes.
Arguments:
none
Return value:
1270 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
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();
}
D.8.9.2 ElmLne.HasRoutesOrSec
int ElmLne.HasRoutesOrSec ()
Checks 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();
}
D.8.9.3 ElmLne.GetType
int ElmLne.GetType ()
Returns the line type object.
Arguments:
none
DIgSILENT PowerFactory 15, User Manual 1271
APPENDIX D. DPL REFERENCE
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();
}
D.8.9.4 ElmLne.IsCable
int ElmLne.IsCable ()
Checks 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();
}
D.8.9.5 ElmLne.IsNetCoupling
int ElmLne.IsNetCoupling ()
Checks if the line connects two grids.
1272 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
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();
}
D.8.9.6 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();
D.8.9.7 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) :
DIgSILENT PowerFactory 15, User Manual 1273
APPENDIX D. DPL REFERENCE
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;
D.8.9.8 ElmLne.SetDetailed
void ElmLne.SetDetailed ()
The function can be used to prevent the automatically reduction of a line e.g. if the line is a line dropper
(length = 0). The function should be called when no calculation method is valid (before rst load ow).
The internal ag is automatically reset after the rst calculation is executed.
Arguments:
none
Return value:
none
Example:
! Line is an ElmLne object, length = 0 (=> line dropper)
!
ResetCalculation(); ! be sure that no calculation is valid
Line.SetDetailed(); ! set detailed flag for line
Ldf.Execute(); ! calculation load flow
! line is not reduced
ResetCalculation(); ! reset calculation
Ldf.Execute(); ! calculate load flow
! line is now reduced again
D.8.9.9 ElmLne.GetZ0m
int ElmLne.GetZ0m (object Lne2, double R0m,double X0m)
The function return the zero-sequence mutual coupling impedance (R0m, X0m) in Ohm of the line and
line: Lne2. When Lne2 = line, the function returns the zero-sequence self impedance.
Arguments:
none
Return value:
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
1274 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
D.8.9.10 ElmLne.GetZ1m
int ElmLne.GetZ1m (object Lne2, double R1m,double X1m)
The function return the positive-sequence mutual coupling impedance (R1m, X1m) in Ohm of the line
and line: Lne2. When Lne2 = line, the function returns the positive-sequence self impedance.
Arguments:
none
Return value:
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
D.8.9.11 ElmLne.GetY0m
int ElmLne.GetY0m (object Lne2, double G0m,double B0m)
The function returns the zero-sequence mutual coupling admittance (G0m, B0m) in S of the line and
line: Lne2. When Lne2 = line, the function returns the zero-sequence self admittance.
Arguments:
none
Return value:
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
D.8.9.12 ElmLne.GetY1m
int ElmLne.GetY1m (object Lne2, double G1m,double B1m)
The function returns the zero-sequence mutual coupling admittance (G1m, B1m) in S of the line and
line: Lne2. When Lne2 = line, the function returns the positive-sequence self admittance.
Arguments:
none
Return value:
0: ok,
1: error, e.g. if line is not part of a line couplings object (ElmTow)
D.8.9.13 ElmLne.FitParams
int ElmLne.FitParams ()
Calculates distributed parameters for lines. Calculates distributed parameters for line elements. Whether
this function calculates constant parameters or frequency dependent parameters depends on the user
setting of the parameter 'i_model'in the ElmLne dialogue. The settings are as follows: i_model=0: con-
stant parameters; i_model=1: frequency dependent parameters.
DIgSILENT PowerFactory 15, User Manual 1275
APPENDIX D. DPL REFERENCE
Arguments:
none
Return value:
0: on success,
1: on error
Example:
object oLine;
set sLines;
int err;
sLines = AllRelevant('
*
.ElmLne');
oLine = sLines.First();
err = oLine.FitParams();
if (err) {
Error('Could not calculate line parameters for %s.', oLine);
exit();
}
D.8.10 Result Object (ElmRes)
AddVars Adds to the list of monitored variables.
Clear Clears the result object.
Draw Updates all relevant plots.
Flush Copies all data buffered in memory to the disk.
GetObj Returns objects used in the result le.
GetResData Returns a value from a certain result curve.
Init Initializes the result object.
LoadResData Loads the data of a result le in memory.
ReleaseResData Releases the result le data loaded to memory.
ResIndex Returns column number of variable in result object.
ResFirstValidObject Gets the index of the column for the rst valid object in the
given line.
ResFirstValidObjectVar Gets the index of the column for the rst valid variable of
the current object in the current line.
ResFirstValidVar Gets the index of the column for the rst valid variable in
the given line.
ResNextValidObject Gets the index of the column for the next valid object in the
current line.
ResNextValidObjectVar Gets the index of the column for the next valid variable of
the current object in the current line.
ResNextValidVar Gets the index of the column for the next valid variable in
the given line.
ResNval Returns number of values stored in certain result curve.
ResNvars Returns the number of variables (columns) in result le.
SetAsDefault Sets this as default results.
Write Writes the current results.
WriteDraw Writes results and updates all plots.
1276 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
D.8.10.1 ElmRes.AddVars
void ElmRes.AddVars (object O, string v1 [,string v2,...])
Adds variables to the list of monitored variables for the Result object.
Arguments:
object O (obligatory) : an object.
string v1 (obligatory) : variable name for object O.
string v2..v9 (optional) : optional further variables names for object O.
Return value:
none
Example:
object Res;
Res = MyResults();
Res.AddVars(MyLine,'m:Ikss:busshc','m:I:busshc');
D.8.10.2 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();
D.8.10.3 ElmRes.Draw
int ElmRes.Draw ()
Updates all plots that display values from the result object.
Arguments:
none
Return value:
0 on success
DIgSILENT PowerFactory 15, User Manual 1277
APPENDIX D. DPL REFERENCE
Example:
The following example updates the graphics every 10 steps to save time and yet follow the results while
calculating
double i,n;
Ld:pini = LoadMin;
i = 1;
n = 0;
while (Ld:pini<LoadMax.and.i) {
i = Ldf.Execute();
if (i) {
Res.Write();
n += 1;
Ld:pini += LoadStep;
}
if (n>9) {
Res.Write();
n = 0;
}
}
D.8.10.4 ElmRes.Flush
void ElmRes.Flush ()
This function is required in DPL scripts which perform both le writing and reading operations. While
writing to a results object (ElmRes), a small portion of this data is buffered in memory. This is required
for performance reasons. Therefore, all data must be written to the disk before attemting to read the
le. 'Flush'copies all data buffered in memory to the disk. After calling 'Flush'all data is available to be
read from the le.
Arguments:
none
Return value:
none
Example:
The following example writes a result object and prints the data written to the le. The DPL command
contains to variables on the advanced options page:
double x x-value
double y y-value
These variables were selected in the variable denitions inside the result object which itself is stored in
the DPL command. The DPL script code is as follows:
int iNotOk, iX,iY,iRow;
double dX,dY;
! write the data
for (x=-16; x<16; x=x+0.1) {
y= x
*
x;
1278 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
res.Write();
}
! read the data
res.Flush(); ! if this line ommited some sample might be missing in the
output
LoadResData(res);
iX = ResIndex(res,'b:x'); ! get index of column x
iY = ResIndex(res,'b:y'); ! get index of column y
! print the data
iRow = 0;
iNotOk = GetResData(dX,res,iRow,iX); ! get the x-value in the first line
iNotOk = GetResData(dY,res,iRow,iY); ! get the y-value in the first line
while (iNotOk=0) {
printf('%6.2f / %6.2f',dX,dY);! print the values to the output window
iRow = iRow+1; ! next row
iNotOk = GetResData(dX,res,iRow,iX); ! get the x-value in line iRow
iNotOk = GetResData(dY,res,iRow,iY); ! get the z-value in line iRow
}
ReleaseResData(res); ! release the result file data from memory
D.8.10.5 ElmRes.GetObj
object ElmRes.GetObj (int index)
Returns the objects used in the result le. Positive index means objects for which parameters are being
monitored (i.e. column objects). Negative index means objects which occur in written result rows as
values.
Arguments:
int index (obligatory) : index of the object.
Return value:
the object, if found.
D.8.10.6 ElmRes.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 le object
int iX (obligatory) : the row index
int iCrv (optional) : The curve number, which equals the variable or column number, rst column value
(time,index, etc.) is returned when omitted.
Return value:
DIgSILENT PowerFactory 15, User Manual 1279
APPENDIX D. DPL REFERENCE
0 when ok
1 when iX out of bound
2 when iCrv out of bound
3 when invalid value is returned ('INFINITY', 'DUMMY', etc.)
See also LoadResData() D.8.10.8 .
D.8.10.7 ElmRes.Init
int ElmRes.Init ()
Initializes the result object. This is required for all result les that are not stored in the DPL command
object.
Arguments:
none
Return value:
0 on success
Example:
The following example initializes the result object.
Res.Init();
D.8.10.8 ElmRes.LoadResData
void LoadResData (object O)
Loads the data of a result le (ElmRes) in memory. An error is produced when O is not a ElmRes
object.
Arguments:
object O (obligatory) : The result le object
Return value:
none
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);
1280 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
printf('Nvar=%d Nval=%d', Nvar, Nval);
ix = 0;
while (ix<Nval) {
iy = 0;
GetResData(x, res, ix);
str = sprintf('%f :', x);
while (iy<Nvar) {
GetResData(x, res,ix,iy);
str = sprintf('%s %8.5f ', str, x);
iy += 1;
}
printf('%s', str);
ix += 1;
}
An example (depending of the results in the result object) of the output for this script :
Nvar=3
Nval=11
-0.050000 : 0.12676 30.73286 12.91360
-0.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
D.8.10.9 ElmRes.ReleaseResData
void ReleaseResData (object res)
Releases the result le data loaded to memory. This function should be used whenever several result
les are processed in a loop. The result le data is released from memory automatically after execution
of the DPL script.
Arguments:
object res (obligatory) : the result le (ElmRes or IntComtrade)
Return value:
none
Example:
object res,case;
set aFiles;
int Nvar, Nval, Nfiles;
case = GetActiveStudyCase(); ! get active study case
if (case) {
! get all ElmRes inside active case
DIgSILENT PowerFactory 15, User Manual 1281
APPENDIX D. DPL REFERENCE
aFiles = case.GetContents('
*
.ElmRes');
Nfiles = aFiles.Count();
if (Nfiles>0) {
for (res=aFiles.First(); res; res=aFiles.Next()) {
LoadResData(res); ! load result file data
Nvar = ResNvars(res); ! get number of vars (columns)
Nval = ResNval(res,0);! get number of samples (rows)
printf('%20s: %d variables with %d rows',res:loc_name, Nvar,Nval);
ReleaseResData(res); ! unload result file data from memory
}
} else {
Warn('There are no result files (ElmRes) stored in the active study case');
}
} else {
Warn('There is no active study case');
}
See also LoadResData() D.8.10.8
GetResData() D.8.10.6
GetObject D.7.6.2
D.8.10.10 ElmRes.ResIndex
The ElmRes.ResIndex() command has additional arguments:
Function
1. int ResIndex (object resultFile, object obj [, string varName])
2. int ResIndex (object resultFile, object obj [, int colIndex])
3. int ResIndex (object resultFile, string varName [, int colIndex])
Description
Returns the index of the rst header column matching the given object and/or variable name starting at
the given column. An error is produced when 'resultFile'is not a ElmRes object, and when 'obj'is not in
the result le.
Arguments:
object resultFile (obligatory) : the result le
object obj (obligatory) : Object which must be referenced by a matching column; if NULL or in 3) any
object matches (object is not checked)
string varName (varName) : Variable name of matching column
int colIndex : Index of rst checked column; 0 if not given
Return value:
>=0: column index
<0: no valid column found
The index can be used in GetResData to retrieve the value.
Example:
1282 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
iCol = ResIndex(oRes, oLine, 'c:loading'); iCol = ResIndex(oRes, oLine, iColIndex); iCol = ResIn-
dex(oRes, 'c:loading', iColIndex);
See also LoadResData() D.8.10.8
GetResData() D.8.10.6
GetObject D.7.6.2
D.8.10.11 ElmRes.ResFirstValidObject
int ResFirstValidObject (object resultFile, int row [, string classNames, string variableName, double
limit, int limitOperator, double limit2, int limitOperator2])
or
int ResFirstValidObject (object resultFile, int row, set objects)
Gets the index of the column for the rst valid variable in the given line. Starts at the beginning of the
given line and sets the internal iterator of the result le to the found position.
Arguments:
object resultFile (obligatory) : Result le
int row (obligatory) : Result le row
string classNames (optional) : Comma separated list of class names for valid objects. The next object
of one of the given classes is searched. If not set all objects are considered as valid (default).
string variableName (optional) : Name of the limiting variable. The searched object must have this
variable. If not set variables are not considered (default).
double limit (optional) : Limiting value for the variable.
int limitOperator (optional) : Operator for checking the limiting value:
0: all values are valid (default)
1: valid values must be < limit
2: valid values must be <= limit
3: valid values must be > limit
4: valid values must be >= limit
double limit2 (optional) : Second limiting value for the variable.
int limitOperator2 (optional) : Operator for checking the second limiting value:
<0: rst OR second criterion must match,
>0: rst AND second criterion must match,
0: all values are valid (default)
1/-1: valid values must be < limit2
2/-2: valid values must be <= limit2
3/-3: valid values must be > limit2
4/-4: valid values must be >= limit2
set objects (obligatory) : Valid objects
Return value:
>=0: column index
<0: no valid column found
Example:
DIgSILENT PowerFactory 15, User Manual 1283
APPENDIX D. DPL REFERENCE
! Find first line or generator whose loading is >= 80%
iCol = ResFirstValidObject(oRes, iRow, 'ElmLne,ElmSym', 'c:loading', 80,
4);
D.8.10.12 ElmRes.ResFirstValidObjectVar
int ResFirstValidObjectVar (object resultFile [, string variableNames])
Gets the index of the column for the next valid variable of the current object in the current line.
Starts at the internal iterator of the given result le and sets it to the found position.
Arguments:
object resultFile (obligatory) : Result le
string variableNames (optional) : Comma separated list of valid variable names. The next column with
one of the given variables is searched. If not set all variables are considered as valid (default).
Return value:
>=0: column index
<0: no valid column found
Example:
iCol = ResFirstValidObjectVar(oRes, 'c:loading,c:loading_st');
D.8.10.13 ElmRes.ResFirstValidVar
int ResFirstValidVar (object resultFile, int row [, string variableNames])
Gets the index of the column for the rst valid variable in the given line.
Starts at the beginning of the given line and sets the internal iterator of the result le to the found
position.
Arguments:
object resultFile (obligatory) : Result le
int row (obligatory) : Result le row
string variableNames (optional) : Comma separated list of valid variable names. The next column with
one of the given variables is searched. If not set all variables are considered as valid (default).
Return value:
>=0: column index
<0: no valid column found
Example:
iCol = ResFirstValidVar(oRes, iRow, 'c:loading,c:loading_st');
D.8.10.14 ElmRes.ResNextValidObject
1284 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
int ResNextValidObject (object resultFile [, string classNames, string variableName, double limit,
int limitOperator, double limit2, int limitOperator2])
or
int ResNextValidObject (object resultFile, set objects)
Gets the index of the column for the rst valid variable in the given line. Starts at the beginning of the
given line and sets the internal iterator of the result le to the found position.
Arguments:
object resultFile (obligatory) : Result le
string classNames (optional) : Comma separated list of class names for valid objects. The next object
of one of the given classes is searched. If not set all objects are considered as valid (default).
string variableName (optional) : Name of the limiting variable. The searched object must have this
variable. If not set variables are not considered (default).
double limit (optional) : Limiting value for the variable.
int limitOperator (optional) : Operator for checking the limiting value:
0: all values are valid (default)
1: valid values must be < limit
2: valid values must be <= limit
3: valid values must be > limit
4: valid values must be >= limit
double limit2 (optional) : Second limiting value for the variable.
int limitOperator2 (optional) : Operator for checking the second limiting value:
<0: rst OR second criterion must match,
>0: rst AND second criterion must match,
0: all values are valid (default)
1/-1: valid values must be < limit2
2/-2: valid values must be <= limit2
3/-3: valid values must be > limit2
4/-4: valid values must be >= limit2
set objects (obligatory) : Valid objects
Return value:
>=0: column index
<0: no valid column found
Example:
! Find next line or generator whose loading is >= 80%
iCol = ResNextValidObject(oRes, 'ElmLne,ElmSym', 'c:loading', 80, 4);
D.8.10.15 ElmRes.ResNextValidObjectVar
int ResNextValidObjectVar (object resultFile, int row [, string variableNames])
Gets the index of the column for the next valid variable of the current object in the current line. Starts at
the internal iterator of the given result le and sets it to the found position.
DIgSILENT PowerFactory 15, User Manual 1285
APPENDIX D. DPL REFERENCE
Arguments:
object resultFile (obligatory) : Result le
int row (obligatory) : Result le row
string variableNames (optional) : Comma separated list of valid variable names. The next column with
one of the given variables is searched. If not set all variables are considered as valid (default).
Return value:
>=0: column index
<0: no valid column found
Example:
iCol = ResNextValidObjectVar(oRes, iRow, 'c:loading,c:loading_st');
D.8.10.16 ElmRes.ResNextValidVar
int ResNextValidVar (object resultFile [, string variableNames])
Gets the index of the column for the next valid variable in the current line. Starts at the internal iterator
of the given result le and sets it to the found position.
Arguments:
object resultFile (obligatory) : Result le
string variableNames (optional) : Comma separated list of valid variable names. The next column with
one of the given variables is searched. If not set all variables are considered as valid (default).
Return value:
>=0: column index
<0: no valid column found
Example:
iCol = ResNextValidVar(oRes, 'c:loading,c:loading_st');
D.8.10.17 ElmRes.ResNval
int ResNval (object O, int iCrv)
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 le object
int iCrv (obligatory) : The curve number, which equals the variable or column number.
See also LoadResData() D.8.10.8 .
1286 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
D.8.10.18 ElmRes.ResNvars
int ResNvars (object O)
Returns the number of variables (columns) in result le. An error is produced when O is not a ElmRes
object.
Arguments:
object O (obligatory) : The result le object
See also LoadResData() D.8.10.8 .
D.8.10.19 ElmRes.SetAsDefault
void ElmRes.SetAsDefault ()
Sets this results object as the default results object.
Arguments:
none
Return value:
none
See also LoadResData() D.8.10.8 .
D.8.10.20 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-ows for a number of load levels and writes the results to the result
object
double P;
double i;
P = LoadMin;
i = 1;
while (P<LoadMax.and.i) {
i = Ldf.Execute();
if (i) {
Res.Write();
P += LoadStep;
DIgSILENT PowerFactory 15, User Manual 1287
APPENDIX D. DPL REFERENCE
}
}
D.8.10.21 ElmRes.WriteDraw
int ElmRes.WriteDraw ()
Writes current results to the result objects and updates all plots that display values from the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example performs load-ows for a number of load levels and writes the results to the result
object
double P;
double i;
P = LoadMin;
i = 1;
while (P<LoadMax.and.i) {
i = Ldf.Execute();
if (i) {
Res.WriteDraw();
P += LoadStep;
}
}
D.8.11 Station Control (ElmStactrl)
GetStepupTransformer Returns the corresponding step-up transformer for ma-
chine at index.
GetControlledHVNode Returns the corresponding voltage controlled HV node for
machine at index.
GetControlledLVNode Returns the corresponding generator terminal (LV con-
trolled node) for machine at index.
D.8.11.1 ElmStactrl.GetStepupTransformer
object ElmStactrl.GetStepupTransformer (int index [, int iBrkMode])
Returns the corresponding step-up transformer for machine at index.
Arguments:
int index (obligatory) : Index of machine (starting from 0 . . . ).
int iBrkMode (optional) :
0 (default)= all switch status (open,close) are considered
1288 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
1= ignore breaker status (jump over open breakers)
2= ignore all switch status (jump over open switches)
Return value:
object: step-up transformer
NULL: step-up transformer not found
Example:
set objs
object oTrf,oGen;
int index,nGens;
objs = AllRelevant('ElmStactrl');
for (obj = objs.First(); obj; obj = objs.Next()){
obj.GetSize('psym',nGens); ! get no. of machines
for (index=0;index<nGens;index=index+1){
oStaCtrl.GetVal(oGen,'psym',index);
oTrf = oStaCtrl.GetStepupTransformer(index,2);
if (oTrf){
printf('Generator: %o, Step-up: %o',oGen,oTrf);
}
else{
printf('Generator: %o, Step-up: Not found',oGen);
}
}
}
D.8.11.2 ElmStactrl.GetControlledHVNode
object ElmStactrl.GetControlledHVNode (int index)
Returns the corresponding voltage controlled HV node for machine at index. Switch status are always
considered.
Arguments:
int index (obligatory) : Index of machine (starting from 0 - . . . )
Return value:
object: Busbar/Terminal ()
NULL: not found
Example:
set objs
object oCtrlNode,oGen;
int index,nGens;
objs = AllRelevant('ElmStactrl');
for (obj = objs.First(); obj; obj = objs.Next()){
obj.GetSize('psym',nGens); ! get no. of machines
for (index=0;index<nGens;index=index+1){
DIgSILENT PowerFactory 15, User Manual 1289
APPENDIX D. DPL REFERENCE
oStaCtrl.GetVal(oGen,'psym',index);
oCtrlNode = oStaCtrl.GetControlledHVNode(index);
if (oCtrlNode){
printf('Generator: %o, Controlled HV-Node: %o',oGen, oCtrlNode);
}
else {
printf('Generator: %o, Controlled HV-Node: Not found', oGen);
}
}
}
D.8.11.3 ElmStactrl.GetControlledLVNode
object ElmStactrl.GetControlledLVNode (int index)
Returns the corresponding generator terminal (LV controlled node) for machine at index. Switch status
are always considered.
Arguments:
int index (obligatory) : Index of machine (starting from 0 - . . . )
Return value:
object: Terminal ()
NULL: not found
Example:
set objs
object oCtrlNode,oGen;
int index,nGens;
objs = AllRelevant('ElmStactrl');
for (obj = objs.First(); obj; obj = objs.Next()){
obj.GetSize('psym',nGens); ! get no. of machines
for (index=0;index<nGens;index=index+1){
oStaCtrl.GetVal(oGen,'psym',index);
oCtrlNode = oStaCtrl.GetControlledLVNode(index);
if (oCtrlNode){
printf('Generator: %o, Controlled LV-Node: %o',oGen, oCtrlNode);
}
else{
printf('Generator: %o, Controlled LV-Node: Not found', oGen);
}
}
}
D.8.12 Substation (ElmSubstat)
GetSplit Offers access to the elements contained in a split.
GetSplitIndex Returns the index of the split.
GetSplitCal Offers access to a split.
1290 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
SaveAsRA Creates a new running arrangement if this function is
called on a substation that has no running arrangement
selected.
OverwriteRA Overwrites switch statuses stored in an existing running
arrangement with current switch statuses.
SetRA Sets a running arrangement for the substation it was called
on.
ResetRA Resets a running arrangement for the substation it was
called on.
D.8.12.1 ElmSubstat.GetSplit
int ElmSubstat.GetSplit (int index, set majorNodes, set connectionCubicles [, set allElements])
A split of a substation is a group of connected elements. These splits are ordered according to the count
of major nodes contained and according to their priority. So each split becomes a unique index.
The function GetSplit offers access to the elements contained in a split. By calling GetSplit with an index
from 0 to n, the elements belonging to the corresponding split are lled into given sets and returned.
Arguments:
int index (obligatory) : Index of the split that is used to get access to the elements of the corresponding
split.
set majorNodes (obligatory) : All major nodes (priority is greater than -1) of the split are lled in the set
majorNodes.
set connectionCubicles (obligatory) : All cubicles (of terminals inside the substation) that point to an
element that sits outside the substation or to an element that is connected to a terminal outside the
substation are lled into the set connectionCubicles.
(The connection element (branch) can be accessed by calling GetBranch() on each of these cubicles.
The terminals of these cubicles (parents) must not necessarily be contained in any split. They could
also be separated by a disconnecting component.)
set allElements (optional) : All elements (class Elm*) of the split that have no connection to elements
outside the substation are lled into this set.
Return value:
0: success, split of that index exists and is returned.
-1: split is a pseudo split.
Terminals that have a priority of 1000 are considered to be pseudo major nodes. After determination
of real splits, the groups of pseudo major nodes are determined. These groups are ordered behind the
real splits. A return value of -1 of the GetSplit() function indicates that the returned split is a pseudo one
formed by pseudo major nodes.
1: indicates that there exists no split with given index. (Moreover, this means that there is no split with
index n greater than this value.)
Example:
set nodes;
set cubicles;
set elements;
int return, index;
object obj;
return = 0; while (return <> 1){ !loop from 0 to n until there is no more split
DIgSILENT PowerFactory 15, User Manual 1291
APPENDIX D. DPL REFERENCE
return = substation.GetSplit(index, nodes, cubicles, elements);
if (return < 1){
if (return = 0){
printf('Split %d:', index);
}else {
printf('(Pseudo)Split %d:', index);
}
printf('Major Nodes:');
obj = nodes.First();
while(obj){
obj.ShowFullName();
obj = nodes.Next();
}
printf('Connection Cubicles:');
obj = cubicles.First();
while(obj){
obj.ShowFullName();
obj = cubicles.Next();
}
printf('All Elements:');
obj = elements.First();
while(obj){
obj.ShowFullName();
obj = elements.Next();
}
}
index = index + 1;
}
See also StaCubic.GetConnectedMajorNodes
D.8.12.2 ElmSubstat.GetSplitIndex
int ElmSubstat.GetSplitIndex (object o)
This function returns the index of the split that contains object 'o'.
Arguments:
object o : Object which belongs to the split.
Return value:
-1: Given object 'o'does not belong to any split of that substation.
Example:
set s, terms;
object substation, term;
int index;
string name;
!iterates over all substations and checks belonging
!of terminals to splits of each substation
1292 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
s = AllRelevant('
*
.ElmSubstat');
terms = AllRelevant('
*
.');
for (substation = s.First(); substation; substation = s.Next()){
name = substation.GetFullName(0);
printf('\nSubstation: %s', name);
for (term = terms.First(); term; term = terms.Next()){
index = substation.GetSplitIndex(term);
name = term.GetFullName(0);
if (index < 0){
printf('%s is not contained in any split of that substation',
name);
}else{
printf('%s belongs to split %d', name, index);
}
}
}
D.8.12.3 ElmSubstat.GetSplitCal
int ElmSubstat.GetSplitCal (int index, set nodes [, set connectionCubicles, set elements])
A split of a substation is a group of connected elements. These splits are ordered according to the
count of major nodes contained and according to their priority. So each split becomes a unique index.
Each split consists of one or more calculation node. A calculation node contains all elements that are
electrical equivalent (determined IsEquivalent).
This function offers access to such a split.
Note: As this function relies on calculation nodes it can only be executed after a calculation has been
performed (e.g. load ow calculation).
Arguments:
int index : Indicates the index of the split. This index is zero based.
set nodes : A set that is lled with terminals. There is one terminal returned for each calculation node
in the split. The returned terminal is either the major node with highest priority or a tie node (if there is
no major node).
set connectionCubicles : This set is lled with all cubicles that point from a calculation node of current
split to another calculation node that does not belong to that split. The connecting element can be
accessed by calling GetBranch() on such a cubicle.
set elements : This set is lled with network elements that are connected to a calculation node of current
split and have exactly one connection, i.e. these elements are completely contained in the split.
Return value:
0: Success, split of that index exists and is returned.
-1: Split is a pseudo split. (Terminals that have a priority of 1000 are considered to be pseudo major
nodes. After determination of real splits, the groups of pseudo major nodes are determined. These
groups are ordered behind the real splits. (see also StaCubic.GetConnectedMajorNodes))
1: Indicates that there exists no split with given index. (Moreover, this means that there is no split with
index n greater than this value).
Example:
DIgSILENT PowerFactory 15, User Manual 1293
APPENDIX D. DPL REFERENCE
set nodes;
set cubicles;
set elements;
int return, index;
object obj;
return = 0;
while (return < > 1) { !loop from 0 to n until there is no more split
return = substation.GetSplitCal(index, nodes, cubicles, elements);
if (return < 1){
if (return = 0){
printf('Split %d:', index);
} else {
printf('(Pseudo)Split %d:', index);
}
printf('Major Nodes:');
obj = nodes.First();
while(obj){
obj.ShowFullName();
obj = nodes.Next();
}
printf('Connection Cubicles:');
obj = cubicles.First();
while(obj){
obj.ShowFullName();
obj = cubicles.Next();
}
printf('Elements:');
obj = elements.First();
while(obj){
obj.ShowFullName();
obj = elements.Next();
}
}
index = index + 1;
}
D.8.12.4 ElmSubstat.SaveAsRA
object ElmSubstat.SaveAsRA (string locname)
If calling this function on a substation that has no running arrangement selected, a new running arrange-
ment is created and all switch statuses of all running arrangement relevant switches (for that substation)
are saved in it. The running arrangement is stored in project folder Running Arrangement" and its name
is set to given locname.
(No new running arrangement is created if this method is called on a substation that has currently a
running arrangement selected).
Arguments:
string locname : Name of the new running arrangement (if name is already used, an increment (postx)
is added to make it unique).
Return value:
1294 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
Newly created 'IntRunarrange'object on success, otherwise NULL.
Example:
object myra;
myra = objsubstation.SaveAsRA('MyRA');
if (myra){
myra.ShowFullName();
}else{
printf('No RA created.');
}
D.8.12.5 ElmSubstat.OverwriteRA
int ElmSubstat.OverwriteRA (object ra)
This function overwrites switch statuses stored in an existing running arrangement with current switch
statuses. This is only possible if the substation has no running arrangement selected and given running
arrangement is valid for substation the method was called on.
Arguments
object ra : Given running arrangement
Return value:
1: If given running arrangement was successfully overwritten;
0: otherwise
Example:
int res;
res = objsubstation.OverwriteRA(objra);
if (res = 1){
printf('%o was successfully overwritten', objra);
}else{
printf('%o was not overwritten', objra);
}
D.8.12.6 ElmSubstat.SetRA
int ElmSubstat.SetRA (object ra)
This function sets a running arrangement for the substation it was called on.
Arguments
object ra : Given running arrangement
Return value:
1: If given running arrangement was successfully set;
0: otherwise (e.g. given ra is not valid for that substation)
Example:
DIgSILENT PowerFactory 15, User Manual 1295
APPENDIX D. DPL REFERENCE
int res;
res = objsubstation.SetRA(objra);
if (res = 1){
printf('%o was successfully set', objra);
}
else{
printf('%o was not set', objra);
}
D.8.12.7 ElmSubstat.ResetRA
int ElmSubstat.ResetRA ()
This function resets the running arrangement for the substation it was called on.
Arguments
none
Return value:
none
Example:
objsubstation.ResetRA();
D.8.13 Synchronous Machine (ElmSym)
Disconnect Disconnects a generator by opening the rst circuit
breaker.
Reconnect Connects a generator by closing all switches (breakers and
isolators) up to rst breaker on hv side of a transformer.
IsConnected Checks if generator is connected to any busbar.
GetAvailableGenPower Returns the available power that can be dispatched from
the generator, for the particular study time.
D.8.13.1 ElmSym.Disconnect
int ElmSym.Disconnect ()
Disconnects a generator by opening the rst circuit breaker. The search stops at any busbar. (Same
functionality as used in BMU algorithm.)
Arguments:
none
Return value:
1: on error (no breaker found, open action not possible (earthing / RA))
0: else (breaker already open or successfully opened)
Example:
1296 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
set objs;
object obj;
int err;
objs = AllRelevant('ElmSym');
! disconnect all generators
for (obj = objs.First(); obj; obj = objs.Next())
{
err = obj.Disconnect();
if (err)
{
printf('Error disconnecting %s', obj);
}
}
D.8.13.2 ElmSym.Reconnect
int ElmSym.Reconnect ()
Connects a generator by closing all switches (breakers and isolators) up to rst breaker on hv side
of a transformer. The closing action also stops at any busbar. (Same functionality as used in BMU
algorithm.)
Arguments:
none
Return value:
1: on error (generator could not be connected to any busbar)
0: on success
Example:
set objs;
object obj;
int err;
objs = AllRelevant('ElmSym');
! reconnect all generators
for (obj = objs.First(); obj; obj = objs.Next())
{
err = obj.Reconnect();
if (err)
{
printf('Error connecting %s', obj);
}
}
D.8.13.3 ElmSym.IsConnected
int ElmSym.IsConnected ()
DIgSILENT PowerFactory 15, User Manual 1297
APPENDIX D. DPL REFERENCE
Checks if generator is connected to any busbar.
Arguments:
none
Return value:
1: true, generator is connected to a busbar
0: false, not connected to a busbar
Example:
set objs;
object obj;
int status;
objs = AllRelevant('ElmSym');
! print connection status for all generators
for (obj = objs.First(); obj; obj = objs.Next())
{
status = obj.IsConnected();
if (status)
{ printf('%s is connected', obj);
}
else
{
printf('%s is disconnected', obj);
}
}
D.8.13.4 ElmSym.GetAvailableGenPower
double ElmSym.GetAvailableGenPower ()
Returns the available power that can be dispatched from the generator, for the particular study time .
For the case of conventional generators (no wind generation selected), the available power is equal to
the nominal power specied.
For wind generators, the available power will depend on the wind model specied:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specied mean wind speed, the available power is calculated from
the Power Curve. If the units of the Power Curve are in MW, the returned value is directly the available
power. In the other hand, if the units are in PU, the returned value is multiplied by the nominal power of
the generator to return the available power.
3. Time Series Characteristics of Active Power Contribution: The available power is the average of the
power values (in MW) obtained from all the specied time characteristics for the current study time.
4. Time Series Characteristics of Wind Speed: The available power is calculated with the average of
the power values (in MW) calculated for all the specied time characteristics. A power value for any time
characteristic is calculated by obtaining the wind speed for the current study time, and then calculating
the power from the specied Power Curve. If the units of the Power Curve are in MW, the returned value
is directly the power value. In the other hand, if the units are in PU, the returned value is multiplied by
the nominal power of the generator to return the power value.
For motors, the available power is zero.
1298 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
Arguments:
none
Return value:
Available generation power
Example:
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant('ElmSym');
totpwr = 0; ! initialize cummulative generation
! get cummulative generation
for (obj = objs.First(); obj; obj = objs.Next()){
pwr = obj.GetAvailableGenPower();
totpwr += pwr;
}
printf('Cummulative generation is %f', totpwr);
D.8.14 Terminal (ElmTerm)
GetNextHVBus Returns the nearest connected bus bar that has a higher
voltage level.
IsEquivalent Checks if two terminals are topologically connected.
IsElectrEquivalent Checks if two terminals are electrical equivalent.
GetMinDistance Determines the shortest path between two terminals.
D.8.14.1 GetNextHVBus
object GetNextHVBus ()
This function returns the nearest connected bus bar that has a higher voltage level. To detect this bus,
a breath-rst search on the net topology is executed. The traversal stops on each element that is out of
service and on each opened switch device. The criterion for higher voltage level is passing a transformer
to HV side.
Arguments:
none
Return value:
object: First bus bar found.
NULL: If no bus bar was found.
Example:
object obj, result;
set S;
DIgSILENT PowerFactory 15, User Manual 1299
APPENDIX D. DPL REFERENCE
S = SEL.AllBars(); !gets all currently selected bars
obj = S.First(); !takes first one
result = obj.GetNextHVBus();
result.ShowFullName();
D.8.14.2 IsEquivalent
int IsEquivalent (object terminal)
Function checks if two terminals are topologically connected only by
closed switching devices (ElmCoup, RelFuse) or
lines of zero length.
IsEquivalent denes a relation that is
symmetric (Term1.IsEquivalent(Term2) -> Term2.IsEquivalent(Term1)),
reexive (Term1.IsEquivalent(Term1)) and
transitive (Term1.IsEquivalent(Term2) and Term2.IsEquivalent(Term3) ->Term1.IsEquivalent(Term3));
Arguments:
object terminal: Terminal to which the 'method called terminal'is connected to.
Return value:
1: If terminal on which the method was called is connected to terminal that was passed as argument
only by closed switching devices or by lines of zero length
0: Otherwise (terminals are not connected or connected by other components than switching devices /
lines of zero length)
Example:
int res;
res = Busbar1.IsEquivalent(Busbar2);
if (res = 1)
{
printf('%o is equivalent to %o', Busbar1, Busbar2);
}
else
{
printf('%o is not equivalent to %o', Busbar1, Busbar2);
}
1300 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
Figure D.8.1: IsEquivalent() -> 1:
Figure D.8.2: IsEquivalent() -> 0:
D.8.14.3 IsElectrEquivalent
int IsElectrEquivalent (object terminal, double maxR, double maxX)
Function checks if two terminals are electrically equivalent. Two terminals are said to be electrically
equivalent if they are topologically connected only by
closed switching devices (ElmCoup, RelFuse) or
lines of zero length or
branch components whose impedance is below given thresholds (R <= maxR and X <= maxX)
Arguments:
object terminal (obligatory) : Terminal to which the 'method called terminal'is connected to.
double maxR (obligatory) : Given threshold for the resistance of branch elements (must be given in
Ohm).
double maxX (obligatory) : Given threshold for the reactance of branch elements (must be given in
Ohm).
Return value:
1: If terminal on which the method was called is electrical equivalent to terminal that was passed as
argument
0: Otherwise
Example:
int res;
res = Busbar1.IsElectrEquivalent(Busbar2, 0.05, 0.05);
if (res = 1){
printf('%o is electrical equivalent to %o', Busbar1, Busbar2);
}else{
printf('%o is not electrical equivalent to %o', Busbar1, Busbar2);
}
DIgSILENT PowerFactory 15, User Manual 1301
APPENDIX D. DPL REFERENCE
D.8.14.4 GetMinDistance
double GetMinDistance (object term [, int considerSwitches, set path, set limitToNodes])
This function determines the shortest path between the terminal the function was called on and the
terminal that was passed as rst argument. The distance is determined on network topology regarding
the length of the traversed component (i.e. only lines have an inuence on distance).
Arguments:
object term (obligatory) : Terminal to which the shortest path is determined.
int considerSwitches (optional) :
0: Traverse all components, ignore switch states
1: Do not traverse open switch devices (default)
set path (optional) : If given, all components of the found shortest path are put into this set.
set limitToNodes (optional) : If given, the shortest path is searched only within this set of nodes.
Please note, when limiting search to a given set of nodes, the start and end terminals (for which the
distance is determined) must be part of this set (otherwise distance =-1).
Return value:
<0: If there is no path between the two terminals
else >=0: distance of shortest path
Example:
!assume terminal1 and terminal2 are objects of class
double distance;
set path;
object obj;
distance = terminal1.GetMinDistance(terminal2, 0, path);
printf('Shortest distance: %f', distance);
printf('Path:');
for(obj = path.First(); obj; obj = path.Next()){
obj.ShowFullName();
}
D.8.15 Tower (ElmTow)
FitParams Calculates distributed parameters for tower elements.
PrintFreqDepParams Prints the calculated frequency dependent parameters for
tower elements in a tabular format to the output window.
D.8.15.1 ElmTow.FitParams
int ElmTow.FitParams ()
Calculates distributed parameters for tower elements. Whether this function calculates constant param-
eters or frequency dependent parameters depends on the user setting of the parameter 'i_model'in the
ElmTow dialogue. The settings are as follows: i_model=0: constant parameters; i_model=1: frequency
1302 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
dependent parameters.
Arguments:
none
Return value:
0 on success, 1 on error
Example:
object oElmTow;
set sElmTows;
int err;
sElmTows = AllRelevant('
*
.ElmTow');
oElmTow = sElmTows.First();
err = oElmTow.FitParams();
if (err) {
Error('Could not calculate line parameters for %s.', oElmTow);
exit();
}
D.8.15.2 ElmTow.PrintFreqDepParams
void ElmTow.PrintFreqDepParams ()
Prints the calculated frequency dependent parameters for tower elements in a tabular format to the out-
put window. This table includes for each mode, the surge impedance, wave propagation, travel time and
the number of poles and zeros of Z and A. It can only be called after the function oElmTow.FitParams()
has been executed; either in DPL or via the ElmTow dialogue.
Arguments:
none
Return value:
none
Example:
object oElmTow;
set sElmTows;
int err;
sElmTows = AllRelevant('
*
.ElmTow');
oElmTow = sElmTows.First();
err = oElmTow.FitParams();
if (err) {
Error('Could not calculate line parameters for %s.', oElmTow);
exit();
}
oElmTow.PrintFreqDepParams();
DIgSILENT PowerFactory 15, User Manual 1303
APPENDIX D. DPL REFERENCE
D.8.16 Transformer (ElmTr2 / ElmTr3)
D.8.16.1 ElmTr2.IsQuadBooster
int ElmTr2.IsQuadBooster (int iside)
Returns whether transformer is a quadbooster or not, i.e. checks if phase shift angle is not 0 modulo
180

.
Arguments:
int iside (obligatory) :
-1: For ElmTr2: default value,
For ElmTr3: default value, will return '1'if transformer has phase shift angle not equal to 0 modulo 180

at any of the sides LV,MV,HV.


0: For ElmTr3: will return '1'if transformer's phase shift angle is not equal to 0 modulo 180

at side HV.
1: For ElmTr3: will return '1'if transformer's phase shift angle is not equal to 0 modulo 180

at side MV.
2: For ElmTr3: will return '1'if transformer's phase shift angle is not equal to 0 modulo 180

at side LV.
Return value:
'1'if quadbooster, else '0'
Example:
set objsTr2, objsTr3;
object obj;
int isQB;
objsTr2 = AllRelevant('
*
.ElmTr2');
objsTr3 = AllRelevant('
*
.ElmTr3');
printf('This is a list of QB in the network:');
for (obj = objsTr2.First(); obj; obj = objsTr2.Next()){
{
isQB = obj.IsQuadBooster();
if(isQB=1)
{
obj.ShowFullName();
}
}
isQB = obj.IsQuadBooster(0);
if(isQB=1)
{
obj.ShowFullName();
printf('at side HV');
}
isQB = obj.IsQuadBooster(1);
if(isQB=1)
{
obj.ShowFullName();
printf('at side MV');
}
isQB = obj.IsQuadBooster(2);
if(isQB=1)
{
obj.ShowFullName();
printf('at side LV');
1304 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
}
}
D.8.17 Zone (ElmZone)
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.
D.8.17.1 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 = GetActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('
*
.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Elements in zone %s',pZone:loc_name);
aAll = pZone.GetAll();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf('%s\\
%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
D.8.17.2 ElmZone.GetBuses
set ElmZone.GetBuses ()
Returns all buses which belong to this zone.
Arguments:
none
DIgSILENT PowerFactory 15, User Manual 1305
APPENDIX D. DPL REFERENCE
Return value:
The set of objects
D.8.17.3 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 = GetActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('
*
.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Nodes in zone %s',pZone:loc_name);
aAll = pZone.GetBuses();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
D.8.17.4 ElmZone.GetBranches
set ElmZone.GetBranches ()
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 = GetActiveProject();
1306 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
if (pPrj) {
aZones = pPrj.GetContents('
*
.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Branches in zone %s',pZone:loc_name);
aAll = pZone.GetBranches();
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
D.8.17.5 ElmZone.GetObjs
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 = GetActiveProject();
if (pPrj) {
aZones = pPrj.GetContents('
*
.ElmZone',1);
aZones.SortToVar(0,'loc_name');
for (pZone=aZones.First(); pZone; pZone=aZones.Next()) {
printf('Cubicles in zone %s',pZone:loc_name);
aAll = pZone.GetObjs('StaCubic');
for (pObj=aAll.First(); pObj; pObj=aAll.Next()) {
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
D.8.18 Switch (StaSwitch)
Close Closes the switch.
Open Opens the switch.
IsOpen Checks if the switch is open.
IsClosed Checks if the switch is closed.
D.8.18.1 StaSwitch.Close
int StaSwitch.Close ()
DIgSILENT PowerFactory 15, User Manual 1307
APPENDIX D. DPL REFERENCE
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);
};
}
D.8.18.2 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);
};
}
1308 DIgSILENT PowerFactory 15, User Manual
D.8. ELEMENTS
D.8.18.3 StaSwitch.IsOpen
int StaSwitch.IsOpen ()
Checks if the switch is open.
Arguments:
none
Return value:
1 when open, 0 when closed
Example:
See StaSwitch.Close D.8.18.2 for an example.
D.8.18.4 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 D.8.18.1 for an example.
D.8.19 Bay (ElmBay)
D.8.19.1 ElmBay.Disconnect
set ElmBay.GetAll ()
This function gets all switches referencing the bay the function is called on.
Arguments:
none
Return value:
Set containing all switches (ElmCoup) referencing the bay
Example:
set sRet;
DIgSILENT PowerFactory 15, User Manual 1309
APPENDIX D. DPL REFERENCE
object oSwitch;
object oBay;
sRet = oBay.GetAll();
for (oSwitch=sRet.First(); oSwitch; oSwitch=sRet.Next()) {
oSwitch.ShowFullName();
}
D.9 Types
Some object methods are specic for a type of object class. The general syntax for an object method is
the same as that used for a set method:
object . [OBJMETHOD] (arguments) ;
For Feeder Methods please refer to Section D.6.3 Feeder (SetFeeder) Methods.
For Path Methods please refer to Section D.6.4 Path (SetPath) Methods.
D.9.1 Induction Machine Type (TypAsm)
D.9.1.1 TypAsm.Disconnect
int TypAsm.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none
D.9.2 Induction Machine Type (TypAsmo)
D.9.2.1 TypAsmo.CalcElParams
int TypAsmo.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none
D.9.3 Line Type (TypLne)
IsCable Checks if the line type is a cable type.
SetNomCurr Sets the nominal current of the line type.
1310 DIgSILENT PowerFactory 15, User Manual
D.9. TYPES
D.9.3.1 TypLne.IsCable
int TypLne.IsCable ()
Checks 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();
}
D.9.3.2 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();
DIgSILENT PowerFactory 15, User Manual 1311
APPENDIX D. DPL REFERENCE
D.10 Additional Objects (Int*)
D.10.1 IntEvt Methods
D.10.1.1 IntEvt.CreateCBEvents
void IntEvt.CreateCBEvents ([int iRemoveExisting])
Creates switch events for the boundary circuit breakers.
Arguments:
int iRemoveExisting (optional):
-1: Query user if circuit breaker events exist.
0: Do not create circuit breaker events if circuit breaker events are already dened events exist (default)
1: Remove existing circuit breaker events.
Return value:
none
D.10.2 IntForm Methods
SetText Sets the format text.
WriteOut Write the report to the output window.
D.10.2.1 IntForm.SetText
int IntForm.SetText (string Text)
Sets the format text of a report form.
Arguments:
string Text (obligatory) : The format text string
Return value:
0 on success
Example:
The following example sets a format string and writes the report for two sets
set SLines,SLoads;
... fill SLines and SLoads ...
OvlReport.SetText('
| Loading of lines: |$H
$LOOP,_EXTERNAL
|# #.# |$N,loc_name,loading
$END ');
OvlReport.WriteOut(SLines, SLoads);
See also IntForm.WriteOut
1312 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
D.10.2.2 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 macro. All format lines between
the $LOOP,_EXTERNAL and the $END macro's will be written for each object in the Listset, which is
therefore called the 'sequential set'. In the format text itself, objects from the PoolSet may be referenced
directly by the ACC(x)" macro, which is replaced by the x'th object in the PoolSet. The PoolSet is
therefore called the 'random access set'. The ListSet or PoolSet may be empty.
The command object that is normally reached by the macro DEF" in report forms will always return
the main DPL command that is running at the moment, even when the 'WriteOut'call is made in a DPL
subscript.
Arguments:
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 tting on a
printed page
0 = Portrait, 1 = Landscape; default: Landscape
Return value:
0 on success
Example:
The following example reports the loading of a list of objects for a certain load condition. The objects
for the loading are sequentially listed. The load conditions are reported for a special set of loads, which
are given as a pool of objects.
set SLines,SLoads;
... fill SLines and SLoads ...
OvlReport.WriteOut(SLines, SLoads);
If OvlReport has the following format string:
--------------$H,
| command : # |$H,DEF:loc_name
| Load settings: |$H| # #.# |$H,ACC(2):loc_name,ACC(2):plini
| # #.# |$H,ACC(3):loc_name,ACC(3):plini
--------------$H,
| Loading of lines: |$H
$LOOP,_EXTERNAL
| # #.# |$N,loc_name,loading
$END
--------------$F,
the following report could be the result:
--------------|
command : FindWL |
| Load settings: |
DIgSILENT PowerFactory 15, User Manual 1313
APPENDIX D. DPL REFERENCE
| 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 D.10.2.1
D.10.3 IntMat Methods
Note: Data are only stored permanently in an IntMat object, if another attribute of this object (e.g. the
name) is also changed.
ColLbl Sets the label of the C'th column.
Get Returns the (row, col) value.
Init Initializes the matrix.
Invert Inverts a matrix.
Multiply Multiplies two matrixes and stores the result in the matrix.
NCol Returns the number of columns in the matrix.
NRow Returns the number of rows in the matrix.
Resize Resizes the matrix.
RowLbl Sets the label of the R'th row.
Set Set the value at position (row,col).
SortToColumn Sort the matrix alphanumerically according to a column.
D.10.3.1 IntMat.ColLbl
string IntMat.ColLbl ([string S,] int C)
Sets or reads the label of the C'th column.
Arguments:
string S (optional) : Label to set
int C (obligatory) : Number of the column index (rst column has index 1)
Return value:
Assigned or read column label
Example:
The following example labels some columns.
Mat.ColLbl('transformers',1);
1314 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
Mat.ColLbl('lines',2);
Mat.ColLbl('busbars',3);
The following example assigns the label of the rst column to the string aLabel
string aLabel;
aLabel = Mat.ColLbl(1);
D.10.3.2 IntMat.Get
double IntMat.Get (int row, int col)
Returns the (row, col) value from the matrix. An run-time error will occur when 'row'or 'col'are out of
range.
Arguments:
int row (obligatory) : row in matrix: 1..NRow()
int col (obligatory) : column in matrix: 1..NCol()
Return value:
Value in matrix.
Example:
The following example multiplies two matrices
int r,c,z,s,s1r,s2c;
double v1,v2,v;
s = M1.NCol();
r = M2.NRow();
if (s<>r) exit();
s1r = M1.NRow();
s2c = M2.NCol();
M3.Init(s1r,s2c);
r=1;
while (r<=s1r) {
c=1;
while (c<=s2c) {
z=1; v=0.0;
while (z<=s) {
v1=M1.Get(r,z);
v2=M2.Get(z,c);
v+=v1
*
v2;
z+=1;
}
M3.Set(r,c,v);
c+=1;
}
r+=1;
}
DIgSILENT PowerFactory 15, User Manual 1315
APPENDIX D. DPL REFERENCE
D.10.3.3 IntMat.Init
int IntMat.Init (int NRows, int NCols [, double dInit])
Initializes the matrix with given size and values, regardless of the previous size and data.
Arguments:
int NRows (obligatory): number of rows
int NCols (obligatory): number of columns
double dInit (optional): All elds of the matrix will be initialised with this value. Matrix is initialized with
zero values if ommited.
Return value:
1: always
Example:
See IntMat.Get D.10.3.2 for an example.
D.10.3.4 IntMat.Invert
int IntMat.Invert ()
Inverts a matrix. This operation is performed in memory only and therefore the modied matrix is not
updated in the database.
Arguments:
none
Return value:
0: success, the original matrix will be overwritten by its inversion
1: error, inversion not possible. Original matrix was not changed.
Example:
! for a given matrix 'Matrix.IntMat'
int err;
err = Matrix.Invert();
if (err){
printf('Matrix %o is not invertible', Matrix);
}
else{
printf('Matrix %o successfully inverted', Matrix);
}
D.10.3.5 IntMat.Multiply
int IntMat.Multiply (object A, object B)
1316 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
Multiplies 2 matrixes and stores the result in the matrix. This operation is performed in memory only
and therefore the modied matrix is not updated in the database.
Arguments:
object A (obligatory): Matrix 1 to be multiplied.
object B (obligatory): Matrix 2 to be multiplied.
Return value:
0: success, the original matrix will be overwritten by the matrix multiplication A * B
1: error, multiplication not possible. Original matrix was not changed.
Example:
! for given matrixes 'mtrx_A', 'mtrx_B', 'mtrx_AB'
int err;
err = mtrx_AB.Multiply(mtrx_A, mtrx_B);
if (err){
printf('Matrix %o and %o could not be multiplied.', mtrx_A, mtrx_B);
}else{
printf('Matrixes successfully multiplied.');
}
D.10.3.6 IntMat.NCol
int IntMat.NCol ()
Returns the number of columns in the matrix. The function NCol() replaces the obsolete function
SizeY().
Arguments:
none
Return value:
The number of columns
Example:
See IntMat.Get D.10.3.2 for an example.
D.10.3.7 IntMat.NRow
int IntMat.NRow ()
Returns the number of rows in the matrix. The function NRow() replaces the obsolete function SizeX().
Arguments:
none
Return value:
DIgSILENT PowerFactory 15, User Manual 1317
APPENDIX D. DPL REFERENCE
The number of rows
Example:
See IntMat.Get D.10.3.2 for an example.
D.10.3.8 IntMat.Resize
int IntMat.Resize (int NRows, int NCols [, double dInit])
Resizes the matrix to a given size. Existing values will not be changed. Added values will be set to the
optional value, otherwise to 0.
Arguments:
int NRows (obligatory) : number of rows
int NCols (obligatory) : number of columns
double dInit (optional) : Value for the initialisation of the additional elds of the matrix. Additional elds
are set to 0 if ommited.
Return value:
1: always
Example:
The following example gets a value from the matrix, possibly resizing it rst.
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);
D.10.3.9 IntMat.RowLbl
string IntMat.RowLbl ([string S ,] int R)
Sets or reads the label of the R'th row.
Arguments:
string S (optional) : Label, required to set
int R (obligatory) : Number of the row index (rst row has index 1)
Return value:
Assigned or read row label
Example:
1318 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
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 rst row to the string aLabel
string aLabel;
aLabel = Mat.RowLbl(1);
D.10.3.10 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 V (obligatory) : value
Return value:
0 on success
Example:
See IntMat.Get D.10.3.2 for an example.
D.10.3.11 IntMat.SortToColumn
int IntMat.SortToColumn (int ColumnIndex)
Sort the matrix alphanumerically according to a column, which is specied by the input parameter.
Arguments:
int ColumnIndex (obligatory) : The index of the column, which starts from 0.
Return value:
0: success
1: error. Original matrix was not changed.
Example:
! for given matrixes 'mtrx'
int err;
int column;
column = 0;
err = mtrx.SortToColumn(column);
DIgSILENT PowerFactory 15, User Manual 1319
APPENDIX D. DPL REFERENCE
if (!err){
printf('Matrixes is sorted according to the column: %d\n.', column);
}
D.10.4 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.
D.10.4.1 IntMon.PrintVal
void IntMon.PrintVal ()
Prints the values of the selected variables to the output window.
Arguments:
none
Return value:
none
D.10.4.2 IntMon.PrintAllVal
void IntMon.PrintAllVal ()
Prints a description for all available variables to the output window.
Arguments:
none
Return value:
none
D.10.4.3 IntMon.NVars
int IntMon.NVars ()
Returns the number of selected variables or, more exact, the number of lines in the variable selection
text on the second page of the IntMon dialogue, which should contain one variable name per line.
Arguments:
none
Return value:
1320 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
The number of selected variables.
D.10.4.4 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:
int row: Given row
Return value:
The variable name.
D.10.4.5 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.
D.10.4.6 IntMon.ClearVars
int IntMon.ClearVars ()
Clears the list of selected variable names.
Arguments:
none
Return value:
none
D.10.4.7 IntMon.AddVar
int IntMon.AddVar (string name)
Appends the variable name" to the list of selected variable names.
Arguments:
The variable name.
Return value:
DIgSILENT PowerFactory 15, User Manual 1321
APPENDIX D. DPL REFERENCE
none
D.10.5 IntThrating Methods
GetRating Returns the rating in MW.
GetCrticalTimePhase Returns the smallest time phase for which the ow is be-
yond the rating.
D.10.5.1 IntThrating.GetRating
double IntThrating.GetRating (double Preload, double PostTime)
This function returns the rating in MWaccording to the thermal rating table, the input parameters Preload
and PostTime.
Arguments:
double Preload (obligatory) : Preload in the load ow (for base case or post contingency case, in %.
double PostTime (obligatory) : Post contingency time phase, in s unit.
Return value:
Rating in MW according to the terminal rating table, the input parameters Preload and PostTime.
Example:
double Rating, Preload, PostTime;
IntThrating.GetRating(Rating, Preload, PostTime);
printf('The Rating at Post Contingency time %10.3f s when the preload is %10.3f:
%10.3f'MW', PostTime, Preload, Rating);
D.10.5.2 IntThrating.GetCriticalTimePhase
double IntThrating.GetCriticalTimePhase (double Flow, double PrefaultLoading)
This function returns the smallest time phase for which the ow is beyond the rating. In case that no
rating is violated, the function should return -1.
Arguments:
double Flow(obligatory) : The active power in load ow calculation (base case or post contingency
case), in MW
double PrefaultLoading (obligatory) : The prefault rating, in MW
Return value:
Smallest time phase for which the ow is beyond the rating.
-1: In case that no rating is violated.
Example:
1322 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
double dtime, dFlow, dPrefaultloading;
dtime = IntThrating.GetCriticalTimePhase(dFlow, dPrefaultloading);
printf('The critical time phase for which the active power %10.3f beyond the
loading (prefault loading %10.3f) is %10.3f', dFlow, dPrefaultloading, dtime);
D.10.6 IntUser Methods
Purge Purges the storage of all projects that need purging.
SetPassword Sets the password for the user the function is called on.
D.10.6.1 IntUser.Purge
void IntUser.Purge ()
Purges the storage of all projects that need purging.
Arguments:
none
Return value:
none
D.10.6.2 IntUser.SetPassword
void IntUser.SetPassword (string newpassword)
Sets the password for the user the function is called on.
Note: A normal user is allowed to set the password for himself only. The administrator user is allowed
to set passwords for every user.
Arguments:
string newPassword (obligatory): User password to set
Return value:
none
Example:
set users, groups;
object user, group, userman, obj;
int i;
string name;
userman = GetUserManager();
!create a new user group
group = userman.CreateGroup('Users');
printf('Group %o created.', group);
DIgSILENT PowerFactory 15, User Manual 1323
APPENDIX D. DPL REFERENCE
!create users
for (i = 1; i <= 5; i+= 1){
name = sprintf('User%d', i);
user = userman.CreateUser(name);
!set password to user name (case sensitive!)
user.SetPassword(name);
printf('User %o created.', user);
!add user to newly created group
obj = group.CreateObject('IntRef');
obj:obj_id = user;
}
D.10.7 IntUserman Methods
GetGroups Provides access to all available user groups.
GetUsers Provides access to all available users.
CreateGroup Creates a new user group of given name.
CreateUser Creates a new user of given name.
D.10.7.1 IntUserman.GetGroups
set IntUserman.GetGroups ()
These function provides access to all available user groups.
Note: Only the administrator user is allowed to call this function.
Arguments:
none
Return value:
Set of all available user groups
Example:
set users, groups;
object user, group, userman;
userman = GetUserManager();
!listing of all groups
printf('Existing Groups:');
groups = userman.GetGroups();
for (group = groups.First(); group; group = groups.Next()){
printf('%o', group);
!list users of that group
users = group.GetContents();
for (user = users.First(); user; user = users.Next()){
printf('- %o', user:obj_id);
}
}
printf('\n\n');
!listing of all users
printf('Existing Users:');
users = userman.GetUsers();
1324 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
for (user = users.First(); user; user = users.Next()){
printf('%o', user);
}
D.10.7.2 IntUserman.GetUsers
set IntUserman.GetUsers ()
These function provides access to all available users.
Note: Only the administrator user is allowed to call this function.
Arguments:
none
Return value:
Set of all available users
Example:
set users, groups;
object user, group, userman;
userman = GetUserManager();
!listing of all groups
printf('Existing Groups:');
groups = userman.GetGroups();
for (group = groups.First(); group; group = groups.Next()){
printf('%o', group);
!list users of that group
users = group.GetContents();
for (user = users.First(); user; user = users.Next()){
printf('- %o', user:obj_id);
}
}
printf('\n\n');
!listing of all users
printf('Existing Users:');
users = userman.GetUsers();
for (user = users.First(); user; user = users.Next()){
printf('%o', user);
}
D.10.7.3 IntUserman.CreateGroup
object IntUserman.CreateGroup (string name)
Creates a new user group of given name.
There is no group created if a group of that name does already exist. In this case, the existing group is
returned.
Note: Only Administrator user is allowed to call this function.
Arguments:
string name (obligatory): Given name of the user group
DIgSILENT PowerFactory 15, User Manual 1325
APPENDIX D. DPL REFERENCE
Return value:
Created user group (IntGroup)
Example:
set users, groups;
object user, group, userman, obj;
int i;
string name;
userman = GetUserManager();
!create a new user group
group = userman.CreateGroup('Users');
printf('Group %o created.', group);
!create users
for (i = 1; i <= 5; i+= 1){
name = sprintf('User%d', i);
user = userman.CreateUser(name);
!set password to user name (case sensitive!)
user.SetPassword(name);
printf('User %o created.', user);
!add user to newly created group
obj = group.CreateObject('IntRef');
obj:obj_id = user;
}
D.10.7.4 IntUserman.CreateUser
object IntUserman.CreateUser (string name)
Creates a new user of given name.
There is no user created if a user of that name does already exist. In this case, the existing user is
returned.
Note: Only Administrator user is allowed to call this function.
Arguments:
string name (obligatory): Given name of the user
Return value:
Created user (IntUser)
Example:
set users, groups;
object user, group, userman, obj;
int i;
string name;
userman = GetUserManager();
!create a new user group
group = userman.CreateGroup('Users');
printf('Group %o created.', group);
!create users
1326 DIgSILENT PowerFactory 15, User Manual
D.10. ADDITIONAL OBJECTS (INT*)
for (i = 1; i <= 5; i+= 1){
name = sprintf('User%d', i);
user = userman.CreateUser(name);
!set password to user name (case sensitive!)
user.SetPassword(name);
printf('User %o created.', user);
!add user to newly created group
obj = group.CreateObject('IntRef');
obj:obj_id = user;
}
D.10.8 IntVec Methods
Note: Data are only stored permanently in an IntVec object, if another attribute of this object (e.g. the
name) is also changed.
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.
D.10.8.1 IntVec.Get
double IntVec.Get (int i)
Returns the value at index i.
Arguments:
int i (obligatory) : Vector index.
Return value:
Value at index i.
Example:
The following example adds two vectors.
int i,j;
double v1,v2;
i = Vec1.Size();
j = Vec2.Size();
if (i<>j) {
output('invalid operation');
exit();
}
Vec3.Init(i);
i=1;
while (i<=j) {
v1 = Vec1.Get(i);
v2 = Vec2.Get(i);
Vec3.Set(i,v1+v2);
i+=1;
DIgSILENT PowerFactory 15, User Manual 1327
APPENDIX D. DPL REFERENCE
}
D.10.8.2 IntVec.Set
void 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:
none
Example:
See IntVec.Get D.10.8.1 for an example.
D.10.8.3 IntVec.Init
void 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:
none
Example:
See IntVec.Get D.10.8.1 for an example.
D.10.8.4 IntVec.Resize
void IntVec.Resize (int Size)
Resizes the vector. Added values are set to 0.0.
Arguments:
none
Return value:
none
Example:
1328 DIgSILENT PowerFactory 15, User Manual
D.11. DDE FUNCTIONS
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 Functions and Methods
Data Container
D.10.8.5 IntVec.Size
int IntVec.Size ()
Returns the size of the vector.
Arguments:
none
Return value:
The size of the vector
Example:
See IntVec.Get D.10.8.1 for an example.
D.11 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.
Note: DDE interface is no longer supported by Microsoft and cannot be used in PowerFactory , use
DPL Extension for MS Ofce instead
DIgSILENT PowerFactory 15, User Manual 1329
APPENDIX D. DPL REFERENCE
D.12 DPL Extension for MS Ofce
D.12.1 Functions for MS Excel
Application Functions
xlSetDebug Enables output of additional information of errors during
communication with MS Excel.
xlStart Creates a new MS Excel instance.
xlTerminate Closes currently active MS Excel instance.
xlSetVisible Sets visibility of MS Excel application window.
xlGetDecimalSeparator Returns currently used decimal separator.
xlGetThousandsSeparator Returns currently used thousands separator.
xlGetDateSeparator Returns currently used date separator.
Workbook Functions
xlNewWorkbook Creates a new Workbook.
xlOpenWorkbook Opens an existing workbook.
xlSaveWorkbookAs Saves current workbook as a new le.
xlSaveWorkbook Saves a modied workbook.
xlCloseWorkbook Closes currently opened workbook.
Worksheet Functions
xlAddWorksheet Adds a new worksheet to current workbook.
xlDeleteWorksheet Deletes a worksheet from current workbook
xlGetWorksheetCount Returns the number of worksheets in current workbook.
xlGetWorksheetName Gets the name of a worksheet.
xlSetWorksheetName Sets the name of a worksheet.
xlGetActiveWorksheetIndex Returns the index of currently active sheet.
xlActivateWorksheet Activates sheet with given index in active workbook.
Data Manipulating Functions
xlGetValue Returns the value of a cell.
xlSetValue Sets a cells value
xlSetValues Sets values for a row of cells.
Format Functions
xlSetTextStyle Sets given text style for a cell or for a range of cells.
xlResetTextStyle Resets given text style for a cell or for a range of cells.
xlSetTextColor Sets the text color for a cell or a range of cells.
xlSetFillColor Sets the background color for a cell or a range of cells.
xlSetColumnWidth Sets the width of a given column in active worksheet.
xlSetRowHeight Sets the height of a given row in active worksheet.
xlSetHorizontalAlignment Sets the horizontal content alignmnet for a cell or a range
of cells.
1330 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
xlSetVerticalAlignment Sets the vertical content alignment for a cell or a range of
cells.
xlSetNumberFormat Sets the number format for a cell or a range of cells.
xlSetFontName Sets a new text font for a cell or a range of cells.
xlSetFontSize Sets a new size for text font of a cell or a range of cells.
xlSetBorder Sets/resets the border of a cell or a range of cells.
xlSetWrapText Enables or disables text wrapping for a cell or range of
cells.
Misc Functions
xlSetPrintTitleRows Allows to set xed header rows for printing.
xlRunMacro Executes a macro.
D.12.1.1 xlSetDebug
void xlSetDebug ( int debug )
Enables output of additional information of errors during communication with MS Excel. The information
is printed as plain text to the PowerFactory output window.
Parameters:
debug : whether to enable debug mode or not 0=disabled 1=enabled
Example:
See section D.12.2 for examples.
D.12.1.2 xlStart
int xlStart ( )
Creates a new MS Excel instance. This function must be called once at the beginning of any communi-
cation with MS Excel.
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.3 xlTerminate
int xlTerminate ( )
Closes currently active MS Excel instance. This function should be called at the end of a script if all
communication with MS Excel is nished.
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
DIgSILENT PowerFactory 15, User Manual 1331
APPENDIX D. DPL REFERENCE
D.12.1.4 xlSetVisible
int xlSetVisible ( int visible )
Sets visibility of MS Excel application window. By default, the window is hidden.
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.5 xlGetDecimalSeparator
string xlGetDecimalSeparator ( )
Returns currently used decimal separator.
Returns:
decimal separator, e.g. ,"
Example:
See section D.12.2 for examples.
D.12.1.6 xlGetThousandsSeparator
string xlGetThousandsSeparator ( )
Returns currently used thousands separator.
Returns:
thousands separator, e.g. ."
Example:
See section D.12.2 for examples.
D.12.1.7 xlGetDateSeparator
string xlGetDateSeparator ( )
Returns currently used date separator.
Returns:
date separator, e.g. /"
Example:
See section D.12.2 for examples.
D.12.1.8 xlNewWorkbook
int xlNewWorkbook ( )
Creates a new Workbook.
1332 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.9 xlOpenWorkbook
int xlOpenWorkbook ( string le )
Opens an existing workbook.
Parameters:
le : name of existing MS Excel le to open
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.10 xlSaveWorkbookAs
int xlSaveWorkbookAs ( string le )
Saves current workbook as a new le.
Parameters:
le : name of new MS Excel le
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.11 xlSaveWorkbook
int xlSaveWorkbook ( )
Saves a modied workbook. The existing le will be overwritten with current version of the workbook.
Please note, for new workbooks the SaveAs() function has to be used.
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.12 xlCloseWorkbook
int xlCloseWorkbook ( )
Closes currently opened workbook. Any unsaved modications will be lost.
DIgSILENT PowerFactory 15, User Manual 1333
APPENDIX D. DPL REFERENCE
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.13 xlAddWorksheet
int xlAddWorksheet ( string name )
Adds a new worksheet to current workbook. The new worksheet will automatically be set to be the
active one.
Parameters:
name : optional, name for new worksheet
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.14 xlDeleteWorksheet
int xlDeleteWorksheet ( int sheetIndex )
Deletes a worksheet from current workbook.
Parameters:
sheetIndex : index of sheet to delete. 1 <= sheetIndex <= GetWorksheetCount()
Returns:
0 on success, 1 on error
Example:
int count; !delete all worksheets (except last one = error)
count = xlGetWorksheetCount();
while(count > 0) {
error = xlDeleteWorksheet(count);
if (error = 0) {
printf('Successfully deleted sheet %d ', count);
}
else {
printf('Sheet %d could not be deleted', count);
break;
}
count -= 1;
}
D.12.1.15 xlGetWorksheetCount
int xlGetWorksheetCount ( )
1334 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
Returns the number of worksheets in current workbook.
Returns:
number of sheets, always >= 0
Example:
See section D.12.2 for examples.
D.12.1.16 xlGetWorksheetName
string xlGetWorksheetName ( int sheetIndex )
Gets the name of a worksheet (in active workbook).
Parameters:
sheetIndex: index of sheet for which the name shall be returned.
This index is 1-based, this means 1 <= sheetIndex <= xlGetWorksheetCount()
Returns:
name of sheet or empty in case sheet does not exist
Example:
int count;
string name;
count = xlGetWorksheetCount();
printf('Number of sheets in current workbook: %d', count);
while(count > 0) {
name = xlGetWorksheetName(count);
printf('Worksheet[%d]: Name=%s', count, name);
count -= 1;
}
D.12.1.17 xlSetWorksheetName
int xlSetWorksheetName ( int sheetIndex, string name )
Sets the name of a worksheet (in active workbook).
Parameters:
sheetIndex: index of sheet for which the name shall be set.
This index is 1-based, this means 1 <= sheetIndex <= xlGetWorksheetCount()
name: new name to be set
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.18 xlGetActiveWorksheetIndex
int xlGetActiveWorksheetIndex ( )
DIgSILENT PowerFactory 15, User Manual 1335
APPENDIX D. DPL REFERENCE
Returns the index of currently active sheet.
Returns:
index of active worksheet, 1 <= index <= xlGetWorksheetCount()
Example:
See section D.12.2 for examples.
D.12.1.19 xlActivateWorksheet
int xlActivateWorksheet ( int sheetIndex )
Activates sheet with given index in active workbook.
Parameters:
ssheetIndex: index of sheet for which the name shall be set.
This index is 1-based, this means 1 <= sheetIndex <= xlGetWorksheetCount()
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.20 xlGetValue
int xlGetValue (int column, int row, int/double/string value )
Returns the value of a cell.
Parameters:
column : column index of cell, >= 1
row : row index of cell, >= 1
value : variable in which the output will be stored. It is always possible to get a cell value as strings.
For other data types, the type of the variable must match that of the cell value
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.21 xlSetValue
int xlSetValue (int column, int row, int/double/string value )
Sets a cells value.
Parameters:
column : column index of cell, >= 1
row : row index of cell, >= 1
value : new value to be set
Returns:
0 on success, 1 on error
1336 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
Example:
See section D.12.2 for examples.
D.12.1.22 xlSetValues
int xlSetValues (int column, int row, string values, string sep)
Sets values for a row of cells.
Parameters:
column : column index of rst cell, >= 1
row : row index of rst cell, >= 1
value : new values separated by 'sep'
sep : used separator
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.23 xlSetTextStyle
int xlSetTextStyle (int col1, int row1, int col2, int row2, int style)
Sets given text style for a cell or for a range of cells.
Note: If col2 and row2 are given, the text style is changed for the whole range from col1, row1 to col2,
row2. The formatting can be undone using function xlResetTextStyle()
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
style : text style to be set
1 : bold
2 : italic
4 : underline
8 : strikethrough
16 : superscript
32 : subscript
Note: Multiple styles can be combined by summing up the corresponding style values, e.g. bold and
italic => 3(= 1 + 2)
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
DIgSILENT PowerFactory 15, User Manual 1337
APPENDIX D. DPL REFERENCE
D.12.1.24 xlResetTextStyle
int xlResetTextStyle (int col1, int row1, int col2, int row2, int style)
Resets given text style for a cell or for a range of cells.
Note: If col2 and row2 are given, the text style is changed for the whole range from col1, row1 to col2,
row2.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
style : text style to be reset
1 : bold
2 : italic
4 : underline
8 : strikethrough
16 : superscript
32 : subscript
Note: Multiple styles can be combined by summing up the corresponding style values, e.g. bold and
italic => 3(= 1 + 2)
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.25 xlSetTextColor
int xlSetTextColor (int column1, int row1, int column2, int row2, int colorR, int colorG, int colorB)
Sets the text color for a cell or a range of cells. The color must be given in RGB parts.
Note: If col2 and row2 are given, the text style is changed for the whole range from col1, row1 to col2,
row2.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
colorR : red part of RGB color, 0 <= colorR <= 255
colorG : green part of RGB color, 0 <= colorG <= 255
colorB : blue part of RGB color, 0 <= colorB <= 255
Returns:
0 on success, 1 on error
1338 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
Example:
See section D.12.2 for examples.
D.12.1.26 xlSetFillColor
int xlSetFillColor (int column1, int row1, int column2, int row2, int colorR, int colorG, int colorB)
Sets the background color for a cell or a range of cells. The color must be given in RGB parts.
Note: If col2 and row2 are given, the text style is changed for the whole range from col1, row1 to col2,
row2.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
colorR : red part of RGB color, 0 <= colorR <= 255
colorG : green part of RGB color, 0 <= colorG <= 255
colorB : blue part of RGB color, 0 <= colorB <= 255
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.27 xlSetColumnWidth
int xlSetColumnWidth ( int column, double width )
Sets the width of a given column in active worksheet.
Parameters:
column : column index, >= 1
width : new width. If a value < 0 is passed, the optimal width will be automatically detected ('autot').
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.28 xlSetRowHeight
int xlSetRowHeight ( int column, double height )
Sets the height of a given row in active worksheet.
Parameters:
row : row index, >= 1
width : new height. If a value < 0 is passed, the optimal height will be automatically detected ('autot').
Returns:
0 on success, 1 on error
DIgSILENT PowerFactory 15, User Manual 1339
APPENDIX D. DPL REFERENCE
Example:
See section D.12.2 for examples.
D.12.1.29 xlSetHorizontalAlignment
int xlSetHorizontalAlignment (int col1, int row1, int col2, int row2, int alignment)
Sets the horizontal content alignment for a cell or a range of cells.
Note: If col2 and row2 are given, the text style is changed for the whole range from col1, row1 to col2,
row2.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
alignment : new horizontal alignment. Possible values are:
0 : left
1 : center
2 : right
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.30 xlSetVerticalAlignment
int xlSetVerticalAlignment (int col1, int row1, int col2, int row2, int alignment)
Sets the vertical content alignment for a cell or a range of cells.
Note: If col2 and row2 are given, the text style is changed for the whole range from col1, row1 to col2,
row2.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
alignment : new horizontal alignment. Possible values are:
0 : top
1 : center
2 : bottom
Returns:
0 on success, 1 on error
1340 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
Example:
See section D.12.2 for examples.
D.12.1.31 xlSetNumberFormat
int xlSetNumberFormat (int col1, int row1, int col2, int row2, string format)
Sets the number format for a cell or a range of cells. Please note that decimal, date separators are
localized and must be used according to current settings.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
format : new number format, e.g. 0.##"
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.32 xlSetFontName
int xlSetFontName (int col1, int row1, int col2, int row2, string fontname)
Sets a new text font for a cell or a range of cells.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
fontname : windows font name, e.g. Arial"
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.33 xlSetFontSize
int xlSetFontSize (int col1, int row1, int col2, int row2, double fontsize)
Sets a new size for text font of a cell or a range of cells.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
fontsize : size, e.g. 12.0"
Returns:
DIgSILENT PowerFactory 15, User Manual 1341
APPENDIX D. DPL REFERENCE
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.34 xlSetBorder
int xlSetBorder (int col1, int row1, int col2, int row2, borders, int lineStyle, int weight, int colorR, int
colorG, int colorB)
Sets/resets the border of a cell or a range of cells.
To reset a border, use lineStyle=none. In this case, the given weight and color is ignored.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
borders : identer of border, possible values are:
1 : edge bottom
2 : edge right
4 : edge top
8 : edge left
16 : inside horizontal
32 : inside vertical
64 : diagonal down
128 : diagonal up
lineStyle : style of the line, possible values are:
0 : none (resets the border) 1 : continuous 2 : dash 3 : dash dot 4 : dash dot dot 5 : dot 6 : double 7
: slant dash dot
weight : weight of the border, possible values are:
1 : hairline 2 : medium 3 : thick 4 : thin
colorR : red part of color 0 <= colorR <= 255 colorG : green part of color 0 <= colorG <= 255 colorB
: blue part of color 0 <= colorB <= 255
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.35 xlSetWrapText
int xlSetWrapText (int col1, int row1, int col2, int row2, int enabled)
Enables or disables text wrapping for a cell or range of cells.
Parameters:
col1 : column index, >= 1
row1 : row index, >= 1
1342 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
col2 : optional, 2nd column index for specifying a range, >= 1
row2 : optional, 2nd row index for specifying a range, >= 1
enabled : possible values are:
0 : false = wrapping disabled
1 : true = wrapping enabled
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.36 xlSetPrintTitleRows
int xlSetPrintTitleRows (int row1, int row2)
Allows to set xed header rows for printing. The corresponding setting in Excel is called rows to repeat
on top" and can be found in 'Page Setup'on tab 'Sheet'.
Calling this function with row1=row2=-1 will reset the setting.
Parameters:
row1 : rst row index, -1 or >= 1
row2 : second row index, -1 or >= 1; row2 >= row1
Returns:
0 on success, 1 on error
Example:
See section D.12.2 for examples.
D.12.1.37 xlRunMacro
int xlRunMacro ( string macroName )
Executes a macro.
Parameters:
macroName : name; if a macro of that name does not exist, a value of 1 is returned
Returns:
0 on success, 1 on error. This is not the return value of the macro itself but just an indicator whether
macro has been found an executed.
Example:
See section D.12.2 for examples.
D.12.2 MS Excel Examples
Example 1
This example demonstrates how to export data of PowerFactory elements into an Excel sheet.
string class, attributes, s, desc, type, sval, sep, numberFormat;
set objs;
object obj, oval;
double dval;
DIgSILENT PowerFactory 15, User Manual 1343
APPENDIX D. DPL REFERENCE
int error, pos, i, t, row, col, maxRow, maxCol;
!export definition
class = 'ElmLne';
attributes = 'loc_name,typ_id,bus1,bus2,dline';
error = xlStart(); !start MS Excel
if (error) {
Error('Unable to start MS Excel application');
exit();
}
! get decimal separator and build number format used here
sep = xlGetDecimalSeparator();
numberFormat = sprintf('0%s000', sep);
! create a new workbook
xlNewWorkbook();
xlSetWorksheetName(1, class);
! iterate over attributes and write header row
row = 1;
col = 1;
s = strtok(attributes,',',pos,col);
while(pos > -1) {
xlSetValue(col, row, s);
col+=1;
s = strtok(attributes,',',pos,col);
}
maxCol = col-1;
! change format of header row
xlSetTextStyle(1,1,maxCol,1, 1); !bold
xlSetFillColor(1,1,maxCol,1, 255, 255, 150); !yellow
xlSetBorder(1,1,maxCol,1,1,1,2,0,0,0); !border at bottom
! export data
row = 2;
objs = AllRelevant(class);
for(obj = objs.First(); obj; obj = objs.Next()) {
col = 1; s = strtok(attributes,',',pos,col);
while(pos > -1) {
obj.GetVarType(s, type);
t = strcmp(type, 'string');
if (t=0) {
obj.GetVal(sval, s);
xlSetValue(col, row, sval);
}
t = strcmp(type, 'object'); if (t=0) {
obj.GetVal(oval, s);
sval = oval:loc_name;
xlSetValue(col, row, sval);
}
t = strcmp(type, 'double');
if (t=0) {
obj.GetVal(dval, s);
xlSetValue(col, row, dval);
1344 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
xlSetNumberFormat(col, row, numberFormat);
}
col+=1;
s = strtok(attributes,',',pos,col);
}
row += 1;
}
! save and exit
error = xlSaveWorkbookAs('c:\export.xls');
if (error) {
Error('Workbook could not be saved');
}
xlTerminate(); !terminate MS Excel
Example 2
This example demonstrates how to open an Excel le and read values from active sheet.
int error, row, col, count, active, i, t, stop;
string str;
error = xlStart(); !start MS Excel
if (error) {
Error('Unable to start MS Excel application');
exit();
}
error = xlOpenWorkbook('c:\test.xls'); !opens c:\test.xls
if (error) {
Error('Unable to open Excel file.');
xlTerminate();
exit();
}
! get number of sheets
count = xlGetWorksheetCount();
active = xlGetActiveWorksheetIndex();
printf('The workbook contains the following sheets:');
for(i = 1; i<=count; i+= 1) {
str = xlGetWorksheetName(i);
if (i = active) {
printf('%d: %s (active)', i, str);
}
else {
printf('%d: %s', i, str);
}
}
! get cell values starting at A1 up to first empty cell
printf('Listing contents of current sheet:');
row = 1;
stop = 0;
while(stop = 0) {
col = 1;
DIgSILENT PowerFactory 15, User Manual 1345
APPENDIX D. DPL REFERENCE
while(1) {
xlGetValue(col, row, str);
t = strlen(str);
if (t = 0) { ! stop at empty cell, continue with next row
if (col = 1) {
stop = 1;
! completely stop if cell in first column is empty
}
break;
}
printf('row: %d, col: %d, value: %s', row, col, str);
col += 1;
}
row += 1;
}
xlTerminate(); !terminate MS Excel
D.12.3 Functions for MS Access
General Functions
mdbSetDebug Enables output of additional information of errors during
communication with MS Access.
mdbOpen Opens an MS Access le.
mdbClose Closes currently opened MS Access le.
Statements
mdbExecuteSqlStatement Executes a SQL statement that does not return any values.
Queries
mdbExecuteSqlQuery Executes a SQL query.
mdbFetchResult Fetches next data set returned by previous SQL query.
mdbGetResultColumnCount Returns the number of data columns a result set has.
mdbGetResultColumnValue Returns the value of a column in current data set.
mdbGetResultColumnName Returns the eld name of a result column.
mdbGetResultColumnType Returns the data type of the colum in result set.
D.12.3.1 mdbSetDebug
void mdbSetDebug ( int debug )
Enables output of additional information of errors during communication with MS Access. The informa-
tion is printed as plain text to the PowerFactory output window.
Parameters:
debug : whether to enable debug mode or not
0=disabled
1=enabled
1346 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
Returns:
0 on success, 1 on error.
Example:
See section D.12.4 for examples.
D.12.3.2 mdbOpen
int mdbOpen (string le, int createIfNotExists = 0, int accessMode = 0)
Opens an MS Access le.
Parameters:
le : full le name of mdb
createIfNotExists : optional, whether to create a new if it does not exist yet
0=no (default)
1=yes
accessMode : optional, access mode
0=read/write(default)
1=read only
Returns:
0 on success, 1 on error.
Example:
See section D.12.4 for examples.
D.12.3.3 mdbClose
void mdbClose ( )
Closes currently opened MS Access le.
Returns:
0 on success, 1 on error.
Example:
See section D.12.4 for examples.
D.12.3.4 mdbExecuteSqlStatement
int mdbExecuteSqlStatement ( string statement )
Executes a SQL statement that does not return any values. Executing a statement invalidates a previous
query if there exists one.
Parameters:
statement : sql statement as text, e.g. CREATE TABLE...
Returns:
0 on success, 1 on error.
DIgSILENT PowerFactory 15, User Manual 1347
APPENDIX D. DPL REFERENCE
Special queries
'SQLTables'to enumerate over all table denitions
'SQLColumns tablename'to enumerate over all columns of a table
Example:
See section D.12.4 for examples.
D.12.3.5 mdbExecuteSqlQuery
int mdbExecuteSqlQuery ( string statement )
Executes a SQL query. The result of the query can be obtained by calling FetchResult().
Please note: Executing a new query will invalidate a previous one. It is not possible to have multiple
queries open in parallel.
Parameters:
statement : sql statement as text, e.g. SELECT FROM...
Returns:
0 on success, 1 on error.
Example:
See section D.12.4 for examples.
D.12.3.6 mdbFetchResult
int mdbFetchResult ( )
Fetches next data set returned by previous SQL query. To get all result sets, this function must be called
until 0 is returned.
Returns:
0 on success, 1 on error.
Example:
See section D.12.4 for examples.
D.12.3.7 mdbGetResultColumnCount
int mdbGetResultColumnCount ( )
Returns the number of data columns a result set has. All sets of a query have identical number of
column counts. Therefore, it is sufcient to get this value only once while iterating over the results.
Please note, this function requires that results values have already been fetched via mdbFetchResult().
Returns:
number of columns in result set, always >= 0
Example:
See section D.12.4 for examples.
D.12.3.8 mdbGetResultColumnValue
int mdbGetResultColumnValue (int column, int/double/string value)
1348 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
Returns the value of a column in current data set.
Parameters:
column : index of column, 1 <= index <= mdbGetResultColumnCount()
value : output variable. The variable type must match the data type of the column. The only exception
is as string: It is allowed to retrieve all values as strings.
Returns:
0 on success, 1 on error.
Example:
See section D.12.4 for examples.
D.12.3.9 mdbGetResultColumnName
string mdbGetResultColumnName ( int column )
Returns the eld name of a result column. All sets of a query have identical number of column counts.
Therefore, it is sufcient to get this value only once while iterating over the results. Please note, this
function requires that results values have already been fetched via mdbFetchResult().
Parameters:
column : column index, 1 <= index <= mdbGetResultColumnCount()
Returns:
name of the column. string is empty if index is out of valid range.
Example:
See section D.12.4 for examples.
D.12.3.10 mdbGetResultColumnType
int mdbGetResultColumnType ( int column )
Returns the data type of the column in result set. Please note, this function requires that results values
have already been fetched via mdbFetchResult().
Parameters:
column : column index, 1 <= index <= mdbGetResultColumnCount()
Returns:
data type of values in given column:
0 = string
1 = integer
2 = double
Example:
See section D.12.4 for examples.
D.12.4 MS Access Examples
Example 1
This example demonstrates the creation of a new table and insertion of some values.
int error, i, ival;
DIgSILENT PowerFactory 15, User Manual 1349
APPENDIX D. DPL REFERENCE
string sql, s;
double dval;
! open a new database (create if it does not exist)
error = mdbOpen('c:\example.mdb',1);
if (error) {
Error('Unable to open/create access file');
mdbClose();
exit();
}
! create a new table 'MyTable'
sql = 'CREATE TABLE [MyTable] ([Name] VARCHAR(20), [Index] INTEGER,
[Value] DOUBLE)';
error = mdbExecuteSqlStatement(sql);
if (error) {
Error('Table creation failed');
mdbClose();
exit();
}
! fill in some data
for(i = 1; i<5; i+= 1) {
dval = i/2;
s = sprintf('%f', dval);
strchg(s, ',', '.'); ! replace ','by '.'
sql = sprintf('INSERT INTO MyTable ([Name], [Index], [Value]) VALUES
(Entry%d", %d, %s)', i, i, s);
error = mdbExecuteSqlStatement(sql);
if (error) {
Error('Insertion of data failed (%s)', sql);
mdbClose();
exit();
}
}
! close database
mdbClose();
Example 2
This example demonstrates how to access information about available tables.
int error, colcount, i, t;
string sql, s;
! open an existing database
error = mdbOpen('c:\example.mdb',0);
if (error) {
Error('Unable to open database');
exit();
}
1350 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
! list available tables
sql = 'SQLTables';
error = mdbExecuteSqlQuery(sql);
if (.not. error) {
! get first result set
error = mdbFetchResult();
}
if (error) {
Error('Unable to get table information');
mdbClose();
exit();
}
! get number of columns in result set
colcount = mdbGetResultColumnCount();
! output table information
printf('The database contains the following tables:');
SetLineFeed(0); ! disable automatic line feed
! header information (column name and type)
for(i =1; i<= colcount; i+=1) {
if (i>1) {
printf('; ');
}
s = mdbGetResultColumnName(i);
t = mdbGetResultColumnType(i);
printf('%s(%d)', s, t);
}
printf('\n');
! output result data sets
while(error = 0){
for(i =1; i<= colcount; i+=1) {
if (i>1) {
printf('; ');
}
mdbGetResultColumnValue(i, s);
printf('%s',s);
}
printf('\n');
error = mdbFetchResult();
}
SetLineFeed(1); ! enable automatic line feed again
! close database
mdbClose();
Example 3
This example demonstrates how to get information about the columns of a specic table.
int error, colcount, i, t;
string sql, s;
DIgSILENT PowerFactory 15, User Manual 1351
APPENDIX D. DPL REFERENCE
! open an existing database
error = mdbOpen('c:\example.mdb',0);
if (error) {
Error('Unable to open database');
exit();
}
! list fiels of table 'MyTable'
sql = 'SQLColumns MyTable';
error = mdbExecuteSqlQuery(sql);
if (.not. error) {
! get first result set
error = mdbFetchResult();
}
if (error) {
Error('Unable to get field information for table MyTable"');
mdbClose();
exit();
}
! get number of columns in result set
colcount = mdbGetResultColumnCount();
! output table information
printf('The table MyTable" contains the columns:');
SetLineFeed(0);
! header information (column name and type)
for(i =1; i<= colcount; i+=1) {
if (i>1) {
printf('; ');
}
s = mdbGetResultColumnName(i);
t = mdbGetResultColumnType(i);
printf('%s(%d)', s, t);
}
printf('\n');
! output result data sets
while(error = 0) {
for(i =1; i<= colcount; i+=1) {
if (i>1) {
printf('; ');
}
mdbGetResultColumnValue(i, s);
printf('%s',s);
}
printf('\n');
error = mdbFetchResult();
}
SetLineFeed(1);
! close database
1352 DIgSILENT PowerFactory 15, User Manual
D.12. DPL EXTENSION FOR MS OFFICE
mdbClose();
Example 4
This example demonstrates how to read data from an existing table.
int error, colcount, i, t;
string sql, s;
! open an existing database
error = mdbOpen('c:\example.mdb',0);
if (error) {
Error('Unable to open database');
exit();
}
! list fiels of table 'MyTable'
sql = 'SELECT
*
FROM [MyTable]';
error = mdbExecuteSqlQuery(sql);
if (.not. error) {
! get first result set
error = mdbFetchResult();
}
if (error){
Error('Unable to get data from table MyTable"');
mdbClose();
exit();
}
! get number of columns in result set
colcount = mdbGetResultColumnCount();
! output table information
printf('The table MyTable" contains the following data:');
SetLineFeed(0);
! header information (column name and type)
for(i =1; i<= colcount; i+=1) {
if (i>1) {
printf('; ');
}
s = mdbGetResultColumnName(i);
t = mdbGetResultColumnType(i);
printf('%s(%d)', s, t);
}
printf('\n');
! output result data sets
while(error = 0) {
for(i =1; i<= colcount; i+=1) {
if (i>1) {
printf('; ');
}
mdbGetResultColumnValue(i, s);
printf('%s',s);
DIgSILENT PowerFactory 15, User Manual 1353
APPENDIX D. DPL REFERENCE
}
printf('\n');
error = mdbFetchResult();
}
SetLineFeed(1);
! close database
mdbClose();
1354 DIgSILENT PowerFactory 15, User Manual
Appendix E
The DIgSILENTOutput Language
When more than just the variable name, value and unit has to be displayed, if the use colours is pre-
ferred, or other special formats, the DIgSILENT Output Language can be used.
By selecting the Format Editor input mode, the editor is activated (see Figure E.0.1).
Figure E.0.1: The Form text editor
Almost all textual output that is produced in PowerFactory , is dened 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 eld of a IntForm object species the report that is to be generated. For
result boxes, that text is normally created automatically in the IntForm dialogue by selecting "Predened
Variables, or any other set of variables, and some extras such as the number of decimals and if an unit
or name should be shown. These options will automatically create a report form. That automatic form
is normally used as it is, but it may be altered manually. This is shown in Figure E.0.1, where report
format is changed such that the variable name of the loading factor is deleted and replaced by the xed
DIgSILENT PowerFactory 15, User Manual 1355
APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
text ld, because the variable name "loading" is felt too long compared with the names of the other two
variables ("P" and "Q"). The shown format will produce result boxes like
P 12.34 MW
Q 4.84 Mvar
ld 103.56 %
Dening single line result boxes only asks for a basic understanding of the DIgSILENT output language.
For more complex reports, many different variables from all kinds of objects have to be printed as
listings or tables. Such a report would require macro handling, container loops, selection of parameters,
headers, footers, titles, colours, etc. The DIgSILENT output language offers all this, and more.
The basic syntax, which is primary used for dening result boxes is given in the following overview.
Format string, Variable names and text Lines
Placeholders
Variables, Units and Names
Colour
Advanced Syntax Elements
Line Types and Page Breaks
Predened Text Macros
Object Iterations, Loops, Filters and Includes
E.1 Format string, Variable names and text Lines
A standard line consists of three parts (see Figure E.1.1):
1. A format string, containing placeholders, macros and/or user dened text.
2. An end of line character like $N, $E or $F
3. Variable names, separated by commas, which are used to ll in the placeholders.
Figure E.1.1: Basic parts of the report format
The format string is normally much longer.
E.2 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 denes the number of decimals. The #-sign
itself can be included in user-dened text by typing \#.
1356 DIgSILENT PowerFactory 15, User Manual
E.3. VARIABLES, UNITS AND NAMES
E.3 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 placeholders position
""%1.3,s:nt" writes s:nt with 3 digits precision at the placeholders position
The centring code | may be used in front of the formatting code for centring 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 cformat of %10.3
will reserve 10 characters for a number with 3 decimals. The rst number can be omitted for text: %.6
will reserve 6 characters for the text eld. The cformat syntax allows for centring text by adding the
|-sign to the %-sign:
|%.10 will reserve 10 characters and will centre the text.
Free, language dependent text can be dened 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(ElmTerm):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.
DIgSILENT PowerFactory 15, User Manual 1357
APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
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
writes the name of the grid
CMD
Returns the last calculation command, i.e. a Short-Circuit (ComShc), Load-ow (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
1358 DIgSILENT PowerFactory 15, User Manual
E.4. COLOUR
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 cal-
culation modules
example:
RES:e:desc
writes the rst line of the description of the results object
E.4 Colour
A line can be set to another colour by adding a _LCOL(c) command directly after the $N, marker. This
will colour the whole line according to the colour number c.
a black i gray
b black j lightgray
c red k bordeaux
d green l darkred
e blue m darkgreen
f brown n lightgreen
g cyan o marine
h magenta p darkblue
Table E.4.1: Colour Codes
A single item can be coloured by using the _COLOR(Variable name; color code).
E.5 Advanced Syntax Elements
The advanced syntax is mainly used for writing forms for larger and more complex reports. An example
is a short-circuit result form, which lists all the short-circuit parameters for all busbars and for each
busbar for all connected elements.
DIgSILENT PowerFactory 15, User Manual 1359
APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
E.6 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 rst page
$C Comment line (not used for output)
$R Marker that make that the line will only be used when the specied 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 species 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 directly 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) Disables page breaking directly after the current line
_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 (rst passage)
_NFIRST The current line will only be used when the loop index is not 0 (all but the rst 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. Ex-
ample: \IF(m:u:bus1<0.95)
Example:
| #.## # #.## # #.## |$R,_NOBREAK, ..
E.7 Predened Text Macros
The following macros will produce specic 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.
1360 DIgSILENT PowerFactory 15, User Manual
E.8. OBJECT ITERATIONS, LOOPS, FILTERS AND INCLUDES
_VERBUILD combines _VERSION and _BUILD
_ORDER order title, if a title has been dened 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 neighbourhood depth
_TEXT(E | text;G | Text) language dependent text (E=English, G=German)
E.8 Object Iterations, Loops, Filters and Includes
To create a report that creates a table with the voltages for all busbars, command are needed to lter the
busbar objects and to create a loop that outputs a line of text for each busbar. A loop or lter command
consists of the following parts:
the keyword "$LOOP" or "$CLOOP"
the lter or loop name
the format text
the keyword "$END"
DIgSILENT PowerFactory 15, User Manual 1361
APPENDIX E. THE DIGSILENT OUTPUT LANGUAGE
1362 DIgSILENT PowerFactory 15, User Manual
Appendix F
Element Symbol Denition
F.1 Introduction
The symbols used in the graphic windows of PowerFactory are dened by the so called Symbol objects
(IntSym). DIgSILENT provides a complete set of symbols to represent any of the dened network
components; additionally the users have the possibility to dene their own symbols and use them in the
graphical windows of their projects.
In the proceeding sections the variables used to dene symbol objects are presented.
F.2 General Symbol Denition
The general denitions of the symbols are given in the General page of the objects dialogue.
Symbol Description
The description of a symbol is shown in the list of symbols when "Show Layer. . . " is used and a
symbol has to be selected on the page "Conguration"
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 denes the range of the fang. The marking of an element in the graphic
makes this range visible.
Visible
Visibility of the symbol
Mirror
Denes if the symbol can be mirror (right mouse button entry)
Allow Moving
Allows moving in graphic
DIgSILENT PowerFactory 15, User Manual 1363
APPENDIX F. ELEMENT SYMBOL DEFINITION
Show Connection Attributes
Shows the square (resulting state of composite switches) at the end of connection lines
Insertion Reference
Denes 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
6 7 8
Additional Attributes
Only used for elements whose representation shall be able to alter via specic changes of the
element parameters (e.g. shunts, couplers)
Connection Points
Denes the position on the symbol where the connection lines start. The number of connection
points is dened 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" dening 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.
F.3 Geometrical Description
The geometrical description of the symbol is given in the Geometry page of the dialogue. The geometry
can be specied by means of geometrical primitives in the Geometrical Components and Attributes
eld.
Circle (C,iStyle,rWidth,iFill,iColor,iRsz,nPts,rMx,rMy,rPx,rPy)
Denes 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)
Denes an arc by the center (rMx,rMy) and 2 points (rPx1,rPy1) (rPx2,rPy2) on the edge, drawn
clockwise. nPts must be set to 3.
Polyline (L, iStyle,rWidth,iFill,iColor,iRsz,iRot,nPts,rPx,rPy)
Denes an open polygonal line with nPts points. rPx andrPy are the coordinates of peg points.
iRot can be dened 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})
Denes 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)
Denes a text with the following attributes:
1364 DIgSILENT PowerFactory 15, User Manual
F.3. GEOMETRICAL DESCRIPTION
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 lled
1 = lled 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 = lled 25%
9 = lled 50%10 = lled 75%
iColor (Colour)
-1 = colour of object
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
Resize mode)
0 = not resizable
DIgSILENT PowerFactory 15, User Manual 1365
APPENDIX F. ELEMENT SYMBOL DEFINITION
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)
F.4 Including Graphic Files as Symbols
Graphic les in WMF and bitmap format can be selected as "Symbol File". The denitions of the
geometrical primitives are not used if a "Symbol File" is dened.The picture will be adapted to the size
of symbol in the single line diagram. After selection of a WMF le in the top entry eld for the Symbol
File (not rotated) a button "Create all other les" appears which allows to create automatically WMF les
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.
1366 DIgSILENT PowerFactory 15, User Manual
Appendix G
Standard Functions DPL and DSL
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
ceil(x) smallest larger integer ceil(1.15)=2.000
oor(x) largest smaller integer oor(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...
Table G.0.1: DSL Standard Functions
These functions are present in both DPL and DSL, click on the link to go to the corresponding chapter.
Stability and EMT Simulations (DSL)
DIgSILENT PowerFactory 15, User Manual 1367
APPENDIX G. STANDARD FUNCTIONS DPL AND DSL
The DIgSILENT Programming Language (DPL)
1368 DIgSILENT PowerFactory 15, User Manual
Bibliography
[1] IEEE std. c37.010 IEEE Application Guide for AC High-Voltage Circuit Breakers Rated on a Sym-
metrical Current Basis, 1979.
[2] IEEE std. c37.5 IEEE Guide for calculation of Fault Currents for Application of AC High-Voltage
Circuit Breakers Rated on a Total Current Basis, 1979.
[3] IEEE std. 242. IEEE Recommended Practice for Protection and Coordination of Industrial and
Comercial Power Systems. Buff Book, 1986.
[4] IEEE std. c37.13 IEEE Standard for Low Voltage Power Circuit Breakers Used in Enclosures, 1990.
[5] IEEE std. 946. IEEE Recommended Practice for the Design of DC Auxiliary Power Systems for
Generating Stations, 1992.
[6] IEEE std. 141. IEEE Recommended Practice for Electric Power Distribution for Industrial Power
Plants. Red Book, 1993.
[7] IEC 1000-3-6 Electromagnetic Compatibility (EMC) - Part 3: Limits - Section 6: Assessment of
emission limits for distorting loads in MV and HV power systems - Basic EMC publication, 1996.
[8] IEC 61660-1 Sshort-circuit currents in d.c. auxiliary installations in power plants and substations,
1997.
[9] IEC 61363-1 Electrical installations of ships and mobile and xed offshore units - Part 1: Proce-
dures for calculating short-circuit currents in three-phase a.c., 1998.
[10] IEC 60076-5 Power transformers - Part 5: Ability to withstand short circuit, 200.
[11] IEC 60909 Short-circuit currents in three-phase A.C. systems, 2001.
[12] IEC 1000-4-15 Electromagnetic Compatibility (EMC) - Part 4: Testing and measurement tech-
niques - Section 15: Flickemeter - Functional and desing specications, 2003.
[13] D-A-CH-CZ Technical Rules for the Assessment of Network Disturbances, 2007.
[14] IEC 61400-21 Wind turbines - Part 21: Measurement and assessment of power quality character-
istics of grid connected wind turbines, 2008.
[15] D-A-CH-CZ Technical Rules for the Assessment of Network Disturbances - Extension Document,
2012.
[16] General Electric. GE Industrial Power Systems Data Book. General Electric, 1956.
[17] IEEE. IEEE 1584-2002. Guide for Performing Arc-Flash Hazard Calculations.
[18] R. L.Heinhold. Kabel und Leitungen fuer Starkstrom. Pirelli Kabel und Systeme GmbH & Co, 2005.
[19] NFPA. NFPA 70E. Standard for Electrical Safety. Requirements for Employee Workplaces. 2000
Edition.
[20] G. Ziegler. Numerical Distance Protection. Publicis Corporate Publishing, 1999.
DIgSILENT PowerFactory 15, User Manual 1369
BIBLIOGRAPHY
1370 DIgSILENT PowerFactory 15, User Manual
Index
About this Guide, 3
abs
DPL, 336
DSL, 602
AC OPF, 755
Advanced Options, 770
Basic Options, 755
Initialization, 769
Iteration Control, 770
Output, 772
Access Functions
mdbClose, 1347
mdbExecuteSqlQuery, 1348
mdbExecuteSqlStatement, 1347
mdbFetchResult, 1348
mdbGetResultColumnCount, 1348
mdbGetResultColumnName, 1349
mdbGetResultColumnType, 1349
mdbGetResultColumnValue, 1348
mdbOpen, 1347
mdbSetDebug, 1346
ACCI (Reliability Analysis), 694
ACIF (Reliability Analysis), 691
ACIT (Reliability Analysis), 691
acos
DPL, 336
DSL, 602
ActiveCase, 1130
Administrator, 46
AENS (Reliability Analysis), 694
aipop
DSL, 605
AID (Reliability Analysis), 695
AllRelevant, 1085
API Interface, 394
Appliance, 1007
Arcash, 859
Area, 189
ASAI (Reliability Analysis), 692
asin
DPL, 336
DSL, 602
ASUI (Reliability Analysis), 692
atan
DPL, 336
DSL, 602
Autotransformer, 1025
Background Harmonics, 498
Base Case, 1007
Basic Project Denition, 63
Befehl Pr, 148
Befehl Rd, 148
Befehl Stop, 148
Befehl Wr, 148
Block Denition, 575, 1007
Block Denition Dialogue (DSL), 590
Block Diagram, 110, 575, 1007
Boolean
Expressions, 336
Boundary, 192
Branch Elements, 1007
break
DPL, 337
Busbars, 1007
Cable Size Optimization
Advanced Options, 834
Laying Methods, 840
Line Element Parameters, 839
Line Parameters, 838
Line Type Parameters, 838
Objective Function, 723
Technology Check, 839
Type Parameters, 837
Cable Sizing, 827
CAIDI (Reliability Analysis), 692
CAIFI (Reliability Analysis), 692
Calculated Results, 282
Calculation
Compare Results, 256
Update Database, 257
Calculation Time, 159
CASE
DIg Output Language, 1358
ceil
DPL, 336
DSL, 602
ChaMat, 232
ChaPol, 503
ChaProle, 230
CharacteristicViewer, 234
ChaRef, 233
ChaScalar, 230
ChaTime, 228
ChaVec, 231
DIgSILENT PowerFactory 15, User Manual 1371
INDEX
ChaVecle, 233
CIM Interface, 364
Circuit, 193
Class, 1007
ClearCommands, 1233
ClearOutput, 1107
CMD
DIg Output Language, 1358
ComCabsize, 827
Objective Function, 723
Optimization Procedure, 805
ComCapo, 817
Available Capacitors, 822
Basic Options, 820
Load Characteristics, 823
ComCimExp, 365
ComCimimp, 364
ComConreq, 513
ComContingency
Contingency analysis with multiple time phases,
651
ComDbupd, 257
ComDiff, 256
ComDocu, 250
ComDpl, 331
ComDpl (DPL Methods), 1247
Execute, 1247
ComEd, 147
ComExport, 351
ComExppsse, 357
ComFlickermeter, 522
ComFsweep, 490
ComGenrel, 746
ComGenrelinc, 743
ComHldf, 488
ComIdent, 641
ComImport, 349
ComImport (DPL Methods), 1247
GetCreatedObjects, 1247
GetModiedObjects, 1248
ComInc, 542
ComInc (DPL Methods)
Execute, 1237
ComIntegral, 361
ComLdf, 422
ComLdf (DPL Methods), 1234
Execute, 1234
ComLink (DPL Methods), 1254
ReceiveData, 1255
SendData, 1254
ComLoadstate, 238
ComMerge, 316
ComMerge (DPL Methods), 1248
ComMerge (DPl Methods)
CheckAssignments, 1250
Compare, 1249
CompareActive, 1249
ExecuteRecording, 1250
ExecuteWithActiveProject, 1249
GetCorrespondingObject, 1252
GetModication, 1253
GetModicationResult, 1253
GetModiedObjects, 1254
Merge, 1251
PrintComparisonReport, 1250
PrintModications, 1252
Reset, 1251
SetAutoAssignmentForAll, 1250
SetObjectsToCompare, 1252
ShowBrowser, 1251
WereModicationsFound, 1252
ComMod, 621
Advanced Options, 623
How to Complete a Modal Analysis, 620
Output Options, 625
ComModres, 635
Common Mode Failure, 699
Common Model, 570
Structure, 570
ComNeplan, 358
ComNew, 94
ComNmink, 677
ComNmink (DPL Methods), 1242
AddRef, 1242
Clear, 1243
GetAll, 1243
ComOp, 147
ComOpf, 755
ComOutage, 666
ComOutage (DPL Methods), 1238
GetObject, 1238
RemoveEvents, 1239
SetObjs, 1238
ComPause, 147, 148
Composit Frame, 566
Composite Block Denition, 575
Composite Block Denitions (DSL), 589
Composite Frame, 1008
Additional Equations, 582
Block Denition, 568
Drawing, 577
Multi Signal Connection, 580
Signal Connection, 580
Signals, 570
Composite Model, 558, 563, 1008
Slot Update, 565
Step Response, 565
ComPr, 147
ComProtassist, 939
ComPsse, 352
ComRd, 147
ComRed, 969
ComRel3
Network reliability assessment, 705
ComRel3 (DPL Methods), 1244
AnalyseElmRes, 1245
1372 DIgSILENT PowerFactory 15, User Manual
INDEX
CreateFaultCase, 1246
Execute, 1244
RemoveEvents, 1245
RemoveOutages, 1244
ComRes, 255, 303
ComRes (DPL Methods), 1237
ExportFullRange, 1237
FileNmResNm, 1238
ComSe, 994
ComSeteval, 637
ComSh, 252, 492
ComShc, 467
ComShc (DPL Methods), 1235
Execute, 1235
ComSim, 556
ComSimoutage, 657
ComSimoutage (DPL Methods), 1240
AddCntcy, 1241
Execute, 1240
ExecuteCntcy, 1240
ReportObjs, 1242
Reset, 1240
SetLimits, 1241
ComStationware, 368
ComStatsim, 534
ComStepres, 565
ComStop, 147
ComTablereport (DPL Methods), 1193
AddColumn, 1193
AddCurve, 1194
AddHeader, 1195
AddInvisibleFilter, 1195
AddListFilter, 1195
AddListFilterEntries, 1196
AddPlot, 1196
AddRow, 1197
AddTable, 1197
AddTextFilter, 1198
AddXLabel, 1198
DisableAutomaticRowNumbering, 1198
EnableAutomaticRowNumbering, 1199
SetBarLimits, 1199
SetCellAccess, 1200
SetCellEdit, 1200
SetCellValueToBar, 1200
SetCellValueToCheckbox, 1201
SetCellValueToDate, 1201
SetCellValueToDouble, 1202
SetCellValueToInt, 1202
SetCellValueToObject, 1203
SetCellValueToString, 1204
SetColumnHeader, 1204
SetCurveValue, 1205
SetDialogSize, 1205
SetListFilterSelection, 1206
SetNumberFormatForPlot, 1206
SetSorting, 1206
SetStatusText, 1207
SetTextAxisDistForPlot, 1207
SetTicksForPlot, 1207
SetTitle, 1208
ComTieopt, 809
ComUcte, 361
ComUcteexp, 363
ComUcteexp (DPL Methods), 1255
BuildNodeNames, 1255
ComVsag, 799
ComVstab, 442
ComWr, 147
Connection Request, 513
Connection Request Assessment
Basic Options, 514
Outputs, 514
Connection Request Element
Basic Data, 515
D-A-CH-CZ, 515
Contact, 5
Contingency Analysis, 651
Comparing Results, 679
Contingency Cases, 666
Creating Contingencies using Contingency Def-
initions, 677
Creating Contingencies using Fault Cases and
Fault Groups, 674
Executing Contingency Analyses, 655
Reslut Analysis, 681
Single Time Phase, 657
Technical Background, 651
Contingency Case, 666
Contingency Constrained DC OPF, 781
Advanced Options, 788
Basic Options, 782
Initialization, 788
Iteration Control, 788
Output, 788
Reports, 789
Contingency Denition, 677
Contingency OPF, 781
continue
DPL, 337
Convergence
Iteration Control, 429
LF Troubleshooting, 435
cos
DPL, 335
DSL, 602
cosh
DPL, 335
DSL, 602
Cost Functions, 757
CSSL, 584
CUBIC
DIg Output Language, 1358
Cubicle, 1008
Curve Input
Context-sensitive Menu, 293
DIgSILENT PowerFactory 15, User Manual 1373
INDEX
Create Diagram, 292
D-A-CH-CZ, 513, 514
DAQ, 1008
Data Management, 309
Data Manager, 127
Database Browser, 127
Database Tree, 129
Settings, 57
Database
Multi-User, 47
Single-User, 46
DC OPF, 773
Advanced Options, 779
Basic Options, 774
Initialization, 778
Iteration Control, 780
DDE Functions, 1329
DEF
DIg Output Language, 1359
Dening Element Symbols, 1363
delay
DSL, 604
Device, 1008
DGS Interface, 347
Diagram Colouring, 113
DiaGrfopts, 104
DiaPagetyp, 94
DIg Output Language, 1355
Color, 1359
Format, 1356
Includes, 1361
Line Types, 1360
Loops, 1361
Page Breaks, 1360
Placeholder, 1356
Text Macros, 1360
Variables, 1357
DIgSILENT Programming Language, 329
Distribution Network Tools, 799
do() while{}
DPL, 336
Documentation, 7
DPL, 329
Access to Objects, 339
Assignments, 335
break, 337
coninue, 337
Constant Parameters, 334
External Objects, 341
Functions & Subroutines, 345
General Functions and Methods, 1058
General Object Functions and Methods, 1058
General Set Functions and Methods, 1084
input, 338
Local Objects, 340
Object Variables & Methods, 339
output, 338
Standard Functions, 335
String Functions, 1095
Subroutines, 344
Variable Denitions, 334
DPL (DIgSILENT Programming Language), 329
DPL Advanced Options, 332
DPL Command Execute, 332
DPL Command Libraries, 342
DPL Command Object, 331
DPL Command Set, 331
DPL Extension for MS Ofce, 1330
Access, 1346
Excel, 1330
MS Access Examples, 1349
MS Excel Examples, 1343
DPL Internal Methods, 345
DPL Reference, 1037
DPL Script Editor, 333
DPL Script Language, 333
DPL Script Page, 333
Drag and Drop, 1008
DSL, 592
Advanced Features, 588
Dening Models, 589
Denition Code, 594
Equation Code, 598
Events, 585
Example, 601
Expression, 598
General Syntax, 593
Implementation, 585
inc, 595
inc0, 595
incx, 595
Initial Conditions, 596
intervalinc, 596
loopinc, 596
Macro Handling, 600
Macros, 599
Model Description, 588
newtoninc, 596
Output, 585
Special Functions, 603
Standard Functions, 602
Structure, 585
DSL Block Denition, 558
DSL Model Components, 588
DSL Models, 582
DSL Primitive, 1009
DSL Reference, 602
DSL Structure, 594
DSL Variables, 594
e
DPL, 336
DSL, 602
EchoOff, 1117
EchoOn, 1117
EDGE
DIg Output Language, 1357
1374 DIgSILENT PowerFactory 15, User Manual
INDEX
Edge Elements, 1009
EditCharDialogue, 233
EIC (Reliability Analysis), 695
Eigenvalue Bar Plot, 268
Eigenvalue Calculation, 617
Eigenvalue Plot, 629
Element, 1009
ElmAsm, 1028
ElmAsm (DPL Methods), 1257
GetAvailableGenPower, 1257
ElmAsmsc, 1028
ElmAsmsc (DPL Methods), 1258
GetAvailableGenPower, 1258
ElmBattery, 1033
ElmBay (DPL Methods), 1309
GetAll, 1309
ElmBoundary, 192
ElmBoundary (DPL Methods), 1263
AddCubicle, 1263
Clear, 1263
GetInterior, 1264
IsSplitting, 1263
ElmCabsys, 1027
ElmClock, 1034
ElmComp, 563
ElmComp (DPL Methods), 1267
Slotupd, 1267
ElmCompare, 642
ElmConreq, 513, 514
ElmCoup (DPL Methods), 1267
Close, 1267
GetRemoteBreakers, 1269
IsBreaker, 1269
IsClosed, 1269
IsOpen, 1268
Open, 1268
ElmDcdc, 1031
ElmDci, 1033
ElmDcm, 1033
ElmDsl, 570
ElmFeeder, 194
GetObjs, 1262
ElmFeeder (DPL Methods), 1259
GetAll, 1259
GetBranches, 1261
GetBuses, 1260
GetNodesBranches, 1261
ElmFft, 1035
ElmFile, 1034
ElmFsrc, 1033
ElmFuse, 887
ElmGenstat, 1029
ElmIac, 1032
ElmImpulse, 1033
ElmLne, 1026
ElmLne (DPL Methods), 1270
CreateFeederWithRoutes, 1273
FitParams, 1275
GetType, 1271
GetY0m, 1275
GetY1m, 1275
GetZ0m, 1274
GetZ1m, 1275
HasRoutes, 1270
HasRoutesOrSec, 1271
IsCable, 1272
IsNetCoupling, 1272
SetCorr, 1273
SetDetailed, 1274
ElmLnesec, 1026
ElmLod, 1030
ElmLodlv, 1030
ElmLodlvp, 1030
ElmMdm, 1030
ElmMeteostat, 737
ElmNec, 1031
ElmNet (DPL Methods), 1256
Activate, 1256
CalculateInterchangeTo, 1257
Deactivate, 1256
ElmPhi, 1034
ElmPvsys, 1029
ElmRec, 1031
ElmRecmono, 1031
ElmReg, 1034
ElmRelay, 870, 877
ElmRes, 253
ElmRes (DPL Methods), 1276
AddVars, 1277
Clear, 1277
Draw, 1277
Flush, 1278
GetObj, 1279
GetResData, 1279
Init, 1280
LoadResData, 1280
ReleaseResData, 1281
ResFirstValidObject, 1283
ResFirstValidObjectVar, 1284
ResFirstValidVar, 1284
ResIndex, 1282
ResNextValidObject, 1284
ResNextValidObjectVar, 1285
ResNextValidVar, 1286
ResNval, 1286
ResNvars, 1287
SetAsDefault, 1287
Write, 1287
WriteDraw, 1288
ElmSamp, 1035
ElmScap, 1028
ElmSecctrl, 1032
ElmSlt, 1028
ElmShnt, 1031
ElmSind, 1028
ElmStactrl, 416, 1032
DIgSILENT PowerFactory 15, User Manual 1375
INDEX
ElmStactrl (DPL Methods), 1288
GetControlledHVNode, 1289
GetControlledLVNode, 1290
GetStepupTransformer, 1288
ElmSubstat (DPL Methods), 1290
GetSplit, 1291, 1296
GetSplitCal, 1293
GetSplitIndex, 1292
OverwriteRA, 1295
SaveAsRA, 1294
SetRA, 1295
ElmSvs, 1032
ElmSym, 1029
ElmSym (DPL Methods), 1296
Disconnect, 1296
GetAvailableGenPower, 1298
IsConnected, 1297
Reconnect, 1297
ElmTerm (DPL Methods), 1299
GetMinDistance, 1302
GetNextHVBus, 1299
IsElectrEquivalent, 1301
IsEquivalent, 1300
ElmTow, 1026
ElmTow (DPL Methods), 1302
FitParams, 1302
PrintFreqDepParams, 1303
ElmTr (DPL Methods), 1304
IsQuadBooster, 1304
ElmTr2, 1024
ElmTr3, 1024
ElmTrb, 1025
ElmTrigger, 1035
ElmVac, 976, 1032
ElmVar, 1031
ElmVdc, 1032
ElmVsc, 1030
ElmVscmono, 1030
ElmWindzone, 737
ElmXnet, 1033
psik, 513
Sk, 513
ElmZone (DPL Methods), 1305
GetAll, 1305
GetBranches, 1306
GetBuses, 1305
GetNodes, 1306
GetObjs, 1307
ElmZpu, 976, 1028
EMT Simulation, 539
EMT Simulations, 539
ENS (Reliability Analysis), 694
Equipment Type Library, 169
Equivalent Network, 969
Error, 1108
Event, 554
Inter-Circuit, 163
Load, 163
Outage, 163
Parameter, 164
Short-Circuit, 164
Switching, 164
Synchronuos Machine, 165
event
DSL, 606
Events, 554
EvtLod
Data Model, 162
EvtOutage
Data Model, 162
EvtParam
Data Model, 162
EvtShc
Data Model, 162
EvtShcll
Data Model, 162
EvtSym
Data Model, 162
Excel Functions
xlActivateWorksheet, 1336
xlAddWorksheet, 1334
xlCloseWorkbook, 1333
xlDeleteWorksheet, 1334
xlGetActiveWorksheetIndex, 1335
xlGetDateSeparator, 1332
xlGetDecimalSeparator, 1332
xlGetThousandsSeparator, 1332
xlGetValue, 1336
xlGetWorksheetCount, 1334
xlGetWorksheetName, 1335
xlNewWorkbook, 1332
xlOpenWorkbook, 1333
xlResetTextStyle, 1338
xlRunMacro, 1343
xlSaveWorkbook, 1333
xlSaveWorkbookAs, 1333
xlSetBorder, 1342
xlSetColumnWidth, 1339
xlSetDebug, 1331
xlSetFillColor, 1339
xlSetFontName, 1341
xlSetFontSize, 1341
xlSetHorizontalAlignment, 1340
xlSetNumberFormat, 1341
xlSetPrintTitleRows, 1343
xlSetRowHeight, 1339
xlSetTextColor, 1338
xlSetTextStyle, 1337
xlSetValue, 1336
xlSetValues, 1337
xlSetVerticalAlignment, 1340
xlSetVisible, 1332
xlSetWorksheetName, 1335
xlSetWrapText, 1342
xlStart, 1331
xlTerminate, 1331
1376 DIgSILENT PowerFactory 15, User Manual
INDEX
Exe, 1233
Execute, 1232
exit, 1118
exp
DPL, 336
DSL, 602
Expansion Stages, 211
Export
Curve Data, 303
to Spreadsheet Programs, 149
Failure Effect Analysis, 717
fault
DSL, 600
Fault Case, 675
Fault Clearing (Optimal Power Restoration), 718
Fault Group, 676
Fault Isolation (Optimal Power Restoration), 718
fclose, 1113
FEA (Failure Effect Analysis), 717
Feeder, 194
fush, 1113
le
DSL, 604
Filter Analysis, 492
Flexible Data Page, 145
Flicker Analysis (IEC 61400-21), 507
Assignment of Flicker Coefcients, 510
Continuous Operation, 508
Denition of Flicker Coefcients, 509
Flicker Contribution of Wind Turbines, 509
Result Variables, 511
Switching Operations, 508
Flickermeter, 521
Advanced Options, 524
Calculation of Long-Term Flicker, 522
Calculation of Short-Term Flicker, 521
Data Source, 523
Flickermeter Command, 522
Signal Settings, 523
ipop
DSL, 605
oor
DPL, 336
DSL, 602
fopen, 1114
Format Editor, 247
Predened Variables, 247
Text Editor, 247
User Selection, 247
Format String Syntax, 1095
FormatDateLT, 1103
FormatDateUTC, 1104
fprintf, 1114
frac
DPL, 336
DSL, 602
fRand, 1118
Frequency Dependent Parameters, 503
Frequency Sweep, 490
Advanced Options, 491
Basic Options, 491
fscanf, 1115
fscanfsep, 1116
fWrite, 1115
General Selection (DPL), 340
GetActiveNetworkVariations, 1131
GetActiveProject, 1127
GetActiveScenario, 1133
GetActiveStages, 1132
GetActiveStudyCase, 1131
GetBorderCubicles, 1120
GetCaseCommand, 1232
GetDataFolder, 1129
GetFlowOrientation, 1127
GetGlobalLib, 1127
GetGraphBoard, 1148
GetLanguage, 1120
GetLocalLib, 1128
GetPageLen, 1121
GetPFVersion, 1126
GetProjectFolder, 1129
GetRecordingStage, 1132
GetSettings, 1121
GetSystemTime, 1105
GetTime, 1105
GetUserManager, 1122
Glossary, 1007
Graphic
Already Existing Network Elements, 96
Attributes, 104
Balloon Help, 118
Colour, 113
Edit Result Box, 119
Imported Data, 98
Insert, 103
Interconnect, 76
Layers, 106
Legend Block, 117
Mark Element, 74
Neutral winding connection, 87
Options, 104
Print, 102
Rebuild, 103
Reference Point, 119
Remove Page, 103
Rename Page, 104
Result Box, 118
Result Boxes, 105
Title Block, 116
Toolboxes, 95
Zoom, 100
Graphic Board Window, 1009
Graphic Window
New, 94
Page Tab, 95
Graphic Windows
DIgSILENT PowerFactory 15, User Manual 1377
INDEX
Settings, 56
Graphics Board, 91
Grid, 1009
Grouping Objects, 189
Harmonic Calculation
Denition of Result Variables, 517
Modeling
Assignment of Harmonic Injections, 501
Background Harmonics, 498
Denition of Harmonic Injections, 494
Frequency Dependent Parameters, 503
Harmonic Distortion Results, 502
IEC 61000 Harmonic Sources, 496
Magnitudes and Phase Values, 499
Phase Correct Harmonic Sources, 494
Waveform Plot, 506
Modeling Harmonic Sources, 494
Waveform Plot, 506
Harmonic Impedance, 490
Harmonic Load Flow, 488
Advanced Options, 490
Basic Options, 488
IEC 61000-3-6, 490
Result Variables, 489
Harmonic Sources, 494
Harmonics Analysis, 487
Denition of Result Variables, 517
Filter Analysis, 492
Flicker Analysis (IEC 61400-21), 507
Frequency Sweep, 490
Harmonic Load Flow, 488
Modeling Harmonic Sources, 494
psik, 511
Balanced Harmonics Analysis, 512
Unbalanced Harmonics Analysis, 512
Sk, 511
Balanced Harmonics Analysis, 512
Result Variables, 512
Unbalanced Harmonics Analysis, 512
Help, 7
HMC, 487
Hotkeys, 1013
Hotkeys References, 1013
Housekeeping, 40
IEAR (Reliability Analysis), 695
IEC 61000-3-6, 490
IEC 61000-4-15), 521
Advanced Options, 524
Calculation of Long-Term Flicker, 522
Calculation of Short-Term Flicker, 521
Data Source, 523
Signal Settings, 523
IEC 61400-21, 507
Assignment of Flicker Coefcients, 510
Continuous Operation, 508
Denition of Flicker Coefcients , 509
Flicker Contribution of Wind Turbines, 509
Result Variables, 511
Switching Operations, 508
if(){}
DPL, 336
if(){}else{}
DPL, 336
Import
to Spreadsheet Programs, 151
inc
DSL, 595
inc0
DSL, 595
incx
DSL, 595
Info, 1108
Input, 1122
input
DPL, 338
IntBoundary, 192
IntCalcres, 282
IntCase, 157
The Study Case Edit Dialogue, 160
IntCase (DPL Methods), 1140
Activate, 1140
Deactivate, 1140
Reduce, 1141
IntDplmap (DPL Methods), 1220
Clear, 1221
Contains, 1221
First, 1221
GetValue, 1222
Insert, 1222
Next, 1223
Remove, 1223
Size, 1223
Update, 1224
IntDplvec (DPL Methods), 1227
Clear, 1228
Get, 1228
IndexOf, 1228
Insert, 1229
Remove, 1229
Size, 1229
Sort, 1230
Integral Interface, 361
Interconnect, 76
Interfaces, 347
API, 394
CIM, 364
CIM Data Export, 365
CIM Data Export General Settings, 365
CIM Data Import, 364
CIM Data Import General Settings, 364
DGS, 347
DGS Export, 351
DGS Export General Settings, 351
DGS Import, 349
DGS Import General Settings, 350
1378 DIgSILENT PowerFactory 15, User Manual
INDEX
DGS Structure, 349
Integral, 361
MATLAB, 366
NEPLAN, 358
NEPLAN Import, 359
NEPLAN Import General Settings, 359
OPC, 366
PSS/E, 352
PSS/E Dyn.Data Import, 355
PSS/E Dyn.Data Import General Settings, 356
PSS/E Dyn.Data Import Options, 357
PSS/E Export, 357
PSS/E Export General Settings, 357
PSS/E Export Options, 358
PSS/E Import, 352
PSS/E Import General Settings, 352
PSS/E Import Graphical Options, 355
PSS/E Import Options, 353
StationWare, 368
UCTE-DEF, 361
UCTE-DEF Data Export, 363
UCTE-DEF Data Export General Settings, 363
UCTE-DEF Data Import, 361
UCTE-DEF Data Import General Settings, 362
Interfaces:Integral Import, 361
Interior Point Method, 755
intervalinc
DSL, 596
IntEvt (DPL Methods), 1312
CreateCBEvents, 1312
IntEvtshc, 465
IntForm, 247
IntForm (DPL Methods), 1312
SetText, 1312
WriteOut, 1313
IntGrfnet, 103
Options, 103
IntLogon, 34
IntMat (DPL Methods), 1314
ColLbl, 1314
Get, 1315
Init, 1316
Invert, 1316
Multiply, 1316
NCol, 1317
NRow, 1317
Resize, 1318
RowLbl, 1318
Set, 1319
SortToColumn, 1319
IntMon, 167, 258
IntMon (DPL Methods), 1320
AddVar, 1321
ClearVars, 1321
GetVar, 1321
NVars, 1320
PrintAllVal, 1320
PrintVal, 1320
RemoveVar, 1321
IntMonsel, 145
IntNewobj, 130
IntPlot (DPL Methods), 1179
SetAdaptY, 1182
SetAutoScaleY, 1181
SetScaleY, 1179
IntPrj, 65
IntPrj (DPL Methods), 1134
Activate, 1134
Deactivate, 1134
GetLatestVersion, 1134
GetVersions, 1135
HasExternalReferences, 1135
Migrate, 1136
Purge, 1136
UpdateStatistics, 1137
IntPrjfolder (DPL Methods), 1139
GetProjectFolderType, 1139
IsProjectFolderType, 1139
IntScenario, 199
IntScenario (DPL Methods), 1146
Activate, 1146
Apply, 1147
Deactivate, 1146
GetObjects, 1147
Save, 1147
IntScensched, 207
IntScheme, 211
IntScheme (DPL Methods), 1145
IntScn, 552
IntSscheduler, 214
IntSstage, 211
IntSstage (DPL Methods), 1145
IntSstage.Activate, 1146
IntSubset, 209
IntSym, 1363
IntTemplate, 184
IntThrating (DPL Methods), 1322
GetCriticalTimePhase, 1322
GetRating, 1322
IntUser (DPL Methods), 1323
Purge, 1323
SetPassword, 1323
IntUserman (DPL Methods), 1324
CreateGroup, 1325
CreateUser, 1326
GetGroups, 1324
GetUsers, 1325
IntVariant (DPL Methods), 1143
Activate, 1143
Deactivate, 1143
Reduce, 1143
IntVec (DPL Methods), 1327
Get, 1327
Init, 1328
Resize, 1328
Set, 1328
DIgSILENT PowerFactory 15, User Manual 1379
INDEX
Size, 1329
IntVersion, 309
IntVersion (DPL Methods), 1137
CreateDerivedProject, 1138
Rollback, 1138
invlapprox
DSL, 605
Iterations
Iteration Control, 429
LF Troubleshooting, 435
lapprox
DSL, 605
lapprox2
DSL, 605
lim
DSL, 603
limits
DSL, 603
Limits (Active and Reactiv Power), 765
limstate
DSL, 604
Linear Programming, 773
LMPs, 777
ln
DPL, 336
DSL, 602
Load Flow Analysis, 405
Active Power Control, 424
Advanced Load Options, 416
Advanced Options, 427
Advanced Simulation Options, 432
Basic Options, 423
Coincidence of Low Voltage Loads, 419
Executing LF, 422
Feeder Load Scaling, 417
Iteration Control, 429
Load Scaling Factors, 419
Low-Voltage Analysis, 431
Output, 430
Reactive Power Control, 423
Result Analysis, 432
Sensitivities, 441
Technical Background, 409
Temperature Dependency, 420
Troubleshooting, 435
Voltage Dependency of Loads, 416
Load Shedding (Optimal Power Restoration), 719
Load Transfer (Optimal Power Restoration), 719
Load-Flow
Optimizing, 755
Locational Marginal Prices, 777
log
DPL, 336
DSL, 602
Logon
Advanced Settings, 35
Workspace, 35
Long-Term-Flicker, 522
loopnic
DSL, 596
LPEIC (Reliability Analysis), 694
LPENS (Reliability Analysis), 693
LPES (Reliability Analysis), 693
LPIF (Reliability Analysis), 691
LPIT (Reliability Analysis), 691
Macro
DSL, 599
MATLAB Interface, 366, 607
Concept, 610
Matlab File, 614
Model Implementation, 608
max
DPL, 335
DSL, 602
min
DPL, 335
DSL, 602
Modal Analysis, 617
Exporting a Modal Analysis Plot to External
Software, 634
Exporting Results to External Software, 637
How to Complete a Modal Analysis, 620
Participation Factor, 617
Result Plots, 629
Showing the Modal Analysis Data Browser, 635
Theory, 617
Validity of Results, 619
Viewing Modal Analysis Results, 625
Viewing Results in the Data Browser, 635
Modal Analysis Command
Advanced Options, 623
Basic Options, 621
Output Options, 625
Mode Bar Plot, 631
Mode Phasor Plot, 633
Model Parameter Identication, 641
Modelling and Simulation Tools, 584
modulo
DPL, 335
DSL, 602
Motor Starting, 849
NEPLAN Interface, 358
NET
DIg Output Language, 1358
Network Model
Variations, 211
Network Reduction, 969
Example, 976
Handling, 970
Options, 973
Network Variations, 211
newtoninc
DSL, 596
Node, 1009
NoFinalUpdate, 1123
1380 DIgSILENT PowerFactory 15, User Manual
INDEX
NULL, 334
OBJECT
DIg Output Language, 1357
Object, 1009
object (DPL Methods), 1058
AddCopy, 1059
CreateObject, 1060
Delete, 1060
Edit, 1061
GetCaseObject, 1061
GetChildren, 1062
GetClass, 1063
GetConnectedElms, 1064
GetConnectionCount, 1064
GetContents, 1065
GetControlledNode, 1065
GetCubicle, 1066
GetFullName, 1067
GetNet, 1067
GetNode, 1068
GetOperator, 1068
GetOwner, 1068
GetParent, 1069
GetReferences, 1069
GetSize, 1070
GetSystemGround, 1070
GetUserAttribute, 1071
GetVal, 1072
HasResults, 1072
Inom, 1082
IsClass, 1073
IsEarthed, 1073
IsEnergized, 1074
IsInFeeder, 1075
IsNode, 1075
IsOutOfService, 1075
IsReducible, 1076
IsRelevant, 1077
lnm, 1082
MarkInGraphics, 1077
Move, 1077
PasteCopy, 1078
SetSize, 1078
SetVal, 1079
ShowFullName, 1080
ShowModalSelectTree, 1080
snm, 1084
StochEvt, 1081
unm, 1083
Unom, 1083
VarExists, 1081
Objects
Edit, 93
Filtering, 138
Search, 137
Sorting, 137
Ofine Mode, 36
OPC Interfaces, 366
Open Tie Optimization, 809
Operation Scenario, 199, 1009
Operation Scenarios
Scenario Scheduler, 207
Operational Data, 171
Operator, 196
OPF, 755
OPR, 717
Opt.Capacitor Placement
Avaible Capacitors, 822
Basic Options, 820
Load Characteristics, 823
Objective Function, 818
Optimization Procedure, 820
Voltage Violation Cost, 818
Optimal Power Flow, 755
Optimal Power Restoration, 717
Optimization Procedure, 805
output
DPL, 338
DSL, 600
Output of Device Data, 250
Documentation, 251
Filter/Annex, 251
Output of Results, 252
Output Window, 25
Context Sensitive Menu, 26
Copy, 28
Legend, 27
Settings, 58
Overload Alleviation (Optimal Power Restoration),
719
Owner, 197
Page Tab, 1010
Parallel Computing, 664
Parameter Characteristics, 225
Parameter Identication, 641
Application, 648
Comparison Plot, 643
Measurement File, 643
Model Creation, 644
Performing, 646
Target Function, 642
ParseDateLT, 1106
ParseDateUTC, 1106
Path, 197
pi
DPL, 336
DSL, 602
picdro
DSL, 604
plots, 266
PostCommand, 1233
pow
DPL, 335
DSL, 602
Power Quality, 487
Connection Request, 513, 514
DIgSILENT PowerFactory 15, User Manual 1381
INDEX
Connection Request Assessment
D-A-CH-CZ, 513
Report, 516
D-A-CH-CZ, 513
Power Restoration (Optimal Power Restoration), 718
PowerFactory Overview, 9
Primitive Block Denition (DSL), 589
Print Graphic, 102
printf, 1109
Program Administration, 33
Program Conguration, 33
Program Installation, 33
Project, 1010
Basic Denition, 63
Validity Period, 68
Project Library, 169
Project Overview, 66
Project Settings, 68
Protection, 867
psik, 511
PSSE/E Interface, 352
PWM Converter, 1030
Python, 394
Random, 1123
Rebuild, 1124
Rectier/Inverter, 1031
Reducing Network, 969
Reduction, 969
Reference System, 547
RelDir, 890
RelDisdir, 928
RelDisloadenc, 925
RelDismho, 921
RelDispoly, 923
RelDispspoly, 925
RelFdetect, 920
RelFmeas, 966
RelFrq, 967
RelFuse, 887
Reliability Analysis
Advanced Options, 710
Basic Options, 705
Calculated Results, 690
FEA Options, 707
Options, 711
Outputs, 707
State Enumeration, 695
Stochastic Models, 689
Reliability Assessment, 685
Technical Background, 687
Reliability Model
Interruption Cost, 703
RelIoc, 891
RelLogic, 895
RelMeasure, 890
RelTimer, 924
RelToc, 893
RelUlim, 967
RelZpol, 919
Remote Scripts (DPL), 342
Reporting Results, 247
RES
DIg Output Language, 1359
ResetCalculation, 1232
Result Box
Edit, 118
Result Comparison
Setup, 256
Result Export, 255
Result Object, 253, 1010
Results, 247
RMS Simulation, 541
round
DPL, 336
DSL, 602
SAIDI (Reliability Analysis), 692
SAIDI_P (Reliability Analysis), 692
SAIFI (Reliability Analysis), 692
SAIFI_P (Reliability Analysis), 692
sapprox
DSL, 605
sapprox2
DSL, 606
SaveScenarioAs, 1133
ScnFreq, 552
ScnSync, 552
ScnVar, 552
ScnVolt, 553
SearchObjectByForeignKey, 1062
SEL, 334
select
DSL, 604
Sensitivity Analysis, 442
SES (Reliability Analysis), 694
Set (DPl Methods), 1084
Add, 1086
Clear, 1087
Count, 1087
First, 1087
FirstFilt, 1088
Firstmatch, 1088
IsIn, 1089
MarkInGraphics, 1089
Next, 1090
NextFilt, 1090
Nextmatch, 1091
Obj, 1091
OutputFlexibleData, 1091
Remove, 1091
ShowModalBrowser, 1092
ShowModalSelectBrowser, 1092
ShowModelessBrowser, 1093
SortToClass, 1093
SortToName, 1094
SortToVar, 1094
SetColscheme, 113
1382 DIgSILENT PowerFactory 15, User Manual
INDEX
SetCondmg, 910
SetConsistencyCheck, 1124
SetCrvlt, 302
SetDesktop (DPL Methods), 1183
AddPage, 1183
DoAutoScaleX, 1185
GetPage, 1184
SetAdaptX, 1186
SetAutoScaleX, 1186
SetResults, 1187
SetScaleX, 1187
SetXVar, 1188
Show, 1189
WriteWMF, 1189
SetDiffMode, 1124
SetDisplt, 932
SetFeeder (DPL Methods), 1216
GetAll, 1216
GetBranches, 1217
GetBuses, 1216
SetFilt, 137
SetFilt (DPL Methods), 1208
Get, 1208
SetGraphicUpdate, 1148
SetGrfpage, 106
SetLevelVis, 106
SetLevelvis (DPL Methods), 1190
AdaptWidth, 1190
Align, 1190
ChangeFont, 1191
ChangeFrameAndWidth, 1191
ChangeLayer, 1191
ChangeRefPoints, 1192
Mark, 1192
Reset, 1192
SetLineFeed, 1110
SetMotorst, 914
SetOcplt, 900
SetOutputWindowState, 1111
SetPath (DPL Methods), 1217
AllBreakers, 1219
AllClosedBreakers, 1219
AllOpenBreakers, 1220
GetAll, 1217
GetBranches, 1218
GetBusses, 1218
SetPrj, 68
SetRandSeed, 1125
SetSelect (DPL Methods), 1209
AddRef, 1210
All, 1209
AllAsm, 1213
AllBars, 1212
AllBreakers, 1214
AllClosedBreakers, 1215
AllElm, 1211
AllLines, 1211
AllLoads, 1212
AllOpenBreakers, 1215
AllSym, 1213
AllTypLne, 1214
Clear, 1211
GetAll, 1210
SetShowAllUsers, 1126
SetTime, 159
SetTime (DPL Methods), 1140
Date, 1140
SetTime, 1141
SetTimeUTC, 1142
Time, 1142
Settings
Data Manager, 57
Directories, 59
Editor, 59
Functions, 58
General, 55
Graphic Windows, 56
Output Window, 58
SetTitm, 116
SetTrfdmg, 905
SetTrigger, 167
SetUser, 55
SetValue, 136
SetVilytaxis, 305
SetVilytpage, 305
SetVilytplot, 307
SetViPage, 268
SetVipage (DPL Methods), 1149
DoAutoScaleX, 1154
DoAutoScaleY, 1155
GetScaleObjX, 1157
GetVI, 1149
SetAdaptX, 1156
SetAutoScaleX, 1155
SetDefScaleX, 1154
SetResults, 1151
SetScaleX, 1152
SetStyle, 1150
SetTile, 1150
SetXVar, 1152
Shadow Prices, 777
Short-Circuit Analysis, 447
Adv.Options ANSI, 476
Adv.Options Complete M., 478
Advanced Options IEC/VDE, 472
Advanced Options IEC61660, 482
Advanced Options IEEE946, 483
Basic Options (All Methods), 467
Basic Options ANSI, 474
Basic Options Complete M., 477
Basic Options IEC 61363, 480
Basic Options IEC/VDE, 471
Basic Options IEC61660, 481
Basic Options IEEE946, 482
Calculation Method, 467
Calculation Options, 467
DIgSILENT PowerFactory 15, User Manual 1383
INDEX
Executing SC, 462
Explanation ANSI Method, 455
Explanation ANSI/IEEE 946 (DC) Method, 462
Explanation Complete Method, 457
Explanation IEC 61660 (DC) Method, 460
Explanation IEC/VDE Method, 451
Fault Type, 468
IEC Correction Factors, 453
Line Faults, 464
Multiple Faults, 465
Result Analysis, 483
Technical Background, 448
Verication, 470
Short-Term Flicker, 521
Simulation Results, 551
sin
DPL, 336
DSL, 602
Single Line Graphics, 92
Single Time Phase Contingency Analysis, 651
sinh
DPL, 336
DSL, 602
Sk, 511
Result Variables, 512
Slot, 1010
sprintf, 1097
sqr
DPL, 335
DSL, 602
sqrt
DPL, 335
DSL, 602
sscanf, 1098
sscanfsep, 1098
Stability Analysis
Models, 557
Stability and EMT Simulations, 539
Stability Simulation, 539
StaCt, 880
StaCubic (DPL Methods), 1264
AddBreaker, 1264
GetAll, 1266
GetConnectedMajorNodes, 1265
RemoveBreaker, 1264
StaImea, 1034
STALNE
DIg Output Language, 1359
StaPqmea, 1034
StaSua, 1035
StaSwitch (DPL Methods), 1307
Close, 1307
IsClosed, 1309
IsOpen, 1309
Open, 1308
State Enumeration, 695
State Estimation, 981
Basic Options, 994
Components of SE, 982
Data Input, 985
Executing SE, 993
Objective Function, 982
Result Analysis, 999
StaExtpmea, 1000
StaExtqmea, 1000
StaExtvmea, 1000
Stationware Interface, 368
StaVmea, 1034
StaVt, 883
StaVtsec, 886
Step-Size Adaption, 544, 545
Stochastic Models
Busbar, 697
Cable, 698
Common Mode, 699
Line, 698
Terminal, 697
Transformer, 699
StoCommon, 699
StoGen, 736
StoTypbar, 697
StoTyplne, 698
StoTyptrf, 699
strchg, 1100
strcmp, 1100
strcpy, 1099
strftime, 1102
strlen, 1101
strstr, 1099
strtok, 1101
Study Case, 157, 1010
Study Time, 159
Study Cases, 157
Study Time, 159
Subplot (VI), 266
SummaryGrid, 1131
Support, 5
Symbols, 1363
Symbols of Elements
Editing and Changing, 117
System Stage, 1010
Converting into Variations, 220
tan
DPL, 335
DSL, 602
tanh
DPL, 335
DSL, 602
Tariff Systems for External Grids, 757
Techno Economical Calculation, 791
TechRef, 1023
The DIgSILENT Output Language, 1355
The Graphics Editor, 71
this, 334
time
DSL, 602
1384 DIgSILENT PowerFactory 15, User Manual
INDEX
Time Domain
Reference System, 547
Time Domain Simulation
3 phase EMT Simulation, 542
3-phase RMS Simulation, 541
Advanced Options, 545
Balanced RMS Simulation, 541
Basic Options, 543
Calculation Methods, 541
Events, 554
Load Flow, 548
Noise Generation, 548
Result Objects, 549
Run, 556
Setup, 542
Step Size Adaption, 544
Time Domain Simulations, 539
Time Phases, 653
TITLE
DIg Output Language, 1358
Toolbar Denitions, 22
ToStr, 1097
Trace, 673
Transient Analysis, 539
Transients
electromagnetical, 539
electromechanical, 539
long term, 539
TriCont, 231
TriFreq, 232
trunc
DPL, 335
DSL, 602
TTF (Reliability Analysis), 689
TTR (Reliability Analysis), 689
twopi
DPL, 336
DSL, 602
TypAsm (DPL Methods), 1310
CalcElParams, 1310
TypAsmo (DPL Methods), 1310
CalcElParams, 1310
TypCab, 1027
TypCon, 1027
TypCt, 882
Type, 1010
TypFlicker, 1378
TypGeo, 1026
TypHmccur, 494
TypLne, 1026
TypLne (DPL Methods), 1310
IsCable, 1311
SetNomCurr, 1311
TypLod, 1030
TypLodind, 1030
TypPowercurve, 737
TypRec, 1031
TypRelay, 869
TypSym, 1029
TypTow, 1026
TypVt, 884
TypVtsec, 885
UCTE-DEF Interface, 361
User Accounts, 45
User Groups, 45
User Interface, 20
User Settings, 55
Vadility Period, 68
validLDF, 1234
validRMS, 1236
validSHC, 1235
validSIM, 1236
Variable Selection, 258
VARIANT
DIg Output Language, 1358
Variation, 211, 1011
Variations (DPL Methods), 1144
Activate, 1144
CreateStageObject, 1145
Deactivate, 1144
GetActiveScheduler, 1145
NewStage, 1144
Vector Diagram
Changing the object, 286
Changing the Variables, 286
Coordinates, 285
Editing the Unit/Tick, 285
Label of Vectors, 286
Origin, 285
X and Y Axes, 285
VecVis, 284
Version, 309
VI
Constant Value, 300
Curve Filter, 302
Curve Input, 292
Dening Styles, 305
Edit Dialogues, 296
Embedded Graphic Windows, 295
Export Curve Data, 303
Export Curve Graphic, 302
FFT Plot, 282
Format Label, 298
Labelling Plots, 297
Plot Style, 307
Pre-dened Style, 308
Status Bar, 296
Straight Line, 301
Styles, 305
Text Label, 297
Tools for Virtual Instruments, 296
User-dened Styles, 305
Value Label, 297
Vector Diagram, 284
Voltage Prole Plot, 286
DIgSILENT PowerFactory 15, User Manual 1385
INDEX
Waveform Plot, 290
X-Y-Plot, 281
VI Panel
Automatic Arrangement, 270
Automatic Scale Buttons, 269
Background, 272
Context Sensitive Menu, 272
Create Virtual Instruments, 272
Default Styles, 272
Dening Styles, 305
Edit, 269
Moving and Resizing, 270
Page Format, 270
Plots, 273
Results, 271
Title Block, 271
Variables of Plots, 270
Virtual Instrument, 1011
Virtual Instrument Panel, 1011
Virtual Instrument Panels, 268
Virtual Instruments, 247
Types, 266
Types Feeders, 267
Types Harmonics, 268
Types Protection, 267
Virtual Power Plant, 189
VisDefcrv, 292
VisDraw, 928
VisEigen, 629
Viseigen, 629
VisFft, 282
VisFft (DPL Methods), 1178
DoAutoScaleX, 1178
VisHrm, 290
VisLabel, 298
VisModbar, 268, 631
VisModephasor, 633
VisOcplot, 896
VisPath, 286
Creating a Voltage Prole Plot, 287
Customising a Voltage Prole Plot, 288
Interpreting a Voltage Prole Plot, 287
Schematic Visualization, 289
VisPlot, 273
Curves, 278
Editing Subplots, 274
Setting the X-Axis, 276
Setting the Y-Axis, 277
VisPlot(2 Y-Axes, 280
VisPlot (DPL Methods), 1159
AddResVars, 1160
AddVars, 1159
Clear, 1161
DoAutoScaleX, 1167
DoAutoScaleY, 1168
DoAutoScaleY2, 1169
GetScaleObjX, 1174
GetScaleObjY, 1176
SetAdaptX, 1172
SetAdaptY, 1173
SetAutoScaleX, 1169
SetAutoScaleY, 1170
SetCrvDesc, 1177
SetDefScaleX, 1166
SetDefScaleY, 1166
SetScaleX, 1163
SetScaleY, 1164
SetXVar, 1162
VisPlot2, 280
VisPlottz, 934, 936
VisValue, 297
VisXvalue, 300
VisXZPlot, 281
Voltage Prole Plot
Creating a Voltage Prole Plot, 287
Customising a Voltage Prole Plot, 288
Interpreting a Voltage Prole Plot, 287
Voltage Sag, 799
Advanced Options, 801
Basic Options, 800
Results, 802
Warn, 1111
Waveform Plot, 506
while(){}
DPL, 336
Write, 1112
Zone, 198
1386 DIgSILENT PowerFactory 15, User Manual
DIgSILENT GmbH
Heinrich-Hertz-Strae 9
72810 Gomaringen
Germany
T +49 7072 9168-0
F +49 7072 9168-88

mail@digsilent.de
www.digsilent.de
DIgSILENT
Company Profle
DIgSILENT is a consulting and software company
providing engineering services in the feld of
electrical power systems for transmission,
distribution, generation and industrial plants.
DIgSILENT was founded in 1985 and is a
fully independent, privately owned company
located in Gomaringen/Tbingen, Germany.
DIgSILENT continued expansion by establishing
offces in Australia, South Africa, Italy, Chile,
Spain and France, thereby facilitating improved
service following the world-wide increase in
usage of its software products and services.
DIgSILENT has established a strong partner
network in many countries such as Mexico,
Malaysia, UK, Switzerland, Colombia, Brazil,
Peru, China and India. DIgSILENT services and
software installations have been conducted
in more than 110 countries.
DIgSILENT PowerFactory
DIgSILENT develops the leading integrated
power system analysis software PowerFactory,
which covers the full range of functionality
from standard features to highly sophisticated
and advanced applications including wind
power, distributed generation, real-time
simulation and performance monitoring for
system testing and supervision. For wind
power applications, PowerFactory has
become the power industrys de-facto standard
tool, due to PowerFactory models and
algorithms providing unrivalled accuracy and
performance.
DIgSILENT StationWare is a reliable central
protection settings database and management
system, based on latest .NET technology.
StationWare stores and records all settings
in a central database, allows modelling of
relevant workfow sequences, provides quick
access to relay manuals, interfaces with manu-
facturer specifc relay settings and integrates
with PowerFactory software, allowing for
powerful and easy-to-use settings co-ordination
studies.
PowerFactory Monitor is a fexible performance
recording and monitoring system that copes
easily and effciently with the special require-
ments for system test implementation, system
performance supervision and the determination
and supervision of connection characteristics.
Numerous Monitoring Systems installed at
various grid locations can be integrated to a
Wide-Area-Measurement-System (WAMS).
PowerFactory Monitor fully integrates with
PowerFactory software.
DIgSILENT Consulting
DIgSILENT GmbH is staffed with experts of
various disciplines relevant for performing
consulting services, research activities, user
training, educational programs and software
development. Highly specialised expertise is
available in many felds of electrical engineering
applicable to liberalised power markets
and to the latest developments in power
generation technologies such as wind power
and distributed generation. DIgSILENT has
provided expert consulting services to several
prominent wind-grid integration studies.

Das könnte Ihnen auch gefallen